diff --git a/.gitignore b/.gitignore
index fd35865456..ea9dbd82d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,5 @@
node_modules
bower_components
npm-debug.log
+
+.env
\ No newline at end of file
diff --git a/jobs/Frontend/.storybook/main.ts b/jobs/Frontend/.storybook/main.ts
new file mode 100644
index 0000000000..bcd6ea1fd0
--- /dev/null
+++ b/jobs/Frontend/.storybook/main.ts
@@ -0,0 +1,16 @@
+import type { StorybookConfig } from "@storybook/react-vite";
+
+const config: StorybookConfig = {
+ stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
+ addons: [
+ "@chromatic-com/storybook",
+ "@storybook/addon-docs",
+ "@storybook/addon-a11y",
+ ],
+ framework: {
+ name: "@storybook/react-vite",
+ options: {},
+ },
+ staticDirs: ["../public", "../src/assets"],
+};
+export default config;
diff --git a/jobs/Frontend/.storybook/preview.tsx b/jobs/Frontend/.storybook/preview.tsx
new file mode 100644
index 0000000000..81836947e7
--- /dev/null
+++ b/jobs/Frontend/.storybook/preview.tsx
@@ -0,0 +1,42 @@
+import type { Preview } from "@storybook/react-vite";
+import { initialize, mswLoader } from "msw-storybook-addon";
+import { worker } from "../src/mocks/browser";
+import { MemoryRouter } from "react-router-dom";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import "../src/styles/globals.less";
+
+const queryClient = new QueryClient();
+
+initialize();
+
+// Start MSW before rendering stories
+if (typeof window !== "undefined") {
+ worker.start({
+ onUnhandledRequest: "bypass",
+ });
+}
+
+const preview: Preview = {
+ parameters: {
+ controls: {
+ matchers: {
+ color: /(background|color)$/i,
+ date: /Date$/i,
+ },
+ },
+ },
+ loaders: [mswLoader],
+ decorators: [
+ (Story) => (
+ <>
+
+
+
+
+
+ >
+ ),
+ ],
+};
+
+export default preview;
diff --git a/jobs/Frontend/LICENSE b/jobs/Frontend/LICENSE
new file mode 100644
index 0000000000..17f0c89bd0
--- /dev/null
+++ b/jobs/Frontend/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Quill Zhou
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/jobs/Frontend/Readme.md b/jobs/Frontend/Readme.md
index 974dc85ad9..1027eeb7b6 100644
--- a/jobs/Frontend/Readme.md
+++ b/jobs/Frontend/Readme.md
@@ -2,7 +2,7 @@
You should start with creating a fork of the repository. When you're finished with the task, you should create a pull request.
-Your task will be to create a simple movie search application. The application will have 2 views - search and movie detail. The search view is the default view, and should contain search input and display paginated list of found movies with a way to load additional batch. Search should start automatically after typing into the input is finished - there is no need for a search button. Clicking on a movie gets you to the movie detail view where detailed information about the movie should be listed.
+Your task will be to create a simple movie search application. The application will have 2 views - search and movie detail. The search view is the default view, and should contain search input and display paginated list of found movies with a way to load additional batch. Search should start automatically after typing into the input is finished - there is no need for a search button. Clicking on a movie gets you to the movie detail view where detailed information about the movie should be listed.
To retrieve information about movies, use [TheMovieDb API](https://developers.themoviedb.org/3/getting-started/introduction) - for this purpose **you need to generate api key to authorize requests** (free service account needed).
@@ -11,3 +11,30 @@ To retrieve information about movies, use [TheMovieDb API](https://developers.th
To test your proficiency with the technologies we use the most, we require the solution to be written in React and TypeScript.
We use styled-components as our main CSS-in-JS framework, yet feel free to use other solutions you are more familiar with.
The use of any additional library is allowed and up to you.
+
+## Commands
+
+`npm run dev`
+
+`npm run storybook`
+
+`npm run generate:tmdb-types`
+
+## Tech Stack
+
+- [vite](https://vitejs.dev/)
+- [react](https://reactjs.org/)
+- [shadcn ui](https://ui.shadcn.com/)
+- [react-i18next](https://github.com/i18next/react-i18next)
+- [react-lucide](https://lucide.dev/)
+- [transmart](https://github.com/Quilljou/transmart)
+- [react-query](https://tanstack.com/query/latest/)
+- [tailwindcss](https://tailwindcss.com/)
+- [less](http://lesscss.org/)
+- [postcss](https://postcss.org/)
+- [react-router-dom](https://reactrouter.com/en/6.16.0)
+- [eslint](https://eslint.org/)/[stylelint](https://stylelint.io/)
+- [prettier](https://prettier.io/)
+- [editorconfig](https://editorconfig.org/)
+- [husky](https://typicode.github.io/husky/#/)/[lint-staged](https://github.com/okonet/lint-staged)
+- [commitlint](https://commitlint.js.org/)
diff --git a/jobs/Frontend/commitlint.config.cjs b/jobs/Frontend/commitlint.config.cjs
new file mode 100644
index 0000000000..69b4242cc7
--- /dev/null
+++ b/jobs/Frontend/commitlint.config.cjs
@@ -0,0 +1,3 @@
+module.exports = {
+ extends: ["@commitlint/config-conventional"],
+};
diff --git a/jobs/Frontend/components.json b/jobs/Frontend/components.json
new file mode 100644
index 0000000000..051661b463
--- /dev/null
+++ b/jobs/Frontend/components.json
@@ -0,0 +1,16 @@
+{
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": false,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.js",
+ "css": "styles/globals.less",
+ "baseColor": "zinc",
+ "cssVariables": true
+ },
+ "aliases": {
+ "components": "src/components",
+ "utils": "src/lib/utils"
+ }
+}
diff --git a/jobs/Frontend/index.html b/jobs/Frontend/index.html
new file mode 100644
index 0000000000..be96fdc146
--- /dev/null
+++ b/jobs/Frontend/index.html
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jobs/Frontend/lint-staged.config.js b/jobs/Frontend/lint-staged.config.js
new file mode 100644
index 0000000000..51ae37a321
--- /dev/null
+++ b/jobs/Frontend/lint-staged.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ 'src/**/*.{ts,tsx}': ['eslint --cache --fix'],
+ 'src/**/*.{js,jsx}': ['eslint --cache --fix'],
+ 'src/**/*.{less}': ['stylelint --fix'],
+ 'src/**/*.{css}': ['stylelint --fix'],
+}
diff --git a/jobs/Frontend/package-lock.json b/jobs/Frontend/package-lock.json
new file mode 100644
index 0000000000..8a7f5534fa
--- /dev/null
+++ b/jobs/Frontend/package-lock.json
@@ -0,0 +1,14180 @@
+{
+ "name": "vite-react-tailwind-starter",
+ "version": "0.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "vite-react-tailwind-starter",
+ "version": "0.0.0",
+ "dependencies": {
+ "@loadable/component": "^5.15.3",
+ "@radix-ui/react-navigation-menu": "^1.2.14",
+ "@radix-ui/react-popover": "^1.0.6",
+ "@radix-ui/react-slot": "^1.2.3",
+ "@tanstack/react-query": "^4.29.3",
+ "@transmart/cli": "^0.2.4",
+ "class-variance-authority": "^0.7.0",
+ "clsx": "^2.0.0",
+ "i18next": "^23.5.1",
+ "i18next-browser-languagedetector": "^7.1.0",
+ "i18next-resources-to-backend": "^1.1.4",
+ "lucide-react": "^0.277.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-helmet": "^6.1.0",
+ "react-i18next": "^13.2.2",
+ "react-router-dom": "^6.10.0",
+ "tailwind-merge": "^1.14.0",
+ "tailwindcss-animate": "^1.0.7"
+ },
+ "devDependencies": {
+ "@chromatic-com/storybook": "^4.1.1",
+ "@commitlint/cli": "^17.5.1",
+ "@commitlint/config-conventional": "^17.4.4",
+ "@storybook/addon-a11y": "^9.1.7",
+ "@storybook/addon-docs": "^9.1.7",
+ "@storybook/react-vite": "^9.1.7",
+ "@tanstack/react-query-devtools": "^4.29.1",
+ "@types/loadable__component": "^5.13.4",
+ "@types/node": "^24.5.2",
+ "@types/react": "^19.1.13",
+ "@types/react-dom": "^19.1.9",
+ "@types/react-helmet": "^6.1.11",
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
+ "@typescript-eslint/parser": "^5.58.0",
+ "@vitejs/plugin-react": "^5.0.3",
+ "autoprefixer": "^10.4.14",
+ "eslint": "^8.38.0",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-import-resolver-typescript": "^3.5.5",
+ "eslint-plugin-import": "^2.27.5",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.32.2",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-storybook": "^9.1.7",
+ "eslint-plugin-unused-imports": "^2.0.0",
+ "husky": "^8.0.3",
+ "i18next-resources-for-ts": "1.3.2",
+ "less": "^4.1.3",
+ "lint-staged": "^13.2.1",
+ "msw": "^2.11.3",
+ "msw-storybook-addon": "^2.0.5",
+ "openapi-typescript": "^7.9.1",
+ "postcss": "^8.4.21",
+ "postcss-less": "^6.0.0",
+ "prettier": "^2.8.8",
+ "prettier-plugin-tailwindcss": "^0.4.1",
+ "storybook": "^9.1.7",
+ "stylelint": "^15.4.0",
+ "stylelint-config-standard": "^32.0.0",
+ "stylelint-less": "^1.0.6",
+ "stylelint-prettier": "3",
+ "tailwindcss": "3.3.1",
+ "ts-node": "^10.9.1",
+ "typescript": "^5.3.3",
+ "vite": "^7.1.7",
+ "vite-plugin-external": "^6.2.2"
+ }
+ },
+ "node_modules/@adobe/css-tools": {
+ "version": "4.4.4",
+ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz",
+ "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz",
+ "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz",
+ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-compilation-targets": "^7.27.2",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.4",
+ "@babel/template": "^7.27.2",
+ "@babel/traverse": "^7.28.4",
+ "@babel/types": "^7.28.4",
+ "@jridgewell/remapping": "^2.3.5",
+ "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,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
+ "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.28.3",
+ "@babel/types": "^7.28.2",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.27.2",
+ "@babel/helper-validator-option": "^7.27.1",
+ "browserslist": "^4.24.0",
+ "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,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.28.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.27.1",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1",
+ "@babel/traverse": "^7.28.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz",
+ "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.4"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
+ "version": "7.27.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz",
+ "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.3",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.4",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.4",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz",
+ "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.27.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bundled-es-modules/cookie": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.1.tgz",
+ "integrity": "sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cookie": "^0.7.2"
+ }
+ },
+ "node_modules/@bundled-es-modules/statuses": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
+ "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "statuses": "^2.0.1"
+ }
+ },
+ "node_modules/@chromatic-com/storybook": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-4.1.1.tgz",
+ "integrity": "sha512-+Ib4cHtEjKl/Do+4LyU0U1FhLPbIU2Q/zgbOKHBCV+dTC4T3/vGzPqiGsgkdnZyTsK/zXg96LMPSPC4jjOiapg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@neoconfetti/react": "^1.0.0",
+ "chromatic": "^12.0.0",
+ "filesize": "^10.0.12",
+ "jsonfile": "^6.1.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=20.0.0",
+ "yarn": ">=1.22.18"
+ },
+ "peerDependencies": {
+ "storybook": "^0.0.0-0 || ^9.0.0 || ^9.1.0-0 || ^9.2.0-0 || ^10.0.0-0"
+ }
+ },
+ "node_modules/@chromatic-com/storybook/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@chromatic-com/storybook/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@commitlint/cli": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.8.1.tgz",
+ "integrity": "sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/format": "^17.8.1",
+ "@commitlint/lint": "^17.8.1",
+ "@commitlint/load": "^17.8.1",
+ "@commitlint/read": "^17.8.1",
+ "@commitlint/types": "^17.8.1",
+ "execa": "^5.0.0",
+ "lodash.isfunction": "^3.0.9",
+ "resolve-from": "5.0.0",
+ "resolve-global": "1.0.0",
+ "yargs": "^17.0.0"
+ },
+ "bin": {
+ "commitlint": "cli.js"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/config-conventional": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.8.1.tgz",
+ "integrity": "sha512-NxCOHx1kgneig3VLauWJcDWS40DVjg7nKOpBEEK9E5fjJpQqLCilcnKkIIjdBH98kEO1q3NpE5NSrZ2kl/QGJg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "conventional-changelog-conventionalcommits": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/config-validator": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.8.1.tgz",
+ "integrity": "sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.8.1",
+ "ajv": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/ensure": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.8.1.tgz",
+ "integrity": "sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.8.1",
+ "lodash.camelcase": "^4.3.0",
+ "lodash.kebabcase": "^4.1.1",
+ "lodash.snakecase": "^4.1.1",
+ "lodash.startcase": "^4.4.0",
+ "lodash.upperfirst": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/execute-rule": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.8.1.tgz",
+ "integrity": "sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/format": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-17.8.1.tgz",
+ "integrity": "sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.8.1",
+ "chalk": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/is-ignored": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.8.1.tgz",
+ "integrity": "sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.8.1",
+ "semver": "7.5.4"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/lint": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.8.1.tgz",
+ "integrity": "sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/is-ignored": "^17.8.1",
+ "@commitlint/parse": "^17.8.1",
+ "@commitlint/rules": "^17.8.1",
+ "@commitlint/types": "^17.8.1"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/load": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.8.1.tgz",
+ "integrity": "sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/config-validator": "^17.8.1",
+ "@commitlint/execute-rule": "^17.8.1",
+ "@commitlint/resolve-extends": "^17.8.1",
+ "@commitlint/types": "^17.8.1",
+ "@types/node": "20.5.1",
+ "chalk": "^4.1.0",
+ "cosmiconfig": "^8.0.0",
+ "cosmiconfig-typescript-loader": "^4.0.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "lodash.uniq": "^4.5.0",
+ "resolve-from": "^5.0.0",
+ "ts-node": "^10.8.1",
+ "typescript": "^4.6.4 || ^5.2.2"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/load/node_modules/@types/node": {
+ "version": "20.5.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz",
+ "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@commitlint/message": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-17.8.1.tgz",
+ "integrity": "sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/parse": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.8.1.tgz",
+ "integrity": "sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/types": "^17.8.1",
+ "conventional-changelog-angular": "^6.0.0",
+ "conventional-commits-parser": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/read": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-17.8.1.tgz",
+ "integrity": "sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/top-level": "^17.8.1",
+ "@commitlint/types": "^17.8.1",
+ "fs-extra": "^11.0.0",
+ "git-raw-commits": "^2.0.11",
+ "minimist": "^1.2.6"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/resolve-extends": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.8.1.tgz",
+ "integrity": "sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/config-validator": "^17.8.1",
+ "@commitlint/types": "^17.8.1",
+ "import-fresh": "^3.0.0",
+ "lodash.mergewith": "^4.6.2",
+ "resolve-from": "^5.0.0",
+ "resolve-global": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/rules": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.8.1.tgz",
+ "integrity": "sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@commitlint/ensure": "^17.8.1",
+ "@commitlint/message": "^17.8.1",
+ "@commitlint/to-lines": "^17.8.1",
+ "@commitlint/types": "^17.8.1",
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/to-lines": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.8.1.tgz",
+ "integrity": "sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/top-level": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.8.1.tgz",
+ "integrity": "sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "node_modules/@commitlint/types": {
+ "version": "17.8.1",
+ "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-17.8.1.tgz",
+ "integrity": "sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=v14"
+ }
+ },
+ "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==",
+ "devOptional": 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",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz",
+ "integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-tokenizer": "^2.4.1"
+ }
+ },
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz",
+ "integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "node_modules/@csstools/media-query-list-parser": {
+ "version": "2.1.13",
+ "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz",
+ "integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "@csstools/css-parser-algorithms": "^2.7.1",
+ "@csstools/css-tokenizer": "^2.4.1"
+ }
+ },
+ "node_modules/@csstools/selector-specificity": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.1.1.tgz",
+ "integrity": "sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "postcss-selector-parser": "^6.0.13"
+ }
+ },
+ "node_modules/@emnapi/core": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
+ "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/wasi-threads": "1.1.0",
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
+ "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+ "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz",
+ "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz",
+ "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz",
+ "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz",
+ "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz",
+ "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz",
+ "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz",
+ "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz",
+ "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz",
+ "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz",
+ "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz",
+ "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz",
+ "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz",
+ "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz",
+ "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz",
+ "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz",
+ "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz",
+ "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz",
+ "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz",
+ "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz",
+ "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz",
+ "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz",
+ "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz",
+ "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "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",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@floating-ui/core": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz",
+ "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz",
+ "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/core": "^1.7.3",
+ "@floating-ui/utils": "^0.2.10"
+ }
+ },
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz",
+ "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.7.4"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.10",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
+ "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
+ "license": "MIT"
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
+ "deprecated": "Use @eslint/config-array instead",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.3",
+ "debug": "^4.3.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,
+ "license": "Apache-2.0",
+ "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==",
+ "deprecated": "Use @eslint/object-schema instead",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@inquirer/ansi": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.0.tgz",
+ "integrity": "sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/confirm": {
+ "version": "5.1.18",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.18.tgz",
+ "integrity": "sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.2.2",
+ "@inquirer/type": "^3.0.8"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@inquirer/core": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.2.tgz",
+ "integrity": "sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/ansi": "^1.0.0",
+ "@inquirer/figures": "^1.0.13",
+ "@inquirer/type": "^3.0.8",
+ "cli-width": "^4.1.0",
+ "mute-stream": "^2.0.0",
+ "signal-exit": "^4.1.0",
+ "wrap-ansi": "^6.2.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@inquirer/core/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,
+ "license": "MIT"
+ },
+ "node_modules/@inquirer/core/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/@inquirer/core/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,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@inquirer/core/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",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@inquirer/core/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,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@inquirer/figures": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+ "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/type": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+ "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": 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==",
+ "license": "ISC",
+ "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.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.6.1.tgz",
+ "integrity": "sha512-J4BaTocTOYFkMHIra1JDWrMWpNmBl4EkplIwHEsV8aeUOtdWjwSnln9U7twjMFTAEB7mptNtSKyVi1Y2W9sDJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^10.0.0",
+ "magic-string": "^0.30.0",
+ "react-docgen-typescript": "^2.2.2"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.3.x",
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/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,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@loadable/component": {
+ "version": "5.16.7",
+ "resolved": "https://registry.npmjs.org/@loadable/component/-/component-5.16.7.tgz",
+ "integrity": "sha512-XvkFixLUOTEaj8lI7uwc4nf8Wmq3IulYG7SZHCWcPm/Li5gjJDFfIkgWOLPnD7jqPJVtAG9bEz4SCek+SpHYYg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.12.18",
+ "hoist-non-react-statics": "^3.3.1",
+ "react-is": "^16.12.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/gregberge"
+ },
+ "peerDependencies": {
+ "react": "^16.3.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@mdx-js/react": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.1.tgz",
+ "integrity": "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/mdx": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16",
+ "react": ">=16"
+ }
+ },
+ "node_modules/@mswjs/interceptors": {
+ "version": "0.39.6",
+ "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.39.6.tgz",
+ "integrity": "sha512-bndDP83naYYkfayr/qhBHMhk0YGwS1iv6vaEGcr0SQbO0IZtbOPqjKjds/WcG+bJA+1T5vCx6kprKOzn5Bg+Vw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@open-draft/deferred-promise": "^2.2.0",
+ "@open-draft/logger": "^0.3.0",
+ "@open-draft/until": "^2.0.0",
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.3",
+ "strict-event-emitter": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
+ "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.4.3",
+ "@emnapi/runtime": "^1.4.3",
+ "@tybys/wasm-util": "^0.10.0"
+ }
+ },
+ "node_modules/@neoconfetti/react": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@neoconfetti/react/-/react-1.0.0.tgz",
+ "integrity": "sha512-klcSooChXXOzIm+SE5IISIAn3bYzYfPjbX7D7HoqZL84oAfgREeSg5vSIaSFH+DaGzzvImTyWe1OyrJ67vik4A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nolyfill/is-core-module": {
+ "version": "1.0.39",
+ "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz",
+ "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.4.0"
+ }
+ },
+ "node_modules/@open-draft/deferred-promise": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
+ "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@open-draft/logger": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
+ "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.0"
+ }
+ },
+ "node_modules/@open-draft/until": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
+ "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz",
+ "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==",
+ "license": "MIT"
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz",
+ "integrity": "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-collection": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz",
+ "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz",
+ "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz",
+ "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-direction": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz",
+ "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz",
+ "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-escape-keydown": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-guards": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz",
+ "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-focus-scope": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz",
+ "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-id": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz",
+ "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-navigation-menu": {
+ "version": "1.2.14",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.14.tgz",
+ "integrity": "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-collection": "1.1.7",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-direction": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.11",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-presence": "1.1.5",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-controllable-state": "1.2.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1",
+ "@radix-ui/react-use-previous": "1.1.1",
+ "@radix-ui/react-visually-hidden": "1.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-popover": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.15.tgz",
+ "integrity": "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.3",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-dismissable-layer": "1.1.11",
+ "@radix-ui/react-focus-guards": "1.1.3",
+ "@radix-ui/react-focus-scope": "1.1.7",
+ "@radix-ui/react-id": "1.1.1",
+ "@radix-ui/react-popper": "1.2.8",
+ "@radix-ui/react-portal": "1.1.9",
+ "@radix-ui/react-presence": "1.1.5",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-slot": "1.2.3",
+ "@radix-ui/react-use-controllable-state": "1.2.2",
+ "aria-hidden": "^1.2.4",
+ "react-remove-scroll": "^2.6.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz",
+ "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/react-dom": "^2.0.0",
+ "@radix-ui/react-arrow": "1.1.7",
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-context": "1.1.2",
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-callback-ref": "1.1.1",
+ "@radix-ui/react-use-layout-effect": "1.1.1",
+ "@radix-ui/react-use-rect": "1.1.1",
+ "@radix-ui/react-use-size": "1.1.1",
+ "@radix-ui/rect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-portal": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz",
+ "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz",
+ "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz",
+ "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-slot": "1.2.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz",
+ "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-compose-refs": "1.1.2"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz",
+ "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz",
+ "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-effect-event": "0.0.2",
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-effect-event": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz",
+ "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz",
+ "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-callback-ref": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz",
+ "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-previous": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz",
+ "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz",
+ "integrity": "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/rect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz",
+ "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-use-layout-effect": "1.1.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-visually-hidden": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.3.tgz",
+ "integrity": "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.1.3"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/rect": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz",
+ "integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==",
+ "license": "MIT"
+ },
+ "node_modules/@redocly/ajv": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.3.tgz",
+ "integrity": "sha512-4P3iZse91TkBiY+Dx5DUgxQ9GXkVJf++cmI0MOyLDxV9b5MUBI4II6ES8zA5JCbO72nKAJxWrw4PUPW+YP3ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js-replace": "^1.0.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@redocly/config": {
+ "version": "0.22.2",
+ "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz",
+ "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@redocly/openapi-core": {
+ "version": "1.34.5",
+ "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz",
+ "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@redocly/ajv": "^8.11.2",
+ "@redocly/config": "^0.22.0",
+ "colorette": "^1.2.0",
+ "https-proxy-agent": "^7.0.5",
+ "js-levenshtein": "^1.1.6",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^5.0.1",
+ "pluralize": "^8.0.0",
+ "yaml-ast-parser": "0.0.43"
+ },
+ "engines": {
+ "node": ">=18.17.0",
+ "npm": ">=9.5.0"
+ }
+ },
+ "node_modules/@redocly/openapi-core/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@redocly/openapi-core/node_modules/colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@redocly/openapi-core/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@remix-run/router": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz",
+ "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@rolldown/pluginutils": {
+ "version": "1.0.0-beta.35",
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.35.tgz",
+ "integrity": "sha512-slYrCpoxJUqzFDDNlvrOYRazQUNRvWPjXA17dAOISY3rDMxX6k8K4cj2H+hEYMHF81HO3uNd5rHVigAWRM5dSg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+ "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.0.tgz",
+ "integrity": "sha512-VxDYCDqOaR7NXzAtvRx7G1u54d2kEHopb28YH/pKzY6y0qmogP3gG7CSiWsq9WvDFxOQMpNEyjVAHZFXfH3o/A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.0.tgz",
+ "integrity": "sha512-pqDirm8koABIKvzL59YI9W9DWbRlTX7RWhN+auR8HXJxo89m4mjqbah7nJZjeKNTNYopqL+yGg+0mhCpf3xZtQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.0.tgz",
+ "integrity": "sha512-YCdWlY/8ltN6H78HnMsRHYlPiKvqKagBP1r+D7SSylxX+HnsgXGCmLiV3Y4nSyY9hW8qr8U9LDUx/Lo7M6MfmQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.0.tgz",
+ "integrity": "sha512-z4nw6y1j+OOSGzuVbSWdIp1IUks9qNw4dc7z7lWuWDKojY38VMWBlEN7F9jk5UXOkUcp97vA1N213DF+Lz8BRg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.0.tgz",
+ "integrity": "sha512-Q/dv9Yvyr5rKlK8WQJZVrp5g2SOYeZUs9u/t2f9cQ2E0gJjYB/BWoedXfUT0EcDJefi2zzVfhcOj8drWCzTviw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.0.tgz",
+ "integrity": "sha512-kdBsLs4Uile/fbjZVvCRcKB4q64R+1mUq0Yd7oU1CMm1Av336ajIFqNFovByipciuUQjBCPMxwJhCgfG2re3rg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.0.tgz",
+ "integrity": "sha512-aL6hRwu0k7MTUESgkg7QHY6CoqPgr6gdQXRJI1/VbFlUMwsSzPGSR7sG5d+MCbYnJmJwThc2ol3nixj1fvI/zQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.0.tgz",
+ "integrity": "sha512-BTs0M5s1EJejgIBJhCeiFo7GZZ2IXWkFGcyZhxX4+8usnIo5Mti57108vjXFIQmmJaRyDwmV59Tw64Ap1dkwMw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.0.tgz",
+ "integrity": "sha512-uj672IVOU9m08DBGvoPKPi/J8jlVgjh12C9GmjjBxCTQc3XtVmRkRKyeHSmIKQpvJ7fIm1EJieBUcnGSzDVFyw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.0.tgz",
+ "integrity": "sha512-/+IVbeDMDCtB/HP/wiWsSzduD10SEGzIZX2945KSgZRNi4TSkjHqRJtNTVtVb8IRwhJ65ssI56krlLik+zFWkw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.0.tgz",
+ "integrity": "sha512-U1vVzvSWtSMWKKrGoROPBXMh3Vwn93TA9V35PldokHGqiUbF6erSzox/5qrSMKp6SzakvyjcPiVF8yB1xKr9Pg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.0.tgz",
+ "integrity": "sha512-X/4WfuBAdQRH8cK3DYl8zC00XEE6aM472W+QCycpQJeLWVnHfkv7RyBFVaTqNUMsTgIX8ihMjCvFF9OUgeABzw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.0.tgz",
+ "integrity": "sha512-xIRYc58HfWDBZoLmWfWXg2Sq8VCa2iJ32B7mqfWnkx5mekekl0tMe7FHpY8I72RXEcUkaWawRvl3qA55og+cwQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.0.tgz",
+ "integrity": "sha512-mbsoUey05WJIOz8U1WzNdf+6UMYGwE3fZZnQqsM22FZ3wh1N887HT6jAOjXs6CNEK3Ntu2OBsyQDXfIjouI4dw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.0.tgz",
+ "integrity": "sha512-qP6aP970bucEi5KKKR4AuPFd8aTx9EF6BvutvYxmZuWLJHmnq4LvBfp0U+yFDMGwJ+AIJEH5sIP+SNypauMWzg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.0.tgz",
+ "integrity": "sha512-nmSVN+F2i1yKZ7rJNKO3G7ZzmxJgoQBQZ/6c4MuS553Grmr7WqR7LLDcYG53Z2m9409z3JLt4sCOhLdbKQ3HmA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.0.tgz",
+ "integrity": "sha512-2d0qRo33G6TfQVjaMR71P+yJVGODrt5V6+T0BDYH4EMfGgdC/2HWDVjSSFw888GSzAZUwuska3+zxNUCDco6rQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.0.tgz",
+ "integrity": "sha512-A1JalX4MOaFAAyGgpO7XP5khquv/7xKzLIyLmhNrbiCxWpMlnsTYr8dnsWM7sEeotNmxvSOEL7F65j0HXFcFsw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.0.tgz",
+ "integrity": "sha512-YQugafP/rH0eOOHGjmNgDURrpYHrIX0yuojOI8bwCyXwxC9ZdTd3vYkmddPX0oHONLXu9Rb1dDmT0VNpjkzGGw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.0.tgz",
+ "integrity": "sha512-zYdUYhi3Qe2fndujBqL5FjAFzvNeLxtIqfzNEVKD1I7C37/chv1VxhscWSQHTNfjPCrBFQMnynwA3kpZpZ8w4A==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.0.tgz",
+ "integrity": "sha512-fGk03kQylNaCOQ96HDMeT7E2n91EqvCDd3RwvT5k+xNdFCeMGnj5b5hEgTGrQuyidqSsD3zJDQ21QIaxXqTBJw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.0.tgz",
+ "integrity": "sha512-6iKDCVSIUQ8jPMoIV0OytRKniaYyy5EbY/RRydmLW8ZR3cEBhxbWl5ro0rkUNe0ef6sScvhbY79HrjRm8i3vDQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rtsao/scc": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
+ "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@storybook/addon-a11y": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.1.7.tgz",
+ "integrity": "sha512-f7YXEnTcAGeEJBqhTgkd/GoKMEf+6m1ziBnpAaJLMWvfYxE2j4FwSMddXPfF+DxdS97/xYig6WckHb93HRIFkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "axe-core": "^4.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^9.1.7"
+ }
+ },
+ "node_modules/@storybook/addon-docs": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.7.tgz",
+ "integrity": "sha512-ZwD25QBWOeZS2T/JSHl6iqMx7w2yCxREnZIQaLpyOoGl2mRUk2NHcsGfdXQ4sL0zd7YT7CTfzH5tbwQfLIiEog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mdx-js/react": "^3.0.0",
+ "@storybook/csf-plugin": "9.1.7",
+ "@storybook/icons": "^1.4.0",
+ "@storybook/react-dom-shim": "9.1.7",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^9.1.7"
+ }
+ },
+ "node_modules/@storybook/builder-vite": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.7.tgz",
+ "integrity": "sha512-9nflIekC220TSKprN/dDW+tAZSxwkRaq0C6mc5UCgXKjgq4oXditpdwrAcoH0v91RC/bN7LW9Xu5IbvnLNiqLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/csf-plugin": "9.1.7",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^9.1.7",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/@storybook/csf-plugin": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.7.tgz",
+ "integrity": "sha512-xrPKWt16hBXvyHliuIEzPLvHdRbEe5Oubk/NIPibFVG4cxhEmNxMeHo3uFua3wgtEXyp4UErRWteviNjYSzjUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "unplugin": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "storybook": "^9.1.7"
+ }
+ },
+ "node_modules/@storybook/global": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz",
+ "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@storybook/icons": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.6.0.tgz",
+ "integrity": "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta"
+ }
+ },
+ "node_modules/@storybook/react": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.7.tgz",
+ "integrity": "sha512-GxuA2Eh3LlkEF4HHDKFGP+bqQ1+7VtABVacSXukMu82WV4VAOXhhHEDII8R9AVl2Fbs/iPJnNVj06wnkDeUZhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "@storybook/react-dom-shim": "9.1.7"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "storybook": "^9.1.7",
+ "typescript": ">= 4.9.x"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/react-dom-shim": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.7.tgz",
+ "integrity": "sha512-ktjCuZ42g3TAF6nMiSdLbJu/EcvC039hYrmVltKpfF7krf+0xHkK3dCuYqSBp5nv3fS+IemrqmzJwREu5BJLuQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "storybook": "^9.1.7"
+ }
+ },
+ "node_modules/@storybook/react-vite": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.7.tgz",
+ "integrity": "sha512-552jMY5eKnP/rWKpcEjyE4ppyGmO+r9IoYNIJQBWA4DpXAQ8NjhsygCFhdDPFGfCxx7+KmfRgOBPcXeywWNgtQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@joshwooding/vite-plugin-react-docgen-typescript": "0.6.1",
+ "@rollup/pluginutils": "^5.0.2",
+ "@storybook/builder-vite": "9.1.7",
+ "@storybook/react": "9.1.7",
+ "find-up": "^7.0.0",
+ "magic-string": "^0.30.0",
+ "react-docgen": "^8.0.0",
+ "resolve": "^1.22.8",
+ "tsconfig-paths": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
+ "storybook": "^9.1.7",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/find-up": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz",
+ "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^7.2.0",
+ "path-exists": "^5.0.0",
+ "unicorn-magic": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/locate-path": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+ "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@storybook/react-vite/node_modules/yocto-queue": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
+ "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@tanstack/match-sorter-utils": {
+ "version": "8.19.4",
+ "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.19.4.tgz",
+ "integrity": "sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "remove-accents": "0.5.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/query-core": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.41.0.tgz",
+ "integrity": "sha512-193R4Jp9hjvlij6LryxrB5Mpbffd2L9PeWh3KlIy/hJV4SkBOfiQZ+jc5qAZLDCrdbkA5FjGj+UoDYw6TcNnyA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/react-query": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.41.0.tgz",
+ "integrity": "sha512-4/euCZAv8zeaB5P/nQiySzB0JHM3tiraU9KjSvSlJAX7oIE9uPDZlHCkDg/bHYNXewzvsg0FtOMq0VUq8XMMOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/query-core": "4.41.0",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-native": "*"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@tanstack/react-query-devtools": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.41.0.tgz",
+ "integrity": "sha512-p0JJcKYyrRYv7HXPttEArIUIYEiFafTrimFfbT/IDmVlakDD9wYQLHAdjgyq+rzXeSmCkXbwVFiMu5zSl5Ka0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/match-sorter-utils": "^8.7.0",
+ "superjson": "^1.10.0",
+ "use-sync-external-store": "^1.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "@tanstack/react-query": "^4.41.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@testing-library/dom": {
+ "version": "10.4.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz",
+ "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/runtime": "^7.12.5",
+ "@types/aria-query": "^5.0.1",
+ "aria-query": "5.3.0",
+ "dom-accessibility-api": "^0.5.9",
+ "lz-string": "^1.5.0",
+ "picocolors": "1.1.1",
+ "pretty-format": "^27.0.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@testing-library/jest-dom": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.8.0.tgz",
+ "integrity": "sha512-WgXcWzVM6idy5JaftTVC8Vs83NKRmGJz4Hqs4oyOuO2J4r/y79vvKZsb+CaGyCSEbUPI6OsewfPd0G1A0/TUZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@adobe/css-tools": "^4.4.0",
+ "aria-query": "^5.0.0",
+ "css.escape": "^1.5.1",
+ "dom-accessibility-api": "^0.6.3",
+ "picocolors": "^1.1.1",
+ "redent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14",
+ "npm": ">=6",
+ "yarn": ">=1"
+ }
+ },
+ "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
+ "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@testing-library/user-event": {
+ "version": "14.6.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz",
+ "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ },
+ "peerDependencies": {
+ "@testing-library/dom": ">=7.21.4"
+ }
+ },
+ "node_modules/@transmart/cli": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@transmart/cli/-/cli-0.2.4.tgz",
+ "integrity": "sha512-Qw3jm2VSQuyp3h+DhK5YSNHW8+pTalRqC9Hetzbc3hy2ZfELFsIYS03kXIu7wnvrehaUzXem4ZMsKnCWqhQM/A==",
+ "dependencies": {
+ "@transmart/core": "^0.2.2",
+ "@types/spinnies": "^0.5.0",
+ "commander": "^9.4.1",
+ "cosmiconfig": "^8.3.6",
+ "cosmiconfig-typescript-loader": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "spinnies": "^0.5.1"
+ },
+ "bin": {
+ "transmart": "bin/transmart.js"
+ }
+ },
+ "node_modules/@transmart/cli/node_modules/cosmiconfig-typescript-loader": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.1.0.tgz",
+ "integrity": "sha512-7PtBB+6FdsOvZyJtlF3hEPpACq7RQX6BVGsgC7/lfVXnKMvNCu/XY3ykreqG5w/rBNdu2z8LCIKoF3kpHHdHlA==",
+ "license": "MIT",
+ "dependencies": {
+ "jiti": "^1.21.6"
+ },
+ "engines": {
+ "node": ">=v16"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "cosmiconfig": ">=8.2",
+ "typescript": ">=4"
+ }
+ },
+ "node_modules/@transmart/core": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@transmart/core/-/core-0.2.2.tgz",
+ "integrity": "sha512-bVCkMP+3FxhZDaCtsxWMZ5xalIbCJS/7jRPFKtWidxOJiV9kvf9njZwALbLT5LiCJtTbX55yGe6Vwnzx3/XupQ==",
+ "dependencies": {
+ "@types/glob": "^8.1.0",
+ "fs-extra": "^11.1.0",
+ "glob": "^9.3.0",
+ "gpt-3-encoder": "^1.1.4",
+ "gpt3-tokenizer": "^1.1.5",
+ "node-fetch": "^2.6.9",
+ "p-limit": "^3.1.0"
+ }
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/@tybys/wasm-util": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+ "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/aria-query": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+ "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": 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",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "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.28.0",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.28.2"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
+ "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/deep-eql": "*"
+ }
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/debug": {
+ "version": "4.1.12",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
+ "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/ms": "*"
+ }
+ },
+ "node_modules/@types/deep-eql": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
+ "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/doctrine": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz",
+ "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/fs-extra": {
+ "version": "11.0.4",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz",
+ "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/jsonfile": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "^5.1.2",
+ "@types/node": "*"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/@types/jsonfile": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
+ "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/loadable__component": {
+ "version": "5.13.10",
+ "resolved": "https://registry.npmjs.org/@types/loadable__component/-/loadable__component-5.13.10.tgz",
+ "integrity": "sha512-2/LjmgG1JcGPj7T3NViq7BB5cvOA0s63gL3Gv+FPULj2L+3ExWfsNQcsFPUIOoGsVUJeZxgNPf320JZDyxjtCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/mdx": {
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz",
+ "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/ms": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+ "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "24.5.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.2.tgz",
+ "integrity": "sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~7.12.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,
+ "license": "MIT"
+ },
+ "node_modules/@types/react": {
+ "version": "19.1.13",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.13.tgz",
+ "integrity": "sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "19.1.9",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.9.tgz",
+ "integrity": "sha512-qXRuZaOsAdXKFyOhRBg6Lqqc0yay13vN7KrIg4L7N4aaHN68ma9OK3NE1BoDFgFOTfM7zg+3/8+2n8rLUH3OKQ==",
+ "devOptional": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^19.0.0"
+ }
+ },
+ "node_modules/@types/react-helmet": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.11.tgz",
+ "integrity": "sha512-0QcdGLddTERotCXo3VFlUSWO3ztraw8nZ6e3zJSgG7apwV5xt+pJUS8ewPBqT4NYB1optGLprNQzFleIY84u/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.20.6",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz",
+ "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/semver": {
+ "version": "7.7.1",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
+ "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/spinnies": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@types/spinnies/-/spinnies-0.5.3.tgz",
+ "integrity": "sha512-HYrOubG2TVgRQRKcW1HJ/1eJIIBpLqDoJo551McJgWdO8xzxnaxu/bPKdqC/7okoEy4ZZjy3I4/DwK1sz2OCog==",
+ "license": "MIT"
+ },
+ "node_modules/@types/statuses": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz",
+ "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "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
+ }
+ }
+ },
+ "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,
+ "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
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.44.0.tgz",
+ "integrity": "sha512-ZeaGNraRsq10GuEohKTo4295Z/SuGcSq2LzfGlqiuEvfArzo/VRrT0ZaJsVPuKZ55lVbNk8U6FcL+ZMH8CoyVA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/tsconfig-utils": "^8.44.0",
+ "@typescript-eslint/types": "^8.44.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.44.0.tgz",
+ "integrity": "sha512-ZSl2efn44VsYM0MfDQe68RKzBz75NPgLQXuGypmym6QVOWL5kegTZuZ02xRAT9T+onqvM6T8CdQk0OwYMB6ZvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "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,
+ "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"
+ }
+ },
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.44.0.tgz",
+ "integrity": "sha512-x5Y0+AuEPqAInc6yd0n5DAcvtoQ/vyaGwuX5HE9n6qAefk1GaedqrLQF8kQGylLUb9pnZyLf+iEiL9fr8APDtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "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,
+ "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
+ }
+ }
+ },
+ "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,
+ "license": "MIT",
+ "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,
+ "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
+ }
+ }
+ },
+ "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,
+ "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"
+ }
+ },
+ "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,
+ "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/@ungap/structured-clone": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@unrs/resolver-binding-android-arm-eabi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
+ "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-android-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
+ "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-darwin-arm64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
+ "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-darwin-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
+ "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-freebsd-x64": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
+ "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
+ "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
+ "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
+ "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
+ "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
+ "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
+ "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
+ "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
+ "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
+ "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-linux-x64-musl": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
+ "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-wasm32-wasi": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
+ "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@napi-rs/wasm-runtime": "^0.2.11"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
+ "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
+ "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
+ "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@vitejs/plugin-react": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.3.tgz",
+ "integrity": "sha512-PFVHhosKkofGH0Yzrw1BipSedTH68BFF8ZWy1kfUpCtJcouXXY0+racG8sExw7hw0HoX36813ga5o3LTWZ4FUg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.28.4",
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+ "@rolldown/pluginutils": "1.0.0-beta.35",
+ "@types/babel__core": "^7.20.5",
+ "react-refresh": "^0.17.0"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
+ }
+ },
+ "node_modules/@vitest/expect": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz",
+ "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/chai": "^5.2.2",
+ "@vitest/spy": "3.2.4",
+ "@vitest/utils": "3.2.4",
+ "chai": "^5.2.0",
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/mocker": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz",
+ "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "3.2.4",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.17"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/mocker/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/@vitest/pretty-format": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+ "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/spy": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz",
+ "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyspy": "^4.0.3"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz",
+ "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "3.2.4",
+ "loupe": "^3.1.4",
+ "tinyrainbow": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+ "devOptional": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "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/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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz",
+ "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-escapes/node_modules/type-fest": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+ "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "Python-2.0"
+ },
+ "node_modules/aria-hidden": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+ "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-ify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
+ "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+ "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.24.0",
+ "es-object-atoms": "^1.1.1",
+ "get-intrinsic": "^1.3.0",
+ "is-string": "^1.1.1",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-keyed-map": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/array-keyed-map/-/array-keyed-map-2.1.3.tgz",
+ "integrity": "sha512-JIUwuFakO+jHjxyp4YgSiKXSZeC0U+R1jR94bXWBcVlFRBycqXlb+kH9JHxBGcxnVuSqx5bnn0Qz9xtSeKOjiA==",
+ "license": "ISC"
+ },
+ "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.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,
+ "license": "MIT",
+ "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.6",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz",
+ "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-shim-unscopables": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
+ "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+ "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
+ "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/assertion-error": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ast-types": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz",
+ "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/async-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+ "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.21",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz",
+ "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.24.4",
+ "caniuse-lite": "^1.0.30001702",
+ "fraction.js": "^4.3.7",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.1.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "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.10.3",
+ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz",
+ "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==",
+ "dev": true,
+ "license": "MPL-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/base-log-factory": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/base-log-factory/-/base-log-factory-2.1.4.tgz",
+ "integrity": "sha512-FK1tHOB+rXvlBcGYYhSNR2QS2juEG4SZ1ekXQRQ2XscYNtDxllzqkzfgBFr12EVrKb2/07NLdbr0cSwVoc378A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "date-manip": "^2.0.6",
+ "is-what-type": "^1.0.1"
+ }
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.8.6",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz",
+ "integrity": "sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.js"
+ }
+ },
+ "node_modules/better-opn": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz",
+ "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "open": "^8.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/blf-colorful-appender": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/blf-colorful-appender/-/blf-colorful-appender-1.0.6.tgz",
+ "integrity": "sha512-MdwOI17J8iOC2XKi5b4VagAJg308R4QesRoCAPw/w7ihzwkTst91LvkTAF3GvPJCEaHXptiUS2UsFkCNiBIEGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "base-log-factory": "^2.1.4",
+ "picocolors": "^1.1.1"
+ }
+ },
+ "node_modules/blf-debug-appender": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/blf-debug-appender/-/blf-debug-appender-1.0.5.tgz",
+ "integrity": "sha512-ftNcGiVW2nxzG0WJ8Hcs58CbygPl2vMuLDDSxsfhGZmVl2NFGmZOuXhDDeJifvWmP0FHzP/L8dblxn65eQjgEA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/debug": "^4.1.12",
+ "base-log-factory": "^2.1.4",
+ "blf-colorful-appender": "^1.0.6",
+ "date-manip": "^2.0.6",
+ "debug": "^4.4.0"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.26.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz",
+ "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==",
+ "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"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.8.3",
+ "caniuse-lite": "^1.0.30001741",
+ "electron-to-chromium": "^1.5.218",
+ "node-releases": "^2.0.21",
+ "update-browserslist-db": "^1.1.3"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "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==",
+ "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/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "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/caniuse-lite": {
+ "version": "1.0.30001743",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001743.tgz",
+ "integrity": "sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==",
+ "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"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chai": {
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz",
+ "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^2.0.1",
+ "check-error": "^2.1.1",
+ "deep-eql": "^5.0.1",
+ "loupe": "^3.1.0",
+ "pathval": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/change-case": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz",
+ "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/check-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
+ "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/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==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chromatic": {
+ "version": "12.2.0",
+ "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-12.2.0.tgz",
+ "integrity": "sha512-GswmBW9ZptAoTns1BMyjbm55Z7EsIJnUvYKdQqXIBZIKbGErmpA+p4c0BYA+nzw5B0M+rb3Iqp1IaH8TFwIQew==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "chroma": "dist/bin.js",
+ "chromatic": "dist/bin.js",
+ "chromatic-cli": "dist/bin.js"
+ },
+ "peerDependencies": {
+ "@chromatic-com/cypress": "^0.*.* || ^1.0.0",
+ "@chromatic-com/playwright": "^0.*.* || ^1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@chromatic-com/cypress": {
+ "optional": true
+ },
+ "@chromatic-com/playwright": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/class-variance-authority": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz",
+ "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "clsx": "^2.1.1"
+ },
+ "funding": {
+ "url": "https://polar.sh/cva"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz",
+ "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz",
+ "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "slice-ansi": "^5.0.0",
+ "string-width": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+ "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "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",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/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,
+ "license": "MIT"
+ },
+ "node_modules/cliui/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/cliui/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",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "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/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz",
+ "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || >=14"
+ }
+ },
+ "node_modules/compare-func": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
+ "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-ify": "^1.0.0",
+ "dot-prop": "^5.1.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,
+ "license": "MIT"
+ },
+ "node_modules/conventional-changelog-angular": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz",
+ "integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-changelog-conventionalcommits": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz",
+ "integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "compare-func": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/conventional-commits-parser": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz",
+ "integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-text-path": "^1.0.1",
+ "JSONStream": "^1.3.5",
+ "meow": "^8.1.2",
+ "split2": "^3.2.2"
+ },
+ "bin": {
+ "conventional-commits-parser": "cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/copy-anything": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
+ "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-what": "^3.14.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/cosmiconfig-typescript-loader": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz",
+ "integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=v14.21.3"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "cosmiconfig": ">=7",
+ "ts-node": ">=10",
+ "typescript": ">=4"
+ }
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-functions-list": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz",
+ "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12 || >=16"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/css.escape": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
+ "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/dargs": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz",
+ "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/date-manip": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/date-manip/-/date-manip-2.0.6.tgz",
+ "integrity": "sha512-QGLawF3lq5NOqJ5+pIgvrmE1jL8W9iwwHPAdKyV6gydtmDPngty+87YpSpzMPk9lAMnBIXcf57OKSDEjfuyRyw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": 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==",
+ "dev": true,
+ "license": "MIT",
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/decamelize-keys/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/deep-eql": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
+ "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT",
+ "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-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "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/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/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+ "license": "MIT"
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "devOptional": true,
+ "license": "BSD-3-Clause",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "license": "MIT"
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-accessibility-api": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
+ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "license": "MIT"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.222",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.222.tgz",
+ "integrity": "sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.24.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz",
+ "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "es-set-tostringtag": "^2.1.0",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
+ "is-negative-zero": "^2.0.3",
+ "is-regex": "^1.2.1",
+ "is-set": "^2.0.3",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.1",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.4",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.7",
+ "own-keys": "^1.0.1",
+ "regexp.prototype.flags": "^1.5.4",
+ "safe-array-concat": "^1.1.3",
+ "safe-push-apply": "^1.0.0",
+ "safe-regex-test": "^1.1.0",
+ "set-proto": "^1.0.0",
+ "stop-iteration-iterator": "^1.1.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.19"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-iterator-helpers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
+ "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.6",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "iterator.prototype": "^1.1.4",
+ "safe-array-concat": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-shim-unscopables": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
+ "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz",
+ "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.10",
+ "@esbuild/android-arm": "0.25.10",
+ "@esbuild/android-arm64": "0.25.10",
+ "@esbuild/android-x64": "0.25.10",
+ "@esbuild/darwin-arm64": "0.25.10",
+ "@esbuild/darwin-x64": "0.25.10",
+ "@esbuild/freebsd-arm64": "0.25.10",
+ "@esbuild/freebsd-x64": "0.25.10",
+ "@esbuild/linux-arm": "0.25.10",
+ "@esbuild/linux-arm64": "0.25.10",
+ "@esbuild/linux-ia32": "0.25.10",
+ "@esbuild/linux-loong64": "0.25.10",
+ "@esbuild/linux-mips64el": "0.25.10",
+ "@esbuild/linux-ppc64": "0.25.10",
+ "@esbuild/linux-riscv64": "0.25.10",
+ "@esbuild/linux-s390x": "0.25.10",
+ "@esbuild/linux-x64": "0.25.10",
+ "@esbuild/netbsd-arm64": "0.25.10",
+ "@esbuild/netbsd-x64": "0.25.10",
+ "@esbuild/openbsd-arm64": "0.25.10",
+ "@esbuild/openbsd-x64": "0.25.10",
+ "@esbuild/openharmony-arm64": "0.25.10",
+ "@esbuild/sunos-x64": "0.25.10",
+ "@esbuild/win32-arm64": "0.25.10",
+ "@esbuild/win32-ia32": "0.25.10",
+ "@esbuild/win32-x64": "0.25.10"
+ }
+ },
+ "node_modules/esbuild-register": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz",
+ "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "peerDependencies": {
+ "esbuild": ">=0.12 <1"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
+ "@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": "8.10.2",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz",
+ "integrity": "sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-import-resolver-typescript": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz",
+ "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@nolyfill/is-core-module": "1.0.39",
+ "debug": "^4.4.0",
+ "get-tsconfig": "^4.10.0",
+ "is-bun-module": "^2.0.0",
+ "stable-hash": "^0.0.5",
+ "tinyglobby": "^0.2.13",
+ "unrs-resolver": "^1.6.2"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-import-resolver-typescript"
+ },
+ "peerDependencies": {
+ "eslint": "*",
+ "eslint-plugin-import": "*",
+ "eslint-plugin-import-x": "*"
+ },
+ "peerDependenciesMeta": {
+ "eslint-plugin-import": {
+ "optional": true
+ },
+ "eslint-plugin-import-x": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-module-utils": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
+ "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-import": {
+ "version": "2.32.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz",
+ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rtsao/scc": "^1.1.0",
+ "array-includes": "^3.1.9",
+ "array.prototype.findlastindex": "^1.2.6",
+ "array.prototype.flat": "^1.3.3",
+ "array.prototype.flatmap": "^1.3.3",
+ "debug": "^3.2.7",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.9",
+ "eslint-module-utils": "^2.12.1",
+ "hasown": "^2.0.2",
+ "is-core-module": "^2.16.1",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.1.2",
+ "object.fromentries": "^2.0.8",
+ "object.groupby": "^1.0.3",
+ "object.values": "^1.2.1",
+ "semver": "^6.3.1",
+ "string.prototype.trimend": "^1.0.9",
+ "tsconfig-paths": "^3.15.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
+ }
+ },
+ "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"
+ },
+ "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,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.5.tgz",
+ "integrity": "sha512-9Ni+xgemM2IWLq6aXEpP2+V/V30GeA/46Ar629vcMqVPodFFWC9skHu/D1phvuqtS8bJCFnNf01/qcmqYEwNfg==",
+ "dev": true,
+ "license": "MIT",
+ "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-react": {
+ "version": "7.37.5",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz",
+ "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.8",
+ "array.prototype.findlast": "^1.2.5",
+ "array.prototype.flatmap": "^1.3.3",
+ "array.prototype.tosorted": "^1.1.4",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.2.1",
+ "estraverse": "^5.3.0",
+ "hasown": "^2.0.2",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.9",
+ "object.fromentries": "^2.0.8",
+ "object.values": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.5",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.12",
+ "string.prototype.repeat": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+ }
+ },
+ "node_modules/eslint-plugin-react-hooks": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
+ "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
+ "dev": true,
+ "license": "MIT",
+ "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/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"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/eslint-plugin-storybook": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-9.1.7.tgz",
+ "integrity": "sha512-Bq9VNutFGX7T0jw7luWt5eEyRFInIsE0+FSaXdayqBNW6NPaGuE+hoBhhTowvohNqEqn5DXwIkPHiI1GhONE9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/utils": "^8.8.1"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=8",
+ "storybook": "^9.1.7"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.44.0.tgz",
+ "integrity": "sha512-87Jv3E+al8wpD+rIdVJm/ItDBe/Im09zXIjFoipOjr5gHUhJmTzfFLuTJ/nPTMc2Srsroy4IBXwcTCHyRR7KzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.44.0",
+ "@typescript-eslint/visitor-keys": "8.44.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/types": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.44.0.tgz",
+ "integrity": "sha512-ZSl2efn44VsYM0MfDQe68RKzBz75NPgLQXuGypmym6QVOWL5kegTZuZ02xRAT9T+onqvM6T8CdQk0OwYMB6ZvA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.44.0.tgz",
+ "integrity": "sha512-lqNj6SgnGcQZwL4/SBJ3xdPEfcBuhCG8zdcwCPgYcmiPLgokiNDKlbPzCwEwu7m279J/lBYWtDYL+87OEfn8Jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/project-service": "8.44.0",
+ "@typescript-eslint/tsconfig-utils": "8.44.0",
+ "@typescript-eslint/types": "8.44.0",
+ "@typescript-eslint/visitor-keys": "8.44.0",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.3.2",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^2.1.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/utils": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.44.0.tgz",
+ "integrity": "sha512-nktOlVcg3ALo0mYlV+L7sWUD58KG4CMj1rb2HUVOO4aL3K/6wcD+NERqd0rrA5Vg06b42YhF6cFxeixsp9Riqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.7.0",
+ "@typescript-eslint/scope-manager": "8.44.0",
+ "@typescript-eslint/types": "8.44.0",
+ "@typescript-eslint/typescript-estree": "8.44.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <6.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.44.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.44.0.tgz",
+ "integrity": "sha512-zaz9u8EJ4GBmnehlrpoKvj/E3dNbuQ7q0ucyZImm3cLqJ8INTc970B1qEqDX/Rzq65r3TvVTN7kHWPBoyW7DWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.44.0",
+ "eslint-visitor-keys": "^4.2.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/eslint-visitor-keys": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/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,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/eslint-plugin-storybook/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-unused-imports": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz",
+ "integrity": "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-rule-composer": "^0.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.0.0",
+ "eslint": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@typescript-eslint/eslint-plugin": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-rule-composer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
+ "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==",
+ "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"
+ },
+ "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,
+ "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"
+ },
+ "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,
+ "license": "MIT",
+ "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/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"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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",
+ "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,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "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"
+ },
+ "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,
+ "license": "BSD-2-Clause",
+ "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,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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/eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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",
+ "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/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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "Apache-2.0"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "license": "MIT",
+ "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.8"
+ },
+ "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==",
+ "license": "ISC",
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/fast-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "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.19.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+ "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/figlet": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.9.3.tgz",
+ "integrity": "sha512-majPgOpVtrZN1iyNGbsUP6bOtZ6eaJgg5HHh0vFvm5DJhh8dc+FJpOC4GABvMZ/A7XHAJUuJujhgUY/2jPWgMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^14.0.0"
+ },
+ "bin": {
+ "figlet": "bin/index.js"
+ },
+ "engines": {
+ "node": ">= 17.0.0"
+ }
+ },
+ "node_modules/figlet/node_modules/commander": {
+ "version": "14.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz",
+ "integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=20"
+ }
+ },
+ "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"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/filesize": {
+ "version": "10.1.6",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz",
+ "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 10.4.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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.3",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+ "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/for-each": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+ "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/foreground-child": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+ "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.6",
+ "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==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
+ "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://github.com/sponsors/rawify"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+ "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
+ },
+ "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,
+ "license": "MIT",
+ "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-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.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "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"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-tsconfig": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+ "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
+ "node_modules/git-raw-commits": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz",
+ "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dargs": "^7.0.0",
+ "lodash": "^4.17.15",
+ "meow": "^8.0.0",
+ "split2": "^3.0.0",
+ "through2": "^4.0.0"
+ },
+ "bin": {
+ "git-raw-commits": "cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/glob": {
+ "version": "9.3.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz",
+ "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "minimatch": "^8.0.2",
+ "minipass": "^4.2.4",
+ "path-scurry": "^1.6.1"
+ },
+ "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==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/glob/node_modules/minimatch": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz",
+ "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/global-dirs": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
+ "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "^1.3.4"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-prefix": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "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": "MIT",
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
+ },
+ "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,
+ "license": "MIT",
+ "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/globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gpt-3-encoder": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/gpt-3-encoder/-/gpt-3-encoder-1.1.4.tgz",
+ "integrity": "sha512-fSQRePV+HUAhCn7+7HL7lNIXNm6eaFWFbNLOOGtmSJ0qJycyQvj60OvRlH7mee8xAMjBDNRdMXlMwjAbMTDjkg==",
+ "license": "MIT"
+ },
+ "node_modules/gpt3-tokenizer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/gpt3-tokenizer/-/gpt3-tokenizer-1.1.5.tgz",
+ "integrity": "sha512-O9iCL8MqGR0Oe9wTh0YftzIbysypNQmS5a5JG3cB3M4LMYjlAVvNnf8LUzVY9MrI7tj+YLY356uHtO2lLX2HpA==",
+ "license": "MIT",
+ "dependencies": {
+ "array-keyed-map": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/graphql": {
+ "version": "16.11.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.11.0.tgz",
+ "integrity": "sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+ "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/headers-polyfill": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
+ "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/hosted-git-info/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,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/hosted-git-info/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,
+ "license": "ISC"
+ },
+ "node_modules/html-parse-stringify": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
+ "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
+ "license": "MIT",
+ "dependencies": {
+ "void-elements": "3.1.0"
+ }
+ },
+ "node_modules/html-tags": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.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,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/husky": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz",
+ "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "husky": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/typicode"
+ }
+ },
+ "node_modules/i18next": {
+ "version": "23.16.8",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz",
+ "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/i18next-browser-languagedetector": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.2.tgz",
+ "integrity": "sha512-6b7r75uIJDWCcCflmbof+sJ94k9UQO4X0YR62oUfqGI/GjCLVzlCwu8TFdRZIqVLzWbzNcmkmhfqKEr4TLz4HQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/i18next-resources-for-ts": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/i18next-resources-for-ts/-/i18next-resources-for-ts-1.3.2.tgz",
+ "integrity": "sha512-260+0akFNLG7cl9wgYk6NWRpkymj1aemx0xe6Rtb6h2YkSNfe2Zg4AW66hraUTuTKVpRet/A9r65SbkaB079Aw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.22.15"
+ },
+ "bin": {
+ "i18next-resources-for-ts": "bin/i18next-resources-for-ts.js"
+ }
+ },
+ "node_modules/i18next-resources-to-backend": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/i18next-resources-to-backend/-/i18next-resources-to-backend-1.2.1.tgz",
+ "integrity": "sha512-okHbVA+HZ7n1/76MsfhPqDou0fptl2dAlhRDu2ideXloRRduzHsqDOznJBef+R3DFZnbvWoBW+KxJ7fnFjd6Yw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-lazy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/index-to-position": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz",
+ "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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"
+ }
+ },
+ "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,
+ "license": "ISC"
+ },
+ "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,
+ "license": "ISC"
+ },
+ "node_modules/internal-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/is-async-function": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+ "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "async-function": "^1.0.0",
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.1",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+ "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bun-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz",
+ "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.7.1"
+ }
+ },
+ "node_modules/is-bun-module/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-data-view": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-finalizationregistry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz",
+ "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz",
+ "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-proto": "^1.0.0",
+ "has-tostringtag": "^1.0.2",
+ "safe-regex-test": "^1.1.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==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-node-process": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
+ "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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-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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-text-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz",
+ "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "text-extensions": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+ "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+ "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-what": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-what-type": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-what-type/-/is-what-type-1.1.4.tgz",
+ "integrity": "sha512-120PeT8LdXO7m503rQtOapWA7lHBtWErN+asRxKyxF/SFGeqLEAZhlItjNynNVABHteRMSjomQCdAnxEJldMMQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "license": "ISC"
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
+ "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "get-proto": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "license": "MIT",
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-levenshtein": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
+ "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
+ "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "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/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"
+ },
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "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/known-css-properties": {
+ "version": "0.29.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz",
+ "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/less": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/less/-/less-4.4.1.tgz",
+ "integrity": "sha512-X9HKyiXPi0f/ed0XhgUlBeFfxrlDP3xR4M7768Zl+WXLUViuL9AOPPJP4nCV0tgRWvTYvpNmN0SFhZOQzy16PA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "copy-anything": "^2.0.1",
+ "parse-node-version": "^1.0.1",
+ "tslib": "^2.3.0"
+ },
+ "bin": {
+ "lessc": "bin/lessc"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "optionalDependencies": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "needle": "^3.1.0",
+ "source-map": "~0.6.0"
+ }
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/lint-staged": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz",
+ "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "5.3.0",
+ "commander": "11.0.0",
+ "debug": "4.3.4",
+ "execa": "7.2.0",
+ "lilconfig": "2.1.0",
+ "listr2": "6.6.1",
+ "micromatch": "4.0.5",
+ "pidtree": "0.6.0",
+ "string-argv": "0.3.2",
+ "yaml": "2.3.1"
+ },
+ "bin": {
+ "lint-staged": "bin/lint-staged.js"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/lint-staged"
+ }
+ },
+ "node_modules/lint-staged/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/lint-staged/node_modules/commander": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz",
+ "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/lint-staged/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": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "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/lint-staged/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,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=14.18.0"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT"
+ },
+ "node_modules/lint-staged/node_modules/npm-run-path": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
+ "dev": true,
+ "license": "MIT",
+ "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/lint-staged/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,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lint-staged/node_modules/yaml": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
+ "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/listr2": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz",
+ "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cli-truncate": "^3.1.0",
+ "colorette": "^2.0.20",
+ "eventemitter3": "^5.0.1",
+ "log-update": "^5.0.1",
+ "rfdc": "^1.3.0",
+ "wrap-ansi": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "enquirer": ">= 2.3.0 < 3"
+ },
+ "peerDependenciesMeta": {
+ "enquirer": {
+ "optional": 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,
+ "license": "MIT",
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isfunction": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
+ "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/lodash.mergewith": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
+ "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/log-update": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz",
+ "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^5.0.0",
+ "cli-cursor": "^4.0.0",
+ "slice-ansi": "^5.0.0",
+ "strip-ansi": "^7.0.1",
+ "wrap-ansi": "^8.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/log-update/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz",
+ "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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/lucide-react": {
+ "version": "0.277.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.277.0.tgz",
+ "integrity": "sha512-9epmznme+vW14V9d2rsMeLr3fMnf59lYDUOVUg6s7oVN22Zq8h4B30+3CIdFFV9UXCjPG5ZNKHfO/hf96cl46A==",
+ "license": "ISC",
+ "peerDependencies": {
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/lz-string": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
+ "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "bin": {
+ "lz-string": "bin/bin.js"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.19",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz",
+ "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/make-dir/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,
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "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==",
+ "devOptional": true,
+ "license": "ISC"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/mathml-tag-names": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/meow": {
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
+ "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/meow/node_modules/type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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,
+ "license": "ISC",
+ "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,
+ "license": "MIT",
+ "funding": {
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz",
+ "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/msw": {
+ "version": "2.11.3",
+ "resolved": "https://registry.npmjs.org/msw/-/msw-2.11.3.tgz",
+ "integrity": "sha512-878imp8jxIpfzuzxYfX0qqTq1IFQz/1/RBHs/PyirSjzi+xKM/RRfIpIqHSCWjH0GxidrjhgiiXC+DWXNDvT9w==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@bundled-es-modules/cookie": "^2.0.1",
+ "@bundled-es-modules/statuses": "^1.0.1",
+ "@inquirer/confirm": "^5.0.0",
+ "@mswjs/interceptors": "^0.39.1",
+ "@open-draft/deferred-promise": "^2.2.0",
+ "@types/cookie": "^0.6.0",
+ "@types/statuses": "^2.0.4",
+ "graphql": "^16.8.1",
+ "headers-polyfill": "^4.0.2",
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.3",
+ "path-to-regexp": "^6.3.0",
+ "picocolors": "^1.1.1",
+ "rettime": "^0.7.0",
+ "strict-event-emitter": "^0.5.1",
+ "tough-cookie": "^6.0.0",
+ "type-fest": "^4.26.1",
+ "until-async": "^3.0.2",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "msw": "cli/index.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mswjs"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.8.x"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/msw-storybook-addon": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/msw-storybook-addon/-/msw-storybook-addon-2.0.5.tgz",
+ "integrity": "sha512-uum2gtprDBoUb8GV/rPMwPytHmB8+AUr25BQUY0MpjYey5/ujaew2Edt+4oHiXpLTd0ThyMqmEvGy/sRpDV4lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-node-process": "^1.0.1"
+ },
+ "peerDependencies": {
+ "msw": "^2.0.0"
+ }
+ },
+ "node_modules/msw/node_modules/type-fest": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+ "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mute-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+ "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ }
+ },
+ "node_modules/mz": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
+ "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "thenify-all": "^1.0.0"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/napi-postinstall": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.3.tgz",
+ "integrity": "sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "napi-postinstall": "lib/cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/napi-postinstall"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/needle": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz",
+ "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.3",
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "needle": "bin/needle"
+ },
+ "engines": {
+ "node": ">= 4.4.x"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
+ "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-releases": {
+ "version": "2.0.21",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz",
+ "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "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"
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
+ "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.1.1"
+ },
+ "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",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+ "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "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,
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/openapi-typescript": {
+ "version": "7.9.1",
+ "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.9.1.tgz",
+ "integrity": "sha512-9gJtoY04mk6iPMbToPjPxEAtfXZ0dTsMZtsgUI8YZta0btPPig9DJFP4jlerQD/7QOwYgb0tl+zLUpDf7vb7VA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@redocly/openapi-core": "^1.34.5",
+ "ansi-colors": "^4.1.3",
+ "change-case": "^5.4.4",
+ "parse-json": "^8.3.0",
+ "supports-color": "^10.1.0",
+ "yargs-parser": "^21.1.1"
+ },
+ "bin": {
+ "openapi-typescript": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "typescript": "^5.x"
+ }
+ },
+ "node_modules/openapi-typescript/node_modules/parse-json": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz",
+ "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.26.2",
+ "index-to-position": "^1.1.0",
+ "type-fest": "^4.39.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/openapi-typescript/node_modules/supports-color": {
+ "version": "10.2.2",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+ "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/openapi-typescript/node_modules/type-fest": {
+ "version": "4.41.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+ "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/openapi-typescript/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/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/outvariant": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
+ "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/own-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+ "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.6",
+ "object-keys": "^1.1.1",
+ "safe-push-apply": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "license": "BlueOak-1.0.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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "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/parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "license": "ISC"
+ },
+ "node_modules/path-scurry/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+ "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pathval": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz",
+ "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.16"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pidtree": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
+ "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pluralize": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+ "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz",
+ "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/postcss-less": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-6.0.0.tgz",
+ "integrity": "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.5"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "license": "MIT",
+ "dependencies": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-load-config/node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-resolve-nested-selector": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz",
+ "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/postcss-safe-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
+ "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "license": "MIT"
+ },
+ "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": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/prettier-plugin-tailwindcss": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.4.1.tgz",
+ "integrity": "sha512-hwn2EiJmv8M+AW4YDkbjJ6HlZCTzLyz1QlySn9sMuKV/Px0fjwldlB7tol8GzdgqtkdPtzT3iJ4UzdnYXP25Ag==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.17.0"
+ },
+ "peerDependencies": {
+ "@ianvs/prettier-plugin-sort-imports": "*",
+ "@prettier/plugin-pug": "*",
+ "@shopify/prettier-plugin-liquid": "*",
+ "@shufo/prettier-plugin-blade": "*",
+ "@trivago/prettier-plugin-sort-imports": "*",
+ "prettier": "^2.2 || ^3.0",
+ "prettier-plugin-astro": "*",
+ "prettier-plugin-css-order": "*",
+ "prettier-plugin-import-sort": "*",
+ "prettier-plugin-jsdoc": "*",
+ "prettier-plugin-marko": "*",
+ "prettier-plugin-organize-attributes": "*",
+ "prettier-plugin-organize-imports": "*",
+ "prettier-plugin-style-order": "*",
+ "prettier-plugin-svelte": "*",
+ "prettier-plugin-twig-melody": "*"
+ },
+ "peerDependenciesMeta": {
+ "@ianvs/prettier-plugin-sort-imports": {
+ "optional": true
+ },
+ "@prettier/plugin-pug": {
+ "optional": true
+ },
+ "@shopify/prettier-plugin-liquid": {
+ "optional": true
+ },
+ "@shufo/prettier-plugin-blade": {
+ "optional": true
+ },
+ "@trivago/prettier-plugin-sort-imports": {
+ "optional": true
+ },
+ "prettier-plugin-astro": {
+ "optional": true
+ },
+ "prettier-plugin-css-order": {
+ "optional": true
+ },
+ "prettier-plugin-import-sort": {
+ "optional": true
+ },
+ "prettier-plugin-jsdoc": {
+ "optional": true
+ },
+ "prettier-plugin-marko": {
+ "optional": true
+ },
+ "prettier-plugin-organize-attributes": {
+ "optional": true
+ },
+ "prettier-plugin-organize-imports": {
+ "optional": true
+ },
+ "prettier-plugin-style-order": {
+ "optional": true
+ },
+ "prettier-plugin-svelte": {
+ "optional": true
+ },
+ "prettier-plugin-twig-melody": {
+ "optional": true
+ }
+ }
+ },
+ "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",
+ "peer": 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,
+ "license": "MIT",
+ "peer": true,
+ "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,
+ "license": "MIT",
+ "peer": 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==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "dev": true,
+ "license": "MIT",
+ "optional": 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,
+ "license": "MIT",
+ "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==",
+ "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"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-docgen": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-8.0.1.tgz",
+ "integrity": "sha512-kQKsqPLplY3Hx4jGnM3jpQcG3FQDt7ySz32uTHt3C9HAe45kNXG+3o16Eqn3Fw1GtMfHoN3b4J/z2e6cZJCmqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.28.0",
+ "@babel/traverse": "^7.28.0",
+ "@babel/types": "^7.28.2",
+ "@types/babel__core": "^7.20.5",
+ "@types/babel__traverse": "^7.20.7",
+ "@types/doctrine": "^0.0.9",
+ "@types/resolve": "^1.20.2",
+ "doctrine": "^3.0.0",
+ "resolve": "^1.22.1",
+ "strip-indent": "^4.0.0"
+ },
+ "engines": {
+ "node": "^20.9.0 || >=22"
+ }
+ },
+ "node_modules/react-docgen-typescript": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.4.0.tgz",
+ "integrity": "sha512-ZtAp5XTO5HRzQctjPU0ybY0RRCQO19X/8fxn3w7y2VVTUbGHDKULPTL4ky3vB05euSgG5NpALhEhDPvQ56wvXg==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "typescript": ">= 4.3.x"
+ }
+ },
+ "node_modules/react-docgen/node_modules/strip-indent": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.0.tgz",
+ "integrity": "sha512-OA95x+JPmL7kc7zCu+e+TeYxEiaIyndRx0OrBcK2QPPH09oAndr2ALvymxWA+Lx1PYYvFUm4O63pRkdJAaW96w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-fast-compare": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
+ "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
+ "license": "MIT"
+ },
+ "node_modules/react-helmet": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz",
+ "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==",
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.7.2",
+ "react-fast-compare": "^3.1.1",
+ "react-side-effect": "^2.1.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/react-i18next": {
+ "version": "13.5.0",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz",
+ "integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.22.5",
+ "html-parse-stringify": "^3.0.1"
+ },
+ "peerDependencies": {
+ "i18next": ">= 23.2.3",
+ "react": ">= 16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/react-refresh": {
+ "version": "0.17.0",
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-remove-scroll": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz",
+ "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==",
+ "license": "MIT",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.7",
+ "react-style-singleton": "^2.2.3",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.3",
+ "use-sidecar": "^1.1.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
+ "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
+ "license": "MIT",
+ "dependencies": {
+ "react-style-singleton": "^2.2.2",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-router": {
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz",
+ "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@remix-run/router": "1.23.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/react-router-dom": {
+ "version": "6.30.1",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.1.tgz",
+ "integrity": "sha512-llKsgOkZdbPU1Eg3zK8lCn+sjD9wMRZZPuzmdWWX5SUs8OFkN5HnFVC0u5KMeMaC9aoancFI/KoLuKPqN+hxHw==",
+ "license": "MIT",
+ "dependencies": {
+ "@remix-run/router": "1.23.0",
+ "react-router": "6.30.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8",
+ "react-dom": ">=16.8"
+ }
+ },
+ "node_modules/react-side-effect": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz",
+ "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.3.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-style-singleton": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
+ "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
+ "license": "MIT",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/read-cache/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.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,
+ "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"
+ },
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg/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,
+ "license": "ISC"
+ },
+ "node_modules/read-pkg/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,
+ "license": "BSD-2-Clause",
+ "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/read-pkg/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,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "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,
+ "license": "(MIT OR CC0-1.0)",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/recast": {
+ "version": "0.23.11",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz",
+ "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ast-types": "^0.16.1",
+ "esprima": "~4.0.0",
+ "source-map": "~0.6.1",
+ "tiny-invariant": "^1.3.3",
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+ "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.9",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.7",
+ "get-proto": "^1.0.1",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+ "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/remove-accents": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz",
+ "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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",
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.10",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+ "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.16.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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-global": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
+ "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-dirs": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz",
+ "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/rettime": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/rettime/-/rettime-0.7.0.tgz",
+ "integrity": "sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "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==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "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/rollup": {
+ "version": "4.52.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.0.tgz",
+ "integrity": "sha512-+IuescNkTJQgX7AkIDtITipZdIGcWF0pnVvZTWStiazUmcGA2ag8dfg0urest2XlXUi9kuhfQ+qmdc5Stc3z7g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.52.0",
+ "@rollup/rollup-android-arm64": "4.52.0",
+ "@rollup/rollup-darwin-arm64": "4.52.0",
+ "@rollup/rollup-darwin-x64": "4.52.0",
+ "@rollup/rollup-freebsd-arm64": "4.52.0",
+ "@rollup/rollup-freebsd-x64": "4.52.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.52.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.52.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.52.0",
+ "@rollup/rollup-linux-arm64-musl": "4.52.0",
+ "@rollup/rollup-linux-loong64-gnu": "4.52.0",
+ "@rollup/rollup-linux-ppc64-gnu": "4.52.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.52.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.52.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.52.0",
+ "@rollup/rollup-linux-x64-gnu": "4.52.0",
+ "@rollup/rollup-linux-x64-musl": "4.52.0",
+ "@rollup/rollup-openharmony-arm64": "4.52.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.52.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.52.0",
+ "@rollup/rollup-win32-x64-gnu": "4.52.0",
+ "@rollup/rollup-win32-x64-msvc": "4.52.0",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "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",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "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"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safe-push-apply": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+ "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "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,
+ "license": "MIT",
+ "optional": true
+ },
+ "node_modules/sax": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
+ "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
+ "dev": true,
+ "license": "ISC",
+ "optional": true
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "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,
+ "license": "ISC",
+ "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,
+ "license": "ISC",
+ "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,
+ "license": "ISC"
+ },
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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/set-proto": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+ "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0"
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.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==",
+ "license": "ISC"
+ },
+ "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/slice-ansi": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz",
+ "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.0.0",
+ "is-fullwidth-code-point": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "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": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "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,
+ "license": "Apache-2.0",
+ "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,
+ "license": "CC-BY-3.0"
+ },
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.22",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+ "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/spinnies": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/spinnies/-/spinnies-0.5.1.tgz",
+ "integrity": "sha512-WpjSXv9NQz0nU3yCT9TFEOfpFrXADY9C5fG6eAJqixLhvTX1jP3w92Y8IE5oafIe42nlF9otjhllnXN/QCaB3A==",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "cli-cursor": "^3.0.0",
+ "strip-ansi": "^5.2.0"
+ }
+ },
+ "node_modules/spinnies/node_modules/ansi-regex": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+ "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT"
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/spinnies/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/spinnies/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==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/split2": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
+ "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "readable-stream": "^3.0.0"
+ }
+ },
+ "node_modules/stable-hash": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz",
+ "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+ "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "internal-slot": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/storybook": {
+ "version": "9.1.7",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.7.tgz",
+ "integrity": "sha512-X8YSQMNuqV9DklQLZH6mLKpDn15Z5tuUUTAIYsiGqx5BwsjtXnv5K04fXgl3jqTZyUauzV/ii8KdT04NVLtMwQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/global": "^5.0.0",
+ "@testing-library/jest-dom": "^6.6.3",
+ "@testing-library/user-event": "^14.6.1",
+ "@vitest/expect": "3.2.4",
+ "@vitest/mocker": "3.2.4",
+ "@vitest/spy": "3.2.4",
+ "better-opn": "^3.0.2",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0",
+ "esbuild-register": "^3.5.0",
+ "recast": "^0.23.5",
+ "semver": "^7.6.2",
+ "ws": "^8.18.0"
+ },
+ "bin": {
+ "storybook": "bin/index.cjs"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "prettier": "^2 || ^3"
+ },
+ "peerDependenciesMeta": {
+ "prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/storybook/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/strict-event-emitter": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
+ "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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-argv": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+ "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.19"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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/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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/string-width-cjs/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/string-width/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+ "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "regexp.prototype.flags": "^1.5.3",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.repeat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
+ "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "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,
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/stylelint": {
+ "version": "15.11.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz",
+ "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@csstools/css-parser-algorithms": "^2.3.1",
+ "@csstools/css-tokenizer": "^2.2.0",
+ "@csstools/media-query-list-parser": "^2.1.4",
+ "@csstools/selector-specificity": "^3.0.0",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.3",
+ "cosmiconfig": "^8.2.0",
+ "css-functions-list": "^3.2.1",
+ "css-tree": "^2.3.1",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.3.1",
+ "fastest-levenshtein": "^1.0.16",
+ "file-entry-cache": "^7.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.3.1",
+ "ignore": "^5.2.4",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.29.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^10.1.5",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.28",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.13",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^3.0.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.1",
+ "write-file-atomic": "^5.0.1"
+ },
+ "bin": {
+ "stylelint": "bin/stylelint.mjs"
+ },
+ "engines": {
+ "node": "^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/stylelint"
+ }
+ },
+ "node_modules/stylelint-config-recommended": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-11.0.0.tgz",
+ "integrity": "sha512-SoGIHNI748OCZn6BxFYT83ytWoYETCINVHV3LKScVAWQQauWdvmdDqJC5YXWjpBbxg2E761Tg5aUGKLFOVhEkA==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "stylelint": "^15.3.0"
+ }
+ },
+ "node_modules/stylelint-config-standard": {
+ "version": "32.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-32.0.0.tgz",
+ "integrity": "sha512-UnGJxYDyYFrIE9CjDMZRkrNh2o4lOtO+MVZ9qG5b8yARfsWho0GMx4YvhHfsv8zKKgHeWX2wfeyxmuoqcaYZ4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "stylelint-config-recommended": "^11.0.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^15.4.0"
+ }
+ },
+ "node_modules/stylelint-less": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/stylelint-less/-/stylelint-less-1.0.8.tgz",
+ "integrity": "sha512-rV9qCtuMKpkcfMq0znW52yWb0bZfw0E/uZ2CwOK4MFSIoq0U6xXT7Y1a2nSJsa+p3t8li/2RTYUrRLc7ABRyaQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss": "^8.4.14",
+ "postcss-value-parser": "4.2.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^15.10.1"
+ }
+ },
+ "node_modules/stylelint-prettier": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-3.0.0.tgz",
+ "integrity": "sha512-kIks1xw6np0zElokMT2kP6ar3S4MBoj6vUtPJuND1pFELMpZxVS/0uHPR4HDAVn0WAD3I5oF0IA3qBFxBpMkLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "prettier": ">=2.0.0",
+ "stylelint": ">=14.0.0"
+ }
+ },
+ "node_modules/stylelint/node_modules/balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stylelint/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"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/camelcase-keys": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
+ "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^6.3.0",
+ "map-obj": "^4.1.0",
+ "quick-lru": "^5.1.1",
+ "type-fest": "^1.2.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/decamelize": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
+ "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/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,
+ "license": "MIT"
+ },
+ "node_modules/stylelint/node_modules/file-entry-cache": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.2.tgz",
+ "integrity": "sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/stylelint/node_modules/indent-string": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+ "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/meow": {
+ "version": "10.1.5",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
+ "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimist": "^1.2.2",
+ "camelcase-keys": "^7.0.0",
+ "decamelize": "^5.0.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.2",
+ "read-pkg-up": "^8.0.0",
+ "redent": "^4.0.0",
+ "trim-newlines": "^4.0.2",
+ "type-fest": "^1.2.2",
+ "yargs-parser": "^20.2.9"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/read-pkg": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
+ "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^3.0.2",
+ "parse-json": "^5.2.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/read-pkg-up": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
+ "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "find-up": "^5.0.0",
+ "read-pkg": "^6.0.0",
+ "type-fest": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/redent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
+ "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "indent-string": "^5.0.0",
+ "strip-indent": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/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",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stylelint/node_modules/strip-indent": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.1.0.tgz",
+ "integrity": "sha512-OA95x+JPmL7kc7zCu+e+TeYxEiaIyndRx0OrBcK2QPPH09oAndr2ALvymxWA+Lx1PYYvFUm4O63pRkdJAaW96w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/trim-newlines": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
+ "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/type-fest": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+ "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/sucrase": {
+ "version": "3.35.0",
+ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
+ "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "commander": "^4.0.0",
+ "glob": "^10.3.10",
+ "lines-and-columns": "^1.1.6",
+ "mz": "^2.7.0",
+ "pirates": "^4.0.1",
+ "ts-interface-checker": "^0.1.9"
+ },
+ "bin": {
+ "sucrase": "bin/sucrase",
+ "sucrase-node": "bin/sucrase-node"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/sucrase/node_modules/brace-expansion": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/sucrase/node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/sucrase/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/sucrase/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/sucrase/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/superjson": {
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.13.3.tgz",
+ "integrity": "sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "copy-anything": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/superjson/node_modules/copy-anything": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz",
+ "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-what": "^4.1.8"
+ },
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/superjson/node_modules/is-what": {
+ "version": "4.1.16",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz",
+ "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
+ "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+ "dev": true
+ },
+ "node_modules/table": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz",
+ "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/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,
+ "license": "MIT"
+ },
+ "node_modules/table/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/table/node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/table/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",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tailwind-merge": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz",
+ "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/dcastil"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz",
+ "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==",
+ "license": "MIT",
+ "dependencies": {
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "color-name": "^1.1.4",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.2.12",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.17.2",
+ "lilconfig": "^2.0.6",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.0.9",
+ "postcss-import": "^14.1.0",
+ "postcss-js": "^4.0.0",
+ "postcss-load-config": "^3.1.4",
+ "postcss-nested": "6.0.0",
+ "postcss-selector-parser": "^6.0.11",
+ "postcss-value-parser": "^4.2.0",
+ "quick-lru": "^5.1.1",
+ "resolve": "^1.22.1",
+ "sucrase": "^3.29.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/tailwindcss-animate": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz",
+ "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==",
+ "license": "MIT",
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/text-extensions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
+ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/thenify": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
+ "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "license": "MIT",
+ "dependencies": {
+ "any-promise": "^1.0.0"
+ }
+ },
+ "node_modules/thenify-all": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "license": "MIT",
+ "dependencies": {
+ "thenify": ">= 3.1.0 < 4"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "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,
+ "license": "MIT"
+ },
+ "node_modules/through2": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
+ "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "3"
+ }
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/tinyrainbow": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
+ "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tinyspy": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz",
+ "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tldts": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.15.tgz",
+ "integrity": "sha512-heYRCiGLhtI+U/D0V8YM3QRwPfsLJiP+HX+YwiHZTnWzjIKC+ZCxQRYlzvOoTEc6KIP62B1VeAN63diGCng2hg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tldts-core": "^7.0.15"
+ },
+ "bin": {
+ "tldts": "bin/cli.js"
+ }
+ },
+ "node_modules/tldts-core": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.15.tgz",
+ "integrity": "sha512-YBkp2VfS9VTRMPNL2PA6PMESmxV1JEVoAr5iBlZnB5JG3KUrWzNCB3yNNkRa2FZkqClaBgfNYCp8PgpYmpjkZw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
+ "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tldts": "^7.0.5"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.12"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4"
+ }
+ },
+ "node_modules/ts-dedent": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
+ "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.10"
+ }
+ },
+ "node_modules/ts-interface-checker": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "license": "Apache-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==",
+ "devOptional": true,
+ "license": "MIT",
+ "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/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "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",
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "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"
+ },
+ "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,
+ "license": "0BSD"
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "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,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
+ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz",
+ "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==",
+ "license": "MIT"
+ },
+ "node_modules/unicorn-magic": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+ "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz",
+ "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.0",
+ "webpack-virtual-modules": "^0.6.2"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/unrs-resolver": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
+ "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "napi-postinstall": "^0.3.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unrs-resolver"
+ },
+ "optionalDependencies": {
+ "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
+ "@unrs/resolver-binding-android-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-arm64": "1.11.1",
+ "@unrs/resolver-binding-darwin-x64": "1.11.1",
+ "@unrs/resolver-binding-freebsd-x64": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
+ "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
+ "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
+ "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
+ "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
+ "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
+ }
+ },
+ "node_modules/until-async": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/until-async/-/until-async-3.0.2.tgz",
+ "integrity": "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/kettanaito"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "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"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "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==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/uri-js-replace": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz",
+ "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/use-callback-ref": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
+ "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sidecar": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
+ "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz",
+ "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.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==",
+ "license": "MIT"
+ },
+ "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==",
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "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,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "7.1.7",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz",
+ "integrity": "sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-external": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/vite-plugin-external/-/vite-plugin-external-6.2.2.tgz",
+ "integrity": "sha512-OpdFlWgVfWyZgx9nym3LAQp4DciutbqwSKzbA1l2Bg7CNzlDd3jnHfv1uWTY4y5h2gRfgT60ZtOgF5+W95i+3A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/fs-extra": "^11.0.4",
+ "fs-extra": "^11.1.1",
+ "is-what-type": "^1.1.4",
+ "vp-runtime-helper": "^1.0.10"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "vite": ">=3.1.0"
+ }
+ },
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vp-runtime-helper": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/vp-runtime-helper/-/vp-runtime-helper-1.0.10.tgz",
+ "integrity": "sha512-2HUCkqI0uwgBti1/+utRu7Hvk/I3HeowBQfRlEL3487r+LpW1w91kk6uTZbwOd6I2Sj3aAxBE0HxYNC/NLbuhA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/fs-extra": "^11.0.4",
+ "base-log-factory": "^2.1.4",
+ "blf-debug-appender": "^1.0.2",
+ "figlet": "^1.8.0",
+ "fs-extra": "^11.3.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "vite": ">=3.1.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==",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+ "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.2.1",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
+ },
+ "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,
+ "license": "MIT",
+ "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.19",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
+ "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.4",
+ "for-each": "^0.3.5",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "license": "MIT",
+ "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/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==",
+ "license": "MIT",
+ "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/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==",
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi-cjs/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/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==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+ "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+ "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+ "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-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,
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/write-file-atomic/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,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.18.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+ "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "dev": true,
+ "license": "MIT",
+ "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/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",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml-ast-parser": {
+ "version": "0.0.43",
+ "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+ "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "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",
+ "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": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs/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,
+ "license": "MIT"
+ },
+ "node_modules/yargs/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/yargs/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",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/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/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "devOptional": 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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
+ "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
+}
diff --git a/jobs/Frontend/package.json b/jobs/Frontend/package.json
new file mode 100644
index 0000000000..930f56e62b
--- /dev/null
+++ b/jobs/Frontend/package.json
@@ -0,0 +1,100 @@
+{
+ "name": "vite-react-tailwind-starter",
+ "private": true,
+ "version": "0.0.0",
+ "scripts": {
+ "prepare": "husky install",
+ "dev": "vite",
+ "build": "npm run typecheck && vite build",
+ "typecheck": "tsc --noEmit",
+ "typecheck:watch": "tsc --noEmit --watch",
+ "lint": "eslint --quiet src --ext .ts,.tsx && stylelint src/**/*.less",
+ "lint:fix": "eslint --quiet --fix src --ext .ts,.tsx && stylelint --fix src/**/*.less",
+ "i18next-resources-for-ts": "i18next-resources-for-ts toc -i ./src/i18n/locales/en -o ./src/types/resources.ts",
+ "translate": "transmart",
+ "storybook": "storybook dev -p 6006",
+ "build-storybook": "storybook build",
+ "generate:tmdb-types": "npx openapi-typescript https://developer.themoviedb.org/openapi/6453cc549c91cf004cd2a015 --output tmdb.d.ts"
+ },
+ "dependencies": {
+ "@loadable/component": "^5.15.3",
+ "@radix-ui/react-navigation-menu": "^1.2.14",
+ "@radix-ui/react-popover": "^1.0.6",
+ "@radix-ui/react-slot": "^1.2.3",
+ "@tanstack/react-query": "^4.29.3",
+ "@transmart/cli": "^0.2.4",
+ "class-variance-authority": "^0.7.0",
+ "clsx": "^2.0.0",
+ "i18next": "^23.5.1",
+ "i18next-browser-languagedetector": "^7.1.0",
+ "i18next-resources-to-backend": "^1.1.4",
+ "lucide-react": "^0.277.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-helmet": "^6.1.0",
+ "react-i18next": "^13.2.2",
+ "react-router-dom": "^6.10.0",
+ "tailwind-merge": "^1.14.0",
+ "tailwindcss-animate": "^1.0.7"
+ },
+ "devDependencies": {
+ "@chromatic-com/storybook": "^4.1.1",
+ "@commitlint/cli": "^17.5.1",
+ "@commitlint/config-conventional": "^17.4.4",
+ "@storybook/addon-a11y": "^9.1.7",
+ "@storybook/addon-docs": "^9.1.7",
+ "@storybook/react-vite": "^9.1.7",
+ "@tanstack/react-query-devtools": "^4.29.1",
+ "@types/loadable__component": "^5.13.4",
+ "@types/node": "^24.5.2",
+ "@types/react": "^19.1.13",
+ "@types/react-dom": "^19.1.9",
+ "@types/react-helmet": "^6.1.11",
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
+ "@typescript-eslint/parser": "^5.58.0",
+ "@vitejs/plugin-react": "^5.0.3",
+ "autoprefixer": "^10.4.14",
+ "eslint": "^8.38.0",
+ "eslint-config-prettier": "^8.8.0",
+ "eslint-import-resolver-typescript": "^3.5.5",
+ "eslint-plugin-import": "^2.27.5",
+ "eslint-plugin-prettier": "^4.2.1",
+ "eslint-plugin-react": "^7.32.2",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-storybook": "^9.1.7",
+ "eslint-plugin-unused-imports": "^2.0.0",
+ "husky": "^8.0.3",
+ "i18next-resources-for-ts": "1.3.2",
+ "less": "^4.1.3",
+ "lint-staged": "^13.2.1",
+ "msw": "^2.11.3",
+ "msw-storybook-addon": "^2.0.5",
+ "openapi-typescript": "^7.9.1",
+ "postcss": "^8.4.21",
+ "postcss-less": "^6.0.0",
+ "prettier": "^2.8.8",
+ "prettier-plugin-tailwindcss": "^0.4.1",
+ "storybook": "^9.1.7",
+ "stylelint": "^15.4.0",
+ "stylelint-config-standard": "^32.0.0",
+ "stylelint-less": "^1.0.6",
+ "stylelint-prettier": "3",
+ "tailwindcss": "3.3.1",
+ "ts-node": "^10.9.1",
+ "typescript": "^5.3.3",
+ "vite": "^7.1.7",
+ "vite-plugin-external": "^6.2.2"
+ },
+ "eslintConfig": {
+ "extends": [
+ "plugin:storybook/recommended",
+ "plugin:storybook/recommended",
+ "plugin:storybook/recommended"
+ ]
+ },
+ "msw": {
+ "workerDirectory": [
+ "public"
+ ]
+ }
+}
diff --git a/jobs/Frontend/postcss.config.js b/jobs/Frontend/postcss.config.js
new file mode 100644
index 0000000000..506158e1e1
--- /dev/null
+++ b/jobs/Frontend/postcss.config.js
@@ -0,0 +1,9 @@
+module.exports = {
+ plugins: {
+ autoprefixer: {
+ overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8', 'last 10 versions'],
+ grid: true,
+ },
+ tailwindcss: {},
+ },
+}
diff --git a/jobs/Frontend/public/favicon.ico b/jobs/Frontend/public/favicon.ico
new file mode 100644
index 0000000000..38fd8641cb
Binary files /dev/null and b/jobs/Frontend/public/favicon.ico differ
diff --git a/jobs/Frontend/public/mockServiceWorker.js b/jobs/Frontend/public/mockServiceWorker.js
new file mode 100644
index 0000000000..15623f1090
--- /dev/null
+++ b/jobs/Frontend/public/mockServiceWorker.js
@@ -0,0 +1,348 @@
+/* eslint-disable */
+/* tslint:disable */
+
+/**
+ * Mock Service Worker.
+ * @see https://github.com/mswjs/msw
+ * - Please do NOT modify this file.
+ */
+
+const PACKAGE_VERSION = '2.11.3'
+const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82'
+const IS_MOCKED_RESPONSE = Symbol('isMockedResponse')
+const activeClientIds = new Set()
+
+addEventListener('install', function () {
+ self.skipWaiting()
+})
+
+addEventListener('activate', function (event) {
+ event.waitUntil(self.clients.claim())
+})
+
+addEventListener('message', async function (event) {
+ const clientId = Reflect.get(event.source || {}, 'id')
+
+ if (!clientId || !self.clients) {
+ return
+ }
+
+ const client = await self.clients.get(clientId)
+
+ if (!client) {
+ return
+ }
+
+ const allClients = await self.clients.matchAll({
+ type: 'window',
+ })
+
+ switch (event.data) {
+ case 'KEEPALIVE_REQUEST': {
+ sendToClient(client, {
+ type: 'KEEPALIVE_RESPONSE',
+ })
+ break
+ }
+
+ case 'INTEGRITY_CHECK_REQUEST': {
+ sendToClient(client, {
+ type: 'INTEGRITY_CHECK_RESPONSE',
+ payload: {
+ packageVersion: PACKAGE_VERSION,
+ checksum: INTEGRITY_CHECKSUM,
+ },
+ })
+ break
+ }
+
+ case 'MOCK_ACTIVATE': {
+ activeClientIds.add(clientId)
+
+ sendToClient(client, {
+ type: 'MOCKING_ENABLED',
+ payload: {
+ client: {
+ id: client.id,
+ frameType: client.frameType,
+ },
+ },
+ })
+ break
+ }
+
+ case 'CLIENT_CLOSED': {
+ activeClientIds.delete(clientId)
+
+ const remainingClients = allClients.filter((client) => {
+ return client.id !== clientId
+ })
+
+ // Unregister itself when there are no more clients
+ if (remainingClients.length === 0) {
+ self.registration.unregister()
+ }
+
+ break
+ }
+ }
+})
+
+addEventListener('fetch', function (event) {
+ const requestInterceptedAt = Date.now()
+
+ // Bypass navigation requests.
+ if (event.request.mode === 'navigate') {
+ return
+ }
+
+ // Opening the DevTools triggers the "only-if-cached" request
+ // that cannot be handled by the worker. Bypass such requests.
+ if (
+ event.request.cache === 'only-if-cached' &&
+ event.request.mode !== 'same-origin'
+ ) {
+ return
+ }
+
+ // Bypass all requests when there are no active clients.
+ // Prevents the self-unregistered worked from handling requests
+ // after it's been terminated (still remains active until the next reload).
+ if (activeClientIds.size === 0) {
+ return
+ }
+
+ const requestId = crypto.randomUUID()
+ event.respondWith(handleRequest(event, requestId, requestInterceptedAt))
+})
+
+/**
+ * @param {FetchEvent} event
+ * @param {string} requestId
+ * @param {number} requestInterceptedAt
+ */
+async function handleRequest(event, requestId, requestInterceptedAt) {
+ const client = await resolveMainClient(event)
+ const requestCloneForEvents = event.request.clone()
+ const response = await getResponse(
+ event,
+ client,
+ requestId,
+ requestInterceptedAt,
+ )
+
+ // Send back the response clone for the "response:*" life-cycle events.
+ // Ensure MSW is active and ready to handle the message, otherwise
+ // this message will pend indefinitely.
+ if (client && activeClientIds.has(client.id)) {
+ const serializedRequest = await serializeRequest(requestCloneForEvents)
+
+ // Clone the response so both the client and the library could consume it.
+ const responseClone = response.clone()
+
+ sendToClient(
+ client,
+ {
+ type: 'RESPONSE',
+ payload: {
+ isMockedResponse: IS_MOCKED_RESPONSE in response,
+ request: {
+ id: requestId,
+ ...serializedRequest,
+ },
+ response: {
+ type: responseClone.type,
+ status: responseClone.status,
+ statusText: responseClone.statusText,
+ headers: Object.fromEntries(responseClone.headers.entries()),
+ body: responseClone.body,
+ },
+ },
+ },
+ responseClone.body ? [serializedRequest.body, responseClone.body] : [],
+ )
+ }
+
+ return response
+}
+
+/**
+ * Resolve the main client for the given event.
+ * Client that issues a request doesn't necessarily equal the client
+ * that registered the worker. It's with the latter the worker should
+ * communicate with during the response resolving phase.
+ * @param {FetchEvent} event
+ * @returns {Promise}
+ */
+async function resolveMainClient(event) {
+ const client = await self.clients.get(event.clientId)
+
+ if (activeClientIds.has(event.clientId)) {
+ return client
+ }
+
+ if (client?.frameType === 'top-level') {
+ return client
+ }
+
+ const allClients = await self.clients.matchAll({
+ type: 'window',
+ })
+
+ return allClients
+ .filter((client) => {
+ // Get only those clients that are currently visible.
+ return client.visibilityState === 'visible'
+ })
+ .find((client) => {
+ // Find the client ID that's recorded in the
+ // set of clients that have registered the worker.
+ return activeClientIds.has(client.id)
+ })
+}
+
+/**
+ * @param {FetchEvent} event
+ * @param {Client | undefined} client
+ * @param {string} requestId
+ * @returns {Promise}
+ */
+async function getResponse(event, client, requestId, requestInterceptedAt) {
+ // Clone the request because it might've been already used
+ // (i.e. its body has been read and sent to the client).
+ const requestClone = event.request.clone()
+
+ function passthrough() {
+ // Cast the request headers to a new Headers instance
+ // so the headers can be manipulated with.
+ const headers = new Headers(requestClone.headers)
+
+ // Remove the "accept" header value that marked this request as passthrough.
+ // This prevents request alteration and also keeps it compliant with the
+ // user-defined CORS policies.
+ const acceptHeader = headers.get('accept')
+ if (acceptHeader) {
+ const values = acceptHeader.split(',').map((value) => value.trim())
+ const filteredValues = values.filter(
+ (value) => value !== 'msw/passthrough',
+ )
+
+ if (filteredValues.length > 0) {
+ headers.set('accept', filteredValues.join(', '))
+ } else {
+ headers.delete('accept')
+ }
+ }
+
+ return fetch(requestClone, { headers })
+ }
+
+ // Bypass mocking when the client is not active.
+ if (!client) {
+ return passthrough()
+ }
+
+ // Bypass initial page load requests (i.e. static assets).
+ // The absence of the immediate/parent client in the map of the active clients
+ // means that MSW hasn't dispatched the "MOCK_ACTIVATE" event yet
+ // and is not ready to handle requests.
+ if (!activeClientIds.has(client.id)) {
+ return passthrough()
+ }
+
+ // Notify the client that a request has been intercepted.
+ const serializedRequest = await serializeRequest(event.request)
+ const clientMessage = await sendToClient(
+ client,
+ {
+ type: 'REQUEST',
+ payload: {
+ id: requestId,
+ interceptedAt: requestInterceptedAt,
+ ...serializedRequest,
+ },
+ },
+ [serializedRequest.body],
+ )
+
+ switch (clientMessage.type) {
+ case 'MOCK_RESPONSE': {
+ return respondWithMock(clientMessage.data)
+ }
+
+ case 'PASSTHROUGH': {
+ return passthrough()
+ }
+ }
+
+ return passthrough()
+}
+
+/**
+ * @param {Client} client
+ * @param {any} message
+ * @param {Array} transferrables
+ * @returns {Promise}
+ */
+function sendToClient(client, message, transferrables = []) {
+ return new Promise((resolve, reject) => {
+ const channel = new MessageChannel()
+
+ channel.port1.onmessage = (event) => {
+ if (event.data && event.data.error) {
+ return reject(event.data.error)
+ }
+
+ resolve(event.data)
+ }
+
+ client.postMessage(message, [
+ channel.port2,
+ ...transferrables.filter(Boolean),
+ ])
+ })
+}
+
+/**
+ * @param {Response} response
+ * @returns {Response}
+ */
+function respondWithMock(response) {
+ // Setting response status code to 0 is a no-op.
+ // However, when responding with a "Response.error()", the produced Response
+ // instance will have status code set to 0. Since it's not possible to create
+ // a Response instance with status code 0, handle that use-case separately.
+ if (response.status === 0) {
+ return Response.error()
+ }
+
+ const mockedResponse = new Response(response.body, response)
+
+ Reflect.defineProperty(mockedResponse, IS_MOCKED_RESPONSE, {
+ value: true,
+ enumerable: true,
+ })
+
+ return mockedResponse
+}
+
+/**
+ * @param {Request} request
+ */
+async function serializeRequest(request) {
+ return {
+ url: request.url,
+ mode: request.mode,
+ method: request.method,
+ headers: Object.fromEntries(request.headers.entries()),
+ cache: request.cache,
+ credentials: request.credentials,
+ destination: request.destination,
+ integrity: request.integrity,
+ redirect: request.redirect,
+ referrer: request.referrer,
+ referrerPolicy: request.referrerPolicy,
+ body: await request.arrayBuffer(),
+ keepalive: request.keepalive,
+ }
+}
diff --git a/jobs/Frontend/public/no-image-placeholder.png b/jobs/Frontend/public/no-image-placeholder.png
new file mode 100644
index 0000000000..4d377cde56
Binary files /dev/null and b/jobs/Frontend/public/no-image-placeholder.png differ
diff --git a/jobs/Frontend/public/og-image.jpeg b/jobs/Frontend/public/og-image.jpeg
new file mode 100644
index 0000000000..5ec6cda441
Binary files /dev/null and b/jobs/Frontend/public/og-image.jpeg differ
diff --git a/jobs/Frontend/src/app.tsx b/jobs/Frontend/src/app.tsx
new file mode 100644
index 0000000000..111976fb74
--- /dev/null
+++ b/jobs/Frontend/src/app.tsx
@@ -0,0 +1,15 @@
+import React, { useMemo } from 'react'
+import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
+import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
+import { RouterProvider } from 'react-router-dom'
+import { createRouter } from './router'
+
+export default function App() {
+ const queryClient = useMemo(() => new QueryClient({}), [])
+ return (
+
+
+
+
+ )
+}
diff --git a/jobs/Frontend/src/assets/icons/detail.svg b/jobs/Frontend/src/assets/icons/detail.svg
new file mode 100644
index 0000000000..817d8b4713
--- /dev/null
+++ b/jobs/Frontend/src/assets/icons/detail.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/jobs/Frontend/src/components/ErrorPage/ErrorPage.tsx b/jobs/Frontend/src/components/ErrorPage/ErrorPage.tsx
new file mode 100644
index 0000000000..c082d23f7e
--- /dev/null
+++ b/jobs/Frontend/src/components/ErrorPage/ErrorPage.tsx
@@ -0,0 +1,22 @@
+import { useTranslation } from 'react-i18next'
+import { Link, useRouteError } from 'react-router-dom'
+import { Button } from '../ui/button'
+
+export default function ErrorPage() {
+ const error = useRouteError() as any
+ const { t } = useTranslation('notfound')
+
+ return (
+
+
{t('oops')}
+
{t('title')}
+
+ {error?.status}
+ {error?.statusText || error?.message}
+
+
+ {t('backtohomepage')}
+
+
+ )
+}
diff --git a/jobs/Frontend/src/components/Header/Header.tsx b/jobs/Frontend/src/components/Header/Header.tsx
new file mode 100644
index 0000000000..d2cd78f8a3
--- /dev/null
+++ b/jobs/Frontend/src/components/Header/Header.tsx
@@ -0,0 +1,32 @@
+import { ReactNode } from "react";
+import { LanguageSelector } from "../LanguageSelector/LanguageSelector";
+import { Button } from "../ui/button";
+import { useTranslation } from "react-i18next";
+import { Github } from "lucide-react";
+
+interface IProps {
+ leftNode?: ReactNode;
+}
+export function Header(props: IProps) {
+ const { t } = useTranslation();
+
+ return (
+
+ );
+}
diff --git a/jobs/Frontend/src/components/LanguageSelector/LanguageSelector.tsx b/jobs/Frontend/src/components/LanguageSelector/LanguageSelector.tsx
new file mode 100644
index 0000000000..9f4c047c9b
--- /dev/null
+++ b/jobs/Frontend/src/components/LanguageSelector/LanguageSelector.tsx
@@ -0,0 +1,63 @@
+import { useTranslation } from 'react-i18next'
+import { useCallback, useMemo } from 'react'
+import { Popover, PopoverArrow, PopoverContent, PopoverTrigger } from '../ui/popover'
+import { cn } from 'src/lib/utils'
+import { LANGUAGES } from 'src/i18n/config'
+import { Languages, ChevronDown } from 'lucide-react'
+import i18next from 'i18next'
+
+const getLocaleDisplayName = (locale: string, displayLocale?: string) => {
+ const displayName = new Intl.DisplayNames([displayLocale || locale], {
+ type: 'language',
+ }).of(locale)!
+ return displayName.charAt(0).toLocaleUpperCase() + displayName.slice(1)
+}
+
+const LanguageSelector = () => {
+ const { i18n } = useTranslation()
+
+ const localesAndNames = useMemo(() => {
+ return LANGUAGES.map((locale) => ({
+ locale,
+ name: getLocaleDisplayName(locale),
+ }))
+ }, [])
+
+ const languageChanged = useCallback(async (locale: any) => {
+ i18next.changeLanguage(locale)
+ }, [])
+
+ const { resolvedLanguage: currentLanguage } = i18n
+
+ return (
+
+
+
+
+
+ {currentLanguage && getLocaleDisplayName(currentLanguage)}
+
+
+
+
+
+ {localesAndNames.map(({ locale, name }) => {
+ const isSelected = currentLanguage === locale
+ return (
+ languageChanged(locale)}
+ className={cn(`relative w-auto cursor-pointer select-none px-4 py-2 text-black hover:bg-zinc-200`)}
+ >
+ {name}
+
+ )
+ })}
+
+
+
+
+ )
+}
+
+export { LanguageSelector }
diff --git a/jobs/Frontend/src/components/Main/Main.stories.tsx b/jobs/Frontend/src/components/Main/Main.stories.tsx
new file mode 100644
index 0000000000..af64462606
--- /dev/null
+++ b/jobs/Frontend/src/components/Main/Main.stories.tsx
@@ -0,0 +1,88 @@
+import { Meta, StoryObj } from "@storybook/react-vite/*";
+import { Main } from "./Main";
+import { expect, userEvent, within } from "storybook/internal/test";
+import { Route, Routes } from "react-router-dom";
+
+import {
+ MovieImagesResponse,
+ MovieMockedResponse,
+ MoviesMockedResponse,
+} from "./mockData";
+
+const handlers = [
+ MoviesMockedResponse,
+ MovieMockedResponse,
+ MovieImagesResponse,
+];
+
+const meta = {
+ component: Main,
+ args: {},
+ parameters: {
+ msw: {
+ handlers,
+ },
+ },
+} satisfies Meta;
+
+export default meta;
+
+type Story = StoryObj;
+
+export const Default = {
+ render: () => (
+
+ } />
+ } />
+
+ ),
+ play: async ({ canvas }) => {
+ await expect(await canvas.findByText("Movie search here:")).toBeVisible();
+
+ const search = await canvas.findByRole("textbox");
+
+ userEvent.type(search, "wick");
+
+ await expect(await canvas.findByText("Results:")).toBeVisible();
+
+ const listItems = await canvas.findAllByRole("listitem");
+
+ await userEvent.click(listItems!.at(0)!);
+
+ const movieDetailsPanel = await canvas.findByLabelText(
+ "Movie details panel"
+ );
+
+ await expect(movieDetailsPanel).toBeVisible();
+
+ await expect(
+ await within(movieDetailsPanel).findByRole("definition", {
+ name: "Movie Title:",
+ })
+ ).toHaveTextContent("Wick");
+
+ await expect(
+ await within(movieDetailsPanel).findByRole("definition", {
+ name: "Release date:",
+ })
+ ).toHaveTextContent("2023-07-27");
+
+ await expect(
+ await within(movieDetailsPanel).findByRole("definition", {
+ name: "Runtime:",
+ })
+ ).toHaveTextContent("2");
+
+ await expect(
+ await within(movieDetailsPanel).findByRole("list", {
+ name: "Genres",
+ })
+ ).toHaveTextContent("Animation");
+
+ await expect(
+ await within(movieDetailsPanel).findByRole("list", {
+ name: "Production Countries",
+ })
+ ).toHaveTextContent("FranceUnited Kingdom");
+ },
+} satisfies Story;
diff --git a/jobs/Frontend/src/components/Main/Main.tsx b/jobs/Frontend/src/components/Main/Main.tsx
new file mode 100644
index 0000000000..6de72c3574
--- /dev/null
+++ b/jobs/Frontend/src/components/Main/Main.tsx
@@ -0,0 +1,84 @@
+import { useEffect, useState } from "react";
+import { useNavigate, useParams, useSearchParams } from "react-router-dom";
+import { SearchIcon } from "lucide-react";
+
+import { Button } from "../ui/button";
+import { Input } from "../ui/input";
+import { SearchResults } from "../Search/Search";
+import { useDebounce } from "src/lib/utils";
+import useMovies from "src/hooks/useMovies";
+import useMovieDetails from "src/hooks/useMovieDetails";
+import { MovieDetails } from "../Movies/MovieDetails";
+import { useQueryClient } from "@tanstack/react-query";
+
+export const Main = () => {
+ const [searchParams, setSearchParams] = useSearchParams();
+
+ const initialQuery = searchParams.get("search") || "";
+ const [search, setSearch] = useState(initialQuery);
+
+ const { movieId } = useParams<{ movieId: string }>();
+
+ const debouncedSearch = useDebounce(search, 500);
+
+ const movies = useMovies(
+ searchParams.get("search") ?? debouncedSearch,
+ searchParams.get("page") ?? "1"
+ );
+ const movieDetails = useMovieDetails(movieId!);
+
+ const navigate = useNavigate();
+
+ useEffect(() => {
+ if (debouncedSearch) {
+ setSearchParams({
+ search: debouncedSearch,
+ page: "1",
+ });
+ } else {
+ setSearchParams({});
+ }
+ }, [debouncedSearch]);
+
+ useEffect(() => {
+ setSearch(searchParams.get("search")!);
+ }, [setSearchParams]);
+
+ return (
+
+
+
+
+
+ setSearch(e.target.value)}
+ className="h-full rounded-sm !text-lg"
+ value={search ?? ""}
+ />
+
+
+
{
+ navigate("/", { replace: false });
+ }}
+ >
+ Clear search
+
+
+
+
+
+
+ );
+};
diff --git a/jobs/Frontend/src/components/Main/mockData.ts b/jobs/Frontend/src/components/Main/mockData.ts
new file mode 100644
index 0000000000..bb5aeb41f1
--- /dev/null
+++ b/jobs/Frontend/src/components/Main/mockData.ts
@@ -0,0 +1,111 @@
+import { http, HttpResponse } from "msw";
+
+export const MoviesMockedResponse = http.get(
+ "https://api.themoviedb.org/3/search/movie",
+ () => {
+ return HttpResponse.json({
+ page: 1,
+ total_pages: 19,
+ total_results: 369,
+ results: [
+ {
+ adult: false,
+ backdrop_path: null,
+ belongs_to_collection: null,
+ budget: 0,
+ genres: [
+ {
+ id: 16,
+ name: "Animation",
+ },
+ ],
+ homepage: "https://fionavp.weebly.com/wick2023.html",
+ id: 1390246,
+ imdb_id: null,
+ origin_country: ["FR"],
+ original_language: "en",
+ original_title: "Wick",
+ overview:
+ "On a dark, stormy night a treasure hunter falls victim to his greed - and some very bad luck.",
+ popularity: 0.0143,
+ poster_path: "/6zpc3rYTS44hJkUVvNQ9h8Lw50T.jpg",
+ production_companies: [],
+ production_countries: [
+ {
+ iso_3166_1: "FR",
+ name: "France",
+ },
+ {
+ iso_3166_1: "GB",
+ name: "United Kingdom",
+ },
+ ],
+ release_date: "2023-07-27",
+ revenue: 0,
+ runtime: 2,
+ spoken_languages: [],
+ status: "Released",
+ tagline: "",
+ title: "Wick",
+ video: false,
+ vote_average: 0,
+ vote_count: 0,
+ },
+ ],
+ });
+ }
+);
+
+export const MovieMockedResponse = http.get(
+ "https://api.themoviedb.org/3/movie/:movieId",
+ () => {
+ return HttpResponse.json({
+ adult: false,
+ backdrop_path: null,
+ belongs_to_collection: null,
+ budget: 0,
+ genres: [
+ {
+ id: 16,
+ name: "Animation",
+ },
+ ],
+ homepage: "https://fionavp.weebly.com/wick2023.html",
+ id: 1390246,
+ imdb_id: null,
+ origin_country: ["FR"],
+ original_language: "en",
+ original_title: "Wick",
+ overview:
+ "On a dark, stormy night a treasure hunter falls victim to his greed - and some very bad luck.",
+ popularity: 0.0143,
+ poster_path: "/6zpc3rYTS44hJkUVvNQ9h8Lw50T.jpg",
+ production_companies: [],
+ production_countries: [
+ {
+ iso_3166_1: "FR",
+ name: "France",
+ },
+ {
+ iso_3166_1: "GB",
+ name: "United Kingdom",
+ },
+ ],
+ release_date: "2023-07-27",
+ revenue: 0,
+ runtime: 2,
+ spoken_languages: [],
+ status: "Released",
+ tagline: "",
+ title: "Wick",
+ video: false,
+ vote_average: 0.0,
+ vote_count: 0,
+ });
+ }
+);
+
+export const MovieImagesResponse = http.get(
+ "https://image.tmdb.org/t/p/original/*",
+ () => new HttpResponse(null, { status: 200 })
+);
diff --git a/jobs/Frontend/src/components/Movies/DataPoint.tsx b/jobs/Frontend/src/components/Movies/DataPoint.tsx
new file mode 100644
index 0000000000..d327a3c94e
--- /dev/null
+++ b/jobs/Frontend/src/components/Movies/DataPoint.tsx
@@ -0,0 +1,19 @@
+import { useId } from "react";
+
+export const DataPoint = ({
+ title,
+ value,
+}: {
+ title: string;
+ value: string | number | undefined;
+}) => {
+ const id = useId();
+ return (
+
+
+ {title}:
+ {" "}
+ {value}
+
+ );
+};
diff --git a/jobs/Frontend/src/components/Movies/DetailLists.tsx b/jobs/Frontend/src/components/Movies/DetailLists.tsx
new file mode 100644
index 0000000000..aa30f08826
--- /dev/null
+++ b/jobs/Frontend/src/components/Movies/DetailLists.tsx
@@ -0,0 +1,23 @@
+import {
+ MovieDetailGenres,
+ MovieDetailProductionCountries,
+} from "src/types/custom";
+
+export const DetailLists = ({
+ title,
+ data,
+}: {
+ title: string;
+ data: MovieDetailProductionCountries | MovieDetailGenres;
+}) => {
+ return (
+ <>
+ {title}:
+
+ {data?.map((d) => (
+ {d.name}
+ ))}
+
+ >
+ );
+};
diff --git a/jobs/Frontend/src/components/Movies/MovieDetails.tsx b/jobs/Frontend/src/components/Movies/MovieDetails.tsx
new file mode 100644
index 0000000000..2956c6a28e
--- /dev/null
+++ b/jobs/Frontend/src/components/Movies/MovieDetails.tsx
@@ -0,0 +1,73 @@
+import { Loader2Icon } from "lucide-react";
+import { Card, CardContent, CardFooter } from "../ui/card";
+import { MovieDetailsResponse, MovieSearchResponse } from "src/types/custom";
+import { DetailLists } from "./DetailLists";
+import { DataPoint } from "./DataPoint";
+
+type SearchTypes = {
+ data?: MovieDetailsResponse;
+ error: unknown;
+ isLoading: boolean;
+ isFetching: boolean;
+};
+
+export const MovieDetails = ({
+ movieDetails,
+}: {
+ movieDetails: SearchTypes;
+}) => {
+ const movie = movieDetails.data;
+
+ return (
+ <>
+ {movie ? (
+
+ {/*
+ {movie?.original_title} Details:
+ */}
+
+
+ {movie.poster_path ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+
+
+ ) : (
+
+ )}
+ >
+ );
+};
+
+const Placeholder = ({ loading }: { loading: boolean }) => {
+ return (
+
+
Movie details here:
+ {loading && (
+
+ )}
+
+ );
+};
diff --git a/jobs/Frontend/src/components/Search/Search.tsx b/jobs/Frontend/src/components/Search/Search.tsx
new file mode 100644
index 0000000000..a77ab4b5cd
--- /dev/null
+++ b/jobs/Frontend/src/components/Search/Search.tsx
@@ -0,0 +1,88 @@
+import { Loader2Icon } from "lucide-react";
+import { Card, CardContent, CardFooter } from "../ui/card";
+import { MovieSearchResponse } from "src/types/custom";
+
+import { useNavigate, useSearchParams } from "react-router-dom";
+import { SearchPagination } from "./SearchPagination";
+
+type SearchTypes = {
+ data?: MovieSearchResponse;
+ error: unknown;
+ isLoading: boolean;
+ isFetching: boolean;
+};
+
+export const SearchResults = ({ movies }: { movies: SearchTypes }) => {
+ const navigate = useNavigate();
+
+ const [searchParams] = useSearchParams();
+
+ return (
+ <>
+ {movies.data ? (
+
+ Results:
+
+ {movies.data && (
+
+ {movies?.data?.results?.map((m) => {
+ return (
+ {
+ navigate({
+ pathname: `/${m.id}`,
+ search: `?search=${searchParams.get(
+ "search"
+ )}&page=${searchParams.get("page")}`,
+ });
+ }}
+ >
+ {m.poster_path ? (
+
+ ) : (
+
+ )}
+
+
{m.title}
+
{m.overview}
+
+ {m.release_date}
+
+
+
+ );
+ })}
+
+ )}
+
+
+ {movies.data && }
+
+
+ ) : (
+
+ )}
+ >
+ );
+};
+
+const Placeholder = ({ loading }: { loading: boolean }) => {
+ return (
+
+
Movie search here:
+ {loading && (
+
+ )}
+
+ );
+};
diff --git a/jobs/Frontend/src/components/Search/SearchPagination.tsx b/jobs/Frontend/src/components/Search/SearchPagination.tsx
new file mode 100644
index 0000000000..1c64f17a49
--- /dev/null
+++ b/jobs/Frontend/src/components/Search/SearchPagination.tsx
@@ -0,0 +1,130 @@
+import { MovieSearchResponse } from "src/types/custom";
+import {
+ Pagination,
+ PaginationContent,
+ PaginationItem,
+ PaginationLink,
+ PaginationNext,
+ PaginationPrevious,
+} from "../ui/pagination";
+import { useSearchParams } from "react-router-dom";
+
+export const SearchPagination = ({ data }: { data: MovieSearchResponse }) => {
+ let [searchParams, setSearchParams] = useSearchParams();
+
+ const currentPage = parseInt(searchParams.get("page")!);
+ const totalPages = data?.total_pages;
+
+ const previousActive = currentPage > 1;
+ const nextActive = currentPage < totalPages;
+
+ const pages = getPages(totalPages, currentPage);
+
+ return (
+
+
+
+ {
+ if (currentPage > 1)
+ setSearchParams(
+ (prev) => {
+ const newParams = new URLSearchParams(prev);
+ newParams.set("page", (currentPage - 1).toString());
+ return newParams;
+ },
+ { replace: false }
+ );
+ }}
+ >
+
+
+ {pages.map(
+ ({ displayValue, isSelectable, pageNumber, pageIndex }, index) => (
+
+ {pageNumber === currentPage}
+
+ isSelectable &&
+ setSearchParams(
+ (prev) => {
+ const newParams = new URLSearchParams(prev);
+ newParams.set("page", pageNumber?.toString()!);
+ return newParams;
+ },
+ { replace: false }
+ )
+ }
+ >
+ {displayValue}
+
+
+ )
+ )}
+
+
+ {
+ if (currentPage < totalPages)
+ setSearchParams(
+ (prev) => {
+ const newParams = new URLSearchParams(prev);
+ newParams.set("page", (currentPage + 1).toString());
+ return newParams;
+ },
+ { replace: false }
+ );
+ }}
+ />
+
+
+
+ );
+};
+
+const pageNumberToObject = (pageNumber: number) => ({
+ displayValue: pageNumber.toString(),
+ pageNumber,
+ pageIndex: pageNumber - 1,
+ isSelectable: true,
+});
+
+const getPages = (
+ totalPages: number,
+ currentPage: number
+): {
+ displayValue: string;
+ isSelectable: boolean;
+ pageNumber?: number;
+ pageIndex?: number;
+}[] => {
+ const placeholder = {
+ displayValue: "_",
+ isSelectable: false,
+ };
+
+ if (totalPages <= 6) {
+ return Array.from(Array(totalPages).keys()).map((key) =>
+ pageNumberToObject(key + 1)
+ );
+ }
+
+ if (currentPage <= 3 || currentPage >= totalPages - 2) {
+ return [
+ ...[1, 2, 3].map(pageNumberToObject),
+ placeholder,
+ ...[totalPages - 2, totalPages - 1, totalPages].map(pageNumberToObject),
+ ];
+ }
+
+ return [
+ ...[1, 2].map(pageNumberToObject),
+ placeholder,
+ pageNumberToObject(currentPage),
+ placeholder,
+ ...[totalPages - 1, totalPages].map(pageNumberToObject),
+ ];
+};
diff --git a/jobs/Frontend/src/components/layout/index.tsx b/jobs/Frontend/src/components/layout/index.tsx
new file mode 100644
index 0000000000..df12510505
--- /dev/null
+++ b/jobs/Frontend/src/components/layout/index.tsx
@@ -0,0 +1,13 @@
+import React from "react";
+import { Header } from "../Header/Header";
+
+export const getNoneLayout = (page: React.ReactElement) => page;
+
+export const getDefaultLayout = (page: React.ReactElement) => {
+ return (
+
+
+ {page}
+
+ );
+};
diff --git a/jobs/Frontend/src/components/ui/button.tsx b/jobs/Frontend/src/components/ui/button.tsx
new file mode 100644
index 0000000000..e258bf0dfb
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/button.tsx
@@ -0,0 +1,48 @@
+import * as React from 'react'
+import { Slot } from '@radix-ui/react-slot'
+import { cva, type VariantProps } from 'class-variance-authority'
+
+import { cn } from 'src/lib/utils'
+import { PropsWithChildren } from 'react'
+
+const buttonVariants = cva(
+ 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',
+ {
+ variants: {
+ variant: {
+ default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',
+ destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',
+ outline: 'border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground',
+ secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',
+ ghost: 'hover:bg-accent hover:text-accent-foreground',
+ link: 'text-primary underline-offset-4 hover:underline',
+ },
+ size: {
+ default: 'h-9 px-4 py-2',
+ sm: 'h-8 rounded-md px-3 text-xs',
+ lg: 'h-10 rounded-md px-8',
+ icon: 'h-9 w-9',
+ },
+ },
+ defaultVariants: {
+ variant: 'default',
+ size: 'default',
+ },
+ },
+)
+
+export interface ButtonProps
+ extends React.ButtonHTMLAttributes,
+ VariantProps {
+ asChild?: boolean
+}
+
+const Button = React.forwardRef>(
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : 'button'
+ return
+ },
+)
+Button.displayName = 'Button'
+
+export { Button, buttonVariants }
diff --git a/jobs/Frontend/src/components/ui/card.tsx b/jobs/Frontend/src/components/ui/card.tsx
new file mode 100644
index 0000000000..1a2292bf34
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/card.tsx
@@ -0,0 +1,79 @@
+import * as React from "react"
+
+import { cn } from "src/lib/utils"
+
+const Card = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+Card.displayName = "Card"
+
+const CardHeader = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardHeader.displayName = "CardHeader"
+
+const CardTitle = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardTitle.displayName = "CardTitle"
+
+const CardDescription = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardDescription.displayName = "CardDescription"
+
+const CardContent = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardContent.displayName = "CardContent"
+
+const CardFooter = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardFooter.displayName = "CardFooter"
+
+export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
diff --git a/jobs/Frontend/src/components/ui/input.tsx b/jobs/Frontend/src/components/ui/input.tsx
new file mode 100644
index 0000000000..b0370817a1
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/input.tsx
@@ -0,0 +1,22 @@
+import * as React from "react"
+
+import { cn } from "src/lib/utils"
+
+const Input = React.forwardRef>(
+ ({ className, type, ...props }, ref) => {
+ return (
+
+ )
+ }
+)
+Input.displayName = "Input"
+
+export { Input }
diff --git a/jobs/Frontend/src/components/ui/navigation-menu.tsx b/jobs/Frontend/src/components/ui/navigation-menu.tsx
new file mode 100644
index 0000000000..57c46b6d30
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/navigation-menu.tsx
@@ -0,0 +1,128 @@
+import * as React from "react"
+import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"
+import { cva } from "class-variance-authority"
+import { ChevronDown } from "lucide-react"
+
+import { cn } from "src/lib/utils"
+
+const NavigationMenu = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+ {children}
+
+
+))
+NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName
+
+const NavigationMenuList = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName
+
+const NavigationMenuItem = NavigationMenuPrimitive.Item
+
+const navigationMenuTriggerStyle = cva(
+ "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
+)
+
+const NavigationMenuTrigger = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, children, ...props }, ref) => (
+
+ {children}{" "}
+
+
+))
+NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName
+
+const NavigationMenuContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName
+
+const NavigationMenuLink = NavigationMenuPrimitive.Link
+
+const NavigationMenuViewport = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+))
+NavigationMenuViewport.displayName =
+ NavigationMenuPrimitive.Viewport.displayName
+
+const NavigationMenuIndicator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+
+
+))
+NavigationMenuIndicator.displayName =
+ NavigationMenuPrimitive.Indicator.displayName
+
+export {
+ navigationMenuTriggerStyle,
+ NavigationMenu,
+ NavigationMenuList,
+ NavigationMenuItem,
+ NavigationMenuContent,
+ NavigationMenuTrigger,
+ NavigationMenuLink,
+ NavigationMenuIndicator,
+ NavigationMenuViewport,
+}
diff --git a/jobs/Frontend/src/components/ui/pagination.tsx b/jobs/Frontend/src/components/ui/pagination.tsx
new file mode 100644
index 0000000000..8536b1dd0a
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/pagination.tsx
@@ -0,0 +1,117 @@
+import * as React from "react";
+import { ChevronLeft, ChevronRight, MoreHorizontal } from "lucide-react";
+
+import { cn } from "src/lib/utils";
+import { ButtonProps, buttonVariants } from "src/components/ui/button";
+
+const Pagination = ({ className, ...props }: React.ComponentProps<"nav">) => (
+
+);
+Pagination.displayName = "Pagination";
+
+const PaginationContent = React.forwardRef<
+ HTMLUListElement,
+ React.ComponentProps<"ul">
+>(({ className, ...props }, ref) => (
+
+));
+PaginationContent.displayName = "PaginationContent";
+
+const PaginationItem = React.forwardRef<
+ HTMLLIElement,
+ React.ComponentProps<"li">
+>(({ className, ...props }, ref) => (
+
+));
+PaginationItem.displayName = "PaginationItem";
+
+type PaginationLinkProps = {
+ isActive?: boolean;
+} & Pick &
+ React.ComponentProps<"a">;
+
+const PaginationLink = ({
+ className,
+ isActive,
+ size = "icon",
+ ...props
+}: PaginationLinkProps) => (
+
+);
+PaginationLink.displayName = "PaginationLink";
+
+const PaginationPrevious = ({
+ className,
+ ...props
+}: React.ComponentProps) => (
+
+
+ Previous
+
+);
+PaginationPrevious.displayName = "PaginationPrevious";
+
+const PaginationNext = ({
+ className,
+ ...props
+}: React.ComponentProps) => (
+
+ Next
+
+
+);
+PaginationNext.displayName = "PaginationNext";
+
+const PaginationEllipsis = ({
+ className,
+ ...props
+}: React.ComponentProps<"span">) => (
+
+
+ More pages
+
+);
+PaginationEllipsis.displayName = "PaginationEllipsis";
+
+export {
+ Pagination,
+ PaginationContent,
+ PaginationEllipsis,
+ PaginationItem,
+ PaginationLink,
+ PaginationNext,
+ PaginationPrevious,
+};
diff --git a/jobs/Frontend/src/components/ui/popover.tsx b/jobs/Frontend/src/components/ui/popover.tsx
new file mode 100644
index 0000000000..fe4074343e
--- /dev/null
+++ b/jobs/Frontend/src/components/ui/popover.tsx
@@ -0,0 +1,31 @@
+import * as React from 'react'
+import * as PopoverPrimitive from '@radix-ui/react-popover'
+
+import { cn } from 'src/lib/utils'
+
+const Popover = PopoverPrimitive.Root
+
+const PopoverTrigger = PopoverPrimitive.Trigger
+
+const PopoverArrow = PopoverPrimitive.Arrow
+
+const PopoverContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (
+
+
+
+))
+PopoverContent.displayName = PopoverPrimitive.Content.displayName
+
+export { Popover, PopoverTrigger, PopoverContent, PopoverArrow }
diff --git a/jobs/Frontend/src/hooks/useMovieDetails.ts b/jobs/Frontend/src/hooks/useMovieDetails.ts
new file mode 100644
index 0000000000..c5ce4b9888
--- /dev/null
+++ b/jobs/Frontend/src/hooks/useMovieDetails.ts
@@ -0,0 +1,19 @@
+import { useQuery } from "@tanstack/react-query";
+import { queryMovieDetails } from "src/lib/api";
+
+const useMovieDetails = (movieId: string) => {
+ const { data, error, isLoading, isFetching } = useQuery({
+ queryKey: ["movieDetails", movieId],
+ queryFn: () => queryMovieDetails(movieId),
+ enabled: !!movieId,
+ });
+
+ return {
+ data,
+ error,
+ isLoading,
+ isFetching,
+ };
+};
+
+export default useMovieDetails;
diff --git a/jobs/Frontend/src/hooks/useMovies.ts b/jobs/Frontend/src/hooks/useMovies.ts
new file mode 100644
index 0000000000..fef6a6166f
--- /dev/null
+++ b/jobs/Frontend/src/hooks/useMovies.ts
@@ -0,0 +1,20 @@
+import { useQuery } from "@tanstack/react-query";
+import { queryMovies } from "src/lib/api";
+
+const useMovies = (query: string, page: string) => {
+ const { data, error, isLoading, isFetching } = useQuery({
+ queryKey: ["movies", query, page],
+ queryFn: () => queryMovies(query, page),
+ enabled: !!query,
+ staleTime: 10000, // can be set to whatever makes sense given the context
+ });
+
+ return {
+ data,
+ error,
+ isLoading,
+ isFetching,
+ };
+};
+
+export default useMovies;
diff --git a/jobs/Frontend/src/i18n/config.ts b/jobs/Frontend/src/i18n/config.ts
new file mode 100644
index 0000000000..c32393088f
--- /dev/null
+++ b/jobs/Frontend/src/i18n/config.ts
@@ -0,0 +1,28 @@
+import i18next from 'i18next'
+import { initReactI18next } from 'react-i18next'
+import LanguageDetector from 'i18next-browser-languagedetector'
+import resourcesToBackend from 'i18next-resources-to-backend'
+
+export const LANGUAGES = ['en', 'de', 'fr', 'es', 'zh-Hans', 'zh-Hant', 'ja', 'ko', 'pt', 'it', 'ru']
+
+i18next
+ .use(LanguageDetector)
+ .use(initReactI18next)
+ .use(
+ resourcesToBackend((language: string, namespace: string) => {
+ // no reason there is a language called 'dev', just passed it away
+ if (language === 'dev') return
+ return import(`./locales/${language}/${namespace}.json`)
+ }),
+ )
+ .init({
+ debug: true,
+ fallbackLng: {
+ zh: ['zh-Hans'],
+ ['zh-CN']: ['zh-Hans'],
+ ['zh-HK']: ['zh-Hant'],
+ ['zh-TW']: ['zh-Hant'],
+ 'de-CH': ['fr', 'it'],
+ default: ['en'],
+ },
+ })
diff --git a/jobs/Frontend/src/i18n/locales/de/notfound.json b/jobs/Frontend/src/i18n/locales/de/notfound.json
new file mode 100644
index 0000000000..14af170b7b
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/de/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Hoppla!",
+ "title": "Entschuldigung, es ist ein unerwarteter Fehler aufgetreten.",
+ "backtohomepage": "Zurück zur Startseite"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/de/translation.json b/jobs/Frontend/src/i18n/locales/de/translation.json
new file mode 100644
index 0000000000..6d2fefa2f9
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/de/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Funktionen",
+ "modernstack": "Moderne und effiziente Technologie-Stack",
+ "modernstack-desc": "Erstellt mit Vite, React, Tailwindcss, Shadcnui und mehr",
+ "i18nsupport": "Out-of-the-box i18n-Unterstützung",
+ "i18nsupport-desc": "Liefern Sie Ihr Produkt nativ in verschiedenen Sprachen aus",
+ "linters": "Linten aller Codes beim Speichern",
+ "linters-desc": "Erstellt mit Eslint, Prettier, Stylelint, Commitlint",
+ "hero-title": "Apps mit der besten DX, die wir lieben, entwickeln",
+ "get-started": "Loslegen"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/en/notfound.json b/jobs/Frontend/src/i18n/locales/en/notfound.json
new file mode 100644
index 0000000000..da0913cd35
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/en/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Oops!",
+ "title": "Sorry, an unexpected error has occurred.",
+ "backtohomepage": "Back to home page"
+}
diff --git a/jobs/Frontend/src/i18n/locales/en/translation.json b/jobs/Frontend/src/i18n/locales/en/translation.json
new file mode 100644
index 0000000000..4c35df9144
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/en/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Features",
+ "modernstack": "Modern and efficient stack",
+ "modernstack-desc": "Built with Vite, React, Tailwind CSS, Shadcnui, and more",
+ "i18nsupport": "i18n support out of the box",
+ "i18nsupport-desc": "Ship your product with different languages natively",
+ "linters": "Lint all code at save",
+ "linters-desc": "Built with ESLint, Prettier, Stylelint, and Commitlint",
+ "hero-title": "Building Apps with the best DX we love",
+ "get-started": "Get Started"
+}
diff --git a/jobs/Frontend/src/i18n/locales/es/notfound.json b/jobs/Frontend/src/i18n/locales/es/notfound.json
new file mode 100644
index 0000000000..a6986a46f6
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/es/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "¡Ups!",
+ "title": "Lo sentimos, ha ocurrido un error inesperado.",
+ "backtohomepage": "Volver a la página de inicio"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/es/translation.json b/jobs/Frontend/src/i18n/locales/es/translation.json
new file mode 100644
index 0000000000..a9588f7945
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/es/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Características",
+ "modernstack": "Pila moderna y eficiente",
+ "modernstack-desc": "Construido con vite, react, tailwindcss, shadcnui y más",
+ "i18nsupport": "Soporte i18n de serie",
+ "i18nsupport-desc": "Envía tu producto con diferentes idiomas de forma nativa",
+ "linters": "Linters para todo el código al guardar",
+ "linters-desc": "Construido con eslint, prettier, stylelint, commitlint",
+ "hero-title": "Construye aplicaciones con la mejor experiencia de desarrollo que amamos",
+ "get-started": "Empezar"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/fr/notfound.json b/jobs/Frontend/src/i18n/locales/fr/notfound.json
new file mode 100644
index 0000000000..c27051a624
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/fr/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Oops !",
+ "title": "Désolé, une erreur inattendue s'est produite.",
+ "backtohomepage": "Retour à la page d'accueil"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/fr/translation.json b/jobs/Frontend/src/i18n/locales/fr/translation.json
new file mode 100644
index 0000000000..898a1bf0d7
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/fr/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Fonctionnalités",
+ "modernstack": "Stack moderne et efficace",
+ "modernstack-desc": "Construit avec vite, react, tailwindcss, shadcnui et plus encore",
+ "i18nsupport": "Support i18n intégré",
+ "i18nsupport-desc": "Expédiez votre produit avec différentes langues nativement",
+ "linters": "Vérifier tous les codes à la sauvegarde",
+ "linters-desc": "Construit avec eslint, prettier, stylelint, commitlint",
+ "hero-title": "Créez des applications avec la meilleure expérience de développement que nous aimons",
+ "get-started": "Commencer"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/it/notfound.json b/jobs/Frontend/src/i18n/locales/it/notfound.json
new file mode 100644
index 0000000000..95e4f6aaa8
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/it/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Ops!",
+ "title": "Spiacenti, si è verificato un errore imprevisto.",
+ "backtohomepage": "Torna alla pagina principale"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/it/translation.json b/jobs/Frontend/src/i18n/locales/it/translation.json
new file mode 100644
index 0000000000..e798c8900d
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/it/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Caratteristiche",
+ "modernstack": "Stack moderno ed efficiente",
+ "modernstack-desc": "Realizzato con vite, react, tailwindcss, shadcnui e altro",
+ "i18nsupport": "Supporto i18n integrato",
+ "i18nsupport-desc": "Distribuisci il tuo prodotto con diverse lingue in modo nativo",
+ "linters": "Verifica tutti i codici al salvataggio",
+ "linters-desc": "Realizzato con eslint, prettier, stylelint, commitlint",
+ "hero-title": "Costruisci app con la migliore DX che amiamo",
+ "get-started": "Inizia"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ja/notfound.json b/jobs/Frontend/src/i18n/locales/ja/notfound.json
new file mode 100644
index 0000000000..28f0ed1ae8
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ja/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "おっと!",
+ "title": "申し訳ありません、予期しないエラーが発生しました。",
+ "backtohomepage": "ホームページに戻る"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ja/translation.json b/jobs/Frontend/src/i18n/locales/ja/translation.json
new file mode 100644
index 0000000000..f1d2da021c
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ja/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind スターター",
+ "features": "特徴",
+ "modernstack": "モダンで効率的なスタック",
+ "modernstack-desc": "vite、react、tailwindcss、shadcnuiなどで構築されています",
+ "i18nsupport": "ボックス内のi18nサポート",
+ "i18nsupport-desc": "さまざまな言語で製品をネイティブに提供します",
+ "linters": "保存時にすべてのコードをリント",
+ "linters-desc": "eslint、prettier、stylelint、commitlintで構築されています",
+ "hero-title": "最高のDXでアプリを構築する",
+ "get-started": "はじめる"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ko/notfound.json b/jobs/Frontend/src/i18n/locales/ko/notfound.json
new file mode 100644
index 0000000000..7bf558d227
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ko/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "이런!",
+ "title": "죄송합니다, 예기치 않은 오류가 발생했습니다.",
+ "backtohomepage": "홈페이지로 돌아가기"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ko/translation.json b/jobs/Frontend/src/i18n/locales/ko/translation.json
new file mode 100644
index 0000000000..09a0d0a422
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ko/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "기능",
+ "modernstack": "현대적이고 효율적인 스택",
+ "modernstack-desc": "vite, react, tailwindcss, shadcnui 등으로 구축되었습니다",
+ "i18nsupport": "i18n 지원 기능",
+ "i18nsupport-desc": "다국어로 제품을 네이티브로 제공하세요",
+ "linters": "저장 시 모든 코드를 린트합니다",
+ "linters-desc": "eslint, prettier, stylelint, commitlint로 구축되었습니다",
+ "hero-title": "우리가 사랑하는 최고의 DX로 앱을 개발하세요",
+ "get-started": "시작하기"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/pt/notfound.json b/jobs/Frontend/src/i18n/locales/pt/notfound.json
new file mode 100644
index 0000000000..b6663daa79
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/pt/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Ops!",
+ "title": "Desculpe, ocorreu um erro inesperado.",
+ "backtohomepage": "Voltar para a página inicial"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/pt/translation.json b/jobs/Frontend/src/i18n/locales/pt/translation.json
new file mode 100644
index 0000000000..ed58d179e9
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/pt/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Recursos",
+ "modernstack": "Pilha moderna e eficiente",
+ "modernstack-desc": "Construído com vite, react, tailwindcss, shadcnui e mais",
+ "i18nsupport": "Suporte i18n pronto para uso",
+ "i18nsupport-desc": "Envie seu produto com diferentes idiomas nativamente",
+ "linters": "Verificar todos os códigos ao salvar",
+ "linters-desc": "Construído com eslint, prettier, stylelint, commitlint",
+ "hero-title": "Construindo aplicativos com a melhor experiência de desenvolvimento que amamos",
+ "get-started": "Começar"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ru/notfound.json b/jobs/Frontend/src/i18n/locales/ru/notfound.json
new file mode 100644
index 0000000000..53a9e75844
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ru/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "Упс!",
+ "title": "Извините, произошла непредвиденная ошибка.",
+ "backtohomepage": "Вернуться на главную страницу"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/ru/translation.json b/jobs/Frontend/src/i18n/locales/ru/translation.json
new file mode 100644
index 0000000000..ee6d07ddd7
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/ru/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "Особенности",
+ "modernstack": "Современный и эффективный стек",
+ "modernstack-desc": "Построен с использованием vite, react, tailwindcss, shadcnui и других",
+ "i18nsupport": "Поддержка i18n из коробки",
+ "i18nsupport-desc": "Поставляйте свой продукт с поддержкой разных языков на родном уровне",
+ "linters": "Проверка кода при сохранении",
+ "linters-desc": "Построен с использованием eslint, prettier, stylelint, commitlint",
+ "hero-title": "Создание приложений с лучшим DX, которую мы любим",
+ "get-started": "Начать"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/zh-Hans/notfound.json b/jobs/Frontend/src/i18n/locales/zh-Hans/notfound.json
new file mode 100644
index 0000000000..4f9161f0c2
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/zh-Hans/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "哎呀!",
+ "title": "抱歉,发生了意外错误。",
+ "backtohomepage": "返回首页"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/zh-Hans/translation.json b/jobs/Frontend/src/i18n/locales/zh-Hans/translation.json
new file mode 100644
index 0000000000..99cda6f92d
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/zh-Hans/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "特点",
+ "modernstack": "现代高效的技术栈",
+ "modernstack-desc": "使用 vite、react、tailwindcss、shadcnui 等构建",
+ "i18nsupport": "开箱即用的国际化支持",
+ "i18nsupport-desc": "本地化地提供多种语言的产品",
+ "linters": "保存时检查所有代码",
+ "linters-desc": "使用 eslint、prettier、stylelint、commitlint 构建",
+ "hero-title": "使用我们喜爱的最佳开发体验构建应用",
+ "get-started": "开始"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/zh-Hant/notfound.json b/jobs/Frontend/src/i18n/locales/zh-Hant/notfound.json
new file mode 100644
index 0000000000..0f432c5217
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/zh-Hant/notfound.json
@@ -0,0 +1,5 @@
+{
+ "oops": "哎呀!",
+ "title": "抱歉,發生了意外錯誤。",
+ "backtohomepage": "返回首頁"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/i18n/locales/zh-Hant/translation.json b/jobs/Frontend/src/i18n/locales/zh-Hant/translation.json
new file mode 100644
index 0000000000..60600e0236
--- /dev/null
+++ b/jobs/Frontend/src/i18n/locales/zh-Hant/translation.json
@@ -0,0 +1,12 @@
+{
+ "title": "Vite React Tailwind Starter",
+ "features": "功能",
+ "modernstack": "現代且高效的堆疊",
+ "modernstack-desc": "使用 vite、react、tailwindcss、shadcnui 等建構",
+ "i18nsupport": "內建 i18n 支援",
+ "i18nsupport-desc": "原生支援多種語言的產品",
+ "linters": "保存時檢查所有程式碼",
+ "linters-desc": "使用 eslint、prettier、stylelint、commitlint 建構",
+ "hero-title": "使用我們喜愛的最佳 DX 建構應用程式",
+ "get-started": "開始使用"
+}
\ No newline at end of file
diff --git a/jobs/Frontend/src/lib/api.ts b/jobs/Frontend/src/lib/api.ts
new file mode 100644
index 0000000000..a1b802b99e
--- /dev/null
+++ b/jobs/Frontend/src/lib/api.ts
@@ -0,0 +1,31 @@
+import { MovieDetailsResponse, MovieSearchResponse } from "../types/custom";
+
+const token = import.meta.env.VITE_TMDB_API_TOKEN;
+
+export const queryMovies = async (query: string, page: string) => {
+ const url = `https://api.themoviedb.org/3/search/movie?query=${query}&page=${page}`;
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ });
+
+ const result: MovieSearchResponse = await response.json();
+
+ return result;
+};
+
+export const queryMovieDetails = async (movieId: string) => {
+ const url = `https://api.themoviedb.org/3/movie/${movieId}`;
+ const response = await fetch(url, {
+ method: "GET",
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ });
+
+ const result: MovieDetailsResponse = await response.json();
+
+ return result;
+};
diff --git a/jobs/Frontend/src/lib/env.ts b/jobs/Frontend/src/lib/env.ts
new file mode 100644
index 0000000000..bc191ef13c
--- /dev/null
+++ b/jobs/Frontend/src/lib/env.ts
@@ -0,0 +1,3 @@
+export const getEnv = () => import.meta.env.MODE
+
+export const isLocal = import.meta.env.DEV
diff --git a/jobs/Frontend/src/lib/utils.ts b/jobs/Frontend/src/lib/utils.ts
new file mode 100644
index 0000000000..5435288764
--- /dev/null
+++ b/jobs/Frontend/src/lib/utils.ts
@@ -0,0 +1,20 @@
+import { type ClassValue, clsx } from "clsx";
+import { useEffect, useState } from "react";
+import { twMerge } from "tailwind-merge";
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
+
+export function useDebounce(value: string, delay: number) {
+ const [debouncedValue, setDebouncedValue] = useState(value);
+ useEffect(() => {
+ const handler = setTimeout(() => {
+ setDebouncedValue(value);
+ }, delay);
+ return () => {
+ clearTimeout(handler);
+ };
+ }, [value, delay]);
+ return debouncedValue;
+}
diff --git a/jobs/Frontend/src/main.tsx b/jobs/Frontend/src/main.tsx
new file mode 100644
index 0000000000..66f1965bc8
--- /dev/null
+++ b/jobs/Frontend/src/main.tsx
@@ -0,0 +1,7 @@
+import React from 'react'
+import ReactDOM from 'react-dom/client'
+import App from './app'
+import './styles/globals.less'
+import './i18n/config'
+
+ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( )
diff --git a/jobs/Frontend/src/mocks/browser.ts b/jobs/Frontend/src/mocks/browser.ts
new file mode 100644
index 0000000000..60706970a6
--- /dev/null
+++ b/jobs/Frontend/src/mocks/browser.ts
@@ -0,0 +1,3 @@
+import { setupWorker } from "msw/browser";
+
+export const worker = setupWorker();
diff --git a/jobs/Frontend/src/pages/Home/Home.tsx b/jobs/Frontend/src/pages/Home/Home.tsx
new file mode 100644
index 0000000000..59b6eb65b1
--- /dev/null
+++ b/jobs/Frontend/src/pages/Home/Home.tsx
@@ -0,0 +1,15 @@
+import { Helmet } from "react-helmet";
+import { useTranslation } from "react-i18next";
+import { Main } from "src/components/Main/Main";
+
+export default function Home() {
+ const { t } = useTranslation("translation");
+ return (
+ <>
+
+ {t("title")}
+
+
+ >
+ );
+}
diff --git a/jobs/Frontend/src/router.tsx b/jobs/Frontend/src/router.tsx
new file mode 100644
index 0000000000..c9c5b7f978
--- /dev/null
+++ b/jobs/Frontend/src/router.tsx
@@ -0,0 +1,33 @@
+import { createBrowserRouter, RouteObject } from "react-router-dom";
+import ErrorPage from "./components/ErrorPage/ErrorPage";
+import { getDefaultLayout } from "./components/layout";
+import Home from "./pages/Home/Home";
+
+export const routerObjects: RouteObject[] = [
+ {
+ path: "/",
+ Component: Home,
+ children: [
+ {
+ path: "/:movieId",
+ Component: Home,
+ },
+ ],
+ },
+];
+
+export function createRouter(): ReturnType {
+ const routeWrappers = routerObjects.map((router) => {
+ // @ts-ignore TODO: better type support
+ const getLayout = router.Component?.getLayout || getDefaultLayout;
+ const Component = router.Component!;
+ const page = getLayout( );
+ return {
+ ...router,
+ element: page,
+ Component: null,
+ ErrorBoundary: ErrorPage,
+ };
+ });
+ return createBrowserRouter(routeWrappers);
+}
diff --git a/jobs/Frontend/src/stories/assets/accessibility.png b/jobs/Frontend/src/stories/assets/accessibility.png
new file mode 100644
index 0000000000..6ffe6feabd
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/accessibility.png differ
diff --git a/jobs/Frontend/src/stories/assets/accessibility.svg b/jobs/Frontend/src/stories/assets/accessibility.svg
new file mode 100644
index 0000000000..107e93f838
--- /dev/null
+++ b/jobs/Frontend/src/stories/assets/accessibility.svg
@@ -0,0 +1 @@
+Accessibility
\ No newline at end of file
diff --git a/jobs/Frontend/src/stories/assets/addon-library.png b/jobs/Frontend/src/stories/assets/addon-library.png
new file mode 100644
index 0000000000..95deb38a88
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/addon-library.png differ
diff --git a/jobs/Frontend/src/stories/assets/assets.png b/jobs/Frontend/src/stories/assets/assets.png
new file mode 100644
index 0000000000..cfba6817ae
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/assets.png differ
diff --git a/jobs/Frontend/src/stories/assets/avif-test-image.avif b/jobs/Frontend/src/stories/assets/avif-test-image.avif
new file mode 100644
index 0000000000..530709bc12
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/avif-test-image.avif differ
diff --git a/jobs/Frontend/src/stories/assets/context.png b/jobs/Frontend/src/stories/assets/context.png
new file mode 100644
index 0000000000..e5cd249a2d
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/context.png differ
diff --git a/jobs/Frontend/src/stories/assets/discord.svg b/jobs/Frontend/src/stories/assets/discord.svg
new file mode 100644
index 0000000000..d638958b66
--- /dev/null
+++ b/jobs/Frontend/src/stories/assets/discord.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jobs/Frontend/src/stories/assets/docs.png b/jobs/Frontend/src/stories/assets/docs.png
new file mode 100644
index 0000000000..a749629df9
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/docs.png differ
diff --git a/jobs/Frontend/src/stories/assets/figma-plugin.png b/jobs/Frontend/src/stories/assets/figma-plugin.png
new file mode 100644
index 0000000000..8f79b08cdf
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/figma-plugin.png differ
diff --git a/jobs/Frontend/src/stories/assets/github.svg b/jobs/Frontend/src/stories/assets/github.svg
new file mode 100644
index 0000000000..dc513528ca
--- /dev/null
+++ b/jobs/Frontend/src/stories/assets/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jobs/Frontend/src/stories/assets/share.png b/jobs/Frontend/src/stories/assets/share.png
new file mode 100644
index 0000000000..8097a37077
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/share.png differ
diff --git a/jobs/Frontend/src/stories/assets/styling.png b/jobs/Frontend/src/stories/assets/styling.png
new file mode 100644
index 0000000000..d341e8263e
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/styling.png differ
diff --git a/jobs/Frontend/src/stories/assets/testing.png b/jobs/Frontend/src/stories/assets/testing.png
new file mode 100644
index 0000000000..d4ac39a0ce
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/testing.png differ
diff --git a/jobs/Frontend/src/stories/assets/theming.png b/jobs/Frontend/src/stories/assets/theming.png
new file mode 100644
index 0000000000..1535eb9b81
Binary files /dev/null and b/jobs/Frontend/src/stories/assets/theming.png differ
diff --git a/jobs/Frontend/src/stories/assets/tutorials.svg b/jobs/Frontend/src/stories/assets/tutorials.svg
new file mode 100644
index 0000000000..b492a9c66f
--- /dev/null
+++ b/jobs/Frontend/src/stories/assets/tutorials.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jobs/Frontend/src/stories/assets/youtube.svg b/jobs/Frontend/src/stories/assets/youtube.svg
new file mode 100644
index 0000000000..a7515d7e9b
--- /dev/null
+++ b/jobs/Frontend/src/stories/assets/youtube.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/jobs/Frontend/src/styles/globals.less b/jobs/Frontend/src/styles/globals.less
new file mode 100644
index 0000000000..2cf7f1a01b
--- /dev/null
+++ b/jobs/Frontend/src/styles/globals.less
@@ -0,0 +1,50 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ :root {
+ --background: 0 0% 100%;
+ --foreground: 240 10% 3.9%;
+ --card: 0 0% 100%;
+ --card-foreground: 240 10% 3.9%;
+ --popover: 0 0% 100%;
+ --popover-foreground: 240 10% 3.9%;
+ --primary: 240 5.9% 10%;
+ --primary-foreground: 0 0% 98%;
+ --secondary: 240 4.8% 95.9%;
+ --secondary-foreground: 240 5.9% 10%;
+ --muted: 240 4.8% 95.9%;
+ --muted-foreground: 240 3.8% 46.1%;
+ --accent: 240 4.8% 95.9%;
+ --accent-foreground: 240 5.9% 10%;
+ --destructive: 0 84.2% 60.2%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 5.9% 90%;
+ --input: 240 5.9% 90%;
+ --ring: 240 10% 3.9%;
+ --radius: 0.5rem;
+ }
+
+ .dark {
+ --background: 240 10% 3.9%;
+ --foreground: 0 0% 98%;
+ --card: 240 10% 3.9%;
+ --card-foreground: 0 0% 98%;
+ --popover: 240 10% 3.9%;
+ --popover-foreground: 0 0% 98%;
+ --primary: 0 0% 98%;
+ --primary-foreground: 240 5.9% 10%;
+ --secondary: 240 3.7% 15.9%;
+ --secondary-foreground: 0 0% 98%;
+ --muted: 240 3.7% 15.9%;
+ --muted-foreground: 240 5% 64.9%;
+ --accent: 240 3.7% 15.9%;
+ --accent-foreground: 0 0% 98%;
+ --destructive: 0 62.8% 30.6%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 3.7% 15.9%;
+ --input: 240 3.7% 15.9%;
+ --ring: 240 4.9% 83.9%;
+ }
+}
diff --git a/jobs/Frontend/src/types/custom.ts b/jobs/Frontend/src/types/custom.ts
new file mode 100644
index 0000000000..5d2581e138
--- /dev/null
+++ b/jobs/Frontend/src/types/custom.ts
@@ -0,0 +1,17 @@
+// tmdb-types.ts
+
+import { paths } from "./tmdb";
+
+// Example: GET /movie/{movie_id}
+export type MovieDetailsResponse =
+ paths["/3/movie/{movie_id}"]["get"]["responses"]["200"]["content"]["application/json"];
+
+// Example: GET /search/movie
+export type MovieSearchResponse =
+ paths["/3/search/movie"]["get"]["responses"]["200"]["content"]["application/json"];
+
+export type MovieDetailProductionCountries =
+ paths["/3/movie/{movie_id}"]["get"]["responses"]["200"]["content"]["application/json"]["production_countries"];
+
+export type MovieDetailGenres =
+ paths["/3/movie/{movie_id}"]["get"]["responses"]["200"]["content"]["application/json"]["genres"];
diff --git a/jobs/Frontend/src/types/i18next.d.ts b/jobs/Frontend/src/types/i18next.d.ts
new file mode 100644
index 0000000000..6f3b1deb76
--- /dev/null
+++ b/jobs/Frontend/src/types/i18next.d.ts
@@ -0,0 +1,9 @@
+import resources from './resources'
+import { defaultNS } from '../i18n/config'
+
+declare module 'i18next' {
+ interface CustomTypeOptions {
+ defaultNS: typeof defaultNS
+ resources: typeof resources
+ }
+}
diff --git a/jobs/Frontend/src/types/resources.ts b/jobs/Frontend/src/types/resources.ts
new file mode 100644
index 0000000000..59dd857a93
--- /dev/null
+++ b/jobs/Frontend/src/types/resources.ts
@@ -0,0 +1,9 @@
+import translation from '../i18n/locales/en/translation.json'
+import notfound from '../i18n/locales/en/notfound.json'
+
+const resources = {
+ notfound,
+ translation,
+} as const
+
+export default resources
diff --git a/jobs/Frontend/src/types/tmdb.d.ts b/jobs/Frontend/src/types/tmdb.d.ts
new file mode 100644
index 0000000000..cabfadaca6
--- /dev/null
+++ b/jobs/Frontend/src/types/tmdb.d.ts
@@ -0,0 +1,22525 @@
+/**
+ * This file was auto-generated by openapi-typescript.
+ * Do not make direct changes to the file.
+ */
+
+export interface paths {
+ "/3/search/movie": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie
+ * @description Search for movies by their original, translated and alternative titles.
+ */
+ get: operations["search-movie"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/discover/movie": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie
+ * @description Find movies using over 30 filters and sort options.
+ */
+ get: operations["discover-movie"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get the top level details of a movie by ID.
+ */
+ get: operations["movie-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get the details of a TV show.
+ */
+ get: operations["tv-series-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV
+ * @description Search for TV shows by their original, translated and also known as names.
+ */
+ get: operations["search-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/multi": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Multi
+ * @description Use multi search when you want to search for movies, TV shows and people in a single request.
+ */
+ get: operations["search-multi"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/person": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Person
+ * @description Search for people by their name and also known as names.
+ */
+ get: operations["search-person"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Query the API configuration details.
+ */
+ get: operations["configuration-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Query the details of a TV season.
+ */
+ get: operations["tv-season-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Query the details of a TV episode.
+ */
+ get: operations["tv-episode-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/discover/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV
+ * @description Find TV shows using over 30 filters and sort options.
+ */
+ get: operations["discover-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the images that belong to a movie.
+ */
+ get: operations["movie-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the images that belong to a TV series.
+ */
+ get: operations["tv-series-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the images that belong to a TV season.
+ */
+ get: operations["tv-season-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the images that belong to a TV episode.
+ */
+ get: operations["tv-episode-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/trending/all/{time_window}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * All
+ * @description Get the trending movies, TV shows and people.
+ */
+ get: operations["trending-all"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/trending/movie/{time_window}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movies
+ * @description Get the trending movies on TMDB.
+ */
+ get: operations["trending-movies"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/trending/tv/{time_window}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV
+ * @description Get the trending TV shows on TMDB.
+ */
+ get: operations["trending-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/account_states": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Account States
+ * @description Get the rating, watchlist and favourite status of an account.
+ */
+ get: operations["movie-account-states"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/account_states": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Account States
+ * @description Get the rating, watchlist and favourite status.
+ */
+ get: operations["tv-series-account-states"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/account_states": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Account States
+ * @description Get the rating, watchlist and favourite status.
+ */
+ get: operations["tv-episode-account-states"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/trending/person/{time_window}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * People
+ * @description Get the trending people on TMDB.
+ */
+ get: operations["trending-people"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/alternative_titles": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Alternative Titles
+ * @description Get the alternative titles for a movie.
+ */
+ get: operations["movie-alternative-titles"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Changes
+ * @description Get the recent changes for a movie.
+ */
+ get: operations["movie-changes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Credits */
+ get: operations["movie-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/external_ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** External IDs */
+ get: operations["movie-external-ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/keywords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Keywords */
+ get: operations["movie-keywords"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/lists": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Lists
+ * @description Get the lists that a movie has been added to.
+ */
+ get: operations["movie-lists"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/recommendations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Recommendations */
+ get: operations["movie-recommendations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/release_dates": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Release Dates
+ * @description Get the release dates and certifications for a movie.
+ */
+ get: operations["movie-release-dates"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/reviews": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Reviews
+ * @description Get the user reviews for a movie.
+ */
+ get: operations["movie-reviews"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/similar": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Similar
+ * @description Get the similar movies based on genres and keywords.
+ */
+ get: operations["movie-similar"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Translations
+ * @description Get the translations for a movie.
+ */
+ get: operations["movie-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/videos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Videos */
+ get: operations["movie-videos"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/watch/providers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Watch Providers
+ * @description Get the list of streaming providers we have for a movie.
+ */
+ get: operations["movie-watch-providers"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/{movie_id}/rating": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add Rating
+ * @description Rate a movie and save it to your rated list.
+ */
+ post: operations["movie-add-rating"];
+ /**
+ * Delete Rating
+ * @description Delete a user rating.
+ */
+ delete: operations["movie-delete-rating"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/guest_session/new": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Create Guest Session */
+ get: operations["authentication-create-guest-session"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/token/new": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Create Request Token */
+ get: operations["authentication-create-request-token"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/session/new": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Create Session */
+ post: operations["authentication-create-session"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/session/convert/4": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Create Session (from v4 token) */
+ post: operations["authentication-create-session-from-v4-token"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/session": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ post?: never;
+ /** Delete Session */
+ delete: operations["authentication-delete-session"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/find/{external_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Find By ID
+ * @description Find data by external ID's.
+ */
+ get: operations["find-by-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Query the top level details of a person.
+ */
+ get: operations["person-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Changes
+ * @description Get the recent changes for a person.
+ */
+ get: operations["person-changes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Changes
+ * @description Get the recent changes for a TV show.
+ */
+ get: operations["tv-series-changes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the profile images that belong to a person.
+ */
+ get: operations["person-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/movie_credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie Credits
+ * @description Get the movie credits for a person.
+ */
+ get: operations["person-movie-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/tv_credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV Credits
+ * @description Get the TV credits that belong to a person.
+ */
+ get: operations["person-tv-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/combined_credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Combined Credits
+ * @description Get the combined movie and TV credits that belong to a person.
+ */
+ get: operations["person-combined-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/external_ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * External IDs
+ * @description Get the external ID's that belong to a person.
+ */
+ get: operations["person-external-ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/tagged_images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Tagged Images
+ * @description Get the tagged images for a person.
+ */
+ get: operations["person-tagged-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/{person_id}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Translations
+ * @description Get the translations that belong to a person.
+ */
+ get: operations["translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/popular": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Popular
+ * @description Get a list of people ordered by popularity.
+ */
+ get: operations["person-popular-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/popular": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Popular
+ * @description Get a list of movies ordered by popularity.
+ */
+ get: operations["movie-popular-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/top_rated": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Top Rated
+ * @description Get a list of movies ordered by rating.
+ */
+ get: operations["movie-top-rated-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/upcoming": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Upcoming
+ * @description Get a list of movies that are being released soon.
+ */
+ get: operations["movie-upcoming-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/now_playing": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Now Playing
+ * @description Get a list of movies that are currently in theatres.
+ */
+ get: operations["movie-now-playing-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/airing_today": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Airing Today
+ * @description Get a list of TV shows airing today.
+ */
+ get: operations["tv-series-airing-today-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/on_the_air": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * On The Air
+ * @description Get a list of TV shows that air in the next 7 days.
+ */
+ get: operations["tv-series-on-the-air-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/popular": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Popular
+ * @description Get a list of TV shows ordered by popularity.
+ */
+ get: operations["tv-series-popular-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/top_rated": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Top Rated
+ * @description Get a list of TV shows ordered by rating.
+ */
+ get: operations["tv-series-top-rated-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/latest": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Latest
+ * @description Get the newest movie ID.
+ */
+ get: operations["movie-latest-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/latest": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Latest
+ * @description Get the newest TV show ID.
+ */
+ get: operations["tv-series-latest-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/aggregate_credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Aggregate Credits
+ * @description Get the aggregate credits (cast and crew) that have been added to a TV show.
+ */
+ get: operations["tv-series-aggregate-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/alternative_titles": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Alternative Titles
+ * @description Get the alternative titles that have been added to a TV show.
+ */
+ get: operations["tv-series-alternative-titles"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/content_ratings": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Content Ratings
+ * @description Get the content ratings that have been added to a TV show.
+ */
+ get: operations["tv-series-content-ratings"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Credits
+ * @description Get the latest season credits of a TV show.
+ */
+ get: operations["tv-series-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/episode_groups": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Episode Groups
+ * @description Get the episode groups that have been added to a TV show.
+ */
+ get: operations["tv-series-episode-groups"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/external_ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * External IDs
+ * @description Get a list of external IDs that have been added to a TV show.
+ */
+ get: operations["tv-series-external-ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/keywords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Keywords
+ * @description Get a list of keywords that have been added to a TV show.
+ */
+ get: operations["tv-series-keywords"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/recommendations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Recommendations */
+ get: operations["tv-series-recommendations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/reviews": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Reviews
+ * @description Get the reviews that have been added to a TV show.
+ */
+ get: operations["tv-series-reviews"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/screened_theatrically": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Screened Theatrically
+ * @description Get the seasons and episodes that have screened theatrically.
+ */
+ get: operations["tv-series-screened-theatrically"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/similar": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Similar
+ * @description Get the similar TV shows.
+ */
+ get: operations["tv-series-similar"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Translations
+ * @description Get the translations that have been added to a TV show.
+ */
+ get: operations["tv-series-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/videos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Videos
+ * @description Get the videos that belong to a TV show.
+ */
+ get: operations["tv-series-videos"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/watch/providers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Watch Providers
+ * @description Get the list of streaming providers we have for a TV show.
+ */
+ get: operations["tv-series-watch-providers"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/rating": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add Rating
+ * @description Rate a TV show and save it to your rated list.
+ */
+ post: operations["tv-series-add-rating"];
+ /** Delete Rating */
+ delete: operations["tv-series-delete-rating"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/account_states": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Account States
+ * @description Get the rating, watchlist and favourite status.
+ */
+ get: operations["tv-season-account-states"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/aggregate_credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Aggregate Credits
+ * @description Get the aggregate credits (cast and crew) that have been added to a TV season.
+ */
+ get: operations["tv-season-aggregate-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/season/{season_id}/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Changes
+ * @description Get the recent changes for a TV season.
+ */
+ get: operations["tv-season-changes-by-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Credits */
+ get: operations["tv-season-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/external_ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * External IDs
+ * @description Get a list of external IDs that have been added to a TV season.
+ */
+ get: operations["tv-season-external-ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Translations
+ * @description Get the translations for a TV season.
+ */
+ get: operations["tv-season-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/videos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Videos
+ * @description Get the videos that belong to a TV season.
+ */
+ get: operations["tv-season-videos"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/credits": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Credits */
+ get: operations["tv-episode-credits"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/external_ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * External IDs
+ * @description Get a list of external IDs that have been added to a TV episode.
+ */
+ get: operations["tv-episode-external-ids"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Translations
+ * @description Get the translations that have been added to a TV episode.
+ */
+ get: operations["tv-episode-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/videos": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Videos
+ * @description Get the videos that belong to a TV episode.
+ */
+ get: operations["tv-episode-videos"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/episode/{episode_number}/rating": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add Rating
+ * @description Rate a TV episode and save it to your rated list.
+ */
+ post: operations["tv-episode-add-rating"];
+ /**
+ * Delete Rating
+ * @description Delete your rating on a TV episode.
+ */
+ delete: operations["tv-episode-delete-rating"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get the public details of an account on TMDB.
+ */
+ get: operations["account-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/lists": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Lists
+ * @description Get a users list of custom lists.
+ */
+ get: operations["account-lists"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/favorite/movies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Favorite Movies
+ * @description Get a users list of favourite movies.
+ */
+ get: operations["account-get-favorites"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/favorite/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Favorite TV
+ * @description Get a users list of favourite TV shows.
+ */
+ get: operations["account-favorite-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/rated/movies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated Movies
+ * @description Get a users list of rated movies.
+ */
+ get: operations["account-rated-movies"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/rated/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated TV
+ * @description Get a users list of rated TV shows.
+ */
+ get: operations["account-rated-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/rated/tv/episodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated TV Episodes
+ * @description Get a users list of rated TV episodes.
+ */
+ get: operations["account-rated-tv-episodes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/watchlist/movies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Watchlist Movies
+ * @description Get a list of movies added to a users watchlist.
+ */
+ get: operations["account-watchlist-movies"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/watchlist/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Watchlist TV
+ * @description Get a list of TV shows added to a users watchlist.
+ */
+ get: operations["account-watchlist-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/favorite": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add Favorite
+ * @description Mark a movie or TV show as a favourite.
+ */
+ post: operations["account-add-favorite"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/account/{account_id}/watchlist": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add To Watchlist
+ * @description Add a movie or TV show to your watchlist.
+ */
+ post: operations["account-add-to-watchlist"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/certification/movie/list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie Certifications
+ * @description Get an up to date list of the officially supported movie certifications on TMDB.
+ */
+ get: operations["certification-movie-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/certification/tv/list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** TV Certifications */
+ get: operations["certifications-tv-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/movie/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie List
+ * @description Get a list of all of the movie ids that have been changed in the past 24 hours.
+ */
+ get: operations["changes-movie-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** TV List */
+ get: operations["changes-tv-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** People List */
+ get: operations["changes-people-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/collection/{collection_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get collection details by ID.
+ */
+ get: operations["collection-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/collection/{collection_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the images that belong to a collection.
+ */
+ get: operations["collection-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/collection/{collection_id}/translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Translations */
+ get: operations["collection-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/company/{company_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get the company details by ID.
+ */
+ get: operations["company-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/company/{company_id}/alternative_names": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Alternative Names
+ * @description Get the company details by ID.
+ */
+ get: operations["company-alternative-names"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/company/{company_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the company logos by id.
+ */
+ get: operations["company-images"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/credit/{credit_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get a movie or TV credit details by ID.
+ */
+ get: operations["credit-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/genre/movie/list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie List
+ * @description Get the list of official genres for movies.
+ */
+ get: operations["genre-movie-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/genre/tv/list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV List
+ * @description Get the list of official genres for TV shows.
+ */
+ get: operations["genre-tv-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/guest_session/{guest_session_id}/rated/movies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated Movies
+ * @description Get the rated movies for a guest session.
+ */
+ get: operations["guest-session-rated-movies"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/guest_session/{guest_session_id}/rated/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated TV
+ * @description Get the rated TV shows for a guest session.
+ */
+ get: operations["guest-session-rated-tv"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/guest_session/{guest_session_id}/rated/tv/episodes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Rated TV Episodes
+ * @description Get the rated TV episodes for a guest session.
+ */
+ get: operations["guest-session-rated-tv-episodes"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/watch/providers/regions": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Available Regions
+ * @description Get the list of the countries we have watch provider (OTT/streaming) data for.
+ */
+ get: operations["watch-providers-available-regions"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/watch/providers/movie": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Movie Providers
+ * @description Get the list of streaming providers we have for movies.
+ */
+ get: operations["watch-providers-movie-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/watch/providers/tv": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * TV Providers
+ * @description Get the list of streaming providers we have for TV shows.
+ */
+ get: operations["watch-provider-tv-list"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/keyword/{keyword_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Details */
+ get: operations["keyword-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/keyword/{keyword_id}/movies": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Movies */
+ get: operations["keyword-movies"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list/{list_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Details */
+ get: operations["list-details"];
+ put?: never;
+ post?: never;
+ /**
+ * Delete
+ * @description Delete a list.
+ */
+ delete: operations["list-delete"];
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list/{list_id}/item_status": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Check Item Status
+ * @description Use this method to check if an item has already been added to the list.
+ */
+ get: operations["list-check-item-status"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /** Create */
+ post: operations["list-create"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list/{list_id}/add_item": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Add Movie
+ * @description Add a movie to a list.
+ */
+ post: operations["list-add-movie"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list/{list_id}/remove_item": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Remove Movie
+ * @description Remove a movie from a list.
+ */
+ post: operations["list-remove-movie"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/list/{list_id}/clear": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Clear
+ * @description Clear all items from a list.
+ */
+ post: operations["list-clear"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/network/{network_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /** Details */
+ get: operations["network-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/network/{network_id}/alternative_names": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Alternative Names
+ * @description Get the alternative names of a network.
+ */
+ get: operations["details-copy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/network/{network_id}/images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Images
+ * @description Get the TV network logos by id.
+ */
+ get: operations["alternative-names-copy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/review/{review_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Retrieve the details of a movie or TV show review.
+ */
+ get: operations["review-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Validate Key
+ * @description Test your API Key to see if it's valid.
+ */
+ get: operations["authentication-validate-key"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/season/{season_number}/watch/providers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Watch Providers
+ * @description Get the list of streaming providers we have for a TV season.
+ */
+ get: operations["tv-season-watch-providers"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration/countries": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Countries
+ * @description Get the list of countries (ISO 3166-1 tags) used throughout TMDB.
+ */
+ get: operations["configuration-countries"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration/jobs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Jobs
+ * @description Get the list of the jobs and departments we use on TMDB.
+ */
+ get: operations["configuration-jobs"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration/languages": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Languages
+ * @description Get the list of languages (ISO 639-1 tags) used throughout TMDB.
+ */
+ get: operations["configuration-languages"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration/primary_translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Primary Translations
+ * @description Get a list of the officially supported translations on TMDB.
+ */
+ get: operations["configuration-primary-translations"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/configuration/timezones": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Timezones
+ * @description Get the list of timezones used throughout TMDB.
+ */
+ get: operations["configuration-timezones"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/authentication/token/validate_with_login": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ get?: never;
+ put?: never;
+ /**
+ * Create Session (with login)
+ * @description This method allows an application to validate a request token by entering a username and password.
+ */
+ post: operations["authentication-create-session-from-login"];
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/person/latest": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Latest
+ * @description Get the newest created person. This is a live response and will continuously change.
+ */
+ get: operations["person-latest-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/episode/{episode_id}/changes": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Changes
+ * @description Get the recent changes for a TV episode.
+ */
+ get: operations["tv-episode-changes-by-id"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/episode_group/{tv_episode_group_id}": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Details
+ * @description Get the details of a TV episode group.
+ */
+ get: operations["tv-episode-group-details"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/company": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Company
+ * @description Search for companies by their original and alternative names.
+ */
+ get: operations["search-company"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/collection": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Collection
+ * @description Search for collections by their original, translated and alternative names.
+ */
+ get: operations["search-collection"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/search/keyword": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Keyword
+ * @description Search for keywords by their name.
+ */
+ get: operations["search-keyword"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+ "/3/tv/{series_id}/lists": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ /**
+ * Lists
+ * @description Get the lists that a TV series has been added to.
+ */
+ get: operations["lists-copy"];
+ put?: never;
+ post?: never;
+ delete?: never;
+ options?: never;
+ head?: never;
+ patch?: never;
+ trace?: never;
+ };
+}
+export type webhooks = Record;
+export interface components {
+ schemas: never;
+ responses: never;
+ parameters: never;
+ requestBodies: never;
+ headers: never;
+ pathItems: never;
+}
+export type $defs = Record;
+export interface operations {
+ "search-movie": {
+ parameters: {
+ query: {
+ query: string;
+ include_adult?: boolean;
+ language?: string;
+ primary_release_year?: string;
+ page?: number;
+ region?: string;
+ year?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /hZkgoQYus5vegHoetLkCJzb17zJ.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Fight Club */
+ original_title?: string;
+ /** @example A ticking-time-bomb insomniac and a slippery soap salesman channel primal male aggression into a shocking new form of therapy. Their concept catches on, with underground "fight clubs" forming in every town, until an eccentric gets in the way and ignites an out-of-control spiral toward oblivion. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 73.433
+ */
+ popularity: number;
+ /** @example /pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg */
+ poster_path?: string;
+ /** @example 1999-10-15 */
+ release_date?: string;
+ /** @example Fight Club */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.433
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 26279
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 2
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 39
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "discover-movie": {
+ parameters: {
+ query?: {
+ /** @description use in conjunction with `region` */
+ certification?: string;
+ /** @description use in conjunction with `region` */
+ "certification.gte"?: string;
+ /** @description use in conjunction with `region` */
+ "certification.lte"?: string;
+ /** @description use in conjunction with the `certification`, `certification.gte` and `certification.lte` filters */
+ certification_country?: string;
+ include_adult?: boolean;
+ include_video?: boolean;
+ language?: string;
+ page?: number;
+ primary_release_year?: number;
+ "primary_release_date.gte"?: string;
+ "primary_release_date.lte"?: string;
+ region?: string;
+ "release_date.gte"?: string;
+ "release_date.lte"?: string;
+ sort_by?: "original_title.asc" | "original_title.desc" | "popularity.asc" | "popularity.desc" | "revenue.asc" | "revenue.desc" | "primary_release_date.asc" | "title.asc" | "title.desc" | "primary_release_date.desc" | "vote_average.asc" | "vote_average.desc" | "vote_count.asc" | "vote_count.desc";
+ "vote_average.gte"?: number;
+ "vote_average.lte"?: number;
+ "vote_count.gte"?: number;
+ "vote_count.lte"?: number;
+ /** @description use in conjunction with `with_watch_monetization_types ` or `with_watch_providers ` */
+ watch_region?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_cast?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_companies?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_crew?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_genres?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_keywords?: string;
+ with_origin_country?: string;
+ with_original_language?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_people?: string;
+ /** @description possible values are: [1, 2, 3, 4, 5, 6] can be a comma (`AND`) or pipe (`OR`) separated query, can be used in conjunction with `region` */
+ with_release_type?: number;
+ "with_runtime.gte"?: number;
+ "with_runtime.lte"?: number;
+ /** @description possible values are: [flatrate, free, ads, rent, buy] use in conjunction with `watch_region`, can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_watch_monetization_types?: string;
+ /** @description use in conjunction with `watch_region`, can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_watch_providers?: string;
+ without_companies?: string;
+ without_genres?: string;
+ without_keywords?: string;
+ without_watch_providers?: string;
+ year?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /8YFL5QQVPy3AgrEQxNYVSgiPEbe.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 640146
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ original_title?: string;
+ /** @example Super-Hero partners Scott Lang and Hope van Dyne, along with with Hope's parents Janet van Dyne and Hank Pym, and Scott's daughter Cassie Lang, find themselves exploring the Quantum Realm, interacting with strange new creatures and embarking on an adventure that will push them beyond the limits of what they thought possible. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 9272.643
+ */
+ popularity: number;
+ /** @example /ngl2FKBlU4fhbdsrtdom9LVLBXw.jpg */
+ poster_path?: string;
+ /** @example 2023-02-15 */
+ release_date?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 6.5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1856
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 38020
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 760385
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-details": {
+ parameters: {
+ query?: {
+ /** @description comma separated list of endpoints within this namespace, 20 items max */
+ append_to_response?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /hZkgoQYus5vegHoetLkCJzb17zJ.jpg */
+ backdrop_path?: string;
+ belongs_to_collection?: unknown;
+ /**
+ * @default 0
+ * @example 63000000
+ */
+ budget: number;
+ genres?: {
+ /**
+ * @default 0
+ * @example 18
+ */
+ id: number;
+ /** @example Drama */
+ name?: string;
+ }[];
+ /** @example http://www.foxmovies.com/movies/fight-club */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /** @example tt0137523 */
+ imdb_id?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Fight Club */
+ original_title?: string;
+ /** @example A ticking-time-bomb insomniac and a slippery soap salesman channel primal male aggression into a shocking new form of therapy. Their concept catches on, with underground "fight clubs" forming in every town, until an eccentric gets in the way and ignites an out-of-control spiral toward oblivion. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 61.416
+ */
+ popularity: number;
+ /** @example /pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg */
+ poster_path?: string;
+ production_companies?: {
+ /**
+ * @default 0
+ * @example 508
+ */
+ id: number;
+ /** @example /7cxRWzi4LsVm4Utfpr1hfARNurT.png */
+ logo_path?: string;
+ /** @example Regency Enterprises */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ }[];
+ production_countries?: {
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example United States of America */
+ name?: string;
+ }[];
+ /** @example 1999-10-15 */
+ release_date?: string;
+ /**
+ * @default 0
+ * @example 100853753
+ */
+ revenue: number;
+ /**
+ * @default 0
+ * @example 139
+ */
+ runtime: number;
+ spoken_languages?: {
+ /** @example English */
+ english_name?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example English */
+ name?: string;
+ }[];
+ /** @example Released */
+ status?: string;
+ /** @example Mischief. Mayhem. Soap. */
+ tagline?: string;
+ /** @example Fight Club */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.433
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 26280
+ */
+ vote_count: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-details": {
+ parameters: {
+ query?: {
+ /** @description comma separated list of endpoints within this namespace, 20 items max */
+ append_to_response?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /6LWy0jvMpmjoS9fojNgHIKoWL05.jpg */
+ backdrop_path?: string;
+ created_by?: {
+ /**
+ * @default 0
+ * @example 9813
+ */
+ id: number;
+ /** @example 5256c8c219c2956ff604858a */
+ credit_id?: string;
+ /** @example David Benioff */
+ name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /** @example /xvNN5huL0X8yJ7h3IZfGG4O2zBD.jpg */
+ profile_path?: string;
+ }[];
+ episode_run_time?: number[];
+ /** @example 2011-04-17 */
+ first_air_date?: string;
+ genres?: {
+ /**
+ * @default 0
+ * @example 10765
+ */
+ id: number;
+ /** @example Sci-Fi & Fantasy */
+ name?: string;
+ }[];
+ /** @example http://www.hbo.com/game-of-thrones */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ /**
+ * @default true
+ * @example false
+ */
+ in_production: boolean;
+ languages?: string[];
+ /** @example 2019-05-19 */
+ last_air_date?: string;
+ last_episode_to_air?: {
+ /**
+ * @default 0
+ * @example 1551830
+ */
+ id: number;
+ /** @example The Iron Throne */
+ name?: string;
+ /** @example In the aftermath of the devastating attack on King's Landing, Daenerys must face the survivors. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 4.809
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 241
+ */
+ vote_count: number;
+ /** @example 2019-05-19 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ episode_number: number;
+ /** @example 806 */
+ production_code?: string;
+ /**
+ * @default 0
+ * @example 80
+ */
+ runtime: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 1399
+ */
+ show_id: number;
+ /** @example /zBi2O5EJfgTS6Ae0HdAYLm9o2nf.jpg */
+ still_path?: string;
+ };
+ /** @example Game of Thrones */
+ name?: string;
+ next_episode_to_air?: unknown;
+ networks?: {
+ /**
+ * @default 0
+ * @example 49
+ */
+ id: number;
+ /** @example /tuomPhY2UtuPTqqFnKMVHvSb724.png */
+ logo_path?: string;
+ /** @example HBO */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 73
+ */
+ number_of_episodes: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ number_of_seasons: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Game of Thrones */
+ original_name?: string;
+ /** @example Seven noble families fight for control of the mythical land of Westeros. Friction between the houses leads to full-scale war. All while a very ancient evil awakens in the farthest north. Amidst the war, a neglected military order of misfits, the Night's Watch, is all that stands between the realms of men and icy horrors beyond. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 346.098
+ */
+ popularity: number;
+ /** @example /1XS1oqL89opfnbLl8WnZY1O1uJx.jpg */
+ poster_path?: string;
+ production_companies?: {
+ /**
+ * @default 0
+ * @example 76043
+ */
+ id: number;
+ /** @example /9RO2vbQ67otPrBLXCaC8UMp3Qat.png */
+ logo_path?: string;
+ /** @example Revolution Sun Studios */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ }[];
+ production_countries?: {
+ /** @example GB */
+ iso_3166_1?: string;
+ /** @example United Kingdom */
+ name?: string;
+ }[];
+ seasons?: {
+ /** @example 2010-12-05 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 272
+ */
+ episode_count: number;
+ /**
+ * @default 0
+ * @example 3627
+ */
+ id: number;
+ /** @example Specials */
+ name?: string;
+ /** @example */
+ overview?: string;
+ /** @example /kMTcwNRfFKCZ0O2OaBZS0nZ2AIe.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_average: number;
+ }[];
+ spoken_languages?: {
+ /** @example English */
+ english_name?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example English */
+ name?: string;
+ }[];
+ /** @example Ended */
+ status?: string;
+ /** @example Winter Is Coming */
+ tagline?: string;
+ /** @example Scripted */
+ type?: string;
+ /**
+ * @default 0
+ * @example 8.438
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 21390
+ */
+ vote_count: number;
+ };
+ };
+ };
+ };
+ };
+ "search-tv": {
+ parameters: {
+ query: {
+ query: string;
+ /** @description Search only the first air date. Valid values are: 1000..9999 */
+ first_air_date_year?: number;
+ include_adult?: boolean;
+ language?: string;
+ page?: number;
+ /** @description Search the first air date and all episode air dates. Valid values are: 1000..9999 */
+ year?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /bsNm9z2TJfe0WO3RedPGWQ8mG1X.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 1396
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Breaking Bad */
+ original_name?: string;
+ /** @example When Walter White, a New Mexico chemistry teacher, is diagnosed with Stage III cancer and given a prognosis of only two years left to live. He becomes filled with a sense of fearlessness and an unrelenting desire to secure his family's financial future at any cost as he enters the dangerous world of drugs and crime. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 298.884
+ */
+ popularity: number;
+ /** @example /ggFHVNu6YYI5L9pCfOacjizRGt.jpg */
+ poster_path?: string;
+ /** @example 2008-01-20 */
+ first_air_date?: string;
+ /** @example Breaking Bad */
+ name?: string;
+ /**
+ * @default 0
+ * @example 8.879
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 11536
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "search-multi": {
+ parameters: {
+ query: {
+ query: string;
+ include_adult?: boolean;
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /aDYSnJAK0BTVeE8osOy22Kz3SXY.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ id: number;
+ /** @example Star Wars */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Star Wars */
+ original_title?: string;
+ /** @example Princess Leia is captured and held hostage by the evil Imperial forces in their effort to take over the galactic Empire. Venturesome Luke Skywalker and dashing captain Han Solo team together with the loveable robot duo R2-D2 and C-3PO to rescue the beautiful princess and restore peace and justice in the Empire. */
+ overview?: string;
+ /** @example /6FfCtAuVAW8XJjZ7eWeLibRLWTw.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 78.047
+ */
+ popularity: number;
+ /** @example 1977-05-25 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.208
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 18528
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 11
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 201
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "search-person": {
+ parameters: {
+ query: {
+ query: string;
+ include_adult?: boolean;
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Tom Hanks */
+ name?: string;
+ /** @example Tom Hanks */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 84.631
+ */
+ popularity: number;
+ /** @example /xndWFsBlClOJFRdhSt4NBwiPq2o.jpg */
+ profile_path?: string;
+ known_for?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /3h1JZGDhZ8nzxdgvkxha0qBqi05.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ id: number;
+ /** @example Forrest Gump */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Forrest Gump */
+ original_title?: string;
+ /** @example A man with a low IQ has accomplished great things in his life and been present during significant historic events—in each case, far exceeding what anyone imagined he could do. But despite all he has achieved, his one true love eludes him. */
+ overview?: string;
+ /** @example /arw2vcBveWOVZr6pxd9XTd1TdQa.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 67.209
+ */
+ popularity: number;
+ /** @example 1994-06-23 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.481
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 24525
+ */
+ vote_count: number;
+ }[];
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "configuration-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ images?: {
+ /** @example http://image.tmdb.org/t/p/ */
+ base_url?: string;
+ /** @example https://image.tmdb.org/t/p/ */
+ secure_base_url?: string;
+ backdrop_sizes?: string[];
+ logo_sizes?: string[];
+ poster_sizes?: string[];
+ profile_sizes?: string[];
+ still_sizes?: string[];
+ };
+ change_keys?: string[];
+ };
+ };
+ };
+ };
+ };
+ "tv-season-details": {
+ parameters: {
+ query?: {
+ /** @description comma separated list of endpoints within this namespace, 20 items max */
+ append_to_response?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example 5256c89f19c2956ff6046d47 */
+ _id?: string;
+ /** @example 2011-04-17 */
+ air_date?: string;
+ episodes?: {
+ /** @example 2011-04-17 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_number: number;
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ /** @example Winter Is Coming */
+ name?: string;
+ /** @example Jon Arryn, the Hand of the King, is dead. King Robert Baratheon plans to ask his oldest friend, Eddard Stark, to take Jon's place. Across the sea, Viserys Targaryen plans to wed his sister to a nomadic warlord in exchange for an army. */
+ overview?: string;
+ /** @example 101 */
+ production_code?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ runtime: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 1399
+ */
+ show_id: number;
+ /** @example /9hGF3WUkBf7cSjMg0cdMDHJkByd.jpg */
+ still_path?: string;
+ /**
+ * @default 0
+ * @example 7.838
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 291
+ */
+ vote_count: number;
+ crew?: {
+ /** @example Directing */
+ department?: string;
+ /** @example Director */
+ job?: string;
+ /** @example 5256c8a219c2956ff6046e77 */
+ credit_id?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 44797
+ */
+ id: number;
+ /** @example Directing */
+ known_for_department?: string;
+ /** @example Timothy Van Patten */
+ name?: string;
+ /** @example Timothy Van Patten */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 6.048
+ */
+ popularity: number;
+ /** @example /MzSOFrd99HRdr6pkSRSctk3kBR.jpg */
+ profile_path?: string;
+ }[];
+ guest_stars?: {
+ /** @example Benjen Stark */
+ character?: string;
+ /** @example 5256c8b919c2956ff604836a */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ order: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 119783
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Joseph Mawle */
+ name?: string;
+ /** @example Joseph Mawle */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 13.517
+ */
+ popularity: number;
+ /** @example /1Ocb9v3h54beGVoJMm4w50UQhLf.jpg */
+ profile_path?: string;
+ }[];
+ }[];
+ /** @example Season 1 */
+ name?: string;
+ /** @example Trouble is brewing in the Seven Kingdoms of Westeros. For the driven inhabitants of this visionary world, control of Westeros' Iron Throne holds the lure of great power. But in a land where the seasons can last a lifetime, winter is coming...and beyond the Great Wall that protects them, an ancient evil has returned. In Season One, the story centers on three primary areas: the Stark and the Lannister families, whose designs on controlling the throne threaten a tenuous peace; the dragon princess Daenerys, heir to the former dynasty, who waits just over the Narrow Sea with her malevolent brother Viserys; and the Great Wall--a massive barrier of ice where a forgotten danger is stirring. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ /** @example /wgfKiqzuMrFIkU1M68DDDY8kGC1.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 8.3
+ */
+ vote_average: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-details": {
+ parameters: {
+ query?: {
+ /** @description comma separated list of endpoints within this namespace, 20 items max */
+ append_to_response?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example 2011-04-17 */
+ air_date?: string;
+ crew?: {
+ /** @example Directing */
+ department?: string;
+ /** @example Director */
+ job?: string;
+ /** @example 5256c8a219c2956ff6046e77 */
+ credit_id?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 44797
+ */
+ id: number;
+ /** @example Directing */
+ known_for_department?: string;
+ /** @example Timothy Van Patten */
+ name?: string;
+ /** @example Timothy Van Patten */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 7.775
+ */
+ popularity: number;
+ /** @example /MzSOFrd99HRdr6pkSRSctk3kBR.jpg */
+ profile_path?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_number: number;
+ guest_stars?: {
+ /** @example Benjen Stark */
+ character?: string;
+ /** @example 5256c8b919c2956ff604836a */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ order: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 119783
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Joseph Mawle */
+ name?: string;
+ /** @example Joseph Mawle */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 6.758
+ */
+ popularity: number;
+ /** @example /1Ocb9v3h54beGVoJMm4w50UQhLf.jpg */
+ profile_path?: string;
+ }[];
+ /** @example Winter Is Coming */
+ name?: string;
+ /** @example Jon Arryn, the Hand of the King, is dead. King Robert Baratheon plans to ask his oldest friend, Eddard Stark, to take Jon's place. Across the sea, Viserys Targaryen plans to wed his sister to a nomadic warlord in exchange for an army. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ /** @example 101 */
+ production_code?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ runtime: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /** @example /9hGF3WUkBf7cSjMg0cdMDHJkByd.jpg */
+ still_path?: string;
+ /**
+ * @default 0
+ * @example 7.8
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 286
+ */
+ vote_count: number;
+ };
+ };
+ };
+ };
+ };
+ "discover-tv": {
+ parameters: {
+ query?: {
+ "air_date.gte"?: string;
+ "air_date.lte"?: string;
+ first_air_date_year?: number;
+ "first_air_date.gte"?: string;
+ "first_air_date.lte"?: string;
+ include_adult?: boolean;
+ include_null_first_air_dates?: boolean;
+ language?: string;
+ page?: number;
+ screened_theatrically?: boolean;
+ sort_by?: "first_air_date.asc" | "first_air_date.desc" | "name.asc" | "name.desc" | "original_name.asc" | "original_name.desc" | "popularity.asc" | "popularity.desc" | "vote_average.asc" | "vote_average.desc" | "vote_count.asc" | "vote_count.desc";
+ timezone?: string;
+ "vote_average.gte"?: number;
+ "vote_average.lte"?: number;
+ "vote_count.gte"?: number;
+ "vote_count.lte"?: number;
+ /** @description use in conjunction with `with_watch_monetization_types ` or `with_watch_providers ` */
+ watch_region?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_companies?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_genres?: string;
+ /** @description can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_keywords?: string;
+ with_networks?: number;
+ with_origin_country?: string;
+ with_original_language?: string;
+ "with_runtime.gte"?: number;
+ "with_runtime.lte"?: number;
+ /** @description possible values are: [0, 1, 2, 3, 4, 5], can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_status?: string;
+ /** @description possible values are: [flatrate, free, ads, rent, buy] use in conjunction with `watch_region`, can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_watch_monetization_types?: string;
+ /** @description use in conjunction with `watch_region`, can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_watch_providers?: string;
+ without_companies?: string;
+ without_genres?: string;
+ without_keywords?: string;
+ without_watch_providers?: string;
+ /** @description possible values are: [0, 1, 2, 3, 4, 5, 6], can be a comma (`AND`) or pipe (`OR`) separated query */
+ with_type?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example /mAJ84W6I8I272Da87qplS2Dp9ST.jpg */
+ backdrop_path?: string;
+ /** @example 2023-01-23 */
+ first_air_date?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 202250
+ */
+ id: number;
+ /** @example Dirty Linen */
+ name?: string;
+ origin_country?: string[];
+ /** @example tl */
+ original_language?: string;
+ /** @example Dirty Linen */
+ original_name?: string;
+ /** @example To exact vengeance, a young woman infiltrates the household of an influential family as a housemaid to expose their dirty secrets. However, love will get in the way of her revenge plot. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 2684.061
+ */
+ popularity: number;
+ /** @example /ujlkQtHAVShWyWTloGU2Vh5Jbo9.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 7414
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 148265
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-images": {
+ parameters: {
+ query?: {
+ /** @description specify a comma separated list of ISO-639-1 values to query, for example: `en,null` */
+ include_image_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ backdrops?: {
+ /**
+ * @default 0
+ * @example 1.778
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 800
+ */
+ height: number;
+ iso_639_1?: unknown;
+ /** @example /hZkgoQYus5vegHoetLkCJzb17zJ.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.622
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 20
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1422
+ */
+ width: number;
+ }[];
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ logos?: {
+ /**
+ * @default 0
+ * @example 5.203
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 79
+ */
+ height: number;
+ /** @example he */
+ iso_639_1?: string;
+ /** @example /c1KLulrIhUqY5fT42nmC5aERGCp.png */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.312
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 411
+ */
+ width: number;
+ }[];
+ posters?: {
+ /**
+ * @default 0
+ * @example 0.667
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 900
+ */
+ height: number;
+ /** @example pt */
+ iso_639_1?: string;
+ /** @example /r3pPehX4ik8NLYPpbDRAh0YRtMb.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.258
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 600
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-images": {
+ parameters: {
+ query?: {
+ /** @description specify a comma separated list of ISO-639-1 values to query, for example: `en,null` */
+ include_image_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ backdrops?: {
+ /**
+ * @default 0
+ * @example 1.778
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 800
+ */
+ height: number;
+ iso_639_1?: unknown;
+ /** @example /hZkgoQYus5vegHoetLkCJzb17zJ.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.622
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 20
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1422
+ */
+ width: number;
+ }[];
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ logos?: {
+ /**
+ * @default 0
+ * @example 5.203
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 79
+ */
+ height: number;
+ /** @example he */
+ iso_639_1?: string;
+ /** @example /c1KLulrIhUqY5fT42nmC5aERGCp.png */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.312
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 411
+ */
+ width: number;
+ }[];
+ posters?: {
+ /**
+ * @default 0
+ * @example 0.667
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 900
+ */
+ height: number;
+ /** @example pt */
+ iso_639_1?: string;
+ /** @example /r3pPehX4ik8NLYPpbDRAh0YRtMb.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.258
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 600
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-season-images": {
+ parameters: {
+ query?: {
+ /** @description specify a comma separated list of ISO-639-1 values to query, for example: `en,null` */
+ include_image_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ posters?: {
+ /**
+ * @default 0
+ * @example 0.667
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 1500
+ */
+ height: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example /wgfKiqzuMrFIkU1M68DDDY8kGC1.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.514
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 18
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-images": {
+ parameters: {
+ query?: {
+ /** @description specify a comma separated list of ISO-639-1 values to query, for example: `en,null` */
+ include_image_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ stills?: {
+ /**
+ * @default 0
+ * @example 1.778
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 1080
+ */
+ height: number;
+ iso_639_1?: unknown;
+ /** @example /9hGF3WUkBf7cSjMg0cdMDHJkByd.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.454
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1920
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "trending-all": {
+ parameters: {
+ query?: {
+ /** @description `ISO-639-1`-`ISO-3166-1` code */
+ language?: string;
+ };
+ header?: never;
+ path: {
+ time_window: "day" | "week";
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /44immBwzhDVyjn87b3x3l9mlhAD.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 934433
+ */
+ id: number;
+ /** @example Scream VI */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Scream VI */
+ original_title?: string;
+ /** @example Following the latest Ghostface killings, the four survivors leave Woodsboro behind and start a fresh chapter. */
+ overview?: string;
+ /** @example /wDWwtvkRRlgTiUr6TyLSMX8FCuZ.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 609.941
+ */
+ popularity: number;
+ /** @example 2023-03-08 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.374
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 684
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1000
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 20000
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "trending-movies": {
+ parameters: {
+ query?: {
+ /** @description `ISO-639-1`-`ISO-3166-1` code */
+ language?: string;
+ };
+ header?: never;
+ path: {
+ time_window: "day" | "week";
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /44immBwzhDVyjn87b3x3l9mlhAD.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 934433
+ */
+ id: number;
+ /** @example Scream VI */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Scream VI */
+ original_title?: string;
+ /** @example Following the latest Ghostface killings, the four survivors leave Woodsboro behind and start a fresh chapter. */
+ overview?: string;
+ /** @example /wDWwtvkRRlgTiUr6TyLSMX8FCuZ.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 609.941
+ */
+ popularity: number;
+ /** @example 2023-03-08 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.374
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 684
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1000
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 20000
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "trending-tv": {
+ parameters: {
+ query?: {
+ /** @description `ISO-639-1`-`ISO-3166-1` code */
+ language?: string;
+ };
+ header?: never;
+ path: {
+ time_window: "day" | "week";
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /8P15FsYcTwQZ4G5rRMd1TKD14Aq.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 103768
+ */
+ id: number;
+ /** @example Sweet Tooth */
+ name?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Sweet Tooth */
+ original_name?: string;
+ /** @example On a perilous adventure across a post-apocalyptic world, a lovable boy who's half-human and half-deer searches for a new beginning with a gruff protector. */
+ overview?: string;
+ /** @example /dBxxtfhC4vYrxB2fLsSxOTY2dQc.jpg */
+ poster_path?: string;
+ /** @example tv */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 137.498
+ */
+ popularity: number;
+ /** @example 2021-06-04 */
+ first_air_date?: string;
+ /**
+ * @default 0
+ * @example 7.928
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1094
+ */
+ vote_count: number;
+ origin_country?: string[];
+ }[];
+ /**
+ * @default 0
+ * @example 1000
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 20000
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-account-states": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ guest_session_id?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /**
+ * @default true
+ * @example true
+ */
+ favorite: boolean;
+ rated?: {
+ /**
+ * @default 0
+ * @example 9
+ */
+ value: number;
+ };
+ /**
+ * @default true
+ * @example false
+ */
+ watchlist: boolean;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-account-states": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ guest_session_id?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /**
+ * @default true
+ * @example true
+ */
+ favorite: boolean;
+ rated?: {
+ /**
+ * @default 0
+ * @example 9
+ */
+ value: number;
+ };
+ /**
+ * @default true
+ * @example false
+ */
+ watchlist: boolean;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-account-states": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ guest_session_id?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /**
+ * @default true
+ * @example true
+ */
+ favorite: boolean;
+ rated?: {
+ /**
+ * @default 0
+ * @example 9
+ */
+ value: number;
+ };
+ /**
+ * @default true
+ * @example false
+ */
+ watchlist: boolean;
+ };
+ };
+ };
+ };
+ };
+ "trending-people": {
+ parameters: {
+ query?: {
+ /** @description `ISO-639-1`-`ISO-3166-1` code */
+ language?: string;
+ };
+ header?: never;
+ path: {
+ time_window: "day" | "week";
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 224513
+ */
+ id: number;
+ /** @example Ana de Armas */
+ name?: string;
+ /** @example Ana de Armas */
+ original_name?: string;
+ /** @example person */
+ media_type?: string;
+ /**
+ * @default 0
+ * @example 349.766
+ */
+ popularity: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ gender: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example /3vxvsmYLTf4jnr163SUlBIw51ee.jpg */
+ profile_path?: string;
+ known_for?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /ilRyazdMJwN05exqhwK4tMKBYZs.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 335984
+ */
+ id: number;
+ /** @example Blade Runner 2049 */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Blade Runner 2049 */
+ original_title?: string;
+ /** @example Thirty years after the events of the first film, a new blade runner, LAPD Officer K, unearths a long-buried secret that has the potential to plunge what's left of society into chaos. K's discovery leads him on a quest to find Rick Deckard, a former LAPD blade runner who has been missing for 30 years. */
+ overview?: string;
+ /** @example /gajva2L0rPYkEWjzgFlBXCAVBE5.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 79.571
+ */
+ popularity: number;
+ /** @example 2017-10-04 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.531
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 11771
+ */
+ vote_count: number;
+ }[];
+ }[];
+ /**
+ * @default 0
+ * @example 1000
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 20000
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-alternative-titles": {
+ parameters: {
+ query?: {
+ /** @description specify a ISO-3166-1 value to filter the results */
+ country?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ titles?: {
+ /** @example RS */
+ iso_3166_1?: string;
+ /** @example Borilački klub */
+ title?: string;
+ /** @example */
+ type?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-changes": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ changes?: {
+ /** @example images */
+ key?: string;
+ items?: {
+ /** @example 643197b96dea3a00d4377270 */
+ id?: string;
+ /** @example added */
+ action?: string;
+ /** @example 2023-04-08 16:35:05 UTC */
+ time?: string;
+ /** @example */
+ iso_639_1?: string;
+ /** @example */
+ iso_3166_1?: string;
+ value?: {
+ poster?: {
+ /** @example /s9ZrHprviFCx3azfWNBtt1LPSnL.jpg */
+ file_path?: string;
+ };
+ };
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 819
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Edward Norton */
+ name?: string;
+ /** @example Edward Norton */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 26.99
+ */
+ popularity: number;
+ /** @example /8nytsqL59SFJTVYVrN72k6qkGgJ.jpg */
+ profile_path?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ cast_id: number;
+ /** @example The Narrator */
+ character?: string;
+ /** @example 52fe4250c3a36847f80149f3 */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 376
+ */
+ id: number;
+ /** @example Production */
+ known_for_department?: string;
+ /** @example Arnon Milchan */
+ name?: string;
+ /** @example Arnon Milchan */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 2.931
+ */
+ popularity: number;
+ /** @example /b2hBExX4NnczNAnLuTBF4kmNhZm.jpg */
+ profile_path?: string;
+ /** @example 55731b8192514111610027d7 */
+ credit_id?: string;
+ /** @example Production */
+ department?: string;
+ /** @example Executive Producer */
+ job?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-external-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /** @example tt0137523 */
+ imdb_id?: string;
+ wikidata_id?: unknown;
+ /** @example FightClub */
+ facebook_id?: string;
+ instagram_id?: unknown;
+ twitter_id?: unknown;
+ };
+ };
+ };
+ };
+ };
+ "movie-keywords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ movie_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ keywords?: {
+ /**
+ * @default 0
+ * @example 818
+ */
+ id: number;
+ /** @example based on novel or book */
+ name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-lists": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example Movies I own */
+ description?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ favorite_count: number;
+ /**
+ * @default 0
+ * @example 8248696
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 409
+ */
+ item_count: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example movie */
+ list_type?: string;
+ /** @example My Movies */
+ name?: string;
+ poster_path?: unknown;
+ }[];
+ /**
+ * @default 0
+ * @example 122
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 2422
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-recommendations": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": Record;
+ };
+ };
+ };
+ };
+ "movie-release-dates": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ results?: {
+ /** @example BG */
+ iso_3166_1?: string;
+ release_dates?: {
+ /** @example c */
+ certification?: string;
+ descriptors?: unknown[];
+ /** @example */
+ iso_639_1?: string;
+ /** @example */
+ note?: string;
+ /** @example 2012-08-28T00:00:00.000Z */
+ release_date?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ type: number;
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-reviews": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example Goddard */
+ author?: string;
+ author_details?: {
+ /** @example */
+ name?: string;
+ /** @example Goddard */
+ username?: string;
+ /** @example /https://secure.gravatar.com/avatar/f248ec34f953bc62cafcbdd81fddd6b6.jpg */
+ avatar_path?: string;
+ rating?: unknown;
+ };
+ /** @example Pretty awesome movie. It shows what one crazy person can convince other crazy people to do. Everyone needs something to believe in. I recommend Jesus Christ, but they want Tyler Durden. */
+ content?: string;
+ /** @example 2018-06-09T17:51:53.359Z */
+ created_at?: string;
+ /** @example 5b1c13b9c3a36848f2026384 */
+ id?: string;
+ /** @example 2021-06-23T15:58:09.421Z */
+ updated_at?: string;
+ /** @example https://www.themoviedb.org/review/5b1c13b9c3a36848f2026384 */
+ url?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-similar": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /3YAldML4EDyoC6RBpzceALigrAZ.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 9300
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Orlando */
+ original_title?: string;
+ /** @example England, 1600. Queen Elizabeth I promises Orlando, a young nobleman obsessed with poetry, that she will grant him land and fortune if he agrees to satisfy a very particular request. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 7.768
+ */
+ popularity: number;
+ /** @example /xvz0qZkXXMq3dH2Revxii8drxWc.jpg */
+ poster_path?: string;
+ /** @example 1992-12-11 */
+ release_date?: string;
+ /** @example Orlando */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 6.966
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 262
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 364
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 7269
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ translations?: {
+ /** @example SA */
+ iso_3166_1?: string;
+ /** @example ar */
+ iso_639_1?: string;
+ /** @example العربية */
+ name?: string;
+ /** @example Arabic */
+ english_name?: string;
+ data?: {
+ /** @example */
+ homepage?: string;
+ /** @example إدوارد يتعرض لضغوط حتى يصل به الحال إلى أنه لا يستطيع النوم لفتراتٍ طويلة، لكنه يجد بعض السلام في جلسات العلاج النفسي الجماعي، يتعرف إدوارد على أحد الأشخاص وهو (تايلر ديردن) الذي يحرره من تعلقه بالأشياء الذي تستعبده ،ثم يحرره من خوفه من الناس. يقومان معًا بإنشاء نادي القتال الذي يجذب الكثير من الأفراد المحبطين ،الذين يقومون بإخراج طاقة غضبهم وكرههم للعالم في القتال. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ runtime: number;
+ /** @example */
+ tagline?: string;
+ /** @example */
+ title?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-videos": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ results?: {
+ /** @example en */
+ iso_639_1?: string;
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example Fight Club (1999) Trailer - Starring Brad Pitt, Edward Norton, Helena Bonham Carter */
+ name?: string;
+ /** @example O-b2VfmmbyA */
+ key?: string;
+ /** @example YouTube */
+ site?: string;
+ /**
+ * @default 0
+ * @example 720
+ */
+ size: number;
+ /** @example Trailer */
+ type?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ official: boolean;
+ /** @example 2016-03-05T02:03:14.000Z */
+ published_at?: string;
+ /** @example 639d5326be6d88007f170f44 */
+ id?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "movie-watch-providers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 550
+ */
+ id: number;
+ results?: {
+ AE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=AE */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ AL?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=AL */
+ link?: string;
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ AR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=AR */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ AT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=AT */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ AU?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=AU */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ BA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BA */
+ link?: string;
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ BB?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BB */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ BE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BE */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ BG?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BG */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ BH?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BH */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ BO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BO */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ BR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BR */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ BS?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=BS */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ CA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CA */
+ link?: string;
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /sB5vHrmYmliwUvBwZe8HpXo9r8m.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 305
+ */
+ provider_id: number;
+ /** @example Crave Starz */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ CH?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CH */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /rVOOhp6V8FheEAKtFAJMLMbnaMZ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 150
+ */
+ provider_id: number;
+ /** @example blue TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /rVOOhp6V8FheEAKtFAJMLMbnaMZ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 150
+ */
+ provider_id: number;
+ /** @example blue TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ CL?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CL */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ CO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CO */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ CR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CR */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ CV?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CV */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ CZ?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=CZ */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /wTF37o4jOkQfjnWe41gmeuASYZA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 308
+ */
+ provider_id: number;
+ /** @example O2 TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ DE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=DE */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ DK?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=DK */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ DO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=DO */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ EC?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=EC */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ EE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=EE */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ EG?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=EG */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ ES?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=ES */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ ads?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ FI?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=FI */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ FJ?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=FJ */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ FR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=FR */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ GB?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=GB */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ GF?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=GF */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ };
+ GI?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=GI */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ GR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=GR */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ GT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=GT */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ HK?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=HK */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ HN?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=HN */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ HR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=HR */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ ads?: {
+ /** @example /xrHrIraInfRXnrz1zHhY1tXJowg.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 572
+ */
+ provider_id: number;
+ /** @example RTL Play */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ HU?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=HU */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ ID?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=ID */
+ link?: string;
+ flatrate?: {
+ /** @example /7Fl8ylPDclt3ZYgNbW2t7rbZE9I.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 122
+ */
+ provider_id: number;
+ /** @example Hotstar */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ IE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IE */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ IL?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IL */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ IN?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IN */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ IQ?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IQ */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ IS?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IS */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ IT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=IT */
+ link?: string;
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ JM?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=JM */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ JO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=JO */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ JP?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=JP */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /g8jqHtXJsMlc8B1Gb0Rt8AvUJMn.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 85
+ */
+ provider_id: number;
+ /** @example dTV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ KR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=KR */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /2ioan5BX5L9tz4fIGU93blTeFhv.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 356
+ */
+ provider_id: number;
+ /** @example wavve */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ KW?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=KW */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ LB?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=LB */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ LI?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=LI */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ };
+ LT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=LT */
+ link?: string;
+ rent?: {
+ /** @example /xTVM8uXT9QocigQ07LE7Irc65W2.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 553
+ */
+ provider_id: number;
+ /** @example Telia Play */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ LV?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=LV */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ MD?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MD */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 26
+ */
+ display_priority: number;
+ }[];
+ };
+ MK?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ MT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MT */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ MU?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MU */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ };
+ MX?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MX */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ MY?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MY */
+ link?: string;
+ flatrate?: {
+ /** @example /7Fl8ylPDclt3ZYgNbW2t7rbZE9I.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 122
+ */
+ provider_id: number;
+ /** @example Hotstar */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ display_priority: number;
+ }[];
+ };
+ MZ?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=MZ */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 16
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 16
+ */
+ display_priority: number;
+ }[];
+ };
+ NL?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=NL */
+ link?: string;
+ buy?: {
+ /** @example /llmnYOyknekZsXtkCaazKjhTLvG.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 71
+ */
+ provider_id: number;
+ /** @example Pathé Thuis */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /llmnYOyknekZsXtkCaazKjhTLvG.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 71
+ */
+ provider_id: number;
+ /** @example Pathé Thuis */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ NO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=NO */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ NZ?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=NZ */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ OM?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=OM */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PA */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PE */
+ link?: string;
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ PH?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PH */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PK?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PK */
+ link?: string;
+ flatrate?: {
+ /** @example /t2yyOv40HZeVlLjYsCsPHnWLk4W.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ provider_id: number;
+ /** @example Netflix */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ display_priority: number;
+ }[];
+ };
+ PL?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PL */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PS?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PS */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PT */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /dUeHhim2WUZz8S7EWjv0Ws6anRP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 242
+ */
+ provider_id: number;
+ /** @example Meo */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ PY?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=PY */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ QA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=QA */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ RO?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=RO */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ RS?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=RS */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ RU?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=RU */
+ link?: string;
+ rent?: {
+ /** @example /o9ExgOSLF3OTwR6T3DJOuwOKJgq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 113
+ */
+ provider_id: number;
+ /** @example Ivi */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /o9ExgOSLF3OTwR6T3DJOuwOKJgq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 113
+ */
+ provider_id: number;
+ /** @example Ivi */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /zLM7f1w2L8TU2Fspzns72m6h3yY.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 501
+ */
+ provider_id: number;
+ /** @example Wink */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ display_priority: number;
+ }[];
+ };
+ SA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SA */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ SE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SE */
+ link?: string;
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ SG?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SG */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ SI?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SI */
+ link?: string;
+ buy?: {
+ /** @example /5GEbAhFW2S5T8zVc1MNvz00pIzM.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 35
+ */
+ provider_id: number;
+ /** @example Rakuten TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ SK?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SK */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ SM?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SM */
+ link?: string;
+ flatrate?: {
+ /** @example /7rwgEs15tFwyR9NPQ5vpzxTj19Q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 337
+ */
+ provider_id: number;
+ /** @example Disney Plus */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ };
+ SV?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=SV */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ TH?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=TH */
+ link?: string;
+ flatrate?: {
+ /** @example /7Fl8ylPDclt3ZYgNbW2t7rbZE9I.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 122
+ */
+ provider_id: number;
+ /** @example Hotstar */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ display_priority: number;
+ }[];
+ };
+ TR?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=TR */
+ link?: string;
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ TT?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=TT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ TW?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=TW */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ UG?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=UG */
+ link?: string;
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 16
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 16
+ */
+ display_priority: number;
+ }[];
+ };
+ US?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=US */
+ link?: string;
+ rent?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /jPXksae158ukMLFhhlNvzsvaEyt.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 257
+ */
+ provider_id: number;
+ /** @example fuboTV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ UY?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=UY */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ VE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=VE */
+ link?: string;
+ rent?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ YE?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=YE */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ };
+ ZA?: {
+ /** @example https://www.themoviedb.org/movie/550-fight-club/watch?locale=ZA */
+ link?: string;
+ flatrate?: {
+ /** @example /emthp39XA2YScoYL1p0sdbAH2WA.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 119
+ */
+ provider_id: number;
+ /** @example Amazon Prime Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ "movie-add-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header: {
+ "Content-Type": string;
+ };
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "movie-delete-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header?: {
+ "Content-Type"?: string;
+ };
+ path: {
+ movie_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 13
+ */
+ status_code: number;
+ /** @example The item/record was deleted successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-create-guest-session": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /** @example 1ce82ec1223641636ad4a60b07de3581 */
+ guest_session_id?: string;
+ /** @example 2016-08-27 16:26:40 UTC */
+ expires_at?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-create-request-token": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /** @example 2016-08-26 17:04:39 UTC */
+ expires_at?: string;
+ /** @example ff5c7eeb5a8870efe3cd7fc5c282cffd26800ecd */
+ request_token?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-create-session": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /** @example 79191836ddaa0da3df76a5ffef6f07ad6ab0c641 */
+ session_id?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-create-session-from-v4-token": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /** @example 2629f70fb498edc263a0adb99118ac41f0053e8c */
+ session_id?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-delete-session": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ };
+ };
+ };
+ };
+ };
+ "find-by-id": {
+ parameters: {
+ query: {
+ external_source: "" | "imdb_id" | "facebook_id" | "instagram_id" | "tvdb_id" | "tiktok_id" | "twitter_id" | "wikidata_id" | "youtube_id";
+ language?: string;
+ };
+ header?: never;
+ path: {
+ external_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ movie_results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /44immBwzhDVyjn87b3x3l9mlhAD.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 934433
+ */
+ id: number;
+ /** @example Scream VI */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Scream VI */
+ original_title?: string;
+ /** @example Following the latest Ghostface killings, the four survivors leave Woodsboro behind and start a fresh chapter. */
+ overview?: string;
+ /** @example /wDWwtvkRRlgTiUr6TyLSMX8FCuZ.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 853.917
+ */
+ popularity: number;
+ /** @example 2023-03-08 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.388
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 708
+ */
+ vote_count: number;
+ }[];
+ person_results?: unknown[];
+ tv_results?: unknown[];
+ tv_episode_results?: unknown[];
+ tv_season_results?: unknown[];
+ };
+ };
+ };
+ };
+ };
+ "person-details": {
+ parameters: {
+ query?: {
+ /** @description comma separated list of endpoints within this namespace, 20 items max */
+ append_to_response?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ also_known_as?: string[];
+ /** @example Thomas Jeffrey Hanks (born July 9, 1956) is an American actor and filmmaker. Known for both his comedic and dramatic roles, Hanks is one of the most popular and recognizable film stars worldwide, and is widely regarded as an American cultural icon.
+ *
+ * Hanks made his breakthrough with leading roles in the comedies Splash (1984) and Big (1988). He won two consecutive Academy Awards for Best Actor for starring as a gay lawyer suffering from AIDS in Philadelphia (1993) and a young man with below-average IQ in Forrest Gump (1994). Hanks collaborated with film director Steven Spielberg on five films: Saving Private Ryan (1998), Catch Me If You Can (2002), The Terminal (2004), Bridge of Spies (2015), and The Post (2017), as well as the 2001 miniseries Band of Brothers, which launched him as a director, producer, and screenwriter.
+ *
+ * Hanks' other notable films include the romantic comedies Sleepless in Seattle (1993) and You've Got Mail (1998); the dramas Apollo 13 (1995), The Green Mile (1999), Cast Away (2000), Road to Perdition (2002), and Cloud Atlas (2012); and the biographical dramas Saving Mr. Banks (2013), Captain Phillips (2013), Sully (2016), and A Beautiful Day in the Neighborhood (2019). He has also appeared as the title character in the Robert Langdon film series, and has voiced Sheriff Woody in the Toy Story film series.
+ *
+ * Description above from the Wikipedia article Tom Hanks, licensed under CC-BY-SA, full list of contributors on Wikipedia. */
+ biography?: string;
+ /** @example 1956-07-09 */
+ birthday?: string;
+ deathday?: unknown;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ homepage?: unknown;
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ /** @example nm0000158 */
+ imdb_id?: string;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Tom Hanks */
+ name?: string;
+ /** @example Concord, California, USA */
+ place_of_birth?: string;
+ /**
+ * @default 0
+ * @example 82.989
+ */
+ popularity: number;
+ /** @example /xndWFsBlClOJFRdhSt4NBwiPq2o.jpg */
+ profile_path?: string;
+ };
+ };
+ };
+ };
+ };
+ "person-changes": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ changes?: {
+ /** @example biography */
+ key?: string;
+ items?: {
+ /** @example 640469b113654500ba4e859a */
+ id?: string;
+ /** @example added */
+ action?: string;
+ /** @example 2023-03-05 10:06:41 UTC */
+ time?: string;
+ /** @example ca */
+ iso_639_1?: string;
+ /** @example ES */
+ iso_3166_1?: string;
+ /** @example Thomas "Tom" Jeffrey Hanks (Concord, Califòrnia, 9 de juliol de 1956) és un actor de cinema i productor estatunidenc, guanyador dues vegades de l'Oscar al millor actor i considerat un dels més versàtils i talentosos del cinema actual.
+ *
+ * Hanks és l'actor que més diners ha guanyat de tota la història del cinema amb un total de gairebé sis mil milions de dòlars (setembre 2006). És també copropietari de Playtone, una companyia de producció de pel·lícules. */
+ value?: string;
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-changes": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ changes?: {
+ /** @example images */
+ key?: string;
+ items?: {
+ /** @example 640435cf021cee0084710972 */
+ id?: string;
+ /** @example updated */
+ action?: string;
+ /** @example 2023-03-05 06:25:19 UTC */
+ time?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example */
+ iso_3166_1?: string;
+ value?: {
+ poster?: {
+ /** @example /ouudK6RCNnsbT1CSXrlATXQIQTG.jpg */
+ file_path?: string;
+ /** @example en */
+ iso_639_1?: string;
+ };
+ };
+ original_value?: {
+ poster?: {
+ /** @example /ouudK6RCNnsbT1CSXrlATXQIQTG.jpg */
+ file_path?: string;
+ /** @example fr */
+ iso_639_1?: string;
+ };
+ };
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "person-images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 287
+ */
+ id: number;
+ profiles?: {
+ /**
+ * @default 0
+ * @example 0.666
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 980
+ */
+ height: number;
+ iso_639_1?: unknown;
+ /** @example /cckcYc2v0yh1tc9QjRelptcOBko.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.288
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 89
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 653
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "person-movie-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /3h1JZGDhZ8nzxdgvkxha0qBqi05.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 13
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Forrest Gump */
+ original_title?: string;
+ /** @example A man with a low IQ has accomplished great things in his life and been present during significant historic events—in each case, far exceeding what anyone imagined he could do. But despite all he has achieved, his one true love eludes him. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 62.225
+ */
+ popularity: number;
+ /** @example /arw2vcBveWOVZr6pxd9XTd1TdQa.jpg */
+ poster_path?: string;
+ /** @example 1994-06-23 */
+ release_date?: string;
+ /** @example Forrest Gump */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.481
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 24535
+ */
+ vote_count: number;
+ /** @example Forrest Gump */
+ character?: string;
+ /** @example 52fe420ec3a36847f800074f */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /tx3uj8GPWf5pzb0gWATJ4bokNHI.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 87061
+ */
+ id: number;
+ /** @example fr */
+ original_language?: string;
+ /** @example Le Voyage extraordinaire */
+ original_title?: string;
+ /** @example An account of the extraordinary life of film pioneer Georges Méliès (1861-1938) and the amazing story of the copy in color of his masterpiece “A Trip to the Moon” (1902), unexpectedly found in Spain and restored thanks to the heroic efforts of a group of true cinema lovers. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 6.007
+ */
+ popularity: number;
+ /** @example /zHNNT9gfiGsuadR6x38KYOp6ekq.jpg */
+ poster_path?: string;
+ /** @example 2011-12-08 */
+ release_date?: string;
+ /** @example The Extraordinary Voyage */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.6
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 47
+ */
+ vote_count: number;
+ /** @example 5d818a63d34eb3002c4f8fea */
+ credit_id?: string;
+ /** @example Crew */
+ department?: string;
+ /** @example Thanks */
+ job?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "person-tv-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /ttvojTMgaIN7U8gqB5LlNqO4vPN.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 1900
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example LIVE with Kelly and Mark */
+ original_name?: string;
+ /** @example A morning talk show with A-list celebrity guests, top-notch performances and one-of-a-kind segments that are unrivaled on daytime television, plus spontaneous, hilarious and unpredictable talk. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 700.508
+ */
+ popularity: number;
+ /** @example /l5y8egG27p2fSTyq8s21SQMmQLy.jpg */
+ poster_path?: string;
+ /** @example 1988-09-05 */
+ first_air_date?: string;
+ /** @example LIVE with Kelly and Mark */
+ name?: string;
+ /**
+ * @default 0
+ * @example 5.4
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 25
+ */
+ vote_count: number;
+ /** @example */
+ character?: string;
+ /** @example 52571af019c29571140d5c92 */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_count: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /6uMA6EAiwcsCqQJwWgYwtORvE0v.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 2391
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Tales from the Crypt */
+ original_name?: string;
+ /** @example Cadaverous scream legend the Crypt Keeper is your macabre host for these forays of fright and fun based on the classic E.C. Comics tales from back in the day. So shamble up to the bar and pick your poison. Will it be an insane Santa on a personal slay ride? Honeymooners out to fulfill the "til death do we part" vow ASAP? */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 24.88
+ */
+ popularity: number;
+ /** @example /dDfXQH6Kg2JNASI0dqNALukjhk1.jpg */
+ poster_path?: string;
+ /** @example 1989-06-10 */
+ first_air_date?: string;
+ /** @example Tales from the Crypt */
+ name?: string;
+ /**
+ * @default 0
+ * @example 7.978
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 757
+ */
+ vote_count: number;
+ /** @example 525734f3760ee3776a397211 */
+ credit_id?: string;
+ /** @example Directing */
+ department?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_count: number;
+ /** @example Director */
+ job?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "person-combined-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ person_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /3h1JZGDhZ8nzxdgvkxha0qBqi05.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 13
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Forrest Gump */
+ original_title?: string;
+ /** @example A man with a low IQ has accomplished great things in his life and been present during significant historic events—in each case, far exceeding what anyone imagined he could do. But despite all he has achieved, his one true love eludes him. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 62.225
+ */
+ popularity: number;
+ /** @example /arw2vcBveWOVZr6pxd9XTd1TdQa.jpg */
+ poster_path?: string;
+ /** @example 1994-06-23 */
+ release_date?: string;
+ /** @example Forrest Gump */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.481
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 24535
+ */
+ vote_count: number;
+ /** @example Forrest Gump */
+ character?: string;
+ /** @example 52fe420ec3a36847f800074f */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ /** @example movie */
+ media_type?: string;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /tx3uj8GPWf5pzb0gWATJ4bokNHI.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 87061
+ */
+ id: number;
+ /** @example fr */
+ original_language?: string;
+ /** @example Le Voyage extraordinaire */
+ original_title?: string;
+ /** @example An account of the extraordinary life of film pioneer Georges Méliès (1861-1938) and the amazing story of the copy in color of his masterpiece “A Trip to the Moon” (1902), unexpectedly found in Spain and restored thanks to the heroic efforts of a group of true cinema lovers. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 6.007
+ */
+ popularity: number;
+ /** @example /zHNNT9gfiGsuadR6x38KYOp6ekq.jpg */
+ poster_path?: string;
+ /** @example 2011-12-08 */
+ release_date?: string;
+ /** @example The Extraordinary Voyage */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.6
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 47
+ */
+ vote_count: number;
+ /** @example 5d818a63d34eb3002c4f8fea */
+ credit_id?: string;
+ /** @example Crew */
+ department?: string;
+ /** @example Thanks */
+ job?: string;
+ /** @example movie */
+ media_type?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "person-external-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ /** @example /m/0bxtg */
+ freebase_mid?: string;
+ /** @example /en/tom_hanks */
+ freebase_id?: string;
+ /** @example nm0000158 */
+ imdb_id?: string;
+ /**
+ * @default 0
+ * @example 14293
+ */
+ tvrage_id: number;
+ /** @example Q2263 */
+ wikidata_id?: string;
+ /** @example TomHanks */
+ facebook_id?: string;
+ /** @example tomhanks */
+ instagram_id?: string;
+ /** @example tomhanks */
+ tiktok_id?: string;
+ /** @example tomhanks */
+ twitter_id?: string;
+ youtube_id?: unknown;
+ };
+ };
+ };
+ };
+ };
+ "person-tagged-images": {
+ parameters: {
+ query?: {
+ page?: number;
+ };
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default 0
+ * @example 0.6666666666666666
+ */
+ aspect_ratio: number;
+ /** @example /1wY4psJ5NVEhCuOYROwLH2XExM2.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 1500
+ */
+ height: number;
+ /** @example 5b235d740e0a265b5d0031d9 */
+ id?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /**
+ * @default 0
+ * @example 5.456
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1000
+ */
+ width: number;
+ /** @example poster */
+ image_type?: string;
+ media?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /bdD39MpSVhKjxarTxLSfX6baoMP.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 857
+ */
+ id: number;
+ /** @example Saving Private Ryan */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Saving Private Ryan */
+ original_title?: string;
+ /** @example As U.S. troops storm the beaches of Normandy, three brothers lie dead on the battlefield, with a fourth trapped behind enemy lines. Ranger captain John Miller and seven men are tasked with penetrating German-held territory and bringing the boy home. */
+ overview?: string;
+ /** @example /uqx37cS8cpHg8U35f9U5IBlrCV3.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 70.45
+ */
+ popularity: number;
+ /** @example 1998-07-24 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.208
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 14134
+ */
+ vote_count: number;
+ };
+ /** @example movie */
+ media_type?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ translations: {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ person_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 31
+ */
+ id: number;
+ translations?: {
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example English */
+ name?: string;
+ /** @example English */
+ english_name?: string;
+ data?: {
+ /** @example Thomas Jeffrey Hanks (born July 9, 1956) is an American actor and filmmaker. Known for both his comedic and dramatic roles, Hanks is one of the most popular and recognizable film stars worldwide, and is widely regarded as an American cultural icon.
+ *
+ * Hanks made his breakthrough with leading roles in the comedies Splash (1984) and Big (1988). He won two consecutive Academy Awards for Best Actor for starring as a gay lawyer suffering from AIDS in Philadelphia (1993) and a young man with below-average IQ in Forrest Gump (1994). Hanks collaborated with film director Steven Spielberg on five films: Saving Private Ryan (1998), Catch Me If You Can (2002), The Terminal (2004), Bridge of Spies (2015), and The Post (2017), as well as the 2001 miniseries Band of Brothers, which launched him as a director, producer, and screenwriter.
+ *
+ * Hanks' other notable films include the romantic comedies Sleepless in Seattle (1993) and You've Got Mail (1998); the dramas Apollo 13 (1995), The Green Mile (1999), Cast Away (2000), Road to Perdition (2002), and Cloud Atlas (2012); and the biographical dramas Saving Mr. Banks (2013), Captain Phillips (2013), Sully (2016), and A Beautiful Day in the Neighborhood (2019). He has also appeared as the title character in the Robert Langdon film series, and has voiced Sheriff Woody in the Toy Story film series.
+ *
+ * Description above from the Wikipedia article Tom Hanks, licensed under CC-BY-SA, full list of contributors on Wikipedia. */
+ biography?: string;
+ /** @example Tom Hanks */
+ name?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "person-popular-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 224513
+ */
+ id: number;
+ known_for?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /ilRyazdMJwN05exqhwK4tMKBYZs.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 335984
+ */
+ id: number;
+ /** @example movie */
+ media_type?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Blade Runner 2049 */
+ original_title?: string;
+ /** @example Thirty years after the events of the first film, a new blade runner, LAPD Officer K, unearths a long-buried secret that has the potential to plunge what's left of society into chaos. K's discovery leads him on a quest to find Rick Deckard, a former LAPD blade runner who has been missing for 30 years. */
+ overview?: string;
+ /** @example /gajva2L0rPYkEWjzgFlBXCAVBE5.jpg */
+ poster_path?: string;
+ /** @example 2017-10-04 */
+ release_date?: string;
+ /** @example Blade Runner 2049 */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 11771
+ */
+ vote_count: number;
+ }[];
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Ana de Armas */
+ name?: string;
+ /**
+ * @default 0
+ * @example 343.33
+ */
+ popularity: number;
+ /** @example /3vxvsmYLTf4jnr163SUlBIw51ee.jpg */
+ profile_path?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 500
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 10000
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-popular-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ /** @description ISO-3166-1 code */
+ region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /gMJngTNfaqCSCqGD4y8lVMZXKDn.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 640146
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ original_title?: string;
+ /** @example Super-Hero partners Scott Lang and Hope van Dyne, along with with Hope's parents Janet van Dyne and Hank Pym, and Scott's daughter Cassie Lang, find themselves exploring the Quantum Realm, interacting with strange new creatures and embarking on an adventure that will push them beyond the limits of what they thought possible. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 8567.865
+ */
+ popularity: number;
+ /** @example /ngl2FKBlU4fhbdsrtdom9LVLBXw.jpg */
+ poster_path?: string;
+ /** @example 2023-02-15 */
+ release_date?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 6.5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1886
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 38029
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 760569
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-top-rated-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ /** @description ISO-3166-1 code */
+ region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /tmU7GeKVybMWFButWEGl2M4GeiP.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 238
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example The Godfather */
+ original_title?: string;
+ /** @example Spanning the years 1945 to 1955, a chronicle of the fictional Italian-American Corleone crime family. When organized crime family patriarch, Vito Corleone barely survives an attempt on his life, his youngest son, Michael steps in to take care of the would-be killers, launching a campaign of bloody revenge. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 100.932
+ */
+ popularity: number;
+ /** @example /3bhkrj58Vtu7enYsRolD1fZdja1.jpg */
+ poster_path?: string;
+ /** @example 1972-03-14 */
+ release_date?: string;
+ /** @example The Godfather */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.7
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 17806
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 552
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 11032
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-upcoming-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ /** @description ISO-3166-1 code */
+ region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ dates?: {
+ /** @example 2023-05-23 */
+ maximum?: string;
+ /** @example 2023-05-04 */
+ minimum?: string;
+ };
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /7bWxAsNPv9CXHOhZbJVlj2KxgfP.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 713704
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Evil Dead Rise */
+ original_title?: string;
+ /** @example Two sisters find an ancient vinyl that gives birth to bloodthirsty demons that run amok in a Los Angeles apartment building and thrusts them into a primal battle for survival as they face the most nightmarish version of family imaginable. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 1696.367
+ */
+ popularity: number;
+ /** @example /mIBCtPvKZQlxubxKMeViO2UrP3q.jpg */
+ poster_path?: string;
+ /** @example 2023-04-12 */
+ release_date?: string;
+ /** @example Evil Dead Rise */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 207
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 19
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 369
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-now-playing-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ /** @description ISO-3166-1 code */
+ region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ dates?: {
+ /** @example 2023-05-03 */
+ maximum?: string;
+ /** @example 2023-03-16 */
+ minimum?: string;
+ };
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /iJQIbOPm81fPEGKt5BPuZmfnA54.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 502356
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example The Super Mario Bros. Movie */
+ original_title?: string;
+ /** @example While working underground to fix a water main, Brooklyn plumbers—and brothers—Mario and Luigi are transported down a mysterious pipe and wander into a magical new world. But when the brothers are separated, Mario embarks on an epic quest to find Luigi. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 6572.614
+ */
+ popularity: number;
+ /** @example /qNBAXBIQlnOThrVvA6mA2B5ggV6.jpg */
+ poster_path?: string;
+ /** @example 2023-04-05 */
+ release_date?: string;
+ /** @example The Super Mario Bros. Movie */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1456
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 87
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1734
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-airing-today-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ timezone?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example /mAJ84W6I8I272Da87qplS2Dp9ST.jpg */
+ backdrop_path?: string;
+ /** @example 2023-01-23 */
+ first_air_date?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 202250
+ */
+ id: number;
+ /** @example Dirty Linen */
+ name?: string;
+ origin_country?: string[];
+ /** @example tl */
+ original_language?: string;
+ /** @example Dirty Linen */
+ original_name?: string;
+ /** @example To exact vengeance, a young woman infiltrates the household of an influential family as a housemaid to expose their dirty secrets. However, love will get in the way of her revenge plot. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 2797.914
+ */
+ popularity: number;
+ /** @example /aoAZgnmMzY9vVy9VWnO3U5PZENh.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 14
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 265
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-on-the-air-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ timezone?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example /mAJ84W6I8I272Da87qplS2Dp9ST.jpg */
+ backdrop_path?: string;
+ /** @example 2023-01-23 */
+ first_air_date?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 202250
+ */
+ id: number;
+ /** @example Dirty Linen */
+ name?: string;
+ origin_country?: string[];
+ /** @example tl */
+ original_language?: string;
+ /** @example Dirty Linen */
+ original_name?: string;
+ /** @example To exact vengeance, a young woman infiltrates the household of an influential family as a housemaid to expose their dirty secrets. However, love will get in the way of her revenge plot. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 2797.914
+ */
+ popularity: number;
+ /** @example /aoAZgnmMzY9vVy9VWnO3U5PZENh.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 58
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1151
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-popular-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example /mAJ84W6I8I272Da87qplS2Dp9ST.jpg */
+ backdrop_path?: string;
+ /** @example 2023-01-23 */
+ first_air_date?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 202250
+ */
+ id: number;
+ /** @example Dirty Linen */
+ name?: string;
+ origin_country?: string[];
+ /** @example tl */
+ original_language?: string;
+ /** @example Dirty Linen */
+ original_name?: string;
+ /** @example To exact vengeance, a young woman infiltrates the household of an influential family as a housemaid to expose their dirty secrets. However, love will get in the way of her revenge plot. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 2797.914
+ */
+ popularity: number;
+ /** @example /aoAZgnmMzY9vVy9VWnO3U5PZENh.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 7416
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 148302
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-top-rated-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example /99vBORZixICa32Pwdwj0lWcr8K.jpg */
+ backdrop_path?: string;
+ /** @example 2021-09-03 */
+ first_air_date?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 130392
+ */
+ id: number;
+ /** @example The D'Amelio Show */
+ name?: string;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example The D'Amelio Show */
+ original_name?: string;
+ /** @example From relative obscurity and a seemingly normal life, to overnight success and thrust into the Hollywood limelight overnight, the D’Amelios are faced with new challenges and opportunities they could not have imagined. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 12.459
+ */
+ popularity: number;
+ /** @example /phv2Jc4H8cvRzvTKb9X1uKMboTu.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 8.9
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 3190
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 142
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 2833
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "movie-latest-id": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ backdrop_path?: unknown;
+ belongs_to_collection?: unknown;
+ /**
+ * @default 0
+ * @example 0
+ */
+ budget: number;
+ genres?: unknown[];
+ /** @example */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 1119232
+ */
+ id: number;
+ imdb_id?: unknown;
+ /** @example fr */
+ original_language?: string;
+ /** @example König Charles III */
+ original_title?: string;
+ /** @example */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ popularity: number;
+ poster_path?: unknown;
+ production_companies?: unknown[];
+ production_countries?: unknown[];
+ /** @example */
+ release_date?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ revenue: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ runtime: number;
+ spoken_languages?: unknown[];
+ /** @example Released */
+ status?: string;
+ /** @example */
+ tagline?: string;
+ /** @example König Charles III */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_count: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-latest-id": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ backdrop_path?: unknown;
+ created_by?: unknown[];
+ episode_run_time?: unknown[];
+ /** @example */
+ first_air_date?: string;
+ genres?: unknown[];
+ /** @example */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 225491
+ */
+ id: number;
+ /**
+ * @default true
+ * @example true
+ */
+ in_production: boolean;
+ languages?: unknown[];
+ /** @example 2023-04-21 */
+ last_air_date?: string;
+ last_episode_to_air?: {
+ /**
+ * @default 0
+ * @example 4398801
+ */
+ id: number;
+ /** @example Episode 8 */
+ name?: string;
+ /** @example */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_count: number;
+ /** @example 2023-04-21 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ episode_number: number;
+ /** @example */
+ production_code?: string;
+ runtime?: unknown;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 225491
+ */
+ show_id: number;
+ still_path?: unknown;
+ };
+ /** @example 妖怪传 */
+ name?: string;
+ next_episode_to_air?: unknown;
+ networks?: unknown[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ number_of_episodes: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ number_of_seasons: number;
+ origin_country?: string[];
+ /** @example zh */
+ original_language?: string;
+ /** @example 妖怪传 */
+ original_name?: string;
+ /** @example */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ popularity: number;
+ poster_path?: unknown;
+ production_companies?: unknown[];
+ production_countries?: unknown[];
+ seasons?: {
+ air_date?: unknown;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_count: number;
+ /**
+ * @default 0
+ * @example 338956
+ */
+ id: number;
+ /** @example Season 1 */
+ name?: string;
+ /** @example */
+ overview?: string;
+ poster_path?: unknown;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ }[];
+ spoken_languages?: unknown[];
+ /** @example Returning Series */
+ status?: string;
+ /** @example */
+ tagline?: string;
+ /** @example Scripted */
+ type?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ vote_count: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-aggregate-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 1223786
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Emilia Clarke */
+ name?: string;
+ /** @example Emilia Clarke */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 42.737
+ */
+ popularity: number;
+ /** @example /u59kTmNHXzaGZqokivxLPiBVIML.jpg */
+ profile_path?: string;
+ roles?: {
+ /** @example 5256c8af19c2956ff60479f6 */
+ credit_id?: string;
+ /** @example Daenerys Targaryen */
+ character?: string;
+ /**
+ * @default 0
+ * @example 78
+ */
+ episode_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 78
+ */
+ total_episode_count: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 6411
+ */
+ id: number;
+ /** @example Art */
+ known_for_department?: string;
+ /** @example Deborah Riley */
+ name?: string;
+ /** @example Deborah Riley */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 1.4
+ */
+ popularity: number;
+ /** @example /cjhADpqdrnwB1PdDUKaBnWrIj2Q.jpg */
+ profile_path?: string;
+ jobs?: {
+ /** @example 54eee9e5c3a3686d5800584e */
+ credit_id?: string;
+ /** @example Production Design */
+ job?: string;
+ /**
+ * @default 0
+ * @example 43
+ */
+ episode_count: number;
+ }[];
+ /** @example Art */
+ department?: string;
+ /**
+ * @default 0
+ * @example 43
+ */
+ total_episode_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-alternative-titles": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ results?: {
+ /** @example AL */
+ iso_3166_1?: string;
+ /** @example Froni i shpatave */
+ title?: string;
+ /** @example */
+ type?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-content-ratings": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ descriptors?: unknown[];
+ /** @example DE */
+ iso_3166_1?: string;
+ /** @example 16 */
+ rating?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 22970
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Peter Dinklage */
+ name?: string;
+ /** @example Peter Dinklage */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 30.6
+ */
+ popularity: number;
+ /** @example /lRsRgnksAhBRXwAB68MFjmTtLrk.jpg */
+ profile_path?: string;
+ /** @example Tyrion Lannister */
+ character?: string;
+ /** @example 5256c8b219c2956ff6047cd8 */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 1406855
+ */
+ id: number;
+ /** @example Production */
+ known_for_department?: string;
+ /** @example Duncan Muggoch */
+ name?: string;
+ /** @example Duncan Muggoch */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 1.592
+ */
+ popularity: number;
+ /** @example /ukGjJ62Ejd4cFziald03G34Fsrp.jpg */
+ profile_path?: string;
+ /** @example 5ceab029c3a3682e93217a85 */
+ credit_id?: string;
+ /** @example Production */
+ department?: string;
+ /** @example Producer */
+ job?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-episode-groups": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ /** @example */
+ description?: string;
+ /**
+ * @default 0
+ * @example 102
+ */
+ episode_count: number;
+ /**
+ * @default 0
+ * @example 9
+ */
+ group_count: number;
+ /** @example 5e9077d2e640d600151f32bd */
+ id?: string;
+ /** @example Aired Order */
+ name?: string;
+ network?: {
+ /**
+ * @default 0
+ * @example 49
+ */
+ id: number;
+ /** @example /tuomPhY2UtuPTqqFnKMVHvSb724.png */
+ logo_path?: string;
+ /** @example HBO */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ };
+ /**
+ * @default 0
+ * @example 1
+ */
+ type: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-external-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ /** @example tt0944947 */
+ imdb_id?: string;
+ /** @example /m/0524b41 */
+ freebase_mid?: string;
+ /** @example /en/game_of_thrones */
+ freebase_id?: string;
+ /**
+ * @default 0
+ * @example 121361
+ */
+ tvdb_id: number;
+ /**
+ * @default 0
+ * @example 24493
+ */
+ tvrage_id: number;
+ /** @example Q23572 */
+ wikidata_id?: string;
+ /** @example GameOfThrones */
+ facebook_id?: string;
+ /** @example gameofthrones */
+ instagram_id?: string;
+ /** @example GameOfThrones */
+ twitter_id?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-keywords": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ results?: {
+ /** @example based on novel or book */
+ name?: string;
+ /**
+ * @default 0
+ * @example 818
+ */
+ id: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-recommendations": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /bsNm9z2TJfe0WO3RedPGWQ8mG1X.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 1396
+ */
+ id: number;
+ /** @example Breaking Bad */
+ name?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Breaking Bad */
+ original_name?: string;
+ /** @example When Walter White, a New Mexico chemistry teacher, is diagnosed with Stage III cancer and given a prognosis of only two years left to live. He becomes filled with a sense of fearlessness and an unrelenting desire to secure his family's financial future at any cost as he enters the dangerous world of drugs and crime. */
+ overview?: string;
+ /** @example /ggFHVNu6YYI5L9pCfOacjizRGt.jpg */
+ poster_path?: string;
+ /** @example tv */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 292.904
+ */
+ popularity: number;
+ /** @example 2008-01-20 */
+ first_air_date?: string;
+ /**
+ * @default 0
+ * @example 8.878
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 11544
+ */
+ vote_count: number;
+ origin_country?: string[];
+ }[];
+ /**
+ * @default 0
+ * @example 2
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 40
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-reviews": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example lmao7 */
+ author?: string;
+ author_details?: {
+ /** @example lmao7 */
+ name?: string;
+ /** @example lmao7 */
+ username?: string;
+ /** @example /ekmYOUU4tfx9zGGadjRdE7UPce.jpg */
+ avatar_path?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ rating: number;
+ };
+ /** @example I started watching when it came out as I heard that fans of LOTR also liked this. I stopped watching after Season 1 as I was devastated lol kinda. Only 2015 I decided to continue watching and got addicted like it seemed complicated at first, too many stories and characters. I even used a guide from internet like family tree per house while watching or GOT wiki so I can have more background on the characters. For a TV series, this show can really take you to a different world and never knowing what will happen. It is very daring that any time anybody can just die (I learned not to be attached and have accepted that they will all die so I won't be devastated hehe). I have never read the books but the show is entertaining and you will really root for your faves and really hate on those you hate.
+ *
+ * Fantasy, action, drama, comedy, love...and lots of surprises! */
+ content?: string;
+ /** @example 2017-02-20T05:47:28.872Z */
+ created_at?: string;
+ /** @example 58aa82f09251416f92006a3a */
+ id?: string;
+ /** @example 2021-06-23T15:57:54.649Z */
+ updated_at?: string;
+ /** @example https://www.themoviedb.org/review/58aa82f09251416f92006a3a */
+ url?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 11
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-screened-theatrically": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ results?: {
+ /**
+ * @default 0
+ * @example 1159054
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 10
+ */
+ episode_number: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ season_number: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-similar": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ series_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /zcFSvWa34nDn2NcqOPuthyOIBWT.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 197063
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example ko */
+ original_language?: string;
+ /** @example 종이달 */
+ original_name?: string;
+ /** @example A thriller drama about Yoo I-hwa, a stay-at-home mom living her comfortable and contented life without desires, but to her husband's indifference. While working as a bank contract employee, she unexpectedly touches money from VIP clients and gradually falls into an irreversible collapse. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 12.299
+ */
+ popularity: number;
+ /** @example /xXWynVdMGyJXBUDvIN27AXM3iJJ.jpg */
+ poster_path?: string;
+ /** @example 2023-04-10 */
+ first_air_date?: string;
+ /** @example Pale Moon */
+ name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 82
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1639
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ translations?: {
+ /** @example SA */
+ iso_3166_1?: string;
+ /** @example ar */
+ iso_639_1?: string;
+ /** @example العربية */
+ name?: string;
+ /** @example Arabic */
+ english_name?: string;
+ data?: {
+ /** @example صراع العروش */
+ name?: string;
+ /** @example تتقاتل سبع عائلات نبيلة من أجل السيطرة على أرض - ويستيروس - الأسطورية. الاحتكاك بين العوائل يؤدي إلى حرب واسعة النطاق. في حين يستيقظ الشر القديم في أقصى الشمال. وفي خضم الحرب، نظام عسكري مهمَل - حرس الليل - هم كل ما يقف بين عالم الإنسان والأهوال الجليدية. */
+ overview?: string;
+ /** @example */
+ homepage?: string;
+ /** @example الشتاء قادم */
+ tagline?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-videos": {
+ parameters: {
+ query?: {
+ /** @description filter the list results by language, supports more than one value by using a comma */
+ include_video_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ results?: {
+ /** @example en */
+ iso_639_1?: string;
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example Inside Game of Thrones: A Story in Camera Work – BTS (HBO) */
+ name?: string;
+ /** @example y2ZJ3lTaREY */
+ key?: string;
+ /** @example YouTube */
+ site?: string;
+ /**
+ * @default 0
+ * @example 1080
+ */
+ size: number;
+ /** @example Behind the Scenes */
+ type?: string;
+ /**
+ * @default true
+ * @example true
+ */
+ official: boolean;
+ /** @example 2019-03-25T14:00:06.000Z */
+ published_at?: string;
+ /** @example 5c999b48c3a36863b73b9d42 */
+ id?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-series-watch-providers": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ results?: {
+ AE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=AE */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ AR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=AR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ AT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=AT */
+ link?: string;
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /y0kyIFElN5sJAsmW8Txj69wzrD2.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 321
+ */
+ provider_id: number;
+ /** @example Sky X */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 23
+ */
+ display_priority: number;
+ }[];
+ };
+ AU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=AU */
+ link?: string;
+ flatrate?: {
+ /** @example /d3ixI1no0EpTj2i7u0Sd2DBXVlG.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 385
+ */
+ provider_id: number;
+ /** @example BINGE */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ BA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BA */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ BB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BB */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ BE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BE */
+ link?: string;
+ flatrate?: {
+ /** @example /pq8p1umEnJjdFAP1nFvNArTR61X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 311
+ */
+ provider_id: number;
+ /** @example Be TV Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ BG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BG */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ };
+ BO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ BR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ BS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=BS */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ CA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CA */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /gJ3yVMWouaVj6iHd59TISJ1TlM5.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 230
+ */
+ provider_id: number;
+ /** @example Crave */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ CH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CH */
+ link?: string;
+ flatrate?: {
+ /** @example /sHP8XLo4Ac4WMbziRyAdRQdb76q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 210
+ */
+ provider_id: number;
+ /** @example Sky */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ CI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CI */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ CL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CL */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ CO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ CR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ CZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=CZ */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ display_priority: number;
+ }[];
+ };
+ DE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=DE */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /MiVcYLkztM6qqLeVSYWHFCUcXx.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ provider_id: number;
+ /** @example WOW */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ DK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=DK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ DO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=DO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ DZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=DZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ EC?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=EC */
+ link?: string;
+ flatrate?: {
+ /** @example /cDzkhgvozSr4GW2aRdV22uDuFpw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 339
+ */
+ provider_id: number;
+ /** @example Movistar Play */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ EG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=EG */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ ES?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=ES */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ FI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=FI */
+ link?: string;
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ FR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=FR */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /loOaayvNiLnD0zKl70TO2L5vlAL.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 1870
+ */
+ provider_id: number;
+ /** @example Pass Warner Amazon Channel */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 95
+ */
+ display_priority: number;
+ }[];
+ };
+ GB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=GB */
+ link?: string;
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ GF?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=GF */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ };
+ GH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=GH */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ GQ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=GQ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ GT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=GT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ HK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=HK */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ display_priority: number;
+ }[];
+ };
+ HN?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=HN */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ HR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=HR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 34
+ */
+ display_priority: number;
+ }[];
+ };
+ HU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=HU */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ display_priority: number;
+ }[];
+ };
+ ID?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=ID */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 14
+ */
+ display_priority: number;
+ }[];
+ };
+ IE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=IE */
+ link?: string;
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /2pCbao1J9s0DMak2KKnEzmzHni8.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 130
+ */
+ provider_id: number;
+ /** @example Sky Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ IL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=IL */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ IQ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=IQ */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ IT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=IT */
+ link?: string;
+ buy?: {
+ /** @example /cksgBjTHV3rzAVaO2zUyS1mH4Ke.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ provider_id: number;
+ /** @example Chili */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ JM?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=JM */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ JP?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=JP */
+ link?: string;
+ flatrate?: {
+ /** @example /npg1OiBidQSndMsBZwgEPOYU6Jq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 84
+ */
+ provider_id: number;
+ /** @example U-NEXT */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ KE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=KE */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ KR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=KR */
+ link?: string;
+ flatrate?: {
+ /** @example /2ioan5BX5L9tz4fIGU93blTeFhv.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 356
+ */
+ provider_id: number;
+ /** @example wavve */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ LB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=LB */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ LT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=LT */
+ link?: string;
+ flatrate?: {
+ /** @example /xTVM8uXT9QocigQ07LE7Irc65W2.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 553
+ */
+ provider_id: number;
+ /** @example Telia Play */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ };
+ LY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=LY */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ MD?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MD */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 26
+ */
+ display_priority: number;
+ }[];
+ };
+ MK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ display_priority: number;
+ }[];
+ };
+ MU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MU */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ MX?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MX */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ MY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MY */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 14
+ */
+ display_priority: number;
+ }[];
+ };
+ MZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=MZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ NE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=NE */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ NG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=NG */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ NL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=NL */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 47
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ NO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=NO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ NZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=NZ */
+ link?: string;
+ flatrate?: {
+ /** @example /od4YNSSLgOP3p8EtQTnEYfrPa77.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 273
+ */
+ provider_id: number;
+ /** @example Neon TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ PA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PA */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ PE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ PH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PH */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ PL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PL */
+ link?: string;
+ flatrate?: {
+ /** @example /l5Wxbsgral716BOtZsGyPVNn8GC.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 250
+ */
+ provider_id: number;
+ /** @example Horizon */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /bZNXgd8fwVTD68aAGlElkpAtu7b.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 549
+ */
+ provider_id: number;
+ /** @example IPLA */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 17
+ */
+ display_priority: number;
+ }[];
+ };
+ PS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PS */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ PT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ PY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=PY */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ RO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=RO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 17
+ */
+ display_priority: number;
+ }[];
+ };
+ RS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=RS */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 32
+ */
+ display_priority: number;
+ }[];
+ };
+ RU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=RU */
+ link?: string;
+ flatrate?: {
+ /** @example /w1T8s7FqakcfucR8cgOvbe6UeXN.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 115
+ */
+ provider_id: number;
+ /** @example Okko */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ display_priority: number;
+ }[];
+ ads?: {
+ /** @example /3jJtMOIwtvcrCyeRMUvv4wsfhJk.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 577
+ */
+ provider_id: number;
+ /** @example TvIgle */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ display_priority: number;
+ }[];
+ };
+ SA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SA */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ SC?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SC */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ SE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ SG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SG */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ SI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SI */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ display_priority: number;
+ }[];
+ };
+ SK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 37
+ */
+ display_priority: number;
+ }[];
+ };
+ SN?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SN */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ SV?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=SV */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ TH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=TH */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ TR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=TR */
+ link?: string;
+ flatrate?: {
+ /** @example /z3XAGCCbDD3KTZFvc96Ytr3XR56.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 341
+ */
+ provider_id: number;
+ /** @example blutv */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ TT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=TT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ TW?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=TW */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ display_priority: number;
+ }[];
+ };
+ TZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=TZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ UG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=UG */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ US?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=US */
+ link?: string;
+ free?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ UY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=UY */
+ link?: string;
+ flatrate?: {
+ /** @example /kV8XFGI5OLJKl72dI8DtnKplfFr.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 467
+ */
+ provider_id: number;
+ /** @example DIRECTV GO */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ VE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=VE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ ZA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=ZA */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ ZM?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/watch?locale=ZM */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ "tv-series-add-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header: {
+ "Content-Type": string;
+ };
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-series-delete-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header?: {
+ "Content-Type"?: string;
+ };
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 13
+ */
+ status_code: number;
+ /** @example The item/record was deleted successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-season-account-states": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ guest_session_id?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ results?: {
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_number: number;
+ rated?: {
+ /**
+ * @default 0
+ * @example 9
+ */
+ value: number;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-season-aggregate-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 22970
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Peter Dinklage */
+ name?: string;
+ /** @example Peter Dinklage */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 30.6
+ */
+ popularity: number;
+ /** @example /lRsRgnksAhBRXwAB68MFjmTtLrk.jpg */
+ profile_path?: string;
+ roles?: {
+ /** @example 5256c8b219c2956ff6047cd8 */
+ credit_id?: string;
+ /** @example Tyrion Lannister */
+ character?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ episode_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 10
+ */
+ total_episode_count: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 9153
+ */
+ id: number;
+ /** @example Art */
+ known_for_department?: string;
+ /** @example Gemma Jackson */
+ name?: string;
+ /** @example Gemma Jackson */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 0.995
+ */
+ popularity: number;
+ profile_path?: unknown;
+ jobs?: {
+ /** @example 54eee8b8c3a3686d5e005430 */
+ credit_id?: string;
+ /** @example Production Design */
+ job?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ episode_count: number;
+ }[];
+ /** @example Art */
+ department?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ total_episode_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-season-changes-by-id": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path: {
+ season_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ changes?: {
+ /** @example episode */
+ key?: string;
+ items?: {
+ /** @example 5717c8c69251414cfd00250f */
+ id?: string;
+ /** @example updated */
+ action?: string;
+ /** @example 2016-04-20 18:21:58 UTC */
+ time?: string;
+ value?: {
+ /**
+ * @default 0
+ * @example 63056
+ */
+ episode_id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_number: number;
+ };
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-season-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 22970
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Peter Dinklage */
+ name?: string;
+ /** @example Peter Dinklage */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 30.6
+ */
+ popularity: number;
+ /** @example /lRsRgnksAhBRXwAB68MFjmTtLrk.jpg */
+ profile_path?: string;
+ /** @example Tyrion Lannister */
+ character?: string;
+ /** @example 5256c8b219c2956ff6047cd8 */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 0
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 1223796
+ */
+ id: number;
+ /** @example Production */
+ known_for_department?: string;
+ /** @example Frank Doelger */
+ name?: string;
+ /** @example Frank Doelger */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 0.694
+ */
+ popularity: number;
+ profile_path?: unknown;
+ /** @example 5256c8c419c2956ff604867c */
+ credit_id?: string;
+ /** @example Production */
+ department?: string;
+ /** @example Producer */
+ job?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-season-external-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ /** @example /m/0gmd1gd */
+ freebase_mid?: string;
+ /** @example /m/0gmd1gd */
+ freebase_id?: string;
+ /**
+ * @default 0
+ * @example 364731
+ */
+ tvdb_id: number;
+ tvrage_id?: unknown;
+ /** @example Q1658029 */
+ wikidata_id?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-season-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ translations?: {
+ /** @example SA */
+ iso_3166_1?: string;
+ /** @example ar */
+ iso_639_1?: string;
+ /** @example العربية */
+ name?: string;
+ /** @example Arabic */
+ english_name?: string;
+ data?: {
+ /** @example */
+ name?: string;
+ /** @example سلسلة درامية مبنية على سلسلة روايات لـ جورج آر آر مارتن بعنوان "إيه سونغ أوف آيس أن فاير" والتي حققت مبيعات كبيرة وتتمحور حول الصراعات التي كانت تحدث في العصور الوسطى بين العائلات النبيلة للسيطرة على عرش وستيروس. */
+ overview?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-season-videos": {
+ parameters: {
+ query?: {
+ /** @description filter the list results by language, supports more than one value by using a comma */
+ include_video_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ results?: {
+ /** @example en */
+ iso_639_1?: string;
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example Game Of Thrones - Season 1 Recap - Official HBO UK */
+ name?: string;
+ /** @example e0Y8KpQpW8c */
+ key?: string;
+ /** @example YouTube */
+ site?: string;
+ /**
+ * @default 0
+ * @example 1080
+ */
+ size: number;
+ /** @example Recap */
+ type?: string;
+ /**
+ * @default true
+ * @example true
+ */
+ official: boolean;
+ /** @example 2015-05-19T16:31:23.000Z */
+ published_at?: string;
+ /** @example 5ce71a920e0a265ac0cfe497 */
+ id?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-credits": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ cast?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 22970
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Peter Dinklage */
+ name?: string;
+ /** @example Peter Dinklage */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 30.6
+ */
+ popularity: number;
+ /** @example /lRsRgnksAhBRXwAB68MFjmTtLrk.jpg */
+ profile_path?: string;
+ /** @example Tyrion Lannister */
+ character?: string;
+ /** @example 5256c8b219c2956ff6047cd8 */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ crew?: {
+ /** @example Directing */
+ department?: string;
+ /** @example Director */
+ job?: string;
+ /** @example 5256c8a219c2956ff6046e77 */
+ credit_id?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 44797
+ */
+ id: number;
+ /** @example Directing */
+ known_for_department?: string;
+ /** @example Timothy Van Patten */
+ name?: string;
+ /** @example Timothy Van Patten */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 8.292
+ */
+ popularity: number;
+ /** @example /MzSOFrd99HRdr6pkSRSctk3kBR.jpg */
+ profile_path?: string;
+ }[];
+ guest_stars?: {
+ /** @example Benjen Stark */
+ character?: string;
+ /** @example 5256c8b919c2956ff604836a */
+ credit_id?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ order: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /**
+ * @default 0
+ * @example 119783
+ */
+ id: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example Joseph Mawle */
+ name?: string;
+ /** @example Joseph Mawle */
+ original_name?: string;
+ /**
+ * @default 0
+ * @example 8.559
+ */
+ popularity: number;
+ /** @example /1Ocb9v3h54beGVoJMm4w50UQhLf.jpg */
+ profile_path?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-external-ids": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ /** @example tt1480055 */
+ imdb_id?: string;
+ /** @example /m/0gmc6ph */
+ freebase_mid?: string;
+ /** @example /en/winter_is_coming */
+ freebase_id?: string;
+ /**
+ * @default 0
+ * @example 3254641
+ */
+ tvdb_id: number;
+ /**
+ * @default 0
+ * @example 1065008299
+ */
+ tvrage_id: number;
+ /** @example Q2614622 */
+ wikidata_id?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ translations?: {
+ /** @example SA */
+ iso_3166_1?: string;
+ /** @example ar */
+ iso_639_1?: string;
+ /** @example العربية */
+ name?: string;
+ /** @example Arabic */
+ english_name?: string;
+ data?: {
+ /** @example */
+ name?: string;
+ /** @example خلف باب واسع من الجليد في شمالي وستيروس هناك شيء يحدث. تتلقى عائلة ستارك التي من وينترفيل زيارة من العائلة المالكة، بينما يشكل أمير عائلة تارغارين المنفي تحالفاً جديداً للسيطرة على العرش من جديد. */
+ overview?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-videos": {
+ parameters: {
+ query?: {
+ /** @description filter the list results by language, supports more than one value by using a comma */
+ include_video_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ results?: {
+ /** @example en */
+ iso_639_1?: string;
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example Game Of Thrones - Season 1 Recap - Official HBO UK */
+ name?: string;
+ /** @example e0Y8KpQpW8c */
+ key?: string;
+ /** @example YouTube */
+ site?: string;
+ /**
+ * @default 0
+ * @example 1080
+ */
+ size: number;
+ /** @example Recap */
+ type?: string;
+ /**
+ * @default true
+ * @example true
+ */
+ official: boolean;
+ /** @example 2015-05-19T16:31:23.000Z */
+ published_at?: string;
+ /** @example 5ce71a920e0a265ac0cfe497 */
+ id?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-add-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header: {
+ "Content-Type": string;
+ };
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-delete-rating": {
+ parameters: {
+ query?: {
+ guest_session_id?: string;
+ session_id?: string;
+ };
+ header?: {
+ "Content-Type"?: string;
+ };
+ path: {
+ series_id: number;
+ season_number: number;
+ episode_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 13
+ */
+ status_code: number;
+ /** @example The item/record was deleted successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "account-details": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ avatar?: {
+ gravatar?: {
+ /** @example c9e9fc152ee756a900db85757c29815d */
+ hash?: string;
+ };
+ tmdb?: {
+ /** @example /xy44UvpbTgzs9kWmp4C3fEaCl5h.png */
+ avatar_path?: string;
+ };
+ };
+ /**
+ * @default 0
+ * @example 548
+ */
+ id: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example CA */
+ iso_3166_1?: string;
+ /** @example Travis Bell */
+ name?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ include_adult: boolean;
+ /** @example travisbell */
+ username?: string;
+ };
+ };
+ };
+ };
+ };
+ "account-lists": {
+ parameters: {
+ query?: {
+ page?: number;
+ session_id?: string;
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example */
+ description?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ favorite_count: number;
+ /**
+ * @default 0
+ * @example 120174
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ item_count: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example movie */
+ list_type?: string;
+ /** @example Test Alpha Sort */
+ name?: string;
+ poster_path?: unknown;
+ }[];
+ /**
+ * @default 0
+ * @example 2
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 25
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-get-favorites": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /se5Hxz7PArQZOG3Nx2bpfOhLhtV.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 9806
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example The Incredibles */
+ original_title?: string;
+ /** @example Bob Parr has given up his superhero days to log in time as an insurance adjuster and raise his three children with his formerly heroic wife in suburbia. But when he receives a mysterious assignment, it's time to get back into costume. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 71.477
+ */
+ popularity: number;
+ /** @example /2LqaLgk4Z226KkgPJuiOQ58wvrm.jpg */
+ poster_path?: string;
+ /** @example 2004-10-27 */
+ release_date?: string;
+ /** @example The Incredibles */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.702
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 16162
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 4
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 80
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-favorite-tv": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /bsNm9z2TJfe0WO3RedPGWQ8mG1X.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 1396
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Breaking Bad */
+ original_name?: string;
+ /** @example When Walter White, a New Mexico chemistry teacher, is diagnosed with Stage III cancer and given a prognosis of only two years left to live. He becomes filled with a sense of fearlessness and an unrelenting desire to secure his family's financial future at any cost as he enters the dangerous world of drugs and crime. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 292.904
+ */
+ popularity: number;
+ /** @example /ggFHVNu6YYI5L9pCfOacjizRGt.jpg */
+ poster_path?: string;
+ /** @example 2008-01-20 */
+ first_air_date?: string;
+ /** @example Breaking Bad */
+ name?: string;
+ /**
+ * @default 0
+ * @example 8.878
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 11548
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 4
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 68
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-rated-movies": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /dUVbWINfRMGojGZRcO6GF1Z2nV8.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 120
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example The Lord of the Rings: The Fellowship of the Ring */
+ original_title?: string;
+ /** @example Young hobbit Frodo Baggins, after inheriting a mysterious ring from his uncle Bilbo, must leave his home in order to keep it from falling into the hands of its evil creator. Along the way, a fellowship is formed to protect the ringbearer and make sure that the ring arrives at its final destination: Mt. Doom, the only place where it can be destroyed. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 84.737
+ */
+ popularity: number;
+ /** @example /6oom5QYQ2yQTMJIbnvbkBL9cHo6.jpg */
+ poster_path?: string;
+ /** @example 2001-12-18 */
+ release_date?: string;
+ /** @example The Lord of the Rings: The Fellowship of the Ring */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.396
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 22579
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 47
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 940
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-rated-tv": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /2yZXtM2Kky1Sy0kachbDlwybl3y.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 1705
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Fringe */
+ original_name?: string;
+ /** @example FBI Special Agent Olivia Dunham, brilliant but formerly institutionalized scientist Walter Bishop and his scheming, reluctant son Peter uncover a deadly mystery involving a series of unbelievable events and realize they may be a part of a larger, more disturbing pattern that blurs the line between science fiction and technology. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 151.906
+ */
+ popularity: number;
+ /** @example /sY9hg5dLJ93RJOyKEiu1nAtBRND.jpg */
+ poster_path?: string;
+ /** @example 2008-09-09 */
+ first_air_date?: string;
+ /** @example Fringe */
+ name?: string;
+ /**
+ * @default 0
+ * @example 8.109
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 2050
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 9
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 15
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 290
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-rated-tv-episodes": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example 2013-10-17 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ episode_number: number;
+ /**
+ * @default 0
+ * @example 64782
+ */
+ id: number;
+ /** @example The Workplace Proximity */
+ name?: string;
+ /** @example Amy starts working at Caltech which causes friction with Sheldon. Howard agrees with Sheldon who mentions this to Bernadette causing a big fight for the Wolowitzes. */
+ overview?: string;
+ /** @example 4X5305 */
+ production_code?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ runtime: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 1418
+ */
+ show_id: number;
+ /** @example /k8atjbd5gAsntuhbPnFpvnvo0qn.jpg */
+ still_path?: string;
+ /**
+ * @default 0
+ * @example 7.242
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 31
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 10
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 186
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-watchlist-movies": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /rgNzvSagnlc32TuMEBa529QFIig.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 76726
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Chronicle */
+ original_title?: string;
+ /** @example Three high school students make an incredible discovery, leading to their developing uncanny powers beyond their understanding. As they learn to control their abilities and use them to their advantage, their lives start to spin out of control, and their darker sides begin to take over. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 37.148
+ */
+ popularity: number;
+ /** @example /xENglsVIIWEEhhB5lgpy33tGcKI.jpg */
+ poster_path?: string;
+ /** @example 2012-02-01 */
+ release_date?: string;
+ /** @example Chronicle */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 6.822
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 4741
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 34
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 677
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-watchlist-tv": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ session_id?: string;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /7phlGHRupo38EnuwmkAHdNUqov3.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 58932
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example The Crazy Ones */
+ original_name?: string;
+ /** @example The Crazy Ones is an American situation comedy series created by David E. Kelley that stars Robin Williams and Sarah Michelle Gellar. The single-camera project premiered on CBS on September 26, 2013, as part of the 2013–14 American television season as a Thursday night 9 pm entry. Bill D'Elia, Dean Lorey, Jason Winer, John Montgomery and Mark Teitelbaum serve as executive producers for 20th Century Fox Television. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 8.939
+ */
+ popularity: number;
+ /** @example /s2e7hTrdmNUaJDf0yDP5b4AHvrD.jpg */
+ poster_path?: string;
+ /** @example 2013-09-26 */
+ first_air_date?: string;
+ /** @example The Crazy Ones */
+ name?: string;
+ /**
+ * @default 0
+ * @example 6.176
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 94
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 17
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 325
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "account-add-favorite": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "account-add-to-watchlist": {
+ parameters: {
+ query?: {
+ session_id?: string;
+ };
+ header?: never;
+ path: {
+ account_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "certification-movie-list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ certifications?: {
+ AU?: {
+ /** @example E */
+ certification?: string;
+ /** @example Exempt from classification. Films that are exempt from classification must not contain contentious material (i.e. material that would ordinarily be rated M or higher). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ BG?: {
+ /** @example D */
+ certification?: string;
+ /** @example Prohibited for persons under 16. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ order: number;
+ }[];
+ BR?: {
+ /** @example 14 */
+ certification?: string;
+ /** @example Not recommended for minors under fourteen. More violent material, stronger sex references and/or nudity. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ order: number;
+ }[];
+ CA?: {
+ /** @example G */
+ certification?: string;
+ /** @example All ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ order: number;
+ }[];
+ "CA-QC"?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ DE?: {
+ /** @example 12 */
+ certification?: string;
+ /** @example Children 12 or older admitted, children between 6 and 11 only when accompanied by parent or a legal guardian. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ order: number;
+ }[];
+ DK?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ ES?: {
+ /** @example A */
+ certification?: string;
+ /** @example General admission. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ FI?: {
+ /** @example K-16 */
+ certification?: string;
+ /** @example Over 16 years. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ order: number;
+ }[];
+ FR?: {
+ /** @example TP */
+ certification?: string;
+ /** @example Valid for all audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ GB?: {
+ /** @example 15 */
+ certification?: string;
+ /** @example Only those over 15 years are admitted. Nobody younger than 15 can rent or buy a 15-rated VHS, DVD, Blu-ray Disc, UMD or game, or watch a film in the cinema with this rating. Films under this category can contain adult themes, hard drugs, frequent strong language and limited use of very strong language, strong violence and strong sex references, and nudity without graphic detail. Sexual activity may be portrayed but without any strong detail. Sexual violence may be shown if discreet and justified by context. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ order: number;
+ }[];
+ HU?: {
+ /** @example 6 */
+ certification?: string;
+ /** @example Not recommended below age of 6. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ order: number;
+ }[];
+ IN?: {
+ /** @example U */
+ certification?: string;
+ /** @example Unrestricted Public Exhibition throughout India, suitable for all age groups. Films under this category should not upset children over 4. Such films may contain educational, social or family-oriented themes. Films under this category may also contain fantasy violence and/or mild bad language. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ IT?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ LT?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ MY?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ NL?: {
+ /** @example AL */
+ certification?: string;
+ /** @example All ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ NO?: {
+ /** @example 6 */
+ certification?: string;
+ /** @example 6 years (no restriction for children accompanied by an adult). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ order: number;
+ }[];
+ NZ?: {
+ /** @example G */
+ certification?: string;
+ /** @example Suitable for general audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ PH?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ PT?: {
+ /** @example Públicos */
+ certification?: string;
+ /** @example For all the public (especially designed for children under 3 years of age). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ RU?: {
+ /** @example 6+ */
+ certification?: string;
+ /** @example (For children above 6) – Unsuitable for children under 6. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ order: number;
+ }[];
+ SE?: {
+ /** @example 11 */
+ certification?: string;
+ /** @example Children over the age of 7, who are accompanied by an adult, are admitted to films that have been passed for children from the age of 11. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ order: number;
+ }[];
+ US?: {
+ /** @example R */
+ certification?: string;
+ /** @example Under 17 requires accompanying parent or adult guardian 21 or older. The parent/guardian is required to stay with the child under 17 through the entire movie, even if the parent gives the child/teenager permission to see the film alone. These films may contain strong profanity, graphic sexuality, nudity, strong violence, horror, gore, and strong drug use. A movie rated R for profanity often has more severe or frequent language than the PG-13 rating would permit. An R-rated movie may have more blood, gore, drug use, nudity, or graphic sexuality than a PG-13 movie would admit. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ order: number;
+ }[];
+ KR?: {
+ /** @example All */
+ certification?: string;
+ /** @example Film suitable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ SK?: {
+ /** @example U */
+ certification?: string;
+ /** @example General audience. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ TH?: {
+ /** @example P */
+ certification?: string;
+ /** @example Educational. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ MX?: {
+ /** @example AA */
+ certification?: string;
+ /** @example Informative-only rating: Understandable for children under 7 years. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ ID?: {
+ /** @example SU */
+ certification?: string;
+ /** @example All ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ TR?: {
+ /** @example Genel İzleyici Kitlesi */
+ certification?: string;
+ /** @example General audience. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ AR?: {
+ /** @example ATP */
+ certification?: string;
+ /** @example For all public. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ GR?: {
+ /** @example K */
+ certification?: string;
+ /** @example No restrictions. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ TW?: {
+ /** @example 0+ */
+ certification?: string;
+ /** @example Viewing is permitted for audiences of all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ ZA?: {
+ /** @example A */
+ certification?: string;
+ /** @example Suitable for all. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ SG?: {
+ /** @example G */
+ certification?: string;
+ /** @example Suitable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ IE?: {
+ /** @example G */
+ certification?: string;
+ /** @example Suitable for children of school going age (note: children can be enrolled in school from the age of 4). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ PR?: {
+ /** @example G */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ JP?: {
+ /** @example G */
+ certification?: string;
+ /** @example General, suitable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ VI?: {
+ /** @example G */
+ certification?: string;
+ /** @example All ages admitted. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ CH?: {
+ /** @example 0 */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ IL?: {
+ /** @example All */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ HK?: {
+ /** @example I */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ MO?: {
+ /** @example A */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ LV?: {
+ /** @example U */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ LU?: {
+ /** @example EA */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ };
+ "certifications-tv-list": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ certifications?: {
+ AU?: {
+ /** @example P */
+ certification?: string;
+ /** @example Programming is intended for younger children 2–11; commercial stations must show at least 30 minutes of P-rated content each weekday and weekends at all times. No advertisements may be shown during P-rated programs. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ BR?: {
+ /** @example 14 */
+ certification?: string;
+ /** @example Content suitable for viewers over the age of 14. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ order: number;
+ }[];
+ CA?: {
+ /** @example Exempt */
+ certification?: string;
+ /** @example Shows which are exempt from ratings (such as news and sports programming) will not display an on-screen rating at all. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ "CA-QC"?: {
+ /** @example 18+ */
+ certification?: string;
+ /** @example Only to be viewed by adults and may contain extreme violence and graphic sexual content. It is mostly used for 18+ movies and pornography. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ order: number;
+ }[];
+ DE?: {
+ /** @example 0 */
+ certification?: string;
+ /** @example Can be aired at any time. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ ES?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ FR?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ GB?: {
+ /** @example U */
+ certification?: string;
+ /** @example The U symbol stands for Universal. A U film should be suitable for audiences aged four years and over. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ HU?: {
+ /** @example Unrated */
+ certification?: string;
+ /** @example Without age restriction. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ KR?: {
+ /** @example Exempt */
+ certification?: string;
+ /** @example This rating is only for knowledge based game shows; lifestyle shows; documentary shows; news; current topic discussion shows; education/culture shows; sports that excludes MMA or other violent sports; and other programs that Korea Communications Standards Commission recognizes. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ LT?: {
+ /** @example S */
+ certification?: string;
+ /** @example Intended for adult viewers from the age of 18 (corresponding to the age-appropriate index N-18) and broadcast between 23 (11pm) and 6 (6am) hours; Limited to minors and intended for adult audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ order: number;
+ }[];
+ NL?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ PH?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ PT?: {
+ /** @example 12AP */
+ certification?: string;
+ /** @example Acompanhamento Parental (may not be suitable for children under 12, parental guidance advised). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ order: number;
+ }[];
+ RU?: {
+ /** @example 16+ */
+ certification?: string;
+ /** @example Only teens the age of 16 or older can watch. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ order: number;
+ }[];
+ SK?: {
+ /** @example NR */
+ certification?: string;
+ /** @example No rating information. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ TH?: {
+ /** @example ส */
+ certification?: string;
+ /** @example Sor - Educational movies which the public should be encouraged to see. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ US?: {
+ /** @example TV-MA */
+ certification?: string;
+ /** @example This program is specifically designed to be viewed by adults and therefore may be unsuitable for children under 17. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ order: number;
+ }[];
+ IT?: {
+ /** @example T */
+ certification?: string;
+ /** @example All ages admitted. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ FI?: {
+ /** @example S */
+ certification?: string;
+ /** @example Allowed at all times. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ MY?: {
+ /** @example U */
+ certification?: string;
+ /** @example No age limit. Can be broadcast anytime. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ NZ?: {
+ /** @example G */
+ certification?: string;
+ /** @example Approved for general viewing. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ NO?: {
+ /** @example A */
+ certification?: string;
+ /** @example Allowed at all times. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ BG?: {
+ /** @example Unrated */
+ certification?: string;
+ /** @example Can be viewed for each age. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ MX?: {
+ /** @example AA */
+ certification?: string;
+ /** @example Aimed at children (can be broadcast anytime). */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ IN?: {
+ /** @example U */
+ certification?: string;
+ /** @example Viewable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ DK?: {
+ /** @example A */
+ certification?: string;
+ /** @example Suitable for a general audience. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ SE?: {
+ /** @example Btl */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ ID?: {
+ /** @example SU */
+ certification?: string;
+ /** @example Suitable for general audiences over the age of 2 years. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ TR?: {
+ /** @example Genel İzleyici */
+ certification?: string;
+ /** @example General audience. Suitable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ AR?: {
+ /** @example ATP */
+ certification?: string;
+ /** @example Suitable for all audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ PL?: {
+ /** @example 0 */
+ certification?: string;
+ /** @example Positive or neutral view of the world, little to no violence, non-sexual love, and no sexual content. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ MA?: {
+ /** @example NR */
+ certification?: string;
+ /** @example All audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ GR?: {
+ /** @example K */
+ certification?: string;
+ /** @example Suitable for all ages. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ IL?: {
+ /** @example E */
+ certification?: string;
+ /** @example Exempt from classification. This rating is usually applied to live broadcasts. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ TW?: {
+ /** @example 0+ */
+ certification?: string;
+ /** @example Suitable for watching by general audiences. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ ZA?: {
+ /** @example All */
+ certification?: string;
+ /** @example This is a programme/film that does not contain any obscenity, and is suitable for family viewing. A logo must be displayed in the corner of the screen for 30 seconds after each commercial break. */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ SG?: {
+ /** @example G */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ }[];
+ PR?: {
+ /** @example NR */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ VI?: {
+ /** @example NR */
+ certification?: string;
+ /** @example */
+ meaning?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ };
+ "changes-movie-list": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ /**
+ * @default 0
+ * @example 1120293
+ */
+ id: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ }[];
+ /**
+ * @default 0
+ * @example 3
+ */
+ page: number;
+ /**
+ * @default 0
+ * @example 57
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 5700
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "changes-tv-list": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ /**
+ * @default 0
+ * @example 225591
+ */
+ id: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ /**
+ * @default 0
+ * @example 18
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1763
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "changes-people-list": {
+ parameters: {
+ query?: {
+ end_date?: string;
+ page?: number;
+ start_date?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ /**
+ * @default 0
+ * @example 4037513
+ */
+ id: number;
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ /**
+ * @default 0
+ * @example 53
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 5292
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "collection-details": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ collection_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 10
+ */
+ id: number;
+ /** @example Star Wars Collection */
+ name?: string;
+ /** @example An epic space-opera theatrical film series, which depicts the adventures of various characters "a long time ago in a galaxy far, far away…." */
+ overview?: string;
+ /** @example /r8Ph5MYXL04Qzu4QBbq2KjqwtkQ.jpg */
+ poster_path?: string;
+ /** @example /d8duYyyC9J5T825Hg7grmaabfxQ.jpg */
+ backdrop_path?: string;
+ parts?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /2w4xG178RpB4MDAIfTkqAuSJzec.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ id: number;
+ /** @example Star Wars */
+ title?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Star Wars */
+ original_title?: string;
+ /** @example Princess Leia is captured and held hostage by the evil Imperial forces in their effort to take over the galactic Empire. Venturesome Luke Skywalker and dashing captain Han Solo team together with the loveable robot duo R2-D2 and C-3PO to rescue the beautiful princess and restore peace and justice in the Empire. */
+ overview?: string;
+ /** @example /6FfCtAuVAW8XJjZ7eWeLibRLWTw.jpg */
+ poster_path?: string;
+ /** @example movie */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 100.492
+ */
+ popularity: number;
+ /** @example 1977-05-25 */
+ release_date?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8.207
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 18549
+ */
+ vote_count: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "collection-images": {
+ parameters: {
+ query?: {
+ /** @description specify a comma separated list of ISO-639-1 values to query, for example: `en,null` */
+ include_image_language?: string;
+ language?: string;
+ };
+ header?: never;
+ path: {
+ collection_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 10
+ */
+ id: number;
+ backdrops?: {
+ /**
+ * @default 0
+ * @example 1.778
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 1080
+ */
+ height: number;
+ iso_639_1?: unknown;
+ /** @example /d8duYyyC9J5T825Hg7grmaabfxQ.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.464
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 30
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 1920
+ */
+ width: number;
+ }[];
+ posters?: {
+ /**
+ * @default 0
+ * @example 0.667
+ */
+ aspect_ratio: number;
+ /**
+ * @default 0
+ * @example 3000
+ */
+ height: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example /r8Ph5MYXL04Qzu4QBbq2KjqwtkQ.jpg */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 5.516
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 14
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 2000
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "collection-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ collection_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 10
+ */
+ id: number;
+ translations?: {
+ /** @example AE */
+ iso_3166_1?: string;
+ /** @example ar */
+ iso_639_1?: string;
+ /** @example العربية */
+ name?: string;
+ /** @example Arabic */
+ english_name?: string;
+ data?: {
+ /** @example */
+ title?: string;
+ /** @example */
+ overview?: string;
+ /** @example */
+ homepage?: string;
+ };
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "company-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ company_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example */
+ description?: string;
+ /** @example San Francisco, California */
+ headquarters?: string;
+ /** @example https://www.lucasfilm.com */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ id: number;
+ /** @example /o86DbpburjxrqAzEDhXZcyE8pDb.png */
+ logo_path?: string;
+ /** @example Lucasfilm Ltd. */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ parent_company?: unknown;
+ };
+ };
+ };
+ };
+ };
+ "company-alternative-names": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ company_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ id: number;
+ results?: {
+ /** @example 루카스필름 */
+ name?: string;
+ /** @example */
+ type?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "company-images": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ company_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ id: number;
+ logos?: {
+ /**
+ * @default 0
+ * @example 2.97979797979798
+ */
+ aspect_ratio: number;
+ /** @example /o86DbpburjxrqAzEDhXZcyE8pDb.png */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 99
+ */
+ height: number;
+ /** @example 5aa080d6c3a3683fea00011e */
+ id?: string;
+ /** @example .svg */
+ file_type?: string;
+ /**
+ * @default 0
+ * @example 5.384
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 295
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "credit-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ credit_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example cast */
+ credit_type?: string;
+ /** @example Acting */
+ department?: string;
+ /** @example Actor */
+ job?: string;
+ media?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /uDgy6hyPd82kOHh6I95FLtLnj6p.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 100088
+ */
+ id: number;
+ /** @example The Last of Us */
+ name?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example The Last of Us */
+ original_name?: string;
+ /** @example Zwanzig Jahre nachdem die moderne Zivilisation zerstört wurde. – Joel, ein abgehärteter Überlebender, wird angeheuert, um Ellie, ein 14-jähriges Mädchen, aus einer bedrückenden Quarantänezone zu schmuggeln. Was als kleiner Job beginnt, wird bald zu einer brutalen, herzzerreißenden Reise, bei der die beiden die USA durchqueren müssen und aufeinander angewiesen sind, um zu überleben. */
+ overview?: string;
+ /** @example /igwIPNClQpGVzb61QlGqcpT5zUy.jpg */
+ poster_path?: string;
+ /** @example tv */
+ media_type?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 898.378
+ */
+ popularity: number;
+ /** @example 2023-01-15 */
+ first_air_date?: string;
+ /**
+ * @default 0
+ * @example 8.749
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 3341
+ */
+ vote_count: number;
+ origin_country?: string[];
+ /** @example Joel Miller */
+ character?: string;
+ episodes?: unknown[];
+ seasons?: {
+ /** @example 2023-01-15 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ episode_count: number;
+ /**
+ * @default 0
+ * @example 144593
+ */
+ id: number;
+ /** @example Staffel 1 */
+ name?: string;
+ /** @example Die 1. Staffel der Endzeit-Horrorserie The Last of Us feierte ihre Premiere am 15. Januar 2023 bei HBO. In Staffel 1 beginnt für den Überlebenden Joel und das Mädchen Ellie eine Reise durch das postapokalyptische Amerika, in dem Plünderer und mutierte Wesen ihnen nach dem Leben trachten. */
+ overview?: string;
+ /** @example /aUQKIpZZ31KWbpdHMCmaV76u78T.jpg */
+ poster_path?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 100088
+ */
+ show_id: number;
+ }[];
+ };
+ /** @example tv */
+ media_type?: string;
+ /** @example 6024a814c0ae36003d59cc3c */
+ id?: string;
+ person?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /**
+ * @default 0
+ * @example 1253360
+ */
+ id: number;
+ /** @example Pedro Pascal */
+ name?: string;
+ /** @example Pedro Pascal */
+ original_name?: string;
+ /** @example person */
+ media_type?: string;
+ /**
+ * @default 0
+ * @example 106.095
+ */
+ popularity: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ gender: number;
+ /** @example Acting */
+ known_for_department?: string;
+ /** @example /dBOrm29cr7NUrjiDQMTtrTyDpfy.jpg */
+ profile_path?: string;
+ };
+ };
+ };
+ };
+ };
+ };
+ "genre-movie-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ genres?: {
+ /**
+ * @default 0
+ * @example 28
+ */
+ id: number;
+ /** @example Action */
+ name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "genre-tv-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ genres?: {
+ /**
+ * @default 0
+ * @example 10759
+ */
+ id: number;
+ /** @example Action & Adventure */
+ name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "guest-session-rated-movies": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ guest_session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /ikR2qy9xJCHX7M8i5rcvuNfdYXs.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 16
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Dancer in the Dark */
+ original_title?: string;
+ /** @example Selma, a Czech immigrant on the verge of blindness, struggles to make ends meet for herself and her son, who has inherited the same genetic disorder and will suffer the same fate without an expensive operation. When life gets too difficult, Selma learns to cope through her love of musicals, escaping life's troubles - even if just for a moment - by dreaming up little numbers to the rhythmic beats of her surroundings. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 14.684
+ */
+ popularity: number;
+ /** @example /8Wdd3fQfbbQeoSfWpHrDfaFNhBU.jpg */
+ poster_path?: string;
+ /** @example 2000-06-30 */
+ release_date?: string;
+ /** @example Dancer in the Dark */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 7.885
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 1549
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 8.5
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "guest-session-rated-tv": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ guest_session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /2OMB0ynKlyIenMJWI2Dy9IWT4c.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ origin_country?: string[];
+ /** @example en */
+ original_language?: string;
+ /** @example Game of Thrones */
+ original_name?: string;
+ /** @example Seven noble families fight for control of the mythical land of Westeros. Friction between the houses leads to full-scale war. All while a very ancient evil awakens in the farthest north. Amidst the war, a neglected military order of misfits, the Night's Watch, is all that stands between the realms of men and icy horrors beyond. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 404.299
+ */
+ popularity: number;
+ /** @example /7WUHnWGx5OO145IRxPDUkQSh4C7.jpg */
+ poster_path?: string;
+ /** @example 2011-04-17 */
+ first_air_date?: string;
+ /** @example Game of Thrones */
+ name?: string;
+ /**
+ * @default 0
+ * @example 8.436
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 21025
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 8.5
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "guest-session-rated-tv-episodes": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ sort_by?: "created_at.asc" | "created_at.desc";
+ };
+ header?: never;
+ path: {
+ guest_session_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example 2011-04-17 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ episode_number: number;
+ /**
+ * @default 0
+ * @example 63056
+ */
+ id: number;
+ /** @example Winter Is Coming */
+ name?: string;
+ /** @example Jon Arryn, the Hand of the King, is dead. King Robert Baratheon plans to ask his oldest friend, Eddard Stark, to take Jon's place. Across the sea, Viserys Targaryen plans to wed his sister to a nomadic warlord in exchange for an army. */
+ overview?: string;
+ /** @example 101 */
+ production_code?: string;
+ /**
+ * @default 0
+ * @example 62
+ */
+ runtime: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 1399
+ */
+ show_id: number;
+ /** @example /9hGF3WUkBf7cSjMg0cdMDHJkByd.jpg */
+ still_path?: string;
+ /**
+ * @default 0
+ * @example 7.843
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 286
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 8.5
+ */
+ rating: number;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "watch-providers-available-regions": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ /** @example AD */
+ iso_3166_1?: string;
+ /** @example Andorra */
+ english_name?: string;
+ /** @example Andorra */
+ native_name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "watch-providers-movie-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ watch_region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ display_priorities?: {
+ /**
+ * @default 0
+ * @example 6
+ */
+ CA: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ AE: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ AR: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ AT: number;
+ /**
+ * @default 0
+ * @example 10
+ */
+ AU: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ BE: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ BO: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ BR: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ BG: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ CH: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ CL: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ CO: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ CR: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ CZ: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ DE: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ DK: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ EC: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ EE: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ EG: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ ES: number;
+ /**
+ * @default 0
+ * @example 10
+ */
+ FI: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ FR: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ GB: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ GR: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ GT: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ HK: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ HN: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ HU: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ ID: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ IE: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ IN: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ IT: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ JP: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ LT: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ LV: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ MX: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ MY: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ NL: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ NO: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ NZ: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ PE: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ PH: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ PL: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ PT: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ PY: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ RU: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ SA: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ SE: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ SG: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ SK: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ TH: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ TR: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ TW: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ US: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ VE: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ ZA: number;
+ /**
+ * @default 0
+ * @example 31
+ */
+ SI: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ CV: number;
+ /**
+ * @default 0
+ * @example 17
+ */
+ GH: number;
+ /**
+ * @default 0
+ * @example 15
+ */
+ MU: number;
+ /**
+ * @default 0
+ * @example 16
+ */
+ MZ: number;
+ /**
+ * @default 0
+ * @example 16
+ */
+ UG: number;
+ /**
+ * @default 0
+ * @example 28
+ */
+ IL: number;
+ };
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "watch-provider-tv-list": {
+ parameters: {
+ query?: {
+ language?: string;
+ watch_region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ results?: {
+ display_priorities?: {
+ /**
+ * @default 0
+ * @example 6
+ */
+ CA: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ AE: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ AR: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ AT: number;
+ /**
+ * @default 0
+ * @example 10
+ */
+ AU: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ BE: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ BO: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ BR: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ BG: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ CH: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ CL: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ CO: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ CR: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ CZ: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ DE: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ DK: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ EC: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ EE: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ EG: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ ES: number;
+ /**
+ * @default 0
+ * @example 10
+ */
+ FI: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ FR: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ GB: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ GR: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ GT: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ HK: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ HN: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ HU: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ ID: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ IE: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ IN: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ IT: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ JP: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ LT: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ LV: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ MX: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ MY: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ NL: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ NO: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ NZ: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ PE: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ PH: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ PL: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ PT: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ PY: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ RU: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ SA: number;
+ /**
+ * @default 0
+ * @example 8
+ */
+ SE: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ SG: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ SK: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ TH: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ TR: number;
+ /**
+ * @default 0
+ * @example 7
+ */
+ TW: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ US: number;
+ /**
+ * @default 0
+ * @example 4
+ */
+ VE: number;
+ /**
+ * @default 0
+ * @example 2
+ */
+ ZA: number;
+ /**
+ * @default 0
+ * @example 31
+ */
+ SI: number;
+ /**
+ * @default 0
+ * @example 13
+ */
+ CV: number;
+ /**
+ * @default 0
+ * @example 17
+ */
+ GH: number;
+ /**
+ * @default 0
+ * @example 15
+ */
+ MU: number;
+ /**
+ * @default 0
+ * @example 16
+ */
+ MZ: number;
+ /**
+ * @default 0
+ * @example 16
+ */
+ UG: number;
+ /**
+ * @default 0
+ * @example 28
+ */
+ IL: number;
+ };
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "keyword-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ keyword_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1701
+ */
+ id: number;
+ /** @example hero */
+ name?: string;
+ };
+ };
+ };
+ };
+ };
+ "keyword-movies": {
+ parameters: {
+ query?: {
+ include_adult?: boolean;
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ keyword_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1701
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /3CxUndGhUcZdt1Zggjdb2HkLLQX.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 640146
+ */
+ id: number;
+ /** @example en */
+ original_language?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ original_title?: string;
+ /** @example Das Superhelden-Duo Scott Lang und Hope Van Dyne erkundet zusammen mit Hopes Eltern Hank Pym und Janet Van Dyne das Quantenreich, interagiert mit seltsamen neuen Kreaturen und begibt sich auf ein Abenteuer, das sie über die Grenzen dessen hinaustreiben wird, was sie für möglich gehalten haben. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 9200.005
+ */
+ popularity: number;
+ /** @example /nA5otwVxAfpBP4PVgeuBk3qHcLY.jpg */
+ poster_path?: string;
+ /** @example 2023-02-15 */
+ release_date?: string;
+ /** @example Ant-Man and the Wasp: Quantumania */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 6.5
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 2079
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 11
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 211
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "list-details": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example travisbell */
+ created_by?: string;
+ /** @example The idea behind this list is to collect the live action comic book movies from within the Marvel franchise. */
+ description?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ favorite_count: number;
+ /** @example 1 */
+ id?: string;
+ items?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /14QbnygCuTO0vl7CAFmPf1fgZfV.jpg */
+ backdrop_path?: string;
+ genre_ids?: number[];
+ /**
+ * @default 0
+ * @example 634649
+ */
+ id: number;
+ /** @example movie */
+ media_type?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example Spider-Man: No Way Home */
+ original_title?: string;
+ /** @example Peter Parker ist demaskiert und kann sein normales Leben nicht mehr von den hohen Einsätzen als Superheld trennen. Als er Doctor Strange um Hilfe bittet, wird die Lage noch gefährlicher und er muss entdecken, was es wirklich bedeutet, Spider-Man zu sein. */
+ overview?: string;
+ /**
+ * @default 0
+ * @example 398.217
+ */
+ popularity: number;
+ /** @example /iNKf4D0AzOj9GLq8ZyG3WZaqibL.jpg */
+ poster_path?: string;
+ /** @example 2021-12-15 */
+ release_date?: string;
+ /** @example Spider-Man: No Way Home */
+ title?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ video: boolean;
+ /**
+ * @default 0
+ * @example 8
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 17267
+ */
+ vote_count: number;
+ }[];
+ /**
+ * @default 0
+ * @example 59
+ */
+ item_count: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example The Marvel Universe */
+ name?: string;
+ /** @example /coJVIUEOToAEGViuhclM7pXC75R.jpg */
+ poster_path?: string;
+ };
+ };
+ };
+ };
+ };
+ "list-delete": {
+ parameters: {
+ query: {
+ session_id: string;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 12
+ */
+ status_code: number;
+ /** @example The item/record was updated successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "list-check-item-status": {
+ parameters: {
+ query?: {
+ language?: string;
+ movie_id?: number;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ id: number;
+ /**
+ * @default true
+ * @example true
+ */
+ item_present: boolean;
+ };
+ };
+ };
+ };
+ };
+ "list-create": {
+ parameters: {
+ query: {
+ session_id: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example The item/record was created successfully. */
+ status_message?: string;
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /**
+ * @default 0
+ * @example 5861
+ */
+ list_id: number;
+ };
+ };
+ };
+ };
+ };
+ "list-add-movie": {
+ parameters: {
+ query: {
+ session_id: string;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY?: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 12
+ */
+ status_code: number;
+ /** @example The item/record was updated successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "list-remove-movie": {
+ parameters: {
+ query: {
+ session_id: string;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 13
+ */
+ status_code: number;
+ /** @example The item/record was deleted successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "list-clear": {
+ parameters: {
+ query: {
+ session_id: string;
+ confirm: boolean;
+ };
+ header?: never;
+ path: {
+ list_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 12
+ */
+ status_code: number;
+ /** @example The item/record was updated successfully. */
+ status_message?: string;
+ };
+ };
+ };
+ };
+ };
+ "network-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ network_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example New York City, New York */
+ headquarters?: string;
+ /** @example https://www.hbo.com */
+ homepage?: string;
+ /**
+ * @default 0
+ * @example 49
+ */
+ id: number;
+ /** @example /tuomPhY2UtuPTqqFnKMVHvSb724.png */
+ logo_path?: string;
+ /** @example HBO */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ };
+ };
+ };
+ };
+ };
+ "details-copy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ network_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 49
+ */
+ id: number;
+ results?: {
+ /** @example Home Box Office */
+ name?: string;
+ /** @example */
+ type?: string;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "alternative-names-copy": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ network_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 49
+ */
+ id: number;
+ logos?: {
+ /**
+ * @default 0
+ * @example 2.425287356321839
+ */
+ aspect_ratio: number;
+ /** @example /tuomPhY2UtuPTqqFnKMVHvSb724.png */
+ file_path?: string;
+ /**
+ * @default 0
+ * @example 174
+ */
+ height: number;
+ /** @example 5a7a67a40e0a26020a000091 */
+ id?: string;
+ /** @example .svg */
+ file_type?: string;
+ /**
+ * @default 0
+ * @example 5.318
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 3
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 422
+ */
+ width: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "review-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ review_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example 640b2aeecaaca20079decdcc */
+ id?: string;
+ /** @example Ricardo Oliveira */
+ author?: string;
+ author_details?: {
+ /** @example Ricardo Oliveira */
+ name?: string;
+ /** @example RSOliveira */
+ username?: string;
+ /** @example /23Cl7rhsknc7IIAcZZAGKzovjTu.jpg */
+ avatar_path?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ rating: number;
+ };
+ /** @example "The Last of Us" is a post-apocalyptic TV series based on the popular video game of the same name. The story follows the journey of Joel, a smuggler, and Ellie, a teenage girl who may be the key to finding a cure for a deadly fungal infection that has ravaged the world.
+ *
+ * The series features outstanding performances from Pedro Pascal as Joel, Bella Ramsey as Ellie, and Anna Torv as Tess. The chemistry between the main characters is excellent, and the casting is spot-on.
+ *
+ * The show's writing is superb, and it captures the essence of the video game while adding a fresh perspective. The narrative is engaging, and the pacing is just right, with each episode leaving you on the edge of your seat, eager to see what happens next.
+ *
+ * The show's production value is top-notch, with stunning visuals and cinematography that capture the bleak and haunting atmosphere of a post-apocalyptic world. The use of practical effects and makeup is impressive and adds to the overall immersion of the story.
+ *
+ * Overall, "The Last of Us" is an outstanding TV series that does justice to the source material. It's a must-watch for fans of the video game and anyone who enjoys gripping and emotional storytelling. I would rate it a 9 out of 10.
+ *
+ *
+ *
+ * Written and Reviewed by RSOliveira */
+ content?: string;
+ /** @example 2023-03-10T13:04:46.674Z */
+ created_at?: string;
+ /** @example en */
+ iso_639_1?: string;
+ /**
+ * @default 0
+ * @example 100088
+ */
+ media_id: number;
+ /** @example The Last of Us */
+ media_title?: string;
+ /** @example tv */
+ media_type?: string;
+ /** @example 2023-03-10T13:04:46.734Z */
+ updated_at?: string;
+ /** @example https://www.themoviedb.org/review/640b2aeecaaca20079decdcc */
+ url?: string;
+ };
+ };
+ };
+ };
+ };
+ "authentication-validate-key": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /**
+ * @default 0
+ * @example 1
+ */
+ status_code: number;
+ /** @example Success. */
+ status_message?: string;
+ };
+ };
+ };
+ /** @description 401 */
+ 401: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 7
+ */
+ status_code: number;
+ /** @example Invalid API key: You must be granted a valid key. */
+ status_message?: string;
+ /**
+ * @default true
+ * @example false
+ */
+ success: boolean;
+ };
+ };
+ };
+ };
+ };
+ "tv-season-watch-providers": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ season_number: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 3624
+ */
+ id: number;
+ results?: {
+ AE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=AE */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ AR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=AR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ AT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=AT */
+ link?: string;
+ flatrate?: {
+ /** @example /y0kyIFElN5sJAsmW8Txj69wzrD2.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 321
+ */
+ provider_id: number;
+ /** @example Sky X */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 23
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ AU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=AU */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /d3ixI1no0EpTj2i7u0Sd2DBXVlG.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 385
+ */
+ provider_id: number;
+ /** @example BINGE */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ BA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BA */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ BB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BB */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ BE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BE */
+ link?: string;
+ flatrate?: {
+ /** @example /pq8p1umEnJjdFAP1nFvNArTR61X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 311
+ */
+ provider_id: number;
+ /** @example Be TV Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ BG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BG */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 15
+ */
+ display_priority: number;
+ }[];
+ };
+ BO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ BR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ BS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=BS */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ CA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CA */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /gJ3yVMWouaVj6iHd59TISJ1TlM5.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 230
+ */
+ provider_id: number;
+ /** @example Crave */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ CH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CH */
+ link?: string;
+ buy?: {
+ /** @example /tbEdFQDwx5LEVr8WpSeXQSIirVq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ provider_id: number;
+ /** @example Google Play Movies */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /sHP8XLo4Ac4WMbziRyAdRQdb76q.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 210
+ */
+ provider_id: number;
+ /** @example Sky */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ CI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CI */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ CL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CL */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ CO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ CR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ CZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=CZ */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ display_priority: number;
+ }[];
+ };
+ DE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=DE */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /MiVcYLkztM6qqLeVSYWHFCUcXx.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ provider_id: number;
+ /** @example WOW */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ DK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=DK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ DO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=DO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ DZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=DZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ EC?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=EC */
+ link?: string;
+ flatrate?: {
+ /** @example /cDzkhgvozSr4GW2aRdV22uDuFpw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 339
+ */
+ provider_id: number;
+ /** @example Movistar Play */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ EG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=EG */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ ES?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=ES */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ FI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=FI */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ FR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=FR */
+ link?: string;
+ flatrate?: {
+ /** @example /loOaayvNiLnD0zKl70TO2L5vlAL.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 1870
+ */
+ provider_id: number;
+ /** @example Pass Warner Amazon Channel */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 95
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ GB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=GB */
+ link?: string;
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ GF?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=GF */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 30
+ */
+ display_priority: number;
+ }[];
+ };
+ GH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=GH */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ GQ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=GQ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ GT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=GT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ HK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=HK */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ display_priority: number;
+ }[];
+ };
+ HN?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=HN */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ HR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=HR */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 34
+ */
+ display_priority: number;
+ }[];
+ };
+ HU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=HU */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 22
+ */
+ display_priority: number;
+ }[];
+ };
+ ID?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=ID */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 14
+ */
+ display_priority: number;
+ }[];
+ };
+ IE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=IE */
+ link?: string;
+ buy?: {
+ /** @example /2pCbao1J9s0DMak2KKnEzmzHni8.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 130
+ */
+ provider_id: number;
+ /** @example Sky Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ IL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=IL */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ IQ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=IQ */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ IT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=IT */
+ link?: string;
+ flatrate?: {
+ /** @example /fBHHXKC34ffxAsQvDe0ZJbvmTEQ.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ provider_id: number;
+ /** @example Sky Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /cksgBjTHV3rzAVaO2zUyS1mH4Ke.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ provider_id: number;
+ /** @example Chili */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ JM?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=JM */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ JP?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=JP */
+ link?: string;
+ buy?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /npg1OiBidQSndMsBZwgEPOYU6Jq.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 84
+ */
+ provider_id: number;
+ /** @example U-NEXT */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ rent?: {
+ /** @example /5NyLm42TmCqCMOZFvH4fcoSNKEW.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ provider_id: number;
+ /** @example Amazon Video */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 6
+ */
+ display_priority: number;
+ }[];
+ };
+ KE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=KE */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ KR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=KR */
+ link?: string;
+ flatrate?: {
+ /** @example /2ioan5BX5L9tz4fIGU93blTeFhv.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 356
+ */
+ provider_id: number;
+ /** @example wavve */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ LB?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=LB */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ LY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=LY */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ MD?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MD */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 26
+ */
+ display_priority: number;
+ }[];
+ };
+ MK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ display_priority: number;
+ }[];
+ };
+ MU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MU */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ MX?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MX */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ MY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MY */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 14
+ */
+ display_priority: number;
+ }[];
+ };
+ MZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=MZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ NE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=NE */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ NG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=NG */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ NL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=NL */
+ link?: string;
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 47
+ */
+ display_priority: number;
+ }[];
+ };
+ NO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=NO */
+ link?: string;
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 5
+ */
+ display_priority: number;
+ }[];
+ };
+ NZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=NZ */
+ link?: string;
+ flatrate?: {
+ /** @example /od4YNSSLgOP3p8EtQTnEYfrPa77.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 273
+ */
+ provider_id: number;
+ /** @example Neon TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ PA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PA */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 27
+ */
+ display_priority: number;
+ }[];
+ };
+ PE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ PH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PH */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ PL?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PL */
+ link?: string;
+ rent?: {
+ /** @example /bZNXgd8fwVTD68aAGlElkpAtu7b.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 549
+ */
+ provider_id: number;
+ /** @example IPLA */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 17
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /l5Wxbsgral716BOtZsGyPVNn8GC.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 250
+ */
+ provider_id: number;
+ /** @example Horizon */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ PS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PS */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ PT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 28
+ */
+ display_priority: number;
+ }[];
+ };
+ PY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=PY */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ display_priority: number;
+ }[];
+ };
+ RO?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=RO */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 17
+ */
+ display_priority: number;
+ }[];
+ };
+ RS?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=RS */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 32
+ */
+ display_priority: number;
+ }[];
+ };
+ RU?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=RU */
+ link?: string;
+ flatrate?: {
+ /** @example /w1T8s7FqakcfucR8cgOvbe6UeXN.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 115
+ */
+ provider_id: number;
+ /** @example Okko */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ display_priority: number;
+ }[];
+ };
+ SA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SA */
+ link?: string;
+ flatrate?: {
+ /** @example /xEPXbwbfABzPrUTWbgtDFH1NOa.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 629
+ */
+ provider_id: number;
+ /** @example OSN */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ SC?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SC */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ SE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ buy?: {
+ /** @example /shq88b09gTBYC4hA7K7MUL8Q4zP.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 68
+ */
+ provider_id: number;
+ /** @example Microsoft Store */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ SG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SG */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 13
+ */
+ display_priority: number;
+ }[];
+ };
+ SI?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SI */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 29
+ */
+ display_priority: number;
+ }[];
+ };
+ SK?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SK */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 37
+ */
+ display_priority: number;
+ }[];
+ };
+ SN?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SN */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ SV?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=SV */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 25
+ */
+ display_priority: number;
+ }[];
+ };
+ TH?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=TH */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 12
+ */
+ display_priority: number;
+ }[];
+ };
+ TR?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=TR */
+ link?: string;
+ flatrate?: {
+ /** @example /z3XAGCCbDD3KTZFvc96Ytr3XR56.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 341
+ */
+ provider_id: number;
+ /** @example blutv */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ display_priority: number;
+ }[];
+ };
+ TT?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=TT */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 11
+ */
+ display_priority: number;
+ }[];
+ };
+ TW?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=TW */
+ link?: string;
+ flatrate?: {
+ /** @example /bxdNcDbk1ohVeOMmM3eusAAiTLw.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 425
+ */
+ provider_id: number;
+ /** @example HBO Go */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 40
+ */
+ display_priority: number;
+ }[];
+ };
+ TZ?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=TZ */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ UG?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=UG */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ US?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=US */
+ link?: string;
+ buy?: {
+ /** @example /peURlLlr8jggOwK53fJ5wdQl05y.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 2
+ */
+ provider_id: number;
+ /** @example Apple TV */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ free?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 7
+ */
+ display_priority: number;
+ }[];
+ };
+ UY?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=UY */
+ link?: string;
+ flatrate?: {
+ /** @example /kV8XFGI5OLJKl72dI8DtnKplfFr.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 467
+ */
+ provider_id: number;
+ /** @example DIRECTV GO */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 9
+ */
+ display_priority: number;
+ }[];
+ };
+ VE?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=VE */
+ link?: string;
+ flatrate?: {
+ /** @example /Ajqyt5aNxNGjmF9uOfxArGrdf3X.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 384
+ */
+ provider_id: number;
+ /** @example HBO Max */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 8
+ */
+ display_priority: number;
+ }[];
+ };
+ ZA?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=ZA */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 4
+ */
+ display_priority: number;
+ }[];
+ };
+ ZM?: {
+ /** @example https://www.themoviedb.org/tv/1399-game-of-thrones/season/1/watch?locale=ZM */
+ link?: string;
+ flatrate?: {
+ /** @example /okiQZMXnqwv0aD3QDYmu5DBNLce.jpg */
+ logo_path?: string;
+ /**
+ * @default 0
+ * @example 55
+ */
+ provider_id: number;
+ /** @example ShowMax */
+ provider_name?: string;
+ /**
+ * @default 0
+ * @example 10
+ */
+ display_priority: number;
+ }[];
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ "configuration-countries": {
+ parameters: {
+ query?: {
+ language?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example AD */
+ iso_3166_1?: string;
+ /** @example Andorra */
+ english_name?: string;
+ /** @example Andorra */
+ native_name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ "configuration-jobs": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example Production */
+ department?: string;
+ jobs?: string[];
+ }[];
+ };
+ };
+ };
+ };
+ "configuration-languages": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example bi */
+ iso_639_1?: string;
+ /** @example Bislama */
+ english_name?: string;
+ /** @example */
+ name?: string;
+ }[];
+ };
+ };
+ };
+ };
+ "configuration-primary-translations": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": string[];
+ };
+ };
+ };
+ };
+ "configuration-timezones": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example AD */
+ iso_3166_1?: string;
+ zones?: string[];
+ }[];
+ };
+ };
+ };
+ };
+ "authentication-create-session-from-login": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: {
+ content: {
+ "application/json": {
+ /** Format: json */
+ RAW_BODY: string;
+ };
+ };
+ };
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example true
+ */
+ success: boolean;
+ /** @example 2018-07-24 04:10:26 UTC */
+ expires_at?: string;
+ /** @example 1531f1a558c8357ce8990cf887ff196e8f5402ec */
+ request_token?: string;
+ };
+ };
+ };
+ };
+ };
+ "person-latest-id": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ also_known_as?: unknown[];
+ /** @example */
+ biography?: string;
+ birthday?: unknown;
+ deathday?: unknown;
+ /**
+ * @default 0
+ * @example 0
+ */
+ gender: number;
+ homepage?: unknown;
+ /**
+ * @default 0
+ * @example 4064343
+ */
+ id: number;
+ imdb_id?: unknown;
+ known_for_department?: unknown;
+ /** @example Ángel Cruz */
+ name?: string;
+ place_of_birth?: unknown;
+ /**
+ * @default 0
+ * @example 0
+ */
+ popularity: number;
+ profile_path?: unknown;
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-changes-by-id": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ episode_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ changes?: {
+ /** @example production_code */
+ key?: string;
+ items?: {
+ /** @example 54bd9ed7c3a3686c6b00da66 */
+ id?: string;
+ /** @example added */
+ action?: string;
+ /** @example 2015-01-20 00:18:31 UTC */
+ time?: string;
+ /** @example 101 */
+ value?: string;
+ }[];
+ }[];
+ };
+ };
+ };
+ };
+ };
+ "tv-episode-group-details": {
+ parameters: {
+ query?: never;
+ header?: never;
+ path: {
+ tv_episode_group_id: string;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /** @example Comedians in Cars organized in Netflix's collections. */
+ description?: string;
+ /**
+ * @default 0
+ * @example 83
+ */
+ episode_count: number;
+ /**
+ * @default 0
+ * @example 6
+ */
+ group_count: number;
+ groups?: {
+ /** @example 5acf93efc3a368739a0000a9 */
+ id?: string;
+ /** @example First Cup */
+ name?: string;
+ /**
+ * @default 0
+ * @example 1
+ */
+ order: number;
+ episodes?: {
+ /** @example 2015-06-17 */
+ air_date?: string;
+ /**
+ * @default 0
+ * @example 3
+ */
+ episode_number: number;
+ /**
+ * @default 0
+ * @example 1078262
+ */
+ id: number;
+ /** @example Jim Carrey: We Love Breathing What You're Burning, Baby */
+ name?: string;
+ /** @example Jerry’s full of testosterone as he steps into a ‘76 Lamborghini Countach with Jim Carrey, who’s between a three-week cleanse and a five-day silent retreat. After coffee, it’s off to Carrey’s studio to study a portrait of a gorilla with a machine gun. Wow. */
+ overview?: string;
+ /** @example */
+ production_code?: string;
+ runtime?: unknown;
+ /**
+ * @default 0
+ * @example 6
+ */
+ season_number: number;
+ /**
+ * @default 0
+ * @example 59717
+ */
+ show_id: number;
+ /** @example /aOyE420zuFq9zWtEWjIccAiTrzU.jpg */
+ still_path?: string;
+ /**
+ * @default 0
+ * @example 7.4
+ */
+ vote_average: number;
+ /**
+ * @default 0
+ * @example 5
+ */
+ vote_count: number;
+ /**
+ * @default 0
+ * @example 0
+ */
+ order: number;
+ }[];
+ /**
+ * @default true
+ * @example true
+ */
+ locked: boolean;
+ }[];
+ /** @example 5acf93e60e0a26346d0000ce */
+ id?: string;
+ /** @example Netflix Collections */
+ name?: string;
+ network?: {
+ /**
+ * @default 0
+ * @example 213
+ */
+ id: number;
+ /** @example /wwemzKWzjKYJFfCeiB57q3r4Bcm.png */
+ logo_path?: string;
+ /** @example Netflix */
+ name?: string;
+ /** @example */
+ origin_country?: string;
+ };
+ /**
+ * @default 0
+ * @example 4
+ */
+ type: number;
+ };
+ };
+ };
+ };
+ };
+ "search-company": {
+ parameters: {
+ query: {
+ query: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default 0
+ * @example 3268
+ */
+ id: number;
+ /** @example /tuomPhY2UtuPTqqFnKMVHvSb724.png */
+ logo_path?: string;
+ /** @example HBO */
+ name?: string;
+ /** @example US */
+ origin_country?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 2
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 22
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "search-collection": {
+ parameters: {
+ query: {
+ query: string;
+ include_adult?: boolean;
+ language?: string;
+ page?: number;
+ region?: string;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default true
+ * @example false
+ */
+ adult: boolean;
+ /** @example /zuW6fOiusv4X9nnW3paHGfXcSll.jpg */
+ backdrop_path?: string;
+ /**
+ * @default 0
+ * @example 86311
+ */
+ id: number;
+ /** @example The Avengers Collection */
+ name?: string;
+ /** @example en */
+ original_language?: string;
+ /** @example The Avengers Collection */
+ original_name?: string;
+ /** @example A superhero film series produced by Marvel Studios based on the Marvel Comics superhero team of the same name, and part of the Marvel Cinematic Universe (MCU). The series features an ensemble cast from the Marvel Cinematic Universe series films, as they join forces for the peacekeeping organization S.H.I.E.L.D. led by Nick Fury. */
+ overview?: string;
+ /** @example /yFSIUVTCvgYrpalUktulvk3Gi5Y.jpg */
+ poster_path?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "search-keyword": {
+ parameters: {
+ query: {
+ query: string;
+ page?: number;
+ };
+ header?: never;
+ path?: never;
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /**
+ * @default 0
+ * @example 262419
+ */
+ id: number;
+ /** @example lost */
+ name?: string;
+ }[];
+ /**
+ * @default 0
+ * @example 5
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 84
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+ "lists-copy": {
+ parameters: {
+ query?: {
+ language?: string;
+ page?: number;
+ };
+ header?: never;
+ path: {
+ series_id: number;
+ };
+ cookie?: never;
+ };
+ requestBody?: never;
+ responses: {
+ /** @description 200 */
+ 200: {
+ headers: {
+ [name: string]: unknown;
+ };
+ content: {
+ "application/json": {
+ /**
+ * @default 0
+ * @example 1399
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 1
+ */
+ page: number;
+ results?: {
+ /** @example */
+ description?: string;
+ /**
+ * @default 0
+ * @example 0
+ */
+ favorite_count: number;
+ /**
+ * @default 0
+ * @example 8257231
+ */
+ id: number;
+ /**
+ * @default 0
+ * @example 182
+ */
+ item_count: number;
+ /** @example en */
+ iso_639_1?: string;
+ /** @example US */
+ iso_3166_1?: string;
+ /** @example Done */
+ name?: string;
+ poster_path?: unknown;
+ }[];
+ /**
+ * @default 0
+ * @example 96
+ */
+ total_pages: number;
+ /**
+ * @default 0
+ * @example 1906
+ */
+ total_results: number;
+ };
+ };
+ };
+ };
+ };
+}
diff --git a/jobs/Frontend/src/vite-env.d.ts b/jobs/Frontend/src/vite-env.d.ts
new file mode 100644
index 0000000000..b1f45c7866
--- /dev/null
+++ b/jobs/Frontend/src/vite-env.d.ts
@@ -0,0 +1,2 @@
+///
+///
diff --git a/jobs/Frontend/tailwind.config.js b/jobs/Frontend/tailwind.config.js
new file mode 100644
index 0000000000..ad2c56029f
--- /dev/null
+++ b/jobs/Frontend/tailwind.config.js
@@ -0,0 +1,71 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ darkMode: ['class'],
+ content: ["./src/**/*.{js,ts,jsx,tsx}"],
+ theme: {
+ container: {
+ center: true,
+ padding: '2rem',
+ screens: {
+ '2xl': '1400px',
+ },
+ },
+ extend: {
+ colors: {
+ border: 'hsl(var(--border))',
+ input: 'hsl(var(--input))',
+ ring: 'hsl(var(--ring))',
+ background: 'hsl(var(--background))',
+ foreground: 'hsl(var(--foreground))',
+ primary: {
+ DEFAULT: 'hsl(var(--primary))',
+ foreground: 'hsl(var(--primary-foreground))',
+ },
+ secondary: {
+ DEFAULT: 'hsl(var(--secondary))',
+ foreground: 'hsl(var(--secondary-foreground))',
+ },
+ destructive: {
+ DEFAULT: 'hsl(var(--destructive))',
+ foreground: 'hsl(var(--destructive-foreground))',
+ },
+ muted: {
+ DEFAULT: 'hsl(var(--muted))',
+ foreground: 'hsl(var(--muted-foreground))',
+ },
+ accent: {
+ DEFAULT: 'hsl(var(--accent))',
+ foreground: 'hsl(var(--accent-foreground))',
+ },
+ popover: {
+ DEFAULT: 'hsl(var(--popover))',
+ foreground: 'hsl(var(--popover-foreground))',
+ },
+ card: {
+ DEFAULT: 'hsl(var(--card))',
+ foreground: 'hsl(var(--card-foreground))',
+ },
+ },
+ borderRadius: {
+ lg: 'var(--radius)',
+ md: 'calc(var(--radius) - 2px)',
+ sm: 'calc(var(--radius) - 4px)',
+ },
+ keyframes: {
+ 'accordion-down': {
+ from: { height: 0 },
+ to: { height: 'var(--radix-accordion-content-height)' },
+ },
+ 'accordion-up': {
+ from: { height: 'var(--radix-accordion-content-height)' },
+ to: { height: 0 },
+ },
+ },
+ animation: {
+ 'accordion-down': 'accordion-down 0.2s ease-out',
+ 'accordion-up': 'accordion-up 0.2s ease-out',
+ },
+ },
+ },
+ plugins: [require('tailwindcss-animate')],
+}
diff --git a/jobs/Frontend/transmart.config.ts b/jobs/Frontend/transmart.config.ts
new file mode 100644
index 0000000000..bd9d3c7e78
--- /dev/null
+++ b/jobs/Frontend/transmart.config.ts
@@ -0,0 +1,9 @@
+import { LANGUAGES } from './src/i18n/config'
+
+export default {
+ baseLocale: 'en',
+ locales: LANGUAGES,
+ localePath: 'src/i18n/locales',
+ openAIApiKey: process.env.OPENAI_API_KEY,
+ openAIApiUrl: process.env.OPENAI_API_URL,
+}
diff --git a/jobs/Frontend/tsconfig.json b/jobs/Frontend/tsconfig.json
new file mode 100644
index 0000000000..6907d59413
--- /dev/null
+++ b/jobs/Frontend/tsconfig.json
@@ -0,0 +1,31 @@
+{
+ "compilerOptions": {
+ "module": "esnext",
+ "useDefineForClassFields": true,
+ "target": "ESNext",
+ "lib": ["esnext", "dom"],
+ "allowJs": true,
+ "moduleResolution": "node",
+ "strict": true,
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "strictFunctionTypes": true,
+ "skipLibCheck": true,
+ "preserveConstEnums": true,
+ "sourceMap": true,
+ "declaration": true,
+ "downlevelIteration": true,
+ "resolveJsonModule": true,
+ "allowSyntheticDefaultImports": true,
+ "experimentalDecorators": true,
+ "baseUrl": ".",
+ "rootDir": ".",
+ "jsx": "react-jsx",
+ "paths": {
+ "src/*": ["./src/*"]
+ }
+ },
+ "include": ["./src", "vite-env.d.ts"]
+}
diff --git a/jobs/Frontend/tsconfig.node.json b/jobs/Frontend/tsconfig.node.json
new file mode 100644
index 0000000000..bdf129c030
--- /dev/null
+++ b/jobs/Frontend/tsconfig.node.json
@@ -0,0 +1,9 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["vite.config.ts", "transmart.config.ts"]
+}
diff --git a/jobs/Frontend/vite.config.ts b/jobs/Frontend/vite.config.ts
new file mode 100644
index 0000000000..b330fb8e84
--- /dev/null
+++ b/jobs/Frontend/vite.config.ts
@@ -0,0 +1,25 @@
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react";
+import path from "path";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ base: "./",
+ plugins: [react()],
+ resolve: {
+ alias: {
+ src: path.resolve(__dirname, "./src"),
+ },
+ },
+ css: {
+ preprocessorOptions: {
+ less: {
+ javascriptEnabled: true,
+ },
+ },
+ },
+ server: {
+ host: true,
+ port: 5000,
+ },
+});