[
  {
    "path": ".dockerignore",
    "content": "*.pyc\n.venv*\n.vscode\n.mypy_cache\n.coverage\nhtmlcov\n\ndist\ntest.py\n\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# polar: django-ninja\ncustom: [\"https://www.buymeacoffee.com/djangoninja\"]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: \"[BUG] \"\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**Versions (please complete the following information):**\n - Python version: [e.g. 3.6]\n - Django version: [e.g. 4.0]\n - Django-Ninja version: [e.g. 0.16.2]\n - Pydantic version: [e.g. 1.9.0]\n\nNote you can quickly get this by runninng in `./manage.py shell` this line:\n```\nimport django; import pydantic; import ninja; django.__version__; ninja.__version__; pydantic.__version__\n```\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/question.md",
    "content": "---\nname: Question\nabout: Having troubles implementing something ?\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\nPlease describe what you are trying to achieve\n\nPlease include code examples (like models code, schemes code, view function) to help understand the issue\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "version: 2\n\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: monthly\n"
  },
  {
    "path": ".github/workflows/close-old-issues.yml",
    "content": "name: Close Old Issues\n\non:\n  workflow_dispatch:\n    inputs:\n      days_old:\n        description: 'Close issues older than N days'\n        required: true\n        default: '365'\n        type: number\n      dry_run:\n        description: 'Dry run mode (preview only, do not close)'\n        required: true\n        default: true\n        type: boolean\n      comment_on_close:\n        description: 'Add comment when closing issues'\n        required: true\n        default: true\n        type: boolean\n\njobs:\n  close-old-issues:\n    runs-on: ubuntu-latest\n    permissions:\n      issues: write\n\n    steps:\n      - name: Close or list old issues\n        uses: actions/github-script@v8\n        with:\n          script: |\n            const daysOld = ${{ inputs.days_old }};\n            const dryRun = ${{ inputs.dry_run }};\n            const addComment = ${{ inputs.comment_on_close }};\n            const cutoffDate = new Date();\n            cutoffDate.setDate(cutoffDate.getDate() - daysOld);\n\n            console.log(`Looking for issues older than ${daysOld} days (before ${cutoffDate.toISOString()})`);\n            console.log(`Dry run mode: ${dryRun ? 'YES (no changes will be made)' : 'NO (issues will be closed)'}`);\n            console.log('---');\n\n            let page = 1;\n            let issuesClosed = 0;\n            let issuesToClose = [];\n\n            while (true) {\n              const issues = await github.rest.issues.listForRepo({\n                owner: context.repo.owner,\n                repo: context.repo.repo,\n                state: 'open',\n                sort: 'created',\n                direction: 'asc',\n                per_page: 100,\n                page: page\n              });\n\n              if (issues.data.length === 0) {\n                break;\n              }\n\n              for (const issue of issues.data) {\n                // Skip pull requests\n                if (issue.pull_request) {\n                  continue;\n                }\n\n                const createdAt = new Date(issue.created_at);\n                const updatedAt = new Date(issue.updated_at);\n\n                // Check if issue is old enough based on last update\n                if (updatedAt < cutoffDate) {\n                  const daysOldCalculated = Math.floor((Date.now() - updatedAt.getTime()) / (1000 * 60 * 60 * 24));\n\n                  issuesToClose.push({\n                    number: issue.number,\n                    title: issue.title,\n                    created_at: createdAt.toISOString().split('T')[0],\n                    updated_at: updatedAt.toISOString().split('T')[0],\n                    days_old: daysOldCalculated,\n                    url: issue.html_url\n                  });\n                }\n              }\n\n              page++;\n            }\n\n            console.log(`\\nFound ${issuesToClose.length} issue(s) to close:\\n`);\n\n            for (const issue of issuesToClose) {\n              console.log(`#${issue.number}: ${issue.title}`);\n              console.log(`  Created: ${issue.created_at}`);\n              console.log(`  Last updated: ${issue.updated_at} (${issue.days_old} days ago)`);\n              console.log(`  URL: ${issue.url}`);\n              console.log('');\n\n              if (!dryRun) {\n                try {\n                  // Add a comment before closing (if enabled)\n                  if (addComment) {\n                    await github.rest.issues.createComment({\n                      owner: context.repo.owner,\n                      repo: context.repo.repo,\n                      issue_number: issue.number,\n                      body: `This issue has been automatically closed due to inactivity (no updates for ${issue.days_old} days). If you believe this issue is still relevant, please feel free to reopen it or create a new issue.`\n                    });\n                  }\n\n                  // Close the issue\n                  await github.rest.issues.update({\n                    owner: context.repo.owner,\n                    repo: context.repo.repo,\n                    issue_number: issue.number,\n                    state: 'closed',\n                    state_reason: 'not_planned'\n                  });\n\n                  issuesClosed++;\n                  console.log(`  ✓ Closed issue #${issue.number}`);\n                } catch (error) {\n                  console.error(`  ✗ Failed to close issue #${issue.number}: ${error.message}`);\n                }\n              }\n            }\n\n            console.log('\\n---');\n            if (dryRun) {\n              console.log(`DRY RUN: Would close ${issuesToClose.length} issue(s)`);\n              console.log('To actually close these issues, run this workflow again with dry_run set to false');\n            } else {\n              console.log(`Successfully closed ${issuesClosed} out of ${issuesToClose.length} issue(s)`);\n            }\n\n            // Set output for summary\n            core.summary\n              .addHeading(dryRun ? 'Dry Run Results' : 'Close Old Issues Results')\n              .addRaw(`**Mode:** ${dryRun ? '🔍 Dry Run (Preview Only)' : '✅ Live Run'}\\n`)\n              .addRaw(`**Cutoff Date:** Issues last updated before ${cutoffDate.toISOString().split('T')[0]}\\n`)\n              .addRaw(`**Days Old Threshold:** ${daysOld} days\\n`)\n              .addRaw(`**Issues ${dryRun ? 'Found' : 'Closed'}:** ${dryRun ? issuesToClose.length : issuesClosed}\\n\\n`);\n\n            if (issuesToClose.length > 0) {\n              core.summary.addHeading('Issues', 3);\n              const tableData = issuesToClose.map(issue => [\n                `#${issue.number}`,\n                issue.title.substring(0, 80) + (issue.title.length > 80 ? '...' : ''),\n                issue.updated_at,\n                `${issue.days_old} days`,\n                `[View](${issue.url})`\n              ]);\n\n              core.summary.addTable([\n                ['Issue', 'Title', 'Last Updated', 'Age', 'Link'],\n                ...tableData\n              ]);\n            } else {\n              core.summary.addRaw('\\nNo issues found matching the criteria.');\n            }\n\n            await core.summary.write();\n"
  },
  {
    "path": ".github/workflows/docs.yml",
    "content": "name: Docs\n\non:\n  workflow_dispatch:\n\njobs:\n  docs:\n    runs-on: ubuntu-latest\n    \n    steps:\n      - uses: actions/checkout@v6\n        with:\n          fetch-depth: 0\n      - name: Docs update\n        run: git push origin master:docs\n"
  },
  {
    "path": ".github/workflows/publish.yml",
    "content": "name: Publish\n\non:\n  release:\n    types: [published]\n  workflow_dispatch:\n\njobs:\n  publish:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - name: Set up Python\n        uses: actions/setup-python@v5\n      - name: Install Flit\n        run: pip install flit\n      - name: Install Dependencies\n        run: flit install --symlink\n      - name: Publish\n        env:\n          # FLIT_USERNAME: ${{ secrets.FLIT_USERNAME }}\n          # FLIT_PASSWORD: ${{ secrets.FLIT_PASSWORD }}\n          FLIT_USERNAME: __token__\n          FLIT_PASSWORD: ${{ secrets.PYPI_TOKEN }}\n        run: flit publish\n"
  },
  {
    "path": ".github/workflows/test.yml",
    "content": "name: Test Coverage\n\non:\n  push:\n    branches:\n      - master\n\njobs:\n  test_coverage:\n    runs-on: ubuntu-latest\n    \n    steps:\n      - uses: actions/checkout@v6\n      - name: Set up Python\n        uses: actions/setup-python@v5\n        with:\n          python-version: '3.12'\n      - name: Install Flit\n        run: pip install flit \"django>=5.1\"\n      - name: Install Dependencies\n        run: flit install --symlink\n      - name: Test\n        run: pytest --cov=ninja --cov-report=xml tests\n      - name: Coverage\n        uses: codecov/codecov-action@v4.4.1\n"
  },
  {
    "path": ".github/workflows/test_full.yml",
    "content": "name: Full Test\n\non:\n  push:\n  workflow_dispatch:\n  pull_request:\n    types: [assigned, opened, synchronize, reopened]\n\njobs:\n  test:\n    runs-on: ubuntu-22.04\n    strategy:\n      matrix:\n        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']\n        django-version: ['<3.2', '<3.3', '<4.2', '<4.3', '<5.1', '<5.2', '<5.3', '<6.1']\n        exclude:\n          - python-version: '3.7'\n            django-version: '<5.1'\n          \n          - python-version: '3.8'\n            django-version: '<5.1'\n          \n          - python-version: '3.9'\n            django-version: '<5.1'\n          \n          - python-version: '3.12'\n            django-version: '<3.2'\n          - python-version: '3.12'\n            django-version: '<3.3'\n          \n          - python-version: '3.13'\n            django-version: '<3.2'\n          - python-version: '3.13'\n            django-version: '<3.3'\n          \n          # as of oct 2025 looks like django < 5.2 does not support python 3.14\n          - python-version: '3.14'\n            django-version: '<3.2'\n          - python-version: '3.14'\n            django-version: '<3.3'\n          - python-version: '3.14'\n            django-version: '<4.2'\n          - python-version: '3.14'\n            django-version: '<4.3'\n          - python-version: '3.14'\n            django-version: '<5.1'\n          - python-version: '3.14'\n            django-version: '<5.2'\n    \n    steps:\n      - uses: actions/checkout@v6\n      - name: Set up Python\n        uses: actions/setup-python@v5\n        with:\n          python-version: ${{ matrix.python-version }}\n      - name: Install core\n        run: pip install \"Django${{ matrix.django-version }}\" \"pydantic<3\"\n      - name: Install tests\n        run: pip install pytest pytest-asyncio pytest-django psycopg2-binary\n      - name: Test\n        run: pytest\n\n  coverage:\n    runs-on: ubuntu-latest\n    \n    steps:\n      - uses: actions/checkout@v6\n      - name: Set up Python\n        uses: actions/setup-python@v5\n        with:\n          python-version: 3.12\n      - name: Install Flit\n        run: pip install flit \"django>=5.2\"\n      - name: Install Dependencies\n        run: flit install --symlink\n      - name: Test\n        run: pytest --cov=ninja\n\n  codestyle:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - name: Set up Python\n        uses: actions/setup-python@v5\n        with:\n          python-version: 3.12\n      - name: Install Flit\n        run: pip install flit\n      - name: Install Dependencies\n        run: flit install --symlink\n      - name: Ruff format\n        run: ruff format --check ninja tests\n      - name: Ruff lint\n        run: ruff check ninja tests\n      - name: mypy\n        run: mypy ninja tests/mypy_test.py\n"
  },
  {
    "path": ".gitignore",
    "content": "*.pyc\n.venv*\n.vscode\n.mypy_cache\n.coverage\nhtmlcov\n/coverage.xml\n\ndist\ntest.py\n\ndocs/site\n\n.DS_Store\n.idea\n.python-version\n*.local.md\n"
  },
  {
    "path": ".pre-commit-config.yaml",
    "content": "repos:\n  - repo: https://github.com/pre-commit/pre-commit-hooks\n    rev: v4.2.0\n    hooks:\n      - id: check-yaml\n      # - id: end-of-file-fixer\n      # - id: trailing-whitespace\n  - repo: https://github.com/pre-commit/mirrors-mypy\n    rev: v1.7.1\n    hooks:\n      - id: mypy\n        additional_dependencies: [\"django-stubs\", \"pydantic\"]\n        exclude: (tests|docs)/\n  - repo: https://github.com/astral-sh/ruff-pre-commit\n    rev: v0.4.2\n    hooks:\n      - id: ruff-format\n      - id: ruff\n        args: [--fix, --exit-non-zero-on-fix]\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing\n\nDjango Ninja uses Flit to build, package and publish the project.\n\nto install it use:\n\n```\npip install flit\n```\n\nOnce you have it - to install all dependencies required for development and testing  use this command:\n\n\n```\nflit install --deps develop --symlink\n```\n\nOnce done you can check if all works with \n\n```\npytest .\n```\n\nor using Makefile:\n\n```\nmake test\n```\n\nNow you are ready to make your contribution\n\n\nWhen you're done please make sure you to test your functionality \nand check the coverage of your contribution.\n\n```\npytest --cov=ninja --cov-report term-missing tests\n```\n\nor using Makefile:\n\n```\nmake test-cov\n```\n \n## Code style\n\nDjango Ninja uses `ruff`, and `mypy` for style checks.\n\nRun `pre-commit install` to create a git hook to fix your styles before you commit.\n\nAlternatively, manually check your code with:\n\n```\nruff format --check ninja tests\nruff check ninja tests\nmypy ninja\n```\n\nor using Makefile:\n\n```\nmake lint\n```\n\nOr reformat your code with:\n\n```\nruff format ninja tests\nruff check ninja tests --fix\n```\n\nor using Makefile:\n\n```\nmake fmt\n```\n \n## Docs\nPlease do not forget to document your contribution\n\nDjango Ninja uses `mkdocs`:\n\n```\ncd docs/\nmkdocs serve\n```\nand go to browser to see changes in real time\n\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2025 Vitaliy Kucheryaviy\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "Makefile",
    "content": ".DEFAULT_GOAL := help\n\n.PHONY: help\nhelp:\n\t@fgrep -h \"##\" $(MAKEFILE_LIST) | fgrep -v fgrep | sort | awk 'BEGIN {FS = \":.*?## \"}; {printf \"\\033[36m%-30s\\033[0m %s\\n\", $$1, $$2}'\n\n.PHONY: install\ninstall: ## Install dependencies\n\tflit install --deps develop --symlink\n\n.PHONY: lint\nlint: ## Run code linters\n\truff format --check ninja tests\n\truff check ninja tests\n\tmypy ninja\n\n.PHONY: fmt format\nfmt format: ## Run code formatters\n\truff format ninja tests\n\truff check --fix ninja tests\n\n.PHONY: test\ntest: ## Run tests\n\tpytest .\n\n.PHONY: test-cov\ntest-cov: ## Run tests with coverage\n\tpytest --cov=ninja --cov-report term-missing tests\n\n.PHONY: docs\ndocs: ## Serve documentation locally\n\tpip install -r docs/requirements.txt\n\tcd docs && mkdocs serve -a localhost:8090\n"
  },
  {
    "path": "README.md",
    "content": "<a href=\"https://github.com/vitalik/django-ninja/issues/383\"><img width=\"814\" alt=\"SCR-20230123-m1t\" src=\"https://user-images.githubusercontent.com/95222/214056666-585c0479-c122-4cb3-add4-b8844088ccdd.png\"></a>\n\n\n\n<a href=\"https://github.com/vitalik/django-ninja/issues/383\">^ Please read ^</a>\n\n\n\n\n<p align=\"center\">\n  <a href=\"https://django-ninja.dev/\"><img src=\"https://django-ninja.dev/img/logo-big.png\"></a>\n</p>\n<p align=\"center\">\n    <em>Fast to learn, fast to code, fast to run</em>\n</p>\n\n\n![Test](https://github.com/vitalik/django-ninja/actions/workflows/test_full.yml/badge.svg)\n![Coverage](https://img.shields.io/codecov/c/github/vitalik/django-ninja)\n[![PyPI version](https://badge.fury.io/py/django-ninja.svg)](https://badge.fury.io/py/django-ninja)\n[![Downloads](https://static.pepy.tech/personalized-badge/django-ninja?period=month&units=international_system&left_color=black&right_color=brightgreen&left_text=downloads/month)](https://pepy.tech/project/django-ninja)\n\n# Django Ninja - Fast Django REST Framework\n\n**Django Ninja** is a web framework for building APIs with **Django** and Python 3.6+ **type hints**.\n\n\n **Key features:**\n\n  - **Easy**: Designed to be easy to use and intuitive.\n  - **FAST execution**: Very high performance thanks to **<a href=\"https://pydantic-docs.helpmanual.io\" target=\"_blank\">Pydantic</a>** and **<a href=\"/docs/docs/guides/async-support.md\">async support</a>**.\n  - **Fast to code**: Type hints and automatic docs lets you focus only on business logic.\n  - **Standards-based**: Based on the open standards for APIs: **OpenAPI** (previously known as Swagger) and **JSON Schema**.\n  - **Django friendly**: (obviously) has good integration with the Django core and ORM.\n  - **Production ready**: Used by multiple companies on live projects (If you use django-ninja and would like to publish your feedback, please email ppr.vitaly@gmail.com).\n\n\n\n![Django Ninja REST Framework](docs/docs/img/benchmark.png)\n\n**Documentation**: https://django-ninja.dev\n\n---\n\n## Installation\n\n```\npip install django-ninja\n```\n\n\n\n## Usage\n\n\nIn your django project next to urls.py create new `api.py` file:\n\n```Python\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n\n\n@api.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n```\n\n\nNow go to `urls.py` and add the following:\n\n\n```Python hl_lines=\"3 7\"\n...\nfrom .api import api\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api.urls),  # <---------- !\n]\n```\n\n**That's it !**\n\nNow you've just created an API that:\n\n - receives an HTTP GET request at `/api/add`\n - takes, validates and type-casts GET parameters `a` and `b`\n - decodes the result to JSON\n - generates an OpenAPI schema for defined operation\n\n### Interactive API docs\n\nNow go to <a href=\"http://127.0.0.1:8000/api/docs\" target=\"_blank\">http://127.0.0.1:8000/api/docs</a>\n\nYou will see the automatic interactive API documentation (provided by <a href=\"https://github.com/swagger-api/swagger-ui\" target=\"_blank\">Swagger UI</a> or <a href=\"https://github.com/Redocly/redoc\" target=\"_blank\">Redoc</a>):\n\n![Swagger UI](docs/docs/img/index-swagger-ui.png)\n\n\n## Sponsors\n\n<a href=\"https://www.sendcloud.com/\"><img width=\"50%\" alt=\"sendcloud-logo\" src=\"https://github.com/user-attachments/assets/69a246d2-3dda-4473-a45c-9f0fc2f37c8c\" /></a>\n\n<a href=\"mailto:ppr.vitaly@gmail.com\">Become a sponsor</a>\n\n\n\n## What next?\n\n - Read the full documentation here - https://django-ninja.dev\n - To support this project, please give star it on Github. ![github star](docs/docs/img/github-star.png)\n - Share it [via Twitter](https://twitter.com/intent/tweet?text=Check%20out%20Django%20Ninja%20-%20Fast%20Django%20REST%20Framework%20-%20https%3A%2F%2Fdjango-ninja.dev)\n - If you already using django-ninja, please share your feedback to ppr.vitaly@gmail.com\n"
  },
  {
    "path": "docs/docs/chat.md",
    "content": "# Ask AI\n\nPlease feel free to share any questions or describe any problems you're encountering. Simply enter your text in the chat, and I'll be happy to assist you.\n\n<style>\n.serenity_chat__powered { display: none !important; }\n.md-sidebar--secondary { display: none !important; }\n.serenity_widget__container {\n    max-width: 1200px !important;\n}\n\n.serenity_app {\n    --serenity-answer-code-bg: #fafafa;\n    --serenity-widget-bg: #ffffff;\n}\n</style>\n\n<div id=\"serenity\"></div>\n\n<script>\nvar SERENITY_WIDGET = {\n    api_url: \"https://public.serenitygpt.com/api/v2/\",\n    api_token: \"FqbM1QFShh5mGOD7\",\n    popup: false,\n};\n</script>\n<script src=\"https://js.serenitygpt.com/widget.js\"></script>\n"
  },
  {
    "path": "docs/docs/extra.css",
    "content": ".doc-module code {\n  white-space: nowrap;\n}\n\n/* Ask AI Button Styles */\n.ask-ai-button-container {\n  display: flex;\n  align-items: center;\n  margin-left: auto;\n  margin-right: 1rem;\n}\n\n.ask-ai-button {\n  background-color: white !important;\n  color: #4caf50 !important;  /* Material green-500 */\n  padding: 0.4rem 0.5rem !important;\n  border-radius: 0.25rem;\n  font-weight: 500;\n  text-decoration: none;\n  font-size: 0.9rem;\n  border: 2px solid #4caf50;\n  transition: all 0.2s ease-in-out;\n  white-space: nowrap;\n  margin-left: 8px;\n}\n\n.ask-ai-button:hover {\n  background-color: #4caf50 !important;\n  color: white !important;\n  box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n}\n\n/* Dark mode support */\n[data-md-color-scheme=\"slate\"] .ask-ai-button {\n  background-color: white !important;\n  color: #4caf50 !important;\n}\n\n[data-md-color-scheme=\"slate\"] .ask-ai-button:hover {\n  background-color: #4caf50 !important;\n  color: white !important;\n}\n\n/* Responsive adjustments */\n@media screen and (max-width: 76.1875em) {\n  .ask-ai-button-container {\n    margin-right: 0.5rem;\n  }\n  .ask-ai-button {\n    padding: 0.4rem 0.8rem !important;\n    font-size: 0.85rem;\n  }\n}\n\n@media screen and (max-width: 60em) {\n  .ask-ai-button-container {\n    display: none;  /* Hide on mobile to save space */\n  }\n}\n"
  },
  {
    "path": "docs/docs/guides/api-docs.md",
    "content": "# API Docs\n\n## OpenAPI docs\n\nOnce you configured your Ninja API and started runserver -  go to <a href=\"http://127.0.0.1:8000/api/docs\" target=\"_blank\">http://127.0.0.1:8000/api/docs</a>\n\nYou will see the automatic, interactive API documentation (provided by the <a href=\"https://github.com/swagger-api/swagger-ui\" target=\"_blank\">OpenAPI / Swagger UI</a>\n\n\n## CDN vs staticfiles\n\nYou are not required to put django ninja to `INSTALLED_APPS`. In that case the interactive UI is hosted by CDN.\n\nTo host docs (Js/css) from your own server - just put \"ninja\" to INSTALLED_APPS - in that case standard django staticfiles mechanics will host it.\n\n## Switch to Redoc\n\n\n```python\nfrom ninja import Redoc\n\napi = NinjaAPI(docs=Redoc())\n\n```\n\nThen you will see the alternative automatic documentation (provided by <a href=\"https://github.com/Redocly/redoc\" target=\"_blank\">Redoc</a>).\n\n## Changing docs display settings\n\nTo set some custom settings for Swagger or Redocs you can use `settings` param on the docs class\n\n```python\nfrom ninja import Redoc, Swagger\n\napi = NinjaAPI(docs=Swagger(settings={\"persistAuthorization\": True}))\n...\napi = NinjaAPI(docs=Redoc(settings={\"disableSearch\": True}))\n\n```\n\nSettings reference:\n\n - [Swagger configuration](https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/)\n - [Redoc configuration](https://redocly.com/docs/api-reference-docs/configuration/functionality/)\n\n\n\n## Hiding docs\n\n### Hiding the interactive docs viewer\n\nTo hide only the interactive documentation UI (Swagger or Redoc) while keeping the OpenAPI schema accessible, set `docs_url` to `None`:\n\n```python\napi = NinjaAPI(docs_url=None)\n```\n\nThis disables the `/docs` endpoint but the OpenAPI schema remains available at `/openapi.json`. This is useful when you want to:\n\n- Disable the interactive UI but keep the schema for API clients or code generators\n- Use external documentation tools that consume the OpenAPI spec\n\n### Disabling the OpenAPI schema endpoint\n\nTo disable the OpenAPI schema endpoint, set `openapi_url` to `None`:\n\n```python\napi = NinjaAPI(openapi_url=None)\n```\n\nThis disables the `/openapi.json` endpoint. Since the docs viewer depends on the OpenAPI schema, this also disables the docs viewer - no documentation URLs will be registered.\n\n### Summary\n\n| Configuration | `/openapi.json` | `/docs` | Use Case |\n|---------------|-----------------|---------|----------|\n| Default | Available | Available | Development |\n| `docs_url=None` | Available | Hidden | Hide UI, keep schema for clients |\n| `openapi_url=None` | Hidden | Hidden | Completely hide all documentation |\n\n## Protecting docs\n\nTo protect docs with authentication (or decorate for some other use case) use `docs_decorator` argument:\n\n```python\nfrom django.contrib.admin.views.decorators import staff_member_required\n\napi = NinjaAPI(docs_decorator=staff_member_required)\n```\n\n## Extending OpenAPI Spec with custom attributes\n\nYou can extend OpenAPI spec with custom attributes, for example to add `termsOfService`\n\n```python\napi = NinjaAPI(\n   openapi_extra={\n       \"info\": {\n           \"termsOfService\": \"https://example.com/terms/\",\n       }\n   },\n   title=\"Demo API\",\n   description=\"This is a demo API with dynamic OpenAPI info section\"\n)\n```\n\n## Resolving the doc's url\n\nThe url for the api's documentation view can be reversed by referencing the view's name `openapi-view`.\n\nIn Python code, for example:\n```python\nfrom django.urls import reverse\n\nreverse('api-1.0.0:openapi-view')\n\n>>> '/api/docs'\n```\n\nIn a Django template, for example:\n```Html\n<a href=\"{% url 'api-1.0.0:openapi-view' %}\">API Docs</a>\n\n<a href=\"/api/docs\">API Docs</a>\n```\n\n## Creating custom docs viewer\n\nTo create your own view for OpenAPI - create a class inherited from DocsBase and overwrite `render_page` method:\n\n```python\nfrom ninja.openapi.docs import DocsBase\n\nclass MyDocsViewer(DocsBase):\n    def render_page(self, request, api):\n        ... # return http response\n\n...\n\napi = NinjaAPI(docs=MyDocsViewer())\n\n```\n\n## Using a custom favicon\n\nThe django-ninja OpenAPI docs contain a default favicon, the ninja star.\nTo use your own, overwrite the `ninja/favicon.html` django template.\n\n```html\n<!-- templates/ninja/favicons.html -->\n{% load static %}\n\n{% block favicons %}\n    <link rel=\"icon\" type=\"image/png\" href=\"{% static 'path/to/your/favicon.png' %}\">\n{% endblock %}\n```\n\nfor more information, see the [Django documentation on overriding templates](https://docs.djangoproject.com/en/5.2/howto/overriding-templates/).\n"
  },
  {
    "path": "docs/docs/guides/async-support.md",
    "content": "## Intro\n\nSince **version 3.1**, Django comes with **async views support**. This allows you run efficient concurrent views that are network and/or IO bound.\n\n```\npip install Django>=3.1 django-ninja\n```\n\nAsync views work more efficiently when it comes to:\n\n- calling external APIs over the network\n- executing/waiting for database queries\n- reading/writing from/to disk drives\n\n**Django Ninja** takes full advantage of async views and makes it very easy to work with them.\n\n## Quick example\n\n### Code\n\nLet's take an example.  We have an API operation that does some work (currently just sleeps for provided number of seconds) and returns a word:\n\n```python hl_lines=\"5\"\nimport time\n\n@api.get(\"/say-after\")\ndef say_after(request, delay: int, word: str):\n    time.sleep(delay)\n    return {\"saying\": word}\n```\n\nTo make this code asynchronous, all you have to do is add the **`async`** keyword to a function (and use async aware libraries for work processing - in our case we will replace the stdlib `sleep` with `asyncio.sleep`):\n\n```python hl_lines=\"1 4 5\"\nimport asyncio\n\n@api.get(\"/say-after\")\nasync def say_after(request, delay: int, word: str):\n    await asyncio.sleep(delay)\n    return {\"saying\": word}\n```\n\n### Run\n\nTo run this code you need an ASGI server like <a href=\"https://www.uvicorn.org/\" target=\"_blank\">Uvicorn</a> or <a href=\"https://github.com/django/daphne\" target=\"_blank\">Daphne</a>. Let's use Uvicorn for, example:\n\nTo install Uvicorn, use:\n\n```\npip install uvicorn\n```\n\nThen start the server:\n\n```\nuvicorn your_project.asgi:application --reload\n```\n\n> <small>\n> *Note: replace `your_project` with your project package name*<br>\n> *`--reload` flag used to automatically reload server if you do any changes to the code (do not use on production)*\n> </small>\n\n!!! note\n    You can run async views with `manage.py runserver`, but it does not work well with some libraries, so at this time (July 2020) it is recommended to use ASGI servers like Uvicorn or Daphne.\n\n### Test\n\nGo to your browser and open <a href=\"http://127.0.0.1:8000/api/say-after?delay=3&word=hello\" target=\"_blank\">http://127.0.0.1:8000/api/say-after?delay=3&word=hello</a> (**delay=3**)\nAfter a 3-second wait you should see the \"hello\" message.\n\nNow let's flood this operation with **100 parallel requests**:\n\n```\nab -c 100 -n 100 \"http://127.0.0.1:8000/api/say-after?delay=3&word=hello\"\n```\n\nwhich will result in something like this:\n\n```\nConnection Times (ms)\n              min  mean[+/-sd] median   max\nConnect:        0    1   1.1      1       4\nProcessing:  3008 3063  16.2   3069    3082\nWaiting:     3008 3062  15.7   3068    3079\nTotal:       3008 3065  16.3   3070    3083\n\nPercentage of the requests served within a certain time (ms)\n  50%   3070\n  66%   3072\n  75%   3075\n  80%   3076\n  90%   3081\n  95%   3082\n  98%   3083\n  99%   3083\n 100%   3083 (longest request)\n```\n\nBased on the numbers, our service was able to handle each of the 100 concurrent requests with just a little overhead.\n\nTo achieve the same concurrency with WSGI and sync operations you would need to spin up about 10 workers with 10 threads each!\n\n## Mixing sync and async operations\n\nKeep in mind that you can use **both sync and async operations** in your project, and **Django Ninja** will route it automatically:\n\n```python hl_lines=\"2 7\"\n\n@api.get(\"/say-sync\")\ndef say_after_sync(request, delay: int, word: str):\n    time.sleep(delay)\n    return {\"saying\": word}\n\n@api.get(\"/say-async\")\nasync def say_after_async(request, delay: int, word: str):\n    await asyncio.sleep(delay)\n    return {\"saying\": word}\n```\n\n## Elasticsearch example\n\nLet's take a real world use case. For this example, let's use the latest version of Elasticsearch that now comes with async support:\n\n```\npip install elasticsearch>=7.8.0\n```\n\nAnd now instead of the `Elasticsearch` class, use the `AsyncElasticsearch` class and `await` the results:\n\n```python hl_lines=\"2 7 11 12\"\nfrom ninja import NinjaAPI\nfrom elasticsearch import AsyncElasticsearch\n\n\napi = NinjaAPI()\n\nes = AsyncElasticsearch()\n\n\n@api.get(\"/search\")\nasync def search(request, q: str):\n    resp = await es.search(\n        index=\"documents\", \n        body={\"query\": {\"query_string\": {\"query\": q}}},\n        size=20,\n    )\n    return resp[\"hits\"]\n```\n\n## Using ORM\n\nCurrently, certain key parts of Django are not able to operate safely in an async environment, as they have global state that is not coroutine-aware. These parts of Django are classified as “async-unsafe”, and are protected from execution in an async environment. **The ORM** is the main example, but there are other parts that are also protected in this way.\n\nLearn more about async safety here in the <a href=\"https://docs.djangoproject.com/en/stable/topics/async/#async-safety\" target=\"_blank\">official Django docs</a>.\n\nSo, if you do this:\n\n```python hl_lines=\"3\"\n@api.get(\"/blog/{post_id}\")\nasync def search(request, post_id: int):\n    blog = Blog.objects.get(pk=post_id)\n    ...\n```\n\nit throws an error. Until the async ORM is implemented, you can use the `sync_to_async()` adapter:\n\n```python hl_lines=\"1 3 9\"\nfrom asgiref.sync import sync_to_async\n\n@sync_to_async\ndef get_blog(post_id):\n    return Blog.objects.get(pk=post_id)\n\n@api.get(\"/blog/{post_id}\")\nasync def search(request, post_id: int):\n    blog = await get_blog(post_id)\n    ...\n```\n\nor even shorter:\n\n```python hl_lines=\"3\"\n@api.get(\"/blog/{post_id}\")\nasync def search(request, post_id: int):\n    blog = await sync_to_async(Blog.objects.get)(pk=post_id)\n    ...\n```\n\nThere is a common **GOTCHA**: Django querysets are lazily evaluated (database query happens only when you start iterating), so this will **not** work:\n\n```python\nall_blogs = await sync_to_async(Blog.objects.all)()\n# it will throw an error later when you try to iterate over all_blogs\n...\n```\n\nInstead, use evaluation (with `list`):\n\n```python\nall_blogs = await sync_to_async(list)(Blog.objects.all())\n...\n```\n\nSince Django **version 4.1**, Django comes with asynchronous versions of ORM operations.\nThese eliminate the need to use `sync_to_async` in most cases.\nThe async operations have the same names as their sync counterparts but are prepended with *a*. So using\nthe example above, you can rewrite it as:\n\n```python hl_lines=\"3\"\n@api.get(\"/blog/{post_id}\")\nasync def search(request, post_id: int):\n    blog = await Blog.objects.aget(pk=post_id)\n    ...\n```\n\nWhen working with querysets, use `async for` paired with list comprehension:\n\n```python\nall_blogs = [blog async for blog in Blog.objects.all()]\n...\n```\n\nLearn more about the async ORM interface in the <a href=\"https://docs.djangoproject.com/en/4.1/releases/4.1/#asynchronous-orm-interface\" target=\"_blank\">official Django docs</a>.\n"
  },
  {
    "path": "docs/docs/guides/authentication.md",
    "content": "# Authentication\n\n## Intro\n\n**Django Ninja** provides several tools to help you deal with authentication and authorization easily, rapidly, in a standard way, and without having to study and learn <a href=\"https://swagger.io/docs/specification/authentication/\" target=\"_blank\">all the security specifications</a>.\n\nThe core concept is that when you describe an API operation, you can define an authentication object.\n\n```python hl_lines=\"2 7\"\n{!./src/tutorial/authentication/code001.py!}\n```\n\nIn this example, the client will only be able to call the `pets` method if it uses Django session authentication (the default is cookie based), otherwise an HTTP-401 error will be returned.\n\nIf you need to authorize only a superuser, you can use `from ninja.security import django_auth_superuser` instead.\n\n## Automatic OpenAPI schema\n\nHere's an example where the client, in order to authenticate, needs to pass a header:\n\n`Authorization: Bearer supersecret`\n\n```python hl_lines=\"4 5 6 7 10\"\n{!./src/tutorial/authentication/bearer01.py!}\n```\n\nNow go to the docs at <a href=\"http://localhost:8000/api/docs\" target=\"_blank\">http://localhost:8000/api/docs</a>.\n\n\n![Swagger UI Auth](../img/auth-swagger-ui.png)\n\nNow, when you click the **Authorize** button, you will get a prompt to input your authentication token.\n\n![Swagger UI Auth](../img/auth-swagger-ui-prompt.png)\n\nWhen you do test calls, the Authorization header will be passed for every request.\n\n\n## Global authentication\n\nIn case you need to secure **all** methods of your API, you can pass the `auth` argument to the `NinjaAPI` constructor:\n\n\n```python hl_lines=\"11 19\"\nfrom ninja import NinjaAPI, Form\nfrom ninja.security import HttpBearer\n\n\nclass GlobalAuth(HttpBearer):\n    def authenticate(self, request, token):\n        if token == \"supersecret\":\n            return token\n\n\napi = NinjaAPI(auth=GlobalAuth())\n\n# @api.get(...)\n# def ...\n\n# @api.post(...)\n# def ...\n```\n\nAnd, if you need to overrule some of those methods, you can do that on the operation level again by passing the `auth` argument. In this example, authentication will be disabled for the `/token` operation:\n\n```python hl_lines=\"19\"\n{!./src/tutorial/authentication/global01.py!}\n```\n\n## Available auth options\n\n### Custom function\n\n\nThe \"`auth=`\" argument accepts any Callable object. **NinjaAPI** passes authentication only if the callable object returns a value that can be **converted to boolean `True`**. This return value will be assigned to the `request.auth` attribute.\n\n```python hl_lines=\"1 2 3 6\"\n{!./src/tutorial/authentication/code002.py!}\n```\n\n\n### API Key\n\nSome API's use API keys for authorization. An API key is a token that a client provides when making API calls to identify itself. The key can be sent in the query string:\n```\nGET /something?api_key=abcdef12345\n```\n\nor as a request header:\n\n```\nGET /something HTTP/1.1\nX-API-Key: abcdef12345\n```\n\nor as a cookie:\n\n```\nGET /something HTTP/1.1\nCookie: X-API-KEY=abcdef12345\n```\n\n**Django Ninja** comes with built-in classes to help you handle these cases.\n\n\n#### in Query\n\n```python hl_lines=\"1 2 5 6 7 8 9 10 11 12\"\n{!./src/tutorial/authentication/apikey01.py!}\n```\n\nIn this example we take a token from `GET['api_key']` and find a `Client` in the database that corresponds to this key. The Client instance will be set to the `request.auth` attribute.\n\nNote: **`param_name`** is the name of the GET parameter that will be checked for. If not set, the default of \"`key`\" will be used.\n\n\n#### in Header\n\n```python hl_lines=\"1 4\"\n{!./src/tutorial/authentication/apikey02.py!}\n```\n\n#### in Cookie\n\n```python hl_lines=\"1 4\"\n{!./src/tutorial/authentication/apikey03.py!}\n```\n\n### Django Session Authentication\n\n**Django Ninja** provides built-in session authentication classes that leverage Django's existing session framework:\n\n#### SessionAuth\n\nUses Django's default session authentication - authenticates any logged-in user:\n\n```python\nfrom ninja.security import SessionAuth\n\n@api.get(\"/protected\", auth=SessionAuth())\ndef protected_view(request):\n    return {\"user\": request.auth.username}\n```\n\n#### SessionAuthSuperUser\n\nAuthenticates only users with superuser privileges:\n\n```python\nfrom ninja.security import SessionAuthSuperUser\n\n@api.get(\"/admin-only\", auth=SessionAuthSuperUser())\ndef admin_view(request):\n    return {\"message\": \"Hello superuser!\"}\n```\n\n#### SessionAuthIsStaff\n\nAuthenticates users who are either superusers or staff members:\n\n```python\nfrom ninja.security import SessionAuthIsStaff\n\n@api.get(\"/staff-area\", auth=SessionAuthIsStaff())\ndef staff_view(request):\n    return {\"message\": \"Hello staff member!\"}\n```\n\nThese authentication classes automatically use Django's `SESSION_COOKIE_NAME` setting and check the user's authentication status through the standard Django session framework.\n\n\n\n### HTTP Bearer\n\n```python hl_lines=\"1 4 5 6 7\"\n{!./src/tutorial/authentication/bearer01.py!}\n```\n\n### HTTP Basic Auth\n\n```python hl_lines=\"1 4 5 6 7\"\n{!./src/tutorial/authentication/basic01.py!}\n```\n\n\n## Multiple authenticators\n\nThe **`auth`** argument also allows you to pass multiple authenticators:\n\n```python hl_lines=\"18\"\n{!./src/tutorial/authentication/multiple01.py!}\n```\n\nIn this case **Django Ninja** will first check the API key `GET`, and if not set or invalid will check the `header` key.\nIf both are invalid, it will raise an authentication error to the response.\n\n\n## Router authentication\n\nUse `auth` argument on Router to apply authenticator to all operations declared in it:\n\n```python\napi.add_router(\"/events/\", events_router, auth=BasicAuth())\n```\n\nor using router constructor\n```python\nrouter = Router(auth=BasicAuth())\n```\n\nThis overrides any API level authentication. To allow router operations to not use the API-level authentication by default, you can explicitly set the router's `auth=None`.\n\n\n## Custom exceptions\n\nRaising an exception that has an exception handler will return the response from that handler in\nthe same way an operation would:\n\n```python hl_lines=\"1 4\"\n{!./src/tutorial/authentication/bearer02.py!}\n```\n\n\n## Async authentication\n\n**Django Ninja** has basic support for asynchronous authentication. While the default authentication classes are not async-compatible, you can still define your custom asynchronous authentication callables and pass them in using `auth`.\n\n```python\nasync def async_auth(request):\n    ...\n\n\n@api.get(\"/pets\", auth=async_auth)\ndef pets(request):\n    ...\n```\n\n\nSee [Handling errors](errors.md) for more information.\n"
  },
  {
    "path": "docs/docs/guides/decorators.md",
    "content": "# Decorators\n\nDjango Ninja provides flexible decorator support to wrap your API operations with additional functionality like caching, logging, authentication checks, or any custom logic.\n\n## Understanding Decorator Modes\n\nDjango Ninja supports two modes for applying decorators:\n\n\n### OPERATION Mode (Default)\n- Applied **after** Django Ninja's validation\n- Wraps the operation function with validated data\n- Has access to parsed and validated parameters\n- Useful for: business logic, logging with validated data, post-validation checks\n\n### VIEW Mode\n- Applied **before** Django Ninja's validation\n- Wraps the entire Django view function\n- Has access to the raw Django request\n- Useful for: caching, rate limiting, Django middleware-like functionality\n- Similar to Django's standard view decorators\n\n\n## Using `@decorate_view`\n\nThe `@decorate_view` decorator allows you to apply Django view decorators to individual endpoints.\nThese decorators are always executed in VIEW mode:\n\n```python\nfrom django.views.decorators.cache import cache_page\nfrom ninja import NinjaAPI\nfrom ninja.decorators import decorate_view\n\napi = NinjaAPI()\n\n@api.get(\"/cached\")\n@decorate_view(cache_page(60 * 15))  # Cache for 15 minutes\ndef cached_endpoint(request):\n    return {\"data\": \"This response is cached\"}\n```\n\nYou can apply multiple decorators:\n\n```python\nfrom django.views.decorators.cache import cache_page\nfrom django.views.decorators.vary import vary_on_headers\n\n@api.get(\"/multi\")\n@decorate_view(cache_page(300), vary_on_headers(\"User-Agent\"))\ndef multi_decorated(request):\n    return {\"data\": \"Multiple decorators applied\"}\n```\n\n## Using `add_decorator`\n\nThe `add_decorator` method allows you to apply decorators to multiple endpoints at once.\nBy default, they are executed in OPERATION mode; however, you can switch them to VIEW mode.\n\n### Router-Level Decorators\n\nApply decorators to all endpoints in a router:\n\n```python\nfrom ninja import Router\n\nrouter = Router()\n\n# Add logging to all operations in this router\ndef log_operation(func):\n    def wrapper(request, *args, **kwargs):\n        print(f\"Calling {func.__name__}\")\n        result = func(request, *args, **kwargs)\n        print(f\"Result: {result}\")\n        return result\n    return wrapper\n\nrouter.add_decorator(log_operation)  # OPERATION mode by default\n\n@router.get(\"/users\")\ndef list_users(request):\n    return {\"users\": [\"Alice\", \"Bob\"]}\n\n@router.get(\"/users/{user_id}\")\ndef get_user(request, user_id: int):\n    return {\"user_id\": user_id}\n```\n\n### API-Level Decorators\n\nApply decorators to all endpoints in your entire API:\n\n```python\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n\n# Add CORS headers to all responses (VIEW mode)\ndef cors_headers(func):\n    def wrapper(request, *args, **kwargs):\n        response = func(request, *args, **kwargs)\n        response[\"Access-Control-Allow-Origin\"] = \"*\"\n        return response\n    return wrapper\n\napi.add_decorator(cors_headers, mode=\"view\")\n\n# Now all endpoints will have CORS headers\n@api.get(\"/data\")\ndef get_data(request):\n    return {\"data\": \"example\"}\n```\n\n## Practical Examples\n\n### Example 1: Request Timing\n\n```python\nimport time\nfrom functools import wraps\n\ndef timing_decorator(func):\n    @wraps(func)\n    def wrapper(request, *args, **kwargs):\n        start = time.time()\n        result = func(request, *args, **kwargs)\n        duration = time.time() - start\n        if isinstance(result, dict):\n            result[\"_timing\"] = f\"{duration:.3f}s\"\n        return result\n    return wrapper\n\nrouter = Router()\nrouter.add_decorator(timing_decorator)\n\n@router.get(\"/slow\")\ndef slow_endpoint(request):\n    time.sleep(1)\n    return {\"message\": \"done\"}\n# Returns: {\"message\": \"done\", \"_timing\": \"1.001s\"}\n```\n\n### Example 2: Authentication Check (OPERATION mode)\n\n```python\nfrom functools import wraps\n\ndef require_feature_flag(flag_name):\n    def decorator(func):\n        @wraps(func)\n        def wrapper(request, *args, **kwargs):\n            if not request.user.has_feature(flag_name):\n                return {\"error\": f\"Feature {flag_name} not enabled\"}\n            return func(request, *args, **kwargs)\n        return wrapper\n    return decorator\n\nrouter = Router()\nrouter.add_decorator(require_feature_flag(\"new_api\"))\n\n@router.get(\"/new-feature\")\ndef new_feature(request):\n    return {\"feature\": \"enabled\"}\n```\n\n### Example 3: Response Caching (VIEW mode)\n\n```python\nfrom django.core.cache import cache\nfrom functools import wraps\nimport hashlib\n\ndef cache_response(timeout=300):\n    def decorator(func):\n        @wraps(func)\n        def wrapper(request, *args, **kwargs):\n            # Create cache key from request\n            cache_key = hashlib.md5(\n                f\"{request.path}{request.GET.urlencode()}\".encode()\n            ).hexdigest()\n            \n            # Try to get from cache\n            cached = cache.get(cache_key)\n            if cached:\n                return cached\n            \n            # Call the view\n            response = func(request, *args, **kwargs)\n            \n            # Cache the response\n            cache.set(cache_key, response, timeout)\n            return response\n        return wrapper\n    return decorator\n\nrouter = Router()\nrouter.add_decorator(cache_response(600), mode=\"view\")\n```\n\n## Decorator Execution Order\n\nWhen multiple decorators are applied, they execute in this order:\n\n1. API-level decorators (outermost)\n2. Parent router decorators\n3. Child router decorators\n4. Individual endpoint decorators (innermost)\n\nBe aware that VIEW mode decorators are executed before OPERATION mode decorators.\n\n```python\napi = NinjaAPI()\nparent_router = Router()\nchild_router = Router()\n\napi.add_decorator(api_decorator)\nparent_router.add_decorator(parent_decorator)\nchild_router.add_decorator(child_decorator)\n\n@child_router.get(\"/test\")\n@decorate_view(endpoint_decorator)\ndef endpoint(request):\n    return {\"result\": \"ok\"}\n\nparent_router.add_router(\"/child\", child_router)\napi.add_router(\"/parent\", parent_router)\n\n# Execution order:\n# 1. endpoint_decorator (view)\n# 1. api_decorator (operational)\n# 2. parent_decorator (operational)\n# 3. child_decorator (operational)\n# 5. endpoint function\n```\n\n## Async Support\n\nDecorators work with both sync and async views. When you have mixed sync/async endpoints in the same router, you need to create universal decorators that handle both cases.\n\n### Universal Decorators for Mixed Sync/Async Routers\n\nWhen you have a router with both sync and async endpoints, use `asyncio.iscoroutinefunction()` to detect the function type:\n\n```python\nimport asyncio\nfrom functools import wraps\n\ndef universal_decorator(func):\n    if asyncio.iscoroutinefunction(func):\n        # Handle async functions\n        @wraps(func)\n        async def async_wrapper(request, *args, **kwargs):\n            # Your async logic here\n            result = await func(request, *args, **kwargs)\n            if isinstance(result, dict):\n                result[\"decorated\"] = True\n                result[\"type\"] = \"async\"\n            return result\n        return async_wrapper\n    else:\n        # Handle sync functions  \n        @wraps(func)\n        def sync_wrapper(request, *args, **kwargs):\n            # Your sync logic here\n            result = func(request, *args, **kwargs)\n            if isinstance(result, dict):\n                result[\"decorated\"] = True\n                result[\"type\"] = \"sync\"\n            return result\n        return sync_wrapper\n\nrouter = Router()\nrouter.add_decorator(universal_decorator)\n\n@router.get(\"/async\")\nasync def async_endpoint(request):\n    await asyncio.sleep(0.1)\n    return {\"endpoint\": \"async\"}\n\n@router.get(\"/sync\") \ndef sync_endpoint(request):\n    return {\"endpoint\": \"sync\"}\n```\n\n### Async-Only Decorators\n\nFor routers with only async endpoints, you can use async decorators directly:\n\n```python\ndef async_timing_decorator(func):\n    @wraps(func)\n    async def wrapper(request, *args, **kwargs):\n        start = time.time()\n        result = await func(request, *args, **kwargs)\n        duration = time.time() - start\n        if isinstance(result, dict):\n            result[\"_timing\"] = f\"{duration:.3f}s\"\n        return result\n    return wrapper\n\nrouter = Router()\nrouter.add_decorator(async_timing_decorator)\n\n@router.get(\"/async\")\nasync def async_endpoint(request):\n    await asyncio.sleep(1)\n    return {\"message\": \"async done\"}\n```\n\n### Sync Decorators on Async Views\n\nYou can also use sync decorators on async views by handling coroutines:\n\n```python\ndef sync_decorator(func):\n    @wraps(func)\n    def wrapper(request, *args, **kwargs):\n        result = func(request, *args, **kwargs)\n        \n        if asyncio.iscoroutine(result):\n            # Handle async functions\n            async def async_wrapper():\n                actual_result = await result\n                if isinstance(actual_result, dict):\n                    actual_result[\"sync_decorated\"] = True\n                return actual_result\n            return async_wrapper()\n        else:\n            # Handle sync functions\n            if isinstance(result, dict):\n                result[\"sync_decorated\"] = True\n            return result\n    return wrapper\n```\n\n## When to Use Each Mode\n\n### Use VIEW Mode When:\n- You need access to the raw Django request\n- Implementing caching at the HTTP level\n- Adding/modifying HTTP headers\n- Implementing rate limiting\n- Working with Django middleware patterns\n\n### Use OPERATION Mode When:\n- You need access to validated/parsed data\n- Implementing business logic decorators\n- Adding data to responses\n- Logging with type-safe parameters\n- Post-validation security checks\n\n## Best Practices\n\n1. **Use `functools.wraps`**: Always use `@wraps(func)` to preserve function metadata\n\n2. **Handle mixed sync/async routers**: When your router has both sync and async endpoints, use `asyncio.iscoroutinefunction(func)` to create universal decorators\n\n3. **Choose the right approach for async**:\n   - **Universal decorators**: Best for mixed routers (detect with `iscoroutinefunction`)\n   - **Async-only decorators**: Best for async-only routers (simpler, cleaner) \n   - **Sync decorators with coroutine handling**: Useful for legacy decorators\n\n4. **Be mindful of performance**: Decorators add overhead, especially in VIEW mode\n\n5. **Document side effects**: Clearly document what your decorators modify\n\n6. **Keep decorators focused**: Each decorator should have a single responsibility\n\n7. **Test both sync and async**: When using universal decorators, test both sync and async endpoints\n"
  },
  {
    "path": "docs/docs/guides/errors.md",
    "content": "# Handling errors\n\n**Django Ninja** allows you to install custom exception handlers to deal with how you return responses when errors or handled exceptions occur.\n\n## Custom exception handlers\n\nLet's say you are making API that depends on some external service that is designed to be unavailable at some moments. Instead of throwing default 500 error upon exception - you can handle the error and give some friendly response back to the client (to come back later)\n\nTo achieve that you need:\n\n1. create some exception (or use existing one)\n2. use api.exception_handler decorator\n\n\nExample:\n\n\n```python hl_lines=\"9 10\"\napi = NinjaAPI()\n\nclass ServiceUnavailableError(Exception):\n    pass\n\n\n# initializing handler\n\n@api.exception_handler(ServiceUnavailableError)\ndef service_unavailable(request, exc):\n    return api.create_response(\n        request,\n        {\"message\": \"Please retry later\"},\n        status=503,\n    )\n\n\n# some logic that throws exception\n\n@api.get(\"/service\")\ndef some_operation(request):\n    if random.choice([True, False]):\n        raise ServiceUnavailableError()\n    return {\"message\": \"Hello\"}\n\n```\n\nException handler function takes 2 arguments:\n\n - **request** - Django http request\n - **exc** - actual exception\n\nfunction must return http response\n\n## Override the default exception handlers\n\n**Django Ninja** registers default exception handlers for the types shown below.\nYou can register your own handlers with `@api.exception_handler` to override the default handlers.\n\n#### `ninja.errors.AuthenticationError`\n\nRaised when authentication data is not valid\n\n#### `ninja.errors.AuthorizationError`\n\nRaised when authentication data is valid, but doesn't allow you to access the resource\n\n#### `ninja.errors.ValidationError`\n\nRaised when request data does not validate\n\n#### `ninja.errors.HttpError`\n\nUsed to throw http error with status code from any place of the code\n\n#### `django.http.Http404`\n \n Django's default 404 exception (can be returned f.e. with `get_object_or_404`)\n\n#### `Exception`\n \nAny other unhandled exception by application.\n\nDefault behavior \n \n  - **if `settings.DEBUG` is `True`** - returns a traceback in plain text (useful when debugging in console or swagger UI)\n  - **else** - default django exception handler mechanism is used (error logging, email to ADMINS)\n\n\n## Customizing request validation errors\n\nRequests that fail validation raise `ninja.errors.ValidationError` (not to be confused with `pydantic.ValidationError`).\n`ValidationError`s have a default exception handler that returns a 422 (Unprocessable Content) JSON response of the form:\n```json\n{\n    \"detail\": [ ... ]\n}\n```\n\nYou can change this behavior by overriding the default handler for `ValidationError`s:\n\n```python hl_lines=\"1 4\"\nfrom ninja.errors import ValidationError\n...\n\n@api.exception_handler(ValidationError)\ndef validation_errors(request, exc):\n    return HttpResponse(\"Invalid input\", status=422)\n```\n\nIf you need even more control over validation errors (for example, if you need to reference the schema associated with\nthe model that failed validation), you can supply your own `validation_error_from_error_contexts` in a `NinjaAPI` subclass:\n\n```python hl_lines=\"4\"\nfrom ninja.errors import ValidationError, ValidationErrorContext\nfrom typing import Any, Dict, List\n\nclass CustomNinjaAPI(NinjaAPI):\n    def validation_error_from_error_contexts(\n        self, error_contexts: List[ValidationErrorContext],\n    ) -> ValidationError:\n        custom_error_infos: List[Dict[str, Any]] = []\n        for context in error_contexts:\n            model = context.model\n            pydantic_schema = model.__pydantic_core_schema__\n            param_source = model.__ninja_param_source__\n            for e in context.pydantic_validation_error.errors(\n                include_url=False, include_context=False, include_input=False\n            ):\n                custom_error_info = {\n                # TODO: use `e`, `param_source`, and `pydantic_schema` as desired\n                }\n                custom_error_infos.append(custom_error_info)\n        return ValidationError(custom_error_infos)\n\napi = CustomNinjaAPI()\n```\n\nNow each `ValidationError` raised during request validation will contain data from your `validation_error_from_error_contexts`.\n\n\n## Throwing HTTP responses with exceptions\n\nAs an alternative to custom exceptions and writing handlers for it - you can as well throw http exception that will lead to returning a http response with desired code\n\n\n```python\nfrom ninja.errors import HttpError\n\n@api.get(\"/some/resource\")\ndef some_operation(request):\n    if True:\n        raise HttpError(503, \"Service Unavailable. Please retry later.\")\n\n```\n"
  },
  {
    "path": "docs/docs/guides/input/body.md",
    "content": "# Request Body\n\nRequest bodies are typically used with “create” and “update” operations (POST, PUT, PATCH).\nFor example, when creating a resource using POST or PUT, the request body usually contains the representation of the resource to be created.\n\nTo declare a **request body**, you need to use **Django Ninja `Schema`**.\n\n!!! info\n    Under the hood **Django Ninja** uses <a href=\"https://pydantic-docs.helpmanual.io/\" class=\"external-link\" target=\"_blank\">Pydantic</a> models with all their power and benefits.\n    The alias `Schema` was chosen to avoid confusion in code when using Django models, as Pydantic's model class is called Model by default, and conflicts with Django's Model class.\n\n## Import Schema\n\nFirst, you need to import `Schema` from `ninja`:\n\n```python hl_lines=\"2\"\n{!./src/tutorial/body/code01.py!}\n```\n\n## Create your data model\n\nThen you declare your data model as a class that inherits from `Schema`.\n\nUse standard Python types for all the attributes:\n\n```python hl_lines=\"5 6 7 8 9\"\n{!./src/tutorial/body/code01.py!}\n```\n\nNote: if you use **`None`** as the default value for an attribute, it will become optional in the request body.\nFor example, this model above declares a JSON \"`object`\" (or Python `dict`) like:\n\n```JSON\n{\n    \"name\": \"Katana\",\n    \"description\": \"An optional description\",\n    \"price\": 299.00,\n    \"quantity\": 10\n}\n```\n\n...as `description` is optional (with a default value of `None`), this JSON \"`object`\" would also be valid:\n\n```JSON\n{\n    \"name\": \"Katana\",\n    \"price\": 299.00,\n    \"quantity\": 10\n}\n```\n\n## Declare it as a parameter\n\nTo add it to your *path operation*, declare it the same way you declared the path and query parameters:\n\n```python hl_lines=\"13\"\n{!./src/tutorial/body/code01.py!}\n```\n\n... and declare its type as the model you created, `Item`.\n\n## Results\n\nWith just that Python type declaration, **Django Ninja** will:\n\n* Read the body of the request as JSON.\n* Convert the corresponding types (if needed).\n* Validate the data.\n    * If the data is invalid, it will return a nice and meaningful error, indicating exactly where and what the incorrect data was.\n* Give you the received data in the parameter `item`.\n    * Because you declared it in the function to be of type `Item`, you will also have all the editor support\n      (completion, etc.) for all the attributes and their types.\n* Generate <a href=\"https://json-schema.org\" class=\"external-link\" target=\"_blank\">JSON Schema</a> definitions for\n  your models, and you can also use them anywhere else you like if it makes sense for your project.\n* Those schemas will be part of the generated OpenAPI schema, and used by the automatic documentation <abbr title=\"User Interfaces\">UI's</abbr>.\n\n## Automatic docs\n\nThe JSON Schemas of your models will be part of your OpenAPI generated schema, and will be shown in the interactive API docs:\n\n![Openapi schema](../../img/body-schema-doc.png)\n\n... and they will be also used in the API docs inside each *path operation* that needs them:\n\n![Openapi schema](../../img/body-schema-doc2.png)\n\n## Editor support\n\nIn your editor, inside your function you will get type hints and completion everywhere (this wouldn't happen if you received a `dict` instead of a Schema object):\n\n![Type hints](../../img/body-editor.gif)\n\n\nThe previous screenshots were taken with <a href=\"https://code.visualstudio.com\" class=\"external-link\" target=\"_blank\">Visual Studio Code</a>.\n\nYou would get the same editor support with <a href=\"https://www.jetbrains.com/pycharm/\" class=\"external-link\" target=\"_blank\">PyCharm</a> and most of the other Python editors.\n\n\n## Request body + path parameters\n\nYou can declare path parameters **and** body requests at the same time.\n\n**Django Ninja** will recognize that the function parameters that match path parameters should be **taken from the path**, and that function parameters that are declared with `Schema` should be **taken from the request body**.\n\n```python hl_lines=\"11 12\"\n{!./src/tutorial/body/code02.py!}\n```\n\n## Request body + path + query parameters\n\nYou can also declare **body**, **path** and **query** parameters, all at the same time.\n\n**Django Ninja** will recognize each of them and take the data from the correct place.\n\n```python hl_lines=\"11 12\"\n{!./src/tutorial/body/code03.py!}\n```\n\nThe function parameters will be recognized as follows:\n\n* If the parameter is also declared in the **path**, it will be used as a path parameter.\n* If the parameter is of a **singular type** (like `int`, `float`, `str`, `bool`, etc.), it will be interpreted as a **query** parameter.\n* If the parameter is declared to be of the type of **Schema** (or Pydantic `BaseModel`), it will be interpreted as a request **body**.\n"
  },
  {
    "path": "docs/docs/guides/input/file-params.md",
    "content": "# File uploads\n\nHandling files are no different from other parameters.\n\n```python hl_lines=\"1 2 5\"\nfrom ninja import NinjaAPI, File\nfrom ninja.files import UploadedFile\n\n@api.post(\"/upload\")\ndef upload(request, file: File[UploadedFile]):\n    data = file.read()\n    return {'name': file.name, 'len': len(data)}\n```\n\n\n`UploadedFile` is an alias to [Django's UploadFile](https://docs.djangoproject.com/en/stable/ref/files/uploads/#django.core.files.uploadedfile.UploadedFile) and has all the methods and attributes to access the uploaded file:\n\n - read()\n - multiple_chunks(chunk_size=None)\n - chunks(chunk_size=None)\n - name\n - size\n - content_type\n - content_type_extra\n - charset\n - etc.\n\n## Uploading array of files\n\nTo **upload several files** at the same time, just declare a `List` of `UploadedFile`:\n\n\n```python hl_lines=\"1 6\"\nfrom typing import List\nfrom ninja import NinjaAPI, File\nfrom ninja.files import UploadedFile\n\n@api.post(\"/upload-many\")\ndef upload_many(request, files: File[List[UploadedFile]]):\n    return [f.name for f in files]\n```\n\n## Uploading files with extra fields\n\nNote: The HTTP protocol does not allow you to send files in `application/json` format by default (unless you encode it somehow to JSON on client side)\n\nTo send files along with some extra attributes, you need to send bodies with `multipart/form-data` encoding. You can do it by simply marking fields with `Form`:\n\n```python hl_lines=\"14\"\nfrom ninja import NinjaAPI, Schema, UploadedFile, Form, File\nfrom datetime import date\n\napi = NinjaAPI()\n\n\nclass UserDetails(Schema):\n    first_name: str\n    last_name: str\n    birthdate: date\n\n\n@api.post('/users')\ndef create_user(request, details: Form[UserDetails], file: File[UploadedFile]):\n    return [details.dict(), file.name]\n\n```\n\nNote: in this case all fields should be send as form fields\n\nYou can as well send payload in single field as JSON - just remove the Form mark from:\n\n```python\n@api.post('/users')\ndef create_user(request, details: UserDetails, file: File[UploadedFile]):\n    return [details.dict(), file.name]\n\n```\n\nthis will expect from the client side to send data as `multipart/form-data with 2 fields:\n  \n  - details: JSON as string\n  - file: file\n\n\n### List of files with extra info\n\n```python\n@api.post('/users')\ndef create_user(request, details: Form[UserDetails], files: File[list[UploadedFile]]):\n    return [details.dict(), [f.name for f in files]]\n```\n\n### Optional file input\n\nIf you would like the file input to be optional, all that you have to do is to pass `None` to the `File` type, like so:\n\n```python\n@api.post('/users')\ndef create_user(request, details: Form[UserDetails], avatar: File[UploadedFile] = None):\n    user = add_user_to_database(details)\n    if avatar is not None:\n        set_user_avatar(user)\n```\n\n\n## Handling request.FILES in PUT/PATCH Requests\n\n**Problem**\n\n```python\n@api.put(\"/upload\") # !!!!\ndef upload(request, file: File[UploadedFile]):\n   ...\n```\n\nFor some [historical reasons Django’s](https://groups.google.com/g/django-users/c/BeBKj_6qNsc) `request.FILES` is populated only for POST requests by default. When using HTTP PUT or PATCH methods with file uploads (e.g., multipart/form-data), request.FILES will not contain uploaded files. This is a known Django behavior, not specific to Django Ninja.\n\nAs a result, views expecting files in PUT or PATCH requests may not behave correctly, since request.FILES will be empty.\n\n**Solution**\n\nDjango Ninja provides a built-in middleware to automatically fix this behavior:\n`ninja.compatibility.files.fix_request_files_middleware`\n\nThis middleware will manually parse multipart/form-data for PUT and PATCH requests and populate request.FILES, making file uploads work as expected across all HTTP methods.\n\n**Usage**\n\nTo enable the middleware, add the following to your Django settings:\n\n```python\nMIDDLEWARE = [\n    # ... your existing middleware ...\n    \"ninja.compatibility.files.fix_request_files_middleware\",\n]\n```\n\n**Auto-detection**\n\nWhen Django Ninja detects a PUT or PATCH  etc methods with multipart/form-data and expected FILES  - it will throw an error message suggesting you install the compatibility middleware:\n\n\nNote: This middleware does not interfere with normal POST behavior or any other methods.\n\n\n"
  },
  {
    "path": "docs/docs/guides/input/filtering.md",
    "content": "# Filtering\n\nIf you want to allow the user to filter your querysets by a number of different attributes, it makes sense\nto encapsulate your filters into a `FilterSchema` class. `FilterSchema` is a regular `Schema`, so it's using all the\nnecessary features of Pydantic, but it also adds some bells and whistles that ease the translation of the user-facing filtering\nparameters into database queries. \n\nStart off with defining a subclass of `FilterSchema`:\n\n```python hl_lines=\"6 7 8 9\"\nfrom ninja import FilterSchema\nfrom typing import Optional\nfrom datetime import datetime\n\n\nclass BookFilterSchema(FilterSchema):\n    name: Optional[str] = None\n    author: Optional[str] = None\n    created_after: Optional[datetime] = None\n```\n\n\nNext, use this schema in conjunction with `Query` in your API handler:\n```python hl_lines=\"2\"\n@api.get(\"/books\")\ndef list_books(request, filters: BookFilterSchema = Query(...)):\n    books = Book.objects.all()\n    books = filters.filter(books)\n    return books\n```\n\nJust like described in [defining query params using schema](./query-params.md#using-schema), Django Ninja converts the fields\ndefined in `BookFilterSchema` into query parameters.\n\nYou can use a shorthand one-liner `.filter()` to apply those filters to your queryset:\n```python hl_lines=\"4\"\n@api.get(\"/books\")\ndef list_books(request, filters: Query[BookFilterSchema]):\n    books = Book.objects.all()\n    books = filters.filter(books)\n    return books\n```\n\nUnder the hood, `FilterSchema` converts its fields into [Q expressions](https://docs.djangoproject.com/en/3.1/topics/db/queries/#complex-lookups-with-q-objects) which it then combines and uses to filter your queryset.\n\n\nAlternatively to using the `.filter` method, you can get the prepared `Q`-expression and perform the filtering yourself.\nThat can be useful, when you have some additional queryset filtering on top of what you expose to the user through the API:\n```python hl_lines=\"5 8\"\n@api.get(\"/books\")\ndef list_books(request, filters: Query[BookFilterSchema]):\n\n    # Never serve books from inactive publishers and authors\n    q = Q(author__is_active=True) | Q(publisher__is_active=True)\n    \n    # But allow filtering the rest of the books\n    q &= filters.get_filter_expression()\n    return Book.objects.filter(q)\n```\n\nBy default, the filters will behave the following way:\n\n* `None` values will be ignored and not filtered against;\n* Every non-`None` field will be converted into a `Q`-expression based on the `Field` definition of each field;\n* All `Q`-expressions will be merged into one using `AND` logical operator;\n* The resulting `Q`-expression is used to filter the queryset and return you a queryset with a `.filter` clause applied.\n\n## Customizing Fields\nBy default, `FilterSet` will use the field names to generate Q expressions:\n```python\nclass BookFilterSchema(FilterSchema):\n    name: Optional[str] = None\n```\nThe `name` field will be converted into `Q(name=...)` expression.\n\nWhen your database lookups are more complicated than that, you can annotate your fields with an instance of `FilterLookup` where you specify how you wish your field to be looked up for filtering:\n```python hl_lines=\"5\"\nfrom ninja import FilterSchema, FilterLookup\nfrom typing import Annotated\n\nclass BookFilterSchema(FilterSchema):\n    name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n```\n\nYou can even specify multiple lookups as a list:\n```python hl_lines=\"3 4 5\"\nclass BookFilterSchema(FilterSchema):\n    search: Annotated[Optional[str], FilterLookup(\n        [\"name__icontains\",\n         \"author__name__icontains\",\n         \"publisher__name__icontains\"]\n    )]\n```\n\nBy default, field-level expressions are combined using `\"OR\"` connector, so with the above setup, a query parameter `?search=foobar` will search for books that have \"foobar\" in either of their name, author or publisher.\n\nAnd to make generic fields, you can make the field name implicit by skipping it:\n```python hl_lines=\"1 4\"\nIContainsField = Annotated[Optional[str], FilterLookup('__icontains')]\n\nclass BookFilterSchema(FilterSchema):\n    name: IContainsField = None\n```\n\n??? note \"Deprecated syntax\"\n\n    In previous versions, database lookups were specified using `Field(q=...)` syntax:\n    ```python\n    from ninja import FilterSchema, Field\n    \n    class BookFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=\"name__icontains\")\n    ```\n    \n    This approach is still supported, but it is considered **deprecated** and **not recommended** for new code because:\n    \n    - Poor IDE support (IDEs don't recognize custom `Field` arguments)\n    - Uses deprecated Pydantic features (`**extra`)\n    - Less type-safe and harder to maintain\n    \n    The new `FilterLookup` annotation provides better developer experience with full IDE support and type safety. Prefer using `FilterLookup` for new projects.\n\n\n## Combining expressions\nBy default,\n\n* Field-level expressions are joined together using `OR` operator.\n* The fields themselves are joined together using `AND` operator.\n\nSo, with the following `FilterSchema`...\n```python\nclass BookFilterSchema(FilterSchema):\n    search: Annotated[\n        Optional[str],\n        FilterLookup([\"name__icontains\", \"author__name__icontains\"])] = None\n    popular: Optional[bool] = None\n```\n...and the following query parameters from the user\n```\nhttp://localhost:8000/api/books?search=harry&popular=true\n```\nthe `FilterSchema` instance will look for popular books that have `harry` in the book's _or_ author's name. \n\n\nYou can customize this behavior using an `expression_connector` argument in field-level and class-level definition:\n```python hl_lines=\"12\"\nfrom ninja import FilterConfigDict, FilterLookup, FilterSchema\n\nclass BookFilterSchema(FilterSchema):\n    active: Annotated[\n        Optional[bool],\n        FilterLookup(\n            [\"is_active\", \"publisher__is_active\"],\n            expression_connector=\"AND\"\n        )] = None\n    name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n    \n    model_config = FilterConfigDict(expression_connector=\"OR\")\n```\n\nAn expression connector can take the values of `\"OR\"`, `\"AND\"` and `\"XOR\"`, but the latter is only [supported](https://docs.djangoproject.com/en/4.1/ref/models/querysets/#xor) in Django starting with 4.1.\n\nNow, a request with these query parameters \n```\nhttp://localhost:8000/api/books?name=harry&active=true\n```\n...shall search for books that have `harry` in their name _or_ are active themselves _and_ are published by active publishers.\n\n\n## Filtering by Nones\nYou can make the `FilterSchema` treat `None` as a valid value that should be filtered against.\n\nThis can be done on a field level with a `ignore_none` kwarg:\n```python hl_lines=\"3\"\nclass BookFilterSchema(FilterSchema):\n    name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n    tag: Annotated[Optional[str], FilterLookup(\"tag\", ignore_none=False)] = None\n```\n\nThis way when no other value for `\"tag\"` is provided by the user, the filtering will always include a condition `tag=None`.\n\nYou can also specify this setting for all fields at the same time in `model_config`:\n```python hl_lines=\"5\"\nclass BookFilterSchema(FilterSchema):\n    name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n    tag: Optional[str] = None\n    \n    model_config = FilterConfigDict(ignore_none=False)\n```\n\n\n## Custom expressions\nSometimes you might want to have complex filtering scenarios that cannot be handled by individual Field annotations.\nFor such cases you can implement your field filtering logic as a custom method. Simply define a method called `filter_<fieldname>` which takes a filter value and returns a Q expression:\n\n```python hl_lines=\"5\"\nclass BookFilterSchema(FilterSchema):\n    tag: Optional[str] = None\n    popular: Optional[bool] = None\n    \n    def filter_popular(self, value: bool) -> Q:\n        return Q(view_count__gt=1000) | Q(download_count__gt=100) if value else Q()\n```\nSuch field methods take precedence over what is specified in the `Field()` definition of the corresponding fields.\n\nIf that is not enough, you can implement your own custom filtering logic for the entire `FilterSet` class in a `custom_expression` method:\n\n```python hl_lines=\"5\"\nclass BookFilterSchema(FilterSchema):\n    name: Optional[str] = None\n    popular: Optional[bool] = None\n\n    def custom_expression(self) -> Q:\n        q = Q()\n        if self.name:\n            q &= Q(name__icontains=self.name)\n        if self.popular:\n            q &= (\n                Q(view_count__gt=1000) |\n                Q(downloads__gt=100) |\n                Q(tag='popular')\n            )\n        return q\n```\nThe `custom_expression` method takes precedence over any other definitions described earlier, including `filter_<fieldname>` methods.\n"
  },
  {
    "path": "docs/docs/guides/input/form-params.md",
    "content": "# Form data\n\n**Django Ninja** also allows you to parse and validate `request.POST` data\n(aka `application/x-www-form-urlencoded` or `multipart/form-data`).\n\n## Form Data as params \n\n```python hl_lines=\"1 4\"\nfrom ninja import NinjaAPI, Form\n\n@api.post(\"/login\")\ndef login(request, username: Form[str], password: Form[str]):\n    return {'username': username, 'password': '*****'}\n```\n\nNote the following:\n\n1) You need to import the `Form` class from `ninja`\n```python\nfrom ninja import Form\n```\n\n2) Use `Form` as default value for your parameter:\n```python\nusername: Form[str]\n```\n\n## Using a Schema\n\nIn a similar manner to [Body](body.md#declare-it-as-a-parameter), you can use\na Schema to organize your parameters.\n\n```python hl_lines=\"12\"\n{!./src/tutorial/form/code01.py!}\n```\n\n## Request form + path + query parameters\n\nIn a similar manner to [Body](body.md#request-body-path-query-parameters), you can use\nForm data in combination with other parameter sources.\n\nYou can declare query **and** path **and** form field, **and** etc... parameters at the same time.\n\n**Django Ninja** will recognize that the function parameters that match path\nparameters should be **taken from the path**, and that function parameters that\nare declared with `Form(...)` should be **taken from the request form fields**, etc.\n\n```python hl_lines=\"12\"\n{!./src/tutorial/form/code02.py!}\n```\n## Mapping Empty Form Field to Default\n\nForm fields that are optional, are often sent with an empty value. This value is\ninterpreted as an empty string, and thus may fail validation for fields such as `int` or `bool`.\n\nThis can be fixed, as described in the Pydantic docs, by using\n[Generic Classes as Types](https://pydantic-docs.helpmanual.io/usage/types/#generic-classes-as-types).\n\n```python hl_lines=\"15 16 23-25\"\n{!./src/tutorial/form/code03.py!}\n```\n"
  },
  {
    "path": "docs/docs/guides/input/operations.md",
    "content": "# HTTP Methods\n\n## Defining operations\n\nAn `operation` can be one of the following [HTTP methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods):\n\n- GET\n- POST\n- PUT\n- DELETE\n- PATCH\n\n**Django Ninja** comes with a decorator for each operation:\n\n```python hl_lines=\"1 5 9 13 17\"\n@api.get(\"/path\")\ndef get_operation(request):\n    ...\n\n@api.post(\"/path\")\ndef post_operation(request):\n    ...\n\n@api.put(\"/path\")\ndef put_operation(request):\n    ...\n\n@api.delete(\"/path\")\ndef delete_operation(request):\n    ...\n\n@api.patch(\"/path\")\ndef patch_operation(request):\n    ...\n```\n\nSee the [operations parameters](../../reference/operations-parameters.md)\nreference docs for information on what you can pass to any of these decorators.\n\n## Handling multiple methods\n\nIf you need to handle multiple methods with a single function for a given path,\nyou can use the `api_operation` decorator:\n\n```python hl_lines=\"1\"\n@api.api_operation([\"POST\", \"PATCH\"], \"/path\")\ndef mixed_operation(request):\n    ...\n```\n\nThis feature can also be used to implement other HTTP methods that don't have\ncorresponding **Django Ninja** methods, such as `HEAD` or `OPTIONS`.\n\n```python hl_lines=\"1\"\n@api.api_operation([\"HEAD\", \"OPTIONS\"], \"/path\")\ndef mixed_operation(request):\n    ...\n```\n"
  },
  {
    "path": "docs/docs/guides/input/path-params.md",
    "content": "# Path parameters\nYou can declare path \"parameters\" with the same syntax used by Python format-strings (which luckily also matches the <a href=\"https://swagger.io/docs/specification/describing-parameters/#path-parameters\" target=\"_blank\">OpenAPI path parameters</a>):\n\n```python hl_lines=\"1 2\"\n{!./src/tutorial/path/code01.py!}\n```\n\nThe value of the path parameter `item_id` will be passed to your function as the argument `item_id`.\n\nSo, if you run this example and go to <a href=\"http://localhost:8000/api/items/foo\" target=\"_blank\">http://localhost:8000/api/items/foo</a>, you will see this response:\n\n```JSON\n{\"item_id\":\"foo\"}\n```\n\n\n### Path parameters with types\nYou can declare the type of path parameter in the function using standard Python type annotations:\n\n```python hl_lines=\"2\"\n{!./src/tutorial/path/code02.py!}\n```\n\nIn this case,`item_id` is declared to be an **`int`**. This will give you editor and linter support for error checks, completion, etc.\n\nIf you run this in your browser with <a href=\"http://localhost:8000/api/items/3\" target=\"_blank\">http://localhost:8000/api/items/3</a>, you will see this response:\n```JSON\n{\"item_id\":3}\n```\n\n!!! tip\n    Notice that the value your function received (and returned) is **3**, as a Python `int` - not a string `\"3\"`.\n    So, with just that type declaration, **Django Ninja** gives you automatic request \"parsing\" and validation.\n\n\n\n### Data validation\nOn the other hand, if you go to the browser at <a href=\"http://localhost:8000/api/items/foo\" target=\"_blank\">http://localhost:8000/api/items/foo</a> <small>*(`\"foo\"` is not int)*</small>, you will see an HTTP error like this:\n\n```JSON hl_lines=\"8\"\n{\n    \"detail\": [\n        {\n            \"loc\": [\n                \"path\",\n                \"item_id\"\n            ],\n            \"msg\": \"value is not a valid integer\",\n            \"type\": \"type_error.integer\"\n        }\n    ]\n}\n```\n\n\n### Django Path Converters\n\nYou can use [Django Path Converters](https://docs.djangoproject.com/en/stable/topics/http/urls/#path-converters)\nto help parse the path:\n\n```python hl_lines=\"1\"\n@api.get(\"/items/{int:item_id}\")\ndef read_item(request, item_id):\n    return {\"item_id\": item_id}\n```\n\nIn this case,`item_id` will be parsed as an **`int`**. If `item_id` is not a valid `int`, the url will not\nmatch.  (e.g. if no other path matches, a *404 Not Found* will be returned)\n\n!!! tip\n    Notice that, since **Django Ninja** uses a default type of `str` for unannotated parameters, the value the\n    function above received (and returned) is `\"3\"`, as a Python `str` - not an integer **3**. To receive\n    an `int`, simply declare `item_id` as an `int` type annotation in the function definition as normal:\n\n    ```python hl_lines=\"2\"\n    @api.get(\"/items/{int:item_id}\")\n    def read_item(request, item_id:int):\n        return {\"item_id\": item_id}\n    ```\n \n#### Path params with slashes\n\nDjango's `path` converter allows you to handle path-like parameters:\n\n```python hl_lines=\"1\"\n@api.get('/dir/{path:value}')\ndef someview(request, value: str):\n    return value\n```\nyou can query this operation with `/dir/some/path/with-slashes` and your `value` will be equal to `some/path/with-slashes`\n\n### Multiple parameters\n\nYou can pass as many variables as you want into `path`, just remember to have unique names and don't forget to use the same names in the function arguments.\n\n```python\n@api.get(\"/events/{year}/{month}/{day}\")\ndef events(request, year: int, month: int, day: int):\n    return {\"date\": [year, month, day]}\n```\n\n\n### Using Schema\n\nYou can also use Schema to encapsulate path parameters that depend on each other (and validate them as a group):\n\n\n```python hl_lines=\"1 2  5 6 7 8 9 10 11 15\"\n{!./src/tutorial/path/code010.py!}\n```\n\n!!! note\n    Notice that here we used a `Path` source hint to let **Django Ninja** know that this schema will be applied to path parameters.\n\n### Documentation\nNow, when you open your browser at <a href=\"http://localhost:8000/api/docs\" target=\"_blank\">http://localhost:8000/api/docs</a>, you will see the automatic, interactive, API documentation.\n![Django Ninja Swagger](../../img/tutorial-path-swagger.png)\n"
  },
  {
    "path": "docs/docs/guides/input/query-params.md",
    "content": "# Query parameters\n\nWhen you declare other function parameters that are not part of the path parameters, they are automatically interpreted as \"query\" parameters.\n\n```python hl_lines=\"5\"\n{!./src/tutorial/query/code01.py!}\n```\n\nTo query this operation, you use a URL like:\n\n```\nhttp://localhost:8000/api/weapons?offset=0&limit=10\n```\nBy default, all GET parameters are strings, and when you annotate your function arguments with types, they are converted to that type and validated against it.\n\nThe same benefits that apply to path parameters also apply to query parameters:\n\n- Editor support (obviously)\n- Data \"parsing\"\n- Data validation\n- Automatic documentation\n\n\n!!! Note\n    if you do not annotate your arguments, they will be treated as `str` types\n\n```python hl_lines=\"2\"\n@api.get(\"/weapons\")\ndef list_weapons(request, limit, offset):\n    # type(limit) == str\n    # type(offset) == str\n```\n\n### Defaults\n\nAs query parameters are not a fixed part of a path, they are optional and can have default values:\n\n```python hl_lines=\"2\"\n@api.get(\"/weapons\")\ndef list_weapons(request, limit: int = 10, offset: int = 0):\n    return weapons[offset : offset + limit]\n```\n\nIn the example above we set default values of `offset=0` and `limit=10`.\n\nSo, going to the URL:\n```\nhttp://localhost:8000/api/weapons\n```\nwould be the same as going to:\n```\nhttp://localhost:8000/api/weapons?offset=0&limit=10\n```\nIf you go to, for example:\n```\nhttp://localhost:8000/api/weapons?offset=20\n```\n\nthe parameter values in your function will be:\n\n - `offset=20`  (because you set it in the URL)\n - `limit=10`  (because that was the default value)\n\n\n### Required and optional parameters\n\nYou can declare required or optional GET parameters in the same way as declaring Python function arguments:\n\n```python hl_lines=\"5\"\n{!./src/tutorial/query/code02.py!}\n```\n\nIn this case, **Django Ninja** will always validate that you pass the `q` param in the GET, and the `offset` param is an optional integer.\n\n### GET parameters type conversion\n\nLet's declare multiple type arguments:\n```python hl_lines=\"5\"\n{!./src/tutorial/query/code03.py!}\n```\nThe `str` type is passed as is.\n\nFor the `bool` type, all the following:\n```\nhttp://localhost:8000/api/example?b=1\nhttp://localhost:8000/api/example?b=True\nhttp://localhost:8000/api/example?b=true\nhttp://localhost:8000/api/example?b=on\nhttp://localhost:8000/api/example?b=yes\n```\nor any other case variation (uppercase, first letter in uppercase, etc.), your function will see\nthe parameter `b` with a `bool` value of `True`, otherwise as `False`.\n\nDate can be both date string and integer (unix timestamp):\n\n<pre style=\"font-size: .85em; background-color:rgb(245, 245, 245);\">\nhttp://localhost:8000/api/example?d=<strong>1577836800</strong>  # same as 2020-01-01\nhttp://localhost:8000/api/example?d=<strong>2020-01-01</strong>\n</pre>\n\n\n### Using Schema\n\nYou can also use Schema to encapsulate GET parameters:\n\n```python hl_lines=\"1 2  5 6 7 8\"\n{!./src/tutorial/query/code010.py!}\n```\n\nFor more complex filtering scenarios please refer to [filtering](./filtering.md).\n"
  },
  {
    "path": "docs/docs/guides/input/request-parsers.md",
    "content": "# Request parsers\n\nIn most cases, the default content type for REST API's is JSON, but in case you need to work with\nother content types (like YAML, XML, CSV) or use faster JSON parsers, **Django Ninja** provides a `parser` configuration.\n\n```python\napi = NinjaAPI(parser=MyYamlParser())\n```\n\nTo create your own parser, you need to extend the `ninja.parser.Parser` class, and override the `parse_body` method.\n\n\n## Example YAML Parser\n\nLet's create our custom YAML parser:\n\n```python hl_lines=\"4 8 9\"\nimport yaml\nfrom typing import List\nfrom ninja import NinjaAPI\nfrom ninja.parser import Parser\n\n\nclass MyYamlParser(Parser):\n    def parse_body(self, request):\n        return yaml.safe_load(request.body)\n\n\napi = NinjaAPI(parser=MyYamlParser())\n\n\nclass Payload(Schema):\n    ints: List[int]\n    string: str\n    f: float\n\n\n@api.post('/yaml')\ndef operation(request, payload: Payload):\n    return payload.dict()\n\n\n```\n\nIf you now send YAML like this as the request body:\n\n```YAML\nints:\n - 0\n - 1\nstring: hello\nf: 3.14\n```\n\nit will be correctly parsed, and you should have JSON output like this:\n\n\n```JSON\n{\n  \"ints\": [\n    0,\n    1\n  ],\n  \"string\": \"hello\",\n  \"f\": 3.14\n}\n```\n\n\n## Example ORJSON Parser\n\n[orjson](https://github.com/ijl/orjson#orjson) is a fast, accurate JSON library for Python. It benchmarks as the fastest Python library for JSON and is more accurate than the standard `json` library or other third-party libraries.\n\n```\npip install orjson\n```\n\nParser code:\n\n```python hl_lines=\"1 8 9\"\nimport orjson\nfrom ninja import NinjaAPI\nfrom ninja.parser import Parser\n\n\nclass ORJSONParser(Parser):\n    def parse_body(self, request):\n        return orjson.loads(request.body)\n\n\napi = NinjaAPI(parser=ORJSONParser())\n```\n\n"
  },
  {
    "path": "docs/docs/guides/response/config-pydantic.md",
    "content": "# Overriding Pydantic Config\n\nThere are many customizations available for a **Django Ninja `Schema`**, via the schema's\n[Pydantic `model_config`](https://docs.pydantic.dev/latest/api/config/). \n\n!!! info\n    Under the hood **Django Ninja** uses [Pydantic Models](https://pydantic-docs.helpmanual.io/usage/models/)\n    with all their power and benefits. The alias `Schema` was chosen to avoid confusion in code\n    when using Django models, as Pydantic's model class is called Model by default, and conflicts with\n    Django's Model class.\n\n## Example Camel Case mode\n\nOne interesting config attribute is [`alias_generator`](https://docs.pydantic.dev/latest/api/config/?query=alias_generator#pydantic.config.ConfigDict.alias_generator).\nUsing Pydantic's example in **Django Ninja** can look something like:\n\n```python hl_lines=\"10\"\nfrom pydantic import ConfigDict\nfrom ninja import Schema\n\n\ndef to_camel(string: str) -> str:\n    words = string.split('_')\n    return words[0].lower() + ''.join(word.capitalize() for word in words[1:])\n\nclass CamelModelSchema(Schema):\n    model_config = ConfigDict(alias_generator=to_camel)\n    str_field_name: str\n    float_field_name: float\n```\n\nKeep in mind that when you want modify output for field names (like camel case) - you need to set as well  `populate_by_name` and `by_alias`\n\n```python hl_lines=\"6 14\"\nfrom pydantic import ConfigDict\n\nclass UserSchema(ModelSchema):\n    model_config = ConfigDict(\n        alias_generator = to_camel\n        populate_by_name = True,  # !!!!!! <--------\n    )\n    class Meta:\n        model = User\n        fields = [\"id\", \"email\", \"is_staff\"]\n\n\n\n@api.get(\"/users\", response=list[UserSchema], by_alias=True) # !!!!!! <-------- by_alias\ndef get_users(request):\n    return User.objects.all()\n\n```\n\nresults:\n\n```JSON\n[\n  {\n    \"id\": 1,\n    \"email\": \"tim@apple.com\",\n    \"isStaff\": true\n  },\n  {\n    \"id\": 2,\n    \"email\": \"sarah@smith.com\",\n    \"isStaff\": false\n  }\n  ...\n]\n\n```\n\n\n"
  },
  {
    "path": "docs/docs/guides/response/django-pydantic-create-schema.md",
    "content": "# Using create_schema\n\nUnder the hood, [`ModelSchema`](django-pydantic.md#modelschema) uses the `create_schema` function.\nThis is a more advanced (and less safe) method - please use it carefully.\n\n## `create_schema`\n\n**Django Ninja** comes with a helper function `create_schema`:\n\n```python\ndef create_schema(\n    model, # django model\n    name = \"\", # name for the generated class, if empty model names is used\n    depth = 0, # if > 0 schema will also be created for the nested ForeignKeys and Many2Many (with the provided depth of lookup)\n    fields: list[str] = None, # if passed - ONLY these fields will added to schema\n    exclude: list[str] = None, # if passed - these fields will be excluded from schema\n    optional_fields: list[str] | str = None, # if passed - these fields will not be required on schema (use '__all__' to mark ALL fields required)\n    custom_fields: list[tuple(str, Any, Any)] = None, # if passed - this will override default field types (or add new fields)\n)\n```\n\n\nTake this example:\n\n```python hl_lines=\"2 4\"\nfrom django.contrib.auth.models import User\nfrom ninja.orm import create_schema\n\nUserSchema = create_schema(User)\n\n# Will create schema like this:\n# \n# class UserSchema(Schema):\n#     id: int\n#     username: str\n#     first_name: str\n#     last_name: str\n#     password: str\n#     last_login: datetime\n#     is_superuser: bool\n#     email: str\n#     ... and the rest\n\n```\n\n!!! Warning\n    By default `create_schema` builds a schema with ALL model fields.\n    This can lead to accidental unwanted data exposure (like hashed password, in the above example).\n    <br>\n    **Always** use `fields` or `exclude` arguments to explicitly define list of attributes.\n\n### Using `fields`\n\n```python hl_lines=\"1\"\nUserSchema = create_schema(User, fields=['id', 'username'])\n\n# Will create schema like this:\n# \n# class UserSchema(Schema):\n#     id: int\n#     username: str\n\n```\n\n### Using `exclude`\n\n```python hl_lines=\"1 2\"\nUserSchema = create_schema(User, exclude=[\n    'password', 'last_login', 'is_superuser', 'is_staff', 'groups', 'user_permissions']\n)\n\n# Will create schema without excluded fields:\n# \n# class UserSchema(Schema):\n#    id: int\n#    username: str\n#    first_name: str\n#    last_name: str\n#    email: str\n#    is_active: bool\n#    date_joined: datetime\n```\n\n### Using `depth`\n\nThe `depth` argument allows you to introspect the Django model into the Related fields(ForeignKey, OneToOne, ManyToMany).\n\n```python hl_lines=\"1 7\"\nUserSchema = create_schema(User, depth=1, fields=['username', 'groups'])\n\n# Will create the following schema:\n#\n# class UserSchema(Schema):\n#    username: str\n#    groups: List[Group]\n```\n\nNote here that groups became a `List[Group]` - many2many field introspected 1 level deeper and created schema as well for group:\n\n```python\nclass Group(Schema):\n    id: int\n    name: str\n    permissions: List[int]\n```\n"
  },
  {
    "path": "docs/docs/guides/response/django-pydantic.md",
    "content": "# Schemas from Django models\n\n\nSchemas are very useful to define your validation rules and responses, but sometimes you need to reflect your database models into schemas and keep changes in sync.\n\n## ModelSchema \n\n`ModelSchema` is a special base class that can automatically generate schemas from your models.\n\nAll you need is to set `model` and `fields` attributes on your schema `Meta`:\n\n\n```python hl_lines=\"2 5 6 7\"\nfrom django.contrib.auth.models import User\nfrom ninja import ModelSchema\n\nclass UserSchema(ModelSchema):\n    class Meta:\n        model = User\n        fields = ['id', 'username', 'first_name', 'last_name']\n\n# Will create schema like this:\n# \n# class UserSchema(Schema):\n#     id: int\n#     username: str\n#     first_name: str\n#     last_name: str\n```\n\n!!! note\n\n    You can also specify the model using a [Django Absolute Lazy relationship](https://docs.djangoproject.com/en/stable/ref/models/fields/#absolute).\n    In the above example, it would be `model = 'auth.User'`.\n\n\n### Using ALL model fields\n\nTo use all fields from a model - you can pass `__all__` to `fields`:\n\n```python hl_lines=\"4\"\nclass UserSchema(ModelSchema):\n    class Meta:\n        model = User\n        fields = \"__all__\"\n```\n!!! Warning\n    Using __all__ is not recommended.\n    <br>\n    This can lead to accidental unwanted data exposure (like hashed password, in the above example).\n    <br>\n    General advice - use `fields` to explicitly define list of fields that you want to be visible in API.\n\n### Excluding model fields\n\nTo use all fields **except** a few, you can use `exclude` configuration:\n\n```python hl_lines=\"4\"\nclass UserSchema(ModelSchema):\n    class Meta:\n        model = User\n        exclude = ['password', 'last_login', 'user_permissions']\n\n# Will create schema like this:\n# \n# class UserSchema(Schema):\n#     id: int\n#     username: str\n#     first_name: str\n#     last_name: str\n#     email: str\n#     is_superuser: bool\n#     ... and the rest\n\n```\n\n### Overriding fields\n\nTo change default annotation for some field, or to add a new field, just use annotated attributes as usual. \n\n```python hl_lines=\"1 2 3 4 8\"\nclass GroupSchema(ModelSchema):\n    class Meta:\n        model = Group\n        fields = ['id', 'name']\n\n\nclass UserSchema(ModelSchema):\n    groups: List[GroupSchema] = []\n\n    class Meta:\n        model = User\n        fields = ['id', 'username', 'first_name', 'last_name']\n\n```\n\n\n### Making fields optional\n\nPretty often for PATCH API operations you need to make all fields of your schema optional. To do that, you can use config fields_optional\n\n```python hl_lines=\"5\"\nclass PatchGroupSchema(ModelSchema):\n    class Meta:\n        model = Group\n        fields = ['id', 'name', 'description'] # Note: all these fields are required on model level\n        fields_optional = '__all__'\n```\n\nAlso, you can define a subset of optional fields instead of `__all__`:\n\n```python\n     fields_optional = ['description']\n```\n\nWhen you process input data, you need to tell Pydantic to avoid setting undefined fields to `None`:\n\n```python\n@api.patch(\"/patch/{pk}\")\ndef patch(request, pk: int, payload: PatchGroupSchema):\n\n    # Notice that we set exclude_unset=True\n    updated_fields = payload.dict(exclude_unset=True)\n\n    obj = MyModel.objects.get(pk=pk)\n\n    for attr, value in updated_fields.items():\n        setattr(obj, attr, value)\n\n    obj.save()\n\n\n```\n\n\n### Custom fields types\n\nFor each Django field it encounters, `ModelSchema` uses the default `Field.get_internal_type` method\nto find the correct representation in Pydantic schema (python type). This process works fine for the built-in field\ntypes, but there are cases where the user wants to create or use a custom field, with its own mapping to\npython type. In this case you should use `register_field` method to tell django-ninja which type should this django field represent:\n\n```python hl_lines=\"4 7 8 9\"\n# models.py\n\nclass MyModel(models.Model):\n    embedding = pgvector.VectorField()\n\n# schemas.py\nfrom ninja.orm import register_field\n\nregister_field('VectorField', list[float])\n\n```\n\n#### PatchDict\n\nAnother way to work with patch request data is a `PatchDict` container which allows you to make \na schema with all optional fields and get a dict with **only** fields that was provide\n\n```Python hl_lines=\"1 11\"\nfrom ninja import PatchDict\n\nclass GroupSchema(Schema):\n    # You do not have to make fields optional it will be converted by PatchDict\n    name: str\n    description: str\n    due_date: date\n\n\n@api.patch(\"/patch/{pk}\")\ndef modify_data(request, pk: int, payload: PatchDict[GroupSchema]):\n    obj = MyModel.objects.get(pk=pk)\n\n    for attr, value in payload.items():\n        setattr(obj, attr, value)\n    \n    obj.save()\n\n```\n\nin this example the `payload` argument will be of type `dict` and only contain fields that were passed in the request and validated using `GroupSchema`\n"
  },
  {
    "path": "docs/docs/guides/response/index.md",
    "content": "# Response Schema\n\n**Django Ninja** allows you to define the schema of your responses both for validation and documentation purposes.\n\nImagine you need to create an API operation that creates a user. The **input** parameter would be **username+password**, but **output** of this operation should be **id+username** (**without** the password).\n\nLet's create the input schema:\n\n```python hl_lines=\"3 5\"\nfrom ninja import Schema\n\nclass UserIn(Schema):\n    username: str\n    password: str\n\n\n@api.post(\"/users/\")\ndef create_user(request, data: UserIn):\n    user = User(username=data.username) # User is django auth.User\n    user.set_password(data.password)\n    user.save()\n    # ... return ?\n```\n\nNow let's define the output schema, and pass it as a `response` argument to the `@api.post` decorator:\n\n```python hl_lines=\"8 9 10 13 18\"\nfrom ninja import Schema\n\nclass UserIn(Schema):\n    username: str\n    password: str\n\n\nclass UserOut(Schema):\n    id: int\n    username: str\n\n\n@api.post(\"/users/\", response=UserOut)\ndef create_user(request, data: UserIn):\n    user = User(username=data.username)\n    user.set_password(data.password)\n    user.save()\n    return user\n```\n\n**Django Ninja** will use this `response` schema to:\n\n- convert the output data to declared schema\n- validate the data\n- add an OpenAPI schema definition\n- it will be used by the automatic documentation systems\n- and, most importantly, it **will limit the output data** only to the fields only defined in the schema.\n\n## Nested objects\n\nThere is also often a need to return responses with some nested/child objects.\n\nImagine we have a `Task` Django model with a `User` ForeignKey:\n\n```python hl_lines=\"6\"\nfrom django.db import models\n\nclass Task(models.Model):\n    title = models.CharField(max_length=200)\n    is_completed = models.BooleanField(default=False)\n    owner = models.ForeignKey(\"auth.User\", null=True, blank=True)\n```\n\nNow let's output all tasks, and for each task, output some fields about the user.\n\n```python hl_lines=\"13 16\"\nfrom typing import List\nfrom ninja import Schema\n\nclass UserSchema(Schema):\n    id: int\n    first_name: str\n    last_name: str\n\nclass TaskSchema(Schema):\n    id: int\n    title: str\n    is_completed: bool\n    owner: UserSchema = None  # ! None - to mark it as optional\n\n\n@api.get(\"/tasks\", response=List[TaskSchema])\ndef tasks(request):\n    queryset = Task.objects.select_related(\"owner\")\n    return list(queryset)\n```\n\nIf you execute this operation, you should get a response like this:\n\n```JSON hl_lines=\"6 7 8 9 16\"\n[\n    {\n        \"id\": 1,\n        \"title\": \"Task 1\",\n        \"is_completed\": false,\n        \"owner\": {\n            \"id\": 1,\n            \"first_name\": \"John\",\n            \"last_name\": \"Doe\",\n        }\n    },\n    {\n        \"id\": 2,\n        \"title\": \"Task 2\",\n        \"is_completed\": false,\n        \"owner\": null\n    },\n]\n```\n\n## Aliases\n\nInstead of a nested response, you may want to just flatten the response output.\nThe Ninja `Schema` object extends Pydantic's `Field(..., alias=\"\")` format to\nwork with dotted responses.\n\nUsing the models from above, let's make a schema that just includes the task\nowner's first name inline, and also uses `completed` rather than `is_completed`:\n\n```python hl_lines=\"1 7-9\"\nfrom ninja import Field, Schema\n\n\nclass TaskSchema(Schema):\n    id: int\n    title: str\n    # The first Field param is the default, use ... for required fields.\n    completed: bool = Field(..., alias=\"is_completed\")\n    owner_first_name: str = Field(None, alias=\"owner.first_name\")\n```\n\nAliases also support django template syntax variables access:\n\n```python hl_lines=\"2\"\nclass TaskSchema(Schema):\n    last_message: str = Field(None, alias=\"message_set.0.text\")\n```\n\n```python hl_lines=\"3\"\nclass TaskSchema(Schema):\n    type: str = Field(None)\n    type_display: str = Field(None, alias=\"get_type_display\") # callable will be executed\n```\n\n## Resolvers\n\nYou can also create calculated fields via resolve methods based on the field\nname.\n\nThe method must accept a single argument, which will be the object the schema\nis resolving against.\n\nWhen creating a resolver as a standard method, `self` gives you access to other\nvalidated and formatted attributes in the schema.\n\n```python hl_lines=\"5 7-11\"\nclass TaskSchema(Schema):\n    id: int\n    title: str\n    is_completed: bool\n    owner: Optional[str] = None\n    lower_title: str\n\n    @staticmethod\n    def resolve_owner(obj):\n        if not obj.owner:\n            return\n        return f\"{obj.owner.first_name} {obj.owner.last_name}\"\n\n    def resolve_lower_title(self, obj):\n        return self.title.lower()\n```\n\n### Accessing extra context\n\nPydantic v2 allows you to process an extra context that is passed to the serializer. In the following example you can have resolver that gets request object from passed `context` argument:\n\n```python hl_lines=\"6\"\nclass Data(Schema):\n    a: int\n    path: str = \"\"\n\n    @staticmethod\n    def resolve_path(obj, context):\n        request = context[\"request\"]\n        return request.path\n```\n\nif you use this schema for incoming requests - the `request` object will be automatically passed to context.\n\nYou can as well pass your own context:\n\n```python\ndata = Data.model_validate({'some': 1}, context={'request': MyRequest()})\n```\n\n## Returning querysets\n\nIn the previous example we specifically converted a queryset into a list (and executed the SQL query during evaluation).\n\nYou can avoid that and return a queryset as a result, and it will be automatically evaluated to List:\n\n```python hl_lines=\"3\"\n@api.get(\"/tasks\", response=List[TaskSchema])\ndef tasks(request):\n    return Task.objects.all()\n```\n\n!!! warning\n\n    If your operation is async, this example will not work because the ORM query needs to be called safely.\n\n    ```python hl_lines=\"2\"\n    @api.get(\"/tasks\", response=List[TaskSchema])\n    async def tasks(request):\n        return Task.objects.all()\n    ```\n\n    See the [async support](../async-support.md#using-orm) guide for more information.\n\n## FileField and ImageField\n\n**Django Ninja** by default converts files and images (declared with `FileField` or `ImageField`) to `string` URL's.\n\nAn example:\n\n```python hl_lines=\"3\"\nclass Picture(models.Model):\n    title = models.CharField(max_length=100)\n    image = models.ImageField(upload_to='images')\n```\n\nIf you need to output to response image field, declare a schema for it as follows:\n\n```python hl_lines=\"3\"\nclass PictureSchema(Schema):\n    title: str\n    image: str\n```\n\nOnce you output this to a response, the URL will be automatically generated for each object:\n\n```JSON\n{\n    \"title\": \"Zebra\",\n    \"image\": \"/static/images/zebra.jpg\"\n}\n```\n\n## Multiple Response Schemas\n\nSometimes you need to define more than response schemas.\nIn case of authentication, for example, you can return:\n\n- **200** successful -> token\n- **401** -> Unauthorized\n- **402** -> Payment required\n- **403** -> Forbidden\n- etc..\n\nIn fact, the [OpenAPI specification](https://swagger.io/docs/specification/describing-responses/) allows you to pass multiple response schemas.\n\nYou can pass to a `response` argument a dictionary where:\n\n- key is a response code\n- value is a schema for that code\n\nAlso, when you return the result - you have to also pass a status code to tell **Django Ninja** which schema should be used for validation and serialization.\n\nAn example:\n\n```python hl_lines=\"1 9 12 14 16\"\nfrom ninja import Status\n\nclass Token(Schema):\n    token: str\n    expires: date\n\nclass Message(Schema):\n    message: str\n\n\n@api.post('/login', response={200: Token, 401: Message, 402: Message})\ndef login(request, payload: Auth):\n    if auth_not_valid:\n        return Status(401, {'message': 'Unauthorized'})\n    if negative_balance:\n        return Status(402, {'message': 'Insufficient balance amount. Please proceed to a payment page.'})\n    return Status(200, {'token': xxx, ...})\n```\n\n!!! warning \"Deprecated: tuple syntax\"\n    Returning `(status_code, body)` tuples is deprecated and will be removed in a future version.\n    Use `Status(status_code, body)` instead.\n\n## Multiple response codes\n\nIn the previous example you saw that we basically repeated the `Message` schema twice:\n\n```\n...401: Message, 402: Message}\n```\n\nTo avoid this duplication you can use multiple response codes for a schema:\n\n```python hl_lines=\"2 3 6 9 11\"\n...\nfrom ninja import Status\nfrom ninja.responses import codes_4xx\n\n\n@api.post('/login', response={200: Token, codes_4xx: Message})\ndef login(request, payload: Auth):\n    if auth_not_valid:\n        return Status(401, {'message': 'Unauthorized'})\n    if negative_balance:\n        return Status(402, {'message': 'Insufficient balance amount. Please proceed to a payment page.'})\n    return Status(200, {'token': xxx, ...})\n```\n\n**Django Ninja** comes with the following HTTP codes:\n\n```python\nfrom ninja.responses import codes_1xx\nfrom ninja.responses import codes_2xx\nfrom ninja.responses import codes_3xx\nfrom ninja.responses import codes_4xx\nfrom ninja.responses import codes_5xx\n```\n\nYou can also create your own range using a `frozenset`:\n\n```python\nmy_codes = frozenset({416, 418, 425, 429, 451})\n\n@api.post('/login', response={200: Token, my_codes: Message})\ndef login(request, payload: Auth):\n    ...\n```\n\n## Empty responses\n\nSome responses, such as [204 No Content](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204), have no body.\nTo indicate the response body is empty mark `response` argument with `None` instead of Schema:\n\n```python hl_lines=\"1 3\"\n@api.post(\"/no_content\", response={204: None})\ndef no_content(request):\n    return Status(204, None)\n```\n\n## Error responses\n\nCheck [Handling errors](../errors.md) for more information.\n\n## Self-referencing schemes\n\nSometimes you need to create a schema that has reference to itself, or tree-structure objects.\n\nTo do that you need:\n\n- set a type of your schema in quotes\n- use `model_rebuild` method to apply self referencing types\n\n```python hl_lines=\"3 6\"\nclass Organization(Schema):\n    title: str\n    part_of: 'Organization' = None     #!! note the type in quotes here !!\n\n\nOrganization.model_rebuild()  # !!! this is important\n\n\n@api.get('/organizations', response=List[Organization])\ndef list_organizations(request):\n    ...\n```\n\n## Self-referencing schemes from `create_schema()`\n\nTo be able to use the method `model_rebuild()` from a schema generated via `create_schema()`,\nthe \"name\" of the class needs to be in our namespace. In this case it is very important to pass\nthe `name` parameter to `create_schema()`\n\n```python hl_lines=\"3\"\nUserSchema = create_schema(\n    User,\n    name='UserSchema',  # !!! this is important for model_rebuild()\n    fields=['id', 'username']\n    custom_fields=[\n        ('manager', 'UserSchema', None),\n    ]\n)\nUserSchema.model_rebuild()\n```\n\n## Serializing Outside of Views\n\nSerialization of your objects can be done directly in code through the use of\nthe `.from_orm()` method on the schema object.\n\nConsider the following model:\n\n```python\nclass Person(models.Model):\n    name = models.CharField(max_length=50)\n```\n\nWhich can be accessed using this schema:\n\n```python\nclass PersonSchema(Schema):\n    name: str\n```\n\nDirect serialization can be performed using the `.from_orm()` method on the\nschema. Once you have an instance of the schema object, the `.dict()` and\n`.json()` methods allow you to get at both dictionary output and string JSON\nversions.\n\n```python\n>>> person = Person.objects.get(id=1)\n>>> data = PersonSchema.from_orm(person)\n>>> data\nPersonSchema(id=1, name='Mr. Smith')\n>>> data.dict()\n{'id':1, 'name':'Mr. Smith'}\n>>> data.json()\n'{\"id\":1, \"name\":\"Mr. Smith\"}'\n```\n\nMultiple Items: or a queryset (or list)\n\n```python\n>>> persons = Person.objects.all()\n>>> data = [PersonSchema.from_orm(i).dict() for i in persons]\n[{'id':1, 'name':'Mr. Smith'},{'id': 2, 'name': 'Mrs. Smith'}...]\n```\n\n## Django HTTP responses\n\nIt is also possible to return regular django http responses:\n\n```python\nfrom django.http import HttpResponse\nfrom django.shortcuts import redirect\n\n\n@api.get(\"/http\")\ndef result_django(request):\n    return HttpResponse('some data')   # !!!!\n\n\n@api.get(\"/something\")\ndef some_redirect(request):\n    return redirect(\"/some-path\")  # !!!!\n```\n"
  },
  {
    "path": "docs/docs/guides/response/pagination.md",
    "content": "# Pagination\n\n**Django Ninja** comes with a pagination support. This allows you to split large result sets into individual pages.\n\n\nTo apply pagination to a function - just apply `paginate` decorator:\n\n```python hl_lines=\"1 4\"\nfrom ninja.pagination import paginate\n\n@api.get('/users', response=List[UserSchema])\n@paginate\ndef list_users(request):\n    return User.objects.all()\n```\n\n\nThat's it!\n\nNow you can query users with `limit` and `offset` GET parameters\n\n```\n/api/users?limit=10&offset=0\n```\n\nby default limit is set to `100` (you can change it in your settings.py using `NINJA_PAGINATION_PER_PAGE`)\n\n\n## Built in Pagination Classes\n\n### LimitOffsetPagination (default)\n\nThis is the default pagination class (You can change it in your settings.py using `NINJA_PAGINATION_CLASS` path to a class)\n\n```python hl_lines=\"1 4\"\nfrom ninja.pagination import paginate, LimitOffsetPagination\n\n@api.get('/users', response=List[UserSchema])\n@paginate(LimitOffsetPagination)\ndef list_users(request):\n    return User.objects.all()\n```\n\nExample query:\n```\n/api/users?limit=10&offset=0\n```\n\nthis class has two input parameters:\n\n - `limit` - defines a number of queryset on the page (default = 100, change in NINJA_PAGINATION_PER_PAGE)\n - `offset` - set's the page window offset (default: 0, indexing starts with 0)\n\n\n### PageNumberPagination\n```python hl_lines=\"1 4\"\nfrom ninja.pagination import paginate, PageNumberPagination\n\n@api.get('/users', response=List[UserSchema])\n@paginate(PageNumberPagination)\ndef list_users(request):\n    return User.objects.all()\n```\n\nExample query:\n```\n/api/users?page=2\n```\n\nthis class has one parameter `page` and outputs 100 queryset per page by default  (can be changed with settings.py)\n\nPage numbering start with 1\n\nyou can also set custom page_size value individually per view:\n\n```python hl_lines=\"2\"\n@api.get(\"/users\")\n@paginate(PageNumberPagination, page_size=50)\ndef list_users(...\n```\n\nIn addition to the `page` parameter, you can also use the `page_size` parameter to dynamically adjust the number of records displayed per page:\n\nExample query:\n```\n/api/users?page=2&page_size=20\n```\n\nThis allows you to temporarily override the page size setting in your request. The request will use the specified `page_size` value if provided. Otherwise, it will use either the value specified in the decorator or the value from `PAGINATION_MAX_PER_PAGE_SIZE` in settings.py if no decorator value is set.\n\n### CursorPagination\n\nCursor-based pagination provides stable pagination for datasets that may change frequently. Cursor pagination uses base64 encoded tokens to mark positions in the dataset, ensuring consistent results even when items are added or removed.\n\n```python hl_lines=\"1 4\"\nfrom ninja.pagination import paginate, CursorPagination\n\n@api.get('/events', response=List[EventSchema])\n@paginate(CursorPagination)\ndef list_events(request):\n    return Event.objects.all()\n```\n\nExample query:\n\n```\n/api/events?cursor=eyJwIjoiMjAyNC0wMS0wMSIsInIiOmZhbHNlLCJvIjowfQ==\n```\n\nthis class has two input parameters:\n\n- `cursor` - base64 token representing the current position (optional, starts from beginning if not provided)\n- `page_size` - number of items per page (optional)\n\nYou can specify the `page_size` value to temporarily override in the request:\n\n```\n/api/events?cursor=eyJwIjoiMjAyNC0wMS0wMSIsInIiOmZhbHNlLCJvIjowfQ==&page_size=5\n```\n\nThis class has a few parameters, which determine how the cursor position is ascertained and the parameter encoded:\n\n- `ordering` - tuple of field names to order the queryset. Use `-` prefix for descending order. The first one of which will be used to encode the position. The ordering field should be unique if possible. A string representation of this field will be used to point to the current position of the cursor. Timestamps work well if each item in the collection is created independently. The paginator can handle some non-uniqueness by adding an offset. Defaults to `(\"-pk\",)`, change in `NINJA_PAGINATION_DEFAULT_ORDERING`\n\n- `page_size` - default page size for endpoint. Defaults to `100`, change in `NINJA_PAGINATION_PER_PAGE`\n- `max_page_size` - maximum allowed page size for endpoint. Defaults to `100`, change in `NINJA_PAGINATION_MAX_PER_PAGE_SIZE`\n\nFinally, there is a `NINJA_PAGINATION_MAX_OFFSET` setting to limit malicious cursor requests. It defaults to `100`.\n\nThe class parameters can be set globally via settings as well as per view:\n\n```python hl_lines=\"2\"\n@api.get(\"/events\")\n@paginate(CursorPagination, ordering=(\"start_date\", \"end_date\"), page_size=20, max_page_size=100)\ndef list_events(request):\n    return Event.objects.all()\n```\n\nThe response includes navigation links and results:\n\n```json\n{\n  \"next\": \"http://api.example.com/events?cursor=eyJwIjoiMjAyNC0wMS0wMiIsInIiOmZhbHNlLCJvIjowfQ==\",\n  \"previous\": \"http://api.example.com/events?cursor=eyJwIjoiMjAyNC0wMS0wMSIsInIiOnRydWUsIm8iOjB9\",\n  \"results\": [\n    { \"id\": 1, \"title\": \"Event 1\", \"start_date\": \"2024-01-01\" },\n    { \"id\": 2, \"title\": \"Event 2\", \"start_date\": \"2024-01-02\" }\n  ]\n}\n```\n\n## Accessing paginator parameters in view function\n\nIf you need access to `Input` parameters used for pagination in your view function - use `pass_parameter` argument\n\nIn that case input data will be available in `**kwargs`:\n\n```python hl_lines=\"2 4\"\n@api.get(\"/someview\")\n@paginate(pass_parameter=\"pagination_info\")\ndef someview(request, **kwargs):\n    page = kwargs[\"pagination_info\"].page\n    return ...\n```\n\n\n## Creating Custom Pagination Class\n\nTo create a custom pagination class you should subclass `ninja.pagination.PaginationBase` and override the `Input` and `Output` schema classes and `paginate_queryset(self, queryset, request, **params)` method:\n\n - The `Input` schema is a Schema class that describes parameters that should be passed to your paginator (f.e. page-number or limit/offset values).\n - The `Output` schema describes schema for page output (f.e. count/next-page/items/etc).\n - The `paginate_queryset` method is passed the initial queryset and should return an iterable object that contains only the data in the requested page. This method accepts the following arguments:\n    - `queryset`: a queryset (or iterable) returned by the api function\n    - `pagination` - the paginator.Input parameters (parsed and validated)\n    - `**params`: kwargs that will contain all the arguments that decorated function received \n\n\nExample:\n\n```python hl_lines=\"7 11 16 26\"\nfrom ninja.pagination import paginate, PaginationBase\nfrom ninja import Schema\n\n\nclass CustomPagination(PaginationBase):\n    # only `skip` param, defaults to 5 per page\n    class Input(Schema):\n        skip: int\n        \n\n    class Output(Schema):\n        items: List[Any] # `items` is a default attribute\n        total: int\n        per_page: int\n\n    def paginate_queryset(self, queryset, pagination: Input, **params):\n        skip = pagination.skip\n        return {\n            'items': queryset[skip : skip + 5],\n            'total': queryset.count(),\n            'per_page': 5,\n        }\n\n\n@api.get('/users', response=List[UserSchema])\n@paginate(CustomPagination)\ndef list_users(request):\n    return User.objects.all()\n```\n\nTip: You can access request object from params:\n\n```python\ndef paginate_queryset(self, queryset, pagination: Input, **params):\n    request = params[\"request\"]\n```\n\n#### Async Pagination\n\nStandard **Django Ninja** pagination classes support async. If you wish to handle async requests with a custom pagination class, you should subclass `ninja.pagination.AsyncPaginationBase` and override the `apaginate_queryset(self, queryset, request, **params)` method.\n\n### Output attribute\n\nBy default page items are placed to `'items'` attribute. To override this behaviour use `items_attribute`:\n\n```python hl_lines=\"4 8\"\nclass CustomPagination(PaginationBase):\n    ...\n    class Output(Schema):\n        results: List[Any]\n        total: int\n        per_page: int\n    \n    items_attribute: str = \"results\"\n\n```\n\n\n## Apply pagination to multiple operations at once\n\nThere is often a case when you need to add pagination to all views that returns querysets or list\n\nYou can use a builtin router class (`RouterPaginated`) that automatically injects pagination to all operations that defined `response=List[SomeSchema]`:\n\n```python hl_lines=\"1 3 6 10\"\nfrom ninja.pagination import RouterPaginated\n\nrouter = RouterPaginated()\n\n\n@router.get(\"/items\", response=List[MySchema])\ndef items(request):\n    return MyModel.objects.all()\n\n@router.get(\"/other-items\", response=List[OtherSchema])\ndef other_items(request):\n    return OtherModel.objects.all()\n\n```\n\nIn this example both operations will have pagination enabled\n\nto apply pagination to main `api` instance use `default_router` argument:\n\n\n```python\napi = NinjaAPI(default_router=RouterPaginated())\n\n@api.get(...\n```\n"
  },
  {
    "path": "docs/docs/guides/response/response-renderers.md",
    "content": "# Response renderers\n\nThe most common response type for a REST API is usually JSON.\n**Django Ninja** also has support for defining your own custom renderers, which gives you the flexibility to design your own media types.\n\n## Create a renderer\n\nTo create your own renderer, you need to inherit `ninja.renderers.BaseRenderer` and override the `render` method. Then you can pass an instance of your class to `NinjaAPI` as the `renderer` argument:\n\n```python hl_lines=\"5 8 9\"\nfrom ninja import NinjaAPI\nfrom ninja.renderers import BaseRenderer\n\n\nclass MyRenderer(BaseRenderer):\n    media_type = \"text/plain\"\n\n    def render(self, request, data, *, response_status):\n        return ... # your serialization here\n\napi = NinjaAPI(renderer=MyRenderer())\n```\n\nThe `render` method takes the following arguments:\n\n - request -> HttpRequest object \n - data -> object that needs to be serialized\n - response_status as an `int` -> the HTTP status code that will be returned to the client\n\nYou need also define the `media_type` attribute on the class to set the content-type header for the response.\n\n\n## ORJSON renderer example:\n\n[orjson](https://github.com/ijl/orjson#orjson) is a fast, accurate JSON library for Python. It benchmarks as the fastest Python library for JSON and is more accurate than the standard `json` library or other third-party libraries. It also serializes dataclass, datetime, numpy, and UUID instances natively.\n\nHere's an example renderer class that uses `orjson`:\n\n\n```python hl_lines=\"9 10\"\nimport orjson\nfrom ninja import NinjaAPI\nfrom ninja.renderers import BaseRenderer\n\n\nclass ORJSONRenderer(BaseRenderer):\n    media_type = \"application/json\"\n\n    def render(self, request, data, *, response_status):\n        return orjson.dumps(data)\n\napi = NinjaAPI(renderer=ORJSONRenderer())\n```\n\n\n\n## XML renderer example:\n\n\nThis is how you create a renderer that outputs all responses as XML:\n\n\n```python hl_lines=\"8 11\"\nfrom io import StringIO\nfrom django.utils.encoding import force_str\nfrom django.utils.xmlutils import SimplerXMLGenerator\nfrom ninja import NinjaAPI\nfrom ninja.renderers import BaseRenderer\n\n\nclass XMLRenderer(BaseRenderer):\n    media_type = \"text/xml\"\n\n    def render(self, request, data, *, response_status):\n        stream = StringIO()\n        xml = SimplerXMLGenerator(stream, \"utf-8\")\n        xml.startDocument()\n        xml.startElement(\"data\", {})\n        self._to_xml(xml, data)\n        xml.endElement(\"data\")\n        xml.endDocument()\n        return stream.getvalue()\n\n    def _to_xml(self, xml, data):\n        if isinstance(data, (list, tuple)):\n            for item in data:\n                xml.startElement(\"item\", {})\n                self._to_xml(xml, item)\n                xml.endElement(\"item\")\n\n        elif isinstance(data, dict):\n            for key, value in data.items():\n                xml.startElement(key, {})\n                self._to_xml(xml, value)\n                xml.endElement(key)\n\n        elif data is None:\n            # Don't output any value\n            pass\n\n        else:\n            xml.characters(force_str(data))\n\n\napi = NinjaAPI(renderer=XMLRenderer())\n```\n*(Copyright note: this code is basically copied from [DRF-xml](https://jpadilla.github.io/django-rest-framework-xml/))*\n"
  },
  {
    "path": "docs/docs/guides/response/temporal_response.md",
    "content": "# Altering the Response\n\nSometimes you'll want to change the response just before it gets served, for example, to add a header or alter a cookie.\n\nTo do this, simply declare a function parameter with a type of `HttpResponse`:\n\n```python\nfrom django.http import HttpRequest, HttpResponse\n\n@api.get(\"/cookie/\")\ndef feed_cookiemonster(request: HttpRequest, response: HttpResponse):\n    # Set a cookie.\n    response.set_cookie(\"cookie\", \"delicious\")\n    # Set a header.\n    response[\"X-Cookiemonster\"] = \"blue\"\n    return {\"cookiemonster_happy\": True}\n```\n\n\n## Temporal response object\n\nThis response object is used for the base of all responses built by Django Ninja, including error responses. This object is *not* used if a Django `HttpResponse` object is returned directly by an operation.\n\nObviously this response object won't contain the content yet, but it does have the `content_type` set (but you probably don't want to be changing it).\n\nThe `status_code` will get overridden depending on the return value (200 by default, or the status code if a two-part tuple is returned).\n\n\n## Changing the base response object\n\nYou can alter this temporal response object by overriding the `NinjaAPI.create_temporal_response` method.\n\n```python\n    def create_temporal_response(self, request: HttpRequest) -> HttpResponse:\n        response = super().create_temporal_response(request)\n        # Do your magic here...\n        return response\n```"
  },
  {
    "path": "docs/docs/guides/routers.md",
    "content": "# Routers\n\nReal world applications can almost never fit all logic into a single file. \n\n**Django Ninja** comes with an easy way to split your API into multiple modules using Routers.\n\nLet's say you have a Django project with a structure like this:\n\n\n```\n├── myproject\n│   └── settings.py\n├── events/\n│   ├── __init__.py\n│   └── models.py\n├── news/\n│   ├── __init__.py\n│   └── models.py\n├── blogs/\n│   ├── __init__.py\n│   └── models.py\n└── manage.py\n```\n\nTo add API's to each of the Django applications, create an `api.py` module in each app:\n\n``` hl_lines=\"5 9 13\"\n├── myproject\n│   └── settings.py\n├── events/\n│   ├── __init__.py\n│   ├── api.py\n│   └── models.py\n├── news/\n│   ├── __init__.py\n│   ├── api.py\n│   └── models.py\n├── blogs/\n│   ├── __init__.py\n│   ├── api.py\n│   └── models.py\n└── manage.py\n```\n\nNow let's add a few operations to `events/api.py`. The trick is that instead of using the `NinjaAPI` class, you use the **Router** class:\n\n```python  hl_lines=\"1 4 6 13\"\nfrom ninja import Router\nfrom .models import Event\n\nrouter = Router()\n\n@router.get('/')\ndef list_events(request):\n    return [\n        {\"id\": e.id, \"title\": e.title}\n        for e in Event.objects.all()\n    ]\n\n@router.get('/{event_id}')\ndef event_details(request, event_id: int):\n    event = Event.objects.get(id=event_id)\n    return {\"title\": event.title, \"details\": event.details}\n```\n\nThen do the same for the `news` app with `news/api.py`:\n\n```python  hl_lines=\"1 4\"\nfrom ninja import Router\nfrom .models import News\n\nrouter = Router()\n\n@router.get('/')\ndef list_news(request):\n    ...\n\n@router.get('/{news_id}')\ndef news_details(request, news_id: int):\n    ...\n```\nand then also `blogs/api.py`.\n\n\nFinally, let's group them together.\nIn your top level project folder (next to `urls.py`), create another `api.py` file with the main `NinjaAPI` instance:\n\n``` hl_lines=\"2\"\n├── myproject\n│   ├── api.py\n│   └── settings.py\n├── events/\n│   ...\n├── news/\n│   ...\n├── blogs/\n│   ...\n\n```\n\nIt should look like this:\n\n```python\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n\n```\n\nNow we import all the routers from the various apps, and include them into the main API instance:\n\n```python hl_lines=\"2 6 7 8\"\nfrom ninja import NinjaAPI\nfrom events.api import router as events_router\n\napi = NinjaAPI()\n\napi.add_router(\"/events/\", events_router)    # You can add a router as an object\napi.add_router(\"/news/\", \"news.api.router\")  #   or by Python path\napi.add_router(\"/blogs/\", \"blogs.api.router\")\n```\n\nNow, include `api` to your urls as usual and open your browser at `/api/docs`, and you should see all your routers combined into a single API:\n\n\n![Swagger UI Simple Routers](../img/simple-routers-swagger.png)\n\n\n## Router authentication\n\nUse `auth` argument to apply authenticator to all operations declared by router:\n\n```python\napi.add_router(\"/events/\", events_router, auth=BasicAuth())\n```\n\nor using router constructor\n```python\nrouter = Router(auth=BasicAuth())\n```\n\n## Router tags\n\nYou can use `tags` argument to apply tags to all operations declared by router:\n\n```python\napi.add_router(\"/events/\", events_router, tags=[\"events\"])\n```\n\nor using router constructor\n```python\nrouter = Router(tags=[\"events\"])\n```\n\n\n## Nested routers\n\nThere are also times when you need to split your logic up even more.\n**Django Ninja** makes it possible to include a router into another router as many times as you like, and finally include the top level router into the main `api` instance.\n\n\nBasically, what that means is that you have `add_router` both on the `api` instance and on the `router` instance:\n\n\n\n```python hl_lines=\"7 8 9 32 33 34\"\nfrom django.contrib import admin\nfrom django.urls import path\nfrom ninja import NinjaAPI, Router\n\napi = NinjaAPI()\n\nfirst_router = Router()\nsecond_router = Router()\nthird_router = Router()\n\n\n@api.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n\n@first_router.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n\n@second_router.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n\n@third_router.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n\nsecond_router.add_router(\"l3\", third_router)\nfirst_router.add_router(\"l2\", second_router)\napi.add_router(\"l1\", first_router)\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api.urls),\n]\n```\n\nNow you have the following endpoints:\n\n```\n/api/add\n/api/l1/add\n/api/l1/l2/add\n/api/l1/l2/l3/add\n```\n\nGreat! Now go have a look at the automatically generated docs:\n\n![Swagger UI Nested Routers](../img/nested-routers-swagger.png)\n\n### Nested url parameters\n\nYou can also use url parameters in nested routers by adding `= Path(...)` to the function parameters:\n\n```python hl_lines=\"13 16\"\nfrom django.contrib import admin\nfrom django.urls import path\nfrom ninja import NinjaAPI, Path, Router\n\napi = NinjaAPI()\nrouter = Router()\n\n@api.get(\"/add/{a}/{b}\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n@router.get(\"/multiply/{c}\")\ndef multiply(request, c: int, a: int = Path(...), b: int = Path(...)):\n    return {\"result\": (a + b) * c}\n\napi.add_router(\"add/{a}/{b}\", router)\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api.urls),\n]\n```\n\nThis will generate the following endpoints:\n\n```\n/api/add/{a}/{b}\n/api/add/{a}/{b}/multiply/{c}\n```"
  },
  {
    "path": "docs/docs/guides/testing.md",
    "content": "# Testing\n\n**Django Ninja** is fully compatible with standard [django test client](https://docs.djangoproject.com/en/dev/topics/testing/tools/) , but also provides a test client to make it easy to test just APIs without middleware/url-resolver layer making tests run faster.\n\nTo test the following API:\n```python\nfrom ninja import NinjaAPI, Schema\n\napi = NinjaAPI()\nrouter = Router()\n\nclass HelloResponse(Schema):\n    msg: str\n    \n@router.get(\"/hello\", response=HelloResponse)\ndef hello(request):\n    return {\"msg\": \"Hello World\"}\n\napi.add_router(\"\", router)\n```\n\nYou can use the Django test class:\n```python\nfrom django.test import TestCase\nfrom ninja.testing import TestClient\n\nclass HelloTest(TestCase):\n    def test_hello(self):\n        # don't forget to import router from code above\n        client = TestClient(router)\n        response = client.get(\"/hello\")\n        \n        self.assertEqual(response.status_code, 200)\n        self.assertEqual(response.json(), {\"msg\": \"Hello World\"})\n```\n\nIt is also possible to access the deserialized data using the `data` property:\n```python\n    self.assertEqual(response.data, {\"msg\": \"Hello World\"})\n```\n\n## Attributes\nArbitrary attributes can be added to the request object by passing keyword arguments to the client request methods:\n```python\nclass HelloTest(TestCase):\n    def test_hello(self):\n        client = TestClient(router)\n        # request.company_id will now be set within the view\n        response = client.get(\"/hello\", company_id=1)\n```\n\n### Headers\nIt is also possible to specify headers, both from the TestCase instantiation and the actual request:\n```python\n    client = TestClient(router, headers={\"A\": \"a\", \"B\": \"b\"})\n    # The request will be made with {\"A\": \"na\", \"B\": \"b\", \"C\": \"nc\"} headers\n    response = client.get(\"/test-headers\", headers={\"A\": \"na\", \"C\": \"nc\"})\n```\n\n### Cookies\nIt is also possible to specify cookies, both from the TestCase instantiation and the actual request:\n```python\n    client = TestClient(router, COOKIES={\"A\": \"a\", \"B\": \"b\"})\n    # The request will be made with {\"A\": \"na\", \"B\": \"b\", \"C\": \"nc\"} cookies\n    response = client.get(\"/test-cookies\", COOKIES={\"A\": \"na\", \"C\": \"nc\"})\n```\n\n### Users\nIt is also possible to specify a User for the request:\n```python\n    user = User.objects.create(...)\n    client = TestClient(router)\n    # The request will be made with user logged in\n    response = client.get(\"/test-with-user\", user=user)\n```\n\n## Testing async operations\n\nTo test operations in async context use `TestAsyncClient`:\n\n```python\nfrom ninja.testing import TestAsyncClient\n\nclient = TestAsyncClient(router)\nresponse = await client.post(\"/test/\")\n\n```\n"
  },
  {
    "path": "docs/docs/guides/throttling.md",
    "content": "# Throttling\n\nThrottles allows to control the rate of requests that clients can make to an API. Django Ninja allows to set custom throttlers globally (across all operations in NinjaAPI instance), on router level and each operation individually.\n\n!!! note\n    The application-level throttling that Django Ninja provides should not be considered a security measure or protection against brute forcing or denial-of-service attacks. Deliberately malicious actors will always be able to spoof IP origins. The built-in throttling implementations are implemented using Django's cache framework, and use non-atomic operations to determine the request rate, which may sometimes result in some fuzziness.\n\n\nDjango Ninja’s throttling feature is pretty much based on what Django Rest Framework (DRF) uses, which you can check out [here](https://www.django-rest-framework.org/api-guide/throttling/). So, if you’ve already got custom throttling set up for DRF, there’s a good chance it’ll work with Django Ninja right out of the box. The key difference is that you need to pass initialized Throttle objects instead of classes (which should give a better performance).\n\nYou can specify a rate using the format requests/time-unit, where time-unit represents a number of units followed by an optional unit of time. If the unit is omitted, it defaults to seconds. For example, the following are equivalent and all represent \"100 requests per 5 minutes\":\n\n    * 100/5m\n    * 100/300s\n    * 100/300\n\nThe following units are supported:\n\n    * `s` or `sec`\n    * `m` or `min`\n    * `h` or `hour`\n    * `d` or `day`\n\n## Usage\n\n### Global\n\nThe following example will limit unauthenticated users to only 10 requests per second, while authenticated can make 100/s\n\n```Python\nfrom ninja.throttling import AnonRateThrottle, AuthRateThrottle\n\napi = NinjaAPI(\n    throttle=[\n        AnonRateThrottle('10/s'),\n        AuthRateThrottle('100/s'),\n    ],\n)\n```\n\n!!! tip\n    `throttle` argument accepts single object and list of throttle objects\n\n### Router level\n\nPass `throttle` argument either to `add_router` function\n\n```Python\napi = NinjaAPI()\n...\n\napi.add_router('/sensitive', 'myapp.api.router', throttle=AnonRateThrottle('100/m'))\n```\n\nor directly to init of the Router class:\n\n```Python\nrouter = Router(..., throttle=[AnonRateThrottle('1000/h')])\n```\n\n\n### Operation level\n\nIf `throttle` argument is passed to operation - it will overrule all global and router throttles:\n\n```Python\nfrom ninja.throttling import UserRateThrottle\n\n@api.get('/some', throttle=[UserRateThrottle('10000/d')])\ndef some(request):\n    ...\n```\n\n## Builtin throttlers\n\n### AnonRateThrottle\n\nWill only throttle unauthenticated users. The IP address of the incoming request is used to generate a unique key to throttle against.\n\n\n### UserRateThrottle\n\nWill throttle users (**if you use django build-in user authentication**) to a given rate of requests across the API. The user id is used to generate a unique key to throttle against. Unauthenticated requests will fall back to using the IP address of the incoming request to generate a unique key to throttle against.\n\n### AuthRateThrottle\n\nWill throttle by Django ninja [authentication](authentication.md) to a given rate of requests across the API.  Unauthenticated requests will fall back to using the IP address of the incoming request to generate a unique key to throttle against.\n\nNote: the cache key in case of `request.auth` will be generated by `sha256(str(request.auth))` - so if you returning some custom objects inside authentication make sure to implement `__str__` method that will return a unique value for the user.\n\n\n## Custom throttles\nTo create a custom throttle, override `BaseThrottle` (or any of builtin throttles) and implement `.allow_request(self, request)`. The method should return `True` if the request should be allowed, and `False` otherwise.\n\nExample\n\n```Python\nfrom ninja.throttling import AnonRateThrottle\n\nclass NoReadsThrottle(AnonRateThrottle):\n    \"\"\"Do not throttle GET requests\"\"\"\n    \n    def allow_request(self, request):\n        if request.method == \"GET\":\n            return True\n        return super().allow_request(request)\n```\n"
  },
  {
    "path": "docs/docs/guides/urls.md",
    "content": "# Reverse Resolution of URLS\n\nA reverse URL name is generated for each method in a Django Ninja Schema (or `Router`).\n\n## How URLs are generated\n\nThe URLs are all contained within a namespace, which defaults to `\"api-1.0.0\"`, and each URL name matches the function it is decorated. \n\nFor example:\n\n```python\napi = NinjaAPI()\n\n@api.get(\"/\")\ndef index(request):\n    ...\n\nindex_url = reverse_lazy(\"api-1.0.0:index\")\n```\n\nThis implicit URL name will only be set for the first operation for each API path.  If you *don't* want any implicit reverse URL name generated, just explicitly specify `url_name=\"\"` (an empty string) on the method decorator.\n\n### Changing the URL name\n\nRather than using the default URL name, you can specify it explicitly as a property on the method decorator.\n\n```python\n@api.get(\"/users\", url_name=\"user_list\")\ndef users(request):\n    ...\n\nusers_url = reverse_lazy(\"api-1.0.0:user_list\")\n```\n\nThis will override any implicit URL name to this API path.\n\n\n#### Overriding default url names\n\nYou can also override implicit url naming by overwriting the `get_operation_url_name` method:\n\n```python\nclass MyAPI(NinjaAPI):\n    def get_operation_url_name(self, operation, router):\n        return operation.view_func.__name__ + '_my_extra_suffix'\n\napi = MyAPI()\n```\n\n### Customizing the namespace\n\nThe default URL namespace is built by prepending the Schema's version with `\"api-\"`, however you can explicitly specify the namespace by overriding the `urls_namespace` attribute of the `NinjaAPI` Schema class.\n\n```python\n\napi = NinjaAPI(auth=token_auth, version='2')\napi_private = NinjaAPI(auth=session_auth, urls_namespace='private_api')\n\napi_users_url = reverse_lazy(\"api-2:users\")\nprivate_api_admins_url = reverse_lazy(\"private_api:admins\")\n```\n"
  },
  {
    "path": "docs/docs/guides/versioning.md",
    "content": "# Versioning\n\n## Different API version numbers\n\nWith **Django Ninja** it's easy to run multiple API versions from a single Django project.\n\nAll you have to do is create two or more NinjaAPI instances with different `version` arguments:\n\n\n**api_v1.py**:\n\n```python hl_lines=\"4\"\nfrom ninja import NinjaAPI\n\n\napi = NinjaAPI(version='1.0.0')\n\n@api.get('/hello')\ndef hello(request):\n    return {'message': 'Hello from V1'}\n\n```\n\n\napi_**v2**.py:\n\n```python hl_lines=\"4\"\nfrom ninja import NinjaAPI\n\n\napi = NinjaAPI(version='2.0.0')\n\n@api.get('/hello')\ndef hello(request):\n    return {'message': 'Hello from V2'}\n```\n\n\nand then in **urls.py**:\n\n```python hl_lines=\"8 9\"\n...\nfrom api_v1 import api as api_v1\nfrom api_v2 import api as api_v2\n\n\nurlpatterns = [\n    ...\n    path('api/v1/', api_v1.urls),\n    path('api/v2/', api_v2.urls),\n]\n\n```\n\n\nNow you can go to different OpenAPI docs pages for each version:\n\n - http://127.0.0.1/api/**v1**/docs\n - http://127.0.0.1/api/**v2**/docs\n\n\n\n## Different business logic\n\nIn the same way, you can define a different API for different components or areas:\n\n```python hl_lines=\"4 7\"\n...\n\n\napi = NinjaAPI(auth=token_auth, urls_namespace='public_api')\n...\n\napi_private = NinjaAPI(auth=session_auth, urls_namespace='private_api')\n...\n\n\nurlpatterns = [\n    ...\n    path('api/', api.urls),\n    path('internal-api/', api_private.urls),\n]\n\n```\n!!! note\n    If you use different **NinjaAPI** instances, you need to define different `version`s or different `urls_namespace`s.\n"
  },
  {
    "path": "docs/docs/help.md",
    "content": "# Help / Get Help\n\n## Do you like Django Ninja?\n\nIf you like this project, there is a tiny thing you can do to let us know that we're moving in the right direction.\n\nSimply give django-ninja a <a href=\"https://github.com/vitalik/django-ninja\" target=\"_blank\">star on github</a> <a href=\"https://github.com/vitalik/django-ninja\" target=\"_blank\">![github star](img/github-star.png)</a>\n\nor share this URL on social media: \n```\nhttps://django-ninja.dev\n```\nFollow updates on twitter <a href=\"https://twitter.com/django_ninja\">@django_ninja</a>\n\n## Do you want to help us?\n\nPull requests are always welcome.\n\nYou can inspect our docs for typos and spelling mistakes, and create pull requests or <a href=\"https://github.com/vitalik/django-ninja/issues\" target=\"_blank\">open an issue</a>.\n\nIf you have any suggestions to improve **Django Ninja**, please create them as <a href=\"https://github.com/vitalik/django-ninja/issues\" target=\"_blank\">issues</a> on GitHub.\n\n\n## Do you need help?\n\nDo not hesitate.  Go to <a href=\"https://github.com/vitalik/django-ninja/issues\" target=\"_blank\">GitHub issues</a> and describe your question or problem.  We'll attempt to address them quickly.\n\nJoin the chat at our <a href=\"https://discord.gg/dgE4SNUDTB\" target=\"_blank\">Discord</a> server.\n\n[Code-on the webdesign and web development company](https://code-on.be/) gives commercial consulting for Django-Ninja. If you are looking for support please contact Code-on and we will be in touch with you soon.\n"
  },
  {
    "path": "docs/docs/index.md",
    "content": "# Django Ninja - Fast Django REST Framework\n\n<div style=\"background-color: black; color: red; font-size: 16px; padding: 8px;\">\n RUSSIA INVADED UKRAINE - <a href=\"https://github.com/vitalik/django-ninja/issues/383\">Please read</a>\n</div>\n\n\n![Django Ninja](img/hero.png)\n\nDjango Ninja is a web framework for building APIs with Django and Python 3.6+ type hints.\n\nKey features:\n\n - **Easy**: Designed to be easy to use and intuitive.\n - **FAST execution**: Very high performance thanks to **<a href=\"https://pydantic-docs.helpmanual.io\" target=\"_blank\">Pydantic</a>** and **<a href=\"guides/async-support/\">async support</a>**. \n - **Fast to code**: Type hints and automatic docs lets you focus only on business logic.\n - **Standards-based**: Based on the open standards for APIs: **OpenAPI** (previously known as Swagger) and **JSON Schema**.\n - **Django friendly**: (obviously) has good integration with the Django core and ORM.\n - **Production ready**: Used by multiple companies on live projects (If you use Django Ninja and would like to publish your feedback, please email ppr.vitaly@gmail.com).\n\n<a href=\"https://github.com/vitalik/django-ninja-benchmarks\" target=\"_blank\">Benchmarks</a>:\n\n![Django Ninja REST Framework](img/benchmark.png)\n\n## Installation\n\n```\npip install django-ninja\n```\n\n## Quick Example\n\nStart a new Django project (or use an existing one)\n```\ndjango-admin startproject apidemo\n```\n\nin `urls.py`\n\n```python hl_lines=\"3 5 8 9 10 15\"\n{!./src/index001.py!}\n```\n\nNow, run it as usual:\n```\n./manage.py runserver\n```\n\nNote: You don't have to add Django Ninja to your installed apps for it to work.\n\n## Check it\n\nOpen your browser at <a href=\"http://127.0.0.1:8000/api/add?a=1&b=2\" target=\"_blank\">http://127.0.0.1:8000/api/add?a=1&b=2</a>\n\nYou will see the JSON response as:\n```JSON\n{\"result\": 3}\n```\nNow you've just created an API that:\n\n - receives an HTTP GET request at `/api/add`\n - takes, validates and type-casts GET parameters `a` and `b`\n - decodes the result to JSON\n - generates an OpenAPI schema for defined operation\n\n## Interactive API docs\n\nNow go to <a href=\"http://127.0.0.1:8000/api/docs\" target=\"_blank\">http://127.0.0.1:8000/api/docs</a>\n\nYou will see the automatic, interactive API documentation (provided by the <a href=\"https://github.com/swagger-api/swagger-ui\" target=\"_blank\">OpenAPI / Swagger UI</a> or <a href=\"https://github.com/Redocly/redoc\" target=\"_blank\">Redoc</a>):\n\n![Swagger UI](img/index-swagger-ui.png)\n\n\n## Recap\n\nIn summary, you declare the types of parameters, body, etc. **once only**, as function parameters. \n\nYou do that with standard modern Python types.\n\nYou don't have to learn a new syntax, the methods or classes of a specific library, etc.\n\nJust standard **Python 3.6+**.\n\nFor example, for an `int`:\n\n```python\na: int\n```\n\nor, for a more complex `Item` model:\n\n```python\nclass Item(Schema):\n    foo: str\n    bar: float\n\ndef operation(a: Item):\n    ...\n```\n\n... and with that single declaration you get:\n\n* Editor support, including:\n    * Completion\n    * Type checks\n* Validation of data:\n    * Automatic and clear errors when the data is invalid\n    * Validation, even for deeply nested JSON objects\n* <abbr title=\"also known as: serialization, parsing, marshalling\">Conversion</abbr> of input data coming from the network, to Python data and types, and reading from:\n    * JSON\n    * Path parameters\n    * Query parameters\n    * Cookies\n    * Headers\n    * Forms\n    * Files\n* Automatic, interactive API documentation\n\nThis project was heavily inspired by <a href=\"https://fastapi.tiangolo.com/\" target=\"_blank\">FastAPI</a> (developed by <a href=\"https://github.com/tiangolo\" target=\"_blank\">Sebastián Ramírez</a>)\n\n"
  },
  {
    "path": "docs/docs/javascripts/ask-ai-button.js",
    "content": "// Add \"Ask AI\" button to the Material for MkDocs navbar\ndocument.addEventListener('DOMContentLoaded', function() {\n    // Find the header navigation actions (right side of navbar)\n    const headerActions = document.querySelector('.md-header__topic + .md-header__option');\n    const headerTitle = document.querySelector('.md-header__title');\n\n    if (headerTitle) {\n        // Create the Ask AI button\n        const askAiButton = document.createElement('a');\n        askAiButton.href = '/chat';  // Update this URL to your desired destination\n        askAiButton.className = 'md-button ask-ai-button';\n        askAiButton.textContent = 'Ask AI';\n        askAiButton.title = 'Ask AI about Django Ninja';\n\n        // Create a container for the button\n        const buttonContainer = document.createElement('div');\n        buttonContainer.className = 'ask-ai-button-container';\n        buttonContainer.appendChild(askAiButton);\n\n        // Insert the button after the header title\n        const header = document.querySelector('.md-header__inner');\n        if (header) {\n            // Find the right spot - after title, before search/repo buttons\n            const source = document.querySelector('.md-header__source');\n            if (source) {\n                header.insertBefore(buttonContainer, source);\n            } else {\n                header.appendChild(buttonContainer);\n            }\n        }\n    }\n});\n"
  },
  {
    "path": "docs/docs/motivation.md",
    "content": "# Motivation\n\n!!! quote\n    **Django Ninja** looks basically the same as **FastAPI**, so why not just use FastAPI?\n\nIndeed, **Django Ninja** is heavily inspired by <a href=\"https://fastapi.tiangolo.com/\" target=\"_blank\">FastAPI</a> (developed by <a href=\"https://github.com/tiangolo\" target=\"_blank\">Sebastián Ramírez</a>)\n\nThat said, there are few issues when it comes to getting FastAPI and Django to work together properly:\n\n1) **FastAPI** declares to be ORM agnostic (meaning you can use it with SQLAlchemy or the Django ORM), but in reality the Django ORM is not yet ready for async use (it may be in version 4.0 or 4.1), and if you use it in sync mode, you can have a [closed connection issue](https://github.com/tiangolo/fastapi/issues/716) which you will have to overcome with a **lot** of effort.\n\n2) The dependency injection with arguments makes your code too verbose when you rely on authentication and database sessions in your operations (which for some projects is about 99% of all operations).\n\n```python hl_lines=\"25 26\"\n...\n\napp = FastAPI()\n\n\n# Dependency\ndef get_db():\n    db = SessionLocal()\n    try:\n        yield db\n    finally:\n        db.close()\n\n\nasync def get_current_user(token: str = Depends(oauth2_scheme)):\n    user = decode(token)\n    if not user:\n        raise HTTPException(...)\n    return user\n\n\n@app.get(\"/task/{task_id}\", response_model=Task)\ndef read_user(\n        task_id: int,\n        db: Session = Depends(get_db), \n        current_user: User = Depends(get_current_user),\n    ):\n        ... use db with current_user ....\n```\n\n3) Since the word `model` in Django is \"reserved\" for use by the ORM, it becomes very confusing when you mix the Django ORM with Pydantic/FastAPI model naming conventions. \n\n### Django Ninja\n\nDjango Ninja addresses all those issues, and integrates very well with Django (ORM, urls, views, auth and more)\n\nWorking at [Code-on a Django webdesign webedevelopment studio](https://code-on.be/) I get all sorts of challenges and to solve these I started Django-Ninja in 2020.\n\nNote: **Django Ninja is a production ready project** - my estimation is at this time already 100+ companies using it in production and 500 new developers joining every month. \n\nSome companies are already looking for developers with django ninja experience.\n\n#### Main Features\n\n1) Since you can have multiple Django Ninja API instances - you can run [multiple API versions](guides/versioning.md) inside one Django project.\n\n```python\napi_v1 = NinjaAPI(version='1.0', auth=token_auth)\n...\napi_v2 = NinjaAPI(version='2.0', auth=token_auth)\n...\napi_private = NinjaAPI(auth=session_auth, urls_namespace='private_api')\n...\n\n\nurlpatterns = [\n    ...\n    path('api/v1/', api_v1.urls),\n    path('api/v2/', api_v2.urls),\n    path('internal-api/', api_private.urls),\n]\n```\n\n2) The Django Ninja 'Schema' class is integrated with the ORM, so you can [serialize querysets](guides/response/index.md#returning-querysets) or ORM objects:\n\n```python\n@api.get(\"/tasks\", response=List[TaskSchema])\ndef tasks(request):\n    return Task.objects.all()\n\n\n@api.get(\"/tasks\", response=TaskSchema)\ndef tasks_details(request):\n    task = Task.objects.first()\n    return task\n```\n3) [Create Schema's from Django Models](guides/response/django-pydantic.md).\n\n4) Instead of dependency arguments, **Django Ninja** uses `request` instance attributes (in the same way as regular Django views) - more detail at [Authentication](guides/authentication.md).\n"
  },
  {
    "path": "docs/docs/proposals/cbv.md",
    "content": "# Class Based Operations\n\n\n!!! warning \"\"\n    This is just a proposal and it is **not present in library code**, but eventually this can be a part of Django Ninja.\n\n    Please consider adding likes/dislikes or comments in [github issue](https://github.com/vitalik/django-ninja/issues/15) to express your feeling about this proposal\n\n\n## Problem\n\nAn API operation is a callable which takes a request and parameters and returns a response, but it is often a case in real world when you need to reuse the same pieces of code in multiple operations.\n\nLet's take the following example:\n\n - we have a Todo application with Projects and Tasks\n - each project has multiple tasks\n - each project may also have an owner (user)\n - users should not be able to access projects they do not own\n\nModel structure is something like this:\n\n```python\nclass Project(models.Model):\n    title = models.CharField(max_length=100)\n    owner = models.ForeignKey('auth.User', on_delete=models.CASCADE)\n\nclass Task(models.Model):\n    project = models.ForeignKey(Project, on_delete=models.CASCADE)\n    title = models.CharField(max_length=100)\n    completed = models.BooleanField()\n```\n\n\nNow, let's create a few API operations for it:\n\n - a list of tasks for the project\n - some task details\n - a 'complete task' action\n\nThe code should validate that a user can only access his/her own project's tasks (otherwise, return 404)\n\nIt can be something like this:\n\n\n```python\nrouter = Router()\n\n@router.get('/project/{project_id}/tasks/', response=List[TaskOut])\ndef task_list(request):\n    user_projects = request.user.project_set\n    project = get_object_or_404(user_projects, id=project_id))\n    return project.task_set.all()\n\n@router.get('/project/{project_id}/tasks/{task_id}/', response=TaskOut)\ndef details(request, task_id: int):\n    user_projects = request.user.project_set\n    project = get_object_or_404(user_projects, id=project_id))\n    user_tasks = project.task_set.all()\n    return get_object_or_404(user_tasks, id=task_id)\n\n\n@router.post('/project/{project_id}/tasks/{task_id}/complete', response=TaskOut)\ndef complete(request, task_id: int):\n    user_projects = request.user.project_set\n    project = get_object_or_404(user_projects, id=project_id))\n    user_tasks = project.task_set.all()\n    task = get_object_or_404(user_tasks, id=task_id)\n    task.completed = True\n    task.save()\n    return task\n```\n\n\nAs you can see, these lines are getting repeated pretty often to check permission:\n\n```python hl_lines=\"1 2\"\nuser_projects = request.user.project_set\nproject = get_object_or_404(user_projects, id=project_id))\n```\n\nYou can extract it to a function, but it will just make it 3 lines smaller, and it will still be pretty polluted ...\n\n\n## Solution\n\nThe proposal is to have alternative called \"Class Based Operation\" where you can decorate the entire class with a `path` decorator:\n\n\n```python hl_lines=\"7 8\"\nfrom ninja import Router\n\n\nrouter = Router()\n\n\n@router.path('/project/{project_id}/tasks')\nclass Tasks:\n    def __init__(self, request, project_id=int):\n        user_projects = request.user.project_set\n        self.project = get_object_or_404(user_projects, id=project_id))\n        self.tasks = self.project.task_set.all()\n    \n    @router.get('/', response=List[TaskOut])\n    def task_list(self, request):\n        return self.tasks\n\n    @router.get('/{task_id}/', response=TaskOut)\n    def details(self, request, task_id: int):\n        return get_object_or_404(self.tasks, id=task_id)\n\n    @router.post('/{task_id}/complete', response=TaskOut)\n    def complete(self, request, task_id: int):\n        task = get_object_or_404(self.tasks, id=task_id)\n        task.completed = True\n        task.save()\n        return task\n```\n\nAll common initiation and permission checks are placed in the constructor:\n\n```python hl_lines=\"4 5 6\"\n@router.path('/project/{project_id}/tasks')\nclass Tasks:\n    def __init__(self, request, project_id=int):\n        user_projects = request.user.project_set\n        self.project = get_object_or_404(user_projects, id=project_id))\n        self.tasks = self.project.task_set.all()\n```\n\nThis makes the main business operation focus only on tasks (exposed as the `self.tasks` attribute)\n\nYou can use both `api` and `router` instances to support class paths.\n\n## Issue\n\nThe `__init__` method:\n\n```def __init__(self, request, project_id=int):```\n\nPython doesn't support the `async` keyword for `__init__`, so to support async operations we need some other method for initialization, but `__init__` sounds the most logical.\n\n\n## Your thoughts/proposals\n\nPlease give you thoughts/likes/dislikes about this proposal in the [github issue](https://github.com/vitalik/django-ninja/issues/15)\n"
  },
  {
    "path": "docs/docs/proposals/index.md",
    "content": "# Enhancement Proposals\n\nEnhancement Proposals are a formal way of proposing large feature additions to the **Django Ninja Framework**.\n\nYou can create a proposal by making a pull request with a new page under [`docs/proposals`](https://github.com/vitalik/django-ninja/tree/master/docs/docs/proposals), or by creating an [issue on github](https://github.com/vitalik/django-ninja/issues).\n\nPlease see the current proposals:\n\n - [Class Based Operations](cbv.md)\n"
  },
  {
    "path": "docs/docs/proposals/v1.md",
    "content": "# Potential v1 changes\n\nDjango Ninja is already used by tens of companies and by the visitors and downloads stats it's growing.\n\nAt this point introducing changes that will force current users to change their code (or break it) is not \nacceptable.\n\nOn the other hand some decisions that where initially made does not work well. These  breaking changes will be \nintroduced in version 1.0.0\n\n## Changes that most likely be in v1\n\n - **auth** will be class interface instead of callable (to support async authenticators)\n - **responses** to support **codes/headers/content** (like general Response class)\n - **routers paths** currently automatically **joined with \"/\"** - which might not needed on some cases where router prefix will act like a prefix and not subfolder\n\n## Your thoughts/proposals\n\nPlease give you thoughts/likes/dislikes in the [github issue](https://github.com/vitalik/django-ninja/issues/146).\n\n"
  },
  {
    "path": "docs/docs/reference/api.md",
    "content": "# NinjaAPI\n\n::: ninja.main.NinjaAPI\n    rendering:\n      show_signature: False\n      group_by_category: False\n"
  },
  {
    "path": "docs/docs/reference/csrf.md",
    "content": "# CSRF\n\n## What is CSRF?\n> [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery) occurs when a malicious website contains a link, a form button or some JavaScript that is intended to perform some action on your website, using the credentials (or location on the network, not covered by this documentation) of a logged-in user who visits the malicious site in their browser.\n\n\n## How to protect against CSRF with Django Ninja\n### Use an authentication method not automatically embedded in the request\nCSRF attacks rely on authentication methods that are automatically included in requests started from another site, like [cookies](https://en.wikipedia.org/wiki/HTTP_cookie) or [Basic access authentication](https://en.wikipedia.org/wiki/Basic_access_authentication).\nUsing an authentication method that does not automatically gets embedded, such as the `Authorization: Bearer` header for exemple, mitigates this attack.\n\n\n### Use Django's built-in CSRF protection\nIn case you are using the default Django authentication, which uses cookies, you must also use the default [Django CSRF protection](https://docs.djangoproject.com/en/4.2/ref/csrf/).\n\n\nBy default, **Django Ninja** has CSRF protection turned **OFF** for all operations, but will automatically enable csrf **for Cookie based** authentication:\n\n\n```python hl_lines=\"8\"\nfrom ninja import NinjaAPI\nfrom ninja.security import APIKeyCookie\n\nclass CookieAuth(APIKeyCookie):\n    def authenticate(self, request, key):\n        return key == \"test\"\n\napi = NinjaAPI(auth=CookieAuth())\n\n```\n\n\nor django-auth based (which is inherited from cookie based auth):\n\n```python hl_lines=\"4\"\nfrom ninja import NinjaAPI\nfrom ninja.security import django_auth\n\napi = NinjaAPI(auth=django_auth)\n```\n\n\n#### Django `ensure_csrf_cookie` decorator\nYou can use the Django [ensure_csrf_cookie](https://docs.djangoproject.com/en/4.2/ref/csrf/#django.views.decorators.csrf.ensure_csrf_cookie) decorator on an unprotected route to make it include a `Set-Cookie` header for the CSRF token. Note that:\n\n- The route decorator must be executed before (i.e. above) the [ensure_csrf_cookie](https://docs.djangoproject.com/en/4.2/ref/csrf/#django.views.decorators.csrf.ensure_csrf_cookie) decorator).\n- You must `csrf_exempt` that route.\n- The `ensure_csrf_cookie` decorator works only on a Django `HttpResponse` (and subclasses like `JsonResponse`) and not on a dict like most Django Ninja decorators.\n- If you [set a Cookie based authentication (which includes `django_auth`) globally to your API](../guides/authentication.md), you'll have to specifically disable auth on that route (with `auth=None` in the route decorator) as Cookie based authentication would raise an Exception when applied to an unprotected route (for security reasons).\n\n```python hl_lines=\"4\"\nfrom django.http import HttpResponse\nfrom django.views.decorators.csrf import csrf_exempt, ensure_csrf_cookie\n\n@api.post(\"/csrf\")\n@ensure_csrf_cookie\n@csrf_exempt\ndef get_csrf_token(request):\n    return HttpResponse()\n```\nA request to that route triggers a response with the adequate `Set-Cookie` header from Django.\n\n\n#### Frontend code\nYou may use the [Using CSRF protection with AJAX](https://docs.djangoproject.com/en/4.2/howto/csrf/#using-csrf-protection-with-ajax) and [Setting the token on the AJAX request](https://docs.djangoproject.com/en/4.2/howto/csrf/#setting-the-token-on-the-ajax-request) part of the [How to use Django’s CSRF protection](https://docs.djangoproject.com/en/4.2/howto/csrf/) to know how to handle that CSRF protection token in your frontend code.\n\n\n## A word about CORS\nYou may want to set-up your frontend and API on different sites (in that case, you may check [django-cors-headers](https://github.com/adamchainz/django-cors-headers)).\nWhile not directly related to CSRF, CORS (Cross-Origin Resource Sharing) may help in case you are defining the CSRF cookie on another site than the frontend consuming it, as this is not allowed by default by the [Same-origin policy](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy).\nYou may check the [django-cors-headers README](https://github.com/adamchainz/django-cors-headers#readme) then.\n"
  },
  {
    "path": "docs/docs/reference/management-commands.md",
    "content": "# Management Commands\n\nManagement commands require **Django Ninja** to be installed in Django's\n`INSTALLED_APPS` setting:\n\n```python\nINSTALLED_APPS = [\n    ...\n    'ninja',\n]\n```\n\n::: ninja.management.commands\n    selection:\n      filters:\n        - \"![A-Z]\"\n    rendering:\n      show_root_toc_entry: False\n"
  },
  {
    "path": "docs/docs/reference/operations-parameters.md",
    "content": "# Operations parameters\n\n## OpenAPI Schema related\n\nThe following parameters interact with how the OpenAPI schema (and docs) are generated.\n\n### `tags`\n\nYou can group your API operations using the `tags` argument (`list[str]`). \n```python hl_lines=\"6\"\n@api.get(\"/hello/\")\ndef hello(request, name: str):\n    return {\"hello\": name}\n\n\n@api.post(\"/orders/\", tags=[\"orders\"])\ndef create_order(request, order: Order):\n    return {\"success\": True}\n```\n\nTagged operations may be handled differently by various tools and libraries. For example, the Swagger UI uses tags to group the displayed operations.\n\n![Summary`](../img/operation_tags.png)\n\n#### Router tags\n\nYou can use `tags` argument to apply tags to all operations declared by router:\n\n```python\napi.add_router(\"/events/\", events_router, tags=[\"events\"])\n\n# or using constructor: \n\nrouter = Router(tags=[\"events\"])\n```\n\n\n### `summary`\n\nA human-readable name for your operation.\n\nBy default, it's generated by capitalizing your operation function name:\n\n```python hl_lines=\"2\"\n@api.get(\"/hello/\")\ndef hello(request, name: str):\n    return {\"hello\": name}\n```\n\n![Summary`](../img/operation_summary_default.png)\n\nIf you want to override it or translate it to other language, use the `summary` argument in the `api` decorator.\n\n```python hl_lines=\"1\"\n@api.get(\"/hello/\", summary=\"Say Hello\")\ndef hello(request, name: str):\n    return {\"hello\": name}\n```\n\n![Summary`](../img/operation_summary.png)\n\n### `description`\n\nTo provide more information about your operation, use either the `description` argument or normal Python docstrings:\n\n\n```python hl_lines=\"1\"\n@api.post(\"/orders/\", description=\"Creates an order and updates stock\")\ndef create_order(request, order: Order):\n    return {\"success\": True}\n```\n\n![Summary`](../img/operation_description.png)\n\nWhen you need to provide a long multi line description, you can use Python `docstrings` for the function definition:\n\n```python hl_lines=\"4 5 6 7\"\n@api.post(\"/orders/\")\ndef create_order(request, order: Order):\n    \"\"\"\n    To create an order please provide:\n     - **first_name**\n     - **last_name**\n     - and **list of Items** *(product + amount)*\n    \"\"\"\n    return {\"success\": True}\n\n```\n\n![Summary`](../img/operation_description_docstring.png)\n\n\n### `operation_id`\n\nThe OpenAPI `operationId` is an optional unique string used to identify an operation. If provided, these IDs must be unique among all operations described in your API.\n\nBy default, **Django Ninja** sets it to `module name` + `function name`.\n\nIf you want to set it individually for each operation, use the `operation_id` argument:\n\n```python hl_lines=\"2\"\n...\n@api.post(\"/tasks\", operation_id=\"create_task\")\ndef new_task(request):\n    ...\n```\n\nIf you want to override global behavior, you can inherit the NinjaAPI instance and override the `get_openapi_operation_id` method.\n\nIt will be called for each operation that you defined, so you can set your custom naming logic like this:\n\n```python hl_lines=\"5 6 7 9\"\nfrom ninja import NinjaAPI\n\nclass MySuperApi(NinjaAPI):\n\n    def get_openapi_operation_id(self, operation):\n        # here you can access operation ( .path , .view_func, etc) \n        return ...\n\napi = MySuperApi()\n\n@api.get(...)\n...\n```\n\n### `deprecated`\n\nMark an operation as deprecated without removing it by using the `deprecated` argument:\n\n```python hl_lines=\"1\"\n@api.post(\"/make-order/\", deprecated=True)\ndef some_old_method(request, order: str):\n    return {\"success\": True}\n```\n\nIt will be marked as deprecated in the JSON Schema and also in the interactive OpenAPI docs:\n\n![Deprecated](../img/deprecated.png)\n\n### `include_in_schema`\n\nIf you need to include/exclude some operation from OpenAPI schema use `include_in_schema` argument:\n\n```python hl_lines=\"1\"\n@api.post(\"/hidden\", include_in_schema=False)\ndef some_hidden_operation(request):\n    pass\n```\n\n## openapi_extra\nYou can customize your OpenAPI schema for specific endpoint (detail [OpenAPI Customize Options](https://swagger.io/docs/specification/about/))\n```python hl_lines=\"1 26\"\n# You can set requestBody from openapi_extra\n@api.get(\n    \"/tasks\",\n    openapi_extra={\n        \"requestBody\": {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\n                        \"required\": [\"email\"],\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"name\": {\"type\": \"string\"},\n                            \"phone\": {\"type\": \"number\"},\n                            \"email\": {\"type\": \"string\"},\n                        },\n                    }\n                }\n            },\n            \"required\": True,\n        }\n    },\n)\ndef some_operation(request):\n    pass\n    \n# You can add additional responses to the automatically generated schema\n@api.post(\n    \"/tasks\",\n    openapi_extra={\n        \"responses\": {\n            400: {\n                \"description\": \"Error Response\",\n            },\n            404: {\n                \"description\": \"Not Found Response\",\n            },\n        },\n    },\n)\ndef some_operation_2(request):\n    pass\n\n```\n\n\n## Response output options\n\nThere are a few arguments that lets you tune response's output:\n\n### `by_alias`\n\nWhether field aliases should be used as keys in the response (defaults to `False`).\n\n### `exclude_unset`\n\nWhether fields that were not set when creating the schema, and have their default values, should be excluded from the response (defaults to `False`).\n\n### `exclude_defaults`\n\nWhether fields which are equal to their default values (whether set or otherwise) should be excluded from the response (defaults to `False`).\n\n### `exclude_none`\n\nWhether fields which are equal to `None` should be excluded from the response (defaults to `False`).\n\n\n## url_name\nAllows you to set api endpoint url name (using [django path's naming](https://docs.djangoproject.com/en/stable/topics/http/urls/#reversing-namespaced-urls))\n```python hl_lines=\"1 7\"\n@api.post(\"/tasks\", url_name='tasks')\ndef some_operation(request):\n    pass\n\n# then you can get the url with\n\nreverse('api-1.0.0:tasks')\n```\n\nSee the [Reverse Resolution of URLs](../guides/urls.md) guide for more details.\n\n\n## Specifying servers\nIf you want to specify single or multiple servers for OpenAPI specification `servers` can be used when initializing NinjaAPI instance:\n```python hl_lines=\"4 5 6 7\"\nfrom ninja import NinjaAPI\n\napi = NinjaAPI(\n        servers=[\n            {\"url\": \"https://stag.example.com\", \"description\": \"Staging env\"},\n            {\"url\": \"https://prod.example.com\", \"description\": \"Production env\"},\n        ]\n)\n```\nThis will allow switching between environments when using interactive OpenAPI docs:\n![Servers](../img/servers.png)\n"
  },
  {
    "path": "docs/docs/reference/settings.md",
    "content": "# Django Settings\n\n::: ninja.conf.Settings\n    rendering:\n      show_source: False\n      show_root_toc_entry: False"
  },
  {
    "path": "docs/docs/releases.md",
    "content": "# Release Notes\n\nFollow and subscribe for new releases on GitHub:\n\n<https://github.com/vitalik/django-ninja/releases>\n\n"
  },
  {
    "path": "docs/docs/tutorial/index.md",
    "content": "# Tutorial - First Steps\n\nThis tutorial shows you how to use **Django Ninja** with most of its features.\n\nThis tutorial assumes that you know at least some basics of the <a href=\"https://www.djangoproject.com/\" target=\"_blank\">Django Framework</a>, like how to create a project and run it.\n\n## Installation\n\n```console\npip install django-ninja\n```\n\n!!! note\n\n    It is not required, but you can also put `ninja` to `INSTALLED_APPS`.\n    In that case the OpenAPI/Swagger UI (or Redoc) will be loaded (faster) from the included JavaScript bundle (otherwise the JavaScript bundle comes from a CDN).\n\n## Create a Django project\n\nStart a new Django project (or if you already have an existing Django project, skip to the next step).\n\n```\ndjango-admin startproject myproject\n```\n\n## Create the API\n\nLet's create a module for our API. Create an `api.py` file in the same directory location as your Django project's root `urls.py`:\n\n```python\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n```\n\nNow go to `urls.py` and add the following:\n\n```python hl_lines=\"3 7\"\nfrom django.contrib import admin\nfrom django.urls import path\nfrom .api import api\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api.urls),\n]\n```\n\n## Our first operation\n\n**Django Ninja** comes with a decorator for each HTTP method (`GET`, `POST`,\n`PUT`, etc). In our `api.py` file, let's add in a simple \"hello world\"\noperation.\n\n```python hl_lines=\"5-7\"\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n\n@api.get(\"/hello\")\ndef hello(request):\n    return \"Hello world\"\n```\n\nNow browsing to <a href=\"http://localhost:8000/api/hello\"\ntarget=\"_blank\">localhost:8000/api/hello</a> will return a simple JSON\nresponse:\n```json\n\"Hello world\"\n```\n\n!!! success\n\n    Continue on to **[Parsing input](step2.md)**."
  },
  {
    "path": "docs/docs/tutorial/other/crud.md",
    "content": "# CRUD example\n\n\n**CRUD**  - **C**reate, **R**etrieve, **U**pdate, **D**elete are the four basic functions of persistent storage.\n\nThis example will show you how to implement these functions with **Django Ninja**.\n\nLet's say you have the following Django models that you need to perform these operations on:\n\n\n```python\n\nclass Department(models.Model):\n    title = models.CharField(max_length=100)\n\nclass Employee(models.Model):\n    first_name = models.CharField(max_length=100)\n    last_name = models.CharField(max_length=100)\n    department = models.ForeignKey(Department, on_delete=models.CASCADE)\n    birthdate = models.DateField(null=True, blank=True)\n    cv = models.FileField(null=True, blank=True)\n```\n\nNow let's create CRUD operations for the Employee model.\n\n## Create\n\nTo create an employee lets define an INPUT schema:\n\n```python\nfrom datetime import date\nfrom ninja import Schema\n\nclass EmployeeIn(Schema):\n    first_name: str\n    last_name: str\n    department_id: int = None\n    birthdate: date = None\n\n```\n\nThis schema will be our input payload:\n\n```python hl_lines=\"2\"\n@api.post(\"/employees\")\ndef create_employee(request, payload: EmployeeIn):\n    employee = Employee.objects.create(**payload.dict())\n    return {\"id\": employee.id}\n```\n\n!!! tip\n    `Schema` objects have `.dict()` method with all the schema attributes represented as a dict.\n\n    You can pass it as `**kwargs` to the Django model's `create` method (or model `__init__`).\n\nSee the recipe below for handling the file upload (when using Django models):\n\n```python hl_lines=\"2\"\nfrom ninja import UploadedFile, File\n\n@api.post(\"/employees\")\ndef create_employee(request, payload: EmployeeIn, cv: File[UploadedFile]):\n    payload_dict = payload.dict()\n    employee = Employee(**payload_dict)\n    employee.cv.save(cv.name, cv) # will save model instance as well\n    return {\"id\": employee.id}\n```\n\nIf you just need to handle a file upload:\n\n```python hl_lines=\"2\"\nfrom django.core.files.storage import FileSystemStorage\nfrom ninja import UploadedFile, File\n\nSTORAGE = FileSystemStorage()\n\n@api.post(\"/upload\")\ndef create_upload(request, cv: File[UploadedFile]):\n    filename = STORAGE.save(cv.name, cv)\n    # Handle things further\n```\n\n## Retrieve\n\n### Single object\n\nNow to get employee we will define a schema that will describe what our responses will look like. Here we will basically use the same schema as `EmployeeIn`, but will add an extra attribute `id`:\n\n\n```python hl_lines=\"2\"\nclass EmployeeOut(Schema):\n    id: int\n    first_name: str\n    last_name: str\n    department_id: int = None\n    birthdate: date = None\n```\n\n!!! note\n    Defining response schemas are not really required, but when you do define it you will get results validation, documentation and automatic ORM objects to JSON conversions.\n\nWe will use this schema as the `response` type for our `GET` employee view:\n\n\n```python hl_lines=\"1\"\n@api.get(\"/employees/{employee_id}\", response=EmployeeOut)\ndef get_employee(request, employee_id: int):\n    employee = get_object_or_404(Employee, id=employee_id)\n    return employee\n```\n\nNotice that we simply returned an employee ORM object, without a need to convert it to a dict. The `response` schema does automatic result validation and conversion to JSON:\n```python hl_lines=\"4\"\n@api.get(\"/employees/{employee_id}\", response=EmployeeOut)\ndef get_employee(request, employee_id: int):\n    employee = get_object_or_404(Employee, id=employee_id)\n    return employee\n```\n\n### List of objects\n\nTo output a list of employees, we can reuse the same `EmployeeOut` schema. We will just set the `response` schema to a *List* of `EmployeeOut`.\n```python hl_lines=\"3\"\nfrom typing import List\n\n@api.get(\"/employees\", response=List[EmployeeOut])\ndef list_employees(request):\n    qs = Employee.objects.all()\n    return qs\n```\n\nAnother cool trick - notice we just returned a Django ORM queryset:\n\n```python hl_lines=\"4\"\n@api.get(\"/employees\", response=List[EmployeeOut])\ndef list_employees(request):\n    qs = Employee.objects.all()\n    return qs\n```\nIt automatically gets evaluated, validated and converted to a JSON list!\n\n\n\n## Update\n\nUpdate is pretty trivial. We just use the `PUT` method and also pass `employee_id`:\n\n```python hl_lines=\"1\"\n@api.put(\"/employees/{employee_id}\")\ndef update_employee(request, employee_id: int, payload: EmployeeIn):\n    employee = get_object_or_404(Employee, id=employee_id)\n    for attr, value in payload.dict().items():\n        setattr(employee, attr, value)\n    employee.save()\n    return {\"success\": True}\n```\n\n**Note**\n\nHere we used the `payload.dict` method to set all object attributes:\n\n`for attr, value in payload.dict().items()`\n\nYou can also do this more explicit:\n\n```python\nemployee.first_name = payload.first_name\nemployee.last_name = payload.last_name\nemployee.department_id = payload.department_id\nemployee.birthdate = payload.birthdate\n```\n\n**Partial updates**\n\nTo allow the user to make partial updates, use `payload.dict(exclude_unset=True).items()`. This ensures that only the specified fields get updated.\n\n**Enforcing strict field validation**\n\nBy default, any provided fields that don't exist in the schema will be silently ignored. To raise an error for these invalid fields, you can set `extra = \"forbid\"` in the model_config. For example:\n\n```python hl_lines=\"5\"\nfrom pydantic import ConfigDict\nclass EmployeeIn(Schema):\n    # your fields here...\n\n    model_config = ConfigDict(extra=\"forbid\")\n```\n\n## Delete\n\nDelete is also pretty simple. We just get employee by `id` and delete it from the DB:\n\n\n```python hl_lines=\"1 2 4\"\n@api.delete(\"/employees/{employee_id}\")\ndef delete_employee(request, employee_id: int):\n    employee = get_object_or_404(Employee, id=employee_id)\n    employee.delete()\n    return {\"success\": True}\n```\n\n## Final code\n\nHere's a full CRUD example:\n\n\n```python\nfrom datetime import date\nfrom typing import List\nfrom ninja import NinjaAPI, Schema\nfrom django.shortcuts import get_object_or_404\nfrom employees.models import Employee\n\n\napi = NinjaAPI()\n\n\nclass EmployeeIn(Schema):\n    first_name: str\n    last_name: str\n    department_id: int = None\n    birthdate: date = None\n\n\nclass EmployeeOut(Schema):\n    id: int\n    first_name: str\n    last_name: str\n    department_id: int = None\n    birthdate: date = None\n\n\n@api.post(\"/employees\")\ndef create_employee(request, payload: EmployeeIn):\n    employee = Employee.objects.create(**payload.dict())\n    return {\"id\": employee.id}\n\n\n@api.get(\"/employees/{employee_id}\", response=EmployeeOut)\ndef get_employee(request, employee_id: int):\n    employee = get_object_or_404(Employee, id=employee_id)\n    return employee\n\n\n@api.get(\"/employees\", response=List[EmployeeOut])\ndef list_employees(request):\n    qs = Employee.objects.all()\n    return qs\n\n\n@api.put(\"/employees/{employee_id}\")\ndef update_employee(request, employee_id: int, payload: EmployeeIn):\n    employee = get_object_or_404(Employee, id=employee_id)\n    for attr, value in payload.dict().items():\n        setattr(employee, attr, value)\n    employee.save()\n    return {\"success\": True}\n\n\n@api.delete(\"/employees/{employee_id}\")\ndef delete_employee(request, employee_id: int):\n    employee = get_object_or_404(Employee, id=employee_id)\n    employee.delete()\n    return {\"success\": True}\n```\n"
  },
  {
    "path": "docs/docs/tutorial/other/video.md",
    "content": "# Video Tutorials\n\n## Sneaky REST APIs With Django Ninja\n\n[realpython.com/lessons/sneaky-rest-apis-with-django-ninja-overview/](https://realpython.com/lessons/sneaky-rest-apis-with-django-ninja-overview/)\n\n\n## Creating a CRUD API with Django-Ninja by BugBytes (English)\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/videoseries?list=PLXskueZ7apWgNasQPt6PYhlKNKNEghT3T\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n"
  },
  {
    "path": "docs/docs/tutorial/step2.md",
    "content": "# Tutorial - Parsing Input\n\n## Input from the query string\n\nLet's change our operation to accept a name from the URL's query string. To do that, just add a `name` argument to our function.\n\n```python\n@api.get(\"/hello\")\ndef hello(request, name):\n    return f\"Hello {name}\"\n```\n\nWhen we provide a name argument, we get the expected (HTTP 200) response.\n\n<a href=\"http://localhost:8000/api/hello?name=you\"\ntarget=\"_blank\">localhost:8000/api/hello?name=you</a>:\n\n```json\n\"Hello you\"\n```\n\n### Defaults\n\nNot providing the argument will return an HTTP 422 error response.\n\n*[HTTP 422]: Unprocessable Entity\n\n<a href=\"http://localhost:8000/api/hello\"\ntarget=\"_blank\">localhost:8000/api/hello</a>:\n\n```json\n{\n  \"detail\": [\n    {\n      \"loc\": [\"query\", \"name\"],\n      \"msg\": \"field required\",\n      \"type\": \"value_error.missing\"\n    }\n  ]\n}\n```\n\nWe can specify a default for the `name` argument in case it isn't provided:\n\n```python hl_lines=\"2\"\n@api.get(\"/hello\")\ndef hello(request, name=\"world\"):\n    return f\"Hello {name}\"\n```\n\n## Input types\n\n**Django Ninja** uses standard [Python type hints](https://docs.python.org/3/library/typing.html) to format the input types. If no type is provided then a string is assumed (but it is good practice to provide type hints for all your arguments).\n\nLet's add a second operation that does some basic math with integers.\n\n```python hl_lines=\"5-7\"\n@api.get(\"/hello\")\ndef hello(request, name: str = \"world\"):\n    return f\"Hello {name}\"\n\n@api.get(\"/math\")\ndef math(request, a: int, b: int):\n    return {\"add\": a + b, \"multiply\": a * b}\n```\n\n<a href=\"http://localhost:8000/api/math?a=2&b=3\"\ntarget=\"_blank\">localhost:8000/api/math?a=2&b=3</a>:\n\n```json\n{\n  \"add\": 5,\n  \"multiply\": 6\n}\n```\n\n## Input from the path\n\nYou can declare path \"parameters\" with the same syntax used by Python format-strings.\n\nAny parameters found in the path string will be passed to your function as arguments, rather than expecting them from the query string.\n\n```python hl_lines=\"1\"\n@api.get(\"/math/{a}and{b}\")\ndef math(request, a: int, b: int):\n    return {\"add\": a + b, \"multiply\": a * b}\n```\n\nNow we access the math operation from <a href=\"http://localhost:8000/api/math/2and3\"\ntarget=\"_blank\">localhost:8000/api/math/2and3</a>.\n\n\n## Input from the request body\n\nWe are going to change our `hello` operation to use HTTP `POST` instead, and take arguments from the request body.\n\nTo specify that arguments come from the body, we need to declare a Schema.\n\n*[Schema]: An extension of a Pydantic \"Model\"\n\n```python hl_lines=\"1 5-6 8-10\"\nfrom ninja import NinjaAPI, Schema\n\napi = NinjaAPI()\n\nclass HelloSchema(Schema):\n    name: str = \"world\"\n\n@api.post(\"/hello\")\ndef hello(request, data: HelloSchema):\n    return f\"Hello {data.name}\"\n```\n\n### Self-documenting API\n\nAccessing <a href=\"http://localhost:8000/api/hello\" target=\"_blank\">localhost:8000/api/hello</a> now results in a HTTP 405 error response, since we need to POST to this URL instead.\n\n*[HTTP 405]: Method Not Allowed\n\nAn easy way to do this is to use the Swagger documentation that is automatically created for us, at default URL of \"/docs\" (appended to our API url root).\n\n1. Visit <a href=\"http://localhost:8000/api/docs\" target=\"_blank\">localhost:8000/api/docs</a> to see the operations we have created\n1. Open the `/api/hello` operation\n2. Click \"Try it out\"\n3. Change the request body\n4. Click \"Execute\"\n\n!!! success\n\n    Continue on to **[Handling responses](step3.md)**"
  },
  {
    "path": "docs/docs/tutorial/step3.md",
    "content": "# Tutorial - Handling Responses\n\n## Define a response Schema\n\n**Django Ninja** allows you to define the schema of your responses both for validation and documentation purposes.\n\nWe'll create a third operation that will return information about the current Django user.\n\n```python\nfrom ninja import Schema\n\nclass UserSchema(Schema):\n    username: str\n    is_authenticated: bool\n    # Unauthenticated users don't have the following fields, so provide defaults.\n    email: str = None\n    first_name: str = None\n    last_name: str = None\n\n@api.get(\"/me\", response=UserSchema)\ndef me(request):\n    return request.user\n```\n\nThis will convert the Django `User` object into a dictionary of only the defined fields.\n\n### Multiple response types\n\nLet's return a different response if the current user is not authenticated.\n\n```python hl_lines=\"2-5 7-8 10 12-13\"\nclass UserSchema(Schema):\n    username: str\n    email: str\n    first_name: str\n    last_name: str\n\nclass Error(Schema):\n    message: str\n\n@api.get(\"/me\", response={200: UserSchema, 403: Error})\ndef me(request):\n    if not request.user.is_authenticated:\n        return 403, {\"message\": \"Please sign in first\"}\n    return request.user \n```\n\nAs you see, you can return a 2-part tuple which will be interpreted as the HTTP response code and the data.\n\n!!! success\n\n    That concludes the tutorial! Check out the **Other Tutorials** or the **How-to Guides** for more information."
  },
  {
    "path": "docs/docs/whatsnew_v1.md",
    "content": "# Welcome to Django Ninja 1.0\n\n\nTo get started install latest version with\n```\npip install -U django-ninja\n```\n\ndjango-ninja v1 is compatible with Python 3.7 and above.\n\n\nDjango ninja series 0.x is still supported but will receive only security updates and critical bug fixes\n\n\n\n# What's new in Django Ninja 1.0\n\n## Support for Pydantic2\n\nPydantic version 2 is re-written in Rust and includes a lot of improvements and features like:\n\n - Safer types.\n - Better extensibility.\n - Better performance \n\nBy our tests average project can gain some 10% performance increase on average, while some edge parsing/serializing cases can give you 4x boost.\n\nOn the other hand it introduces breaking changes and pydantic 1 and 2 are not very compatible - but we tried or best to make this transition easy as possible. So if you used 'Schema' class migration to ninja v1 should be easy. Otherwise follow [pydantic migration guide](https://docs.pydantic.dev/latest/migration/)\n\n\nSome features that are made possible with pydantic2\n\n### pydantic context\n\nPydantic now supports context during validation and serialization and Django ninja passes \"request\" object during request and response work\n\n```Python hl_lines=\"6 7\"\nclass Payload(Schema):\n    id: int\n    name: str\n    request_path: str\n\n    @staticmethod\n    def resolve_request_path(data, context):\n        request = context[\"request\"]\n        return request.get_full_path()\n\n```\n\nDuring response a \"response_code\" is also passed to context\n\n## Schema.Meta\n\nPydantic now deprecates BaseModel.Config class.  But to keep things consistent with all other django parts we introduce \"Meta\" class for ModelSchema - which works in a similar way as django's ModelForms:\n\n```Python hl_lines=\"2 4\"\nclass TxItem(ModelSchema):\n    class Meta:\n        model = Transaction\n        fields = [\"id\", \"account\", \"amount\", \"timestamp\"]\n\n```\n\n(The \"Config\" class is still supported, but deprecated)\n\n\n## Shorter / cleaner parameters syntax\n\n```python\n@api.post('/some')\ndef some_form(request, username: Form[str], password: Form[str]):\n    return True\n```\n\ninstead of\n\n```python\n@api.post('/some')\ndef some_form(request, username: str = Form(...), password: str = Form(...)):\n    return True\n```\n\nor \n\n```python\n@api.post('/some')\ndef some_form(request, data: Form[AuthSchema]):\n    return True\n```\n\n\ninstead of\n\n```python\n@api.post('/some')\ndef some_form(request, data: AuthSchema = Form(...)):\n    return True\n```\n\n\n\nwith all the autocompletion in editors\n\n\nOn the other hand the **old syntax is still supported** so you can easily port your project to a newer django-ninja version without much haste \n\n\n#### + Annotated\n\ntyping.Annotated is also supported:\n\n```Python\n@api.get(\"/annotated\")\ndef annotated(request, data: Annotated[SomeData, Form()]):\n    return {\"data\": data.dict()}\n\n```\n\n\n## Async auth support\n\nThe async authenticators are finally supported. All you have to do is just add `async` to your `authenticate` method:\n\n```Python\nclass Auth(HttpBearer):\n    async def authenticate(self, request, token):\n        await asyncio.sleep(1)\n        if token == \"secret\":\n            return token\n\n```\n\n\n## Changed CSRF Behavior\n\n\n`csrf=True` requirement is no longer required if you use cookie based authentication. Instead CSRF protection is enabled automatically. This also allow you to  mix csrf-protected authenticators and other methods that does not require cookies:\n\n```Python\napi = NinjaAPI(auth=[django_auth, Auth()])\n```\n\n\n## Docs\n\nDoc viewer are now configurable and plugable. By default django ninja comes with Swagger and Redoc:\n\n```Python\nfrom ninja import NinjaAPI, Redoc, Swagger\n\n\n# use redoc\napi = NinjaAPI(docs=Redoc()))\n\n# use swagger:\napi = NinjaAPI(docs=Swagger())\n\n# set configuration for swagger:\napi = NinjaAPI(docs=Swagger({\"persistAuthorization\": True}))\n```\n\nUsers now able to create custom docs viewer by inheriting `DocsBase` class\n\n## Router\n\nadd_router supports string paths:\n\n```Python\napi = NinjaAPI()\n\n\napi.add_router('/app1', 'myproject.app1.router')\napi.add_router('/app2', 'myproject.app2.router')\napi.add_router('/app3', 'myproject.app3.router')\napi.add_router('/app4', 'myproject.app4.router')\napi.add_router('/app5', 'myproject.app5.router')\n```\n\n\n## Decorators\n\nWhen django ninja decorates a view with .get/.post etc. - it wraps the result of the function (which in most cases are not HttpResponse - but some serializable object) so it's not really possible to use some built-in or 3rd-party decorators like:\n\n```python hl_lines=\"4\"\nfrom django.views.decorators.cache import cache_page\n\n@api.get(\"/test\")\n@cache_page(5) # <----- will not work\ndef test_view(request):\n    return {\"some\": \"Complex data\"}\n```\nThis example does not work.\n\nNow django ninja introduces a decorator decorate_view that allows inject decorators that work with http response:\n\n```python hl_lines=\"1 4\"\nfrom ninja.decorators import decorate_view\n\n@api.get(\"/test\")\n@decorate_view(cache_page(5))\ndef test_view(request):\n    return str(datetime.now())\n```\n\n\n## Paginations\n\n`paginate_queryset` method now takes `request` object\n\n\n#### Backwards incompatible stuff\n - resolve_xxx(self, ...) - support resolve with (self) is dropped in favor of pydantic build-in functionality\n - pydantic v1 is no longer supported\n - python 3.6 is no longer supported\n\nBTW - if you like this project and still did not give it a github start - please do so ![github star](img/github-star.png)\n"
  },
  {
    "path": "docs/mkdocs.yml",
    "content": "site_name: Django Ninja\nsite_description: Django Ninja - Django REST framework with high performance, easy to learn, fast to code.\nsite_url: https://django-ninja.dev\nrepo_name: vitalik/django-ninja\nrepo_url: https://github.com/vitalik/django-ninja\nedit_uri: \"\"\nextra:\n  analytics:\n    provider: google\n    property: G-0E3XZ663ZR\nextra_css:\n  - extra.css\nextra_javascript:\n  - javascripts/ask-ai-button.js\ntheme:\n  name: material\n  palette:\n    - media: \"(prefers-color-scheme)\"\n      primary: green\n      toggle:\n        icon: material/brightness-auto\n        name: Switch to light mode\n    - media: \"(prefers-color-scheme: light)\"\n      scheme: default\n      primary: green\n      toggle:\n        icon: material/weather-night\n        name: Switch to dark mode\n    - media: \"(prefers-color-scheme: dark)\" \n      scheme: slate\n      primary: green\n      toggle:\n        icon: material/weather-sunny\n        name: Switch to light mode\n  logo: img/docs-logo.png\n  favicon: img/favicon.svg\n  language: en\n  features:\n    - navigation.expand\n    - search.highlight\n    - search.suggest\n  icon:\n    repo: fontawesome/brands/github-alt\nnav:\n  - Intro: index.md\n  - motivation.md\n  - Tutorial:\n      - \"First Steps\": tutorial/index.md\n      - \"Parsing Input\": tutorial/step2.md\n      - \"Handling Responses\": tutorial/step3.md\n      - Other Tutorials:\n          - tutorial/other/video.md\n          - tutorial/other/crud.md\n  - How-to Guides:\n      - Parsing input:\n          - guides/input/operations.md\n          - guides/input/path-params.md\n          - guides/input/query-params.md\n          - guides/input/body.md\n          - guides/input/form-params.md\n          - guides/input/file-params.md\n          - guides/input/request-parsers.md\n          - guides/input/filtering.md\n      - Handling responses:\n          - Defining a Schema: guides/response/index.md\n          - guides/response/temporal_response.md\n          - Generating a Schema from Django models: guides/response/django-pydantic.md\n          - Generating a Schema dynamically: guides/response/django-pydantic-create-schema.md\n          - guides/response/config-pydantic.md\n          - guides/response/pagination.md\n          - guides/response/response-renderers.md\n      - Splitting your API with Routers: guides/routers.md\n      - guides/decorators.md\n      - guides/authentication.md\n      - guides/throttling.md\n      - guides/testing.md\n      - guides/api-docs.md\n      - guides/errors.md\n      - guides/urls.md\n      - guides/async-support.md\n      - guides/versioning.md\n  - Reference:\n      - NinjaAPI class: reference/api.md\n      - reference/csrf.md\n      - reference/operations-parameters.md\n      - reference/management-commands.md\n      - reference/settings.md\n      - releases.md\n  - help.md\n  - Enhancement Proposals:\n      - Intro: proposals/index.md\n      - proposals/cbv.md\n      - proposals/v1.md\n  - What's new in V1: whatsnew_v1.md\nmarkdown_extensions:\n  - markdown_include.include\n  - markdown.extensions.codehilite:\n      guess_lang: false\n  # Uncomment these 2 lines during development to more easily add highlights\n  #- pymdownx.highlight:\n  #    linenums: true\n  - abbr\n  - codehilite\n  - admonition\n  - pymdownx.details\n  - pymdownx.superfences\nplugins:\n  - search\n  - mkdocstrings:\n      handlers:\n        python:\n          setup_commands:\n            - from django.conf import settings\n            - settings.configure()\n"
  },
  {
    "path": "docs/requirements.txt",
    "content": "mkdocs==1.5.3\nmkdocs-autorefs==1.0.1\nmkdocs-material==9.5.4\nmkdocs-material-extensions==1.3.1\nmarkdown-include==0.8.1\nmkdocstrings[python]==0.24.0\ngriffe==0.47.0\n"
  },
  {
    "path": "docs/src/index001.py",
    "content": "from django.contrib import admin\nfrom django.urls import path\nfrom ninja import NinjaAPI\n\napi = NinjaAPI()\n\n\n@api.get(\"/add\")\ndef add(request, a: int, b: int):\n    return {\"result\": a + b}\n\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api.urls),\n]\n"
  },
  {
    "path": "docs/src/tutorial/authentication/apikey01.py",
    "content": "from ninja.security import APIKeyQuery\nfrom someapp.models import Client\n\n\nclass ApiKey(APIKeyQuery):\n    param_name = \"api_key\"\n\n    def authenticate(self, request, key):\n        try:\n            return Client.objects.get(key=key)\n        except Client.DoesNotExist:\n            pass\n\n\napi_key = ApiKey()\n\n\n@api.get(\"/apikey\", auth=api_key)\ndef apikey(request):\n    assert isinstance(request.auth, Client)\n    return f\"Hello {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/apikey02.py",
    "content": "from ninja.security import APIKeyHeader\n\n\nclass ApiKey(APIKeyHeader):\n    param_name = \"X-API-Key\"\n\n    def authenticate(self, request, key):\n        if key == \"supersecret\":\n            return key\n\n\nheader_key = ApiKey()\n\n\n@api.get(\"/headerkey\", auth=header_key)\ndef apikey(request):\n    return f\"Token = {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/apikey03.py",
    "content": "from ninja.security import APIKeyCookie\n\n\nclass CookieKey(APIKeyCookie):\n    def authenticate(self, request, key):\n        if key == \"supersecret\":\n            return key\n\n\ncookie_key = CookieKey()\n\n\n@api.get(\"/cookiekey\", auth=cookie_key)\ndef apikey(request):\n    return f\"Token = {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/basic01.py",
    "content": "from ninja.security import HttpBasicAuth\n\n\nclass BasicAuth(HttpBasicAuth):\n    def authenticate(self, request, username, password):\n        if username == \"admin\" and password == \"secret\":\n            return username\n\n\n@api.get(\"/basic\", auth=BasicAuth())\ndef basic(request):\n    return {\"httpuser\": request.auth}\n"
  },
  {
    "path": "docs/src/tutorial/authentication/bearer01.py",
    "content": "from ninja.security import HttpBearer\n\n\nclass AuthBearer(HttpBearer):\n    def authenticate(self, request, token):\n        if token == \"supersecret\":\n            return token\n\n\n@api.get(\"/bearer\", auth=AuthBearer())\ndef bearer(request):\n    return {\"token\": request.auth}\n"
  },
  {
    "path": "docs/src/tutorial/authentication/bearer02.py",
    "content": "from ninja import NinjaAPI\nfrom ninja.security import HttpBearer\n\napi = NinjaAPI()\n\nclass InvalidToken(Exception):\n    pass\n\n@api.exception_handler(InvalidToken)\ndef on_invalid_token(request, exc):\n    return api.create_response(request, {\"detail\": \"Invalid token supplied\"}, status=401)\n\nclass AuthBearer(HttpBearer):\n    def authenticate(self, request, token):\n        if token == \"supersecret\":\n            return token\n        raise InvalidToken\n\n\n@api.get(\"/bearer\", auth=AuthBearer())\ndef bearer(request):\n    return {\"token\": request.auth}\n"
  },
  {
    "path": "docs/src/tutorial/authentication/code001.py",
    "content": "from ninja import NinjaAPI\nfrom ninja.security import django_auth\n\napi = NinjaAPI()\n\n\n@api.get(\"/pets\", auth=django_auth)\ndef pets(request):\n    return f\"Authenticated user {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/code002.py",
    "content": "def ip_whitelist(request):\n    if request.META[\"REMOTE_ADDR\"] == \"8.8.8.8\":\n        return \"8.8.8.8\"\n\n\n@api.get(\"/ipwhitelist\", auth=ip_whitelist)\ndef ipwhitelist(request):\n    return f\"Authenticated client, IP = {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/global01.py",
    "content": "from ninja import NinjaAPI, Form\nfrom ninja.security import HttpBearer\n\n\nclass GlobalAuth(HttpBearer):\n    def authenticate(self, request, token):\n        if token == \"supersecret\":\n            return token\n\n\napi = NinjaAPI(auth=GlobalAuth())\n\n# @api.get(...)\n# def ...\n# @api.post(...)\n# def ...\n\n\n@api.post(\"/token\", auth=None)  # < overriding global auth\ndef get_token(request, username: str = Form(...), password: str = Form(...)):\n    if username == \"admin\" and password == \"giraffethinnknslong\":\n        return {\"token\": \"supersecret\"}\n"
  },
  {
    "path": "docs/src/tutorial/authentication/multiple01.py",
    "content": "from ninja.security import APIKeyQuery, APIKeyHeader\n\n\nclass AuthCheck:\n    def authenticate(self, request, key):\n        if key == \"supersecret\":\n            return key\n\n\nclass QueryKey(AuthCheck, APIKeyQuery):\n    pass\n\n\nclass HeaderKey(AuthCheck, APIKeyHeader):\n    pass\n\n\n@api.get(\"/multiple\", auth=[QueryKey(), HeaderKey()])\ndef multiple(request):\n    return f\"Token = {request.auth}\"\n"
  },
  {
    "path": "docs/src/tutorial/authentication/schema01.py",
    "content": ""
  },
  {
    "path": "docs/src/tutorial/body/code01.py",
    "content": "from typing import Optional\nfrom ninja import Schema\n\n\nclass Item(Schema):\n    name: str\n    description: Optional[str] = None\n    price: float\n    quantity: int\n\n\n@api.post(\"/items\")\ndef create(request, item: Item):\n    return item\n"
  },
  {
    "path": "docs/src/tutorial/body/code02.py",
    "content": "from ninja import Schema\n\n\nclass Item(Schema):\n    name: str\n    description: str = None\n    price: float\n    quantity: int\n\n\n@api.put(\"/items/{item_id}\")\ndef update(request, item_id: int, item: Item):\n    return {\"item_id\": item_id, \"item\": item.dict()}\n"
  },
  {
    "path": "docs/src/tutorial/body/code03.py",
    "content": "from ninja import Schema\n\n\nclass Item(Schema):\n    name: str\n    description: str = None\n    price: float\n    quantity: int\n\n\n@api.post(\"/items/{item_id}\")\ndef update(request, item_id: int, item: Item, q: str):\n    return {\"item_id\": item_id, \"item\": item.dict(), \"q\": q}\n"
  },
  {
    "path": "docs/src/tutorial/form/code01.py",
    "content": "from ninja import Form, Schema\n\n\nclass Item(Schema):\n    name: str\n    description: str = None\n    price: float\n    quantity: int\n\n\n@api.post(\"/items\")\ndef create(request, item: Form[Item]):\n    return item\n"
  },
  {
    "path": "docs/src/tutorial/form/code02.py",
    "content": "from ninja import Form, Schema\n\n\nclass Item(Schema):\n    name: str\n    description: str = None\n    price: float\n    quantity: int\n\n\n@api.post(\"/items/{item_id}\")\ndef update(request, item_id: int, q: str, item: Form[Item]):\n    return {\"item_id\": item_id, \"item\": item.dict(), \"q\": q}\n"
  },
  {
    "path": "docs/src/tutorial/form/code03.py",
    "content": "from ninja import Form, Schema\nfrom typing import Annotated, TypeVar\nfrom pydantic import WrapValidator\nfrom pydantic_core import PydanticUseDefault\n\n\ndef _empty_str_to_default(v, handler, info):\n    if isinstance(v, str) and v == '':\n        raise PydanticUseDefault\n    return handler(v)\n\n\nT = TypeVar('T')\nEmptyStrToDefault = Annotated[T, WrapValidator(_empty_str_to_default)]\n\n\nclass Item(Schema):\n    name: str\n    description: str = None\n    price: EmptyStrToDefault[float] = 0.0\n    quantity: EmptyStrToDefault[int] = 0\n    in_stock: EmptyStrToDefault[bool] = True\n\n\n@api.post(\"/items-blank-default\")\ndef update(request, item: Form[Item]):\n    return item.dict()\n"
  },
  {
    "path": "docs/src/tutorial/path/code01.py",
    "content": "@api.get(\"/items/{item_id}\")\ndef read_item(request, item_id):\n    return {\"item_id\": item_id}\n"
  },
  {
    "path": "docs/src/tutorial/path/code010.py",
    "content": "import datetime\nfrom ninja import Schema, Path\n\n\nclass PathDate(Schema):\n    year: int\n    month: int\n    day: int\n\n    def value(self):\n        return datetime.date(self.year, self.month, self.day)\n\n\n@api.get(\"/events/{year}/{month}/{day}\")\ndef events(request, date: Path[PathDate]):\n    return {\"date\": date.value()}\n"
  },
  {
    "path": "docs/src/tutorial/path/code02.py",
    "content": "@api.get(\"/items/{item_id}\")\ndef read_item(request, item_id: int):\n    return {\"item_id\": item_id}\n"
  },
  {
    "path": "docs/src/tutorial/query/code01.py",
    "content": "weapons = [\"Ninjato\", \"Shuriken\", \"Katana\", \"Kama\", \"Kunai\", \"Naginata\", \"Yari\"]\n\n\n@api.get(\"/weapons\")\ndef list_weapons(request, limit: int = 10, offset: int = 0):\n    return weapons[offset: offset + limit]\n"
  },
  {
    "path": "docs/src/tutorial/query/code010.py",
    "content": "import datetime\nfrom typing import List\n\nfrom pydantic import Field\n\nfrom ninja import Query, Schema\n\n\nclass Filters(Schema):\n    limit: int = 100\n    offset: int = None\n    query: str = None\n    category__in: List[str] = Field(None, alias=\"categories\")\n\n\n@api.get(\"/filter\")\ndef events(request, filters: Query[Filters]):\n    return {\"filters\": filters.dict()}\n"
  },
  {
    "path": "docs/src/tutorial/query/code02.py",
    "content": "weapons = [\"Ninjato\", \"Shuriken\", \"Katana\", \"Kama\", \"Kunai\", \"Naginata\", \"Yari\"]\n\n\n@api.get(\"/weapons/search\")\ndef search_weapons(request, q: str, offset: int = 0):\n    results = [w for w in weapons if q in w.lower()]\n    return results[offset : offset + 10]\n"
  },
  {
    "path": "docs/src/tutorial/query/code03.py",
    "content": "from datetime import date\n\n\n@api.get(\"/example\")\ndef example(request, s: str = None, b: bool = None, d: date = None, i: int = None):\n    return [s, b, d, i]\n"
  },
  {
    "path": "mypy.ini",
    "content": "[mypy]\npython_version = 3.12\n\nshow_column_numbers = True\nshow_error_codes = True\n\nfollow_imports = normal\nignore_missing_imports = True\n\n# Exclude directories\nexclude = ^(\\.venv|venv|env)/\n\n# be strict\ndisallow_untyped_calls = True\nwarn_return_any = True\nstrict_optional = True\nwarn_no_return = True\nwarn_redundant_casts = True\nwarn_unused_ignores = True\n\ndisallow_untyped_defs = True\ncheck_untyped_defs = True\nno_implicit_reexport = True\n\n[mypy-ninja.compatibility.*]\nignore_errors = True\n"
  },
  {
    "path": "ninja/__init__.py",
    "content": "\"\"\"Django Ninja - Fast Django REST framework\"\"\"\n\n__version__ = \"1.6.2\"\n\nfrom pydantic import Field\n\nfrom ninja.files import UploadedFile\nfrom ninja.filter_schema import FilterConfigDict, FilterLookup, FilterSchema\nfrom ninja.main import NinjaAPI\nfrom ninja.openapi.docs import Redoc, Swagger\nfrom ninja.orm import ModelSchema\nfrom ninja.params import (\n    Body,\n    BodyEx,\n    Cookie,\n    CookieEx,\n    File,\n    FileEx,\n    Form,\n    FormEx,\n    Header,\n    HeaderEx,\n    P,\n    Path,\n    PathEx,\n    Query,\n    QueryEx,\n)\nfrom ninja.patch_dict import PatchDict\nfrom ninja.responses import Status\nfrom ninja.router import Router\nfrom ninja.schema import Schema\nfrom ninja.streaming import JSONL, SSE\n\n__all__ = [\n    \"Field\",\n    \"UploadedFile\",\n    \"NinjaAPI\",\n    \"Body\",\n    \"Cookie\",\n    \"File\",\n    \"Form\",\n    \"Header\",\n    \"Path\",\n    \"Query\",\n    \"BodyEx\",\n    \"CookieEx\",\n    \"FileEx\",\n    \"FormEx\",\n    \"HeaderEx\",\n    \"PathEx\",\n    \"QueryEx\",\n    \"Router\",\n    \"P\",\n    \"Schema\",\n    \"ModelSchema\",\n    \"FilterSchema\",\n    \"FilterLookup\",\n    \"FilterConfigDict\",\n    \"Swagger\",\n    \"Redoc\",\n    \"PatchDict\",\n    \"SSE\",\n    \"JSONL\",\n    \"Status\",\n]\n"
  },
  {
    "path": "ninja/compatibility/__init__.py",
    "content": ""
  },
  {
    "path": "ninja/compatibility/files.py",
    "content": "from typing import Any, List\n\nfrom asgiref.sync import iscoroutinefunction, sync_to_async\nfrom django.conf import settings\nfrom django.http import HttpRequest\nfrom django.utils.decorators import sync_and_async_middleware\n\nfrom ninja.conf import settings as ninja_settings\nfrom ninja.params.models import FileModel\n\nFIX_MIDDLEWARE_PATH: str = \"ninja.compatibility.files.fix_request_files_middleware\"\nFIX_METHODS = ninja_settings.FIX_REQUEST_FILES_METHODS\n\n\ndef need_to_fix_request_files(methods: List[str], params_models: List[Any]) -> bool:\n    has_files_params = any(\n        issubclass(model_class, FileModel) for model_class in params_models\n    )\n    method_needs_fix = bool(set(methods) & FIX_METHODS)\n    middleware_installed = FIX_MIDDLEWARE_PATH in settings.MIDDLEWARE\n    return has_files_params and method_needs_fix and not middleware_installed\n\n\n@sync_and_async_middleware\ndef fix_request_files_middleware(get_response: Any) -> Any:\n    \"\"\"\n    This middleware fixes long historical Django behavior where request.FILES is only\n    populated for POST requests.\n    https://code.djangoproject.com/ticket/12635\n    \"\"\"\n    if iscoroutinefunction(get_response):\n\n        async def async_middleware(request: HttpRequest) -> Any:\n            if (\n                request.method in FIX_METHODS\n                and request.content_type != \"application/json\"\n            ):\n                initial_method = request.method\n                request.method = \"POST\"\n                request.META[\"REQUEST_METHOD\"] = \"POST\"\n                await sync_to_async(request._load_post_and_files)()\n                request.META[\"REQUEST_METHOD\"] = initial_method\n                request.method = initial_method\n\n            return await get_response(request)\n\n        return async_middleware\n    else:\n\n        def sync_middleware(request: HttpRequest) -> Any:\n            if (\n                request.method in FIX_METHODS\n                and request.content_type != \"application/json\"\n            ):\n                initial_method = request.method\n                request.method = \"POST\"\n                request.META[\"REQUEST_METHOD\"] = \"POST\"\n                request._load_post_and_files()\n                request.META[\"REQUEST_METHOD\"] = initial_method\n                request.method = initial_method\n\n            return get_response(request)\n\n        return sync_middleware\n"
  },
  {
    "path": "ninja/compatibility/streaming.py",
    "content": "\"\"\"Compatibility layer for async streaming responses.\n\nDjango 4.2+ supports passing async iterators to StreamingHttpResponse.\nOn older versions, async generators must be eagerly consumed into a list.\n\nTODO: When dropping Django < 4.2 support:\n  1. Remove this module entirely.\n  2. In AsyncOperation._async_stream_response (ninja/operation.py),\n     pass the async content generator directly to StreamingHttpResponse\n     and copy temporal_response headers lazily inside the generator:\n\n         async def content_iter():\n             async for chunk in content_gen:\n                 yield chunk\n             for key, value in temporal_response.items():\n                 if key.lower() != \"content-type\":\n                     response[key] = value\n             for cookie_name, cookie in temporal_response.cookies.items():\n                 response.cookies[cookie_name] = cookie\n\n         response = StreamingHttpResponse(\n             content_iter(), content_type=..., status=...,\n         )\n\"\"\"\n\nfrom typing import Any, Dict\n\nimport django\nfrom django.http import HttpResponse, StreamingHttpResponse\n\nASYNC_STREAMING = django.VERSION >= (4, 2)\n\n\ndef _copy_temporal_headers(\n    temporal_response: HttpResponse, response: StreamingHttpResponse\n) -> None:\n    \"\"\"Copy headers and cookies from temporal response, skipping Content-Type.\"\"\"\n    for key, value in temporal_response.items():\n        if key.lower() != \"content-type\":\n            response[key] = value\n    for cookie_name, cookie in temporal_response.cookies.items():\n        response.cookies[cookie_name] = cookie\n\n\nif ASYNC_STREAMING:\n\n    async def create_streaming_response(\n        content_gen: Any,\n        *,\n        content_type: str,\n        status: int,\n        temporal_response: HttpResponse,\n        extra_headers: Dict[str, str],\n    ) -> StreamingHttpResponse:\n        \"\"\"Create a StreamingHttpResponse from an async content generator.\n\n        Django 4.2+: passes the async generator directly and copies\n        temporal response headers/cookies lazily after the generator is exhausted.\n        \"\"\"\n\n        async def with_lazy_headers() -> Any:\n            async for chunk in content_gen:\n                yield chunk\n            _copy_temporal_headers(temporal_response, response)\n\n        response = StreamingHttpResponse(\n            with_lazy_headers(),\n            content_type=content_type,\n            status=status,\n        )\n        for key, value in extra_headers.items():\n            response[key] = value\n        return response\n\nelse:\n\n    async def create_streaming_response(\n        content_gen: Any,\n        *,\n        content_type: str,\n        status: int,\n        temporal_response: HttpResponse,\n        extra_headers: Dict[str, str],\n    ) -> StreamingHttpResponse:\n        \"\"\"Create a StreamingHttpResponse from an async content generator.\n\n        Django < 4.2: eagerly consumes the async generator into a list\n        since StreamingHttpResponse does not support async iterators.\n        \"\"\"\n        chunks = []\n        async for chunk in content_gen:\n            chunks.append(chunk)\n        response = StreamingHttpResponse(\n            iter(chunks),\n            content_type=content_type,\n            status=status,\n        )\n        _copy_temporal_headers(temporal_response, response)\n        for key, value in extra_headers.items():\n            response[key] = value\n        return response\n"
  },
  {
    "path": "ninja/compatibility/util.py",
    "content": "import sys\nfrom typing import Union\n\n__all__ = [\"UNION_TYPES\", \"get_annotations_from_namespace\"]\n\n\n# python3.10+ syntax of creating a union or optional type (with str | int)\n# UNION_TYPES allows to check both universes if types are a union\ntry:\n    from types import UnionType\n\n    UNION_TYPES = (Union, UnionType)\nexcept ImportError:\n    UNION_TYPES = (Union,)\n\n\n# python3.14+ no longer puts __annotations__ in the class namespace dict\n# during metaclass __new__; instead an __annotate__ function is used (PEP 749)\nif sys.version_info >= (3, 14):\n    import annotationlib\n\n    def get_annotations_from_namespace(namespace: dict) -> dict:\n        ann = annotationlib.get_annotate_from_class_namespace(namespace)\n        if ann is not None:\n            return annotationlib.call_annotate_function(\n                ann, format=annotationlib.Format.VALUE\n            )\n        return namespace.get(\"__annotations__\", {})\n\nelse:\n\n    def get_annotations_from_namespace(namespace: dict) -> dict:\n        return namespace.get(\"__annotations__\", {})\n"
  },
  {
    "path": "ninja/conf.py",
    "content": "from math import inf\nfrom typing import Dict, Optional, Set, Tuple\n\nfrom django.conf import settings as django_settings\nfrom pydantic import BaseModel, ConfigDict, Field\n\n\nclass Settings(BaseModel):\n    model_config = ConfigDict(from_attributes=True)\n    # Pagination\n    PAGINATION_CLASS: str = Field(\n        \"ninja.pagination.LimitOffsetPagination\", alias=\"NINJA_PAGINATION_CLASS\"\n    )\n    PAGINATION_DEFAULT_ORDERING: Tuple[str, ...] = Field(\n        (\"-pk\",), alias=\"NINJA_PAGINATION_DEFAULT_ORDERING\"\n    )\n    PAGINATION_MAX_OFFSET: int = Field(100, alias=\"NINJA_PAGINATION_MAX_OFFSET\")\n    PAGINATION_PER_PAGE: int = Field(100, alias=\"NINJA_PAGINATION_PER_PAGE\")\n    PAGINATION_MAX_PER_PAGE_SIZE: int = Field(100, alias=\"NINJA_MAX_PER_PAGE_SIZE\")\n    PAGINATION_MAX_LIMIT: int = Field(inf, alias=\"NINJA_PAGINATION_MAX_LIMIT\")  # type: ignore\n\n    # Throttling\n    NUM_PROXIES: Optional[int] = Field(None, alias=\"NINJA_NUM_PROXIES\")\n    DEFAULT_THROTTLE_RATES: Dict[str, Optional[str]] = Field(\n        {\n            \"auth\": \"10000/day\",\n            \"user\": \"10000/day\",\n            \"anon\": \"1000/day\",\n        },\n        alias=\"NINJA_DEFAULT_THROTTLE_RATES\",\n    )\n\n    FIX_REQUEST_FILES_METHODS: Set[str] = Field(\n        {\"PUT\", \"PATCH\", \"DELETE\"}, alias=\"NINJA_FIX_REQUEST_FILES_METHODS\"\n    )\n\n\nsettings = Settings.model_validate(django_settings)\n\nif hasattr(django_settings, \"NINJA_DOCS_VIEW\"):\n    raise Exception(\n        \"NINJA_DOCS_VIEW is removed. Use NinjaAPI(docs=...) instead\"\n    )  # pragma: no cover\n"
  },
  {
    "path": "ninja/constants.py",
    "content": "from typing import Any, Dict, Optional\n\n__all__ = [\"NOT_SET\"]\n\n\nclass NOT_SET_TYPE:\n    def __repr__(self) -> str:  # pragma: no cover\n        return f\"{__name__}.{self.__class__.__name__}\"\n\n    def __copy__(self) -> Any:\n        return NOT_SET\n\n    def __deepcopy__(self, memodict: Optional[Dict] = None) -> Any:\n        return NOT_SET\n\n\nNOT_SET = NOT_SET_TYPE()\n"
  },
  {
    "path": "ninja/decorators.py",
    "content": "from functools import partial\nfrom typing import Any, Callable, Tuple\n\nfrom typing_extensions import Literal\n\nfrom ninja.operation import Operation\nfrom ninja.types import TCallable\nfrom ninja.utils import contribute_operation_callback\n\n# Type for decorator modes\nDecoratorMode = Literal[\"operation\", \"view\"]\n\n# Since @api.method decorator is applied to function\n# that is not always returns a HttpResponse object\n# there is no way to apply some standard decorators form\n# django stdlib or public plugins\n#\n# @decorate_view allows to apply any view decorator to Ninja api operation\n#\n# @api.get(\"/some\")\n# @decorate_view(cache_page(60 * 15)) # <-------\n# def some(request):\n#     ...\n#\n\n\ndef decorate_view(*decorators: Callable[..., Any]) -> Callable[[TCallable], TCallable]:\n    def outer_wrapper(op_func: TCallable) -> TCallable:\n        if hasattr(op_func, \"_ninja_operation\"):\n            # Means user used decorate_view on top of @api.method\n            _apply_decorators(decorators, op_func._ninja_operation)  # type: ignore\n        else:\n            # Means user used decorate_view after(bottom) of @api.method\n            contribute_operation_callback(\n                op_func, partial(_apply_decorators, decorators)\n            )\n\n        return op_func\n\n    return outer_wrapper\n\n\ndef _apply_decorators(\n    decorators: Tuple[Callable[..., Any]], operation: Operation\n) -> None:\n    # Track decorators for cloning support\n    if not hasattr(operation, \"_run_decorators\"):\n        operation._run_decorators = []  # type: ignore\n    for deco in decorators:\n        operation.run = deco(operation.run)  # type: ignore\n        operation._run_decorators.append(deco)  # type: ignore\n"
  },
  {
    "path": "ninja/errors.py",
    "content": "import logging\nimport traceback\nfrom functools import partial\nfrom typing import TYPE_CHECKING, Generic, List, Optional, TypeVar\n\nimport pydantic\nfrom django.conf import settings\nfrom django.http import Http404, HttpRequest, HttpResponse\n\nfrom ninja.types import DictStrAny\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n    from ninja.params.models import ParamModel  # pragma: no cover\n\n__all__ = [\n    \"ConfigError\",\n    \"AuthenticationError\",\n    \"AuthorizationError\",\n    \"ValidationError\",\n    \"HttpError\",\n    \"set_default_exc_handlers\",\n]\n\n\nlogger = logging.getLogger(\"django\")\n\n\nclass ConfigError(Exception):\n    pass\n\n\nTModel = TypeVar(\"TModel\", bound=\"ParamModel\")\n\n\nclass ValidationErrorContext(Generic[TModel]):\n    \"\"\"\n    The full context of a `pydantic.ValidationError`, including all information\n    needed to produce a `ninja.errors.ValidationError`.\n    \"\"\"\n\n    def __init__(\n        self, pydantic_validation_error: pydantic.ValidationError, model: TModel\n    ):\n        self.pydantic_validation_error = pydantic_validation_error\n        self.model = model\n\n\nclass ValidationError(Exception):\n    \"\"\"\n    This exception raised when operation params do not validate\n    Note: this is not the same as pydantic.ValidationError\n    the errors attribute as well holds the location of the error(body, form, query, etc.)\n    \"\"\"\n\n    def __init__(self, errors: List[DictStrAny]) -> None:\n        self.errors = errors\n        super().__init__(errors)\n\n\nclass HttpError(Exception):\n    def __init__(self, status_code: int, message: str) -> None:\n        self.status_code = status_code\n        self.message = message\n        super().__init__(status_code, message)\n\n    def __str__(self) -> str:\n        return self.message\n\n\nclass AuthenticationError(HttpError):\n    def __init__(self, status_code: int = 401, message: str = \"Unauthorized\") -> None:\n        super().__init__(status_code=status_code, message=message)\n\n\nclass AuthorizationError(HttpError):\n    def __init__(self, status_code: int = 403, message: str = \"Forbidden\") -> None:\n        super().__init__(status_code=status_code, message=message)\n\n\nclass Throttled(HttpError):\n    def __init__(self, wait: Optional[int]) -> None:\n        self.wait = wait\n        super().__init__(status_code=429, message=\"Too many requests.\")\n\n\ndef set_default_exc_handlers(api: \"NinjaAPI\") -> None:\n    api.add_exception_handler(\n        Exception,\n        partial(_default_exception, api=api),\n    )\n    api.add_exception_handler(\n        Http404,\n        partial(_default_404, api=api),\n    )\n    api.add_exception_handler(\n        HttpError,\n        partial(_default_http_error, api=api),\n    )\n    api.add_exception_handler(\n        ValidationError,\n        partial(_default_validation_error, api=api),\n    )\n\n\ndef _default_404(request: HttpRequest, exc: Exception, api: \"NinjaAPI\") -> HttpResponse:\n    msg = \"Not Found\"\n    if settings.DEBUG:\n        msg += f\": {exc}\"\n    return api.create_response(request, {\"detail\": msg}, status=404)\n\n\ndef _default_http_error(\n    request: HttpRequest, exc: HttpError, api: \"NinjaAPI\"\n) -> HttpResponse:\n    return api.create_response(request, {\"detail\": str(exc)}, status=exc.status_code)\n\n\ndef _default_validation_error(\n    request: HttpRequest, exc: ValidationError, api: \"NinjaAPI\"\n) -> HttpResponse:\n    return api.create_response(request, {\"detail\": exc.errors}, status=422)\n\n\ndef _default_exception(\n    request: HttpRequest, exc: Exception, api: \"NinjaAPI\"\n) -> HttpResponse:\n    if not settings.DEBUG:\n        raise exc  # let django deal with it\n\n    logger.exception(exc)\n    tb = traceback.format_exc()\n    return HttpResponse(tb, status=500, content_type=\"text/plain\")\n"
  },
  {
    "path": "ninja/files.py",
    "content": "from typing import Any, Callable, Dict\n\nfrom django.core.files.uploadedfile import UploadedFile as DjangoUploadedFile\nfrom pydantic_core import core_schema\n\n__all__ = [\"UploadedFile\"]\n\n\nclass UploadedFile(DjangoUploadedFile):\n    @classmethod\n    def __get_pydantic_json_schema__(\n        cls, core_schema: Any, handler: Callable[..., Any]\n    ) -> Dict:\n        # calling handler(core_schema) here raises an exception\n        json_schema: Dict[str, str] = {}\n        json_schema.update(type=\"string\", format=\"binary\")\n        return json_schema\n\n    @classmethod\n    def _validate(cls, v: Any, _: Any) -> Any:\n        if not isinstance(v, DjangoUploadedFile):\n            raise ValueError(f\"Expected UploadFile, received: {type(v)}\")\n        return v\n\n    @classmethod\n    def __get_pydantic_core_schema__(\n        cls, source: Any, handler: Callable[..., Any]\n    ) -> Any:\n        return core_schema.with_info_plain_validator_function(cls._validate)\n"
  },
  {
    "path": "ninja/filter_schema.py",
    "content": "import warnings\nfrom typing import Any, List, Optional, TypeVar, Union, cast\n\nfrom django.core.exceptions import ImproperlyConfigured\nfrom django.db.models import Q, QuerySet\nfrom pydantic import ConfigDict\nfrom pydantic.fields import FieldInfo\nfrom typing_extensions import Literal\n\nfrom .constants import NOT_SET\nfrom .schema import Schema\n\n# XOR is available only in Django 4.1+: https://docs.djangoproject.com/en/4.1/ref/models/querysets/#xor\nExpressionConnector = Literal[\"AND\", \"OR\", \"XOR\"]\n\nDEFAULT_IGNORE_NONE: bool = True\nDEFAULT_CLASS_LEVEL_EXPRESSION_CONNECTOR: ExpressionConnector = \"AND\"\nDEFAULT_FIELD_LEVEL_EXPRESSION_CONNECTOR: ExpressionConnector = \"OR\"\n\n\nclass FilterLookup:\n    \"\"\"\n    Annotation class for specifying database query lookups in FilterSchema fields.\n\n    Example usage:\n        class MyFilterSchema(FilterSchema):\n            name: Annotated[Union[str, None], FilterLookup(\"name__icontains\")] = None\n            search: Annotated[Union[str, None], FilterLookup([\"name__icontains\", \"email__icontains\"])] = None\n    \"\"\"\n\n    def __init__(\n        self,\n        q: Union[str, List[str], None],\n        *,\n        expression_connector: ExpressionConnector = DEFAULT_FIELD_LEVEL_EXPRESSION_CONNECTOR,\n        ignore_none: bool = DEFAULT_IGNORE_NONE,\n    ):\n        \"\"\"\n        Args:\n            q: Database lookup expression(s). Can be:\n                - A string like \"name__icontains\"\n                - A list of strings like [\"name__icontains\", \"email__icontains\"]\n                - Use \"__\" prefix for implicit field name: \"__icontains\" becomes \"fieldname__icontains\"\n            expression_connector: How to combine multiple field-level expressions (\"OR\", \"AND\", \"XOR\"). Default is \"OR\".\n            ignore_none: Whether to ignore None values for this field specifically. Default is True.\n        \"\"\"\n        self.q = q\n        self.expression_connector = expression_connector\n        self.ignore_none = ignore_none\n\n\nT = TypeVar(\"T\", bound=QuerySet)\n\n\nclass FilterConfigDict(ConfigDict, total=False):\n    ignore_none: bool\n    expression_connector: ExpressionConnector\n\n\nclass FilterSchema(Schema):\n    model_config = FilterConfigDict(\n        ignore_none=DEFAULT_IGNORE_NONE,\n        expression_connector=DEFAULT_CLASS_LEVEL_EXPRESSION_CONNECTOR,\n    )\n\n    def custom_expression(self) -> Q:\n        \"\"\"\n        Implement this method to return a combination of filters that will be used\n        \"\"\"\n        raise NotImplementedError\n\n    def get_filter_expression(self) -> Q:\n        \"\"\"\n        Returns a Q expression based on the current filters\n        \"\"\"\n        try:\n            return self.custom_expression()\n        except NotImplementedError:\n            return self._connect_fields()\n\n    def filter(self, queryset: T) -> T:\n        return queryset.filter(self.get_filter_expression())\n\n    def _get_filter_lookup(\n        self, field_name: str, field_info: FieldInfo\n    ) -> Optional[FilterLookup]:\n        if not hasattr(field_info, \"metadata\") or not field_info.metadata:\n            return None\n\n        filter_lookups = [\n            metadata_item\n            for metadata_item in field_info.metadata\n            if isinstance(metadata_item, FilterLookup)\n        ]\n\n        if len(filter_lookups) == 0:\n            return None\n        elif len(filter_lookups) == 1:\n            return filter_lookups[0]\n        else:\n            raise ImproperlyConfigured(\n                f\"Multiple FilterLookup instances found in metadata of {self.__class__.__name__}.{field_name}.\\n\"\n                f\"Use at most one FilterLookup instance per field.\\n\"\n                f\"If you need multiple lookups, specify them as a list in a single FilterLookup:\\n\"\n                f\"{field_name}: Annotated[{field_info.annotation}, FilterLookup(['lookup1', 'lookup2', ...])]\"\n            )\n\n    def _get_field_q_expression(\n        self,\n        field_name: str,\n        field_info: FieldInfo,\n    ) -> Union[str, List[str], None]:\n        filter_lookup = self._get_filter_lookup(field_name, field_info)\n        if filter_lookup:\n            return filter_lookup.q\n\n        # Legacy approach, consider removing in future versions\n        return cast(\n            Union[str, List[str], None],\n            self._get_from_deprecated_field_extra(field_name, field_info, \"q\"),\n        )\n\n    def _get_field_expression_connector(\n        self,\n        field_name: str,\n        field_info: FieldInfo,\n    ) -> Union[ExpressionConnector, None]:\n        filter_lookup = self._get_filter_lookup(field_name, field_info)\n        if filter_lookup:\n            return filter_lookup.expression_connector\n\n        # Legacy approach, consider removing in future versions\n        return cast(\n            Union[ExpressionConnector, None],\n            self._get_from_deprecated_field_extra(\n                field_name, field_info, \"expression_connector\"\n            ),\n        )\n\n    def _get_field_ignore_none(\n        self, field_name: str, field_info: FieldInfo\n    ) -> Union[bool, None]:\n        filter_lookup = self._get_filter_lookup(field_name, field_info)\n        if filter_lookup:\n            return filter_lookup.ignore_none\n\n        # Legacy approach, consider removing in future versions\n        return cast(\n            Union[bool, None],\n            self._get_from_deprecated_field_extra(\n                field_name, field_info, \"ignore_none\"\n            ),\n        )\n\n    def _resolve_field_expression(\n        self, field_name: str, field_value: Any, field_info: FieldInfo\n    ) -> Q:\n        func = getattr(self, f\"filter_{field_name}\", None)\n        if callable(func):\n            return cast(Q, func(field_value))\n\n        q_expression = self._get_field_q_expression(field_name, field_info)\n        expression_connector = (\n            self._get_field_expression_connector(field_name, field_info)\n            or DEFAULT_FIELD_LEVEL_EXPRESSION_CONNECTOR\n        )\n\n        if not q_expression:\n            return Q(**{field_name: field_value})\n        elif isinstance(q_expression, str):\n            if q_expression.startswith(\"__\"):\n                q_expression = f\"{field_name}{q_expression}\"\n            return Q(**{q_expression: field_value})\n        elif isinstance(q_expression, list) and all(\n            isinstance(item, str) for item in q_expression\n        ):\n            q = Q()\n            for q_expression_part in q_expression:\n                if q_expression_part.startswith(\"__\"):\n                    q_expression_part = f\"{field_name}{q_expression_part}\"\n                q = q._combine(  # type: ignore[attr-defined]\n                    Q(**{q_expression_part: field_value}),\n                    expression_connector,\n                )\n            return q\n        else:\n            raise ImproperlyConfigured(\n                f\"Field {field_name} of {self.__class__.__name__} defines an invalid value for 'q'.\\n\"\n                f\"Use FilterLookup annotation: {field_name}: Annotated[{field_info.annotation}, FilterLookup('lookup')]\\n\"\n                f\"Alternatively, you can implement {self.__class__.__name__}.filter_{field_name} that must return a Q expression for that field\"\n            )\n\n    def _connect_fields(self) -> Q:\n        q = Q()\n        class_ignore_none = self.model_config.get(\"ignore_none\", DEFAULT_IGNORE_NONE)\n        for field_name, field_info in self.__class__.model_fields.items():\n            filter_value = getattr(self, field_name)\n\n            # class-level ignore_none set to False (non-default) takes precedence over field-level ignore_none\n            if class_ignore_none is False:\n                ignore_none = False\n            else:\n                field_ignore_none = self._get_field_ignore_none(field_name, field_info)\n                if field_ignore_none is not None:\n                    ignore_none = field_ignore_none\n                else:\n                    ignore_none = DEFAULT_IGNORE_NONE\n\n            # Resolve Q expression for a field even if we skip it due to None value\n            # So that improperly configured fields are easier to detect\n            field_q = self._resolve_field_expression(\n                field_name, filter_value, field_info\n            )\n            if filter_value is None and ignore_none:\n                continue\n            q = q._combine(  # type: ignore[attr-defined]\n                field_q,\n                self.model_config.get(\n                    \"expression_connector\", DEFAULT_CLASS_LEVEL_EXPRESSION_CONNECTOR\n                ),\n            )\n\n        return q\n\n    def _get_from_deprecated_field_extra(\n        self, field_name: str, field_info: FieldInfo, attr: str\n    ) -> Union[Any, None]:\n        \"\"\"\n        Backward-compatible shim which looks up filtering parameters in the Field's **extra kwargs.\n        Consider removing this method in favor of FilterLookup annotation class.\n        \"\"\"\n        field_extra = cast(dict, field_info.json_schema_extra) or {}\n        value = field_extra.get(attr, NOT_SET)\n\n        if value is not NOT_SET:\n            warnings.warn(\n                f\"Using Pydantic Field with extra keyword arguments ('{attr}') \"\n                f\"in field {self.__class__.__name__}.{field_name} is deprecated. Please use ninja.FilterLookup instead:\\n\"\n                f\"  from typing import Annotated\\n\"\n                f\"  from ninja import FilterLookup, FilterSchema\\n\\n\"\n                f\"  class {self.__class__.__name__}(FilterSchema):\\n\"\n                f\"    {field_name}: Annotated[Optional[...], FilterLookup(q='...', ...)] = None\",\n                DeprecationWarning,\n                stacklevel=4,\n            )\n            return value\n        return None\n"
  },
  {
    "path": "ninja/main.py",
    "content": "from typing import (\n    TYPE_CHECKING,\n    Any,\n    Callable,\n    Dict,\n    List,\n    Optional,\n    Sequence,\n    Tuple,\n    Type,\n    TypeVar,\n    Union,\n)\n\nfrom django.http import HttpRequest, HttpResponse\nfrom django.urls import URLPattern, URLResolver, reverse\nfrom django.utils.module_loading import import_string\n\nfrom ninja.constants import NOT_SET, NOT_SET_TYPE\nfrom ninja.decorators import DecoratorMode\nfrom ninja.errors import (\n    ConfigError,\n    ValidationError,\n    ValidationErrorContext,\n    set_default_exc_handlers,\n)\nfrom ninja.openapi import get_schema\nfrom ninja.openapi.docs import DocsBase, Swagger\nfrom ninja.openapi.schema import OpenAPISchema\nfrom ninja.openapi.urls import get_openapi_urls, get_root_url\nfrom ninja.parser import Parser\nfrom ninja.renderers import BaseRenderer, JSONRenderer\nfrom ninja.router import BoundRouter, Router, RouterMount\nfrom ninja.throttling import BaseThrottle\nfrom ninja.types import DictStrAny, TCallable\n\nif TYPE_CHECKING:\n    from .operation import Operation  # pragma: no cover\n\n__all__ = [\"NinjaAPI\"]\n\n_E = TypeVar(\"_E\", bound=Exception)\nExc = Union[_E, Type[_E]]\nExcHandler = Callable[[HttpRequest, Exc[_E]], HttpResponse]\n\n\nclass NinjaAPI:\n    \"\"\"\n    Ninja API\n    \"\"\"\n\n    def __init__(\n        self,\n        *,\n        title: str = \"NinjaAPI\",\n        version: str = \"1.0.0\",\n        description: str = \"\",\n        openapi_url: Optional[str] = \"/openapi.json\",\n        docs: DocsBase = Swagger(),\n        docs_url: Optional[str] = \"/docs\",\n        docs_decorator: Optional[Callable[[TCallable], TCallable]] = None,\n        servers: Optional[List[DictStrAny]] = None,\n        urls_namespace: Optional[str] = None,\n        auth: Optional[Union[Sequence[Callable], Callable, NOT_SET_TYPE]] = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        renderer: Optional[BaseRenderer] = None,\n        parser: Optional[Parser] = None,\n        default_router: Optional[Router] = None,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ):\n        \"\"\"\n        Args:\n            title: A title for the api.\n            description: A description for the api.\n            version: The API version.\n            urls_namespace: The Django URL namespace for the API. If not provided, the namespace will be ``\"api-\" + self.version``.\n            openapi_url: The relative URL to serve the openAPI spec.\n            openapi_extra: Additional attributes for the openAPI spec.\n            docs_url: The relative URL to serve the API docs.\n            servers: List of target hosts used in openAPI spec.\n            auth (Callable | Sequence[Callable] | NOT_SET | None): Authentication class\n            renderer: Default response renderer\n            parser: Default request parser\n        \"\"\"\n        self.title = title\n        self.version = version\n        self.description = description\n        self.openapi_url = openapi_url\n        self.docs = docs\n        self.docs_url = docs_url\n        self.docs_decorator = docs_decorator\n        self.servers = servers or []\n        self.urls_namespace = urls_namespace or f\"api-{self.version}\"\n        self.renderer = renderer or JSONRenderer()\n        self.parser = parser or Parser()\n        self.openapi_extra = openapi_extra or {}\n\n        self._exception_handlers: Dict[Exc, ExcHandler] = {}\n        self.set_default_exception_handlers()\n\n        self.auth: Optional[Union[Sequence[Callable], NOT_SET_TYPE]]\n\n        if callable(auth):\n            self.auth = [auth]\n        else:\n            self.auth = auth\n\n        self.throttle = throttle\n\n        # Top-level router registrations (new architecture)\n        # Stores (prefix, router, auth, throttle, tags, url_name_prefix) for each add_router call\n        self._router_registrations: List[\n            Tuple[str, Router, Any, Any, Optional[List[str]], Optional[str]]\n        ] = []\n        self._bound_routers_cache: Optional[List[BoundRouter]] = None\n\n        # Backward compat: keep _routers list populated\n        self._routers: List[Tuple[str, Router]] = []\n\n        self.default_router = default_router or Router()\n        self.add_router(\"\", self.default_router)\n\n    def get(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        \"\"\"\n        `GET` operation. See <a href=\"../operations-parameters\">operations\n        parameters</a> reference.\n        \"\"\"\n        return self.default_router.get(\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def post(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        \"\"\"\n        `POST` operation. See <a href=\"../operations-parameters\">operations\n        parameters</a> reference.\n        \"\"\"\n        return self.default_router.post(\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def delete(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        \"\"\"\n        `DELETE` operation. See <a href=\"../operations-parameters\">operations\n        parameters</a> reference.\n        \"\"\"\n        return self.default_router.delete(\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def patch(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        \"\"\"\n        `PATCH` operation. See <a href=\"../operations-parameters\">operations\n        parameters</a> reference.\n        \"\"\"\n        return self.default_router.patch(\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def put(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        \"\"\"\n        `PUT` operation. See <a href=\"../operations-parameters\">operations\n        parameters</a> reference.\n        \"\"\"\n        return self.default_router.put(\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def api_operation(\n        self,\n        methods: List[str],\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.default_router.api_operation(\n            methods,\n            path,\n            auth=auth is NOT_SET and self.auth or auth,\n            throttle=throttle is NOT_SET and self.throttle or throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def add_decorator(\n        self,\n        decorator: Callable,\n        mode: DecoratorMode = \"operation\",\n    ) -> None:\n        \"\"\"\n        Add a decorator to be applied to all operations in the entire API.\n\n        Args:\n            decorator: The decorator function to apply\n            mode: \"operation\" (default) applies after validation,\n                  \"view\" applies before validation\n        \"\"\"\n        # Store decorator on default router - will be inherited by all routers during build\n        self.default_router.add_decorator(decorator, mode)\n\n    def add_router(\n        self,\n        prefix: str,\n        router: Union[Router, str],\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        tags: Optional[List[str]] = None,\n        url_name_prefix: Optional[str] = None,\n        parent_router: Optional[Router] = None,\n    ) -> None:\n        \"\"\"\n        Add a router to this API.\n\n        Args:\n            prefix: URL prefix for all routes in the router\n            router: Router instance or import path string\n            auth: Authentication override for this router\n            throttle: Throttle override for this router\n            tags: Tags override for this router\n            url_name_prefix: Prefix for URL names (required when mounting same router multiple times)\n            parent_router: Internal use - parent router for nested routers\n        \"\"\"\n        # Prevent adding routers after URLs have been generated\n        if self._bound_routers_cache is not None:\n            raise ConfigError(\n                \"Cannot add routers after URLs have been generated. \"\n                \"Add all routers before accessing api.urls\"\n            )\n\n        if isinstance(router, str):\n            router = import_string(router)\n            assert isinstance(router, Router)\n\n        # Check for duplicate router template - require url_name_prefix\n        existing_templates = {reg[1] for reg in self._router_registrations}\n        if router in existing_templates and url_name_prefix is None:\n            raise ConfigError(\n                \"Router is already mounted to this API. When mounting the same router \"\n                \"multiple times, you must provide unique url_name_prefix for each mount.\"\n            )\n\n        # Store registration for later processing during URL generation\n        # This allows child routers to be added after add_router() is called\n        self._router_registrations.append((\n            prefix,\n            router,\n            auth,\n            throttle,\n            tags,\n            url_name_prefix,\n        ))\n\n        # Backward compat: keep _routers list updated (just the top-level router)\n        self._routers.append((prefix, router))\n\n    @property\n    def urls(self) -> Tuple[List[Union[URLResolver, URLPattern]], str, str]:\n        \"\"\"\n        str: URL configuration\n\n        Returns:\n\n            Django URL configuration\n        \"\"\"\n        self._validate()\n        return (\n            self._get_urls(),\n            \"ninja\",\n            self.urls_namespace.split(\":\")[-1],\n            # ^ if api included into nested urls, we only care about last bit here\n        )\n\n    def _get_bound_routers(self) -> List[BoundRouter]:\n        \"\"\"Get or create bound router instances.\"\"\"\n        if self._bound_routers_cache is None:\n            # Build mounts from registrations (delayed to capture all child routers)\n            all_mounts: List[RouterMount] = []\n\n            for (\n                prefix,\n                router,\n                auth,\n                throttle,\n                tags,\n                url_name_prefix,\n            ) in self._router_registrations:\n                # Get API-level decorators from default router\n                api_decorators = (\n                    self.default_router._decorators\n                    if router is not self.default_router\n                    else []\n                )\n\n                # Build mount configurations (non-mutating)\n                # Pass auth/throttle/tags so they can be inherited by children\n                mounts = router.build_routers(\n                    prefix,\n                    api_decorators,\n                    inherited_auth=auth,\n                    inherited_throttle=throttle,\n                    inherited_tags=tags,\n                )\n\n                # Apply mount-level overrides to the first (parent) mount\n                # build_routers() always returns at least one mount (the router itself)\n                first_mount = mounts[0]\n                if auth is not NOT_SET:\n                    first_mount.auth = auth\n                if throttle is not NOT_SET:\n                    first_mount.throttle = throttle\n                if tags is not None:\n                    first_mount.tags = tags\n\n                # Apply url_name_prefix to all mounts\n                if url_name_prefix is not None:\n                    for mount in mounts:\n                        mount.url_name_prefix = url_name_prefix\n\n                all_mounts.extend(mounts)\n\n            # Create bound routers from mounts\n            self._bound_routers_cache = [\n                BoundRouter(mount, self) for mount in all_mounts\n            ]\n\n            # Freeze all templates after binding\n            for mount in all_mounts:\n                mount.template._freeze()\n\n            # Update _routers for backward compat (include all nested routers)\n            self._routers = [(m.prefix, m.template) for m in all_mounts]\n\n        return self._bound_routers_cache\n\n    def _get_urls(self) -> List[Union[URLResolver, URLPattern]]:\n        result = get_openapi_urls(self)\n\n        for bound_router in self._get_bound_routers():\n            result.extend(bound_router.urls_paths(bound_router.prefix))\n\n        result.append(get_root_url(self))\n        return result\n\n    def get_root_path(self, path_params: DictStrAny) -> str:\n        name = f\"{self.urls_namespace}:api-root\"\n        return reverse(name, kwargs=path_params)\n\n    def create_response(\n        self,\n        request: HttpRequest,\n        data: Any,\n        *,\n        status: Optional[int] = None,\n        temporal_response: Optional[HttpResponse] = None,\n    ) -> HttpResponse:\n        if temporal_response:\n            status = temporal_response.status_code\n        assert status\n\n        content = self.renderer.render(request, data, response_status=status)\n\n        if temporal_response:\n            response = temporal_response\n            response.content = content\n        else:\n            response = HttpResponse(\n                content, status=status, content_type=self.get_content_type()\n            )\n\n        return response\n\n    def create_temporal_response(self, request: HttpRequest) -> HttpResponse:\n        return HttpResponse(\"\", content_type=self.get_content_type())\n\n    def get_content_type(self) -> str:\n        return f\"{self.renderer.media_type}; charset={self.renderer.charset}\"\n\n    def get_openapi_schema(\n        self,\n        *,\n        path_prefix: Optional[str] = None,\n        path_params: Optional[DictStrAny] = None,\n    ) -> OpenAPISchema:\n        if path_prefix is None:\n            path_prefix = self.get_root_path(path_params or {})\n        return get_schema(api=self, path_prefix=path_prefix)\n\n    def get_openapi_operation_id(self, operation: \"Operation\") -> str:\n        name = operation.view_func.__name__\n        module = operation.view_func.__module__\n        return (module + \"_\" + name).replace(\".\", \"_\")\n\n    def get_operation_url_name(self, operation: \"Operation\", router: Router) -> str:\n        \"\"\"\n        Get the default URL name to use for an operation if it wasn't\n        explicitly provided.\n        \"\"\"\n        return operation.view_func.__name__\n\n    def add_exception_handler(\n        self, exc_class: Type[_E], handler: ExcHandler[_E]\n    ) -> None:\n        assert issubclass(exc_class, Exception)\n        self._exception_handlers[exc_class] = handler\n\n    def exception_handler(\n        self, exc_class: Type[Exception]\n    ) -> Callable[[TCallable], TCallable]:\n        def decorator(func: TCallable) -> TCallable:\n            self.add_exception_handler(exc_class, func)\n            return func\n\n        return decorator\n\n    def set_default_exception_handlers(self) -> None:\n        set_default_exc_handlers(self)\n\n    def on_exception(self, request: HttpRequest, exc: Exc[_E]) -> HttpResponse:\n        handler = self._lookup_exception_handler(exc)\n        if handler is None:\n            raise exc\n        return handler(request, exc)\n\n    def validation_error_from_error_contexts(\n        self, error_contexts: List[ValidationErrorContext]\n    ) -> ValidationError:\n        errors: List[Dict[str, Any]] = []\n        for context in error_contexts:\n            model = context.model\n            e = context.pydantic_validation_error\n            for i in e.errors(include_url=False):\n                i[\"loc\"] = (\n                    model.__ninja_param_source__,\n                ) + model.__ninja_flatten_map_reverse__.get(i[\"loc\"], i[\"loc\"])\n                # removing pydantic hints\n                del i[\"input\"]  # type: ignore\n                if (\n                    \"ctx\" in i\n                    and \"error\" in i[\"ctx\"]\n                    and isinstance(i[\"ctx\"][\"error\"], Exception)\n                ):\n                    i[\"ctx\"][\"error\"] = str(i[\"ctx\"][\"error\"])\n                errors.append(dict(i))\n        return ValidationError(errors)\n\n    def _lookup_exception_handler(self, exc: Exc[_E]) -> Optional[ExcHandler[_E]]:\n        for cls in type(exc).__mro__:\n            if cls in self._exception_handlers:\n                return self._exception_handlers[cls]\n\n        return None\n\n    def _validate(self) -> None:\n        # Registry check no longer needed - routers are independent templates\n        # and can be reused across multiple APIs without conflicts\n        pass\n"
  },
  {
    "path": "ninja/management/__init__.py",
    "content": ""
  },
  {
    "path": "ninja/management/commands/__init__.py",
    "content": ""
  },
  {
    "path": "ninja/management/commands/export_openapi_schema.py",
    "content": "import json\nfrom pathlib import Path\nfrom typing import Any, Optional\n\nfrom django.core.management.base import BaseCommand, CommandError, CommandParser\nfrom django.urls.base import resolve\nfrom django.utils.module_loading import import_string\n\nfrom ninja.main import NinjaAPI\nfrom ninja.management.utils import command_docstring\nfrom ninja.responses import NinjaJSONEncoder\n\n\nclass Command(BaseCommand):\n    \"\"\"\n    Example:\n\n        ```terminal\n        python manage.py export_openapi_schema\n        ```\n\n        ```terminal\n        python manage.py export_openapi_schema --api project.urls.api\n        ```\n    \"\"\"\n\n    help = \"Exports Open API schema\"\n\n    def _get_api_instance(self, api_path: Optional[str] = None) -> NinjaAPI:\n        if not api_path:\n            try:\n                return resolve(\"/api/\").func.keywords[\"api\"]  # type: ignore\n            except AttributeError:\n                raise CommandError(\n                    \"No NinjaAPI instance found; please specify one with --api\"\n                ) from None\n\n        try:\n            api = import_string(api_path)\n        except ImportError:\n            raise CommandError(\n                f\"Module or attribute for {api_path} not found!\"\n            ) from None\n\n        if not isinstance(api, NinjaAPI):\n            raise CommandError(f\"{api_path} is not instance of NinjaAPI!\")\n\n        return api\n\n    def add_arguments(self, parser: CommandParser) -> None:\n        parser.add_argument(\n            \"--api\",\n            dest=\"api\",\n            default=None,\n            type=str,\n            help=\"Specify api instance module\",\n        )\n        parser.add_argument(\n            \"--output\",\n            dest=\"output\",\n            default=None,\n            type=str,\n            help=\"Output schema to a file (outputs to stdout if omitted).\",\n        )\n        parser.add_argument(\n            \"--indent\", dest=\"indent\", default=None, type=int, help=\"JSON indent\"\n        )\n        parser.add_argument(\n            \"--sorted\",\n            dest=\"sort_keys\",\n            default=False,\n            action=\"store_true\",\n            help=\"Sort Json keys\",\n        )\n        parser.add_argument(\n            \"--ensure-ascii\",\n            dest=\"ensure_ascii\",\n            default=False,\n            action=\"store_true\",\n            help=\"ensure_ascii for JSON output\",\n        )\n\n    def handle(self, *args: Any, **options: Any) -> None:\n        api = self._get_api_instance(options[\"api\"])\n        schema = api.get_openapi_schema()\n        result = json.dumps(\n            schema,\n            cls=NinjaJSONEncoder,\n            indent=options[\"indent\"],\n            sort_keys=options[\"sort_keys\"],\n            ensure_ascii=options[\"ensure_ascii\"],\n        )\n\n        if options[\"output\"]:\n            with Path(options[\"output\"]).open(\"wb\") as f:\n                f.write(result.encode())\n        else:\n            self.stdout.write(result)\n\n\n__doc__ = command_docstring(Command)\n"
  },
  {
    "path": "ninja/management/utils.py",
    "content": "import textwrap\nfrom typing import Type\n\nfrom django.core.management.base import BaseCommand\n\n\ndef command_docstring(cmd: Type[BaseCommand]) -> str:\n    base_args = []\n    if cmd is not BaseCommand:  # pragma: no branch\n        base_parser = cmd().create_parser(\"base\", \"\")\n        for group in base_parser._action_groups:\n            for action in group._group_actions:\n                base_args.append(\",\".join(action.option_strings))\n    parser = cmd().create_parser(\"command\", \"\")\n    doc = parser.description or \"\"\n\n    if cmd.__doc__:  # pragma: no branch\n        if doc:  # pragma: no branch\n            doc += \"\\n\\n\"\n        doc += textwrap.dedent(cmd.__doc__)\n    args = []\n    for group in parser._action_groups:\n        for action in group._group_actions:\n            if \"--help\" in action.option_strings:\n                continue\n            name = \",\".join(action.option_strings)\n            action_type = action.type\n            if not action_type and action.nargs != 0:\n                action_type = str\n            if action_type:\n                if isinstance(action_type, type):  # pragma: no branch\n                    action_type = action_type.__name__\n                name += f\" ({action_type})\"\n            help = action.help or \"\"\n            if help and not action.required and action.nargs != 0:\n                if not help.endswith(\".\"):\n                    help += \".\"\n                if action.default is not None:\n                    help += f\" Defaults to {action.default}.\"\n                else:\n                    help += \" Optional.\"\n            args.append((name, help))\n    # Sort args from this class first, then base args.\n    args.sort(key=lambda o: (o[0] in base_args, o[0]))\n    if args:  # pragma: no branch\n        doc += \"\\n\\nAttributes:\"\n        for name, description in args:\n            doc += f\"\\n    {name}: {description}\"\n    return doc\n"
  },
  {
    "path": "ninja/openapi/__init__.py",
    "content": "from ninja.openapi.schema import get_schema\n\n__all__ = [\"get_schema\"]\n"
  },
  {
    "path": "ninja/openapi/docs.py",
    "content": "import json\nfrom abc import ABC, abstractmethod\nfrom pathlib import Path\nfrom typing import TYPE_CHECKING, Any, Optional\n\nfrom django.conf import settings\nfrom django.http import HttpRequest, HttpResponse\nfrom django.shortcuts import render\nfrom django.urls import reverse\n\nfrom ninja.constants import NOT_SET\nfrom ninja.types import DictStrAny\n\nif TYPE_CHECKING:\n    # if anyone knows a cleaner way to make mypy happy - welcome\n    from ninja import NinjaAPI  # pragma: no cover\n\nABS_TPL_PATH = Path(__file__).parent.parent / \"templates/ninja/\"\n\n\nclass DocsBase(ABC):\n    @abstractmethod\n    def render_page(\n        self, request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any\n    ) -> HttpResponse:\n        pass  # pragma: no cover\n\n    def get_openapi_url(self, api: \"NinjaAPI\", path_params: DictStrAny) -> str:\n        return reverse(f\"{api.urls_namespace}:openapi-json\", kwargs=path_params)\n\n\nclass Swagger(DocsBase):\n    template = \"ninja/swagger.html\"\n    template_cdn = str(ABS_TPL_PATH / \"swagger_cdn.html\")\n    default_settings = {\n        \"layout\": \"BaseLayout\",\n        \"deepLinking\": True,\n    }\n\n    def __init__(self, settings: Optional[DictStrAny] = None):\n        self.settings = {}\n        self.settings.update(self.default_settings)\n        if settings:\n            self.settings.update(settings)\n\n    def render_page(\n        self, request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any\n    ) -> HttpResponse:\n        self.settings[\"url\"] = self.get_openapi_url(api, kwargs)\n        context = {\n            \"swagger_settings\": json.dumps(self.settings, indent=1),\n            \"api\": api,\n            \"add_csrf\": _csrf_needed(api),\n        }\n        return render_template(request, self.template, self.template_cdn, context)\n\n\nclass Redoc(DocsBase):\n    template = \"ninja/redoc.html\"\n    template_cdn = str(ABS_TPL_PATH / \"redoc_cdn.html\")\n    default_settings: DictStrAny = {}\n\n    def __init__(self, settings: Optional[DictStrAny] = None):\n        self.settings = {}\n        self.settings.update(self.default_settings)\n        if settings:\n            self.settings.update(settings)\n\n    def render_page(\n        self, request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any\n    ) -> HttpResponse:\n        context = {\n            \"redoc_settings\": json.dumps(self.settings, indent=1),\n            \"openapi_json_url\": self.get_openapi_url(api, kwargs),\n            \"api\": api,\n        }\n        return render_template(request, self.template, self.template_cdn, context)\n\n\ndef render_template(\n    request: HttpRequest, template: str, template_cdn: str, context: DictStrAny\n) -> HttpResponse:\n    \"\"\"\n    I do not really want ninja to be required in INSTALLED_APPS to ease installation\n    so it automatically detects - if ninja is in INSTALLED_APPS - then we render with django.shortcuts.render\n    otherwise - rendering custom html with swagger js from cdn\n    \"\"\"\n    if \"ninja\" in settings.INSTALLED_APPS:\n        return render(request, template, context)\n    else:\n        return _render_cdn_template(request, template_cdn, context)\n\n\ndef _render_cdn_template(\n    request: HttpRequest, template_path: str, context: Optional[DictStrAny] = None\n) -> HttpResponse:\n    \"this is helper to find and render html template when ninja is not in INSTALLED_APPS\"\n    from django.template import RequestContext, Template\n\n    tpl = Template(Path(template_path).read_text())\n    html = tpl.render(RequestContext(request, context))\n    return HttpResponse(html)\n\n\ndef _csrf_needed(api: \"NinjaAPI\") -> bool:\n    \"\"\"\n    Check if any of the API's auth handlers require CSRF protection.\n    \"\"\"\n    if not api.auth or api.auth == NOT_SET:\n        return False\n\n    return any(getattr(a, \"csrf\", False) for a in api.auth)  # type: ignore\n"
  },
  {
    "path": "ninja/openapi/schema.py",
    "content": "import itertools\nimport re\nfrom http.client import responses\nfrom typing import TYPE_CHECKING, Any, Dict, Generator, List, Optional, Set, Tuple\n\nfrom django.utils.termcolors import make_style\nfrom pydantic.json_schema import JsonSchemaMode\n\nfrom ninja.constants import NOT_SET\nfrom ninja.operation import Operation\nfrom ninja.params.models import TModel, TModels\nfrom ninja.schema import NinjaGenerateJsonSchema\nfrom ninja.types import DictStrAny\nfrom ninja.utils import normalize_path\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n\nREF_TEMPLATE: str = \"#/components/schemas/{model}\"\n\nBODY_CONTENT_TYPES: Dict[str, str] = {\n    \"body\": \"application/json\",\n    \"form\": \"application/x-www-form-urlencoded\",\n    \"file\": \"multipart/form-data\",\n}\n\n\ndef get_schema(api: \"NinjaAPI\", path_prefix: str = \"\") -> \"OpenAPISchema\":\n    openapi = OpenAPISchema(api, path_prefix)\n    return openapi\n\n\nbold_red_style = make_style(opts=(\"bold\",), fg=\"red\")\n\n\nclass OpenAPISchema(dict):\n    def __init__(self, api: \"NinjaAPI\", path_prefix: str) -> None:\n        self.api = api\n        self.path_prefix = path_prefix\n        self.schemas: DictStrAny = {}\n        self.securitySchemes: DictStrAny = {}\n        self.all_operation_ids: Set = set()\n        extra_info = api.openapi_extra.get(\"info\", {})\n        super().__init__([\n            (\"openapi\", \"3.1.0\"),\n            (\n                \"info\",\n                {\n                    \"title\": api.title,\n                    \"version\": api.version,\n                    \"description\": api.description,\n                    **extra_info,\n                },\n            ),\n            (\"paths\", self.get_paths()),\n            (\"components\", self.get_components()),\n            (\"servers\", api.servers),\n        ])\n        for k, v in api.openapi_extra.items():\n            if k not in self:\n                self[k] = v\n\n    def get_paths(self) -> DictStrAny:\n        result: DictStrAny = {}\n        # Use bound routers to ensure operations have correct auth/throttle/tags\n        for bound_router in self.api._get_bound_routers():\n            for path, path_view in bound_router.path_operations.items():\n                full_path = \"/\".join([i for i in (bound_router.prefix, path) if i])\n                full_path = \"/\" + self.path_prefix + full_path\n                full_path = normalize_path(full_path)\n                full_path = re.sub(\n                    r\"{[^}:]+:\", \"{\", full_path\n                )  # remove path converters\n                path_methods = self.methods(path_view.operations)\n                if path_methods:\n                    try:\n                        result[full_path].update(path_methods)\n                    except KeyError:\n                        result[full_path] = path_methods\n\n        return result\n\n    def methods(self, operations: list) -> DictStrAny:\n        result = {}\n        for op in operations:\n            if op.include_in_schema:\n                operation_details = self.operation_details(op)\n                for method in op.methods:\n                    result[method.lower()] = operation_details\n        return result\n\n    def deep_dict_update(\n        self, main_dict: Dict[Any, Any], update_dict: Dict[Any, Any]\n    ) -> None:\n        for key in update_dict:\n            if (\n                key in main_dict\n                and isinstance(main_dict[key], dict)\n                and isinstance(update_dict[key], dict)\n            ):\n                self.deep_dict_update(\n                    main_dict[key], update_dict[key]\n                )  # pragma: no cover\n            elif (\n                key in main_dict\n                and isinstance(main_dict[key], list)\n                and isinstance(update_dict[key], list)\n            ):\n                main_dict[key].extend(update_dict[key])\n            else:\n                main_dict[key] = update_dict[key]\n\n    def operation_details(self, operation: Operation) -> DictStrAny:\n        op_id = operation.operation_id or self.api.get_openapi_operation_id(operation)\n        if op_id in self.all_operation_ids:\n            print(\n                bold_red_style(\n                    f'Warning: operation_id \"{op_id}\" is already used (Try giving a different name to: {operation.view_func.__module__}.{operation.view_func.__name__})'\n                )\n            )\n        self.all_operation_ids.add(op_id)\n        result = {\n            \"operationId\": op_id,\n            \"summary\": operation.summary,\n            \"parameters\": self.operation_parameters(operation),\n            \"responses\": self.responses(operation),\n        }\n\n        if operation.description:\n            result[\"description\"] = operation.description\n\n        if operation.tags:\n            result[\"tags\"] = operation.tags\n\n        if operation.deprecated:\n            result[\"deprecated\"] = operation.deprecated  # type: ignore\n\n        body = self.request_body(operation)\n        if body:\n            result[\"requestBody\"] = body\n\n        security = self.operation_security(operation)\n        if security:\n            result[\"security\"] = security\n\n        if operation.openapi_extra:\n            self.deep_dict_update(result, operation.openapi_extra)\n\n        return result\n\n    def operation_parameters(self, operation: Operation) -> List[DictStrAny]:\n        result = []\n        for model in operation.models:\n            if model.__ninja_param_source__ not in BODY_CONTENT_TYPES:\n                result.extend(self._extract_parameters(model))\n        return result\n\n    def _extract_parameters(self, model: TModel) -> List[DictStrAny]:\n        result = []\n\n        schema = model.model_json_schema(\n            ref_template=REF_TEMPLATE,\n            schema_generator=NinjaGenerateJsonSchema,\n        )\n\n        required = set(schema.get(\"required\", []))\n        properties = schema[\"properties\"]\n\n        if \"$defs\" in schema:\n            self.add_schema_definitions(schema[\"$defs\"])\n\n        for name, details in properties.items():\n            is_required = name in required\n            p_name: str\n            p_schema: DictStrAny\n            p_required: bool\n            for p_name, p_schema, p_required in flatten_properties(\n                name, details, is_required, schema.get(\"$defs\", {})\n            ):\n                if not p_schema.get(\"include_in_schema\", True):\n                    continue\n\n                param = {\n                    \"in\": model.__ninja_param_source__,\n                    \"name\": p_name,\n                    \"schema\": p_schema,\n                    \"required\": p_required,\n                }\n\n                # copy description from schema description to param description\n                if \"description\" in p_schema:\n                    param[\"description\"] = p_schema[\"description\"]\n                if \"examples\" in p_schema:\n                    param[\"examples\"] = p_schema[\"examples\"]\n                elif \"example\" in p_schema:\n                    param[\"example\"] = p_schema[\"example\"]\n                if \"deprecated\" in p_schema:\n                    param[\"deprecated\"] = p_schema[\"deprecated\"]\n\n                result.append(param)\n\n        return result\n\n    def _flatten_schema(self, model: TModel) -> DictStrAny:\n        params = self._extract_parameters(model)\n        flattened = {\n            \"title\": model.__name__,  # type: ignore\n            \"type\": \"object\",\n            \"properties\": {p[\"name\"]: p[\"schema\"] for p in params},\n        }\n        required = [p[\"name\"] for p in params if p[\"required\"]]\n        if required:\n            flattened[\"required\"] = required\n        return flattened\n\n    def _create_schema_from_model(\n        self,\n        model: TModel,\n        by_alias: bool = True,\n        remove_level: bool = True,\n        mode: JsonSchemaMode = \"validation\",\n    ) -> Tuple[DictStrAny, bool]:\n        if hasattr(model, \"__ninja_flatten_map__\"):\n            schema = self._flatten_schema(model)\n        else:\n            schema = model.model_json_schema(\n                ref_template=REF_TEMPLATE,\n                by_alias=by_alias,\n                schema_generator=NinjaGenerateJsonSchema,\n                mode=mode,\n            ).copy()\n\n        # move Schemas from definitions\n        if schema.get(\"$defs\"):\n            self.add_schema_definitions(schema.pop(\"$defs\"))\n\n        if remove_level and len(schema[\"properties\"]) == 1:\n            name, details = list(schema[\"properties\"].items())[0]\n\n            # ref = details[\"$ref\"]\n            required = name in schema.get(\"required\", {})\n            return details, required\n        else:\n            return schema, True\n\n    def _create_multipart_schema_from_models(\n        self,\n        models: TModels,\n        mode: JsonSchemaMode = \"validation\",\n    ) -> Tuple[DictStrAny, str]:\n        # We have File and Form or Body, so we need to use multipart (File)\n        content_type = BODY_CONTENT_TYPES[\"file\"]\n\n        # get the various schemas\n        result = merge_schemas([\n            self._create_schema_from_model(model, remove_level=False)[0]\n            for model in models\n        ])\n        result[\"title\"] = \"MultiPartBodyParams\"\n\n        return result, content_type\n\n    def request_body(self, operation: Operation) -> DictStrAny:\n        models = [\n            m\n            for m in operation.models\n            if m.__ninja_param_source__ in BODY_CONTENT_TYPES\n        ]\n        if not models:\n            return {}\n\n        if len(models) == 1:\n            model = models[0]\n            content_type = BODY_CONTENT_TYPES[model.__ninja_param_source__]\n            schema, required = self._create_schema_from_model(\n                model,\n                remove_level=model.__ninja_param_source__ == \"body\",\n                mode=\"validation\",\n            )\n        else:\n            schema, content_type = self._create_multipart_schema_from_models(\n                models, mode=\"validation\"\n            )\n            required = True\n\n        return {\n            \"content\": {content_type: {\"schema\": schema}},\n            \"required\": required,\n        }\n\n    def responses(self, operation: Operation) -> Dict[int, DictStrAny]:\n        assert bool(operation.response_models), f\"{operation.response_models} empty\"\n\n        result = {}\n        for status, model in operation.response_models.items():\n            if status == Ellipsis:\n                continue  # it's not yet clear what it means if user wants to output any other code\n\n            description = responses.get(status, \"Unknown Status Code\")\n            details: Dict[int, Any] = {status: {\"description\": description}}\n            if model not in [None, NOT_SET]:\n                # ::TODO:: test this: by_alias == True\n                schema = self._create_schema_from_model(\n                    model, by_alias=operation.by_alias, mode=\"serialization\"\n                )[0]\n                if operation.stream_format is not None:\n                    details[status][\"content\"] = (\n                        operation.stream_format.openapi_content_schema(schema)\n                    )\n                else:\n                    details[status][\"content\"] = {\n                        self.api.renderer.media_type: {\"schema\": schema}\n                    }\n            result.update(details)\n\n        return result\n\n    def operation_security(self, operation: Operation) -> Optional[List[DictStrAny]]:\n        if not operation.auth_callbacks:\n            return None\n        result = []\n        for auth in operation.auth_callbacks:\n            if hasattr(auth, \"openapi_security_schema\"):\n                scopes: List[DictStrAny] = []  # TODO: scopes\n                name = auth.__class__.__name__\n                result.append({name: scopes})  # TODO: check if unique\n                self.securitySchemes[name] = auth.openapi_security_schema\n        return result\n\n    def get_components(self) -> DictStrAny:\n        result = {\"schemas\": self.schemas}\n        if self.securitySchemes:\n            result[\"securitySchemes\"] = self.securitySchemes\n        return result\n\n    def add_schema_definitions(self, definitions: dict) -> None:\n        # TODO: check if schema[\"definitions\"] are unique\n        # if not - workaround (maybe use pydantic.schema.schema(models)) to process list of models\n        # assert set(definitions.keys()) - set(self.schemas.keys()) == set()\n        # ::TODO:: this is broken in interesting ways for by_alias,\n        #     because same schema (name) can have different values\n        self.schemas.update(definitions)\n\n\ndef flatten_properties(\n    prop_name: str,\n    prop_details: DictStrAny,\n    prop_required: bool,\n    definitions: DictStrAny,\n) -> Generator[Tuple[str, DictStrAny, bool], None, None]:\n    \"\"\"\n    extracts all nested model's properties into flat properties\n    (used f.e. in GET params with multiple arguments and models)\n    \"\"\"\n    if \"allOf\" in prop_details:\n        resolve_allOf(prop_details, definitions)\n        if len(prop_details[\"allOf\"]) == 1 and \"enum\" in prop_details[\"allOf\"][0]:\n            # is_required = \"default\" not in prop_details\n            yield prop_name, prop_details, prop_required\n        else:  # pragma: no cover\n            # TODO: this code was for pydanitc 1.7+ ... <2.9 - check if this is still needed\n            for item in prop_details[\"allOf\"]:\n                yield from flatten_properties(\"\", item, True, definitions)\n\n    elif \"items\" in prop_details and \"$ref\" in prop_details[\"items\"]:\n        def_name = prop_details[\"items\"][\"$ref\"].rsplit(\"/\", 1)[-1]\n        prop_details[\"items\"].update(definitions[def_name])\n        del prop_details[\"items\"][\"$ref\"]  # seems num data is there so ref not needed\n        yield prop_name, prop_details, prop_required\n\n    elif \"$ref\" in prop_details:\n        def_name = prop_details[\"$ref\"].split(\"/\")[-1]\n        definition = definitions[def_name]\n        yield from flatten_properties(prop_name, definition, prop_required, definitions)\n\n    elif \"properties\" in prop_details:\n        required = set(prop_details.get(\"required\", []))\n        for k, v in prop_details[\"properties\"].items():\n            is_required = k in required\n            yield from flatten_properties(k, v, is_required, definitions)\n    else:\n        yield prop_name, prop_details, prop_required\n\n\ndef resolve_allOf(details: DictStrAny, definitions: DictStrAny) -> None:\n    \"\"\"\n    resolves all $ref's in 'allOf' section\n    \"\"\"\n    for item in details[\"allOf\"]:\n        if \"$ref\" in item:\n            def_name = item[\"$ref\"].rsplit(\"/\", 1)[-1]\n            item.update(definitions[def_name])\n            del item[\"$ref\"]\n\n\ndef merge_schemas(schemas: List[DictStrAny]) -> DictStrAny:\n    result = schemas[0]\n    for scm in schemas[1:]:\n        result[\"properties\"].update(scm[\"properties\"])\n\n    required_list = result.get(\"required\", [])\n    required_list.extend(\n        itertools.chain.from_iterable(\n            schema.get(\"required\", ()) for schema in schemas[1:]\n        )\n    )\n    if required_list:\n        result[\"required\"] = required_list\n    return result\n"
  },
  {
    "path": "ninja/openapi/urls.py",
    "content": "from functools import partial\nfrom typing import TYPE_CHECKING, Any, List\n\nfrom django.urls import path\n\nfrom .views import default_home, openapi_json, openapi_view\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n\n__all__ = [\"get_openapi_urls\", \"get_root_url\"]\n\n\ndef get_openapi_urls(api: \"NinjaAPI\") -> List[Any]:\n    result = []\n\n    if api.openapi_url:\n        view = partial(openapi_json, api=api)\n        if api.docs_decorator:\n            view = api.docs_decorator(view)  # type: ignore\n        result.append(\n            path(api.openapi_url.lstrip(\"/\"), view, name=\"openapi-json\"),\n        )\n\n        assert (\n            api.openapi_url != api.docs_url\n        ), \"Please use different urls for openapi_url and docs_url\"\n\n        if api.docs_url:\n            view = partial(openapi_view, api=api)\n            if api.docs_decorator:\n                view = api.docs_decorator(view)  # type: ignore\n            result.append(\n                path(api.docs_url.lstrip(\"/\"), view, name=\"openapi-view\"),\n            )\n\n    return result\n\n\ndef get_root_url(api: \"NinjaAPI\") -> Any:\n    return path(\"\", partial(default_home, api=api), name=\"api-root\")\n"
  },
  {
    "path": "ninja/openapi/views.py",
    "content": "from typing import TYPE_CHECKING, Any, NoReturn\n\nfrom django.http import Http404, HttpRequest, HttpResponse\n\nfrom ninja.openapi.docs import DocsBase\nfrom ninja.responses import Response\n\nif TYPE_CHECKING:\n    # if anyone knows a cleaner way to make mypy happy - welcome\n    from ninja import NinjaAPI  # pragma: no cover\n\n\ndef default_home(request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any) -> NoReturn:\n    \"This view is mainly needed to determine the full path for API operations\"\n    docs_url = f\"{request.path}{api.docs_url}\".replace(\"//\", \"/\")\n    raise Http404(f\"docs_url = {docs_url}\")\n\n\ndef openapi_json(request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any) -> HttpResponse:\n    schema = api.get_openapi_schema(path_params=kwargs)\n    return Response(schema)\n\n\ndef openapi_view(request: HttpRequest, api: \"NinjaAPI\", **kwargs: Any) -> HttpResponse:\n    docs: DocsBase = api.docs\n    return docs.render_page(request, api, **kwargs)\n"
  },
  {
    "path": "ninja/operation.py",
    "content": "import inspect\nimport warnings\nfrom typing import (\n    TYPE_CHECKING,\n    Any,\n    Callable,\n    Coroutine,\n    Dict,\n    Iterable,\n    List,\n    Optional,\n    Sequence,\n    Type,\n    Union,\n    cast,\n)\n\nimport pydantic\nfrom asgiref.sync import async_to_sync, sync_to_async\nfrom django.http import (\n    HttpRequest,\n    HttpResponse,\n    HttpResponseNotAllowed,\n    StreamingHttpResponse,\n)\nfrom django.http.response import HttpResponseBase\nfrom pydantic import BaseModel\n\nfrom ninja.compatibility.files import FIX_MIDDLEWARE_PATH, need_to_fix_request_files\nfrom ninja.compatibility.streaming import create_streaming_response\nfrom ninja.constants import NOT_SET, NOT_SET_TYPE\nfrom ninja.errors import (\n    AuthenticationError,\n    ConfigError,\n    Throttled,\n    ValidationErrorContext,\n)\nfrom ninja.params.models import TModels\nfrom ninja.responses import Status\nfrom ninja.schema import Schema, pydantic_version\nfrom ninja.signature import ViewSignature, is_async\nfrom ninja.streaming import StreamFormat, _serialize_item, _StreamAlias\nfrom ninja.throttling import BaseThrottle\nfrom ninja.types import DictStrAny\nfrom ninja.utils import is_async_callable\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n\n__all__ = [\"Operation\", \"PathView\", \"ResponseObject\"]\n\n\nclass Operation:\n    def __init__(\n        self,\n        path: str,\n        methods: List[str],\n        view_func: Callable,\n        *,\n        auth: Optional[Union[Sequence[Callable], Callable, NOT_SET_TYPE]] = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        include_in_schema: bool = True,\n        url_name: Optional[str] = None,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> None:\n        self.is_async = False\n        self.path: str = path\n        self.methods: List[str] = methods\n        self.view_func: Callable = view_func\n        self.api: NinjaAPI = cast(\"NinjaAPI\", None)\n        self.csrf_exempt: bool = getattr(view_func, \"csrf_exempt\", False)\n        if url_name is not None:\n            self.url_name = url_name\n\n        self.auth_param: Optional[Union[Sequence[Callable], Callable, object]] = auth\n        self.auth_callbacks: Sequence[Callable] = []\n        self._set_auth(auth)\n\n        if isinstance(throttle, BaseThrottle):\n            throttle = [throttle]\n        self.throttle_param = throttle\n        self.throttle_objects: List[BaseThrottle] = []\n        if throttle is not NOT_SET:\n            for th in throttle:  # type: ignore\n                assert isinstance(\n                    th, BaseThrottle\n                ), \"Throttle should be an instance of BaseThrottle\"\n                self.throttle_objects.append(th)\n\n        self.signature = ViewSignature(self.path, self.view_func)\n        self.models: TModels = self.signature.models\n\n        self.stream_format: Optional[Type[StreamFormat]] = None\n        self.stream_item_model: Optional[Type[Schema]] = None\n        self.response_models: Dict[Any, Any]\n        if isinstance(response, _StreamAlias):\n            self.stream_format = response.format_cls\n            self.stream_item_model = self._create_response_model(response.item_type)\n            self.response_models = {200: self.stream_item_model}\n        elif response is NOT_SET:\n            self.response_models = {200: NOT_SET}\n        elif isinstance(response, dict):\n            self.response_models = self._create_response_model_multiple(response)\n        else:\n            self.response_models = {200: self._create_response_model(response)}\n\n        if need_to_fix_request_files(methods, self.models):\n            raise ConfigError(\n                f\"Router '{path}' has method(s) {methods}  that require fixing request.FILES. \"\n                f\"Please add '{FIX_MIDDLEWARE_PATH}' to settings.MIDDLEWARE\"\n            )\n\n        self.operation_id = operation_id\n        self.summary = summary or self.view_func.__name__.title().replace(\"_\", \" \")\n        self.description = description or self.signature.docstring\n        self.tags = tags\n        self.deprecated = deprecated\n        self.include_in_schema = include_in_schema\n        self.openapi_extra = openapi_extra\n\n        # Exporting models params\n        self.by_alias = by_alias or False\n        self.exclude_unset = exclude_unset or False\n        self.exclude_defaults = exclude_defaults or False\n        self.exclude_none = exclude_none or False\n\n        if hasattr(view_func, \"_ninja_contribute_to_operation\"):\n            # Allow 3rd party code to contribute to the operation behavior\n            callbacks: List[Callable] = view_func._ninja_contribute_to_operation\n            for callback in callbacks:\n                callback(self)\n\n    def clone(self) -> \"Operation\":\n        \"\"\"\n        Create a fresh copy of this operation for binding to an API.\n\n        This method is used when mounting the same router multiple times\n        to ensure each mount has independent operation instances.\n        \"\"\"\n        # Create instance without calling __init__ to avoid expensive processing\n        cloned = object.__new__(self.__class__)\n\n        # Copy all essential attributes\n        cloned.is_async = self.is_async\n        cloned.path = self.path\n        cloned.methods = list(self.methods)\n        cloned.view_func = self.view_func\n        cloned.api = cast(\"NinjaAPI\", None)  # Will be set during binding\n        cloned.csrf_exempt = self.csrf_exempt\n\n        # Copy url_name if it exists\n        if hasattr(self, \"url_name\"):\n            cloned.url_name = self.url_name\n\n        # Copy auth settings\n        cloned.auth_param = self.auth_param\n        cloned.auth_callbacks = list(self.auth_callbacks)\n\n        # Copy throttle settings\n        cloned.throttle_param = self.throttle_param\n        cloned.throttle_objects = list(self.throttle_objects)\n\n        # Copy signature and models (immutable after creation, safe to share)\n        cloned.signature = self.signature\n        cloned.models = self.models\n\n        # Copy streaming attributes\n        cloned.stream_format = self.stream_format\n        cloned.stream_item_model = self.stream_item_model\n\n        # Copy response models (dict copy for isolation)\n        cloned.response_models = dict(self.response_models)\n\n        # Copy metadata\n        cloned.operation_id = self.operation_id\n        cloned.summary = self.summary\n        cloned.description = self.description\n        cloned.tags = list(self.tags) if self.tags else None\n        cloned.deprecated = self.deprecated\n        cloned.include_in_schema = self.include_in_schema\n        cloned.openapi_extra = dict(self.openapi_extra) if self.openapi_extra else None\n\n        # Copy export model params\n        cloned.by_alias = self.by_alias\n        cloned.exclude_unset = self.exclude_unset\n        cloned.exclude_defaults = self.exclude_defaults\n        cloned.exclude_none = self.exclude_none\n\n        # Re-apply run decorators (from decorate_view) to the clone's run method\n        # We can't just copy the decorated run because it's bound to the original instance\n        if hasattr(self, \"_run_decorators\") and self._run_decorators:\n            cloned._run_decorators = []  # type: ignore[attr-defined]\n            for deco in self._run_decorators:\n                cloned.run = deco(cloned.run)  # type: ignore\n                cloned._run_decorators.append(deco)  # type: ignore[attr-defined]\n\n        return cloned\n\n    def run(self, request: HttpRequest, **kw: Any) -> HttpResponseBase:\n        error = self._run_checks(request)\n        if error:\n            return error\n        try:\n            temporal_response = self.api.create_temporal_response(request)\n            values = self._get_values(request, kw, temporal_response)\n            result = self.view_func(request, **values)\n            if self.stream_format:\n                return self._stream_response(request, result, temporal_response)\n            return self._result_to_response(request, result, temporal_response)\n        except Exception as e:\n            if isinstance(e, TypeError) and \"required positional argument\" in str(e):\n                msg = \"Did you fail to use functools.wraps() in a decorator?\"\n                msg = f\"{e.args[0]}: {msg}\" if e.args else msg\n                e.args = (msg,) + e.args[1:]\n            return self.api.on_exception(request, e)\n\n    def _validate_stream_item(self, item: Any, request: HttpRequest) -> str:\n        \"\"\"Validate a single stream item and return serialized JSON string.\"\"\"\n        assert self.stream_item_model is not None\n        resp_object = ResponseObject(item)\n        validated = self.stream_item_model.model_validate(\n            resp_object, context={\"request\": request, \"response_status\": 200}\n        )\n\n        model_dump_kwargs: Dict[str, Any] = {}\n        if pydantic_version >= [2, 7]:  # pragma: no branch\n            # pydantic added support for serialization context at 2.7\n            model_dump_kwargs.update(\n                context={\"request\": request, \"response_status\": 200}\n            )\n\n        result = validated.model_dump(\n            by_alias=self.by_alias,\n            exclude_unset=self.exclude_unset,\n            exclude_defaults=self.exclude_defaults,\n            exclude_none=self.exclude_none,\n            **model_dump_kwargs,\n        )[\"response\"]\n        return _serialize_item(result)\n\n    def _stream_response(\n        self,\n        request: HttpRequest,\n        generator: Any,\n        temporal_response: HttpResponse,\n    ) -> StreamingHttpResponse:\n        \"\"\"Create a StreamingHttpResponse from a sync generator.\"\"\"\n        assert self.stream_format is not None\n        fmt = self.stream_format\n\n        def content_iter() -> Any:\n            for item in generator:\n                data = self._validate_stream_item(item, request)\n                yield fmt.format_chunk(data)\n            # Copy headers/cookies after generator completes (user may set them inside)\n            for key, value in temporal_response.items():\n                if key.lower() != \"content-type\":\n                    response[key] = value\n            for cookie_name, cookie in temporal_response.cookies.items():\n                response.cookies[cookie_name] = cookie\n\n        response = StreamingHttpResponse(\n            content_iter(),\n            content_type=fmt.media_type,\n            status=temporal_response.status_code,\n        )\n        # Add format-specific headers\n        for key, value in fmt.response_headers().items():\n            response[key] = value\n        return response\n\n    def _set_auth(\n        self, auth: Optional[Union[Sequence[Callable], Callable, object]]\n    ) -> None:\n        if auth is not None and auth is not NOT_SET:\n            self.auth_callbacks = isinstance(auth, Sequence) and auth or [auth]\n\n    def _run_checks(self, request: HttpRequest) -> Optional[HttpResponse]:\n        \"Runs security/throttle checks for each operation\"\n        # NOTE: if you change anything in this function - do this also in AsyncOperation\n\n        # Set CSRF exempt status on request so auth handlers can check it\n        if self.csrf_exempt:\n            # _ninja_csrf_exempt is a special flag that tells auth handler to skip CSRF checks\n            request._ninja_csrf_exempt = True  # type: ignore\n\n        # auth:\n        if self.auth_callbacks:\n            error = self._run_authentication(request)\n            if error:\n                return error\n\n        # Throttling:\n        if self.throttle_objects:\n            error = self._check_throttles(request)\n            if error:\n                return error\n\n        return None\n\n    def _run_authentication(self, request: HttpRequest) -> Optional[HttpResponse]:\n        for callback in self.auth_callbacks:\n            try:\n                if is_async_callable(callback) or getattr(callback, \"is_async\", False):\n                    result = callback(request)\n                    if inspect.iscoroutine(result):\n                        result = async_to_sync(callback)(request)\n                else:\n                    result = callback(request)\n            except Exception as exc:\n                return self.api.on_exception(request, exc)\n\n            if result:\n                request.auth = result  # type: ignore\n                return None\n        return self.api.on_exception(request, AuthenticationError())\n\n    def _check_throttles(self, request: HttpRequest) -> Optional[HttpResponse]:\n        throttle_durations = []\n        for throttle in self.throttle_objects:\n            if not throttle.allow_request(request):\n                throttle_durations.append(throttle.wait())\n\n        if throttle_durations:\n            # Filter out `None` values which may happen in case of config / rate\n            durations = [\n                duration for duration in throttle_durations if duration is not None\n            ]\n\n            duration = max(durations, default=None)\n            return self.api.on_exception(request, Throttled(wait=duration))  # type: ignore\n        return None\n\n    def _model_dump_kwargs(self, request: HttpRequest, status: int) -> Dict[str, Any]:\n        kwargs: Dict[str, Any] = {}\n        if pydantic_version >= [2, 7]:\n            kwargs[\"context\"] = {\"request\": request, \"response_status\": status}\n        return kwargs\n\n    def _result_to_response(\n        self, request: HttpRequest, result: Any, temporal_response: HttpResponse\n    ) -> HttpResponseBase:\n        \"\"\"\n        The protocol for results\n         - if HttpResponse - returns as is\n         - if Status object - uses status code + body\n         - if tuple with 2 elements - means http_code + body (deprecated)\n         - otherwise it's a body\n        \"\"\"\n        if isinstance(result, HttpResponseBase):\n            return result\n\n        status: int = 200\n        if len(self.response_models) == 1:\n            status = next(iter(self.response_models))\n\n        if isinstance(result, Status):\n            status = result.status_code\n            result = result.value\n        elif isinstance(result, tuple) and len(result) == 2:\n            warnings.warn(\n                \"Returning tuple (status_code, response) is deprecated. \"\n                \"Use Status(status_code, response) instead.\",\n                DeprecationWarning,\n                stacklevel=2,\n            )\n            status, result = result\n\n        if status in self.response_models:\n            response_model = self.response_models[status]\n        elif Ellipsis in self.response_models:\n            response_model = self.response_models[Ellipsis]\n        else:\n            raise ConfigError(\n                f\"Schema for status {status} is not set in response\"\n                f\" {self.response_models.keys()}\"\n            )\n\n        temporal_response.status_code = status\n\n        if response_model is NOT_SET:\n            return self.api.create_response(\n                request, result, temporal_response=temporal_response\n            )\n\n        if response_model is None:\n            # Empty response.\n            return temporal_response\n\n        model_dump_kwargs = self._model_dump_kwargs(request, status)\n\n        # Skip re-validation for pydantic model instances matching the response type\n        resp_annotation = response_model.model_fields[\"response\"].annotation\n        if (\n            isinstance(resp_annotation, type)\n            and isinstance(result, BaseModel)\n            and isinstance(result, resp_annotation)\n        ):\n            result = cast(BaseModel, result).model_dump(\n                by_alias=self.by_alias,\n                exclude_unset=self.exclude_unset,\n                exclude_defaults=self.exclude_defaults,\n                exclude_none=self.exclude_none,\n                **model_dump_kwargs,\n            )\n            return self.api.create_response(\n                request, result, temporal_response=temporal_response\n            )\n\n        resp_object = ResponseObject(result)\n        # ^ we need object because getter_dict seems work only with model_validate\n        validated_object = response_model.model_validate(\n            resp_object, context={\"request\": request, \"response_status\": status}\n        )\n\n        result = validated_object.model_dump(\n            by_alias=self.by_alias,\n            exclude_unset=self.exclude_unset,\n            exclude_defaults=self.exclude_defaults,\n            exclude_none=self.exclude_none,\n            **model_dump_kwargs,\n        )[\"response\"]\n        return self.api.create_response(\n            request, result, temporal_response=temporal_response\n        )\n\n    def _get_values(\n        self, request: HttpRequest, path_params: Any, temporal_response: HttpResponse\n    ) -> DictStrAny:\n        values = {}\n        error_contexts: List[ValidationErrorContext] = []\n        for model in self.models:\n            try:\n                data = model.resolve(request, self.api, path_params)\n                values.update(data)\n            except pydantic.ValidationError as e:\n                error_contexts.append(\n                    ValidationErrorContext(pydantic_validation_error=e, model=model)\n                )\n        if error_contexts:\n            validation_error = self.api.validation_error_from_error_contexts(\n                error_contexts\n            )\n            raise validation_error\n        if self.signature.response_arg:\n            values[self.signature.response_arg] = temporal_response\n        return values\n\n    def _create_response_model_multiple(\n        self, response_param: DictStrAny\n    ) -> Dict[str, Optional[Type[Schema]]]:\n        result = {}\n        for key, model in response_param.items():\n            status_codes = isinstance(key, Iterable) and key or [key]\n            for code in status_codes:\n                result[code] = self._create_response_model(model)\n        return result\n\n    def _create_response_model(self, response_param: Any) -> Optional[Type[Schema]]:\n        if response_param is None:\n            return None\n        attrs = {\"__annotations__\": {\"response\": response_param}}\n        return type(\"NinjaResponseSchema\", (Schema,), attrs)\n\n\nclass AsyncOperation(Operation):\n    def __init__(self, *args: Any, **kwargs: Any) -> None:\n        super().__init__(*args, **kwargs)\n        self.is_async = True\n\n    async def run(self, request: HttpRequest, **kw: Any) -> HttpResponseBase:  # type: ignore\n        error = await self._run_checks(request)\n        if error:\n            return error\n        try:\n            temporal_response = self.api.create_temporal_response(request)\n            values = self._get_values(request, kw, temporal_response)\n            if self.stream_format:\n                result = self.view_func(request, **values)\n                return await self._async_stream_response(\n                    request, result, temporal_response\n                )\n            result = await self.view_func(request, **values)\n            return self._result_to_response(request, result, temporal_response)\n        except Exception as e:\n            return self.api.on_exception(request, e)\n\n    async def _async_stream_response(\n        self,\n        request: HttpRequest,\n        generator: Any,\n        temporal_response: HttpResponse,\n    ) -> StreamingHttpResponse:\n        \"\"\"Create a StreamingHttpResponse from an async generator.\"\"\"\n        assert self.stream_format is not None\n        fmt = self.stream_format\n\n        async def content_gen() -> Any:\n            async for item in generator:\n                data = self._validate_stream_item(item, request)\n                yield fmt.format_chunk(data)\n\n        return await create_streaming_response(\n            content_gen(),\n            content_type=fmt.media_type,\n            status=temporal_response.status_code,\n            temporal_response=temporal_response,\n            extra_headers=fmt.response_headers(),\n        )\n\n    async def _run_checks(self, request: HttpRequest) -> Optional[HttpResponse]:  # type: ignore\n        \"Runs security/throttle checks for each operation\"\n        # NOTE: if you change anything in this function - do this also in Sync Operation\n\n        # Set CSRF exempt status on request so auth handlers can check it\n        if self.csrf_exempt:\n            request._ninja_csrf_exempt = True  # type: ignore\n\n        # auth:\n        if self.auth_callbacks:\n            error = await self._run_authentication(request)\n            if error:\n                return error\n\n        # Throttling:\n        if self.throttle_objects:\n            error = self._check_throttles(request)\n            if error:\n                return error\n\n        return None\n\n    async def _run_authentication(self, request: HttpRequest) -> Optional[HttpResponse]:  # type: ignore\n        for callback in self.auth_callbacks:\n            try:\n                if is_async_callable(callback) or getattr(callback, \"is_async\", False):\n                    cor: Optional[Coroutine] = callback(request)\n                    if cor is None:\n                        result = None\n                    else:\n                        result = await cor\n                else:\n                    result = await sync_to_async(callback)(request)\n            except Exception as exc:\n                return self.api.on_exception(request, exc)\n\n            if result:\n                request.auth = result  # type: ignore\n                return None\n        return self.api.on_exception(request, AuthenticationError())\n\n\nclass PathView:\n    def __init__(self) -> None:\n        self.operations: List[Operation] = []\n        self.is_async = False  # if at least one operation is async - will become True\n        self.url_name: Optional[str] = None\n\n    def add_operation(\n        self,\n        path: str,\n        methods: List[str],\n        view_func: Callable,\n        *,\n        auth: Optional[Union[Sequence[Callable], Callable, NOT_SET_TYPE]] = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Operation:\n        if url_name:\n            self.url_name = url_name\n\n        OperationClass = Operation\n        is_streaming = isinstance(response, _StreamAlias)\n        if is_async(view_func) or (\n            is_streaming and inspect.isasyncgenfunction(view_func)\n        ):\n            self.is_async = True\n            OperationClass = AsyncOperation\n\n        operation = OperationClass(\n            path,\n            methods,\n            view_func,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            include_in_schema=include_in_schema,\n            url_name=url_name,\n            openapi_extra=openapi_extra,\n        )\n\n        self.operations.append(operation)\n        view_func._ninja_operation = operation  # type: ignore\n\n        return operation\n\n    def clone(self) -> \"PathView\":\n        \"\"\"\n        Create a fresh copy of this PathView with cloned operations.\n\n        This method is used when mounting the same router multiple times\n        to ensure each mount has independent PathView and Operation instances.\n        \"\"\"\n        cloned = PathView()\n        cloned.is_async = self.is_async\n        cloned.url_name = self.url_name\n        cloned.operations = [op.clone() for op in self.operations]\n        return cloned\n\n    def get_view(self) -> Callable:\n        # Create a unique view function for this PathView\n\n        if self.is_async:\n            # Create a wrapper for async view\n            async def async_view_wrapper(\n                request: HttpRequest, *args: Any, **kwargs: Any\n            ) -> HttpResponseBase:\n                return await self._async_view(request, *args, **kwargs)\n\n            # All django-ninja views are CSRF exempt at Django middleware level\n            # Cookie-based auth (APIKeyCookie) handles CSRF checking separately\n            async_view_wrapper.csrf_exempt = True  # type: ignore\n\n            return async_view_wrapper\n        else:\n            # Create a wrapper for sync view\n            def sync_view_wrapper(\n                request: HttpRequest, *args: Any, **kwargs: Any\n            ) -> HttpResponseBase:\n                return self._sync_view(request, *args, **kwargs)\n\n            # All django-ninja views are CSRF exempt at Django middleware level\n            # Cookie-based auth (APIKeyCookie) handles CSRF checking separately\n            sync_view_wrapper.csrf_exempt = True  # type: ignore\n\n            return sync_view_wrapper\n\n    def _sync_view(self, request: HttpRequest, *a: Any, **kw: Any) -> HttpResponseBase:\n        operation = self._find_operation(request)\n        if operation is None:\n            return self._not_allowed()\n        return operation.run(request, *a, **kw)\n\n    async def _async_view(\n        self, request: HttpRequest, *a: Any, **kw: Any\n    ) -> HttpResponseBase:\n        operation = self._find_operation(request)\n        if operation is None:\n            return self._not_allowed()\n        if operation.is_async:\n            return await cast(AsyncOperation, operation).run(request, *a, **kw)\n        return await sync_to_async(operation.run)(request, *a, **kw)\n\n    def _find_operation(self, request: HttpRequest) -> Optional[Operation]:\n        for op in self.operations:\n            if request.method in op.methods:\n                return op\n        return None\n\n    def _not_allowed(self) -> HttpResponse:\n        allowed_methods = set()\n        for op in self.operations:\n            allowed_methods.update(op.methods)\n        return HttpResponseNotAllowed(allowed_methods, content=b\"Method not allowed\")\n\n\nclass ResponseObject:\n    \"Basically this is just a helper to be able to pass response to pydantic's model_validate\"\n\n    def __init__(self, response: HttpResponse) -> None:\n        self.response = response\n"
  },
  {
    "path": "ninja/orm/__init__.py",
    "content": "from ninja.orm.factory import create_schema\nfrom ninja.orm.fields import register_field\nfrom ninja.orm.metaclass import ModelSchema\n\n__all__ = [\"create_schema\", \"register_field\", \"ModelSchema\"]\n"
  },
  {
    "path": "ninja/orm/factory.py",
    "content": "import itertools\nfrom typing import Any, Dict, Iterator, List, Optional, Set, Tuple, Type, Union, cast\n\nfrom django.db.models import Field as DjangoField\nfrom django.db.models import ManyToManyRel, ManyToOneRel, Model\nfrom pydantic import create_model as create_pydantic_model\n\nfrom ninja.errors import ConfigError\nfrom ninja.orm.fields import get_schema_field\nfrom ninja.schema import Schema\n\n# MAYBE:\n# Schema = create_schema(Model, exclude=['id'])\n#\n# @api.post\n# def operation_create(request, payload: Schema):\n#     orm_instance = payload.orm.apply(Model())\n#     orm_instance.save()\n#\n# @api.post(\"/{id}\")\n# def operation_edit(request, id: int, payload: Schema):\n#     orm_instance = payload.orm.apply(Model.objects.get(id=id))\n#     orm_instance.save()\n\n__all__ = [\"SchemaFactory\", \"factory\", \"create_schema\"]\n\nSchemaKey = Tuple[Type[Model], str, int, str, str, str, str]\n\n\nclass SchemaFactory:\n    def __init__(self) -> None:\n        self.schemas: Dict[SchemaKey, Type[Schema]] = {}\n        self.schema_names: Set[str] = set()\n\n    def create_schema(\n        self,\n        model: Type[Model],\n        *,\n        name: str = \"\",\n        depth: int = 0,\n        fields: Optional[List[str]] = None,\n        exclude: Optional[List[str]] = None,\n        optional_fields: Optional[List[str]] = None,\n        custom_fields: Optional[List[Tuple[str, Any, Any]]] = None,\n        base_class: Type[Schema] = Schema,\n    ) -> Type[Schema]:\n        name = name or model.__name__\n\n        if fields and exclude:\n            raise ConfigError(\"Only one of 'fields' or 'exclude' should be set.\")\n\n        key = self.get_key(\n            model, name, depth, fields, exclude, optional_fields, custom_fields\n        )\n        if key in self.schemas:\n            return self.schemas[key]\n\n        model_fields_list = list(self._selected_model_fields(model, fields, exclude))\n        if optional_fields:\n            if optional_fields == \"__all__\":\n                optional_fields = [f.name for f in model_fields_list]\n\n        definitions = {}\n        for fld in model_fields_list:\n            python_type, field_info = get_schema_field(\n                fld,\n                depth=depth,\n                optional=optional_fields and (fld.name in optional_fields),\n            )\n            definitions[fld.name] = (python_type, field_info)\n\n        if custom_fields:\n            for fld_name, python_type, field_info in custom_fields:\n                # if not isinstance(field_info, FieldInfo):\n                #     field_info = Field(field_info)\n                definitions[fld_name] = (python_type, field_info)\n\n        if name in self.schema_names:\n            name = self._get_unique_name(name)\n\n        schema: Type[Schema] = create_pydantic_model(\n            name,\n            __config__=None,\n            __base__=base_class,\n            __module__=base_class.__module__,\n            __validators__={},\n            **definitions,\n        )  # type: ignore\n        # __model_name: str,\n        # *,\n        # __config__: ConfigDict | None = None,\n        # __base__: None = None,\n        # __module__: str = __name__,\n        # __validators__: dict[str, AnyClassMethod] | None = None,\n        # __cls_kwargs__: dict[str, Any] | None = None,\n        # **field_definitions: Any,\n        self.schemas[key] = schema\n        self.schema_names.add(name)\n        return schema\n\n    def get_key(\n        self,\n        model: Type[Model],\n        name: str,\n        depth: int,\n        fields: Union[str, List[str], None],\n        exclude: Optional[List[str]],\n        optional_fields: Optional[Union[List[str], str]],\n        custom_fields: Optional[List[Tuple[str, str, Any]]],\n    ) -> SchemaKey:\n        \"returns a hashable value for all given parameters\"\n        # TODO: must be a test that compares all kwargs from init to get_key\n        return (\n            model,\n            name,\n            depth,\n            str(fields),\n            str(exclude),\n            str(optional_fields),\n            str(custom_fields),\n        )\n\n    def _get_unique_name(self, name: str) -> str:\n        \"Returns a unique name by adding counter suffix\"\n        for num in itertools.count(start=2):  # pragma: no branch\n            result = f\"{name}{num}\"\n            if result not in self.schema_names:\n                break\n        return result\n\n    def _selected_model_fields(\n        self,\n        model: Type[Model],\n        fields: Optional[List[str]] = None,\n        exclude: Optional[List[str]] = None,\n    ) -> Iterator[DjangoField]:\n        \"Returns iterator for model fields based on `exclude` or `fields` arguments\"\n        all_fields = {f.name: f for f in self._model_fields(model)}\n\n        if not fields and not exclude:\n            for f in all_fields.values():\n                yield f\n\n        invalid_fields = (set(fields or []) | set(exclude or [])) - all_fields.keys()\n        if invalid_fields:\n            raise ConfigError(\n                f\"DjangoField(s) {invalid_fields} are not in model {model}\"\n            )\n\n        if fields:\n            for name in fields:\n                yield all_fields[name]\n        if exclude:\n            for f in all_fields.values():\n                if f.name not in exclude:\n                    yield f\n\n    def _model_fields(self, model: Type[Model]) -> Iterator[DjangoField]:\n        \"returns iterator with all the fields that can be part of schema\"\n        for fld in model._meta.get_fields():\n            if isinstance(fld, (ManyToOneRel, ManyToManyRel)):\n                # skipping relations\n                continue\n            yield cast(DjangoField, fld)\n\n\nfactory = SchemaFactory()\n\ncreate_schema = factory.create_schema\n"
  },
  {
    "path": "ninja/orm/fields.py",
    "content": "import datetime\nfrom decimal import Decimal\nfrom typing import Any, Callable, Dict, List, Tuple, Type, TypeVar, Union, no_type_check\nfrom uuid import UUID\n\nfrom django.db.models import ManyToManyField\nfrom django.db.models.fields import Field as DjangoField\nfrom pydantic import IPvAnyAddress\nfrom pydantic.fields import FieldInfo\nfrom pydantic_core import PydanticUndefined, core_schema\n\nfrom ninja.errors import ConfigError\nfrom ninja.openapi.schema import OpenAPISchema\nfrom ninja.types import DictStrAny\n\n__all__ = [\"create_m2m_link_type\", \"get_schema_field\", \"get_related_field_schema\"]\n\n\n# keep_lazy seems not needed as .title forces translation anyway\n# https://github.com/vitalik/django-ninja/issues/774\n# @keep_lazy_text\ndef title_if_lower(s: str) -> str:\n    if s == s.lower():\n        return s.title()\n    return s\n\n\nclass AnyObject:\n    @classmethod\n    def __get_pydantic_core_schema__(\n        cls, source: Any, handler: Callable[..., Any]\n    ) -> Any:\n        return core_schema.with_info_plain_validator_function(cls.validate)\n\n    @classmethod\n    def __get_pydantic_json_schema__(\n        cls, schema: Any, handler: Callable[..., Any]\n    ) -> DictStrAny:\n        return {\"type\": \"object\"}\n\n    @classmethod\n    def validate(cls, value: Any, _: Any) -> Any:\n        return value\n\n\nTYPES = {\n    \"AutoField\": int,\n    \"BigAutoField\": int,\n    \"BigIntegerField\": int,\n    \"BinaryField\": bytes,\n    \"BooleanField\": bool,\n    \"CharField\": str,\n    \"DateField\": datetime.date,\n    \"DateTimeField\": datetime.datetime,\n    \"DecimalField\": Decimal,\n    \"DurationField\": datetime.timedelta,\n    \"FileField\": str,\n    \"FilePathField\": str,\n    \"FloatField\": float,\n    \"GenericIPAddressField\": IPvAnyAddress,\n    \"IPAddressField\": IPvAnyAddress,\n    \"IntegerField\": int,\n    \"JSONField\": AnyObject,\n    \"NullBooleanField\": bool,\n    \"PositiveBigIntegerField\": int,\n    \"PositiveIntegerField\": int,\n    \"PositiveSmallIntegerField\": int,\n    \"SlugField\": str,\n    \"SmallAutoField\": int,\n    \"SmallIntegerField\": int,\n    \"TextField\": str,\n    \"TimeField\": datetime.time,\n    \"UUIDField\": UUID,\n    # postgres fields:\n    \"ArrayField\": List,\n    \"CICharField\": str,\n    \"CIEmailField\": str,\n    \"CITextField\": str,\n    \"HStoreField\": Dict,\n}\n\nTModel = TypeVar(\"TModel\")\n\n\ndef register_field(django_field: str, python_type: Any) -> None:\n    TYPES[django_field] = python_type\n\n\n@no_type_check\ndef create_m2m_link_type(type_: Type[TModel]) -> Type[TModel]:\n    class M2MLink(type_):  # type: ignore\n        @classmethod\n        def __get_pydantic_core_schema__(cls, source, handler):\n            return core_schema.with_info_plain_validator_function(cls._validate)\n\n        @classmethod\n        def __get_pydantic_json_schema__(cls, schema, handler):\n            json_type = {\n                int: \"integer\",\n                str: \"string\",\n                float: \"number\",\n                UUID: \"string\",\n            }[type_]\n            return {\"type\": json_type}\n\n        @classmethod\n        def _validate(cls, v: Any, _):\n            try:\n                return v.pk  # when we output queryset - we have db instances\n            except AttributeError:\n                return type_(v)  # when we read payloads we have primakey keys\n\n    return M2MLink\n\n\n@no_type_check\ndef get_schema_field(\n    field: DjangoField, *, depth: int = 0, optional: bool = False\n) -> Tuple:\n    \"Returns pydantic field from django's model field\"\n    alias = None\n    default = ...\n    default_factory = None\n    description = None\n    title = None\n    max_length = None\n    nullable = False\n    python_type = None\n\n    if field.is_relation:\n        if depth > 0:\n            return get_related_field_schema(field, depth=depth)\n\n        internal_type = field.related_model._meta.pk.get_internal_type()\n\n        if not field.concrete and field.auto_created or field.null or optional:\n            default = None\n            nullable = True\n\n        alias = getattr(field, \"get_attname\", None) and field.get_attname()\n\n        pk_type = TYPES.get(internal_type, int)\n        if field.one_to_many or field.many_to_many:\n            m2m_type = create_m2m_link_type(pk_type)\n            python_type = List[m2m_type]  # type: ignore\n        else:\n            python_type = pk_type\n\n    else:\n        _f_name, _f_path, _f_pos, field_options = field.deconstruct()\n        blank = field_options.get(\"blank\", False)\n        null = field_options.get(\"null\", False)\n        max_length = field_options.get(\"max_length\")\n\n        internal_type = field.get_internal_type()\n        try:\n            python_type = TYPES[internal_type]\n        except KeyError as e:\n            msg = [\n                f\"Do not know how to convert django field '{internal_type}'.\",\n                \"Try from ninja.orm import register_field\",\n                f\"register_field('{internal_type}', <your-python-type>)\",\n            ]\n            raise ConfigError(\"\\n\".join(msg)) from e\n\n        if field.primary_key or blank or null or optional:\n            default = None\n            nullable = True\n\n        if field.has_default():\n            if callable(field.default):\n                default_factory = field.default\n            else:\n                default = field.default\n\n    if default_factory:\n        default = PydanticUndefined\n\n    if nullable:\n        python_type = Union[python_type, None]  # aka Optional in 3.7+\n\n    description = field.help_text or None\n    title = title_if_lower(field.verbose_name)\n\n    return (\n        python_type,\n        FieldInfo(\n            default=default,\n            alias=alias,\n            validation_alias=alias,\n            serialization_alias=alias,\n            default_factory=default_factory,\n            title=title,\n            description=description,\n            max_length=max_length,\n        ),\n    )\n\n\n@no_type_check\ndef get_related_field_schema(field: DjangoField, *, depth: int) -> Tuple[OpenAPISchema]:\n    from ninja.orm import create_schema\n\n    model = field.related_model\n    schema = create_schema(model, depth=depth - 1)\n    default = ...\n    if not field.concrete and field.auto_created or field.null:\n        default = None\n    if isinstance(field, ManyToManyField):\n        schema = List[schema]  # type: ignore\n\n    return (\n        schema,\n        FieldInfo(\n            default=default,\n            description=field.help_text,\n            title=title_if_lower(field.verbose_name),\n        ),\n    )\n"
  },
  {
    "path": "ninja/orm/metaclass.py",
    "content": "from typing import Any, List, Optional, Union, no_type_check\n\nfrom django.apps import apps\nfrom django.db.models import Model as DjangoModel\nfrom pydantic.dataclasses import dataclass\n\nfrom ninja.compatibility.util import get_annotations_from_namespace\nfrom ninja.errors import ConfigError\nfrom ninja.orm.factory import create_schema\nfrom ninja.schema import ResolverMetaclass, Schema\n\n_is_modelschema_class_defined = False\n\n\n@dataclass\nclass MetaConf:\n    model: Any\n    fields: Optional[List[str]] = None\n    exclude: Union[List[str], str, None] = None\n    fields_optional: Union[List[str], str, None] = None\n\n    @staticmethod\n    def from_schema_class(name: str, namespace: dict) -> \"MetaConf\":\n        if \"Config\" in namespace:\n            raise ConfigError(  # pragma: no cover\n                \"The use of `Config` class is removed for ModelSchema, use 'Meta' instead\",\n            )\n        if \"Meta\" in namespace:\n            meta = namespace[\"Meta\"]\n            model = meta.model\n            if isinstance(model, str):\n                try:\n                    app_label, model_name = model.split(\".\")\n                except ValueError as e:\n                    raise ValueError(\n                        f\"Model string must be in format 'app_label.ModelName', got: {model}\"\n                    ) from e\n                model = apps.get_model(app_label, model_name)\n            fields = getattr(meta, \"fields\", None)\n            exclude = getattr(meta, \"exclude\", None)\n            optional_fields = getattr(meta, \"fields_optional\", None)\n\n        else:\n            raise ConfigError(f\"ModelSchema class '{name}' requires a 'Meta' subclass\")\n\n        assert issubclass(model, DjangoModel)\n\n        if not fields and not exclude:\n            raise ConfigError(\n                \"Creating a ModelSchema without either the 'fields' attribute\"\n                \" or the 'exclude' attribute is prohibited\"\n            )\n\n        if fields == \"__all__\":\n            fields = None\n            # ^ when None is passed to create_schema - all fields are selected\n\n        return MetaConf(\n            model=model,\n            fields=fields,\n            exclude=exclude,\n            fields_optional=optional_fields,\n        )\n\n\nclass ModelSchemaMetaclass(ResolverMetaclass):\n    @no_type_check\n    def __new__(\n        mcs,\n        name: str,\n        bases: tuple,\n        namespace: dict,\n        **kwargs,\n    ):\n        cls = super().__new__(\n            mcs,\n            name,\n            bases,\n            namespace,\n            **kwargs,\n        )\n        for base in reversed(bases):\n            if (\n                _is_modelschema_class_defined\n                and issubclass(base, ModelSchema)\n                and base == ModelSchema\n            ):\n                meta_conf = MetaConf.from_schema_class(name, namespace)\n\n                custom_fields = []\n                annotations = get_annotations_from_namespace(namespace)\n                for attr_name, type in annotations.items():\n                    if attr_name.startswith(\"_\"):\n                        continue\n                    default = namespace.get(attr_name, ...)\n                    custom_fields.append((attr_name, type, default))\n\n                # # cls.__doc__ = namespace.get(\"__doc__\", config.model.__doc__)\n                # cls.__fields__ = {}  # forcing pydantic recreate\n                # # assert False, \"!! cls.model_fields\"\n\n                # print(config.model, name, fields, exclude, \"!!\")\n\n                model_schema = create_schema(\n                    meta_conf.model,\n                    name=name,\n                    fields=meta_conf.fields,\n                    exclude=meta_conf.exclude,\n                    optional_fields=meta_conf.fields_optional,\n                    custom_fields=custom_fields,\n                    base_class=cls,\n                )\n                model_schema.__doc__ = cls.__doc__\n                return model_schema\n\n        return cls\n\n\nclass ModelSchema(Schema, metaclass=ModelSchemaMetaclass):\n    pass\n\n\n_is_modelschema_class_defined = True\n"
  },
  {
    "path": "ninja/orm/shortcuts.py",
    "content": "from typing import Any, List, Type\n\nfrom ninja import Schema\nfrom ninja.orm.factory import create_schema\n\n__all__ = [\"S\", \"L\"]\n\n\n# GOAL:\n# from ninja.orm import S, L\n# S(Job) -> JobSchema? Job?\n# S(Job) -> should reuse already created schema\n# S(Job, fields='xxx') -> new schema ? how to name Job1 , 2, 3 and so on ?\n# L(Job) -> List[Job]\n\n\ndef S(model: Any, **kwargs: Any) -> Type[Schema]:\n    return create_schema(model, **kwargs)\n\n\ndef L(model: Any, **kwargs: Any) -> List[Any]:\n    schema = S(model, **kwargs)\n    return List[schema]  # type: ignore\n"
  },
  {
    "path": "ninja/pagination.py",
    "content": "import binascii\nimport inspect\nfrom abc import ABC, abstractmethod\nfrom base64 import b64decode, b64encode\nfrom functools import partial, wraps\nfrom math import inf\nfrom typing import (\n    Any,\n    AsyncGenerator,\n    Callable,\n    List,\n    Optional,\n    Tuple,\n    Type,\n    Union,\n)\nfrom urllib import parse\n\nfrom django.db.models import QuerySet\nfrom django.http import HttpRequest\nfrom django.utils.module_loading import import_string\nfrom pydantic import BaseModel, field_validator\nfrom typing_extensions import get_args as get_collection_args\n\nfrom ninja import Field, Query, Router, Schema\nfrom ninja.conf import settings\nfrom ninja.constants import NOT_SET\nfrom ninja.errors import ConfigError, ValidationError\nfrom ninja.operation import Operation\nfrom ninja.responses import Status\nfrom ninja.signature.details import is_collection_type\nfrom ninja.utils import (\n    contribute_operation_args,\n    contribute_operation_callback,\n    is_async_callable,\n)\n\n\nclass PaginationBase(ABC):\n    class Input(Schema):\n        pass\n\n    InputSource = Query(...)\n\n    class Output(Schema):\n        items: List[Any]\n        count: int\n\n    items_attribute: str = \"items\"\n\n    def __init__(self, *, pass_parameter: Optional[str] = None, **kwargs: Any) -> None:\n        self.pass_parameter = pass_parameter\n\n    @abstractmethod\n    def paginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Any,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        pass  # pragma: no cover\n\n    def _items_count(self, queryset: QuerySet) -> int:\n        \"\"\"\n        Since lists are mainly compatible with QuerySets and can be passed to paginator.\n        We will first to try to use .count - and if not there will use a len\n        \"\"\"\n        try:\n            # forcing to find queryset.count instead of list.count:\n            return queryset.all().count()\n        except AttributeError:\n            return len(queryset)\n\n\nclass AsyncPaginationBase(PaginationBase):\n    @abstractmethod\n    async def apaginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Any,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        pass  # pragma: no cover\n\n    async def _aitems_count(self, queryset: QuerySet) -> int:\n        try:\n            return await queryset.all().acount()\n        except AttributeError:\n            return len(queryset)\n\n\nclass LimitOffsetPagination(AsyncPaginationBase):\n    class Input(Schema):\n        limit: int = Field(\n            settings.PAGINATION_PER_PAGE,\n            ge=1,\n            le=(\n                settings.PAGINATION_MAX_LIMIT\n                if settings.PAGINATION_MAX_LIMIT != inf\n                else None\n            ),\n        )\n        offset: int = Field(0, ge=0)\n\n    def paginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Input,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        offset = pagination.offset\n        limit: int = min(pagination.limit, settings.PAGINATION_MAX_LIMIT)\n        return {\n            self.items_attribute: queryset[offset : offset + limit],\n            \"count\": self._items_count(queryset),\n        }  # noqa: E203\n\n    async def apaginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Input,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        offset = pagination.offset\n        limit: int = min(pagination.limit, settings.PAGINATION_MAX_LIMIT)\n        if isinstance(queryset, QuerySet):\n            items = [obj async for obj in queryset[offset : offset + limit]]\n        else:\n            items = queryset[offset : offset + limit]\n        return {\n            self.items_attribute: items,\n            \"count\": await self._aitems_count(queryset),\n        }  # noqa: E203\n\n\nclass PageNumberPagination(AsyncPaginationBase):\n    class Input(Schema):\n        page: int = Field(1, ge=1)\n        page_size: Optional[int] = Field(None, ge=1)\n\n    def __init__(\n        self,\n        page_size: int = settings.PAGINATION_PER_PAGE,\n        max_page_size: int = settings.PAGINATION_MAX_PER_PAGE_SIZE,\n        **kwargs: Any,\n    ) -> None:\n        self.page_size = page_size\n        self.max_page_size = max_page_size\n        super().__init__(**kwargs)\n\n    def _get_page_size(self, requested_page_size: Optional[int]) -> int:\n        if requested_page_size is None:\n            return self.page_size\n\n        return min(requested_page_size, self.max_page_size)\n\n    def paginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Input,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        page_size = self._get_page_size(pagination.page_size)\n        offset = (pagination.page - 1) * page_size\n        return {\n            self.items_attribute: queryset[offset : offset + page_size],\n            \"count\": self._items_count(queryset),\n        }  # noqa: E203\n\n    async def apaginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Input,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        page_size = self._get_page_size(pagination.page_size)\n        offset = (pagination.page - 1) * page_size\n\n        if isinstance(queryset, QuerySet):\n            items = [obj async for obj in queryset[offset : offset + page_size]]\n        else:\n            items = queryset[offset : offset + page_size]\n\n        return {\n            self.items_attribute: items,\n            \"count\": await self._aitems_count(queryset),\n        }  # noqa: E203\n\n\nclass CursorPagination(AsyncPaginationBase):\n    max_page_size: int\n    page_size: int\n\n    items_attribute: str = \"results\"\n\n    def __init__(\n        self,\n        *,\n        ordering: Tuple[str, ...] = settings.PAGINATION_DEFAULT_ORDERING,\n        page_size: int = settings.PAGINATION_PER_PAGE,\n        max_page_size: int = settings.PAGINATION_MAX_PER_PAGE_SIZE,\n        **kwargs: Any,\n    ) -> None:\n        self.ordering = ordering\n        # take the first ordering parameter as the attribute for establishing\n        # position\n        self._order_attribute = (\n            ordering[0][1:] if ordering[0].startswith(\"-\") else ordering[0]\n        )\n        self._order_attribute_reversed = ordering[0].startswith(\"-\")\n\n        self.page_size = page_size\n        self.max_page_size = max_page_size\n\n        super().__init__(**kwargs)\n\n    class Input(Schema):\n        page_size: Optional[int] = None\n        cursor: Optional[str] = None\n\n    class Output(Schema):\n        previous: Optional[str]\n        next: Optional[str]\n        results: List[Any]\n\n    class Cursor(BaseModel):\n        \"\"\"\n        Represents pagination state.\n\n        This is encoded in a base64 query parameter.\n\n        \"\"\"\n\n        p: Optional[str] = Field(\n            default=None,\n            title=\"position\",\n            description=\"String identifier for the current position in the dataset\",\n        )\n\n        r: bool = Field(\n            default=False,\n            title=\"reverse\",\n            description=\"Whether to reverse the ordering direction\",\n        )\n\n        # offset enables the use of a non-unique ordering field\n        # e.g. if created time of two items is exactly the same, we can use the offset\n        # to figure out the position exactly\n        o: int = Field(\n            default=0,\n            ge=0,\n            lt=settings.PAGINATION_MAX_OFFSET,\n            title=\"offset\",\n            description=\"Number of items to skip from the current position\",\n        )\n\n        @field_validator(\"*\", mode=\"before\")\n        @classmethod\n        def validate_individual_queryparam(cls, value: Any) -> Any:\n            \"\"\"\n            Handle query string parsing quirks where single values become lists.\n\n            URL parsing libraries wrap single query parameters in lists, we only\n            care about a single value\n            \"\"\"\n            if isinstance(value, list):\n                return value[0]\n            return value\n\n        @classmethod\n        def from_encoded_param(\n            cls, encoded_param: Optional[str], context: Any = None\n        ) -> \"CursorPagination.Cursor\":\n            \"\"\"\n            Deserialize cursor from URL-safe base64 token.\n            \"\"\"\n            if not encoded_param:\n                return cls()\n            try:\n                decoded = b64decode(\n                    encoded_param.encode(\"ascii\"), validate=True\n                ).decode(\"ascii\")\n            except (ValueError, binascii.Error) as e:\n                raise ValidationError([{\"cursor\": \"Invalid Cursor\"}]) from e\n\n            parsed_querystring = parse.parse_qs(decoded, keep_blank_values=True)\n            return cls.model_validate(parsed_querystring, context=context)\n\n        def encode_as_param(self) -> str:\n            \"\"\"\n            Serialize cursor to URL-safe base64 token.\n            \"\"\"\n            data = self.model_dump(\n                exclude_defaults=True, exclude_none=True, exclude_unset=True\n            )\n            query_string = parse.urlencode(data, doseq=True)\n            return b64encode(query_string.encode(\"ascii\")).decode(\"ascii\")\n\n    @staticmethod\n    def _reverse_order(order: Tuple[str, ...]) -> Tuple[str, ...]:\n        \"\"\"\n        Flip ordering direction for backward pagination.\n\n        Example:\n            (\"-created\", \"pk\") becomes (\"created\", \"-pk\")\n            (\"name\", \"-updated\") becomes (\"-name\", \"updated\")\n        \"\"\"\n        return tuple(\n            marker[1:] if marker.startswith(\"-\") else f\"-{marker}\" for marker in order\n        )\n\n    def _get_position(self, item: Any) -> str:\n        \"\"\"\n        Extract the string representation of the attribute value used for ordering,\n        which serves as the position identifier.\n\n        \"\"\"\n        return str(getattr(item, self._order_attribute))\n\n    def _get_page_size(self, requested_page_size: Optional[int]) -> int:\n        \"\"\"\n        Determine the actual page size to use, respecting configured limits.\n\n        Uses the default page size when no specific size is requested, otherwise\n        clamps the requested size within the allowed range to prevent resource\n        exhaustion attacks.\n        \"\"\"\n        if requested_page_size is None:\n            return self.page_size\n        return min(self.max_page_size, max(1, requested_page_size))\n\n    def _build_next_cursor(\n        self,\n        current_cursor: Cursor,\n        results: List[Any],\n        additional_position: Optional[str] = None,\n    ) -> Optional[Cursor]:\n        \"\"\"\n        Build cursor for next page\n        \"\"\"\n        if (additional_position is None and not current_cursor.r) or not results:\n            return None\n\n        if not current_cursor.r:\n            # next position is provided by the additional position in a forward cursor\n            next_position = additional_position\n        else:\n            # default to the last item\n            # this will result in this item being included in the next set of results\n            # when flipping from a reversed cursor query to a forward cursor query\n            next_position = self._get_position(results[-1])\n\n        offset = 0\n\n        if current_cursor.p == next_position and not current_cursor.r:\n            offset += current_cursor.o + len(results)\n        else:\n            # Count duplicates at page end to find the offset\n            for item in reversed(results):\n                item_position_value = self._get_position(item)\n                if item_position_value != next_position:\n                    break\n                offset += 1\n\n        return self.Cursor(o=offset, r=False, p=next_position)\n\n    def _build_previous_cursor(\n        self,\n        current_cursor: Cursor,\n        results: List[Any],\n        additional_position: Optional[str] = None,\n    ) -> Optional[Cursor]:\n        \"\"\"\n        Build cursor for previous page\n        \"\"\"\n        if (\n            current_cursor.r and additional_position is None\n        ) or current_cursor.p is None:\n            return None\n\n        if not results:\n            # End of dataset - create reverse cursor to go backward\n            return self.Cursor(o=0, r=True, p=current_cursor.p)\n\n        if current_cursor.r:\n            # previous position is provided by the additional position in a\n            # reversed cursor\n            previous_position = additional_position\n\n        else:\n            # default to the first item\n            # this will result in this item being included in the previous set of\n            # results when flipping from a forward cursor query to a reversed\n            # cursor query\n            previous_position = self._get_position(results[0])\n\n        offset = 0\n\n        if current_cursor.p == previous_position and current_cursor.r:\n            offset += current_cursor.o + len(results)\n        else:\n            # Count duplicates at page end to find the offset\n            for item in results:\n                item_position_value = self._get_position(item)\n                if item_position_value != previous_position:\n                    break\n                offset += 1\n\n        return self.Cursor(o=offset, r=True, p=previous_position)\n\n    @staticmethod\n    def _add_cursor_to_URL(url: str, cursor: Optional[Cursor]) -> Optional[str]:\n        \"\"\"\n        Build pagination URLs with an encoded cursor.\n\n        Ignore any previous cursors but preserve any other query parameters\n\n        Example:\n            Given URL \"https://api.example.com/pages?tag=hiring\" and a cursor\n            with position \"2024-01-01T10:00:00Z\", returns:\n            \"https://api.example.com/pages?cursor=cD0yMDI0LTAxLTAxVDEwJTNBMDA%3D&tag=hiring\"\n        \"\"\"\n\n        if cursor is None:\n            return None\n        (scheme, netloc, path, query, fragment) = parse.urlsplit(url)\n        query_dict = parse.parse_qs(query, keep_blank_values=True)\n        query_dict[\"cursor\"] = [cursor.encode_as_param()]\n        query = parse.urlencode(sorted(query_dict.items()), doseq=True)\n        return parse.urlunsplit((scheme, netloc, path, query, fragment))\n\n    def _order_queryset(self, queryset: QuerySet, cursor: Cursor) -> QuerySet:\n        \"\"\"\n        Apply ordering to queryset based on cursor direction.\n\n        For backward pagination (cursor.r=True), flips the ordering direction\n        to traverse the dataset in reverse.\n        \"\"\"\n        if cursor.r:\n            return queryset.order_by(*self._reverse_order(self.ordering))\n\n        return queryset.order_by(*self.ordering)\n\n    def _find_position(self, queryset: QuerySet, cursor: Cursor) -> QuerySet:\n        \"\"\"\n        Filter queryset to start from the cursor position.\n        \"\"\"\n        if cursor.p is None:\n            return queryset\n\n        cmp = \"gte\" if cursor.r == self._order_attribute_reversed else \"lte\"\n        filters = {f\"{self._order_attribute}__{cmp}\": cursor.p}\n        return queryset.filter(**filters)\n\n    def paginate_queryset(\n        self, queryset: QuerySet, pagination: Input, request: HttpRequest, **params: Any\n    ) -> Any:\n        \"\"\"\n        Execute cursor-based pagination with stable positioning.\n\n        We fetch page_size + 1 items to detect whether more pages exist without\n        requiring a separate count query. The extra item is discarded from results\n        but used for next/previous cursor generation.\n        \"\"\"\n        page_size = self._get_page_size(pagination.page_size)\n        cursor = self.Cursor.from_encoded_param(pagination.cursor)\n\n        queryset = self._order_queryset(queryset, cursor)\n        queryset = self._find_position(queryset, cursor)\n\n        # fetch results here and turn into a list\n        results_plus_one = list(queryset[cursor.o : cursor.o + page_size + 1])\n        additional_position = (\n            self._get_position(results_plus_one[-1])\n            if len(results_plus_one) > page_size\n            else None\n        )\n\n        if cursor.r:\n            results = list(reversed(results_plus_one[:page_size]))\n        else:\n            results = results_plus_one[:page_size]\n\n        next_cursor = self._build_next_cursor(\n            current_cursor=cursor,\n            results=results,\n            additional_position=additional_position,\n        )\n\n        previous_cursor = self._build_previous_cursor(\n            current_cursor=cursor,\n            results=results,\n            additional_position=additional_position,\n        )\n\n        base_url = request.build_absolute_uri()\n\n        return {\n            \"next\": self._add_cursor_to_URL(base_url, next_cursor),\n            \"previous\": self._add_cursor_to_URL(base_url, previous_cursor),\n            self.items_attribute: results,\n        }\n\n    async def apaginate_queryset(\n        self,\n        queryset: QuerySet,\n        pagination: Input,\n        request: HttpRequest,\n        **params: Any,\n    ) -> Any:\n        \"\"\"\n        Execute async cursor-based pagination with stable positioning.\n\n        We fetch page_size + 1 items to detect whether more pages exist without\n        requiring a separate count query. The extra item is discarded from results\n        but used for next/previous cursor generation.\n        \"\"\"\n        page_size = self._get_page_size(pagination.page_size)\n        cursor = self.Cursor.from_encoded_param(pagination.cursor)\n\n        queryset = self._order_queryset(queryset, cursor)\n        queryset = self._find_position(queryset, cursor)\n\n        # fetch results here and turn into a list\n        results_plus_one = [\n            obj async for obj in queryset[cursor.o : cursor.o + page_size + 1]\n        ]\n        additional_position = (\n            self._get_position(results_plus_one[-1])\n            if len(results_plus_one) > page_size\n            else None\n        )\n\n        if cursor.r:\n            results = list(reversed(results_plus_one[:page_size]))\n        else:\n            results = results_plus_one[:page_size]\n\n        next_cursor = self._build_next_cursor(\n            current_cursor=cursor,\n            results=results,\n            additional_position=additional_position,\n        )\n\n        previous_cursor = self._build_previous_cursor(\n            current_cursor=cursor,\n            results=results,\n            additional_position=additional_position,\n        )\n\n        base_url = request.build_absolute_uri()\n\n        return {\n            \"next\": self._add_cursor_to_URL(base_url, next_cursor),\n            \"previous\": self._add_cursor_to_URL(base_url, previous_cursor),\n            self.items_attribute: results,\n        }\n\n\ndef paginate(\n    func_or_pgn_class: Any = NOT_SET, **paginator_params: Any\n) -> Callable[..., Any]:\n    \"\"\"\n    @api.get(...\n    @paginate\n    def my_view(request):\n\n    or\n\n    @api.get(...\n    @paginate(PageNumberPagination)\n    def my_view(request):\n\n    \"\"\"\n\n    isfunction = inspect.isfunction(func_or_pgn_class)\n    isnotset = func_or_pgn_class == NOT_SET\n\n    pagination_class: Type[Union[PaginationBase, AsyncPaginationBase]] = import_string(\n        settings.PAGINATION_CLASS\n    )\n\n    if isfunction:\n        return _inject_pagination(func_or_pgn_class, pagination_class)\n\n    if not isnotset:\n        pagination_class = func_or_pgn_class\n\n    def wrapper(func: Callable[..., Any]) -> Any:\n        return _inject_pagination(func, pagination_class, **paginator_params)\n\n    return wrapper\n\n\ndef _inject_pagination(\n    func: Callable[..., Any],\n    paginator_class: Type[Union[PaginationBase, AsyncPaginationBase]],\n    **paginator_params: Any,\n) -> Callable[..., Any]:\n    if getattr(func, \"_ninja_is_paginated\", False):\n        return func  # ^ user changed pagination manually on function already\n\n    paginator = paginator_class(**paginator_params)\n\n    # Check if Input schema has any fields\n    # If it has no fields, we should make it optional to support Pydantic 2.12+\n    has_input_fields = bool(paginator.Input.model_fields)\n\n    if is_async_callable(func):\n        if not hasattr(paginator, \"apaginate_queryset\"):\n            raise ConfigError(\"Pagination class not configured for async requests\")\n\n        @wraps(func)\n        async def view_with_pagination(request: HttpRequest, **kwargs: Any) -> Any:\n            pagination_params = kwargs.pop(\"ninja_pagination\", None)\n            if pagination_params is None:\n                pagination_params = paginator.Input()\n            if paginator.pass_parameter:\n                kwargs[paginator.pass_parameter] = pagination_params\n\n            items = await func(request, **kwargs)\n\n            status_code = None\n            if isinstance(items, Status):\n                status_code = items.status_code\n                items = items.value\n\n            result = await paginator.apaginate_queryset(\n                items, pagination=pagination_params, request=request, **kwargs\n            )\n\n            async def evaluate(results: Union[List, QuerySet]) -> AsyncGenerator:\n                for result in results:\n                    yield result\n\n            if paginator.Output:  # type: ignore\n                result[paginator.items_attribute] = [\n                    result\n                    async for result in evaluate(result[paginator.items_attribute])\n                ]\n\n            if status_code is not None:\n                return Status(status_code, result)\n            return result\n\n    else:\n\n        @wraps(func)\n        def view_with_pagination(request: HttpRequest, **kwargs: Any) -> Any:\n            pagination_params = kwargs.pop(\"ninja_pagination\", None)\n            if pagination_params is None:\n                pagination_params = paginator.Input()\n            if paginator.pass_parameter:\n                kwargs[paginator.pass_parameter] = pagination_params\n\n            items = func(request, **kwargs)\n\n            status_code = None\n            if isinstance(items, Status):\n                status_code = items.status_code\n                items = items.value\n\n            result = paginator.paginate_queryset(\n                items, pagination=pagination_params, request=request, **kwargs\n            )\n            if paginator.Output:  # type: ignore\n                result[paginator.items_attribute] = list(\n                    result[paginator.items_attribute]\n                )\n                # ^ forcing queryset evaluation #TODO: check why pydantic did not do it here\n\n            if status_code is not None:\n                return Status(status_code, result)\n            return result\n\n    # Only contribute args if Input has fields\n    # For empty Input schemas, don't add the parameter at all to support Pydantic 2.12+\n    if has_input_fields:\n        contribute_operation_args(\n            view_with_pagination,\n            \"ninja_pagination\",\n            paginator.Input,\n            paginator.InputSource,\n        )\n\n    if paginator.Output:  # type: ignore\n        contribute_operation_callback(\n            view_with_pagination,\n            partial(make_response_paginated, paginator),\n        )\n\n    view_with_pagination._ninja_is_paginated = True  # type: ignore\n    return view_with_pagination\n\n\nclass RouterPaginated(Router):\n    def __init__(self, *args: Any, **kwargs: Any) -> None:\n        super().__init__(*args, **kwargs)\n        self.pagination_class = import_string(settings.PAGINATION_CLASS)\n\n    def add_api_operation(\n        self,\n        path: str,\n        methods: List[str],\n        view_func: Callable[..., Any],\n        **kwargs: Any,\n    ) -> None:\n        response = kwargs[\"response\"]\n        if is_collection_type(response):\n            view_func = _inject_pagination(view_func, self.pagination_class)\n        return super().add_api_operation(path, methods, view_func, **kwargs)\n\n\ndef make_response_paginated(paginator: PaginationBase, op: Operation) -> None:\n    \"\"\"\n    Takes operation response and changes it to the paginated response\n    for example:\n        response=List[Some]\n    will be changed to:\n        response=PagedSome\n    where Paged some will be a subclass of paginator.Output:\n        class PagedSome:\n            items: List[Some]\n            count: int\n    \"\"\"\n    status_code, item_schema = _find_collection_response(op)\n\n    # Switching schema to Output schema\n    try:\n        new_name = f\"Paged{item_schema.__name__}\"\n    except AttributeError:  # pragma: no cover\n        # special case for `typing.Any`, only raised for Python < 3.10\n        new_name = f\"Paged{str(item_schema).replace('.', '_')}\"  # pragma: no cover\n    new_schema = type(\n        new_name,\n        (paginator.Output,),\n        {\n            \"__annotations__\": {paginator.items_attribute: List[item_schema]},  # type: ignore\n        },\n    )  # typing: ignore\n\n    response = op._create_response_model(new_schema)\n\n    # Changing response model to newly created one\n    op.response_models[status_code] = response\n\n\ndef _find_collection_response(op: Operation) -> Tuple[int, Any]:\n    \"\"\"\n    Walks through defined operation responses and finds the first\n    that is of a collection type (e.g. List[SomeSchema])\n    \"\"\"\n    for code, resp_model in op.response_models.items():\n        if resp_model is None or resp_model is NOT_SET:\n            continue\n\n        model = resp_model.__annotations__[\"response\"]\n        if is_collection_type(model):\n            item_schema = get_collection_args(model)[0]\n            return code, item_schema\n\n    raise ConfigError(\n        f'\"{op.view_func}\" has no collection response (e.g. response=List[SomeSchema])'\n    )\n"
  },
  {
    "path": "ninja/params/__init__.py",
    "content": "from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Pattern, TypeVar, Union\n\nfrom typing_extensions import Annotated\n\nfrom ninja.params import functions as param_functions\n\n__all__ = [\n    \"Body\",\n    \"Cookie\",\n    \"File\",\n    \"Form\",\n    \"Header\",\n    \"Path\",\n    \"Query\",\n    \"BodyEx\",\n    \"CookieEx\",\n    \"FileEx\",\n    \"FormEx\",\n    \"HeaderEx\",\n    \"PathEx\",\n    \"QueryEx\",\n    \"P\",\n]\n\n\nclass ParamShortcut:\n    def __init__(self, base_func: Callable[..., Any]) -> None:\n        self._base_func = base_func\n\n    def __call__(self, *args: Any, **kwargs: Any) -> Any:\n        return self._base_func(*args, **kwargs)\n\n    def __getitem__(self, args: Any) -> Any:\n        if isinstance(args, tuple):\n            return Annotated[args[0], self._base_func(**args[1])]\n        return Annotated[args, self._base_func()]\n\n\nif TYPE_CHECKING:  # pragma: nocover\n    # mypy cheats\n    T = TypeVar(\"T\")\n    Body = Annotated[T, param_functions.Body()]\n    Cookie = Annotated[T, param_functions.Cookie()]\n    File = Annotated[T, param_functions.File()]\n    Form = Annotated[T, param_functions.Form()]\n    Header = Annotated[T, param_functions.Header()]\n    Path = Annotated[T, param_functions.Path()]\n    Query = Annotated[T, param_functions.Query()]\n    # mypy does not like to extend already annotated params\n    # with extra annotation (so need to cheat with these XXX-Ex types):\n    from typing_extensions import Annotated as BodyEx\n    from typing_extensions import Annotated as CookieEx\n    from typing_extensions import Annotated as FileEx\n    from typing_extensions import Annotated as FormEx\n    from typing_extensions import Annotated as HeaderEx\n    from typing_extensions import Annotated as PathEx\n    from typing_extensions import Annotated as QueryEx\nelse:\n    Body = ParamShortcut(param_functions.Body)\n    Cookie = ParamShortcut(param_functions.Cookie)\n    File = ParamShortcut(param_functions.File)\n    Form = ParamShortcut(param_functions.Form)\n    Header = ParamShortcut(param_functions.Header)\n    Path = ParamShortcut(param_functions.Path)\n    Query = ParamShortcut(param_functions.Query)\n    # mypy does not like to extend already annotated params\n    # with extra annotation (so need to cheat with these XXX-Ex types):\n    BodyEx = Body\n    CookieEx = Cookie\n    FileEx = File\n    FormEx = Form\n    HeaderEx = Header\n    PathEx = Path\n    QueryEx = Query\n\n\ndef P(\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Dict[str, Any]:\n    \"Arguments for BodyEx, QueryEx, etc.\"\n    return dict(\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n"
  },
  {
    "path": "ninja/params/functions.py",
    "content": "# Yeah, this is a bit strange\n# but the whole point of this module is to make mypy and typehints happy\n# what it basically does makes function XXX that create instance of models.XXX\n# and annotates function with result = Any\n# idea from https://github.com/tiangolo/fastapi/blob/master/fastapi/param_functions.py\nfrom typing import Any, Dict, Optional, Pattern, Union\n\nfrom ninja.params import models\n\n\ndef Path(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Path(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef Query(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Query(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef Header(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Header(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef Cookie(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Cookie(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef Body(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Body(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef Form(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.Form(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n\n\ndef File(  # noqa: N802\n    default: Any = ...,\n    *,\n    alias: Optional[str] = None,\n    title: Optional[str] = None,\n    description: Optional[str] = None,\n    gt: Optional[float] = None,\n    ge: Optional[float] = None,\n    lt: Optional[float] = None,\n    le: Optional[float] = None,\n    min_length: Optional[int] = None,\n    max_length: Optional[int] = None,\n    pattern: Union[str, Pattern[str], None] = None,\n    example: Any = None,\n    examples: Optional[Dict[str, Any]] = None,\n    deprecated: Optional[bool] = None,\n    include_in_schema: bool = True,\n    **extra: Any,\n) -> Any:\n    return models.File(\n        default,\n        alias=alias,\n        title=title,\n        description=description,\n        gt=gt,\n        ge=ge,\n        lt=lt,\n        le=le,\n        min_length=min_length,\n        max_length=max_length,\n        pattern=pattern,\n        example=example,\n        examples=examples,\n        deprecated=deprecated,\n        include_in_schema=include_in_schema,\n        **extra,\n    )\n"
  },
  {
    "path": "ninja/params/models.py",
    "content": "from abc import ABC, abstractmethod\nfrom typing import (\n    TYPE_CHECKING,\n    Any,\n    Dict,\n    List,\n    Optional,\n    Pattern,\n    Tuple,\n    Type,\n    TypeVar,\n    Union,\n)\n\nfrom django.conf import settings\nfrom django.http import HttpRequest\nfrom pydantic import BaseModel\nfrom pydantic.fields import FieldInfo\n\nfrom ninja.errors import HttpError\nfrom ninja.types import DictStrAny\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n\n__all__ = [\n    \"ParamModel\",\n    \"QueryModel\",\n    \"PathModel\",\n    \"HeaderModel\",\n    \"CookieModel\",\n    \"BodyModel\",\n    \"FormModel\",\n    \"FileModel\",\n]\n\nTModel = TypeVar(\"TModel\", bound=\"ParamModel\")\nTModels = List[TModel]\n\n\nclass ParamModel(BaseModel, ABC):\n    __ninja_param_source__ = None\n\n    @classmethod\n    @abstractmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        pass  # pragma: no cover\n\n    @classmethod\n    def resolve(\n        cls: Type[TModel],\n        request: HttpRequest,\n        api: \"NinjaAPI\",\n        path_params: DictStrAny,\n    ) -> TModel:\n        data = cls.get_request_data(request, api, path_params)\n        if data is None:\n            return cls()\n\n        data = cls._map_data_paths(data)\n        return cls.model_validate(data, context={\"request\": request})\n\n    @classmethod\n    def _map_data_paths(cls, data: DictStrAny) -> DictStrAny:\n        flatten_map = getattr(cls, \"__ninja_flatten_map__\", None)\n        if not flatten_map:\n            return data\n\n        mapped_data: DictStrAny = {}\n        for key, path in flatten_map.items():\n            cls._map_data_path(mapped_data, data.get(key), path)\n        return mapped_data\n\n    @classmethod\n    def _map_data_path(\n        cls, data: DictStrAny, value: Any, path: Tuple[str, ...]\n    ) -> None:\n        current = data\n        for key in path[:-1]:\n            current = current.setdefault(key, {})\n        if value is not None:\n            current[path[-1]] = value\n\n\nclass QueryModel(ParamModel):\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        list_fields = getattr(cls, \"__ninja_collection_fields__\", [])\n        return api.parser.parse_querydict(request.GET, list_fields, request)\n\n\nclass PathModel(ParamModel):\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        return path_params\n\n\nclass HeaderModel(ParamModel):\n    __ninja_flatten_map__: DictStrAny\n\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        data = {}\n        headers = request.headers\n        for name in cls.__ninja_flatten_map__:\n            if name in headers:\n                data[name] = headers[name]\n        return data\n\n\nclass CookieModel(ParamModel):\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        return request.COOKIES\n\n\nclass BodyModel(ParamModel):\n    __read_from_single_attr__: str\n\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        if request.body:\n            try:\n                data = api.parser.parse_body(request)\n            except Exception as e:\n                msg = \"Cannot parse request body\"\n                if settings.DEBUG:\n                    msg += f\" ({e})\"\n                raise HttpError(400, msg) from e\n\n            varname = getattr(cls, \"__read_from_single_attr__\", None)\n            if varname:\n                data = {varname: data}\n            return data\n\n        return None\n\n\nclass FormModel(ParamModel):\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        list_fields = getattr(cls, \"__ninja_collection_fields__\", [])\n        return api.parser.parse_querydict(request.POST, list_fields, request)\n\n\nclass FileModel(ParamModel):\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        list_fields = getattr(cls, \"__ninja_collection_fields__\", [])\n        return api.parser.parse_querydict(request.FILES, list_fields, request)\n\n\nclass _HttpRequest(HttpRequest):\n    body: bytes = b\"\"\n\n\nclass _MultiPartBodyModel(BodyModel):\n    __ninja_body_params__: DictStrAny\n\n    @classmethod\n    def get_request_data(\n        cls, request: HttpRequest, api: \"NinjaAPI\", path_params: DictStrAny\n    ) -> Optional[DictStrAny]:\n        req = _HttpRequest()\n        get_request_data = super().get_request_data\n        results: DictStrAny = {}\n        for name, annotation in cls.__ninja_body_params__.items():\n            if name in request.POST:\n                data = request.POST[name]\n                if annotation is str and data[0] != '\"' and data[-1] != '\"':\n                    data = f'\"{data}\"'\n                req.body = data.encode()\n                results[name] = get_request_data(req, api, path_params)\n        return results\n\n\nclass Param(FieldInfo):  # type: ignore[misc]\n    def __init__(\n        self,\n        default: Any,\n        *,\n        alias: Optional[str] = None,\n        title: Optional[str] = None,\n        description: Optional[str] = None,\n        gt: Optional[float] = None,\n        ge: Optional[float] = None,\n        lt: Optional[float] = None,\n        le: Optional[float] = None,\n        min_length: Optional[int] = None,\n        max_length: Optional[int] = None,\n        example: Optional[Any] = None,\n        examples: Optional[Dict[str, Any]] = None,\n        deprecated: Optional[bool] = None,\n        include_in_schema: Optional[bool] = True,\n        pattern: Union[str, Pattern[str], None] = None,\n        # param_name: str = None,\n        # param_type: Any = None,\n        **extra: Any,\n    ):\n        self.deprecated = deprecated\n        # self.param_name: str = None\n        # self.param_type: Any = None\n        self.model_field: Optional[FieldInfo] = None\n        json_schema_extra = {}\n        if example:\n            json_schema_extra[\"example\"] = example\n        if examples:\n            json_schema_extra[\"examples\"] = examples\n        if deprecated:\n            json_schema_extra[\"deprecated\"] = deprecated\n        if not include_in_schema:\n            json_schema_extra[\"include_in_schema\"] = include_in_schema\n        if alias and not extra.get(\"validation_alias\"):\n            extra[\"validation_alias\"] = alias\n        if alias and not extra.get(\"serialization_alias\"):\n            extra[\"serialization_alias\"] = alias\n\n        super().__init__(\n            default=default,\n            alias=alias,\n            title=title,\n            description=description,\n            gt=gt,\n            ge=ge,\n            lt=lt,\n            le=le,\n            min_length=min_length,\n            max_length=max_length,\n            pattern=pattern,\n            json_schema_extra=json_schema_extra,\n            **extra,\n        )\n\n    @classmethod\n    def _param_source(cls) -> str:\n        \"Openapi param.in value or body type\"\n        return cls.__name__.lower()\n\n\nclass Path(Param):  # type: ignore[misc]\n    _model = PathModel\n\n\nclass Query(Param):  # type: ignore[misc]\n    _model = QueryModel\n\n\nclass Header(Param):  # type: ignore[misc]\n    _model = HeaderModel\n\n\nclass Cookie(Param):  # type: ignore[misc]\n    _model = CookieModel\n\n\nclass Body(Param):  # type: ignore[misc]\n    _model = BodyModel\n\n\nclass Form(Param):  # type: ignore[misc]\n    _model = FormModel\n\n\nclass File(Param):  # type: ignore[misc]\n    _model = FileModel\n\n\nclass _MultiPartBody(Param):  # type: ignore[misc]\n    _model = _MultiPartBodyModel\n\n    @classmethod\n    def _param_source(cls) -> str:\n        return \"body\"\n"
  },
  {
    "path": "ninja/parser.py",
    "content": "import json\nfrom typing import List, cast\n\nfrom django.http import HttpRequest\nfrom django.utils.datastructures import MultiValueDict\n\nfrom ninja.types import DictStrAny\n\n__all__ = [\"Parser\"]\n\n\nclass Parser:\n    \"Default json parser\"\n\n    def parse_body(self, request: HttpRequest) -> DictStrAny:\n        return cast(DictStrAny, json.loads(request.body))\n\n    def parse_querydict(\n        self, data: MultiValueDict, list_fields: List[str], request: HttpRequest\n    ) -> DictStrAny:\n        result: DictStrAny = {}\n        for key in data.keys():\n            if key in list_fields:\n                result[key] = data.getlist(key)\n            else:\n                result[key] = data[key]\n        return result\n"
  },
  {
    "path": "ninja/patch_dict.py",
    "content": "from typing import (\n    TYPE_CHECKING,\n    Any,\n    Dict,\n    Generic,\n    Optional,\n    Type,\n    TypeVar,\n)\n\nfrom pydantic import BaseModel\nfrom pydantic_core import core_schema\n\nfrom ninja import Body\nfrom ninja.orm import ModelSchema\nfrom ninja.schema import Schema\nfrom ninja.utils import is_optional_type\n\n\nclass ModelToDict(dict):\n    _wrapped_model: Any = None\n    _wrapped_model_dump_params: Dict[str, Any] = {}\n\n    @classmethod\n    def __get_pydantic_core_schema__(cls, _source: Any, _handler: Any) -> Any:\n        return core_schema.no_info_after_validator_function(\n            cls._validate,\n            cls._wrapped_model.__pydantic_core_schema__,\n        )\n\n    @classmethod\n    def _validate(cls, input_value: Any) -> Any:\n        return input_value.model_dump(**cls._wrapped_model_dump_params)\n\n\ndef get_schema_annotations(schema_cls: Type[Any]) -> Dict[str, Any]:\n    annotations: Dict[str, Any] = {}\n    excluded_bases = {Schema, ModelSchema, BaseModel}\n    bases = schema_cls.mro()[:-1]\n    final_bases = reversed([b for b in bases if b not in excluded_bases])\n\n    for base in final_bases:\n        annotations.update(getattr(base, \"__annotations__\", {}))\n\n    return annotations\n\n\ndef create_patch_schema(schema_cls: Type[Any]) -> Type[ModelToDict]:\n    schema_annotations = get_schema_annotations(schema_cls)\n    values, annotations = {}, {}\n    # assert False, f\"{schema_cls} - {schema_cls.model_fields}\"\n    for f in schema_cls.model_fields.keys():\n        t = schema_annotations[f]\n        if not is_optional_type(t):\n            values[f] = getattr(schema_cls, f, None)\n            annotations[f] = Optional[t]\n    values[\"__annotations__\"] = annotations\n    OptionalSchema = type(f\"{schema_cls.__name__}Patch\", (schema_cls,), values)\n\n    class OptionalDictSchema(ModelToDict):\n        _wrapped_model = OptionalSchema\n        _wrapped_model_dump_params = {\"exclude_unset\": True}\n\n    return OptionalDictSchema\n\n\nclass PatchDictUtil:\n    def __getitem__(self, schema_cls: Any) -> Any:\n        new_cls = create_patch_schema(schema_cls)\n        return Body[new_cls]  # type: ignore\n\n\nif TYPE_CHECKING:  # pragma: nocover\n    T = TypeVar(\"T\")\n\n    class PatchDict(Dict[Any, Any], Generic[T]):\n        pass\n\nelse:\n    PatchDict = PatchDictUtil()\n"
  },
  {
    "path": "ninja/py.typed",
    "content": "\n"
  },
  {
    "path": "ninja/renderers.py",
    "content": "import json\nfrom typing import Any, Mapping, Optional, Type\n\nfrom django.http import HttpRequest\n\nfrom ninja.responses import NinjaJSONEncoder\n\n__all__ = [\"BaseRenderer\", \"JSONRenderer\"]\n\n\nclass BaseRenderer:\n    media_type: Optional[str] = None\n    charset: str = \"utf-8\"\n\n    def render(self, request: HttpRequest, data: Any, *, response_status: int) -> Any:\n        raise NotImplementedError(\"Please implement .render() method\")\n\n\nclass JSONRenderer(BaseRenderer):\n    media_type = \"application/json\"\n    encoder_class: Type[json.JSONEncoder] = NinjaJSONEncoder\n    json_dumps_params: Mapping[str, Any] = {}\n\n    def render(self, request: HttpRequest, data: Any, *, response_status: int) -> Any:\n        return json.dumps(data, cls=self.encoder_class, **self.json_dumps_params)\n"
  },
  {
    "path": "ninja/responses.py",
    "content": "from enum import Enum\nfrom ipaddress import IPv4Address, IPv4Network, IPv6Address, IPv6Network\nfrom typing import Any, FrozenSet, Generic, TypeVar\n\nfrom django.core.serializers.json import DjangoJSONEncoder\nfrom django.http import JsonResponse\nfrom pydantic import AnyUrl, BaseModel\nfrom pydantic_core import Url\n\n__all__ = [\n    \"NinjaJSONEncoder\",\n    \"Response\",\n    \"Status\",\n    \"codes_1xx\",\n    \"codes_2xx\",\n    \"codes_3xx\",\n    \"codes_4xx\",\n    \"codes_5xx\",\n]\n\n\nT = TypeVar(\"T\")\n\n\nclass Status(Generic[T]):\n    \"\"\"Return a response with an explicit HTTP status code.\n\n    Usage:\n        return Status(200, {\"key\": \"value\"})\n        return Status(204, None)\n    \"\"\"\n\n    __slots__ = (\"status_code\", \"value\")\n\n    def __init__(self, status_code: int, value: T):\n        self.status_code = status_code\n        self.value = value\n\n\nclass NinjaJSONEncoder(DjangoJSONEncoder):\n    def default(self, o: Any) -> Any:\n        if isinstance(o, BaseModel):\n            return o.model_dump()\n        if isinstance(o, (Url, AnyUrl)):\n            return str(o)\n        if isinstance(o, (IPv4Address, IPv4Network, IPv6Address, IPv6Network)):\n            return str(o)\n        if isinstance(o, Enum):\n            return str(o)\n        return super().default(o)\n\n\nclass Response(JsonResponse):\n    def __init__(self, data: Any, **kwargs: Any) -> None:\n        super().__init__(data, encoder=NinjaJSONEncoder, safe=False, **kwargs)\n\n\ndef resp_codes(from_code: int, to_code: int) -> FrozenSet[int]:\n    return frozenset(range(from_code, to_code + 1))\n\n\n# most common http status codes\ncodes_1xx = resp_codes(100, 101)\ncodes_2xx = resp_codes(200, 206)\ncodes_3xx = resp_codes(300, 308)\ncodes_4xx = resp_codes(400, 412) | frozenset({416, 418, 425, 429, 451})\ncodes_5xx = resp_codes(500, 504)\n"
  },
  {
    "path": "ninja/router.py",
    "content": "import re\nfrom dataclasses import dataclass, field\nfrom typing import (\n    TYPE_CHECKING,\n    Any,\n    Callable,\n    Dict,\n    Iterator,\n    List,\n    Optional,\n    Tuple,\n    Union,\n)\n\nfrom django.urls import URLPattern\nfrom django.urls import path as django_path\nfrom django.utils.module_loading import import_string\n\nfrom ninja.constants import NOT_SET, NOT_SET_TYPE\nfrom ninja.decorators import DecoratorMode\nfrom ninja.errors import ConfigError\nfrom ninja.operation import PathView\nfrom ninja.throttling import BaseThrottle\nfrom ninja.types import TCallable\nfrom ninja.utils import normalize_path, replace_path_param_notation\n\nif TYPE_CHECKING:\n    from ninja import NinjaAPI  # pragma: no cover\n\n\n__all__ = [\"Router\", \"RouterMount\", \"BoundRouter\"]\n\n\n@dataclass\nclass RouterMount:\n    \"\"\"\n    Configuration for how a Router template is mounted to an API.\n\n    This class stores the mount-time configuration without mutating the\n    original Router template, enabling router reuse across multiple APIs\n    or multiple mount points within the same API.\n    \"\"\"\n\n    template: \"Router\"\n    prefix: str\n    url_name_prefix: Optional[str] = None\n    auth: Any = NOT_SET\n    throttle: Any = NOT_SET\n    tags: Optional[List[str]] = None\n    inherited_decorators: List[Tuple[Callable, DecoratorMode]] = field(\n        default_factory=list\n    )\n    # Inherited auth/throttle/tags from parent routers (for nested router inheritance)\n    inherited_auth: Any = NOT_SET\n    inherited_throttle: Any = NOT_SET\n    inherited_tags: Optional[List[str]] = None\n\n\nclass BoundRouter:\n    \"\"\"\n    A Router template bound to a specific API instance.\n\n    Contains cloned operations with decorators applied. Each mount of a router\n    creates a new BoundRouter instance, ensuring complete isolation between mounts.\n    \"\"\"\n\n    def __init__(self, mount: RouterMount, api: \"NinjaAPI\") -> None:\n        self.mount = mount\n        self.template = mount.template\n        self.api = api\n        self.prefix = mount.prefix\n        self.url_name_prefix = mount.url_name_prefix\n\n        # Effective settings priority:\n        # 1. mount override (from api.add_router auth/throttle/tags params on this specific mount)\n        # 2. template's own settings (set on the Router itself)\n        # 3. inherited from parent (for nested routers where parent has auth)\n        if mount.auth is not NOT_SET:\n            self.auth = mount.auth\n        elif mount.template.auth is not NOT_SET:\n            self.auth = mount.template.auth\n        elif mount.inherited_auth is not NOT_SET:\n            self.auth = mount.inherited_auth\n        else:\n            self.auth = NOT_SET\n\n        if mount.throttle is not NOT_SET:\n            self.throttle = mount.throttle\n        elif mount.template.throttle is not NOT_SET:\n            self.throttle = mount.template.throttle\n        elif mount.inherited_throttle is not NOT_SET:\n            self.throttle = mount.inherited_throttle\n        else:\n            self.throttle = NOT_SET\n\n        # Tags handling (issue #794):\n        # - mount.tags (from add_router call) = explicit override, use as-is\n        # - Otherwise, accumulate: inherited tags + template's own tags\n        self.tags: Optional[List[str]]\n        if mount.tags is not None:\n            # Explicit tags from add_router() call - use as override\n            self.tags = mount.tags\n        else:\n            # Accumulate inherited tags with template's own tags\n            accumulated_tags: List[str] = []\n            if mount.inherited_tags is not None:\n                accumulated_tags.extend(mount.inherited_tags)\n            if mount.template.tags is not None:\n                accumulated_tags.extend(mount.template.tags)\n            self.tags = accumulated_tags or None\n\n        # Clone operations and apply decorators\n        self.path_operations: Dict[str, PathView] = {}\n        self._bind_operations()\n\n    def _bind_operations(self) -> None:\n        \"\"\"Clone operations from template and apply effective settings.\"\"\"\n        effective_decorators = (\n            self.mount.inherited_decorators + self.template._decorators\n        )\n\n        for path, path_view in self.template.path_operations.items():\n            cloned_view = path_view.clone()\n\n            for operation in cloned_view.operations:\n                # Bind to API\n                operation.api = self.api\n\n                # Apply auth inheritance\n                if operation.auth_param == NOT_SET:\n                    if self.auth != NOT_SET:\n                        operation._set_auth(self.auth)\n                    elif self.api.auth != NOT_SET:\n                        operation._set_auth(self.api.auth)\n\n                # Apply throttle inheritance\n                if operation.throttle_param == NOT_SET:\n                    if self.api.throttle != NOT_SET:\n                        throttle = self.api.throttle\n                        operation.throttle_objects = (\n                            isinstance(throttle, BaseThrottle)\n                            and [throttle]\n                            or throttle  # type: ignore\n                        )\n                    if self.throttle != NOT_SET:\n                        throttle = self.throttle\n                        operation.throttle_objects = (\n                            isinstance(throttle, BaseThrottle)\n                            and [throttle]\n                            or throttle  # type: ignore\n                        )\n\n                # Apply tags inheritance\n                if operation.tags is None and self.tags is not None:  # type: ignore[has-type]\n                    operation.tags = self.tags  # type: ignore[has-type]\n\n                # Apply decorators (fresh application - no tracking needed)\n                for decorator, mode in effective_decorators:\n                    if mode == \"view\":\n                        operation.run = decorator(operation.run)  # type: ignore\n                    elif mode == \"operation\":\n                        operation.view_func = decorator(operation.view_func)\n                    else:\n                        raise ValueError(\n                            f\"Invalid decorator mode: {mode}\"\n                        )  # pragma: no cover\n\n            self.path_operations[path] = cloned_view\n\n    def urls_paths(self, prefix: str) -> Iterator[URLPattern]:\n        \"\"\"Generate URL patterns for this bound router.\"\"\"\n        prefix = replace_path_param_notation(prefix)\n        for path, path_view in self.path_operations.items():\n            path = replace_path_param_notation(path)\n            route = \"/\".join([i for i in (prefix, path) if i])\n            route = normalize_path(route)\n            route = route.lstrip(\"/\")\n\n            for operation in path_view.operations:\n                url_name = getattr(operation, \"url_name\", \"\")\n                if not url_name:\n                    url_name = self.api.get_operation_url_name(\n                        operation, router=self.template\n                    )\n                    # Apply url_name_prefix if specified\n                    if self.url_name_prefix and url_name:\n                        url_name = f\"{self.url_name_prefix}_{url_name}\"\n\n                yield django_path(route, path_view.get_view(), name=url_name)\n\n\nclass Router:\n    def __init__(\n        self,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        tags: Optional[List[str]] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n    ) -> None:\n        self._frozen = False\n        self.auth = auth\n        self.throttle = throttle\n        self.tags = tags\n        self.by_alias = by_alias\n        self.exclude_unset = exclude_unset\n        self.exclude_defaults = exclude_defaults\n        self.exclude_none = exclude_none\n\n        self.path_operations: Dict[str, PathView] = {}\n        self._routers: List[Tuple[str, Router, Optional[List[str]]]] = []\n        self._decorators: List[Tuple[Callable, DecoratorMode]] = []\n\n    def _freeze(self) -> None:\n        \"\"\"Mark router as frozen - no more modifications allowed.\"\"\"\n        self._frozen = True\n        for _, child_router, _ in self._routers:\n            child_router._freeze()\n\n    def _check_not_frozen(self) -> None:\n        \"\"\"Raise error if attempting to modify a frozen router.\"\"\"\n        if self._frozen:\n            raise ConfigError(\n                \"Cannot modify router after URLs have been generated. \"\n                \"Routers become frozen when api.urls is accessed.\"\n            )\n\n    def get(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.api_operation(\n            [\"GET\"],\n            path,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def post(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.api_operation(\n            [\"POST\"],\n            path,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def delete(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.api_operation(\n            [\"DELETE\"],\n            path,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def patch(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.api_operation(\n            [\"PATCH\"],\n            path,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def put(\n        self,\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        return self.api_operation(\n            [\"PUT\"],\n            path,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n\n    def api_operation(\n        self,\n        methods: List[str],\n        path: str,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> Callable[[TCallable], TCallable]:\n        def decorator(view_func: TCallable) -> TCallable:\n            self.add_api_operation(\n                path,\n                methods,\n                view_func,\n                auth=auth,\n                throttle=throttle,\n                response=response,\n                operation_id=operation_id,\n                summary=summary,\n                description=description,\n                tags=tags,\n                deprecated=deprecated,\n                by_alias=by_alias,\n                exclude_unset=exclude_unset,\n                exclude_defaults=exclude_defaults,\n                exclude_none=exclude_none,\n                url_name=url_name,\n                include_in_schema=include_in_schema,\n                openapi_extra=openapi_extra,\n            )\n            return view_func\n\n        return decorator\n\n    def add_api_operation(\n        self,\n        path: str,\n        methods: List[str],\n        view_func: Callable,\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        response: Any = NOT_SET,\n        operation_id: Optional[str] = None,\n        summary: Optional[str] = None,\n        description: Optional[str] = None,\n        tags: Optional[List[str]] = None,\n        deprecated: Optional[bool] = None,\n        by_alias: Optional[bool] = None,\n        exclude_unset: Optional[bool] = None,\n        exclude_defaults: Optional[bool] = None,\n        exclude_none: Optional[bool] = None,\n        url_name: Optional[str] = None,\n        include_in_schema: bool = True,\n        openapi_extra: Optional[Dict[str, Any]] = None,\n    ) -> None:\n        self._check_not_frozen()\n        path = re.sub(r\"\\{uuid:(\\w+)\\}\", r\"{uuidstr:\\1}\", path, flags=re.IGNORECASE)\n        # django by default convert strings to UUIDs\n        # but we want to keep them as strings to let pydantic handle conversion/validation\n        # if user whants UUID object\n        # uuidstr is custom registered converter\n\n        # No decoration here - will be done in build_routers\n\n        if path not in self.path_operations:\n            path_view = PathView()\n            self.path_operations[path] = path_view\n        else:\n            path_view = self.path_operations[path]\n\n        by_alias = by_alias is None and self.by_alias or by_alias\n        exclude_unset = exclude_unset is None and self.exclude_unset or exclude_unset\n        exclude_defaults = (\n            exclude_defaults is None and self.exclude_defaults or exclude_defaults\n        )\n        exclude_none = exclude_none is None and self.exclude_none or exclude_none\n\n        path_view.add_operation(\n            path=path,\n            methods=methods,\n            view_func=view_func,\n            auth=auth,\n            throttle=throttle,\n            response=response,\n            operation_id=operation_id,\n            summary=summary,\n            description=description,\n            tags=tags,\n            deprecated=deprecated,\n            by_alias=by_alias,\n            exclude_unset=exclude_unset,\n            exclude_defaults=exclude_defaults,\n            exclude_none=exclude_none,\n            url_name=url_name,\n            include_in_schema=include_in_schema,\n            openapi_extra=openapi_extra,\n        )\n        # Note: API binding is now done via BoundRouter when urls are generated\n\n        return None\n\n    def urls_paths(\n        self, prefix: str, api: Optional[\"NinjaAPI\"] = None\n    ) -> Iterator[URLPattern]:\n        \"\"\"\n        Generate URL patterns for this router.\n\n        Note: This method is primarily for internal use. For mounting routers to APIs,\n        use NinjaAPI.add_router() which handles proper binding via BoundRouter.\n\n        Args:\n            prefix: URL prefix for all paths\n            api: Optional API instance for generating URL names (for backward compat)\n        \"\"\"\n        # Ensure decorators are applied before generating URLs\n        self._apply_decorators_to_operations()\n\n        prefix = replace_path_param_notation(prefix)\n        for path, path_view in self.path_operations.items():\n            for operation in path_view.operations:\n                path = replace_path_param_notation(path)\n                route = \"/\".join([i for i in (prefix, path) if i])\n                # to skip lot of checks we simply treat double slash as a mistake:\n                route = normalize_path(route)\n                route = route.lstrip(\"/\")\n\n                url_name = getattr(operation, \"url_name\", \"\")\n                if not url_name and api:\n                    url_name = api.get_operation_url_name(operation, router=self)\n\n                yield django_path(route, path_view.get_view(), name=url_name)\n\n    def add_router(\n        self,\n        prefix: str,\n        router: Union[\"Router\", str],\n        *,\n        auth: Any = NOT_SET,\n        throttle: Union[BaseThrottle, List[BaseThrottle], NOT_SET_TYPE] = NOT_SET,\n        tags: Optional[List[str]] = None,\n    ) -> None:\n        self._check_not_frozen()\n\n        if isinstance(router, str):\n            router = import_string(router)\n            assert isinstance(router, Router)\n\n        # Store child router with its mount-time configuration\n        # Auth/throttle are stored on the child router template,\n        # but tags from add_router are stored separately to distinguish from Router(tags=...)\n        if auth != NOT_SET:\n            router.auth = auth\n        if throttle != NOT_SET:\n            router.throttle = throttle\n        # Store as (prefix, router, tags) - tags here are mount-level overrides\n        self._routers.append((prefix, router, tags))\n\n    def add_decorator(\n        self,\n        decorator: Callable,\n        mode: DecoratorMode = \"operation\",\n    ) -> None:\n        \"\"\"\n        Add a decorator to be applied to all operations in this router.\n\n        Args:\n            decorator: The decorator function to apply\n            mode: \"operation\" (default) applies after validation,\n                  \"view\" applies before validation\n        \"\"\"\n        self._check_not_frozen()\n        if mode not in (\"view\", \"operation\"):\n            raise ValueError(f\"Invalid decorator mode: {mode}\")\n        self._decorators.append((decorator, mode))\n\n    def build_routers(\n        self,\n        prefix: str,\n        inherited_decorators: Optional[List[Tuple[Callable, DecoratorMode]]] = None,\n        inherited_auth: Any = NOT_SET,\n        inherited_throttle: Any = NOT_SET,\n        inherited_tags: Optional[List[str]] = None,\n    ) -> List[RouterMount]:\n        \"\"\"\n        Build mount configurations for this router and all child routers.\n\n        This method does NOT mutate any router state - it returns a list of\n        RouterMount objects that describe how to bind routers to an API.\n\n        Args:\n            prefix: The URL prefix for this router\n            inherited_decorators: Decorators inherited from parent routers/API\n            inherited_auth: Auth inherited from parent routers\n            inherited_throttle: Throttle inherited from parent routers\n            inherited_tags: Tags inherited from parent routers\n\n        Returns:\n            List of RouterMount configurations for this router and all descendants\n        \"\"\"\n        if inherited_decorators is None:\n            inherited_decorators = []\n\n        # Create mount configuration for this router\n        mount = RouterMount(\n            template=self,\n            prefix=prefix,\n            inherited_decorators=list(inherited_decorators),\n            inherited_auth=inherited_auth,\n            inherited_throttle=inherited_throttle,\n            inherited_tags=inherited_tags,\n        )\n\n        # Calculate values to pass to children\n        child_decorators = inherited_decorators + self._decorators\n\n        # For auth/throttle/tags, effective value is used for children:\n        # priority: this router's own setting > inherited\n        child_auth = self.auth if self.auth is not NOT_SET else inherited_auth\n        child_throttle = (\n            self.throttle if self.throttle is not NOT_SET else inherited_throttle\n        )\n        child_tags = self.tags if self.tags is not None else inherited_tags\n\n        # Build mounts for child routers\n        child_mounts: List[RouterMount] = []\n        for child_prefix, child_router, child_mount_tags in self._routers:\n            child_path = normalize_path(\"/\".join((prefix, child_prefix))).lstrip(\"/\")\n            mounts = child_router.build_routers(\n                child_path,\n                child_decorators,\n                child_auth,\n                child_throttle,\n                child_tags,\n            )\n            # Apply mount-level tags override to the first mount (the child router itself)\n            if mounts and child_mount_tags is not None:\n                mounts[0].tags = child_mount_tags\n            child_mounts.extend(mounts)\n\n        return [mount, *child_mounts]\n\n    def _apply_decorators_to_operations(self) -> None:\n        \"\"\"Apply all stored decorators to operations in this router\"\"\"\n        for path_view in self.path_operations.values():\n            for operation in path_view.operations:\n                # Track what decorators have already been applied to avoid duplicates\n                applied_decorators = getattr(operation, \"_applied_decorators\", [])\n\n                # Apply decorators that haven't been applied yet\n                for decorator, mode in self._decorators:\n                    if (decorator, mode) not in applied_decorators:\n                        if mode == \"view\":\n                            operation.run = decorator(operation.run)  # type: ignore\n                        elif mode == \"operation\":\n                            operation.view_func = decorator(operation.view_func)\n                        else:\n                            raise ValueError(\n                                f\"Invalid decorator mode: {mode}\"\n                            )  # pragma: no cover\n                        applied_decorators.append((decorator, mode))\n\n                # Store what decorators have been applied\n                operation._applied_decorators = applied_decorators  # type: ignore[attr-defined]\n"
  },
  {
    "path": "ninja/schema.py",
    "content": "\"\"\"\nSince \"Model\" word would be very confusing when used in django context, this\nmodule basically makes an alias for it named \"Schema\" and adds extra whistles to\nbe able to work with django querysets and managers.\n\nThe schema is a bit smarter than a standard pydantic Model because it can handle\ndotted attributes and resolver methods. For example::\n\n\n    class UserSchema(User):\n        name: str\n        initials: str\n        boss: str = Field(None, alias=\"boss.first_name\")\n\n        @staticmethod\n        def resolve_name(obj):\n            return f\"{obj.first_name} {obj.last_name}\"\n\n\"\"\"\n\nimport warnings\nfrom typing import (\n    Any,\n    Callable,\n    Dict,\n    Type,\n    TypeVar,\n    Union,\n    no_type_check,\n)\n\nimport pydantic\nfrom django.db.models import Manager, QuerySet\nfrom django.db.models.fields.files import FieldFile\nfrom django.template import Variable, VariableDoesNotExist\nfrom pydantic import BaseModel, ConfigDict, Field, ValidationInfo, model_validator\nfrom pydantic._internal._model_construction import ModelMetaclass\nfrom pydantic.functional_validators import ModelWrapValidatorHandler\nfrom pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue\nfrom typing_extensions import dataclass_transform\n\nfrom ninja.signature.utils import get_args_names, has_kwargs\nfrom ninja.types import DictStrAny\n\npydantic_version = list(map(int, pydantic.VERSION.split(\".\")[:2]))\nassert pydantic_version >= [2, 0], \"Pydantic 2.0+ required\"\n\n__all__ = [\"BaseModel\", \"Field\", \"DjangoGetter\", \"Schema\"]\n\nS = TypeVar(\"S\", bound=\"Schema\")\n\n\nclass DjangoGetter:\n    __slots__ = (\"_obj\", \"_schema_cls\", \"_context\", \"__dict__\")\n\n    def __init__(self, obj: Any, schema_cls: Type[S], context: Any = None):\n        self._obj = obj\n        self._schema_cls = schema_cls\n        self._context = context\n\n    def __getattr__(self, key: str) -> Any:\n        # if key.startswith(\"__pydantic\"):\n        #     return getattr(self._obj, key)\n\n        resolver = self._schema_cls._ninja_resolvers.get(key)\n        if resolver:\n            value = resolver(getter=self)\n        else:\n            if isinstance(self._obj, dict):\n                if key not in self._obj:\n                    raise AttributeError(key)\n                value = self._obj[key]\n            else:\n                try:\n                    value = getattr(self._obj, key)\n                except AttributeError:\n                    try:\n                        # value = attrgetter(key)(self._obj)\n                        value = Variable(key).resolve(self._obj)\n                        # TODO: Variable(key) __init__ is actually slower than\n                        #       Variable.resolve - so it better be cached\n                    except VariableDoesNotExist as e:\n                        raise AttributeError(key) from e\n        return self._convert_result(value)\n\n    # def get(self, key: Any, default: Any = None) -> Any:\n    #     try:\n    #         return self[key]\n    #     except KeyError:\n    #         return default\n\n    def _convert_result(self, result: Any) -> Any:\n        if isinstance(result, Manager):\n            return list(result.all())\n\n        elif isinstance(result, getattr(QuerySet, \"__origin__\", QuerySet)):\n            return list(result)\n\n        if callable(result):\n            return result()\n\n        elif isinstance(result, FieldFile):\n            if not result:\n                return None\n            return result.url\n\n        return result\n\n    def __repr__(self) -> str:\n        return f\"<DjangoGetter: {repr(self._obj)}>\"\n\n\nclass Resolver:\n    __slots__ = (\"_func\", \"_static\", \"_takes_context\")\n    _static: bool\n    _func: Any\n    _takes_context: bool\n\n    def __init__(self, func: Union[Callable, staticmethod]):\n        if isinstance(func, staticmethod):\n            self._static = True\n            self._func = func.__func__\n        else:\n            self._static = False\n            self._func = func\n\n        arg_names = get_args_names(self._func)\n        self._takes_context = has_kwargs(self._func) or \"context\" in arg_names\n\n    def __call__(self, getter: DjangoGetter) -> Any:\n        kwargs = {}\n        if self._takes_context:\n            kwargs[\"context\"] = getter._context\n\n        if self._static:\n            return self._func(getter._obj, **kwargs)\n        raise NotImplementedError(\n            \"Non static resolves are not supported yet\"\n        )  # pragma: no cover\n        # return self._func(self._fake_instance(getter), getter._obj)\n\n    # def _fake_instance(self, getter: DjangoGetter) -> \"Schema\":\n    #     \"\"\"\n    #     Generate a partial schema instance that can be used as the ``self``\n    #     attribute of resolver functions.\n    #     \"\"\"\n\n    #     class PartialSchema(Schema):\n    #         def __getattr__(self, key: str) -> Any:\n    #             value = getattr(getter, key)\n    #             field = getter._schema_cls.model_fields[key]\n    #             value = field.validate(value, values={}, loc=key, cls=None)[0]\n    #             return value\n\n    #     return PartialSchema()\n\n\n@dataclass_transform(kw_only_default=True, field_specifiers=(Field,))\nclass ResolverMetaclass(ModelMetaclass):\n    _ninja_resolvers: Dict[str, Resolver]\n\n    @no_type_check\n    def __new__(cls, name, bases, namespace, **kwargs):\n        resolvers = {}\n\n        for base in reversed(bases):\n            base_resolvers = getattr(base, \"_ninja_resolvers\", None)\n            if base_resolvers:\n                resolvers.update(base_resolvers)\n        for attr, resolve_func in namespace.items():\n            if not attr.startswith(\"resolve_\"):\n                continue\n            if (\n                not callable(resolve_func)\n                # A staticmethod isn't directly callable in Python <=3.9.\n                and not isinstance(resolve_func, staticmethod)\n            ):\n                continue  # pragma: no cover\n            resolvers[attr[8:]] = Resolver(resolve_func)\n\n        result = super().__new__(cls, name, bases, namespace, **kwargs)\n        result._ninja_resolvers = resolvers\n        return result\n\n\nclass NinjaGenerateJsonSchema(GenerateJsonSchema):\n    def default_schema(self, schema: Any) -> JsonSchemaValue:\n        # Pydantic default actually renders null's and default_factory's\n        # which really breaks swagger and django model callable defaults\n        # so here we completely override behavior\n        json_schema = self.generate_inner(schema[\"schema\"])\n\n        default = None\n        if \"default\" in schema and schema[\"default\"] is not None:\n            default = self.encode_default(schema[\"default\"])\n\n        if \"$ref\" in json_schema:\n            # Since reference schemas do not support child keys, we wrap the reference schema in a single-case allOf:\n            result = {\"allOf\": [json_schema]}\n        else:\n            result = json_schema\n\n        if default is not None:\n            result[\"default\"] = default\n\n        return result\n\n\nclass Schema(BaseModel, metaclass=ResolverMetaclass):\n    model_config = ConfigDict(from_attributes=True)\n\n    @model_validator(mode=\"wrap\")\n    @classmethod\n    def _run_root_validator(\n        cls, values: Any, handler: ModelWrapValidatorHandler[S], info: ValidationInfo\n    ) -> Any:\n        # If Pydantic intends to validate against the __dict__ of the immediate Schema\n        # object, then we need to call `handler` directly on `values` before the conversion\n        # to DjangoGetter, since any checks or modifications on DjangoGetter's __dict__\n        # will not persist to the original object.\n        forbids_extra = cls.model_config.get(\"extra\") == \"forbid\"\n        should_validate_assignment = cls.model_config.get(\"validate_assignment\", False)\n        if forbids_extra or should_validate_assignment:\n            handler(values)\n\n        values = DjangoGetter(values, cls, info.context)\n        return handler(values)\n\n    @classmethod\n    def from_orm(cls: Type[S], obj: Any, **kw: Any) -> S:\n        return cls.model_validate(obj, **kw)\n\n    def dict(self, *a: Any, **kw: Any) -> DictStrAny:\n        \"Backward compatibility with pydantic 1.x\"\n        return self.model_dump(*a, **kw)\n\n    @classmethod\n    def json_schema(cls) -> DictStrAny:\n        return cls.model_json_schema(schema_generator=NinjaGenerateJsonSchema)\n\n    @classmethod\n    def schema(cls) -> DictStrAny:  # type: ignore\n        warnings.warn(\n            \".schema() is deprecated, use .json_schema() instead\",\n            DeprecationWarning,\n            stacklevel=2,\n        )\n        return cls.json_schema()\n"
  },
  {
    "path": "ninja/security/__init__.py",
    "content": "from ninja.security.apikey import APIKeyCookie, APIKeyHeader, APIKeyQuery\nfrom ninja.security.http import HttpBasicAuth, HttpBearer\nfrom ninja.security.session import SessionAuth, SessionAuthIsStaff, SessionAuthSuperUser\n\n__all__ = [\n    \"APIKeyCookie\",\n    \"APIKeyHeader\",\n    \"APIKeyQuery\",\n    \"HttpBasicAuth\",\n    \"HttpBearer\",\n    \"SessionAuth\",\n    \"SessionAuthSuperUser\",\n    \"django_auth\",\n    \"django_auth_superuser\",\n    \"django_auth_is_staff\",\n]\n\ndjango_auth = SessionAuth()\ndjango_auth_superuser = SessionAuthSuperUser()\ndjango_auth_is_staff = SessionAuthIsStaff()\n"
  },
  {
    "path": "ninja/security/apikey.py",
    "content": "from abc import ABC, abstractmethod\nfrom typing import Any, Optional\n\nfrom django.http import HttpRequest\n\nfrom ninja.errors import HttpError\nfrom ninja.security.base import AuthBase\nfrom ninja.utils import check_csrf\n\n__all__ = [\"APIKeyBase\", \"APIKeyQuery\", \"APIKeyCookie\", \"APIKeyHeader\"]\n\n\nclass APIKeyBase(AuthBase, ABC):\n    openapi_type: str = \"apiKey\"\n    param_name: str = \"key\"\n\n    def __init__(self) -> None:\n        self.openapi_name = self.param_name  # this sets the name of the security schema\n        super().__init__()\n\n    def __call__(self, request: HttpRequest) -> Optional[Any]:\n        key = self._get_key(request)\n        return self.authenticate(request, key)\n\n    @abstractmethod\n    def _get_key(self, request: HttpRequest) -> Optional[str]:\n        pass  # pragma: no cover\n\n    @abstractmethod\n    def authenticate(self, request: HttpRequest, key: Optional[str]) -> Optional[Any]:\n        pass  # pragma: no cover\n\n\nclass APIKeyQuery(APIKeyBase, ABC):\n    openapi_in: str = \"query\"\n\n    def _get_key(self, request: HttpRequest) -> Optional[str]:\n        return request.GET.get(self.param_name)\n\n\nclass APIKeyCookie(APIKeyBase, ABC):\n    openapi_in: str = \"cookie\"\n\n    def __init__(self, csrf: bool = True) -> None:\n        self.csrf = csrf\n        super().__init__()\n\n    def _get_key(self, request: HttpRequest) -> Optional[str]:\n        # Skip CSRF check if the operation is marked as csrf_exempt\n        if self.csrf and not getattr(request, \"_ninja_csrf_exempt\", False):\n            error_response = check_csrf(request)\n            if error_response:\n                raise HttpError(403, \"CSRF check Failed\")\n        return request.COOKIES.get(self.param_name)\n\n\nclass APIKeyHeader(APIKeyBase, ABC):\n    openapi_in: str = \"header\"\n\n    def _get_key(self, request: HttpRequest) -> Optional[str]:\n        headers = request.headers\n        return headers.get(self.param_name)\n"
  },
  {
    "path": "ninja/security/base.py",
    "content": "from abc import ABC, abstractmethod\nfrom typing import Any, Optional\n\nfrom django.http import HttpRequest\n\nfrom ninja.errors import ConfigError\nfrom ninja.utils import is_async_callable\n\n__all__ = [\"SecuritySchema\", \"AuthBase\"]\n\n\nclass SecuritySchema(dict):\n    def __init__(self, type: str, **kwargs: Any) -> None:\n        super().__init__(type=type, **kwargs)\n\n\nclass AuthBase(ABC):\n    def __init__(self) -> None:\n        if not hasattr(self, \"openapi_type\"):\n            raise ConfigError(\"If you extend AuthBase you need to define openapi_type\")\n\n        kwargs = {}\n        for attr in dir(self):\n            if attr.startswith(\"openapi_\"):\n                name = attr.replace(\"openapi_\", \"\", 1)\n                kwargs[name] = getattr(self, attr)\n        self.openapi_security_schema = SecuritySchema(**kwargs)\n\n        self.is_async = False\n        if hasattr(self, \"authenticate\"):  # pragma: no branch\n            self.is_async = is_async_callable(self.authenticate)\n\n    @abstractmethod\n    def __call__(self, request: HttpRequest) -> Optional[Any]:\n        pass  # pragma: no cover\n"
  },
  {
    "path": "ninja/security/http.py",
    "content": "import logging\nfrom abc import ABC, abstractmethod\nfrom base64 import b64decode\nfrom typing import Any, Optional, Tuple\nfrom urllib.parse import unquote\n\nfrom django.conf import settings\nfrom django.http import HttpRequest\n\nfrom ninja.security.base import AuthBase\n\n__all__ = [\"HttpAuthBase\", \"HttpBearer\", \"DecodeError\", \"HttpBasicAuth\"]\n\n\nlogger = logging.getLogger(\"django\")\n\n\nclass HttpAuthBase(AuthBase, ABC):\n    openapi_type: str = \"http\"\n\n\nclass HttpBearer(HttpAuthBase, ABC):\n    openapi_scheme: str = \"bearer\"\n    header: str = \"Authorization\"\n\n    def __call__(self, request: HttpRequest) -> Optional[Any]:\n        headers = request.headers\n        auth_value = headers.get(self.header)\n        if not auth_value:\n            return None\n        parts = auth_value.split(\" \")\n\n        if parts[0].lower() != self.openapi_scheme:\n            if settings.DEBUG:\n                logger.error(f\"Unexpected auth - '{auth_value}'\")\n            return None\n        token = \" \".join(parts[1:])\n        return self.authenticate(request, token)\n\n    @abstractmethod\n    def authenticate(self, request: HttpRequest, token: str) -> Optional[Any]:\n        pass  # pragma: no cover\n\n\nclass DecodeError(Exception):\n    pass\n\n\nclass HttpBasicAuth(HttpAuthBase, ABC):  # TODO: maybe HttpBasicAuthBase\n    openapi_scheme = \"basic\"\n    header = \"Authorization\"\n\n    def __call__(self, request: HttpRequest) -> Optional[Any]:\n        headers = request.headers\n        auth_value = headers.get(self.header)\n        if not auth_value:\n            return None\n\n        try:\n            username, password = self.decode_authorization(auth_value)\n        except DecodeError as e:\n            if settings.DEBUG:\n                logger.exception(e)\n            return None\n        return self.authenticate(request, username, password)\n\n    @abstractmethod\n    def authenticate(\n        self, request: HttpRequest, username: str, password: str\n    ) -> Optional[Any]:\n        pass  # pragma: no cover\n\n    def decode_authorization(self, value: str) -> Tuple[str, str]:\n        parts = value.split(\" \")\n        if len(parts) == 1:\n            user_pass_encoded = parts[0]\n        elif len(parts) == 2 and parts[0].lower() == \"basic\":\n            user_pass_encoded = parts[1]\n        else:\n            raise DecodeError(\"Invalid Authorization header\")\n\n        try:\n            username, password = b64decode(user_pass_encoded).decode().split(\":\", 1)\n            return unquote(username), unquote(password)\n        except Exception as e:  # dear contributors please do not change to valueerror - here can be multiple exceptions\n            raise DecodeError(\"Invalid Authorization header\") from e\n"
  },
  {
    "path": "ninja/security/session.py",
    "content": "from typing import Any, Optional\n\nfrom django.conf import settings\nfrom django.http import HttpRequest\n\nfrom ninja.security.apikey import APIKeyCookie\n\n__all__ = [\"SessionAuth\", \"SessionAuthSuperUser\", \"SessionAuthIsStaff\"]\n\n\nclass SessionAuth(APIKeyCookie):\n    \"Reusing Django session authentication\"\n\n    param_name: str = settings.SESSION_COOKIE_NAME\n\n    def authenticate(self, request: HttpRequest, key: Optional[str]) -> Optional[Any]:\n        if request.user.is_authenticated:\n            return request.user\n\n        return None\n\n\nclass SessionAuthSuperUser(APIKeyCookie):\n    \"Reusing Django session authentication & verify that the user is a super user\"\n\n    param_name: str = settings.SESSION_COOKIE_NAME\n\n    def authenticate(self, request: HttpRequest, key: Optional[str]) -> Optional[Any]:\n        is_superuser = getattr(request.user, \"is_superuser\", None)\n        if request.user.is_authenticated and is_superuser:\n            return request.user\n\n        return None\n\n\nclass SessionAuthIsStaff(SessionAuthSuperUser):\n    def authenticate(self, request: HttpRequest, key: Optional[str]) -> Optional[Any]:\n        result = super().authenticate(request, key)\n        if result is not None:\n            return result\n        if request.user.is_authenticated and getattr(request.user, \"is_staff\", None):\n            return request.user\n\n        return None\n"
  },
  {
    "path": "ninja/signature/__init__.py",
    "content": "from ninja.signature.details import ViewSignature\nfrom ninja.signature.utils import is_async\n\n__all__ = [\"ViewSignature\", \"is_async\"]\n"
  },
  {
    "path": "ninja/signature/details.py",
    "content": "import inspect\nimport warnings\nfrom collections import defaultdict, namedtuple\nfrom sys import version_info\nfrom typing import Any, Callable, Dict, Generator, List, Optional, Tuple\n\nimport pydantic\nfrom django.http import HttpResponse\nfrom pydantic.fields import FieldInfo\nfrom pydantic_core import PydanticUndefined\nfrom typing_extensions import Annotated, get_args, get_origin\n\nfrom ninja import UploadedFile\nfrom ninja.compatibility.util import UNION_TYPES\nfrom ninja.errors import ConfigError\nfrom ninja.params.models import (\n    Body,\n    File,\n    Form,\n    Param,\n    Path,\n    Query,\n    TModel,\n    TModels,\n    _MultiPartBody,\n)\nfrom ninja.signature.utils import get_path_param_names, get_typed_signature\nfrom ninja.utils import is_optional_type\n\n__all__ = [\n    \"ViewSignature\",\n    \"is_pydantic_model\",\n    \"is_collection_type\",\n    \"detect_collection_fields\",\n]\n\nFuncParam = namedtuple(\n    \"FuncParam\", [\"name\", \"alias\", \"source\", \"annotation\", \"is_collection\"]\n)\n\n\nclass ViewSignature:\n    FLATTEN_PATH_SEP = (\n        \"\\x1e\"  # ASCII Record Separator.  IE: not generally used in query names\n    )\n    response_arg: Optional[str] = None\n\n    def __init__(self, path: str, view_func: Callable[..., Any]) -> None:\n        self.view_func = view_func\n        self.signature = get_typed_signature(self.view_func)\n        self.path = path\n        self.path_params_names = get_path_param_names(path)\n        self.docstring = inspect.cleandoc(view_func.__doc__ or \"\")\n        self.has_kwargs = False\n\n        self.params = []\n        for name, arg in self.signature.parameters.items():\n            if name == \"request\":\n                # TODO: maybe better assert that 1st param is request or check by type?\n                # maybe even have attribute like `has_request`\n                # so that users can ignore passing request if not needed\n                continue\n\n            if arg.kind == arg.VAR_KEYWORD:\n                # Skipping **kwargs\n                self.has_kwargs = True\n                continue\n\n            if arg.kind == arg.VAR_POSITIONAL:\n                # Skipping *args\n                continue\n\n            if arg.annotation is HttpResponse:\n                self.response_arg = name\n                continue\n\n            if (\n                arg.annotation is inspect.Parameter.empty\n                and isinstance(arg.default, type)\n                and issubclass(arg.default, pydantic.BaseModel)\n            ):\n                raise ConfigError(\n                    f\"Looks like you are using `{name}={arg.default.__name__}` instead of `{name}: {arg.default.__name__}` (annotation)\"\n                )\n\n            func_param = self._get_param_type(name, arg)\n            self.params.append(func_param)\n\n        if hasattr(view_func, \"_ninja_contribute_args\"):\n            # _ninja_contribute_args is a special attribute\n            # which allows developers to create custom function params\n            # inside decorators or other functions\n            for p_name, p_type, p_source in view_func._ninja_contribute_args:\n                self.params.append(\n                    FuncParam(p_name, p_source.alias or p_name, p_source, p_type, False)\n                )\n\n        self.models: TModels = self._create_models()\n\n        self._validate_view_path_params()\n\n    def _validate_view_path_params(self) -> None:\n        \"\"\"verify all path params are present in the path model fields\"\"\"\n        if self.path_params_names:\n            path_model = next(\n                (m for m in self.models if m.__ninja_param_source__ == \"path\"), None\n            )\n            missing = tuple(\n                sorted(\n                    name\n                    for name in self.path_params_names\n                    if not (path_model and name in path_model.__ninja_flatten_map__)\n                )\n            )\n            if missing:\n                warnings.warn_explicit(\n                    UserWarning(\n                        f\"Field(s) {missing} are in the view path, but were not found in the view signature.\"\n                    ),\n                    category=None,\n                    filename=inspect.getfile(self.view_func),\n                    lineno=inspect.getsourcelines(self.view_func)[1],\n                    source=None,\n                )\n\n    def _create_models(self) -> TModels:\n        params_by_source_cls: Dict[Any, List[FuncParam]] = defaultdict(list)\n        for param in self.params:\n            param_source_cls = type(param.source)\n            params_by_source_cls[param_source_cls].append(param)\n\n        is_multipart_response_with_body = Body in params_by_source_cls and (\n            File in params_by_source_cls or Form in params_by_source_cls\n        )\n        if is_multipart_response_with_body:\n            params_by_source_cls[_MultiPartBody] = params_by_source_cls.pop(Body)\n\n        result = []\n        for param_cls, args in params_by_source_cls.items():\n            cls_name: str = param_cls.__name__ + \"Params\"\n            attrs = {i.name: i.source for i in args}\n            attrs[\"__ninja_param_source__\"] = param_cls._param_source()\n            attrs[\"__ninja_flatten_map_reverse__\"] = {}\n\n            if attrs[\"__ninja_param_source__\"] == \"file\":\n                pass\n\n            elif attrs[\"__ninja_param_source__\"] in {\n                \"form\",\n                \"query\",\n                \"header\",\n                \"cookie\",\n                \"path\",\n            }:\n                flatten_map = self._args_flatten_map(args)\n                attrs[\"__ninja_flatten_map__\"] = flatten_map\n                attrs[\"__ninja_flatten_map_reverse__\"] = {\n                    v: (k,) for k, v in flatten_map.items()\n                }\n\n            else:\n                assert attrs[\"__ninja_param_source__\"] == \"body\"\n                if is_multipart_response_with_body:\n                    attrs[\"__ninja_body_params__\"] = {\n                        i.alias: i.annotation for i in args\n                    }\n                else:\n                    # ::TODO:: this is still sus.  build some test cases\n                    attrs[\"__read_from_single_attr__\"] = (\n                        args[0].name if len(args) == 1 else None\n                    )\n\n            # adding annotations\n            attrs[\"__annotations__\"] = {i.name: i.annotation for i in args}\n\n            # collection fields:\n            attrs[\"__ninja_collection_fields__\"] = detect_collection_fields(\n                args, attrs.get(\"__ninja_flatten_map__\", {})\n            )\n\n            base_cls = param_cls._model\n            model_cls = type(cls_name, (base_cls,), attrs)\n            # TODO: https://pydantic-docs.helpmanual.io/usage/models/#dynamic-model-creation - check if anything special in create_model method that I did not use\n            result.append(model_cls)\n        return result\n\n    def _args_flatten_map(self, args: List[FuncParam]) -> Dict[str, Tuple[str, ...]]:\n        flatten_map = {}\n        arg_names: Any = {}\n        for arg in args:\n            if is_pydantic_model(arg.annotation):\n                for name, path in self._model_flatten_map(arg.annotation, arg.alias):\n                    if name in flatten_map:\n                        raise ConfigError(\n                            f\"Duplicated name: '{name}' in params: '{arg_names[name]}' & '{arg.name}'\"\n                        )\n                    flatten_map[name] = tuple(path.split(self.FLATTEN_PATH_SEP))\n                    arg_names[name] = arg.name\n            else:\n                name = arg.alias\n                if name in flatten_map:\n                    raise ConfigError(\n                        f\"Duplicated name: '{name}' also in '{arg_names[name]}'\"\n                    )\n                flatten_map[name] = (name,)\n                arg_names[name] = name\n\n        return flatten_map\n\n    def _model_flatten_map(self, model: TModel, prefix: str) -> Generator:\n        model = _unwrap_union_model(model)\n        field: FieldInfo\n        for attr, field in model.model_fields.items():\n            field_name = field.alias or attr\n            name = f\"{prefix}{self.FLATTEN_PATH_SEP}{field_name}\"\n            if is_pydantic_model(field.annotation):\n                yield from self._model_flatten_map(field.annotation, name)  # type: ignore\n            else:\n                yield field_name, name\n\n    def _get_param_type(self, name: str, arg: inspect.Parameter) -> FuncParam:\n        # _EMPTY = self.signature.empty\n        annotation = arg.annotation\n        default = arg.default\n\n        if get_origin(annotation) is Annotated:\n            args = get_args(annotation)\n            if isinstance(args[-1], Param):\n                prev_default = default\n                if len(args) == 2:\n                    annotation, default = args\n                else:\n                    # TODO: Remove version check once support for <=3.8 is dropped.\n                    # Annotated[] is only available at runtime in 3.9+ per\n                    # https://docs.python.org/3/library/typing.html#typing.Annotated\n                    if version_info >= (3, 9):\n                        # NOTE: Annotated[args[:-1]] seems to have the same runtime\n                        # behavior as Annotated[*args[:-1]], but the latter is\n                        # invalid in Python < 3.11 because star expressions\n                        # were not allowed in index expressions.\n                        annotation, default = Annotated[args[:-1]], args[-1]\n                    else:  # pragma: no cover -- requires specific Python versions\n                        raise NotImplementedError(\n                            \"This definition requires Python version 3.9+\"\n                        )\n                if prev_default != self.signature.empty:\n                    default.default = prev_default\n\n        if annotation == self.signature.empty:\n            if default == self.signature.empty:\n                annotation = str\n            else:\n                if isinstance(default, Param):\n                    annotation = type(default.default)\n                else:\n                    annotation = type(default)\n\n            if annotation == PydanticUndefined.__class__:\n                # TODO: ^ check why is that so\n                annotation = str\n\n        if annotation == type(None) or annotation == type(Ellipsis):  # noqa\n            annotation = str\n\n        is_collection = is_collection_type(annotation)\n\n        if annotation == UploadedFile or (\n            is_collection and annotation.__args__[0] == UploadedFile\n        ):\n            # People often forgot to mark UploadedFile as a File, so we better assign it automatically\n            if default == self.signature.empty or default is None:\n                default = default == self.signature.empty and ... or default\n                return FuncParam(name, name, File(default), annotation, is_collection)\n\n        # 1) if type of the param is defined as one of the Param's subclasses - we just use that definition\n        if isinstance(default, Param):\n            param_source = default\n\n        # 2) if param name is a part of the path parameter\n        elif name in self.path_params_names:\n            assert (\n                default == self.signature.empty\n            ), f\"'{name}' is a path param, default not allowed\"\n            param_source = Path(...)\n\n        # 3) if param is a collection, or annotation is part of pydantic model:\n        elif is_collection or is_pydantic_model(annotation):\n            if default == self.signature.empty:\n                param_source = Body(...)\n            else:\n                param_source = Body(default)\n\n        # 4) the last case is query param\n        else:\n            if default == self.signature.empty:\n                param_source = Query(...)\n            else:\n                param_source = Query(default)\n\n        # If default is None but annotation is not Optional,\n        # wrap it in Optional to allow None values in Pydantic v2\n        if default is None and not is_optional_type(annotation):\n            annotation = Optional[annotation]\n\n        return FuncParam(\n            name, param_source.alias or name, param_source, annotation, is_collection\n        )\n\n\ndef _unwrap_union_model(annotation: Any) -> Any:\n    \"\"\"If annotation is a Union containing a pydantic model, return that model class.\"\"\"\n    if get_origin(annotation) in UNION_TYPES:\n        for arg in get_args(annotation):\n            if arg is not type(None) and is_pydantic_model(arg):\n                return arg\n    return annotation\n\n\ndef is_pydantic_model(cls: Any) -> bool:\n    try:\n        origin = get_origin(cls)\n\n        # Handle Annotated types - extract the actual type\n        if origin is Annotated:\n            args = get_args(cls)\n            return is_pydantic_model(args[0])\n\n        # Handle Union types\n        if origin in UNION_TYPES:\n            return any(issubclass(arg, pydantic.BaseModel) for arg in get_args(cls))\n        return issubclass(cls, pydantic.BaseModel)\n    except TypeError:  # pragma: no cover\n        return False\n\n\ndef is_collection_type(annotation: Any) -> bool:\n    origin = get_origin(annotation)\n\n    if origin in UNION_TYPES:\n        for arg in get_args(annotation):\n            if is_collection_type(arg):\n                return True\n        return False\n\n    collection_types = (List, list, set, tuple)\n    if origin is None:\n        return (\n            isinstance(annotation, collection_types)\n            if not isinstance(annotation, type)\n            else issubclass(annotation, collection_types)\n        )\n    else:\n        return origin in collection_types  # TODO: I guess we should handle only list\n\n\ndef detect_collection_fields(\n    args: List[FuncParam], flatten_map: Dict[str, Tuple[str, ...]]\n) -> List[str]:\n    \"\"\"\n    Django QueryDict has values that are always lists, so we need to help django ninja to understand\n    better the input parameters if it's a list or a single value\n    This method detects attributes that should be treated by ninja as lists and returns this list as a result\n    \"\"\"\n    result = [i.alias or i.name for i in args if i.is_collection]\n\n    if flatten_map:\n        args_d = {arg.alias: arg for arg in args}\n        for path in (p for p in flatten_map.values() if len(p) > 1):\n            annotation_or_field: Any = args_d[path[0]].annotation\n            for attr in path[1:]:\n                if hasattr(annotation_or_field, \"annotation\"):\n                    annotation_or_field = annotation_or_field.annotation\n                annotation_or_field = _unwrap_union_model(annotation_or_field)\n                annotation_or_field = next(\n                    (\n                        a\n                        for a in annotation_or_field.model_fields.values()\n                        if a.alias == attr\n                    ),\n                    annotation_or_field.model_fields.get(attr),\n                )  # pragma: no cover\n\n                annotation_or_field = getattr(\n                    annotation_or_field, \"outer_type_\", annotation_or_field\n                )\n\n            # if hasattr(annotation_or_field, \"annotation\"):\n            annotation_or_field = annotation_or_field.annotation\n\n            if is_collection_type(annotation_or_field):\n                result.append(path[-1])\n    return result\n"
  },
  {
    "path": "ninja/signature/utils.py",
    "content": "import asyncio\nimport inspect\nimport re\nfrom sys import version_info\nfrom typing import Any, Callable, ForwardRef, List, Set\n\nfrom django.urls import register_converter\nfrom django.urls.converters import UUIDConverter\nfrom pydantic._internal._typing_extra import eval_type_lenient as evaluate_forwardref\n\nfrom ninja.types import DictStrAny\n\n__all__ = [\n    \"get_typed_signature\",\n    \"get_typed_annotation\",\n    \"make_forwardref\",\n    \"get_path_param_names\",\n    \"is_async\",\n]\n\n\ndef get_typed_signature(call: Callable[..., Any]) -> inspect.Signature:\n    \"Finds call signature and resolves all forwardrefs\"\n    signature = inspect.signature(call)\n    globalns = getattr(call, \"__globals__\", {})\n    typed_params = [\n        inspect.Parameter(\n            name=param.name,\n            kind=param.kind,\n            default=param.default,\n            annotation=get_typed_annotation(param, globalns),\n        )\n        for param in signature.parameters.values()\n    ]\n    typed_signature = inspect.Signature(typed_params)\n    return typed_signature\n\n\ndef get_typed_annotation(param: inspect.Parameter, globalns: DictStrAny) -> Any:\n    annotation = param.annotation\n    if isinstance(annotation, str):\n        annotation = make_forwardref(annotation, globalns)\n    return annotation\n\n\ndef make_forwardref(annotation: str, globalns: DictStrAny) -> Any:\n    # NOTE: in future versions of pydantic, the import may be changed to:\n    # from pydantic._internal._typing_extra import try_eval_type\n    # usage:\n    # result, _ = try_eval_type(forward_ref, globalns, globalns)\n    forward_ref = ForwardRef(annotation)\n    return evaluate_forwardref(forward_ref, globalns, globalns)\n\n\ndef get_path_param_names(path: str) -> Set[str]:\n    \"\"\"turns path string like /foo/{var}/path/{int:another}/end to set {'var', 'another'}\"\"\"\n    return {item.strip(\"{}\").split(\":\")[-1] for item in re.findall(\"{[^}]*}\", path)}\n\n\ndef is_async(callable: Callable[..., Any]) -> bool:\n    # TODO: Drop this condition once support for <= 3.11 is dropped\n    if version_info >= (3, 12):\n        return inspect.iscoroutinefunction(callable)\n    else:\n        return asyncio.iscoroutinefunction(callable)  # pragma: no cover\n\n\ndef has_kwargs(func: Callable[..., Any]) -> bool:\n    for param in inspect.signature(func).parameters.values():\n        if param.kind == param.VAR_KEYWORD:\n            return True\n    return False\n\n\ndef get_args_names(func: Callable[..., Any]) -> List[str]:\n    \"returns list of function argument names\"\n    return list(inspect.signature(func).parameters.keys())\n\n\nclass UUIDStrConverter(UUIDConverter):\n    \"\"\"Return a path converted UUID as a str instead of the standard UUID\"\"\"\n\n    def to_python(self, value: str) -> str:  # type: ignore\n        return value  # return string value instead of UUID\n\n\nregister_converter(UUIDStrConverter, \"uuidstr\")\n"
  },
  {
    "path": "ninja/static/ninja/redoc.standalone.js",
    "content": "/*! For license information please see redoc.standalone.js.LICENSE.txt */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"null\")):\"function\"==typeof define&&define.amd?define([\"null\"],t):\"object\"==typeof exports?exports.Redoc=t(require(\"null\")):e.Redoc=t(e.null)}(this,(function(e){return function(){var t={854:function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.mapTypeToComponent=t.bundleDocument=t.bundleFromString=t.bundle=t.OasVersion=void 0;const i=n(8142),o=n(2928),s=n(2161),a=n(1990),l=n(5735),c=n(3101),u=n(3873),p=n(2900),d=n(3416),f=n(8209),h=n(4125),m=n(474),g=n(4335);var y;function b(e){return r(this,void 0,void 0,(function*(){const{document:t,config:n,customTypes:r,externalRefResolver:i,dereference:u=!1,skipRedoclyRegistryRefs:d=!1,removeUnusedComponents:f=!1,keepUrlRefs:h=!1}=e,y=(0,c.detectSpec)(t.parsed),b=(0,c.getMajorSpecVersion)(y),v=n.getRulesForOasVersion(b),w=(0,a.normalizeTypes)(n.extendTypes(null!=r?r:(0,c.getTypes)(y),y),n),k=(0,p.initRules)(v,n,\"preprocessors\",y),S=(0,p.initRules)(v,n,\"decorators\",y),E={problems:[],oasVersion:y,refTypes:new Map,visitorsData:{}};f&&S.push({severity:\"error\",ruleId:\"remove-unused-components\",visitor:b===c.SpecMajorVersion.OAS2?(0,m.RemoveUnusedComponents)({}):(0,g.RemoveUnusedComponents)({})});let O=yield(0,o.resolveDocument)({rootDocument:t,rootType:w.Root,externalRefResolver:i});k.length>0&&((0,l.walkDocument)({document:t,rootType:w.Root,normalizedVisitors:(0,s.normalizeVisitors)(k,w),resolvedRefMap:O,ctx:E}),O=yield(0,o.resolveDocument)({rootDocument:t,rootType:w.Root,externalRefResolver:i}));const _=(0,s.normalizeVisitors)([{severity:\"error\",ruleId:\"bundler\",visitor:x(b,u,d,t,O,h)},...S],w);return(0,l.walkDocument)({document:t,rootType:w.Root,normalizedVisitors:_,resolvedRefMap:O,ctx:E}),{bundle:t,problems:E.problems.map((e=>n.addProblemToIgnore(e))),fileDependencies:i.getFiles(),rootType:w.Root,refTypes:E.refTypes,visitorsData:E.visitorsData}}))}function v(e,t){switch(t){case c.SpecMajorVersion.OAS3:switch(e){case\"Schema\":return\"schemas\";case\"Parameter\":return\"parameters\";case\"Response\":return\"responses\";case\"Example\":return\"examples\";case\"RequestBody\":return\"requestBodies\";case\"Header\":return\"headers\";case\"SecuritySchema\":return\"securitySchemes\";case\"Link\":return\"links\";case\"Callback\":return\"callbacks\";default:return null}case c.SpecMajorVersion.OAS2:switch(e){case\"Schema\":return\"definitions\";case\"Parameter\":return\"parameters\";case\"Response\":return\"responses\";default:return null}case c.SpecMajorVersion.Async2:switch(e){case\"Schema\":return\"schemas\";case\"Parameter\":return\"parameters\";default:return null}}}function x(e,t,n,r,s,a){let l,p;const m={ref:{leave(i,l,c){if(!c.location||void 0===c.node)return void(0,d.reportUnresolvedRef)(c,l.report,l.location);if(c.location.source===r.source&&c.location.source===l.location.source&&\"scalar\"!==l.type.name&&!t)return;if(n&&(0,h.isRedoclyRegistryURL)(i.$ref))return;if(a&&(0,u.isAbsoluteUrl)(i.$ref))return;const p=v(l.type.name,e);p?t?(y(p,c,l),g(i,c,l)):(i.$ref=y(p,c,l),function(e,t,n){const i=(0,o.makeRefId)(n.location.source.absoluteRef,e.$ref);s.set(i,{document:r,isRemote:!1,node:t.node,nodePointer:e.$ref,resolved:!0})}(i,c,l)):g(i,c,l)}},Root:{enter(t,n){p=n.location,e===c.SpecMajorVersion.OAS3?l=t.components=t.components||{}:e===c.SpecMajorVersion.OAS2&&(l=t)}}};function g(e,t,n){if((0,f.isPlainObject)(t.node)){delete e.$ref;const n=Object.assign({},t.node,e);Object.assign(e,n)}else n.parent[n.key]=t.node}function y(t,n,r){l[t]=l[t]||{};const i=function(e,t,n){const[r,i]=[e.location.source.absoluteRef,e.location.pointer],o=l[t];let s=\"\";const a=i.slice(2).split(\"/\").filter(f.isTruthy);for(;a.length>0;)if(s=a.pop()+(s?`-${s}`:\"\"),!o||!o[s]||b(o[s],e,n))return s;if(s=(0,u.refBaseName)(r)+(s?`_${s}`:\"\"),!o[s]||b(o[s],e,n))return s;const c=s;let p=2;for(;o[s]&&!b(o[s],e,n);)s=`${c}-${p}`,p++;return o[s]||n.report({message:`Two schemas are referenced with the same name but different content. Renamed ${c} to ${s}.`,location:n.location,forceSeverity:\"warn\"}),s}(n,t,r);return l[t][i]=n.node,e===c.SpecMajorVersion.OAS3?`#/components/${t}/${i}`:`#/${t}/${i}`}function b(e,t,n){var r;return!(!(0,u.isRef)(e)||(null===(r=n.resolve(e,p.absolutePointer).location)||void 0===r?void 0:r.absolutePointer)!==t.location.absolutePointer)||i(e,t.node)}return e===c.SpecMajorVersion.OAS3&&(m.DiscriminatorMapping={leave(n,r){for(const i of Object.keys(n)){const o=n[i],s=r.resolve({$ref:o});if(!s.location||void 0===s.node)return void(0,d.reportUnresolvedRef)(s,r.report,r.location.child(i));const a=v(\"Schema\",e);t?y(a,s,r):n[i]=y(a,s,r)}}}),m}!function(e){e.Version2=\"oas2\",e.Version3_0=\"oas3_0\",e.Version3_1=\"oas3_1\"}(y||(t.OasVersion=y={})),t.bundle=function(e){return r(this,void 0,void 0,(function*(){const{ref:t,doc:n,externalRefResolver:r=new o.BaseResolver(e.config.resolve),base:i=null}=e;if(!t&&!n)throw new Error(\"Document or reference is required.\\n\");const s=void 0===n?yield r.resolveDocument(i,t,!0):n;if(s instanceof Error)throw s;return b(Object.assign(Object.assign({document:s},e),{config:e.config.styleguide,externalRefResolver:r}))}))},t.bundleFromString=function(e){return r(this,void 0,void 0,(function*(){const{source:t,absoluteRef:n,externalRefResolver:r=new o.BaseResolver(e.config.resolve)}=e,i=(0,o.makeDocumentFromString)(t,n||\"/\");return b(Object.assign(Object.assign({document:i},e),{externalRefResolver:r,config:e.config.styleguide}))}))},t.bundleDocument=b,t.mapTypeToComponent=v},8921:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Config=t.StyleguideConfig=t.AVAILABLE_REGIONS=t.DOMAINS=t.DEFAULT_REGION=t.IGNORE_FILE=void 0;const r=n(7992),i=n(7975),o=n(970),s=n(8209),a=n(3101),l=n(1827),c=n(462),u=n(3873);t.IGNORE_FILE=\".redocly.lint-ignore.yaml\",t.DEFAULT_REGION=\"us\",t.DOMAINS=function(){const e={us:\"redocly.com\",eu:\"eu.redocly.com\"},t=l.env.REDOCLY_DOMAIN;return(null==t?void 0:t.endsWith(\".redocly.host\"))&&(e[t.split(\".\")[0]]=t),\"redoc.online\"===t&&(e[t]=t),e}(),t.AVAILABLE_REGIONS=Object.keys(t.DOMAINS);class p{constructor(e,n){this.rawConfig=e,this.configFile=n,this.ignore={},this._usedRules=new Set,this._usedVersions=new Set,this.plugins=e.plugins||[],this.doNotResolveExamples=!!e.doNotResolveExamples,this.recommendedFallback=e.recommendedFallback||!1,this.rules={[a.SpecVersion.OAS2]:Object.assign(Object.assign({},e.rules),e.oas2Rules),[a.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.rules),e.oas3_0Rules),[a.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.rules),e.oas3_1Rules),[a.SpecVersion.Async2]:Object.assign(Object.assign({},e.rules),e.async2Rules)},this.preprocessors={[a.SpecVersion.OAS2]:Object.assign(Object.assign({},e.preprocessors),e.oas2Preprocessors),[a.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.preprocessors),e.oas3_0Preprocessors),[a.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.preprocessors),e.oas3_1Preprocessors),[a.SpecVersion.Async2]:Object.assign(Object.assign({},e.preprocessors),e.async2Preprocessors)},this.decorators={[a.SpecVersion.OAS2]:Object.assign(Object.assign({},e.decorators),e.oas2Decorators),[a.SpecVersion.OAS3_0]:Object.assign(Object.assign({},e.decorators),e.oas3_0Decorators),[a.SpecVersion.OAS3_1]:Object.assign(Object.assign({},e.decorators),e.oas3_1Decorators),[a.SpecVersion.Async2]:Object.assign(Object.assign({},e.decorators),e.async2Decorators)},this.extendPaths=e.extendPaths||[],this.pluginPaths=e.pluginPaths||[],this.resolveIgnore(function(e){return e?(0,s.doesYamlFileExist)(e)?i.join(i.dirname(e),t.IGNORE_FILE):i.join(e,t.IGNORE_FILE):l.isBrowser?void 0:i.join(process.cwd(),t.IGNORE_FILE)}(n))}resolveIgnore(e){if(e&&(0,s.doesYamlFileExist)(e)){this.ignore=(0,o.parseYaml)(r.readFileSync(e,\"utf-8\"))||{};for(const t of Object.keys(this.ignore)){this.ignore[(0,u.isAbsoluteUrl)(t)?t:i.resolve(i.dirname(e),t)]=this.ignore[t];for(const e of Object.keys(this.ignore[t]))this.ignore[t][e]=new Set(this.ignore[t][e]);(0,u.isAbsoluteUrl)(t)||delete this.ignore[t]}}}saveIgnore(){const e=this.configFile?i.dirname(this.configFile):process.cwd(),n=i.join(e,t.IGNORE_FILE),a={};for(const t of Object.keys(this.ignore)){const n=a[(0,u.isAbsoluteUrl)(t)?t:(0,s.slash)(i.relative(e,t))]=this.ignore[t];for(const e of Object.keys(n))n[e]=Array.from(n[e])}r.writeFileSync(n,\"# This file instructs Redocly's linter to ignore the rules contained for specific parts of your API.\\n# See https://redoc.ly/docs/cli/ for more information.\\n\"+(0,o.stringifyYaml)(a))}addIgnore(e){const t=this.ignore,n=e.location[0];if(void 0===n.pointer)return;const r=t[n.source.absoluteRef]=t[n.source.absoluteRef]||{};(r[e.ruleId]=r[e.ruleId]||new Set).add(n.pointer)}addProblemToIgnore(e){const t=e.location[0];if(void 0===t.pointer)return e;const n=(this.ignore[t.source.absoluteRef]||{})[e.ruleId],r=n&&n.has(t.pointer);return r?Object.assign(Object.assign({},e),{ignored:r}):e}extendTypes(e,t){let n=e;for(const e of this.plugins)if(void 0!==e.typeExtension)switch(t){case a.SpecVersion.OAS3_0:case a.SpecVersion.OAS3_1:if(!e.typeExtension.oas3)continue;n=e.typeExtension.oas3(n,t);break;case a.SpecVersion.OAS2:if(!e.typeExtension.oas2)continue;n=e.typeExtension.oas2(n,t);break;case a.SpecVersion.Async2:if(!e.typeExtension.async2)continue;n=e.typeExtension.async2(n,t);break;default:throw new Error(\"Not implemented\")}return n}getRuleSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.rules[t][e]||\"off\";return\"string\"==typeof n?{severity:n}:Object.assign({severity:\"error\"},n)}getPreprocessorSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.preprocessors[t][e]||\"off\";return\"string\"==typeof n?{severity:\"on\"===n?\"error\":n}:Object.assign({severity:\"error\"},n)}getDecoratorSettings(e,t){this._usedRules.add(e),this._usedVersions.add(t);const n=this.decorators[t][e]||\"off\";return\"string\"==typeof n?{severity:\"on\"===n?\"error\":n}:Object.assign({severity:\"error\"},n)}getUnusedRules(){const e=[],t=[],n=[];for(const r of Array.from(this._usedVersions))e.push(...Object.keys(this.rules[r]).filter((e=>!this._usedRules.has(e)))),t.push(...Object.keys(this.decorators[r]).filter((e=>!this._usedRules.has(e)))),n.push(...Object.keys(this.preprocessors[r]).filter((e=>!this._usedRules.has(e))));return{rules:e,preprocessors:n,decorators:t}}getRulesForOasVersion(e){switch(e){case a.SpecMajorVersion.OAS3:const e=[];return this.plugins.forEach((t=>{var n;return(null===(n=t.preprocessors)||void 0===n?void 0:n.oas3)&&e.push(t.preprocessors.oas3)})),this.plugins.forEach((t=>{var n;return(null===(n=t.rules)||void 0===n?void 0:n.oas3)&&e.push(t.rules.oas3)})),this.plugins.forEach((t=>{var n;return(null===(n=t.decorators)||void 0===n?void 0:n.oas3)&&e.push(t.decorators.oas3)})),e;case a.SpecMajorVersion.OAS2:const t=[];return this.plugins.forEach((e=>{var n;return(null===(n=e.preprocessors)||void 0===n?void 0:n.oas2)&&t.push(e.preprocessors.oas2)})),this.plugins.forEach((e=>{var n;return(null===(n=e.rules)||void 0===n?void 0:n.oas2)&&t.push(e.rules.oas2)})),this.plugins.forEach((e=>{var n;return(null===(n=e.decorators)||void 0===n?void 0:n.oas2)&&t.push(e.decorators.oas2)})),t;case a.SpecMajorVersion.Async2:const n=[];return this.plugins.forEach((e=>{var t;return(null===(t=e.preprocessors)||void 0===t?void 0:t.async2)&&n.push(e.preprocessors.async2)})),this.plugins.forEach((e=>{var t;return(null===(t=e.rules)||void 0===t?void 0:t.async2)&&n.push(e.rules.async2)})),this.plugins.forEach((e=>{var t;return(null===(t=e.decorators)||void 0===t?void 0:t.async2)&&n.push(e.decorators.async2)})),n}}skipRules(e){for(const t of e||[])for(const e of Object.values(a.SpecVersion))this.rules[e][t]&&(this.rules[e][t]=\"off\")}skipPreprocessors(e){for(const t of e||[])for(const e of Object.values(a.SpecVersion))this.preprocessors[e][t]&&(this.preprocessors[e][t]=\"off\")}skipDecorators(e){for(const t of e||[])for(const e of Object.values(a.SpecVersion))this.decorators[e][t]&&(this.decorators[e][t]=\"off\")}}t.StyleguideConfig=p,t.Config=class{constructor(e,t){this.rawConfig=e,this.configFile=t,this.apis=e.apis||{},this.styleguide=new p(e.styleguide||{},t),this.theme=e.theme||{},this.resolve=(0,c.getResolveConfig)(null==e?void 0:e.resolve),this.region=e.region,this.organization=e.organization,this.files=e.files||[],this.telemetry=e.telemetry}}},2900:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.initRules=void 0;const r=n(8209);t.initRules=function(e,t,n,i){return e.flatMap((e=>Object.keys(e).map((r=>{const o=e[r],s=\"rules\"===n?t.getRuleSettings(r,i):\"preprocessors\"===n?t.getPreprocessorSettings(r,i):t.getDecoratorSettings(r,i);if(\"off\"===s.severity)return;const a=s.severity,l=o(s);return Array.isArray(l)?l.map((e=>({severity:a,ruleId:r,visitor:e}))):{severity:a,ruleId:r,visitor:l}})))).flatMap((e=>e)).filter(r.isDefined)}},462:function(e,t,n){\"use strict\";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ConfigValidationError=t.getUniquePlugins=t.getResolveConfig=t.transformConfig=t.checkForDeprecatedFields=t.getMergedConfig=t.mergeExtends=t.prefixRules=t.transformApiDefinitionsToApis=t.parsePresetName=void 0;const i=n(8209),o=n(8921),s=n(2678);function a(e){if(!e)return;const t={};for(const[n,r]of Object.entries(e))t[n]={root:r};return t}function l(e){var t,{plugins:n,extends:o,rules:s,oas2Rules:a,oas3_0Rules:l,oas3_1Rules:c,async2Rules:u,preprocessors:p,oas2Preprocessors:d,oas3_0Preprocessors:f,oas3_1Preprocessors:h,async2Preprocessors:m,decorators:g,oas2Decorators:y,oas3_0Decorators:b,oas3_1Decorators:v,async2Decorators:x}=e,w=r(e,[\"plugins\",\"extends\",\"rules\",\"oas2Rules\",\"oas3_0Rules\",\"oas3_1Rules\",\"async2Rules\",\"preprocessors\",\"oas2Preprocessors\",\"oas3_0Preprocessors\",\"oas3_1Preprocessors\",\"async2Preprocessors\",\"decorators\",\"oas2Decorators\",\"oas3_0Decorators\",\"oas3_1Decorators\",\"async2Decorators\"]);const k={plugins:n,extends:o,rules:s,oas2Rules:a,oas3_0Rules:l,oas3_1Rules:c,async2Rules:u,preprocessors:p,oas2Preprocessors:d,oas3_0Preprocessors:f,oas3_1Preprocessors:h,async2Preprocessors:m,decorators:g,oas2Decorators:y,oas3_0Decorators:b,oas3_1Decorators:v,async2Decorators:x,doNotResolveExamples:null===(t=w.resolve)||void 0===t?void 0:t.doNotResolveExamples};if(w.lint&&w.styleguide||Object.values(k).some(i.isDefined)&&(w.lint||w.styleguide))throw new Error(\"Do not use 'lint', 'styleguide' and flat syntax together. \\nSee more about the configuration in the docs: https://redocly.com/docs/cli/configuration/ \\n\");return{styleguideConfig:Object.values(k).some(i.isDefined)?k:void 0,rawConfigRest:w}}function c(e){if(!e)return;const t={};for(let n of Object.entries(e)){const[e,i]=n,{lint:o}=i,s=r(i,[\"lint\"]),{styleguideConfig:a,rawConfigRest:c}=l(s);t[e]=Object.assign({styleguide:a||o},c)}return t}function u(e,t,n,r){const o=n.apis&&Object.values(n.apis).some((t=>t[e]));n[e]&&null===t&&(0,i.showWarningForDeprecatedField)(e),n[e]&&t&&n[t]&&(0,i.showErrorForDeprecatedField)(e,t),n[e]&&r&&n[r]&&(0,i.showErrorForDeprecatedField)(e,t,r),(n[e]||o)&&(0,i.showWarningForDeprecatedField)(e,t,r)}t.parsePresetName=function(e){if(e.indexOf(\"/\")>-1){const[t,n]=e.split(\"/\");return{pluginId:t,configName:n}}return{pluginId:\"\",configName:e}},t.transformApiDefinitionsToApis=a,t.prefixRules=function(e,t){if(!t)return e;const n={};for(const r of Object.keys(e))n[`${t}/${r}`]=e[r];return n},t.mergeExtends=function(e){const t={rules:{},oas2Rules:{},oas3_0Rules:{},oas3_1Rules:{},async2Rules:{},preprocessors:{},oas2Preprocessors:{},oas3_0Preprocessors:{},oas3_1Preprocessors:{},async2Preprocessors:{},decorators:{},oas2Decorators:{},oas3_0Decorators:{},oas3_1Decorators:{},async2Decorators:{},plugins:[],pluginPaths:[],extendPaths:[]};for(const n of e){if(n.extends)throw new Error(`'extends' is not supported in shared configs yet: ${JSON.stringify(n,null,2)}.`);Object.assign(t.rules,n.rules),Object.assign(t.oas2Rules,n.oas2Rules),(0,i.assignExisting)(t.oas2Rules,n.rules||{}),Object.assign(t.oas3_0Rules,n.oas3_0Rules),(0,i.assignExisting)(t.oas3_0Rules,n.rules||{}),Object.assign(t.oas3_1Rules,n.oas3_1Rules),(0,i.assignExisting)(t.oas3_1Rules,n.rules||{}),Object.assign(t.async2Rules,n.async2Rules),(0,i.assignExisting)(t.async2Rules,n.rules||{}),Object.assign(t.preprocessors,n.preprocessors),Object.assign(t.oas2Preprocessors,n.oas2Preprocessors),(0,i.assignExisting)(t.oas2Preprocessors,n.preprocessors||{}),Object.assign(t.oas3_0Preprocessors,n.oas3_0Preprocessors),(0,i.assignExisting)(t.oas3_0Preprocessors,n.preprocessors||{}),Object.assign(t.oas3_1Preprocessors,n.oas3_1Preprocessors),(0,i.assignExisting)(t.oas3_1Preprocessors,n.preprocessors||{}),Object.assign(t.async2Preprocessors,n.async2Preprocessors),(0,i.assignExisting)(t.async2Preprocessors,n.preprocessors||{}),Object.assign(t.decorators,n.decorators),Object.assign(t.oas2Decorators,n.oas2Decorators),(0,i.assignExisting)(t.oas2Decorators,n.decorators||{}),Object.assign(t.oas3_0Decorators,n.oas3_0Decorators),(0,i.assignExisting)(t.oas3_0Decorators,n.decorators||{}),Object.assign(t.oas3_1Decorators,n.oas3_1Decorators),(0,i.assignExisting)(t.oas3_1Decorators,n.decorators||{}),Object.assign(t.async2Decorators,n.async2Decorators),(0,i.assignExisting)(t.async2Decorators,n.decorators||{}),t.plugins.push(...n.plugins||[]),t.pluginPaths.push(...n.pluginPaths||[]),t.extendPaths.push(...new Set(n.extendPaths))}return t},t.getMergedConfig=function(e,t){var n,r,s,a,l,c,u,p;const d=[...Object.values(e.apis).map((e=>{var t;return null===(t=null==e?void 0:e.styleguide)||void 0===t?void 0:t.extendPaths})),null===(r=null===(n=e.rawConfig)||void 0===n?void 0:n.styleguide)||void 0===r?void 0:r.extendPaths].flat().filter(i.isTruthy),f=[...Object.values(e.apis).map((e=>{var t;return null===(t=null==e?void 0:e.styleguide)||void 0===t?void 0:t.pluginPaths})),null===(a=null===(s=e.rawConfig)||void 0===s?void 0:s.styleguide)||void 0===a?void 0:a.pluginPaths].flat().filter(i.isTruthy);return t?new o.Config(Object.assign(Object.assign({},e.rawConfig),{styleguide:Object.assign(Object.assign({},e.apis[t]?e.apis[t].styleguide:e.rawConfig.styleguide),{extendPaths:d,pluginPaths:f}),theme:Object.assign(Object.assign({},e.rawConfig.theme),null===(l=e.apis[t])||void 0===l?void 0:l.theme),files:[...e.files,...null!==(p=null===(u=null===(c=e.apis)||void 0===c?void 0:c[t])||void 0===u?void 0:u.files)&&void 0!==p?p:[]]}),e.configFile):e},t.checkForDeprecatedFields=u,t.transformConfig=function(e){var t,n;const i=[[\"apiDefinitions\",\"apis\",void 0],[\"referenceDocs\",\"openapi\",\"theme\"],[\"lint\",void 0,void 0],[\"styleguide\",void 0,void 0],[\"features.openapi\",\"openapi\",\"theme\"]];for(const[t,n,r]of i)u(t,n,e,r);const{apis:o,apiDefinitions:p,referenceDocs:d,lint:f}=e,h=r(e,[\"apis\",\"apiDefinitions\",\"referenceDocs\",\"lint\"]),{styleguideConfig:m,rawConfigRest:g}=l(h),y=Object.assign({theme:{openapi:Object.assign(Object.assign(Object.assign({},d),e[\"features.openapi\"]),null===(t=e.theme)||void 0===t?void 0:t.openapi),mockServer:Object.assign(Object.assign({},e[\"features.mockServer\"]),null===(n=e.theme)||void 0===n?void 0:n.mockServer)},apis:c(o)||a(p),styleguide:m||f},g);return function(e){var t,n;let r=Object.assign({},null===(t=e.styleguide)||void 0===t?void 0:t.rules);for(const t of Object.values(e.apis||{}))r=Object.assign(Object.assign({},r),null===(n=null==t?void 0:t.styleguide)||void 0===n?void 0:n.rules);for(const e of Object.keys(r))e.startsWith(\"assert/\")&&s.logger.warn(`\\nThe 'assert/' syntax in ${e} is deprecated. Update your configuration to use 'rule/' instead. Examples and more information: https://redocly.com/docs/cli/rules/configurable-rules/\\n`)}(y),y},t.getResolveConfig=function(e){var t,n;return{http:{headers:null!==(n=null===(t=null==e?void 0:e.http)||void 0===t?void 0:t.headers)&&void 0!==n?n:[],customFetch:void 0}}},t.getUniquePlugins=function(e){const t=new Set,n=[];for(const r of e)t.has(r.id)?r.id&&s.logger.warn(`Duplicate plugin id \"${s.colorize.red(r.id)}\".\\n`):(n.push(r),t.add(r.id));return n};class p extends Error{}t.ConfigValidationError=p},1827:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.env=t.isBrowser=void 0,t.isBrowser=\"undefined\"!=typeof window||\"undefined\"!=typeof self||\"undefined\"==typeof process,t.env=t.isBrowser?{}:{}||{}},970:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.stringifyYaml=t.parseYaml=void 0;const r=n(7210),i=r.JSON_SCHEMA.extend({implicit:[r.types.merge],explicit:[r.types.binary,r.types.omap,r.types.pairs,r.types.set]});t.parseYaml=(e,t)=>(0,r.load)(e,Object.assign({schema:i},t)),t.stringifyYaml=(e,t)=>(0,r.dump)(e,t)},2678:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.logger=t.colorize=t.colorOptions=void 0;const r=n(8825);var i=n(8825);Object.defineProperty(t,\"colorOptions\",{enumerable:!0,get:function(){return i.options}});const o=n(1827),s=n(8209);t.colorize=new Proxy(r,{get(e,t){return o.isBrowser?s.identity:e[t]}}),t.logger=new class{stderr(e){return process.stderr.write(e)}info(e){return o.isBrowser?console.log(e):this.stderr(e)}warn(e){return o.isBrowser?console.warn(e):this.stderr(t.colorize.yellow(e))}error(e){return o.isBrowser?console.error(e):this.stderr(t.colorize.red(e))}}},3101:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.getTypes=t.getMajorSpecVersion=t.detectSpec=t.SpecMajorVersion=t.SpecVersion=void 0;const r=n(4409),i=n(4154),o=n(2082),s=n(264);var a,l;!function(e){e.OAS2=\"oas2\",e.OAS3_0=\"oas3_0\",e.OAS3_1=\"oas3_1\",e.Async2=\"async2\"}(a||(t.SpecVersion=a={})),function(e){e.OAS2=\"oas2\",e.OAS3=\"oas3\",e.Async2=\"async2\"}(l||(t.SpecMajorVersion=l={}));const c={[a.OAS2]:r.Oas2Types,[a.OAS3_0]:i.Oas3Types,[a.OAS3_1]:o.Oas3_1Types,[a.Async2]:s.AsyncApi2Types};t.detectSpec=function(e){if(\"object\"!=typeof e)throw new Error(\"Document must be JSON object, got \"+typeof e);if(e.openapi&&\"string\"!=typeof e.openapi)throw new Error(`Invalid OpenAPI version: should be a string but got \"${typeof e.openapi}\"`);if(e.openapi&&e.openapi.startsWith(\"3.0\"))return a.OAS3_0;if(e.openapi&&e.openapi.startsWith(\"3.1\"))return a.OAS3_1;if(e.swagger&&\"2.0\"===e.swagger)return a.OAS2;if(e.openapi||e.swagger)throw new Error(`Unsupported OpenAPI version: ${e.openapi||e.swagger}`);if(e.asyncapi&&e.asyncapi.startsWith(\"2.\"))return a.Async2;if(e.asyncapi)throw new Error(`Unsupported AsyncAPI version: ${e.asyncapi}`);throw new Error(\"Unsupported specification\")},t.getMajorSpecVersion=function(e){return e===a.OAS2?l.OAS2:e===a.Async2?l.Async2:l.OAS3},t.getTypes=function(e){return c[e]}},4125:function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.isRedoclyRegistryURL=t.RedoclyClient=void 0;const i=n(3986),o=n(7975),s=n(2941),a=n(919),l=n(8921),c=n(1827),u=n(8209),p=n(2678),d=\".redocly-config.json\";t.RedoclyClient=class{constructor(e){this.accessTokens={},this.region=this.loadRegion(e),this.loadTokens(),this.domain=e?l.DOMAINS[e]:c.env.REDOCLY_DOMAIN||l.DOMAINS[l.DEFAULT_REGION],c.env.REDOCLY_DOMAIN=this.domain,this.registryApi=new a.RegistryApi(this.accessTokens,this.region)}loadRegion(e){if(e&&!l.DOMAINS[e])throw new Error(`Invalid argument: region in config file.\\nGiven: ${p.colorize.green(e)}, choices: \"us\", \"eu\".`);return c.env.REDOCLY_DOMAIN?l.AVAILABLE_REGIONS.find((e=>l.DOMAINS[e]===c.env.REDOCLY_DOMAIN))||l.DEFAULT_REGION:e||l.DEFAULT_REGION}getRegion(){return this.region}hasTokens(){return(0,u.isNotEmptyObject)(this.accessTokens)}hasToken(){return!!this.accessTokens[this.region]}getAuthorizationHeader(){return r(this,void 0,void 0,(function*(){return this.accessTokens[this.region]}))}setAccessTokens(e){this.accessTokens=e}loadTokens(){const e=(0,o.resolve)((0,s.homedir)(),d),t=this.readCredentialsFile(e);(0,u.isNotEmptyObject)(t)&&this.setAccessTokens(Object.assign(Object.assign({},t),t.token&&!t[this.region]&&{[this.region]:t.token})),c.env.REDOCLY_AUTHORIZATION&&this.setAccessTokens(Object.assign(Object.assign({},this.accessTokens),{[this.region]:c.env.REDOCLY_AUTHORIZATION}))}getAllTokens(){return Object.entries(this.accessTokens).filter((([e])=>l.AVAILABLE_REGIONS.includes(e))).map((([e,t])=>({region:e,token:t})))}getValidTokens(){return r(this,void 0,void 0,(function*(){const e=this.getAllTokens(),t=yield Promise.allSettled(e.map((({token:e,region:t})=>this.verifyToken(e,t))));return e.filter(((e,n)=>\"fulfilled\"===t[n].status)).map((({token:e,region:t})=>({token:e,region:t,valid:!0})))}))}getTokens(){return r(this,void 0,void 0,(function*(){return this.hasTokens()?yield this.getValidTokens():[]}))}isAuthorizedWithRedoclyByRegion(){return r(this,void 0,void 0,(function*(){if(!this.hasTokens())return!1;const e=this.accessTokens[this.region];if(!e)return!1;try{return yield this.verifyToken(e,this.region),!0}catch(e){return!1}}))}isAuthorizedWithRedocly(){return r(this,void 0,void 0,(function*(){return this.hasTokens()&&(0,u.isNotEmptyObject)(yield this.getValidTokens())}))}readCredentialsFile(e){return(0,i.existsSync)(e)?JSON.parse((0,i.readFileSync)(e,\"utf-8\")):{}}verifyToken(e,t,n=!1){return r(this,void 0,void 0,(function*(){return this.registryApi.authStatus(e,t,n)}))}login(e,t=!1){return r(this,void 0,void 0,(function*(){const n=(0,o.resolve)((0,s.homedir)(),d);try{yield this.verifyToken(e,this.region,t)}catch(e){throw new Error(\"Authorization failed. Please check if you entered a valid API key.\")}const r=Object.assign(Object.assign({},this.readCredentialsFile(n)),{[this.region]:e,token:e});this.accessTokens=r,this.registryApi.setAccessTokens(r),(0,i.writeFileSync)(n,JSON.stringify(r,null,2))}))}logout(){const e=(0,o.resolve)((0,s.homedir)(),d);(0,i.existsSync)(e)&&(0,i.unlinkSync)(e)}},t.isRedoclyRegistryURL=function(e){const t=c.env.REDOCLY_DOMAIN||l.DOMAINS[l.DEFAULT_REGION],n=\"redocly.com\"===t?\"redoc.ly\":t;return!(!e.startsWith(`https://api.${t}/registry/`)&&!e.startsWith(`https://api.${n}/registry/`))}},919:function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RegistryApi=void 0;const i=n(8381),o=n(8921),s=n(8209),a=n(2079).rE;t.RegistryApi=class{constructor(e,t){this.accessTokens=e,this.region=t}get accessToken(){return(0,s.isNotEmptyObject)(this.accessTokens)&&this.accessTokens[this.region]}getBaseUrl(e=o.DEFAULT_REGION){return`https://api.${o.DOMAINS[e]}/registry`}setAccessTokens(e){return this.accessTokens=e,this}request(e=\"\",t={},n){var o,s;return r(this,void 0,void 0,(function*(){const r=\"undefined\"!=typeof process&&(null===(o={})||void 0===o?void 0:o.REDOCLY_CLI_COMMAND)||\"\",l=\"undefined\"!=typeof process&&(null===(s={})||void 0===s?void 0:s.REDOCLY_ENVIRONMENT)||\"\",c=Object.assign({},t.headers||{},{\"x-redocly-cli-version\":a,\"user-agent\":`redocly-cli / ${a} ${r} ${l}`});if(!c.hasOwnProperty(\"authorization\"))throw new Error(\"Unauthorized\");const u=yield(0,i.default)(`${this.getBaseUrl(n)}${e}`,Object.assign({},t,{headers:c}));if(401===u.status)throw new Error(\"Unauthorized\");if(404===u.status){const e=yield u.json();throw new Error(e.code)}return u}))}authStatus(e,t,n=!1){return r(this,void 0,void 0,(function*(){try{const n=yield this.request(\"\",{headers:{authorization:e}},t);return yield n.json()}catch(e){throw n&&console.log(e),e}}))}prepareFileUpload({organizationId:e,name:t,version:n,filesHash:i,filename:o,isUpsert:s}){return r(this,void 0,void 0,(function*(){const r=yield this.request(`/${e}/${t}/${n}/prepare-file-upload`,{method:\"POST\",headers:{\"content-type\":\"application/json\",authorization:this.accessToken},body:JSON.stringify({filesHash:i,filename:o,isUpsert:s})},this.region);if(r.ok)return r.json();throw new Error(\"Could not prepare file upload\")}))}pushApi({organizationId:e,name:t,version:n,rootFilePath:i,filePaths:o,branch:s,isUpsert:a,isPublic:l,batchId:c,batchSize:u}){return r(this,void 0,void 0,(function*(){if(!(yield this.request(`/${e}/${t}/${n}`,{method:\"PUT\",headers:{\"content-type\":\"application/json\",authorization:this.accessToken},body:JSON.stringify({rootFilePath:i,filePaths:o,branch:s,isUpsert:a,isPublic:l,batchId:c,batchSize:u})},this.region)).ok)throw new Error(\"Could not push api\")}))}}},3873:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isAnchor=t.isMappingRef=t.isAbsoluteUrl=t.refBaseName=t.pointerBaseName=t.parsePointer=t.parseRef=t.escapePointer=t.unescapePointer=t.Location=t.isRef=t.joinPointer=void 0;const r=n(8209);function i(e,t){return\"\"===e&&(e=\"#/\"),\"/\"===e[e.length-1]?e+t:e+\"/\"+t}t.joinPointer=i,t.isRef=function(e){return e&&\"string\"==typeof e.$ref};class o{constructor(e,t){this.source=e,this.pointer=t}child(e){return new o(this.source,i(this.pointer,(Array.isArray(e)?e:[e]).map(a).join(\"/\")))}key(){return Object.assign(Object.assign({},this),{reportOnKey:!0})}get absolutePointer(){return this.source.absoluteRef+(\"#/\"===this.pointer?\"\":this.pointer)}}function s(e){return decodeURIComponent(e.replace(/~1/g,\"/\").replace(/~0/g,\"~\"))}function a(e){return\"number\"==typeof e?e:e.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}t.Location=o,t.unescapePointer=s,t.escapePointer=a,t.parseRef=function(e){const[t,n]=e.split(\"#/\");return{uri:t||null,pointer:n?n.split(\"/\").map(s).filter(r.isTruthy):[]}},t.parsePointer=function(e){return e.substr(2).split(\"/\").map(s)},t.pointerBaseName=function(e){const t=e.split(\"/\");return t[t.length-1]},t.refBaseName=function(e){const t=e.split(/[\\/\\\\]/);return t[t.length-1].replace(/\\.[^.]+$/,\"\")},t.isAbsoluteUrl=function(e){return e.startsWith(\"http://\")||e.startsWith(\"https://\")},t.isMappingRef=function(e){return e.startsWith(\"#\")||e.startsWith(\"https://\")||e.startsWith(\"http://\")||e.startsWith(\"./\")||e.startsWith(\"../\")||e.indexOf(\"/\")>-1},t.isAnchor=function(e){return/^#[A-Za-z][A-Za-z0-9\\-_:.]*$/.test(e)}},2928:function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.resolveDocument=t.BaseResolver=t.makeDocumentFromString=t.makeRefId=t.YamlParseError=t.ResolveError=t.Source=void 0;const i=n(7411),o=n(7975),s=n(3873),a=n(1990),l=n(8209);class c{constructor(e,t,n){this.absoluteRef=e,this.body=t,this.mimeType=n}getAst(e){var t;return void 0===this._ast&&(this._ast=null!==(t=e(this.body,{filename:this.absoluteRef}))&&void 0!==t?t:void 0,this._ast&&0===this._ast.kind&&\"\"===this._ast.value&&1!==this._ast.startPosition&&(this._ast.startPosition=1,this._ast.endPosition=1)),this._ast}getLines(){return void 0===this._lines&&(this._lines=this.body.split(/\\r\\n|[\\n\\r]/g)),this._lines}}t.Source=c;class u extends Error{constructor(e){super(e.message),this.originalError=e,Object.setPrototypeOf(this,u.prototype)}}t.ResolveError=u;const p=/\\((\\d+):(\\d+)\\)$/;class d extends Error{constructor(e,t){super(e.message.split(\"\\n\")[0]),this.originalError=e,this.source=t,Object.setPrototypeOf(this,d.prototype);const[,n,r]=this.message.match(p)||[];this.line=parseInt(n,10),this.col=parseInt(r,10)}}function f(e,t){return e+\"::\"+t}function h(e,t){return{prev:e,node:t}}t.YamlParseError=d,t.makeRefId=f,t.makeDocumentFromString=function(e,t){const n=new c(t,e);try{return{source:n,parsed:(0,l.parseYaml)(e,{filename:t})}}catch(e){throw new d(e,n)}},t.BaseResolver=class{constructor(e={http:{headers:[]}}){this.config=e,this.cache=new Map}getFiles(){return new Set(Array.from(this.cache.keys()))}resolveExternalRef(e,t){return(0,s.isAbsoluteUrl)(t)?t:e&&(0,s.isAbsoluteUrl)(e)?new URL(t,e).href:o.resolve(e?o.dirname(e):process.cwd(),t)}loadExternalRef(e){return r(this,void 0,void 0,(function*(){try{if((0,s.isAbsoluteUrl)(e)){const{body:t,mimeType:n}=yield(0,l.readFileFromUrl)(e,this.config.http);return new c(e,t,n)}{if(i.lstatSync(e).isDirectory())throw new Error(`Expected a file but received a folder at ${e}`);const t=yield i.promises.readFile(e,\"utf-8\");return new c(e,t.replace(/\\r\\n/g,\"\\n\"))}}catch(e){throw e.message=e.message.replace(\", lstat\",\"\"),new u(e)}}))}parseDocument(e,t=!1){var n;const r=e.absoluteRef.substr(e.absoluteRef.lastIndexOf(\".\"));if(![\".json\",\".json\",\".yml\",\".yaml\"].includes(r)&&!(null===(n=e.mimeType)||void 0===n?void 0:n.match(/(json|yaml|openapi)/))&&!t)return{source:e,parsed:e.body};try{return{source:e,parsed:(0,l.parseYaml)(e.body,{filename:e.absoluteRef})}}catch(t){throw new d(t,e)}}resolveDocument(e,t,n=!1){return r(this,void 0,void 0,(function*(){const r=this.resolveExternalRef(e,t),i=this.cache.get(r);if(i)return i;const o=this.loadExternalRef(r).then((e=>this.parseDocument(e,n)));return this.cache.set(r,o),o}))}};const m={name:\"unknown\",properties:{}},g={name:\"scalar\",properties:{}};t.resolveDocument=function(e){return r(this,void 0,void 0,(function*(){const{rootDocument:t,externalRefResolver:n,rootType:i}=e,o=new Map,c=new Set,u=[];let p;!function e(t,i,p,d){const y=i.source.absoluteRef,b=new Map;function v(e,t,i){return r(this,void 0,void 0,(function*(){if(function(e,t){for(;e;){if(e.node===t)return!0;e=e.prev}return!1}(i.prev,t))throw new Error(\"Self-referencing circular pointer\");if((0,s.isAnchor)(t.$ref)){yield(0,l.nextTick)();const n={resolved:!0,isRemote:!1,node:b.get(t.$ref),document:e,nodePointer:t.$ref},r=f(e.source.absoluteRef,t.$ref);return o.set(r,n),n}const{uri:r,pointer:a}=(0,s.parseRef)(t.$ref),c=null!==r;let u;try{u=c?yield n.resolveDocument(e.source.absoluteRef,r):e}catch(n){const r={resolved:!1,isRemote:c,document:void 0,error:n},i=f(e.source.absoluteRef,t.$ref);return o.set(i,r),r}let p={resolved:!0,document:u,isRemote:c,node:e.parsed,nodePointer:\"#/\"},d=u.parsed;const m=a;for(const e of m){if(\"object\"!=typeof d){d=void 0;break}if(void 0!==d[e])d=d[e],p.nodePointer=(0,s.joinPointer)(p.nodePointer,(0,s.escapePointer)(e));else{if(!(0,s.isRef)(d)){d=void 0;break}if(p=yield v(u,d,h(i,d)),u=p.document||u,\"object\"!=typeof p.node){d=void 0;break}d=p.node[e],p.nodePointer=(0,s.joinPointer)(p.nodePointer,(0,s.escapePointer)(e))}}p.node=d,p.document=u;const g=f(e.source.absoluteRef,t.$ref);return p.document&&(0,s.isRef)(d)&&(p=yield v(p.document,d,h(i,d))),o.set(g,p),Object.assign({},p)}))}!function t(n,r,o){if(\"object\"!=typeof n||null===n)return;const l=`${r.name}::${o}`;if(c.has(l))return;c.add(l);const[p,d]=Object.entries(n).find((([e])=>\"$anchor\"===e))||[];if(d&&b.set(`#${d}`,n),Array.isArray(n)){const e=r.items;if(void 0===e&&r!==m&&r!==a.SpecExtension)return;for(let r=0;r<n.length;r++)t(n[r],e||m,(0,s.joinPointer)(o,r))}else{for(const e of Object.keys(n)){let i=n[e],l=r.properties[e];void 0===l&&(l=r.additionalProperties),\"function\"==typeof l&&(l=l(i,e)),void 0===l&&(l=m),r.extensionsPrefix&&e.startsWith(r.extensionsPrefix)&&l===m&&(l=a.SpecExtension),!(0,a.isNamedType)(l)&&(null==l?void 0:l.directResolveAs)&&(l=l.directResolveAs,i={$ref:i}),l&&void 0===l.name&&!1!==l.resolvable&&(l=g),(0,a.isNamedType)(l)&&\"object\"==typeof i&&t(i,l,(0,s.joinPointer)(o,(0,s.escapePointer)(e)))}if((0,s.isRef)(n)){const t=v(i,n,{prev:null,node:n}).then((t=>{t.resolved&&e(t.node,t.document,t.nodePointer,r)}));u.push(t)}}}(t,d,y+p)}(t.parsed,t,\"#/\",i);do{p=yield Promise.all(u)}while(u.length!==p.length);return o}))}},3416:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.reportUnresolvedRef=t.NoUnresolvedRefs=void 0;const r=n(2928);function i(e,t,n){var i;const o=e.error;o instanceof r.YamlParseError&&t({message:\"Failed to parse: \"+o.message,location:{source:o.source,pointer:void 0,start:{col:o.col,line:o.line}}});const s=null===(i=e.error)||void 0===i?void 0:i.message;t({location:n,message:\"Can't resolve $ref\"+(s?\": \"+s:\"\")})}t.NoUnresolvedRefs=()=>({ref:{leave(e,{report:t,location:n},r){void 0===r.node&&i(r,t,n)}},DiscriminatorMapping(e,{report:t,resolve:n,location:r}){for(const o of Object.keys(e)){const s=n({$ref:e[o]});if(void 0!==s.node)return;i(s,t,r.child(o))}}}),t.reportUnresolvedRef=i},474:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveUnusedComponents=void 0;const r=n(8209);t.RemoveUnusedComponents=()=>{const e=new Map;function t(t,n,r){var i;e.set(t.absolutePointer,{used:(null===(i=e.get(t.absolutePointer))||void 0===i?void 0:i.used)||!1,componentType:n,name:r})}return{ref:{leave(t,{type:n,resolve:r,key:i}){if([\"Schema\",\"Parameter\",\"Response\",\"SecurityScheme\"].includes(n.name)){const n=r(t);if(!n.location)return;const[o,s]=n.location.absolutePointer.split(\"#\",2),a=`${o}#${s.split(\"/\").slice(0,3).join(\"/\")}`;e.set(a,{used:!0,name:i.toString()})}}},Root:{leave(t,n){const i=n.getVisitorData();i.removedCount=0;const o=new Set;e.forEach((e=>{const{used:n,name:r,componentType:s}=e;!n&&s&&(o.add(s),delete t[s][r],i.removedCount++)}));for(const e of o)(0,r.isEmptyObject)(t[e])&&delete t[e]}},NamedSchemas:{Schema(e,{location:n,key:r}){e.allOf||t(n,\"definitions\",r.toString())}},NamedParameters:{Parameter(e,{location:n,key:r}){t(n,\"parameters\",r.toString())}},NamedResponses:{Response(e,{location:n,key:r}){t(n,\"responses\",r.toString())}},NamedSecuritySchemes:{SecurityScheme(e,{location:n,key:r}){t(n,\"securityDefinitions\",r.toString())}}}}},4335:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.RemoveUnusedComponents=void 0;const r=n(8209);t.RemoveUnusedComponents=()=>{const e=new Map;function t(t,n,r){var i;e.set(t.absolutePointer,{used:(null===(i=e.get(t.absolutePointer))||void 0===i?void 0:i.used)||!1,componentType:n,name:r})}return{ref:{leave(t,{type:n,resolve:r,key:i}){if([\"Schema\",\"Header\",\"Parameter\",\"Response\",\"Example\",\"RequestBody\"].includes(n.name)){const n=r(t);if(!n.location)return;const[o,s]=n.location.absolutePointer.split(\"#\",2),a=`${o}#${s.split(\"/\").slice(0,4).join(\"/\")}`;e.set(a,{used:!0,name:i.toString()})}}},Root:{leave(t,n){const i=n.getVisitorData();i.removedCount=0,e.forEach((e=>{const{used:n,componentType:o,name:s}=e;if(!n&&o&&t.components){const e=t.components[o];delete e[s],i.removedCount++,(0,r.isEmptyObject)(e)&&delete t.components[o]}})),(0,r.isEmptyObject)(t.components)&&delete t.components}},NamedSchemas:{Schema(e,{location:n,key:r}){e.allOf||t(n,\"schemas\",r.toString())}},NamedParameters:{Parameter(e,{location:n,key:r}){t(n,\"parameters\",r.toString())}},NamedResponses:{Response(e,{location:n,key:r}){t(n,\"responses\",r.toString())}},NamedExamples:{Example(e,{location:n,key:r}){t(n,\"examples\",r.toString())}},NamedRequestBodies:{RequestBody(e,{location:n,key:r}){t(n,\"requestBodies\",r.toString())}},NamedHeaders:{Header(e,{location:n,key:r}){t(n,\"headers\",r.toString())}}}}},264:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.AsyncApi2Types=void 0;const r=n(1990),i=n(3873),o={properties:{},allowed(){return[\"http\",\"ws\",\"kafka\",\"anypointmq\",\"amqp\",\"amqp1\",\"mqtt\",\"mqtt5\",\"nats\",\"jms\",\"sns\",\"solace\",\"sqs\",\"stomp\",\"redis\",\"mercure\",\"ibmmq\",\"googlepubsub\",\"pulsar\"]},additionalProperties:{type:\"object\"}},s={properties:{},allowed(){return[\"http\",\"ws\",\"kafka\",\"anypointmq\",\"amqp\",\"amqp1\",\"mqtt\",\"mqtt5\",\"nats\",\"jms\",\"sns\",\"solace\",\"sqs\",\"stomp\",\"redis\",\"mercure\",\"ibmmq\",\"googlepubsub\",\"pulsar\"]},additionalProperties:{type:\"object\"}},a={properties:{},allowed(){return[\"http\",\"ws\",\"kafka\",\"anypointmq\",\"amqp\",\"amqp1\",\"mqtt\",\"mqtt5\",\"nats\",\"jms\",\"sns\",\"solace\",\"sqs\",\"stomp\",\"redis\",\"mercure\",\"ibmmq\",\"googlepubsub\",\"pulsar\"]},additionalProperties:{type:\"object\"}},l={properties:{},allowed(){return[\"http\",\"ws\",\"kafka\",\"anypointmq\",\"amqp\",\"amqp1\",\"mqtt\",\"mqtt5\",\"nats\",\"jms\",\"sns\",\"solace\",\"sqs\",\"stomp\",\"redis\",\"mercure\",\"ibmmq\",\"googlepubsub\",\"pulsar\"]},additionalProperties:{type:\"object\"}},c={properties:{$id:{type:\"string\"},id:{type:\"string\"},$schema:{type:\"string\"},definitions:\"NamedSchemas\",$defs:\"NamedSchemas\",$vocabulary:{type:\"string\"},externalDocs:\"ExternalDocs\",discriminator:\"Discriminator\",myArbitraryKeyword:{type:\"boolean\"},title:{type:\"string\"},multipleOf:{type:\"number\",minimum:0},maximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMaximum:{type:\"number\"},exclusiveMinimum:{type:\"number\"},maxLength:{type:\"integer\",minimum:0},minLength:{type:\"integer\",minimum:0},pattern:{type:\"string\"},maxItems:{type:\"integer\",minimum:0},minItems:{type:\"integer\",minimum:0},uniqueItems:{type:\"boolean\"},maxProperties:{type:\"integer\",minimum:0},minProperties:{type:\"integer\",minimum:0},required:{type:\"array\",items:{type:\"string\"}},enum:{type:\"array\"},type:e=>Array.isArray(e)?{type:\"array\",items:{enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]}}:{enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]},allOf:(0,r.listOf)(\"Schema\"),anyOf:(0,r.listOf)(\"Schema\"),oneOf:(0,r.listOf)(\"Schema\"),not:\"Schema\",if:\"Schema\",then:\"Schema\",else:\"Schema\",dependentSchemas:(0,r.listOf)(\"Schema\"),prefixItems:(0,r.listOf)(\"Schema\"),contains:\"Schema\",minContains:{type:\"integer\",minimum:0},maxContains:{type:\"integer\",minimum:0},patternProperties:{type:\"object\"},propertyNames:\"Schema\",unevaluatedItems:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",unevaluatedProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",summary:{type:\"string\"},properties:\"SchemaProperties\",items:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",additionalProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",description:{type:\"string\"},format:{type:\"string\"},contentEncoding:{type:\"string\"},contentMediaType:{type:\"string\"},default:null,readOnly:{type:\"boolean\"},writeOnly:{type:\"boolean\"},examples:{type:\"array\"},example:{isExample:!0},deprecated:{type:\"boolean\"},const:null,$comment:{type:\"string\"},dependencies:{type:\"object\"}}},u={properties:{},additionalProperties:e=>(0,i.isMappingRef)(e)?{type:\"string\",directResolveAs:\"Schema\"}:{type:\"string\"}},p={properties:{type:{enum:[\"userPassword\",\"apiKey\",\"X509\",\"symmetricEncryption\",\"asymmetricEncryption\",\"httpApiKey\",\"http\",\"oauth2\",\"openIdConnect\",\"plain\",\"scramSha256\",\"scramSha512\",\"gssapi\"]},description:{type:\"string\"},name:{type:\"string\"},in:{type:\"string\",enum:[\"query\",\"header\",\"cookie\",\"user\",\"password\"]},scheme:{type:\"string\"},bearerFormat:{type:\"string\"},flows:\"SecuritySchemeFlows\",openIdConnectUrl:{type:\"string\"}},required(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"in\"];case\"httpApiKey\":return[\"type\",\"name\",\"in\"];case\"http\":return[\"type\",\"scheme\"];case\"oauth2\":return[\"type\",\"flows\"];case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\"];default:return[\"type\"]}},allowed(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"in\",\"description\"];case\"httpApiKey\":return[\"type\",\"name\",\"in\",\"description\"];case\"http\":return[\"type\",\"scheme\",\"bearerFormat\",\"description\"];case\"oauth2\":return[\"type\",\"flows\",\"description\"];case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\",\"description\"];default:return[\"type\",\"description\"]}},extensionsPrefix:\"x-\"},d={properties:{}};o.properties.http=d;const f={properties:{}};s.properties.http=f;const h={properties:{headers:\"Schema\",bindingVersion:{type:\"string\"}}};a.properties.http=h;const m={properties:{type:{type:\"string\"},method:{type:\"string\",enum:[\"GET\",\"POST\",\"PUT\",\"PATCH\",\"DELETE\",\"HEAD\",\"OPTIONS\",\"CONNECT\",\"TRACE\"]},headers:\"Schema\",bindingVersion:{type:\"string\"}}};l.properties.http=m;const g={properties:{method:{type:\"string\"},query:\"Schema\",headers:\"Schema\",bindingVersion:{type:\"string\"}}};o.properties.ws=g;const y={properties:{}};s.properties.ws=y;const b={properties:{}};a.properties.ws=b;const v={properties:{}};l.properties.ws=v;const x={properties:{topic:{type:\"string\"},partitions:{type:\"integer\"},replicas:{type:\"integer\"},topicConfiguration:\"KafkaTopicConfiguration\",bindingVersion:{type:\"string\"}}};o.properties.kafka=x;const w={properties:{}};s.properties.kafka=w;const k={properties:{key:\"Schema\",schemaIdLocation:{type:\"string\"},schemaIdPayloadEncoding:{type:\"string\"},schemaLookupStrategy:{type:\"string\"},bindingVersion:{type:\"string\"}}};a.properties.kafka=k;const S={properties:{groupId:\"Schema\",clientId:\"Schema\",bindingVersion:{type:\"string\"}}};l.properties.kafka=S;const E={properties:{destination:{type:\"string\"},destinationType:{type:\"string\"},bindingVersion:{type:\"string\"}}};o.properties.anypointmq=E;const O={properties:{}};s.properties.anypointmq=O;const _={properties:{headers:\"Schema\",bindingVersion:{type:\"string\"}}};a.properties.anypointmq=_;const A={properties:{}};l.properties.anypointmq=A;const C={properties:{}};o.properties.amqp=C;const j={properties:{}};s.properties.amqp=j;const P={properties:{contentEncoding:{type:\"string\"},messageType:{type:\"string\"},bindingVersion:{type:\"string\"}}};a.properties.amqp=P;const T={properties:{expiration:{type:\"integer\"},userId:{type:\"string\"},cc:{type:\"array\",items:{type:\"string\"}},priority:{type:\"integer\"},deliveryMode:{type:\"integer\"},mandatory:{type:\"boolean\"},bcc:{type:\"array\",items:{type:\"string\"}},replyTo:{type:\"string\"},timestamp:{type:\"boolean\"},ack:{type:\"boolean\"},bindingVersion:{type:\"string\"}}};l.properties.amqp=T;const I={properties:{}};o.properties.amqp1=I;const R={properties:{}};s.properties.amqp1=R;const N={properties:{}};a.properties.amqp1=N;const $={properties:{}};l.properties.amqp1=$;const L={properties:{qos:{type:\"integer\"},retain:{type:\"boolean\"},bindingVersion:{type:\"string\"}}};o.properties.mqtt=L;const D={properties:{clientId:{type:\"string\"},cleanSession:{type:\"boolean\"},lastWill:\"MqttServerBindingLastWill\",keepAlive:{type:\"integer\"},bindingVersion:{type:\"string\"}}};s.properties.mqtt=D;const M={properties:{bindingVersion:{type:\"string\"}}};a.properties.mqtt=M;const F={properties:{qos:{type:\"integer\"},retain:{type:\"boolean\"},bindingVersion:{type:\"string\"}}};l.properties.mqtt=F;const z={properties:{}};o.properties.mqtt5=z;const B={properties:{}};s.properties.mqtt5=B;const U={properties:{}};a.properties.mqtt5=U;const q={properties:{}};l.properties.mqtt5=q;const V={properties:{}};o.properties.nats=V;const W={properties:{}};s.properties.nats=W;const H={properties:{}};a.properties.nats=H;const Y={properties:{queue:{type:\"string\"},bindingVersion:{type:\"string\"}}};l.properties.nats=Y;const G={properties:{destination:{type:\"string\"},destinationType:{type:\"string\"},bindingVersion:{type:\"string\"}}};o.properties.jms=G;const Q={properties:{}};s.properties.jms=Q;const X={properties:{headers:\"Schema\",bindingVersion:{type:\"string\"}}};a.properties.jms=X;const K={properties:{headers:\"Schema\",bindingVersion:{type:\"string\"}}};l.properties.jms=K;const Z={properties:{}};o.properties.solace=Z;const J={properties:{bindingVersion:{type:\"string\"},msgVpn:{type:\"string\"}}};s.properties.solace=J;const ee={properties:{}};a.properties.solace=ee;const te={properties:{bindingVersion:{type:\"string\"},destinations:(0,r.listOf)(\"SolaceDestination\")}};l.properties.solace=te;const ne={properties:{}};o.properties.stomp=ne;const re={properties:{}};s.properties.stomp=re;const ie={properties:{}};a.properties.stomp=ie;const oe={properties:{}};l.properties.stomp=oe;const se={properties:{}};o.properties.redis=se;const ae={properties:{}};s.properties.redis=ae;const le={properties:{}};a.properties.redis=le;const ce={properties:{}};l.properties.redis=ce;const ue={properties:{}};o.properties.mercure=ue;const pe={properties:{}};s.properties.mercure=pe;const de={properties:{}};a.properties.mercure=de;const fe={properties:{}};l.properties.mercure=fe,t.AsyncApi2Types={Root:{properties:{asyncapi:null,info:\"Info\",id:{type:\"string\"},servers:\"ServerMap\",channels:\"ChannelMap\",components:\"Components\",tags:\"TagList\",externalDocs:\"ExternalDocs\",defaultContentType:{type:\"string\"}},required:[\"asyncapi\",\"channels\",\"info\"]},Tag:{properties:{name:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\"},required:[\"name\"]},TagList:(0,r.listOf)(\"Tag\"),ServerMap:{properties:{},additionalProperties:(e,t)=>t.match(/^[A-Za-z0-9_\\-]+$/)?\"Server\":void 0},ExternalDocs:{properties:{description:{type:\"string\"},url:{type:\"string\"}},required:[\"url\"]},Server:{properties:{url:{type:\"string\"},protocol:{type:\"string\"},protocolVersion:{type:\"string\"},description:{type:\"string\"},variables:\"ServerVariablesMap\",security:\"SecurityRequirementList\",bindings:\"ServerBindings\",tags:\"TagList\"},required:[\"url\",\"protocol\"]},ServerVariable:{properties:{enum:{type:\"array\",items:{type:\"string\"}},default:{type:\"string\"},description:{type:\"string\"},examples:{type:\"array\",items:{type:\"string\"}}},required:[]},ServerVariablesMap:(0,r.mapOf)(\"ServerVariable\"),SecurityRequirement:{properties:{},additionalProperties:{type:\"array\",items:{type:\"string\"}}},SecurityRequirementList:(0,r.listOf)(\"SecurityRequirement\"),Info:{properties:{title:{type:\"string\"},version:{type:\"string\"},description:{type:\"string\"},termsOfService:{type:\"string\"},contact:\"Contact\",license:\"License\"},required:[\"title\",\"version\"]},Contact:{properties:{name:{type:\"string\"},url:{type:\"string\"},email:{type:\"string\"}}},License:{properties:{name:{type:\"string\"},url:{type:\"string\"}},required:[\"name\"]},HttpServerBinding:f,HttpChannelBinding:d,HttpMessageBinding:h,HttpOperationBinding:m,WsServerBinding:y,WsChannelBinding:g,WsMessageBinding:b,WsOperationBinding:v,KafkaServerBinding:w,KafkaTopicConfiguration:{properties:{\"cleanup.policy\":{type:\"array\",items:{enum:[\"delete\",\"compact\"]}},\"retention.ms\":{type:\"integer\"},\"retention.bytes\":{type:\"integer\"},\"delete.retention.ms\":{type:\"integer\"},\"max.message.bytes\":{type:\"integer\"}}},KafkaChannelBinding:x,KafkaMessageBinding:k,KafkaOperationBinding:S,AnypointmqServerBinding:O,AnypointmqChannelBinding:E,AnypointmqMessageBinding:_,AnypointmqOperationBinding:A,AmqpServerBinding:j,AmqpChannelBinding:C,AmqpMessageBinding:P,AmqpOperationBinding:T,Amqp1ServerBinding:R,Amqp1ChannelBinding:I,Amqp1MessageBinding:N,Amqp1OperationBinding:$,MqttServerBindingLastWill:{properties:{topic:{type:\"string\"},qos:{type:\"integer\"},message:{type:\"string\"},retain:{type:\"boolean\"}}},MqttServerBinding:D,MqttChannelBinding:L,MqttMessageBinding:M,MqttOperationBinding:F,Mqtt5ServerBinding:B,Mqtt5ChannelBinding:z,Mqtt5MessageBinding:U,Mqtt5OperationBinding:q,NatsServerBinding:W,NatsChannelBinding:V,NatsMessageBinding:H,NatsOperationBinding:Y,JmsServerBinding:Q,JmsChannelBinding:G,JmsMessageBinding:X,JmsOperationBinding:K,SolaceServerBinding:J,SolaceChannelBinding:Z,SolaceMessageBinding:ee,SolaceDestination:{properties:{destinationType:{type:\"string\",enum:[\"queue\",\"topic\"]},deliveryMode:{type:\"string\",enum:[\"direct\",\"persistent\"]},\"queue.name\":{type:\"string\"},\"queue.topicSubscriptions\":{type:\"array\",items:{type:\"string\"}},\"queue.accessType\":{type:\"string\",enum:[\"exclusive\",\"nonexclusive\"]},\"queue.maxMsgSpoolSize\":{type:\"string\"},\"queue.maxTtl\":{type:\"string\"},\"topic.topicSubscriptions\":{type:\"array\",items:{type:\"string\"}}}},SolaceOperationBinding:te,StompServerBinding:re,StompChannelBinding:ne,StompMessageBinding:ie,StompOperationBinding:oe,RedisServerBinding:ae,RedisChannelBinding:se,RedisMessageBinding:le,RedisOperationBinding:ce,MercureServerBinding:pe,MercureChannelBinding:ue,MercureMessageBinding:de,MercureOperationBinding:fe,ServerBindings:s,ChannelBindings:o,ChannelMap:{properties:{},additionalProperties:\"Channel\"},Channel:{properties:{description:{type:\"string\"},subscribe:\"Operation\",publish:\"Operation\",parameters:\"ParametersMap\",bindings:\"ChannelBindings\",servers:{type:\"array\",items:{type:\"string\"}}}},Parameter:{properties:{description:{type:\"string\"},schema:\"Schema\",location:{type:\"string\"}}},ParametersMap:(0,r.mapOf)(\"Parameter\"),Operation:{properties:{tags:{type:\"array\",items:{type:\"string\"}},summary:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",operationId:{type:\"string\"},security:\"SecurityRequirementList\",bindings:\"OperationBindings\",traits:\"OperationTraitList\",message:\"Message\"},required:[]},Schema:c,MessageExample:{properties:{payload:{isExample:!0},summary:{type:\"string\"},name:{type:\"string\"},headers:{type:\"object\"}}},SchemaProperties:{properties:{},additionalProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\"},DiscriminatorMapping:u,Discriminator:{properties:{propertyName:{type:\"string\"},mapping:\"DiscriminatorMapping\"},required:[\"propertyName\"]},Components:{properties:{messages:\"NamedMessages\",parameters:\"NamedParameters\",schemas:\"NamedSchemas\",correlationIds:\"NamedCorrelationIds\",messageTraits:\"NamedMessageTraits\",operationTraits:\"NamedOperationTraits\",streamHeaders:\"NamedStreamHeaders\",securitySchemes:\"NamedSecuritySchemes\",servers:\"ServerMap\",serverVariables:\"ServerVariablesMap\",channels:\"ChannelMap\",serverBindings:\"ServerBindings\",channelBindings:\"ChannelBindings\",operationBindings:\"OperationBindings\",messageBindings:\"MessageBindings\"}},NamedSchemas:(0,r.mapOf)(\"Schema\"),NamedMessages:(0,r.mapOf)(\"Message\"),NamedMessageTraits:(0,r.mapOf)(\"MessageTrait\"),NamedOperationTraits:(0,r.mapOf)(\"OperationTrait\"),NamedParameters:(0,r.mapOf)(\"Parameter\"),NamedSecuritySchemes:(0,r.mapOf)(\"SecurityScheme\"),NamedCorrelationIds:(0,r.mapOf)(\"CorrelationId\"),NamedStreamHeaders:(0,r.mapOf)(\"StreamHeader\"),ImplicitFlow:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},authorizationUrl:{type:\"string\"}},required:[\"authorizationUrl\",\"scopes\"]},PasswordFlow:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"}},required:[\"tokenUrl\",\"scopes\"]},ClientCredentials:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"}},required:[\"tokenUrl\",\"scopes\"]},AuthorizationCode:{properties:{refreshUrl:{type:\"string\"},authorizationUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"}},required:[\"authorizationUrl\",\"tokenUrl\",\"scopes\"]},SecuritySchemeFlows:{properties:{implicit:\"ImplicitFlow\",password:\"PasswordFlow\",clientCredentials:\"ClientCredentials\",authorizationCode:\"AuthorizationCode\"}},SecurityScheme:p,Message:{properties:{messageId:{type:\"string\"},headers:\"Schema\",payload:\"Schema\",correlationId:\"CorrelationId\",schemaFormat:{type:\"string\"},contentType:{type:\"string\"},name:{type:\"string\"},title:{type:\"string\"},summary:{type:\"string\"},description:{type:\"string\"},tags:\"TagList\",externalDocs:\"ExternalDocs\",bindings:\"MessageBindings\",traits:\"MessageTraitList\"},additionalProperties:{}},MessageBindings:a,OperationBindings:l,OperationTrait:{properties:{tags:{type:\"array\",items:{type:\"string\"}},summary:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",operationId:{type:\"string\"},security:\"SecurityRequirementList\",bindings:\"OperationBindings\"},required:[]},OperationTraitList:(0,r.listOf)(\"OperationTrait\"),MessageTrait:{properties:{messageId:{type:\"string\"},headers:\"Schema\",correlationId:\"CorrelationId\",schemaFormat:{type:\"string\"},contentType:{type:\"string\"},name:{type:\"string\"},title:{type:\"string\"},summary:{type:\"string\"},description:{type:\"string\"},tags:\"TagList\",externalDocs:\"ExternalDocs\",bindings:\"MessageBindings\"},additionalProperties:{}},MessageTraitList:(0,r.listOf)(\"MessageTrait\"),CorrelationId:{properties:{description:{type:\"string\"},location:{type:\"string\"}},required:[\"location\"]}}},1990:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.isNamedType=t.normalizeTypes=t.SpecExtension=t.mapOf=t.listOf=void 0,t.listOf=function(e){return{name:`${e}List`,properties:{},items:e}},t.mapOf=function(e){return{name:`${e}Map`,properties:{},additionalProperties:()=>e}},t.SpecExtension={name:\"SpecExtension\",properties:{},additionalProperties:{resolvable:!0}},t.normalizeTypes=function(e,n={}){const r={};for(const t of Object.keys(e))r[t]=Object.assign(Object.assign({},e[t]),{name:t});for(const e of Object.values(r))i(e);return r.SpecExtension=t.SpecExtension,r;function i(e){if(e.additionalProperties&&(e.additionalProperties=o(e.additionalProperties)),e.items&&(e.items=o(e.items)),e.properties){const t={};for(const[r,i]of Object.entries(e.properties))t[r]=o(i),n.doNotResolveExamples&&i&&i.isExample&&(t[r]=Object.assign(Object.assign({},i),{resolvable:!1}));e.properties=t}}function o(e){if(\"string\"==typeof e){if(!r[e])throw new Error(`Unknown type name found: ${e}`);return r[e]}return\"function\"==typeof e?(t,n)=>o(e(t,n)):e&&e.name?(i(e=Object.assign({},e)),e):e&&e.directResolveAs?Object.assign(Object.assign({},e),{directResolveAs:o(e.directResolveAs)}):e}},t.isNamedType=function(e){return\"string\"==typeof(null==e?void 0:e.name)}},4409:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Oas2Types=void 0;const r=n(1990),i=/^[0-9][0-9Xx]{2}$/,o={properties:{name:{type:\"string\"},in:{type:\"string\",enum:[\"query\",\"header\",\"path\",\"formData\",\"body\"]},description:{type:\"string\"},required:{type:\"boolean\"},schema:\"Schema\",type:{type:\"string\",enum:[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"file\"]},format:{type:\"string\"},allowEmptyValue:{type:\"boolean\"},items:\"ParameterItems\",collectionFormat:{type:\"string\",enum:[\"csv\",\"ssv\",\"tsv\",\"pipes\",\"multi\"]},default:null,maximum:{type:\"integer\"},exclusiveMaximum:{type:\"boolean\"},minimum:{type:\"integer\"},exclusiveMinimum:{type:\"boolean\"},maxLength:{type:\"integer\"},minLength:{type:\"integer\"},pattern:{type:\"string\"},maxItems:{type:\"integer\"},minItems:{type:\"integer\"},uniqueItems:{type:\"boolean\"},enum:{type:\"array\"},multipleOf:{type:\"number\"},\"x-example\":\"Example\",\"x-examples\":\"ExamplesMap\"},required(e){return e&&e.in?\"body\"===e.in?[\"name\",\"in\",\"schema\"]:\"array\"===e.type?[\"name\",\"in\",\"type\",\"items\"]:[\"name\",\"in\",\"type\"]:[\"name\",\"in\"]},extensionsPrefix:\"x-\"},s={properties:{type:{type:\"string\",enum:[\"string\",\"number\",\"integer\",\"boolean\",\"array\"]},format:{type:\"string\"},items:\"ParameterItems\",collectionFormat:{type:\"string\",enum:[\"csv\",\"ssv\",\"tsv\",\"pipes\",\"multi\"]},default:null,maximum:{type:\"integer\"},exclusiveMaximum:{type:\"boolean\"},minimum:{type:\"integer\"},exclusiveMinimum:{type:\"boolean\"},maxLength:{type:\"integer\"},minLength:{type:\"integer\"},pattern:{type:\"string\"},maxItems:{type:\"integer\"},minItems:{type:\"integer\"},uniqueItems:{type:\"boolean\"},enum:{type:\"array\"},multipleOf:{type:\"number\"}},required(e){return e&&\"array\"===e.type?[\"type\",\"items\"]:[\"type\"]},extensionsPrefix:\"x-\"},a={properties:{default:\"Response\"},additionalProperties:(e,t)=>i.test(t)?\"Response\":void 0},l={properties:{description:{type:\"string\"},schema:\"Schema\",headers:(0,r.mapOf)(\"Header\"),examples:\"Examples\",\"x-summary\":{type:\"string\"}},required:[\"description\"],extensionsPrefix:\"x-\"},c={properties:{description:{type:\"string\"},type:{type:\"string\",enum:[\"string\",\"number\",\"integer\",\"boolean\",\"array\"]},format:{type:\"string\"},items:\"ParameterItems\",collectionFormat:{type:\"string\",enum:[\"csv\",\"ssv\",\"tsv\",\"pipes\",\"multi\"]},default:null,maximum:{type:\"integer\"},exclusiveMaximum:{type:\"boolean\"},minimum:{type:\"integer\"},exclusiveMinimum:{type:\"boolean\"},maxLength:{type:\"integer\"},minLength:{type:\"integer\"},pattern:{type:\"string\"},maxItems:{type:\"integer\"},minItems:{type:\"integer\"},uniqueItems:{type:\"boolean\"},enum:{type:\"array\"},multipleOf:{type:\"number\"}},required(e){return e&&\"array\"===e.type?[\"type\",\"items\"]:[\"type\"]},extensionsPrefix:\"x-\"},u={properties:{format:{type:\"string\"},title:{type:\"string\"},description:{type:\"string\"},default:null,multipleOf:{type:\"number\"},maximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMaximum:{type:\"boolean\"},exclusiveMinimum:{type:\"boolean\"},maxLength:{type:\"number\"},minLength:{type:\"number\"},pattern:{type:\"string\"},maxItems:{type:\"number\"},minItems:{type:\"number\"},uniqueItems:{type:\"boolean\"},maxProperties:{type:\"number\"},minProperties:{type:\"number\"},required:{type:\"array\",items:{type:\"string\"}},enum:{type:\"array\"},type:{type:\"string\",enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]},items:e=>Array.isArray(e)?(0,r.listOf)(\"Schema\"):\"Schema\",allOf:(0,r.listOf)(\"Schema\"),properties:\"SchemaProperties\",additionalProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",discriminator:{type:\"string\"},readOnly:{type:\"boolean\"},xml:\"Xml\",externalDocs:\"ExternalDocs\",example:{isExample:!0},\"x-tags\":{type:\"array\",items:{type:\"string\"}},\"x-nullable\":{type:\"boolean\"},\"x-extendedDiscriminator\":{type:\"string\"},\"x-additionalPropertiesName\":{type:\"string\"},\"x-explicitMappingOnly\":{type:\"boolean\"},\"x-enumDescriptions\":\"EnumDescriptions\"},extensionsPrefix:\"x-\"},p={properties:{type:{enum:[\"basic\",\"apiKey\",\"oauth2\"]},description:{type:\"string\"},name:{type:\"string\"},in:{type:\"string\",enum:[\"query\",\"header\"]},flow:{enum:[\"implicit\",\"password\",\"application\",\"accessCode\"]},authorizationUrl:{type:\"string\"},tokenUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},\"x-defaultClientId\":{type:\"string\"}},required(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"name\",\"in\"];case\"oauth2\":switch(null==e?void 0:e.flow){case\"implicit\":return[\"type\",\"flow\",\"authorizationUrl\",\"scopes\"];case\"accessCode\":return[\"type\",\"flow\",\"authorizationUrl\",\"tokenUrl\",\"scopes\"];case\"application\":case\"password\":return[\"type\",\"flow\",\"tokenUrl\",\"scopes\"];default:return[\"type\",\"flow\",\"scopes\"]}default:return[\"type\"]}},allowed(e){switch(null==e?void 0:e.type){case\"basic\":return[\"type\",\"description\"];case\"apiKey\":return[\"type\",\"name\",\"in\",\"description\"];case\"oauth2\":switch(null==e?void 0:e.flow){case\"implicit\":return[\"type\",\"flow\",\"authorizationUrl\",\"description\",\"scopes\"];case\"accessCode\":return[\"type\",\"flow\",\"authorizationUrl\",\"tokenUrl\",\"description\",\"scopes\"];case\"application\":case\"password\":return[\"type\",\"flow\",\"tokenUrl\",\"description\",\"scopes\"];default:return[\"type\",\"flow\",\"tokenUrl\",\"authorizationUrl\",\"description\",\"scopes\"]}default:return[\"type\",\"description\"]}},extensionsPrefix:\"x-\"};t.Oas2Types={Root:{properties:{swagger:{type:\"string\"},info:\"Info\",host:{type:\"string\"},basePath:{type:\"string\"},schemes:{type:\"array\",items:{type:\"string\"}},consumes:{type:\"array\",items:{type:\"string\"}},produces:{type:\"array\",items:{type:\"string\"}},paths:\"Paths\",definitions:\"NamedSchemas\",parameters:\"NamedParameters\",responses:\"NamedResponses\",securityDefinitions:\"NamedSecuritySchemes\",security:\"SecurityRequirementList\",tags:\"TagList\",externalDocs:\"ExternalDocs\",\"x-servers\":\"XServerList\",\"x-tagGroups\":\"TagGroups\",\"x-ignoredHeaderParameters\":{type:\"array\",items:{type:\"string\"}}},required:[\"swagger\",\"paths\",\"info\"],extensionsPrefix:\"x-\"},Tag:{properties:{name:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",\"x-traitTag\":{type:\"boolean\"},\"x-displayName\":{type:\"string\"}},required:[\"name\"],extensionsPrefix:\"x-\"},TagList:(0,r.listOf)(\"Tag\"),TagGroups:(0,r.listOf)(\"TagGroup\"),TagGroup:{properties:{name:{type:\"string\"},tags:{type:\"array\",items:{type:\"string\"}}}},ExternalDocs:{properties:{description:{type:\"string\"},url:{type:\"string\"}},required:[\"url\"],extensionsPrefix:\"x-\"},Example:{properties:{value:{isExample:!0},summary:{type:\"string\"},description:{type:\"string\"},externalValue:{type:\"string\"}},extensionsPrefix:\"x-\"},ExamplesMap:(0,r.mapOf)(\"Example\"),EnumDescriptions:{properties:{},additionalProperties:{type:\"string\"}},SecurityRequirement:{properties:{},additionalProperties:{type:\"array\",items:{type:\"string\"}}},SecurityRequirementList:(0,r.listOf)(\"SecurityRequirement\"),Info:{properties:{title:{type:\"string\"},description:{type:\"string\"},termsOfService:{type:\"string\"},contact:\"Contact\",license:\"License\",version:{type:\"string\"},\"x-logo\":\"Logo\"},required:[\"title\",\"version\"],extensionsPrefix:\"x-\"},Contact:{properties:{name:{type:\"string\"},url:{type:\"string\"},email:{type:\"string\"}},extensionsPrefix:\"x-\"},License:{properties:{name:{type:\"string\"},url:{type:\"string\"}},required:[\"name\"],extensionsPrefix:\"x-\"},Logo:{properties:{url:{type:\"string\"},altText:{type:\"string\"},backgroundColor:{type:\"string\"},href:{type:\"string\"}},extensionsPrefix:\"x-\"},Paths:{properties:{},additionalProperties:(e,t)=>t.startsWith(\"/\")?\"PathItem\":void 0},PathItem:{properties:{$ref:{type:\"string\"},parameters:\"ParameterList\",get:\"Operation\",put:\"Operation\",post:\"Operation\",delete:\"Operation\",options:\"Operation\",head:\"Operation\",patch:\"Operation\"},extensionsPrefix:\"x-\"},Parameter:o,ParameterItems:s,ParameterList:(0,r.listOf)(\"Parameter\"),Operation:{properties:{tags:{type:\"array\",items:{type:\"string\"}},summary:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",operationId:{type:\"string\"},consumes:{type:\"array\",items:{type:\"string\"}},produces:{type:\"array\",items:{type:\"string\"}},parameters:\"ParameterList\",responses:\"Responses\",schemes:{type:\"array\",items:{type:\"string\"}},deprecated:{type:\"boolean\"},security:\"SecurityRequirementList\",\"x-codeSamples\":\"XCodeSampleList\",\"x-code-samples\":\"XCodeSampleList\",\"x-hideTryItPanel\":{type:\"boolean\"}},required:[\"responses\"],extensionsPrefix:\"x-\"},Examples:{properties:{},additionalProperties:{isExample:!0}},Header:c,Responses:a,Response:l,Schema:u,Xml:{properties:{name:{type:\"string\"},namespace:{type:\"string\"},prefix:{type:\"string\"},attribute:{type:\"boolean\"},wrapped:{type:\"boolean\"}},extensionsPrefix:\"x-\"},SchemaProperties:{properties:{},additionalProperties:\"Schema\"},NamedSchemas:(0,r.mapOf)(\"Schema\"),NamedResponses:(0,r.mapOf)(\"Response\"),NamedParameters:(0,r.mapOf)(\"Parameter\"),NamedSecuritySchemes:(0,r.mapOf)(\"SecurityScheme\"),SecurityScheme:p,XCodeSample:{properties:{lang:{type:\"string\"},label:{type:\"string\"},source:{type:\"string\"}}},XCodeSampleList:(0,r.listOf)(\"XCodeSample\"),XServerList:(0,r.listOf)(\"XServer\"),XServer:{properties:{url:{type:\"string\"},description:{type:\"string\"}},required:[\"url\"]}}},4154:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Oas3Types=void 0;const r=n(1990),i=n(3873),o=/^[0-9][0-9Xx]{2}$/,s={properties:{default:\"Response\"},additionalProperties:(e,t)=>o.test(t)?\"Response\":void 0},a={properties:{externalDocs:\"ExternalDocs\",discriminator:\"Discriminator\",title:{type:\"string\"},multipleOf:{type:\"number\",minimum:0},maximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMaximum:{type:\"boolean\"},exclusiveMinimum:{type:\"boolean\"},maxLength:{type:\"integer\",minimum:0},minLength:{type:\"integer\",minimum:0},pattern:{type:\"string\"},maxItems:{type:\"integer\",minimum:0},minItems:{type:\"integer\",minimum:0},uniqueItems:{type:\"boolean\"},maxProperties:{type:\"integer\",minimum:0},minProperties:{type:\"integer\",minimum:0},required:{type:\"array\",items:{type:\"string\"}},enum:{type:\"array\"},type:{enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]},allOf:(0,r.listOf)(\"Schema\"),anyOf:(0,r.listOf)(\"Schema\"),oneOf:(0,r.listOf)(\"Schema\"),not:\"Schema\",properties:\"SchemaProperties\",items:e=>Array.isArray(e)?(0,r.listOf)(\"Schema\"):\"Schema\",additionalItems:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",additionalProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",description:{type:\"string\"},format:{type:\"string\"},default:null,nullable:{type:\"boolean\"},readOnly:{type:\"boolean\"},writeOnly:{type:\"boolean\"},xml:\"Xml\",example:{isExample:!0},deprecated:{type:\"boolean\"},\"x-tags\":{type:\"array\",items:{type:\"string\"}},\"x-additionalPropertiesName\":{type:\"string\"},\"x-explicitMappingOnly\":{type:\"boolean\"}},extensionsPrefix:\"x-\"},l={properties:{},additionalProperties:e=>(0,i.isMappingRef)(e)?{type:\"string\",directResolveAs:\"Schema\"}:{type:\"string\"}},c={properties:{type:{enum:[\"apiKey\",\"http\",\"oauth2\",\"openIdConnect\"]},description:{type:\"string\"},name:{type:\"string\"},in:{type:\"string\",enum:[\"query\",\"header\",\"cookie\"]},scheme:{type:\"string\"},bearerFormat:{type:\"string\"},flows:\"OAuth2Flows\",openIdConnectUrl:{type:\"string\"},\"x-defaultClientId\":{type:\"string\"}},required(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"name\",\"in\"];case\"http\":return[\"type\",\"scheme\"];case\"oauth2\":return[\"type\",\"flows\"];case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\"];default:return[\"type\"]}},allowed(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"name\",\"in\",\"description\"];case\"http\":return[\"type\",\"scheme\",\"bearerFormat\",\"description\"];case\"oauth2\":return[\"type\",\"flows\",\"description\"];case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\",\"description\"];default:return[\"type\",\"description\"]}},extensionsPrefix:\"x-\"};t.Oas3Types={Root:{properties:{openapi:null,info:\"Info\",servers:\"ServerList\",security:\"SecurityRequirementList\",tags:\"TagList\",externalDocs:\"ExternalDocs\",paths:\"Paths\",components:\"Components\",\"x-webhooks\":\"WebhooksMap\",\"x-tagGroups\":\"TagGroups\",\"x-ignoredHeaderParameters\":{type:\"array\",items:{type:\"string\"}}},required:[\"openapi\",\"paths\",\"info\"],extensionsPrefix:\"x-\"},Tag:{properties:{name:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",\"x-traitTag\":{type:\"boolean\"},\"x-displayName\":{type:\"string\"}},required:[\"name\"],extensionsPrefix:\"x-\"},TagList:(0,r.listOf)(\"Tag\"),TagGroups:(0,r.listOf)(\"TagGroup\"),TagGroup:{properties:{name:{type:\"string\"},tags:{type:\"array\",items:{type:\"string\"}}},extensionsPrefix:\"x-\"},ExternalDocs:{properties:{description:{type:\"string\"},url:{type:\"string\"}},required:[\"url\"],extensionsPrefix:\"x-\"},Server:{properties:{url:{type:\"string\"},description:{type:\"string\"},variables:\"ServerVariablesMap\"},required:[\"url\"],extensionsPrefix:\"x-\"},ServerList:(0,r.listOf)(\"Server\"),ServerVariable:{properties:{enum:{type:\"array\",items:{type:\"string\"}},default:{type:\"string\"},description:{type:\"string\"}},required:[\"default\"],extensionsPrefix:\"x-\"},ServerVariablesMap:(0,r.mapOf)(\"ServerVariable\"),SecurityRequirement:{properties:{},additionalProperties:{type:\"array\",items:{type:\"string\"}}},SecurityRequirementList:(0,r.listOf)(\"SecurityRequirement\"),Info:{properties:{title:{type:\"string\"},version:{type:\"string\"},description:{type:\"string\"},termsOfService:{type:\"string\"},contact:\"Contact\",license:\"License\",\"x-logo\":\"Logo\"},required:[\"title\",\"version\"],extensionsPrefix:\"x-\"},Contact:{properties:{name:{type:\"string\"},url:{type:\"string\"},email:{type:\"string\"}},extensionsPrefix:\"x-\"},License:{properties:{name:{type:\"string\"},url:{type:\"string\"}},required:[\"name\"],extensionsPrefix:\"x-\"},Paths:{properties:{},additionalProperties:(e,t)=>t.startsWith(\"/\")?\"PathItem\":void 0},PathItem:{properties:{$ref:{type:\"string\"},servers:\"ServerList\",parameters:\"ParameterList\",summary:{type:\"string\"},description:{type:\"string\"},get:\"Operation\",put:\"Operation\",post:\"Operation\",delete:\"Operation\",options:\"Operation\",head:\"Operation\",patch:\"Operation\",trace:\"Operation\"},extensionsPrefix:\"x-\"},Parameter:{properties:{name:{type:\"string\"},in:{enum:[\"query\",\"header\",\"path\",\"cookie\"]},description:{type:\"string\"},required:{type:\"boolean\"},deprecated:{type:\"boolean\"},allowEmptyValue:{type:\"boolean\"},style:{enum:[\"form\",\"simple\",\"label\",\"matrix\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"]},explode:{type:\"boolean\"},allowReserved:{type:\"boolean\"},schema:\"Schema\",example:{isExample:!0},examples:\"ExamplesMap\",content:\"MediaTypesMap\"},required:[\"name\",\"in\"],requiredOneOf:[\"schema\",\"content\"],extensionsPrefix:\"x-\"},ParameterList:(0,r.listOf)(\"Parameter\"),Operation:{properties:{tags:{type:\"array\",items:{type:\"string\"}},summary:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",operationId:{type:\"string\"},parameters:\"ParameterList\",security:\"SecurityRequirementList\",servers:\"ServerList\",requestBody:\"RequestBody\",responses:\"Responses\",deprecated:{type:\"boolean\"},callbacks:\"CallbacksMap\",\"x-codeSamples\":\"XCodeSampleList\",\"x-code-samples\":\"XCodeSampleList\",\"x-hideTryItPanel\":{type:\"boolean\"}},required:[\"responses\"],extensionsPrefix:\"x-\"},Callback:(0,r.mapOf)(\"PathItem\"),CallbacksMap:(0,r.mapOf)(\"Callback\"),RequestBody:{properties:{description:{type:\"string\"},required:{type:\"boolean\"},content:\"MediaTypesMap\"},required:[\"content\"],extensionsPrefix:\"x-\"},MediaTypesMap:{properties:{},additionalProperties:\"MediaType\"},MediaType:{properties:{schema:\"Schema\",example:{isExample:!0},examples:\"ExamplesMap\",encoding:\"EncodingMap\"},extensionsPrefix:\"x-\"},Example:{properties:{value:{isExample:!0},summary:{type:\"string\"},description:{type:\"string\"},externalValue:{type:\"string\"}},extensionsPrefix:\"x-\"},ExamplesMap:(0,r.mapOf)(\"Example\"),Encoding:{properties:{contentType:{type:\"string\"},headers:\"HeadersMap\",style:{enum:[\"form\",\"simple\",\"label\",\"matrix\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"]},explode:{type:\"boolean\"},allowReserved:{type:\"boolean\"}},extensionsPrefix:\"x-\"},EncodingMap:(0,r.mapOf)(\"Encoding\"),EnumDescriptions:{properties:{},additionalProperties:{type:\"string\"}},Header:{properties:{description:{type:\"string\"},required:{type:\"boolean\"},deprecated:{type:\"boolean\"},allowEmptyValue:{type:\"boolean\"},style:{enum:[\"form\",\"simple\",\"label\",\"matrix\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"]},explode:{type:\"boolean\"},allowReserved:{type:\"boolean\"},schema:\"Schema\",example:{isExample:!0},examples:\"ExamplesMap\",content:\"MediaTypesMap\"},requiredOneOf:[\"schema\",\"content\"],extensionsPrefix:\"x-\"},HeadersMap:(0,r.mapOf)(\"Header\"),Responses:s,Response:{properties:{description:{type:\"string\"},headers:\"HeadersMap\",content:\"MediaTypesMap\",links:\"LinksMap\",\"x-summary\":{type:\"string\"}},required:[\"description\"],extensionsPrefix:\"x-\"},Link:{properties:{operationRef:{type:\"string\"},operationId:{type:\"string\"},parameters:null,requestBody:null,description:{type:\"string\"},server:\"Server\"},extensionsPrefix:\"x-\"},Logo:{properties:{url:{type:\"string\"},altText:{type:\"string\"},backgroundColor:{type:\"string\"},href:{type:\"string\"}}},Schema:a,Xml:{properties:{name:{type:\"string\"},namespace:{type:\"string\"},prefix:{type:\"string\"},attribute:{type:\"boolean\"},wrapped:{type:\"boolean\"}},extensionsPrefix:\"x-\"},SchemaProperties:{properties:{},additionalProperties:\"Schema\"},DiscriminatorMapping:l,Discriminator:{properties:{propertyName:{type:\"string\"},mapping:\"DiscriminatorMapping\"},required:[\"propertyName\"],extensionsPrefix:\"x-\"},Components:{properties:{parameters:\"NamedParameters\",schemas:\"NamedSchemas\",responses:\"NamedResponses\",examples:\"NamedExamples\",requestBodies:\"NamedRequestBodies\",headers:\"NamedHeaders\",securitySchemes:\"NamedSecuritySchemes\",links:\"NamedLinks\",callbacks:\"NamedCallbacks\"},extensionsPrefix:\"x-\"},LinksMap:(0,r.mapOf)(\"Link\"),NamedSchemas:(0,r.mapOf)(\"Schema\"),NamedResponses:(0,r.mapOf)(\"Response\"),NamedParameters:(0,r.mapOf)(\"Parameter\"),NamedExamples:(0,r.mapOf)(\"Example\"),NamedRequestBodies:(0,r.mapOf)(\"RequestBody\"),NamedHeaders:(0,r.mapOf)(\"Header\"),NamedSecuritySchemes:(0,r.mapOf)(\"SecurityScheme\"),NamedLinks:(0,r.mapOf)(\"Link\"),NamedCallbacks:(0,r.mapOf)(\"Callback\"),ImplicitFlow:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},authorizationUrl:{type:\"string\"}},required:[\"authorizationUrl\",\"scopes\"],extensionsPrefix:\"x-\"},PasswordFlow:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"}},required:[\"tokenUrl\",\"scopes\"],extensionsPrefix:\"x-\"},ClientCredentials:{properties:{refreshUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"}},required:[\"tokenUrl\",\"scopes\"],extensionsPrefix:\"x-\"},AuthorizationCode:{properties:{refreshUrl:{type:\"string\"},authorizationUrl:{type:\"string\"},scopes:{type:\"object\",additionalProperties:{type:\"string\"}},tokenUrl:{type:\"string\"},\"x-usePkce\":e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"XUsePkce\"},required:[\"authorizationUrl\",\"tokenUrl\",\"scopes\"],extensionsPrefix:\"x-\"},OAuth2Flows:{properties:{implicit:\"ImplicitFlow\",password:\"PasswordFlow\",clientCredentials:\"ClientCredentials\",authorizationCode:\"AuthorizationCode\"},extensionsPrefix:\"x-\"},SecurityScheme:c,XCodeSample:{properties:{lang:{type:\"string\"},label:{type:\"string\"},source:{type:\"string\"}}},XCodeSampleList:(0,r.listOf)(\"XCodeSample\"),XUsePkce:{properties:{disableManualConfiguration:{type:\"boolean\"},hideClientSecretInput:{type:\"boolean\"}}},WebhooksMap:{properties:{},additionalProperties:()=>\"PathItem\"}}},2082:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Oas3_1Types=void 0;const r=n(1990),i=n(4154),o={properties:{$id:{type:\"string\"},$anchor:{type:\"string\"},id:{type:\"string\"},$schema:{type:\"string\"},definitions:\"NamedSchemas\",$defs:\"NamedSchemas\",$vocabulary:{type:\"string\"},externalDocs:\"ExternalDocs\",discriminator:\"Discriminator\",title:{type:\"string\"},multipleOf:{type:\"number\",minimum:0},maximum:{type:\"number\"},minimum:{type:\"number\"},exclusiveMaximum:{type:\"number\"},exclusiveMinimum:{type:\"number\"},maxLength:{type:\"integer\",minimum:0},minLength:{type:\"integer\",minimum:0},pattern:{type:\"string\"},maxItems:{type:\"integer\",minimum:0},minItems:{type:\"integer\",minimum:0},uniqueItems:{type:\"boolean\"},maxProperties:{type:\"integer\",minimum:0},minProperties:{type:\"integer\",minimum:0},required:{type:\"array\",items:{type:\"string\"}},enum:{type:\"array\"},type:e=>Array.isArray(e)?{type:\"array\",items:{enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]}}:{enum:[\"object\",\"array\",\"string\",\"number\",\"integer\",\"boolean\",\"null\"]},allOf:(0,r.listOf)(\"Schema\"),anyOf:(0,r.listOf)(\"Schema\"),oneOf:(0,r.listOf)(\"Schema\"),not:\"Schema\",if:\"Schema\",then:\"Schema\",else:\"Schema\",dependentSchemas:(0,r.listOf)(\"Schema\"),prefixItems:(0,r.listOf)(\"Schema\"),contains:\"Schema\",minContains:{type:\"integer\",minimum:0},maxContains:{type:\"integer\",minimum:0},patternProperties:{type:\"object\"},propertyNames:\"Schema\",unevaluatedItems:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",unevaluatedProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",summary:{type:\"string\"},properties:\"SchemaProperties\",items:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",additionalProperties:e=>\"boolean\"==typeof e?{type:\"boolean\"}:\"Schema\",description:{type:\"string\"},format:{type:\"string\"},contentEncoding:{type:\"string\"},contentMediaType:{type:\"string\"},default:null,readOnly:{type:\"boolean\"},writeOnly:{type:\"boolean\"},xml:\"Xml\",examples:{type:\"array\"},example:{isExample:!0},deprecated:{type:\"boolean\"},const:null,$comment:{type:\"string\"},\"x-tags\":{type:\"array\",items:{type:\"string\"}}},extensionsPrefix:\"x-\"},s={properties:{type:{enum:[\"apiKey\",\"http\",\"oauth2\",\"openIdConnect\",\"mutualTLS\"]},description:{type:\"string\"},name:{type:\"string\"},in:{type:\"string\",enum:[\"query\",\"header\",\"cookie\"]},scheme:{type:\"string\"},bearerFormat:{type:\"string\"},flows:\"OAuth2Flows\",openIdConnectUrl:{type:\"string\"}},required(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"name\",\"in\"];case\"http\":return[\"type\",\"scheme\"];case\"oauth2\":return[\"type\",\"flows\"];case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\"];default:return[\"type\"]}},allowed(e){switch(null==e?void 0:e.type){case\"apiKey\":return[\"type\",\"name\",\"in\",\"description\"];case\"http\":return[\"type\",\"scheme\",\"bearerFormat\",\"description\"];case\"oauth2\":switch(null==e?void 0:e.flows){case\"implicit\":return[\"type\",\"flows\",\"authorizationUrl\",\"refreshUrl\",\"description\",\"scopes\"];case\"password\":case\"clientCredentials\":return[\"type\",\"flows\",\"tokenUrl\",\"refreshUrl\",\"description\",\"scopes\"];default:return[\"type\",\"flows\",\"authorizationUrl\",\"refreshUrl\",\"tokenUrl\",\"description\",\"scopes\"]}case\"openIdConnect\":return[\"type\",\"openIdConnectUrl\",\"description\"];default:return[\"type\",\"description\"]}},extensionsPrefix:\"x-\"};t.Oas3_1Types=Object.assign(Object.assign({},i.Oas3Types),{Info:{properties:{title:{type:\"string\"},version:{type:\"string\"},description:{type:\"string\"},termsOfService:{type:\"string\"},summary:{type:\"string\"},contact:\"Contact\",license:\"License\",\"x-logo\":\"Logo\"},required:[\"title\",\"version\"],extensionsPrefix:\"x-\"},Root:{properties:{openapi:null,info:\"Info\",servers:\"ServerList\",security:\"SecurityRequirementList\",tags:\"TagList\",externalDocs:\"ExternalDocs\",paths:\"Paths\",webhooks:\"WebhooksMap\",components:\"Components\",jsonSchemaDialect:{type:\"string\"}},required:[\"openapi\",\"info\"],requiredOneOf:[\"paths\",\"components\",\"webhooks\"],extensionsPrefix:\"x-\"},Schema:o,License:{properties:{name:{type:\"string\"},url:{type:\"string\"},identifier:{type:\"string\"}},required:[\"name\"],extensionsPrefix:\"x-\"},Components:{properties:{parameters:\"NamedParameters\",schemas:\"NamedSchemas\",responses:\"NamedResponses\",examples:\"NamedExamples\",requestBodies:\"NamedRequestBodies\",headers:\"NamedHeaders\",securitySchemes:\"NamedSecuritySchemes\",links:\"NamedLinks\",callbacks:\"NamedCallbacks\",pathItems:\"NamedPathItems\"},extensionsPrefix:\"x-\"},NamedPathItems:(0,r.mapOf)(\"PathItem\"),SecurityScheme:s,Operation:{properties:{tags:{type:\"array\",items:{type:\"string\"}},summary:{type:\"string\"},description:{type:\"string\"},externalDocs:\"ExternalDocs\",operationId:{type:\"string\"},parameters:\"ParameterList\",security:\"SecurityRequirementList\",servers:\"ServerList\",requestBody:\"RequestBody\",responses:\"Responses\",deprecated:{type:\"boolean\"},callbacks:\"CallbacksMap\",\"x-codeSamples\":\"XCodeSampleList\",\"x-code-samples\":\"XCodeSampleList\",\"x-hideTryItPanel\":{type:\"boolean\"}},extensionsPrefix:\"x-\"}})},8209:function(e,t,n){\"use strict\";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function a(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}l((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.nextTick=t.pickDefined=t.keysOf=t.identity=t.isTruthy=t.showErrorForDeprecatedField=t.showWarningForDeprecatedField=t.doesYamlFileExist=t.isCustomRuleId=t.getMatchingStatusCodeRange=t.assignExisting=t.isNotString=t.isString=t.isNotEmptyObject=t.slash=t.isPathParameter=t.yamlAndJsonSyncReader=t.readFileAsStringSync=t.isSingular=t.validateMimeTypeOAS3=t.validateMimeType=t.splitCamelCaseIntoWords=t.omitObjectProps=t.pickObjectProps=t.readFileFromUrl=t.isEmptyArray=t.isEmptyObject=t.isPlainObject=t.isDefined=t.loadYaml=t.popStack=t.pushStack=t.stringifyYaml=t.parseYaml=void 0;const i=n(7411),o=n(7975),s=n(4536),a=n(8381),l=n(5127),c=n(970),u=n(1827),p=n(2678);var d=n(970);function f(e){return null!==e&&\"object\"==typeof e&&!Array.isArray(e)}function h(e,t){return t.match(/^https?:\\/\\//)||(e=e.replace(/^https?:\\/\\//,\"\")),s(e,t)}function m(e){return\"string\"==typeof e}function g(e){return!!e}function y(e,t){return`${void 0!==t?`${t}.`:\"\"}${e}`}Object.defineProperty(t,\"parseYaml\",{enumerable:!0,get:function(){return d.parseYaml}}),Object.defineProperty(t,\"stringifyYaml\",{enumerable:!0,get:function(){return d.stringifyYaml}}),t.pushStack=function(e,t){return{prev:e,value:t}},t.popStack=function(e){var t;return null!==(t=null==e?void 0:e.prev)&&void 0!==t?t:null},t.loadYaml=function(e){return r(this,void 0,void 0,(function*(){const t=yield i.promises.readFile(e,\"utf-8\");return(0,c.parseYaml)(t)}))},t.isDefined=function(e){return void 0!==e},t.isPlainObject=f,t.isEmptyObject=function(e){return f(e)&&0===Object.keys(e).length},t.isEmptyArray=function(e){return Array.isArray(e)&&0===e.length},t.readFileFromUrl=function(e,t){return r(this,void 0,void 0,(function*(){const n={};for(const r of t.headers)h(e,r.matches)&&(n[r.name]=void 0!==r.envVariable?u.env[r.envVariable]||\"\":r.value);const r=yield(t.customFetch||a.default)(e,{headers:n});if(!r.ok)throw new Error(`Failed to load ${e}: ${r.status} ${r.statusText}`);return{body:yield r.text(),mimeType:r.headers.get(\"content-type\")}}))},t.pickObjectProps=function(e,t){return Object.fromEntries(t.filter((t=>t in e)).map((t=>[t,e[t]])))},t.omitObjectProps=function(e,t){return Object.fromEntries(Object.entries(e).filter((([e])=>!t.includes(e))))},t.splitCamelCaseIntoWords=function(e){const t=e.split(/(?:[-._])|([A-Z][a-z]+)/).filter(g).map((e=>e.toLocaleLowerCase())),n=e.split(/([A-Z]{2,})/).filter((e=>e&&e===e.toUpperCase())).map((e=>e.toLocaleLowerCase()));return new Set([...t,...n])},t.validateMimeType=function({type:e,value:t},{report:n,location:r},i){if(!i)throw new Error(`Parameter \"allowedValues\" is not provided for \"${\"consumes\"===e?\"request\":\"response\"}-mime-type\" rule`);if(t[e])for(const o of t[e])i.includes(o)||n({message:`Mime type \"${o}\" is not allowed`,location:r.child(t[e].indexOf(o)).key()})},t.validateMimeTypeOAS3=function({type:e,value:t},{report:n,location:r},i){if(!i)throw new Error(`Parameter \"allowedValues\" is not provided for \"${\"consumes\"===e?\"request\":\"response\"}-mime-type\" rule`);if(t.content)for(const e of Object.keys(t.content))i.includes(e)||n({message:`Mime type \"${e}\" is not allowed`,location:r.child(\"content\").child(e).key()})},t.isSingular=function(e){return l.isSingular(e)},t.readFileAsStringSync=function(e){return i.readFileSync(e,\"utf-8\")},t.yamlAndJsonSyncReader=function(e){const t=i.readFileSync(e,\"utf-8\");return(0,c.parseYaml)(t)},t.isPathParameter=function(e){return e.startsWith(\"{\")&&e.endsWith(\"}\")},t.slash=function(e){return/^\\\\\\\\\\?\\\\/.test(e)?e:e.replace(/\\\\/g,\"/\")},t.isNotEmptyObject=function(e){return!!e&&Object.keys(e).length>0},t.isString=m,t.isNotString=function(e){return!m(e)},t.assignExisting=function(e,t){for(const n of Object.keys(t))e.hasOwnProperty(n)&&(e[n]=t[n])},t.getMatchingStatusCodeRange=function(e){return`${e}`.replace(/^(\\d)\\d\\d$/,((e,t)=>`${t}XX`))},t.isCustomRuleId=function(e){return e.includes(\"/\")},t.doesYamlFileExist=function(e){return(\".yaml\"===(0,o.extname)(e)||\".yml\"===(0,o.extname)(e))&&i.hasOwnProperty(\"existsSync\")&&i.existsSync(e)},t.showWarningForDeprecatedField=function(e,t,n){p.logger.warn(`The '${p.colorize.red(e)}' field is deprecated. ${t?`Use ${p.colorize.green(y(t,n))} instead. `:\"\"}Read more about this change: https://redocly.com/docs/api-registry/guides/migration-guide-config-file/#changed-properties\\n`)},t.showErrorForDeprecatedField=function(e,t,n){throw new Error(`Do not use '${e}' field. ${t?`Use '${y(t,n)}' instead. `:\"\"}\\n`)},t.isTruthy=g,t.identity=function(e){return e},t.keysOf=function(e){return e?Object.keys(e):[]},t.pickDefined=function(e){if(!e)return;const t={};for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t},t.nextTick=function(){new Promise((e=>{setTimeout(e)}))}},2161:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeVisitors=void 0;const r=n(1990),i={Root:\"DefinitionRoot\",ServerVariablesMap:\"ServerVariableMap\",Paths:[\"PathMap\",\"PathsMap\"],CallbacksMap:\"CallbackMap\",MediaTypesMap:\"MediaTypeMap\",ExamplesMap:\"ExampleMap\",EncodingMap:\"EncodingsMap\",HeadersMap:\"HeaderMap\",LinksMap:\"LinkMap\",OAuth2Flows:\"SecuritySchemeFlows\",Responses:\"ResponsesMap\"};t.normalizeVisitors=function(e,t){const n={any:{enter:[],leave:[]}};for(const e of Object.keys(t))n[e]={enter:[],leave:[]};n.ref={enter:[],leave:[]};for(const{ruleId:t,severity:n,visitor:r}of e)a({ruleId:t,severity:n},r,null);for(const e of Object.keys(n))n[e].enter.sort(((e,t)=>t.depth-e.depth)),n[e].leave.sort(((e,t)=>e.depth-t.depth));return n;function o(e,t,i,s,a=[]){if(a.includes(t))return;a=[...a,t];const l=new Set;for(const n of Object.values(t.properties))n!==i?\"object\"==typeof n&&null!==n&&n.name&&l.add(n):c(e,a);t.additionalProperties&&\"function\"!=typeof t.additionalProperties&&(t.additionalProperties===i?c(e,a):void 0!==t.additionalProperties.name&&l.add(t.additionalProperties)),t.items&&(t.items===i?c(e,a):void 0!==t.items.name&&l.add(t.items)),t.extensionsPrefix&&l.add(r.SpecExtension);for(const t of Array.from(l.values()))o(e,t,i,s,a);function c(e,t){for(const r of t.slice(1))n[r.name]=n[r.name]||{enter:[],leave:[]},n[r.name].enter.push(Object.assign(Object.assign({},e),{visit:()=>{},depth:0,context:{isSkippedLevel:!0,seen:new Set,parent:s}}))}}function s(e,t){if(Array.isArray(t)){const n=t.find((t=>e[t]))||void 0;return n&&e[n]}return e[t]}function a(e,r,l,c=0){const u=Object.keys(t);if(0===c)u.push(\"any\"),u.push(\"ref\");else{if(r.any)throw new Error(\"any() is allowed only on top level\");if(r.ref)throw new Error(\"ref() is allowed only on top level\")}for(const p of u){const u=r[p]||s(r,i[p]),d=n[p];if(!u)continue;let f,h,m;const g=\"object\"==typeof u;if(\"ref\"===p&&g&&u.skip)throw new Error(\"ref() visitor does not support skip\");\"function\"==typeof u?f=u:g&&(f=u.enter,h=u.leave,m=u.skip);const y={activatedOn:null,type:t[p],parent:l,isSkippedLevel:!1};if(\"object\"==typeof u&&a(e,u,y,c+1),l&&o(e,l.type,t[p],l),f||g){if(f&&\"function\"!=typeof f)throw new Error(\"DEV: should be function\");d.enter.push(Object.assign(Object.assign({},e),{visit:f||(()=>{}),skip:m,depth:c,context:y}))}if(h){if(\"function\"!=typeof h)throw new Error(\"DEV: should be function\");d.leave.push(Object.assign(Object.assign({},e),{visit:h,depth:c,context:y}))}}}}},5735:function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.walkDocument=void 0;const r=n(3873),i=n(8209),o=n(2928),s=n(1990);function a(e){var t,n;const r={};for(;e.parent;)(null===(t=e.parent.activatedOn)||void 0===t?void 0:t.value.location)&&(r[e.parent.type.name]=null===(n=e.parent.activatedOn)||void 0===n?void 0:n.value.location),e=e.parent;return r}t.walkDocument=function(e){const{document:t,rootType:n,normalizedVisitors:l,resolvedRefMap:c,ctx:u}=e,p={},d=new Set;!function e(t,n,f,h,m){var g,y,b,v,x,w,k,S,E,O,_;const A=(e,t=j.source.absoluteRef)=>{if(!(0,r.isRef)(e))return{location:f,node:e};const n=(0,o.makeRefId)(t,e.$ref),i=c.get(n);if(!i)return{location:void 0,node:void 0};const{resolved:s,node:a,document:l,nodePointer:u,error:p}=i;return{location:s?new r.Location(l.source,u):p instanceof o.YamlParseError?new r.Location(p.source,\"\"):void 0,node:a,error:p}},C=f;let j=f;const{node:P,location:T,error:I}=A(t),R=new Set;if((0,r.isRef)(t)){const e=l.ref.enter;for(const{visit:r,ruleId:i,severity:o,context:s}of e)R.add(s),r(t,{report:$.bind(void 0,i,o),resolve:A,rawNode:t,rawLocation:C,location:f,type:n,parent:h,key:m,parentLocations:{},oasVersion:u.oasVersion,getVisitorData:L.bind(void 0,i)},{node:P,location:T,error:I}),(null==T?void 0:T.source.absoluteRef)&&u.refTypes&&u.refTypes.set(null==T?void 0:T.source.absoluteRef,n)}if(void 0!==P&&T&&\"scalar\"!==n.name){j=T;const o=null===(y=null===(g=p[n.name])||void 0===g?void 0:g.has)||void 0===y?void 0:y.call(g,P);let a=!1;const c=l.any.enter.concat((null===(b=l[n.name])||void 0===b?void 0:b.enter)||[]),u=[];for(const{context:e,visit:r,skip:s,ruleId:l,severity:p}of c){if(d.has(j.pointer))break;if(e.isSkippedLevel)!e.parent.activatedOn||e.parent.activatedOn.value.nextLevelTypeActivated||e.seen.has(t)||(e.seen.add(t),a=!0,u.push(e));else if(e.parent&&e.parent.activatedOn&&(null===(v=e.activatedOn)||void 0===v?void 0:v.value.withParentNode)!==e.parent.activatedOn.value.node&&(null===(x=e.parent.activatedOn.value.nextLevelTypeActivated)||void 0===x?void 0:x.value)!==n||!e.parent&&!o){u.push(e);const o={node:P,location:T,nextLevelTypeActivated:null,withParentNode:null===(k=null===(w=e.parent)||void 0===w?void 0:w.activatedOn)||void 0===k?void 0:k.value.node,skipped:null!==(O=(null===(E=null===(S=e.parent)||void 0===S?void 0:S.activatedOn)||void 0===E?void 0:E.value.skipped)||(null==s?void 0:s(P,m,{location:f,rawLocation:C,resolve:A,rawNode:t})))&&void 0!==O&&O};e.activatedOn=(0,i.pushStack)(e.activatedOn,o);let c=e.parent;for(;c;)c.activatedOn.value.nextLevelTypeActivated=(0,i.pushStack)(c.activatedOn.value.nextLevelTypeActivated,n),c=c.parent;o.skipped||(a=!0,R.add(e),N(r,P,t,e,l,p))}}if(a||!o)if(p[n.name]=p[n.name]||new Set,p[n.name].add(P),Array.isArray(P)){const t=n.items;if(void 0!==t)for(let n=0;n<P.length;n++)e(P[n],t,T.child([n]),P,n)}else if(\"object\"==typeof P&&null!==P){const i=Object.keys(n.properties);n.additionalProperties?i.push(...Object.keys(P).filter((e=>!i.includes(e)))):n.extensionsPrefix&&i.push(...Object.keys(P).filter((e=>e.startsWith(n.extensionsPrefix)))),(0,r.isRef)(t)&&i.push(...Object.keys(t).filter((e=>\"$ref\"!==e&&!i.includes(e))));for(const o of i){let i=P[o],a=T;void 0===i&&(i=t[o],a=f);let l=n.properties[o];void 0===l&&(l=n.additionalProperties),\"function\"==typeof l&&(l=l(i,o)),void 0===l&&n.extensionsPrefix&&o.startsWith(n.extensionsPrefix)&&(l=s.SpecExtension),!(0,s.isNamedType)(l)&&(null==l?void 0:l.directResolveAs)&&(l=l.directResolveAs,i={$ref:i}),l&&void 0===l.name&&!1!==l.resolvable&&(l={name:\"scalar\",properties:{}}),(0,s.isNamedType)(l)&&(\"scalar\"!==l.name||(0,r.isRef)(i))&&e(i,l,a.child([o]),P,o)}}const h=l.any.leave,I=((null===(_=l[n.name])||void 0===_?void 0:_.leave)||[]).concat(h);for(const e of u.reverse())if(e.isSkippedLevel)e.seen.delete(P);else if(e.activatedOn=(0,i.popStack)(e.activatedOn),e.parent){let t=e.parent;for(;t;)t.activatedOn.value.nextLevelTypeActivated=(0,i.popStack)(t.activatedOn.value.nextLevelTypeActivated),t=t.parent}for(const{context:e,visit:n,ruleId:r,severity:i}of I)!e.isSkippedLevel&&R.has(e)&&N(n,P,t,e,r,i)}if(j=f,(0,r.isRef)(t)){const e=l.ref.leave;for(const{visit:r,ruleId:i,severity:o,context:s}of e)R.has(s)&&r(t,{report:$.bind(void 0,i,o),resolve:A,rawNode:t,rawLocation:C,location:f,type:n,parent:h,key:m,parentLocations:{},oasVersion:u.oasVersion,getVisitorData:L.bind(void 0,i)},{node:P,location:T,error:I})}function N(e,t,r,i,o,s){e(t,{report:$.bind(void 0,o,s),resolve:A,rawNode:r,location:j,rawLocation:C,type:n,parent:h,key:m,parentLocations:a(i),oasVersion:u.oasVersion,ignoreNextVisitorsOnNode:()=>{d.add(j.pointer)},getVisitorData:L.bind(void 0,o)},function(e){var t;const n={};for(;e.parent;)n[e.parent.type.name]=null===(t=e.parent.activatedOn)||void 0===t?void 0:t.value.node,e=e.parent;return n}(i),i)}function $(e,t,n){const r=(n.location?Array.isArray(n.location)?n.location:[n.location]:[Object.assign(Object.assign({},j),{reportOnKey:!1})]).map((e=>Object.assign(Object.assign(Object.assign({},j),{reportOnKey:!1}),e))),i=n.forceSeverity||t;\"off\"!==i&&u.problems.push(Object.assign(Object.assign({ruleId:n.ruleId||e,severity:i},n),{suggest:n.suggest||[],location:r}))}function L(e){return u.visitorsData[e]=u.visitorsData[e]||{},u.visitorsData[e]}}(t.parsed,n,new r.Location(t.source,\"#/\"),void 0,\"\")}},1431:function(e,t,n){var r=n(8505);e.exports=function(e){return e?(\"{}\"===e.substr(0,2)&&(e=\"\\\\{\\\\}\"+e.substr(2)),g(function(e){return e.split(\"\\\\\\\\\").join(i).split(\"\\\\{\").join(o).split(\"\\\\}\").join(s).split(\"\\\\,\").join(a).split(\"\\\\.\").join(l)}(e),!0).map(u)):[]};var i=\"\\0SLASH\"+Math.random()+\"\\0\",o=\"\\0OPEN\"+Math.random()+\"\\0\",s=\"\\0CLOSE\"+Math.random()+\"\\0\",a=\"\\0COMMA\"+Math.random()+\"\\0\",l=\"\\0PERIOD\"+Math.random()+\"\\0\";function c(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function u(e){return e.split(i).join(\"\\\\\").split(o).join(\"{\").split(s).join(\"}\").split(a).join(\",\").split(l).join(\".\")}function p(e){if(!e)return[\"\"];var t=[],n=r(\"{\",\"}\",e);if(!n)return e.split(\",\");var i=n.pre,o=n.body,s=n.post,a=i.split(\",\");a[a.length-1]+=\"{\"+o+\"}\";var l=p(s);return s.length&&(a[a.length-1]+=l.shift(),a.push.apply(a,l)),t.push.apply(t,a),t}function d(e){return\"{\"+e+\"}\"}function f(e){return/^-?0\\d/.test(e)}function h(e,t){return e<=t}function m(e,t){return e>=t}function g(e,t){var n=[],i=r(\"{\",\"}\",e);if(!i)return[e];var o=i.pre,a=i.post.length?g(i.post,!1):[\"\"];if(/\\$$/.test(i.pre))for(var l=0;l<a.length;l++){var u=o+\"{\"+i.body+\"}\"+a[l];n.push(u)}else{var y,b,v=/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(i.body),x=/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(i.body),w=v||x,k=i.body.indexOf(\",\")>=0;if(!w&&!k)return i.post.match(/,(?!,).*\\}/)?g(e=i.pre+\"{\"+i.body+s+i.post):[e];if(w)y=i.body.split(/\\.\\./);else if(1===(y=p(i.body)).length&&1===(y=g(y[0],!1).map(d)).length)return a.map((function(e){return i.pre+y[0]+e}));if(w){var S=c(y[0]),E=c(y[1]),O=Math.max(y[0].length,y[1].length),_=3==y.length?Math.abs(c(y[2])):1,A=h;E<S&&(_*=-1,A=m);var C=y.some(f);b=[];for(var j=S;A(j,E);j+=_){var P;if(x)\"\\\\\"===(P=String.fromCharCode(j))&&(P=\"\");else if(P=String(j),C){var T=O-P.length;if(T>0){var I=new Array(T+1).join(\"0\");P=j<0?\"-\"+I+P.slice(1):I+P}}b.push(P)}}else{b=[];for(var R=0;R<y.length;R++)b.push.apply(b,g(y[R],!1))}for(R=0;R<b.length;R++)for(l=0;l<a.length;l++)u=o+b[R]+a[l],(!t||w||u)&&n.push(u)}return n}},4077:function(e){const t=\"object\"==typeof process&&process&&!1;e.exports=t?{sep:\"\\\\\"}:{sep:\"/\"}},4536:function(e,t,n){const r=e.exports=(e,t,n={})=>(g(t),!(!n.nocomment&&\"#\"===t.charAt(0))&&new v(t,n).match(e));e.exports=r;const i=n(4077);r.sep=i.sep;const o=Symbol(\"globstar **\");r.GLOBSTAR=o;const s=n(1431),a={\"!\":{open:\"(?:(?!(?:\",close:\"))[^/]*?)\"},\"?\":{open:\"(?:\",close:\")?\"},\"+\":{open:\"(?:\",close:\")+\"},\"*\":{open:\"(?:\",close:\")*\"},\"@\":{open:\"(?:\",close:\")\"}},l=\"[^/]\",c=l+\"*?\",u=e=>e.split(\"\").reduce(((e,t)=>(e[t]=!0,e)),{}),p=u(\"().*{}+?[]^$\\\\!\"),d=u(\"[.(\"),f=/\\/+/;r.filter=(e,t={})=>(n,i,o)=>r(n,e,t);const h=(e,t={})=>{const n={};return Object.keys(e).forEach((t=>n[t]=e[t])),Object.keys(t).forEach((e=>n[e]=t[e])),n};r.defaults=e=>{if(!e||\"object\"!=typeof e||!Object.keys(e).length)return r;const t=r,n=(n,r,i)=>t(n,r,h(e,i));return(n.Minimatch=class extends t.Minimatch{constructor(t,n){super(t,h(e,n))}}).defaults=n=>t.defaults(h(e,n)).Minimatch,n.filter=(n,r)=>t.filter(n,h(e,r)),n.defaults=n=>t.defaults(h(e,n)),n.makeRe=(n,r)=>t.makeRe(n,h(e,r)),n.braceExpand=(n,r)=>t.braceExpand(n,h(e,r)),n.match=(n,r,i)=>t.match(n,r,h(e,i)),n},r.braceExpand=(e,t)=>m(e,t);const m=(e,t={})=>(g(e),t.nobrace||!/\\{(?:(?!\\{).)*\\}/.test(e)?[e]:s(e)),g=e=>{if(\"string\"!=typeof e)throw new TypeError(\"invalid pattern\");if(e.length>65536)throw new TypeError(\"pattern is too long\")},y=Symbol(\"subparse\");r.makeRe=(e,t)=>new v(e,t||{}).makeRe(),r.match=(e,t,n={})=>{const r=new v(t,n);return e=e.filter((e=>r.match(e))),r.options.nonull&&!e.length&&e.push(t),e};const b=e=>e.replace(/[[\\]\\\\]/g,\"\\\\$&\");class v{constructor(e,t){g(e),t||(t={}),this.options=t,this.set=[],this.pattern=e,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||!1===t.allowWindowsEscape,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\\\/g,\"/\")),this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.make()}debug(){}make(){const e=this.pattern,t=this.options;if(!t.nocomment&&\"#\"===e.charAt(0))return void(this.comment=!0);if(!e)return void(this.empty=!0);this.parseNegate();let n=this.globSet=this.braceExpand();t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,n),n=this.globParts=n.map((e=>e.split(f))),this.debug(this.pattern,n),n=n.map(((e,t,n)=>e.map(this.parse,this))),this.debug(this.pattern,n),n=n.filter((e=>-1===e.indexOf(!1))),this.debug(this.pattern,n),this.set=n}parseNegate(){if(this.options.nonegate)return;const e=this.pattern;let t=!1,n=0;for(let r=0;r<e.length&&\"!\"===e.charAt(r);r++)t=!t,n++;n&&(this.pattern=e.slice(n)),this.negate=t}matchOne(e,t,n){var r=this.options;this.debug(\"matchOne\",{this:this,file:e,pattern:t}),this.debug(\"matchOne\",e.length,t.length);for(var i=0,s=0,a=e.length,l=t.length;i<a&&s<l;i++,s++){this.debug(\"matchOne loop\");var c,u=t[s],p=e[i];if(this.debug(t,u,p),!1===u)return!1;if(u===o){this.debug(\"GLOBSTAR\",[t,u,p]);var d=i,f=s+1;if(f===l){for(this.debug(\"** at the end\");i<a;i++)if(\".\"===e[i]||\"..\"===e[i]||!r.dot&&\".\"===e[i].charAt(0))return!1;return!0}for(;d<a;){var h=e[d];if(this.debug(\"\\nglobstar while\",e,d,t,f,h),this.matchOne(e.slice(d),t.slice(f),n))return this.debug(\"globstar found match!\",d,a,h),!0;if(\".\"===h||\"..\"===h||!r.dot&&\".\"===h.charAt(0)){this.debug(\"dot detected!\",e,d,t,f);break}this.debug(\"globstar swallow a segment, and continue\"),d++}return!(!n||(this.debug(\"\\n>>> no match, partial?\",e,d,t,f),d!==a))}if(\"string\"==typeof u?(c=p===u,this.debug(\"string match\",u,p,c)):(c=p.match(u),this.debug(\"pattern match\",u,p,c)),!c)return!1}if(i===a&&s===l)return!0;if(i===a)return n;if(s===l)return i===a-1&&\"\"===e[i];throw new Error(\"wtf?\")}braceExpand(){return m(this.pattern,this.options)}parse(e,t){g(e);const n=this.options;if(\"**\"===e){if(!n.noglobstar)return o;e=\"*\"}if(\"\"===e)return\"\";let r=\"\",i=!1,s=!1;const u=[],f=[];let h,m,v,x,w=!1,k=-1,S=-1,E=\".\"===e.charAt(0),O=n.dot||E;const _=e=>\".\"===e.charAt(0)?\"\":n.dot?\"(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))\":\"(?!\\\\.)\",A=()=>{if(h){switch(h){case\"*\":r+=c,i=!0;break;case\"?\":r+=l,i=!0;break;default:r+=\"\\\\\"+h}this.debug(\"clearStateChar %j %j\",h,r),h=!1}};for(let t,o=0;o<e.length&&(t=e.charAt(o));o++)if(this.debug(\"%s\\t%s %s %j\",e,o,r,t),s){if(\"/\"===t)return!1;p[t]&&(r+=\"\\\\\"),r+=t,s=!1}else switch(t){case\"/\":return!1;case\"\\\\\":if(w&&\"-\"===e.charAt(o+1)){r+=t;continue}A(),s=!0;continue;case\"?\":case\"*\":case\"+\":case\"@\":case\"!\":if(this.debug(\"%s\\t%s %s %j <-- stateChar\",e,o,r,t),w){this.debug(\"  in class\"),\"!\"===t&&o===S+1&&(t=\"^\"),r+=t;continue}this.debug(\"call clearStateChar %j\",h),A(),h=t,n.noext&&A();continue;case\"(\":{if(w){r+=\"(\";continue}if(!h){r+=\"\\\\(\";continue}const t={type:h,start:o-1,reStart:r.length,open:a[h].open,close:a[h].close};this.debug(this.pattern,\"\\t\",t),u.push(t),r+=t.open,0===t.start&&\"!\"!==t.type&&(E=!0,r+=_(e.slice(o+1))),this.debug(\"plType %j %j\",h,r),h=!1;continue}case\")\":{const e=u[u.length-1];if(w||!e){r+=\"\\\\)\";continue}u.pop(),A(),i=!0,v=e,r+=v.close,\"!\"===v.type&&f.push(Object.assign(v,{reEnd:r.length}));continue}case\"|\":{const t=u[u.length-1];if(w||!t){r+=\"\\\\|\";continue}A(),r+=\"|\",0===t.start&&\"!\"!==t.type&&(E=!0,r+=_(e.slice(o+1)));continue}case\"[\":if(A(),w){r+=\"\\\\\"+t;continue}w=!0,S=o,k=r.length,r+=t;continue;case\"]\":if(o===S+1||!w){r+=\"\\\\\"+t;continue}m=e.substring(S+1,o);try{RegExp(\"[\"+b(m.replace(/\\\\([^-\\]])/g,\"$1\"))+\"]\"),r+=t}catch(e){r=r.substring(0,k)+\"(?:$.)\"}i=!0,w=!1;continue;default:A(),!p[t]||\"^\"===t&&w||(r+=\"\\\\\"),r+=t}for(w&&(m=e.slice(S+1),x=this.parse(m,y),r=r.substring(0,k)+\"\\\\[\"+x[0],i=i||x[1]),v=u.pop();v;v=u.pop()){let e;e=r.slice(v.reStart+v.open.length),this.debug(\"setting tail\",r,v),e=e.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g,((e,t,n)=>(n||(n=\"\\\\\"),t+t+n+\"|\"))),this.debug(\"tail=%j\\n   %s\",e,e,v,r);const t=\"*\"===v.type?c:\"?\"===v.type?l:\"\\\\\"+v.type;i=!0,r=r.slice(0,v.reStart)+t+\"\\\\(\"+e}A(),s&&(r+=\"\\\\\\\\\");const C=d[r.charAt(0)];for(let e=f.length-1;e>-1;e--){const n=f[e],i=r.slice(0,n.reStart),o=r.slice(n.reStart,n.reEnd-8);let s=r.slice(n.reEnd);const a=r.slice(n.reEnd-8,n.reEnd)+s,l=i.split(\")\").length,c=i.split(\"(\").length-l;let u=s;for(let e=0;e<c;e++)u=u.replace(/\\)[+*?]?/,\"\");s=u,r=i+o+s+(\"\"===s&&t!==y?\"(?:$|\\\\/)\":\"\")+a}if(\"\"!==r&&i&&(r=\"(?=.)\"+r),C&&(r=(E?\"\":O?\"(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))\":\"(?!\\\\.)\")+r),t===y)return[r,i];if(n.nocase&&!i&&(i=e.toUpperCase()!==e.toLowerCase()),!i)return(e=>e.replace(/\\\\(.)/g,\"$1\"))(e);const j=n.nocase?\"i\":\"\";try{return Object.assign(new RegExp(\"^\"+r+\"$\",j),{_glob:e,_src:r})}catch(e){return new RegExp(\"$.\")}}makeRe(){if(this.regexp||!1===this.regexp)return this.regexp;const e=this.set;if(!e.length)return this.regexp=!1,this.regexp;const t=this.options,n=t.noglobstar?c:t.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=t.nocase?\"i\":\"\";let i=e.map((e=>(e=e.map((e=>\"string\"==typeof e?e.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):e===o?o:e._src)).reduce(((e,t)=>(e[e.length-1]===o&&t===o||e.push(t),e)),[]),e.forEach(((t,r)=>{t===o&&e[r-1]!==o&&(0===r?e.length>1?e[r+1]=\"(?:\\\\/|\"+n+\"\\\\/)?\"+e[r+1]:e[r]=n:r===e.length-1?e[r-1]+=\"(?:\\\\/|\"+n+\")?\":(e[r-1]+=\"(?:\\\\/|\\\\/\"+n+\"\\\\/)\"+e[r+1],e[r+1]=o))})),e.filter((e=>e!==o)).join(\"/\")))).join(\"|\");i=\"^(?:\"+i+\")$\",this.negate&&(i=\"^(?!\"+i+\").*$\");try{this.regexp=new RegExp(i,r)}catch(e){this.regexp=!1}return this.regexp}match(e,t=this.partial){if(this.debug(\"match\",e,this.pattern),this.comment)return!1;if(this.empty)return\"\"===e;if(\"/\"===e&&t)return!0;const n=this.options;\"/\"!==i.sep&&(e=e.split(i.sep).join(\"/\")),e=e.split(f),this.debug(this.pattern,\"split\",e);const r=this.set;let o;this.debug(this.pattern,\"set\",r);for(let t=e.length-1;t>=0&&(o=e[t],!o);t--);for(let i=0;i<r.length;i++){const s=r[i];let a=e;if(n.matchBase&&1===s.length&&(a=[o]),this.matchOne(a,s,t))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate}static defaults(e){return r.defaults(e).Minimatch}}r.Minimatch=v},8505:function(e){\"use strict\";function t(e,t,i){e instanceof RegExp&&(e=n(e,i)),t instanceof RegExp&&(t=n(t,i));var o=r(e,t,i);return o&&{start:o[0],end:o[1],pre:i.slice(0,o[0]),body:i.slice(o[0]+e.length,o[1]),post:i.slice(o[1]+t.length)}}function n(e,t){var n=t.match(e);return n?n[0]:null}function r(e,t,n){var r,i,o,s,a,l=n.indexOf(e),c=n.indexOf(t,l+1),u=l;if(l>=0&&c>0){if(e===t)return[l,c];for(r=[],o=n.length;u>=0&&!a;)u==l?(r.push(u),l=n.indexOf(e,u+1)):1==r.length?a=[r.pop(),c]:((i=r.pop())<o&&(o=i,s=c),c=n.indexOf(t,u+1)),u=l<c&&l>=0?l:c;r.length&&(a=[o,s])}return a}e.exports=t,t.range=r},3998:function(e,t,n){\"use strict\";var r=n(1137);e.exports=function(e,t){return e?void t.then((function(t){r((function(){e(null,t)}))}),(function(t){r((function(){e(t)}))})):t}},1137:function(e){\"use strict\";e.exports=\"object\"==typeof process&&\"function\"==typeof process.nextTick?process.nextTick:\"function\"==typeof setImmediate?setImmediate:function(e){setTimeout(e,0)}},2485:function(e,t){var n;!function(){\"use strict\";var r={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if(\"string\"===o||\"number\"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var s=i.apply(null,n);s&&e.push(s)}}else if(\"object\"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes(\"[native code]\")){e.push(n.toString());continue}for(var a in n)r.call(n,a)&&n[a]&&e.push(a)}}}return e.join(\" \")}e.exports?(i.default=i,e.exports=i):void 0===(n=function(){return i}.apply(t,[]))||(e.exports=n)}()},7920:function(e,t,n){n(115),n(5086),n(3534),n(7727),n(590),n(8290),n(2619),n(4216),n(2957),n(6195),n(4100),n(3006),n(4910),n(2820),n(6611),n(9576),n(9747),n(1586),n(6982),n(3719);var r=n(9720);e.exports=r.Symbol},9085:function(e){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(String(e)+\" is not a function\");return e}},3938:function(e,t,n){var r=n(5335);e.exports=function(e){if(!r(e))throw TypeError(String(e)+\" is not an object\");return e}},8186:function(e,t,n){var r=n(5476),i=n(3747),o=n(6539),s=function(e){return function(t,n,s){var a,l=r(t),c=i(l.length),u=o(s,c);if(e&&n!=n){for(;c>u;)if((a=l[u++])!=a)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}};e.exports={includes:s(!0),indexOf:s(!1)}},1344:function(e,t,n){var r=n(6885),i=n(8664),o=n(2612),s=n(3747),a=n(2998),l=[].push,c=function(e){var t=1==e,n=2==e,c=3==e,u=4==e,p=6==e,d=7==e,f=5==e||p;return function(h,m,g,y){for(var b,v,x=o(h),w=i(x),k=r(m,g,3),S=s(w.length),E=0,O=y||a,_=t?O(h,S):n||d?O(h,0):void 0;S>E;E++)if((f||E in w)&&(v=k(b=w[E],E,x),e))if(t)_[E]=v;else if(v)switch(e){case 3:return!0;case 5:return b;case 6:return E;case 2:l.call(_,b)}else switch(e){case 4:return!1;case 7:l.call(_,b)}return p?-1:c||u?u:_}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterOut:c(7)}},5634:function(e,t,n){var r=n(2074),i=n(1602),o=n(6845),s=i(\"species\");e.exports=function(e){return o>=51||!r((function(){var t=[];return(t.constructor={})[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},2998:function(e,t,n){var r=n(5335),i=n(8679),o=n(1602)(\"species\");e.exports=function(e,t){var n;return i(e)&&(\"function\"!=typeof(n=e.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},8569:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},3062:function(e,t,n){var r=n(3129),i=n(8569),o=n(1602)(\"toStringTag\"),s=\"Arguments\"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:s?i(t):\"Object\"==(r=i(t))&&\"function\"==typeof t.callee?\"Arguments\":r}},4361:function(e,t,n){var r=n(1883),i=n(5816),o=n(7632),s=n(3610);e.exports=function(e,t){for(var n=i(t),a=s.f,l=o.f,c=0;c<n.length;c++){var u=n[c];r(e,u)||a(e,u,l(t,u))}}},7712:function(e,t,n){var r=n(5077),i=n(3610),o=n(6843);e.exports=r?function(e,t,n){return i.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},6843:function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},2057:function(e,t,n){\"use strict\";var r=n(874),i=n(3610),o=n(6843);e.exports=function(e,t,n){var s=r(t);s in e?i.f(e,s,o(0,n)):e[s]=n}},1272:function(e,t,n){var r=n(9720),i=n(1883),o=n(802),s=n(3610).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});i(t,e)||s(t,e,{value:o.f(e)})}},5077:function(e,t,n){var r=n(2074);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},3262:function(e,t,n){var r=n(200),i=n(5335),o=r.document,s=i(o)&&i(o.createElement);e.exports=function(e){return s?o.createElement(e):{}}},7061:function(e,t,n){var r=n(6492);e.exports=r(\"navigator\",\"userAgent\")||\"\"},6845:function(e,t,n){var r,i,o=n(200),s=n(7061),a=o.process,l=a&&a.versions,c=l&&l.v8;c?i=(r=c.split(\".\"))[0]<4?1:r[0]+r[1]:s&&(!(r=s.match(/Edge\\/(\\d+)/))||r[1]>=74)&&(r=s.match(/Chrome\\/(\\d+)/))&&(i=r[1]),e.exports=i&&+i},290:function(e){e.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},1605:function(e,t,n){var r=n(200),i=n(7632).f,o=n(7712),s=n(7485),a=n(5975),l=n(4361),c=n(4977);e.exports=function(e,t){var n,u,p,d,f,h=e.target,m=e.global,g=e.stat;if(n=m?r:g?r[h]||a(h,{}):(r[h]||{}).prototype)for(u in t){if(d=t[u],p=e.noTargetGet?(f=i(n,u))&&f.value:n[u],!c(m?u:h+(g?\".\":\"#\")+u,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;l(d,p)}(e.sham||p&&p.sham)&&o(d,\"sham\",!0),s(n,u,d,e)}}},2074:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},6885:function(e,t,n){var r=n(9085);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},6492:function(e,t,n){var r=n(9720),i=n(200),o=function(e){return\"function\"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(i[e]):r[e]&&r[e][t]||i[e]&&i[e][t]}},200:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r(\"object\"==typeof globalThis&&globalThis)||r(\"object\"==typeof window&&window)||r(\"object\"==typeof self&&self)||r(\"object\"==typeof n.g&&n.g)||function(){return this}()||Function(\"return this\")()},1883:function(e,t,n){var r=n(2612),i={}.hasOwnProperty;e.exports=Object.hasOwn||function(e,t){return i.call(r(e),t)}},7708:function(e){e.exports={}},8890:function(e,t,n){var r=n(6492);e.exports=r(\"document\",\"documentElement\")},7694:function(e,t,n){var r=n(5077),i=n(2074),o=n(3262);e.exports=!r&&!i((function(){return 7!=Object.defineProperty(o(\"div\"),\"a\",{get:function(){return 7}}).a}))},8664:function(e,t,n){var r=n(2074),i=n(8569),o=\"\".split;e.exports=r((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==i(e)?o.call(e,\"\"):Object(e)}:Object},9965:function(e,t,n){var r=n(9310),i=Function.toString;\"function\"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),e.exports=r.inspectSource},9206:function(e,t,n){var r,i,o,s=n(2886),a=n(200),l=n(5335),c=n(7712),u=n(1883),p=n(9310),d=n(5904),f=n(7708),h=\"Object already initialized\",m=a.WeakMap;if(s||p.state){var g=p.state||(p.state=new m),y=g.get,b=g.has,v=g.set;r=function(e,t){if(b.call(g,e))throw new TypeError(h);return t.facade=e,v.call(g,e,t),t},i=function(e){return y.call(g,e)||{}},o=function(e){return b.call(g,e)}}else{var x=d(\"state\");f[x]=!0,r=function(e,t){if(u(e,x))throw new TypeError(h);return t.facade=e,c(e,x,t),t},i=function(e){return u(e,x)?e[x]:{}},o=function(e){return u(e,x)}}e.exports={set:r,get:i,has:o,enforce:function(e){return o(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=i(t)).type!==e)throw TypeError(\"Incompatible receiver, \"+e+\" required\");return n}}}},8679:function(e,t,n){var r=n(8569);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},4977:function(e,t,n){var r=n(2074),i=/#|\\.prototype\\./,o=function(e,t){var n=a[s(e)];return n==c||n!=l&&(\"function\"==typeof t?r(t):!!t)},s=o.normalize=function(e){return String(e).replace(i,\".\").toLowerCase()},a=o.data={},l=o.NATIVE=\"N\",c=o.POLYFILL=\"P\";e.exports=o},5335:function(e){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},6926:function(e){e.exports=!1},1849:function(e,t,n){var r=n(6845),i=n(2074);e.exports=!!Object.getOwnPropertySymbols&&!i((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},2886:function(e,t,n){var r=n(200),i=n(9965),o=r.WeakMap;e.exports=\"function\"==typeof o&&/native code/.test(i(o))},3105:function(e,t,n){var r,i=n(3938),o=n(5318),s=n(290),a=n(7708),l=n(8890),c=n(3262),u=n(5904),p=\"prototype\",d=\"script\",f=u(\"IE_PROTO\"),h=function(){},m=function(e){return\"<\"+d+\">\"+e+\"</\"+d+\">\"},g=function(){try{r=document.domain&&new ActiveXObject(\"htmlfile\")}catch(e){}var e,t,n;g=r?function(e){e.write(m(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):(t=c(\"iframe\"),n=\"java\"+d+\":\",t.style.display=\"none\",l.appendChild(t),t.src=String(n),(e=t.contentWindow.document).open(),e.write(m(\"document.F=Object\")),e.close(),e.F);for(var i=s.length;i--;)delete g[p][s[i]];return g()};a[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(h[p]=i(e),n=new h,h[p]=null,n[f]=e):n=g(),void 0===t?n:o(n,t)}},5318:function(e,t,n){var r=n(5077),i=n(3610),o=n(3938),s=n(1641);e.exports=r?Object.defineProperties:function(e,t){o(e);for(var n,r=s(t),a=r.length,l=0;a>l;)i.f(e,n=r[l++],t[n]);return e}},3610:function(e,t,n){var r=n(5077),i=n(7694),o=n(3938),s=n(874),a=Object.defineProperty;t.f=r?a:function(e,t,n){if(o(e),t=s(t,!0),o(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported\");return\"value\"in n&&(e[t]=n.value),e}},7632:function(e,t,n){var r=n(5077),i=n(9304),o=n(6843),s=n(5476),a=n(874),l=n(1883),c=n(7694),u=Object.getOwnPropertyDescriptor;t.f=r?u:function(e,t){if(e=s(e),t=a(t,!0),c)try{return u(e,t)}catch(e){}if(l(e,t))return o(!i.f.call(e,t),e[t])}},6509:function(e,t,n){var r=n(5476),i=n(4789).f,o={}.toString,s=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&\"[object Window]\"==o.call(e)?function(e){try{return i(e)}catch(e){return s.slice()}}(e):i(r(e))}},4789:function(e,t,n){var r=n(6347),i=n(290).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},8916:function(e,t){t.f=Object.getOwnPropertySymbols},6347:function(e,t,n){var r=n(1883),i=n(5476),o=n(8186).indexOf,s=n(7708);e.exports=function(e,t){var n,a=i(e),l=0,c=[];for(n in a)!r(s,n)&&r(a,n)&&c.push(n);for(;t.length>l;)r(a,n=t[l++])&&(~o(c,n)||c.push(n));return c}},1641:function(e,t,n){var r=n(6347),i=n(290);e.exports=Object.keys||function(e){return r(e,i)}},9304:function(e,t){\"use strict\";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);t.f=i?function(e){var t=r(this,e);return!!t&&t.enumerable}:n},4972:function(e,t,n){\"use strict\";var r=n(3129),i=n(3062);e.exports=r?{}.toString:function(){return\"[object \"+i(this)+\"]\"}},5816:function(e,t,n){var r=n(6492),i=n(4789),o=n(8916),s=n(3938);e.exports=r(\"Reflect\",\"ownKeys\")||function(e){var t=i.f(s(e)),n=o.f;return n?t.concat(n(e)):t}},9720:function(e,t,n){var r=n(200);e.exports=r},7485:function(e,t,n){var r=n(200),i=n(7712),o=n(1883),s=n(5975),a=n(9965),l=n(9206),c=l.get,u=l.enforce,p=String(String).split(\"String\");(e.exports=function(e,t,n,a){var l,c=!!a&&!!a.unsafe,d=!!a&&!!a.enumerable,f=!!a&&!!a.noTargetGet;\"function\"==typeof n&&(\"string\"!=typeof t||o(n,\"name\")||i(n,\"name\",t),(l=u(n)).source||(l.source=p.join(\"string\"==typeof t?t:\"\"))),e!==r?(c?!f&&e[t]&&(d=!0):delete e[t],d?e[t]=n:i(e,t,n)):d?e[t]=n:s(t,n)})(Function.prototype,\"toString\",(function(){return\"function\"==typeof this&&c(this).source||a(this)}))},1229:function(e){e.exports=function(e){if(null==e)throw TypeError(\"Can't call method on \"+e);return e}},5975:function(e,t,n){var r=n(200),i=n(7712);e.exports=function(e,t){try{i(r,e,t)}catch(n){r[e]=t}return t}},5282:function(e,t,n){var r=n(3610).f,i=n(1883),o=n(1602)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},5904:function(e,t,n){var r=n(2),i=n(665),o=r(\"keys\");e.exports=function(e){return o[e]||(o[e]=i(e))}},9310:function(e,t,n){var r=n(200),i=n(5975),o=\"__core-js_shared__\",s=r[o]||i(o,{});e.exports=s},2:function(e,t,n){var r=n(6926),i=n(9310);(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.14.0\",mode:r?\"pure\":\"global\",copyright:\"© 2021 Denis Pushkarev (zloirock.ru)\"})},6539:function(e,t,n){var r=n(7317),i=Math.max,o=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},5476:function(e,t,n){var r=n(8664),i=n(1229);e.exports=function(e){return r(i(e))}},7317:function(e){var t=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:t)(e)}},3747:function(e,t,n){var r=n(7317),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},2612:function(e,t,n){var r=n(1229);e.exports=function(e){return Object(r(e))}},874:function(e,t,n){var r=n(5335);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},3129:function(e,t,n){var r={};r[n(1602)(\"toStringTag\")]=\"z\",e.exports=\"[object z]\"===String(r)},665:function(e){var t=0,n=Math.random();e.exports=function(e){return\"Symbol(\"+String(void 0===e?\"\":e)+\")_\"+(++t+n).toString(36)}},5225:function(e,t,n){var r=n(1849);e.exports=r&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},802:function(e,t,n){var r=n(1602);t.f=r},1602:function(e,t,n){var r=n(200),i=n(2),o=n(1883),s=n(665),a=n(1849),l=n(5225),c=i(\"wks\"),u=r.Symbol,p=l?u:u&&u.withoutSetter||s;e.exports=function(e){return o(c,e)&&(a||\"string\"==typeof c[e])||(a&&o(u,e)?c[e]=u[e]:c[e]=p(\"Symbol.\"+e)),c[e]}},115:function(e,t,n){\"use strict\";var r=n(1605),i=n(2074),o=n(8679),s=n(5335),a=n(2612),l=n(3747),c=n(2057),u=n(2998),p=n(5634),d=n(1602),f=n(6845),h=d(\"isConcatSpreadable\"),m=9007199254740991,g=\"Maximum allowed index exceeded\",y=f>=51||!i((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),b=p(\"concat\"),v=function(e){if(!s(e))return!1;var t=e[h];return void 0!==t?!!t:o(e)};r({target:\"Array\",proto:!0,forced:!y||!b},{concat:function(e){var t,n,r,i,o,s=a(this),p=u(s,0),d=0;for(t=-1,r=arguments.length;t<r;t++)if(v(o=-1===t?s:arguments[t])){if(d+(i=l(o.length))>m)throw TypeError(g);for(n=0;n<i;n++,d++)n in o&&c(p,d,o[n])}else{if(d>=m)throw TypeError(g);c(p,d++,o)}return p.length=d,p}})},1586:function(e,t,n){var r=n(200);n(5282)(r.JSON,\"JSON\",!0)},6982:function(e,t,n){n(5282)(Math,\"Math\",!0)},5086:function(e,t,n){var r=n(3129),i=n(7485),o=n(4972);r||i(Object.prototype,\"toString\",o,{unsafe:!0})},3719:function(e,t,n){var r=n(1605),i=n(200),o=n(5282);r({global:!0},{Reflect:{}}),o(i.Reflect,\"Reflect\",!0)},7727:function(e,t,n){n(1272)(\"asyncIterator\")},590:function(e,t,n){\"use strict\";var r=n(1605),i=n(5077),o=n(200),s=n(1883),a=n(5335),l=n(3610).f,c=n(4361),u=o.Symbol;if(i&&\"function\"==typeof u&&(!(\"description\"in u.prototype)||void 0!==u().description)){var p={},d=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof d?new u(e):void 0===e?u():u(e);return\"\"===e&&(p[t]=!0),t};c(d,u);var f=d.prototype=u.prototype;f.constructor=d;var h=f.toString,m=\"Symbol(test)\"==String(u(\"test\")),g=/^Symbol\\((.*)\\)[^)]+$/;l(f,\"description\",{configurable:!0,get:function(){var e=a(this)?this.valueOf():this,t=h.call(e);if(s(p,e))return\"\";var n=m?t.slice(7,-1):t.replace(g,\"$1\");return\"\"===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:d})}},8290:function(e,t,n){n(1272)(\"hasInstance\")},2619:function(e,t,n){n(1272)(\"isConcatSpreadable\")},4216:function(e,t,n){n(1272)(\"iterator\")},3534:function(e,t,n){\"use strict\";var r=n(1605),i=n(200),o=n(6492),s=n(6926),a=n(5077),l=n(1849),c=n(5225),u=n(2074),p=n(1883),d=n(8679),f=n(5335),h=n(3938),m=n(2612),g=n(5476),y=n(874),b=n(6843),v=n(3105),x=n(1641),w=n(4789),k=n(6509),S=n(8916),E=n(7632),O=n(3610),_=n(9304),A=n(7712),C=n(7485),j=n(2),P=n(5904),T=n(7708),I=n(665),R=n(1602),N=n(802),$=n(1272),L=n(5282),D=n(9206),M=n(1344).forEach,F=P(\"hidden\"),z=\"Symbol\",B=\"prototype\",U=R(\"toPrimitive\"),q=D.set,V=D.getterFor(z),W=Object[B],H=i.Symbol,Y=o(\"JSON\",\"stringify\"),G=E.f,Q=O.f,X=k.f,K=_.f,Z=j(\"symbols\"),J=j(\"op-symbols\"),ee=j(\"string-to-symbol-registry\"),te=j(\"symbol-to-string-registry\"),ne=j(\"wks\"),re=i.QObject,ie=!re||!re[B]||!re[B].findChild,oe=a&&u((function(){return 7!=v(Q({},\"a\",{get:function(){return Q(this,\"a\",{value:7}).a}})).a}))?function(e,t,n){var r=G(W,t);r&&delete W[t],Q(e,t,n),r&&e!==W&&Q(W,t,r)}:Q,se=function(e,t){var n=Z[e]=v(H[B]);return q(n,{type:z,tag:e,description:t}),a||(n.description=t),n},ae=c?function(e){return\"symbol\"==typeof e}:function(e){return Object(e)instanceof H},le=function(e,t,n){e===W&&le(J,t,n),h(e);var r=y(t,!0);return h(n),p(Z,r)?(n.enumerable?(p(e,F)&&e[F][r]&&(e[F][r]=!1),n=v(n,{enumerable:b(0,!1)})):(p(e,F)||Q(e,F,b(1,{})),e[F][r]=!0),oe(e,r,n)):Q(e,r,n)},ce=function(e,t){h(e);var n=g(t),r=x(n).concat(fe(n));return M(r,(function(t){a&&!ue.call(n,t)||le(e,t,n[t])})),e},ue=function(e){var t=y(e,!0),n=K.call(this,t);return!(this===W&&p(Z,t)&&!p(J,t))&&(!(n||!p(this,t)||!p(Z,t)||p(this,F)&&this[F][t])||n)},pe=function(e,t){var n=g(e),r=y(t,!0);if(n!==W||!p(Z,r)||p(J,r)){var i=G(n,r);return!i||!p(Z,r)||p(n,F)&&n[F][r]||(i.enumerable=!0),i}},de=function(e){var t=X(g(e)),n=[];return M(t,(function(e){p(Z,e)||p(T,e)||n.push(e)})),n},fe=function(e){var t=e===W,n=X(t?J:g(e)),r=[];return M(n,(function(e){!p(Z,e)||t&&!p(W,e)||r.push(Z[e])})),r};l||(H=function(){if(this instanceof H)throw TypeError(\"Symbol is not a constructor\");var e=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,t=I(e),n=function(e){this===W&&n.call(J,e),p(this,F)&&p(this[F],t)&&(this[F][t]=!1),oe(this,t,b(1,e))};return a&&ie&&oe(W,t,{configurable:!0,set:n}),se(t,e)},C(H[B],\"toString\",(function(){return V(this).tag})),C(H,\"withoutSetter\",(function(e){return se(I(e),e)})),_.f=ue,O.f=le,E.f=pe,w.f=k.f=de,S.f=fe,N.f=function(e){return se(R(e),e)},a&&(Q(H[B],\"description\",{configurable:!0,get:function(){return V(this).description}}),s||C(W,\"propertyIsEnumerable\",ue,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:H}),M(x(ne),(function(e){$(e)})),r({target:z,stat:!0,forced:!l},{for:function(e){var t=String(e);if(p(ee,t))return ee[t];var n=H(t);return ee[t]=n,te[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+\" is not a symbol\");if(p(te,e))return te[e]},useSetter:function(){ie=!0},useSimple:function(){ie=!1}}),r({target:\"Object\",stat:!0,forced:!l,sham:!a},{create:function(e,t){return void 0===t?v(e):ce(v(e),t)},defineProperty:le,defineProperties:ce,getOwnPropertyDescriptor:pe}),r({target:\"Object\",stat:!0,forced:!l},{getOwnPropertyNames:de,getOwnPropertySymbols:fe}),r({target:\"Object\",stat:!0,forced:u((function(){S.f(1)}))},{getOwnPropertySymbols:function(e){return S.f(m(e))}}),Y&&r({target:\"JSON\",stat:!0,forced:!l||u((function(){var e=H();return\"[null]\"!=Y([e])||\"{}\"!=Y({a:e})||\"{}\"!=Y(Object(e))}))},{stringify:function(e,t,n){for(var r,i=[e],o=1;arguments.length>o;)i.push(arguments[o++]);if(r=t,(f(t)||void 0!==e)&&!ae(e))return d(t)||(t=function(e,t){if(\"function\"==typeof r&&(t=r.call(this,e,t)),!ae(t))return t}),i[1]=t,Y.apply(null,i)}}),H[B][U]||A(H[B],U,H[B].valueOf),L(H,z),T[F]=!0},6195:function(e,t,n){n(1272)(\"matchAll\")},2957:function(e,t,n){n(1272)(\"match\")},4100:function(e,t,n){n(1272)(\"replace\")},3006:function(e,t,n){n(1272)(\"search\")},4910:function(e,t,n){n(1272)(\"species\")},2820:function(e,t,n){n(1272)(\"split\")},6611:function(e,t,n){n(1272)(\"toPrimitive\")},9576:function(e,t,n){n(1272)(\"toStringTag\")},9747:function(e,t,n){n(1272)(\"unscopables\")},8997:function(e,t,n){\"use strict\";var r=n(4991),i=n.n(r),o=n(6314),s=n.n(o)()(i());s.push([e.id,\".ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;height:15px;bottom:0;position:absolute}.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;width:15px;right:0;position:absolute}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y,.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y{opacity:.6}.ps .ps__rail-x:hover,.ps .ps__rail-y:hover,.ps .ps__rail-x:focus,.ps .ps__rail-y:focus,.ps .ps__rail-x.ps--clicking,.ps .ps__rail-y.ps--clicking{background-color:#eee;opacity:.9}.ps__thumb-x{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px;position:absolute}.ps__thumb-y{background-color:#aaa;border-radius:6px;transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px;position:absolute}.ps__rail-x:hover>.ps__thumb-x,.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x.ps--clicking .ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:hover>.ps__thumb-y,.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y.ps--clicking .ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style: none){.ps{overflow:auto!important}}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.ps{overflow:auto!important}}\\n\",\"\",{version:3,sources:[\"webpack://./node_modules/perfect-scrollbar/css/perfect-scrollbar.css\"],names:[],mappings:\"AAGA,IACE,yBAAU,CACV,oBAAiB,CACjB,uBAAoB,CACpB,iBAAc,CACd,qBACF,CAKA,YACE,YAAS,CACT,SAAS,CACT,yDAAqD,CACrD,iEAA6D,CAC7D,WAAQ,CAER,QAAQ,CAER,iBACF,CAEA,YACE,YAAS,CACT,SAAS,CACT,yDAAqD,CACrD,iEAA6D,CAC7D,UAAO,CAEP,OAAO,CAEP,iBACF,CAEA,oDAEE,aAAS,CACT,4BACF,CAEA,oJAME,UACF,CAEA,kJAME,qBAAkB,CAClB,UACF,CAKA,aACE,qBAAkB,CAnEpB,iBAoEiB,CACf,6DAAoD,CACpD,qEAA4D,CAC5D,UAAQ,CAER,UAAQ,CAER,iBACF,CAEA,aACE,qBAAkB,CA/EpB,iBAgFiB,CACf,4DAAmD,CACnD,oEAA2D,CAC3D,SAAO,CAEP,SAAO,CAEP,iBACF,CAEA,oGAGE,qBAAkB,CAClB,WACF,CAEA,oGAGE,qBAAkB,CAClB,UACF,CAGA,qCACE,IACE,uBACF,CACF,CAEA,wEACE,IACE,uBACF,CACF\",sourcesContent:[\"/*\\n * Container style\\n */\\n.ps {\\n  overflow: hidden !important;\\n  overflow-anchor: none;\\n  -ms-overflow-style: none;\\n  touch-action: auto;\\n  -ms-touch-action: auto;\\n}\\n\\n/*\\n * Scrollbar rail styles\\n */\\n.ps__rail-x {\\n  display: none;\\n  opacity: 0;\\n  transition: background-color .2s linear, opacity .2s linear;\\n  -webkit-transition: background-color .2s linear, opacity .2s linear;\\n  height: 15px;\\n  /* there must be 'bottom' or 'top' for ps__rail-x */\\n  bottom: 0px;\\n  /* please don't change 'position' */\\n  position: absolute;\\n}\\n\\n.ps__rail-y {\\n  display: none;\\n  opacity: 0;\\n  transition: background-color .2s linear, opacity .2s linear;\\n  -webkit-transition: background-color .2s linear, opacity .2s linear;\\n  width: 15px;\\n  /* there must be 'right' or 'left' for ps__rail-y */\\n  right: 0;\\n  /* please don't change 'position' */\\n  position: absolute;\\n}\\n\\n.ps--active-x > .ps__rail-x,\\n.ps--active-y > .ps__rail-y {\\n  display: block;\\n  background-color: transparent;\\n}\\n\\n.ps:hover > .ps__rail-x,\\n.ps:hover > .ps__rail-y,\\n.ps--focus > .ps__rail-x,\\n.ps--focus > .ps__rail-y,\\n.ps--scrolling-x > .ps__rail-x,\\n.ps--scrolling-y > .ps__rail-y {\\n  opacity: 0.6;\\n}\\n\\n.ps .ps__rail-x:hover,\\n.ps .ps__rail-y:hover,\\n.ps .ps__rail-x:focus,\\n.ps .ps__rail-y:focus,\\n.ps .ps__rail-x.ps--clicking,\\n.ps .ps__rail-y.ps--clicking {\\n  background-color: #eee;\\n  opacity: 0.9;\\n}\\n\\n/*\\n * Scrollbar thumb styles\\n */\\n.ps__thumb-x {\\n  background-color: #aaa;\\n  border-radius: 6px;\\n  transition: background-color .2s linear, height .2s ease-in-out;\\n  -webkit-transition: background-color .2s linear, height .2s ease-in-out;\\n  height: 6px;\\n  /* there must be 'bottom' for ps__thumb-x */\\n  bottom: 2px;\\n  /* please don't change 'position' */\\n  position: absolute;\\n}\\n\\n.ps__thumb-y {\\n  background-color: #aaa;\\n  border-radius: 6px;\\n  transition: background-color .2s linear, width .2s ease-in-out;\\n  -webkit-transition: background-color .2s linear, width .2s ease-in-out;\\n  width: 6px;\\n  /* there must be 'right' for ps__thumb-y */\\n  right: 2px;\\n  /* please don't change 'position' */\\n  position: absolute;\\n}\\n\\n.ps__rail-x:hover > .ps__thumb-x,\\n.ps__rail-x:focus > .ps__thumb-x,\\n.ps__rail-x.ps--clicking .ps__thumb-x {\\n  background-color: #999;\\n  height: 11px;\\n}\\n\\n.ps__rail-y:hover > .ps__thumb-y,\\n.ps__rail-y:focus > .ps__thumb-y,\\n.ps__rail-y.ps--clicking .ps__thumb-y {\\n  background-color: #999;\\n  width: 11px;\\n}\\n\\n/* MS supports */\\n@supports (-ms-overflow-style: none) {\\n  .ps {\\n    overflow: auto !important;\\n  }\\n}\\n\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n  .ps {\\n    overflow: auto !important;\\n  }\\n}\\n\"],sourceRoot:\"\"}]),t.A=s},6314:function(e){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(r)for(var o=0;o<this.length;o++){var s=this[o][0];null!=s&&(i[s]=!0)}for(var a=0;a<e.length;a++){var l=[].concat(e[a]);r&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),t.push(l))}},t}},4991:function(e){\"use strict\";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}e.exports=function(e){var n,r,i=(r=4,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=e&&(\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"]);if(null!=n){var r,i,o=[],s=!0,a=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);s=!0);}catch(e){a=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return o}}(n,r)||function(e,n){if(e){if(\"string\"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(n,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),o=i[1],s=i[3];if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(s)))),l=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(l,\" */\"),u=s.sources.map((function(e){return\"/*# sourceURL=\".concat(s.sourceRoot||\"\").concat(e,\" */\")}));return[o].concat(u).concat([c]).join(\"\\n\")}return[o].join(\"\\n\")}},5156:function(e,t){var n,r;n=function(e){\"use strict\";e.__esModule=!0;var t={},n=Object.prototype.hasOwnProperty,r=function(e){var r=arguments.length<=1||void 0===arguments[1]?t:arguments[1],i=r.cache||{};return function(){for(var t=arguments.length,o=Array(t),s=0;s<t;s++)o[s]=arguments[s];var a=String(o[0]);return!1===r.caseSensitive&&(a=a.toLowerCase()),n.call(i,a)?i[a]:i[a]=e.apply(this,o)}},i=function(e,t){if(\"function\"==typeof t){var n=e;e=t,t=n}var r=t&&t.delay||t||0,i=void 0,o=void 0,s=void 0;return function(){for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];i=n,o=this,s||(s=setTimeout((function(){e.apply(o,i),i=o=s=null}),r))}},o=function(e,t,n){var r=n.value;return{configurable:!0,get:function(){var e=r.bind(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e}}},s=c(r),a=c(i),l=c((function(e,t){return e.bind(t)}),(function(){return o}));function c(e,t){var n,r=(t=t||e.decorate||(n=e,function(e){return\"function\"==typeof e?n(e):function(t,r,i){i.value=n(i.value,e,t,r,i)}}))();return function(){for(var n=arguments.length,i=Array(n),o=0;o<n;o++)i[o]=arguments[o];var s=i.length;return(s<2?t:s>2?r:e).apply(void 0,i)}}e.memoize=s,e.debounce=a,e.bind=l,e.default={memoize:s,debounce:a,bind:l}},void 0===(r=n.apply(t,[t]))||(e.exports=r)},6364:function(e){e.exports={}},228:function(e){\"use strict\";var t=Object.prototype.hasOwnProperty,n=\"~\";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,r,o,s){if(\"function\"!=typeof r)throw new TypeError(\"The listener must be a function\");var a=new i(r,o||e,s),l=n?n+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var e,r,i=[];if(0===this._eventsCount)return i;for(r in e=this._events)t.call(e,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(e){var t=n?n+e:e,r=this._events[t];return r?r.fn?1:r.length:0},a.prototype.emit=function(e,t,r,i,o,s){var a=n?n+e:e;if(!this._events[a])return!1;var l,c,u=this._events[a],p=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),p){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,i),!0;case 5:return u.fn.call(u.context,t,r,i,o),!0;case 6:return u.fn.call(u.context,t,r,i,o,s),!0}for(c=1,l=new Array(p-1);c<p;c++)l[c-1]=arguments[c];u.fn.apply(u.context,l)}else{var d,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),p){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,r);break;case 4:u[c].fn.call(u[c].context,t,r,i);break;default:if(!l)for(d=1,l=new Array(p-1);d<p;d++)l[d-1]=arguments[d];u[c].fn.apply(u[c].context,l)}}return!0},a.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},a.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},a.prototype.removeListener=function(e,t,r,i){var o=n?n+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var l=0,c=[],u=a.length;l<u;l++)(a[l].fn!==t||i&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[o]=1===c.length?c[0]:c:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&s(this,t)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,e.exports=a},8463:function(e){e.exports=s,s.default=s,s.stable=u,s.stableStringify=u;var t=\"[...]\",n=\"[Circular]\",r=[],i=[];function o(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function s(e,t,n,s){var a;void 0===s&&(s=o()),l(e,\"\",0,[],void 0,0,s);try{a=0===i.length?JSON.stringify(e,t,n):JSON.stringify(e,d(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function a(e,t,n,o){var s=Object.getOwnPropertyDescriptor(o,n);void 0!==s.get?s.configurable?(Object.defineProperty(o,n,{value:e}),r.push([o,n,t,s])):i.push([t,n,e]):(o[n]=e,r.push([o,n,t]))}function l(e,r,i,o,s,c,u){var p;if(c+=1,\"object\"==typeof e&&null!==e){for(p=0;p<o.length;p++)if(o[p]===e)return void a(n,e,r,s);if(void 0!==u.depthLimit&&c>u.depthLimit)return void a(t,e,r,s);if(void 0!==u.edgesLimit&&i+1>u.edgesLimit)return void a(t,e,r,s);if(o.push(e),Array.isArray(e))for(p=0;p<e.length;p++)l(e[p],p,p,o,e,c,u);else{var d=Object.keys(e);for(p=0;p<d.length;p++){var f=d[p];l(e[f],f,p,o,e,c,u)}}o.pop()}}function c(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,s){void 0===s&&(s=o());var a,l=p(e,\"\",0,[],void 0,0,s)||e;try{a=0===i.length?JSON.stringify(l,t,n):JSON.stringify(l,d(t),n)}catch(e){return JSON.stringify(\"[unable to serialize, circular reference is too complex to analyze]\")}finally{for(;0!==r.length;){var c=r.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function p(e,i,o,s,l,u,d){var f;if(u+=1,\"object\"==typeof e&&null!==e){for(f=0;f<s.length;f++)if(s[f]===e)return void a(n,e,i,l);try{if(\"function\"==typeof e.toJSON)return}catch(e){return}if(void 0!==d.depthLimit&&u>d.depthLimit)return void a(t,e,i,l);if(void 0!==d.edgesLimit&&o+1>d.edgesLimit)return void a(t,e,i,l);if(s.push(e),Array.isArray(e))for(f=0;f<e.length;f++)p(e[f],f,f,s,e,u,d);else{var h={},m=Object.keys(e).sort(c);for(f=0;f<m.length;f++){var g=m[f];p(e[g],g,f,s,e,u,d),h[g]=e[g]}if(void 0===l)return h;r.push([l,i,e]),l[i]=h}s.pop()}}function d(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(i.length>0)for(var r=0;r<i.length;r++){var o=i[r];if(o[1]===t&&o[0]===n){n=o[2],i.splice(r,1);break}}return e.call(this,t,n)}}},6454:function(e,t,n){\"use strict\";const r=n(3918),i=n(2923),o=n(8904);e.exports={XMLParser:i,XMLValidator:r,XMLBuilder:o}},3085:function(e){e.exports=function(e){return\"function\"==typeof e?e:Array.isArray(e)?t=>{for(const n of e){if(\"string\"==typeof n&&t===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}}:()=>!1}},5334:function(e,t){\"use strict\";const n=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",r=\"[\"+n+\"][\"+n+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*\",i=new RegExp(\"^\"+r+\"$\");t.isExist=function(e){return void 0!==e},t.isEmptyObject=function(e){return 0===Object.keys(e).length},t.merge=function(e,t,n){if(t){const r=Object.keys(t),i=r.length;for(let o=0;o<i;o++)e[r[o]]=\"strict\"===n?[t[r[o]]]:t[r[o]]}},t.getValue=function(e){return t.isExist(e)?e:\"\"},t.isName=function(e){return!(null==i.exec(e))},t.getAllMatches=function(e,t){const n=[];let r=t.exec(e);for(;r;){const i=[];i.startIndex=t.lastIndex-r[0].length;const o=r.length;for(let e=0;e<o;e++)i.push(r[e]);n.push(i),r=t.exec(e)}return n},t.nameRegexp=r},3918:function(e,t,n){\"use strict\";const r=n(5334),i={allowBooleanAttributes:!1,unpairedTags:[]};function o(e){return\" \"===e||\"\\t\"===e||\"\\n\"===e||\"\\r\"===e}function s(e,t){const n=t;for(;t<e.length;t++)if(\"?\"!=e[t]&&\" \"!=e[t]);else{const r=e.substr(n,t-n);if(t>5&&\"xml\"===r)return h(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",g(e,t));if(\"?\"==e[t]&&\">\"==e[t+1]){t++;break}}return t}function a(e,t){if(e.length>t+5&&\"-\"===e[t+1]&&\"-\"===e[t+2]){for(t+=3;t<e.length;t++)if(\"-\"===e[t]&&\"-\"===e[t+1]&&\">\"===e[t+2]){t+=2;break}}else if(e.length>t+8&&\"D\"===e[t+1]&&\"O\"===e[t+2]&&\"C\"===e[t+3]&&\"T\"===e[t+4]&&\"Y\"===e[t+5]&&\"P\"===e[t+6]&&\"E\"===e[t+7]){let n=1;for(t+=8;t<e.length;t++)if(\"<\"===e[t])n++;else if(\">\"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&\"[\"===e[t+1]&&\"C\"===e[t+2]&&\"D\"===e[t+3]&&\"A\"===e[t+4]&&\"T\"===e[t+5]&&\"A\"===e[t+6]&&\"[\"===e[t+7])for(t+=8;t<e.length;t++)if(\"]\"===e[t]&&\"]\"===e[t+1]&&\">\"===e[t+2]){t+=2;break}return t}t.validate=function(e,t){t=Object.assign({},i,t);const n=[];let l=!1,c=!1;\"\\ufeff\"===e[0]&&(e=e.substr(1));for(let i=0;i<e.length;i++)if(\"<\"===e[i]&&\"?\"===e[i+1]){if(i+=2,i=s(e,i),i.err)return i}else{if(\"<\"!==e[i]){if(o(e[i]))continue;return h(\"InvalidChar\",\"char '\"+e[i]+\"' is not expected.\",g(e,i))}{let m=i;if(i++,\"!\"===e[i]){i=a(e,i);continue}{let y=!1;\"/\"===e[i]&&(y=!0,i++);let b=\"\";for(;i<e.length&&\">\"!==e[i]&&\" \"!==e[i]&&\"\\t\"!==e[i]&&\"\\n\"!==e[i]&&\"\\r\"!==e[i];i++)b+=e[i];if(b=b.trim(),\"/\"===b[b.length-1]&&(b=b.substring(0,b.length-1),i--),p=b,!r.isName(p)){let t;return t=0===b.trim().length?\"Invalid space after '<'.\":\"Tag '\"+b+\"' is an invalid name.\",h(\"InvalidTag\",t,g(e,i))}const v=u(e,i);if(!1===v)return h(\"InvalidAttr\",\"Attributes for '\"+b+\"' have open quote.\",g(e,i));let x=v.value;if(i=v.index,\"/\"===x[x.length-1]){const n=i-x.length;x=x.substring(0,x.length-1);const r=d(x,t);if(!0!==r)return h(r.err.code,r.err.msg,g(e,n+r.err.line));l=!0}else if(y){if(!v.tagClosed)return h(\"InvalidTag\",\"Closing tag '\"+b+\"' doesn't have proper closing.\",g(e,i));if(x.trim().length>0)return h(\"InvalidTag\",\"Closing tag '\"+b+\"' can't have attributes or invalid starting.\",g(e,m));if(0===n.length)return h(\"InvalidTag\",\"Closing tag '\"+b+\"' has not been opened.\",g(e,m));{const t=n.pop();if(b!==t.tagName){let n=g(e,t.tagStartPos);return h(\"InvalidTag\",\"Expected closing tag '\"+t.tagName+\"' (opened in line \"+n.line+\", col \"+n.col+\") instead of closing tag '\"+b+\"'.\",g(e,m))}0==n.length&&(c=!0)}}else{const r=d(x,t);if(!0!==r)return h(r.err.code,r.err.msg,g(e,i-x.length+r.err.line));if(!0===c)return h(\"InvalidXml\",\"Multiple possible root nodes found.\",g(e,i));-1!==t.unpairedTags.indexOf(b)||n.push({tagName:b,tagStartPos:m}),l=!0}for(i++;i<e.length;i++)if(\"<\"===e[i]){if(\"!\"===e[i+1]){i++,i=a(e,i);continue}if(\"?\"!==e[i+1])break;if(i=s(e,++i),i.err)return i}else if(\"&\"===e[i]){const t=f(e,i);if(-1==t)return h(\"InvalidChar\",\"char '&' is not expected.\",g(e,i));i=t}else if(!0===c&&!o(e[i]))return h(\"InvalidXml\",\"Extra text at the end\",g(e,i));\"<\"===e[i]&&i--}}}var p;return l?1==n.length?h(\"InvalidTag\",\"Unclosed tag '\"+n[0].tagName+\"'.\",g(e,n[0].tagStartPos)):!(n.length>0)||h(\"InvalidXml\",\"Invalid '\"+JSON.stringify(n.map((e=>e.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):h(\"InvalidXml\",\"Start tag expected.\",1)};const l='\"',c=\"'\";function u(e,t){let n=\"\",r=\"\",i=!1;for(;t<e.length;t++){if(e[t]===l||e[t]===c)\"\"===r?r=e[t]:r!==e[t]||(r=\"\");else if(\">\"===e[t]&&\"\"===r){i=!0;break}n+=e[t]}return\"\"===r&&{value:n,index:t,tagClosed:i}}const p=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function d(e,t){const n=r.getAllMatches(e,p),i={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return h(\"InvalidAttr\",\"Attribute '\"+n[e][2]+\"' has no space in starting.\",y(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return h(\"InvalidAttr\",\"Attribute '\"+n[e][2]+\"' is without value.\",y(n[e]));if(void 0===n[e][3]&&!t.allowBooleanAttributes)return h(\"InvalidAttr\",\"boolean attribute '\"+n[e][2]+\"' is not allowed.\",y(n[e]));const r=n[e][2];if(!m(r))return h(\"InvalidAttr\",\"Attribute '\"+r+\"' is an invalid name.\",y(n[e]));if(i.hasOwnProperty(r))return h(\"InvalidAttr\",\"Attribute '\"+r+\"' is repeated.\",y(n[e]));i[r]=1}return!0}function f(e,t){if(\";\"===e[++t])return-1;if(\"#\"===e[t])return function(e,t){let n=/\\d/;for(\"x\"===e[t]&&(t++,n=/[\\da-fA-F]/);t<e.length;t++){if(\";\"===e[t])return t;if(!e[t].match(n))break}return-1}(e,++t);let n=0;for(;t<e.length;t++,n++)if(!(e[t].match(/\\w/)&&n<20)){if(\";\"===e[t])break;return-1}return t}function h(e,t,n){return{err:{code:e,msg:t,line:n.line||n,col:n.col}}}function m(e){return r.isName(e)}function g(e,t){const n=e.substring(0,t).split(/\\r?\\n/);return{line:n.length,col:n[n.length-1].length+1}}function y(e){return e.startIndex+e[1].length}},8904:function(e,t,n){\"use strict\";const r=n(2788),i=n(3085),o={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\"  \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&amp;\"},{regex:new RegExp(\">\",\"g\"),val:\"&gt;\"},{regex:new RegExp(\"<\",\"g\"),val:\"&lt;\"},{regex:new RegExp(\"'\",\"g\"),val:\"&apos;\"},{regex:new RegExp('\"',\"g\"),val:\"&quot;\"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(e){this.options=Object.assign({},o,e),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=i(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=a,this.options.format?(this.indentate=l,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function a(e,t,n,r){const i=this.j2x(e,n+1,r.concat(t));return void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,i.attrStr,n):this.buildObjectNode(i.val,t,i.attrStr,n)}function l(e){return this.options.indentBy.repeat(e)}function c(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}s.prototype.build=function(e){return this.options.preserveOrder?r(e,this.options):(Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e}),this.j2x(e,0,[]).val)},s.prototype.j2x=function(e,t,n){let r=\"\",i=\"\";const o=n.join(\".\");for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s))if(void 0===e[s])this.isAttribute(s)&&(i+=\"\");else if(null===e[s])this.isAttribute(s)||s===this.options.cdataPropName?i+=\"\":\"?\"===s[0]?i+=this.indentate(t)+\"<\"+s+\"?\"+this.tagEndChar:i+=this.indentate(t)+\"<\"+s+\"/\"+this.tagEndChar;else if(e[s]instanceof Date)i+=this.buildTextValNode(e[s],s,\"\",t);else if(\"object\"!=typeof e[s]){const n=this.isAttribute(s);if(n&&!this.ignoreAttributesFn(n,o))r+=this.buildAttrPairStr(n,\"\"+e[s]);else if(!n)if(s===this.options.textNodeName){let t=this.options.tagValueProcessor(s,\"\"+e[s]);i+=this.replaceEntitiesValue(t)}else i+=this.buildTextValNode(e[s],s,\"\",t)}else if(Array.isArray(e[s])){const r=e[s].length;let o=\"\",a=\"\";for(let l=0;l<r;l++){const r=e[s][l];if(void 0===r);else if(null===r)\"?\"===s[0]?i+=this.indentate(t)+\"<\"+s+\"?\"+this.tagEndChar:i+=this.indentate(t)+\"<\"+s+\"/\"+this.tagEndChar;else if(\"object\"==typeof r)if(this.options.oneListGroup){const e=this.j2x(r,t+1,n.concat(s));o+=e.val,this.options.attributesGroupName&&r.hasOwnProperty(this.options.attributesGroupName)&&(a+=e.attrStr)}else o+=this.processTextOrObjNode(r,s,t,n);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(s,r);e=this.replaceEntitiesValue(e),o+=e}else o+=this.buildTextValNode(r,s,\"\",t)}this.options.oneListGroup&&(o=this.buildObjectNode(o,s,a,t)),i+=o}else if(this.options.attributesGroupName&&s===this.options.attributesGroupName){const t=Object.keys(e[s]),n=t.length;for(let i=0;i<n;i++)r+=this.buildAttrPairStr(t[i],\"\"+e[s][t[i]])}else i+=this.processTextOrObjNode(e[s],s,t,n);return{attrStr:r,val:i}},s.prototype.buildAttrPairStr=function(e,t){return t=this.options.attributeValueProcessor(e,\"\"+t),t=this.replaceEntitiesValue(t),this.options.suppressBooleanAttributes&&\"true\"===t?\" \"+e:\" \"+e+'=\"'+t+'\"'},s.prototype.buildObjectNode=function(e,t,n,r){if(\"\"===e)return\"?\"===t[0]?this.indentate(r)+\"<\"+t+n+\"?\"+this.tagEndChar:this.indentate(r)+\"<\"+t+n+this.closeTag(t)+this.tagEndChar;{let i=\"</\"+t+this.tagEndChar,o=\"\";return\"?\"===t[0]&&(o=\"?\",i=\"\"),!n&&\"\"!==n||-1!==e.indexOf(\"<\")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===o.length?this.indentate(r)+`\\x3c!--${e}--\\x3e`+this.newLine:this.indentate(r)+\"<\"+t+n+o+this.tagEndChar+e+this.indentate(r)+i:this.indentate(r)+\"<\"+t+n+o+\">\"+e+i}},s.prototype.closeTag=function(e){let t=\"\";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t=\"/\"):t=this.options.suppressEmptyNode?\"/\":`></${e}`,t},s.prototype.buildTextValNode=function(e,t,n,r){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName)return this.indentate(r)+`<![CDATA[${e}]]>`+this.newLine;if(!1!==this.options.commentPropName&&t===this.options.commentPropName)return this.indentate(r)+`\\x3c!--${e}--\\x3e`+this.newLine;if(\"?\"===t[0])return this.indentate(r)+\"<\"+t+n+\"?\"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),\"\"===i?this.indentate(r)+\"<\"+t+n+this.closeTag(t)+this.tagEndChar:this.indentate(r)+\"<\"+t+n+\">\"+i+\"</\"+t+this.tagEndChar}},s.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const n=this.options.entities[t];e=e.replace(n.regex,n.val)}return e},e.exports=s},2788:function(e){function t(e,s,a,l){let c=\"\",u=!1;for(let p=0;p<e.length;p++){const d=e[p],f=n(d);if(void 0===f)continue;let h=\"\";if(h=0===a.length?f:`${a}.${f}`,f===s.textNodeName){let e=d[f];i(h,s)||(e=s.tagValueProcessor(f,e),e=o(e,s)),u&&(c+=l),c+=e,u=!1;continue}if(f===s.cdataPropName){u&&(c+=l),c+=`<![CDATA[${d[f][0][s.textNodeName]}]]>`,u=!1;continue}if(f===s.commentPropName){c+=l+`\\x3c!--${d[f][0][s.textNodeName]}--\\x3e`,u=!0;continue}if(\"?\"===f[0]){const e=r(d[\":@\"],s),t=\"?xml\"===f?\"\":l;let n=d[f][0][s.textNodeName];n=0!==n.length?\" \"+n:\"\",c+=t+`<${f}${n}${e}?>`,u=!0;continue}let m=l;\"\"!==m&&(m+=s.indentBy);const g=l+`<${f}${r(d[\":@\"],s)}`,y=t(d[f],s,h,m);-1!==s.unpairedTags.indexOf(f)?s.suppressUnpairedNode?c+=g+\">\":c+=g+\"/>\":y&&0!==y.length||!s.suppressEmptyNode?y&&y.endsWith(\">\")?c+=g+`>${y}${l}</${f}>`:(c+=g+\">\",y&&\"\"!==l&&(y.includes(\"/>\")||y.includes(\"</\"))?c+=l+s.indentBy+y+l:c+=y,c+=`</${f}>`):c+=g+\"/>\",u=!0}return c}function n(e){const t=Object.keys(e);for(let n=0;n<t.length;n++){const r=t[n];if(e.hasOwnProperty(r)&&\":@\"!==r)return r}}function r(e,t){let n=\"\";if(e&&!t.ignoreAttributes)for(let r in e){if(!e.hasOwnProperty(r))continue;let i=t.attributeValueProcessor(r,e[r]);i=o(i,t),!0===i&&t.suppressBooleanAttributes?n+=` ${r.substr(t.attributeNamePrefix.length)}`:n+=` ${r.substr(t.attributeNamePrefix.length)}=\"${i}\"`}return n}function i(e,t){let n=(e=e.substr(0,e.length-t.textNodeName.length-1)).substr(e.lastIndexOf(\".\")+1);for(let r in t.stopNodes)if(t.stopNodes[r]===e||t.stopNodes[r]===\"*.\"+n)return!0;return!1}function o(e,t){if(e&&e.length>0&&t.processEntities)for(let n=0;n<t.entities.length;n++){const r=t.entities[n];e=e.replace(r.regex,r.val)}return e}e.exports=function(e,n){let r=\"\";return n.format&&n.indentBy.length>0&&(r=\"\\n\"),t(e,n,\"\",r)}},9400:function(e,t,n){const r=n(5334);function i(e,t){let n=\"\";for(;t<e.length&&\"'\"!==e[t]&&'\"'!==e[t];t++)n+=e[t];if(n=n.trim(),-1!==n.indexOf(\" \"))throw new Error(\"External entites are not supported\");const r=e[t++];let i=\"\";for(;t<e.length&&e[t]!==r;t++)i+=e[t];return[n,i,t]}function o(e,t){return\"!\"===e[t+1]&&\"-\"===e[t+2]&&\"-\"===e[t+3]}function s(e,t){return\"!\"===e[t+1]&&\"E\"===e[t+2]&&\"N\"===e[t+3]&&\"T\"===e[t+4]&&\"I\"===e[t+5]&&\"T\"===e[t+6]&&\"Y\"===e[t+7]}function a(e,t){return\"!\"===e[t+1]&&\"E\"===e[t+2]&&\"L\"===e[t+3]&&\"E\"===e[t+4]&&\"M\"===e[t+5]&&\"E\"===e[t+6]&&\"N\"===e[t+7]&&\"T\"===e[t+8]}function l(e,t){return\"!\"===e[t+1]&&\"A\"===e[t+2]&&\"T\"===e[t+3]&&\"T\"===e[t+4]&&\"L\"===e[t+5]&&\"I\"===e[t+6]&&\"S\"===e[t+7]&&\"T\"===e[t+8]}function c(e,t){return\"!\"===e[t+1]&&\"N\"===e[t+2]&&\"O\"===e[t+3]&&\"T\"===e[t+4]&&\"A\"===e[t+5]&&\"T\"===e[t+6]&&\"I\"===e[t+7]&&\"O\"===e[t+8]&&\"N\"===e[t+9]}function u(e){if(r.isName(e))return e;throw new Error(`Invalid entity name ${e}`)}e.exports=function(e,t){const n={};if(\"O\"!==e[t+3]||\"C\"!==e[t+4]||\"T\"!==e[t+5]||\"Y\"!==e[t+6]||\"P\"!==e[t+7]||\"E\"!==e[t+8])throw new Error(\"Invalid Tag instead of DOCTYPE\");{t+=9;let r=1,p=!1,d=!1,f=\"\";for(;t<e.length;t++)if(\"<\"!==e[t]||d)if(\">\"===e[t]){if(d?\"-\"===e[t-1]&&\"-\"===e[t-2]&&(d=!1,r--):r--,0===r)break}else\"[\"===e[t]?p=!0:f+=e[t];else{if(p&&s(e,t)){let r,o;t+=7,[r,o,t]=i(e,t+1),-1===o.indexOf(\"&\")&&(n[u(r)]={regx:RegExp(`&${r};`,\"g\"),val:o})}else if(p&&a(e,t))t+=8;else if(p&&l(e,t))t+=8;else if(p&&c(e,t))t+=9;else{if(!o)throw new Error(\"Invalid DOCTYPE\");d=!0}r++,f=\"\"}if(0!==r)throw new Error(\"Unclosed DOCTYPE\")}return{entities:n,i:t}}},460:function(e,t){const n={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,n){return e}};t.buildOptions=function(e){return Object.assign({},n,e)},t.defaultOptions=n},7680:function(e,t,n){\"use strict\";const r=n(5334),i=n(3832),o=n(9400),s=n(7983),a=n(3085);function l(e){const t=Object.keys(e);for(let n=0;n<t.length;n++){const r=t[n];this.lastEntities[r]={regex:new RegExp(\"&\"+r+\";\",\"g\"),val:e[r]}}}function c(e,t,n,r,i,o,s){if(void 0!==e&&(this.options.trimValues&&!r&&(e=e.trim()),e.length>0)){s||(e=this.replaceEntitiesValue(e));const r=this.options.tagValueProcessor(t,e,n,i,o);return null==r?e:typeof r!=typeof e||r!==e?r:this.options.trimValues||e.trim()===e?w(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function u(e){if(this.options.removeNSPrefix){const t=e.split(\":\"),n=\"/\"===e.charAt(0)?\"/\":\"\";if(\"xmlns\"===t[0])return\"\";2===t.length&&(e=n+t[1])}return e}const p=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function d(e,t,n){if(!0!==this.options.ignoreAttributes&&\"string\"==typeof e){const n=r.getAllMatches(e,p),i=n.length,o={};for(let e=0;e<i;e++){const r=this.resolveNameSpace(n[e][1]);if(this.ignoreAttributesFn(r,t))continue;let i=n[e][4],s=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(s=this.options.transformAttributeName(s)),\"__proto__\"===s&&(s=\"#__proto__\"),void 0!==i){this.options.trimValues&&(i=i.trim()),i=this.replaceEntitiesValue(i);const e=this.options.attributeValueProcessor(r,i,t);o[s]=null==e?i:typeof e!=typeof i||e!==i?e:w(i,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(o[s]=!0)}if(!Object.keys(o).length)return;if(this.options.attributesGroupName){const e={};return e[this.options.attributesGroupName]=o,e}return o}}const f=function(e){e=e.replace(/\\r\\n?/g,\"\\n\");const t=new i(\"!xml\");let n=t,r=\"\",s=\"\";for(let a=0;a<e.length;a++)if(\"<\"===e[a])if(\"/\"===e[a+1]){const t=b(e,\">\",a,\"Closing Tag is not closed.\");let i=e.substring(a+2,t).trim();if(this.options.removeNSPrefix){const e=i.indexOf(\":\");-1!==e&&(i=i.substr(e+1))}this.options.transformTagName&&(i=this.options.transformTagName(i)),n&&(r=this.saveTextToParentTag(r,n,s));const o=s.substring(s.lastIndexOf(\".\")+1);if(i&&-1!==this.options.unpairedTags.indexOf(i))throw new Error(`Unpaired tag can not be used as closing tag: </${i}>`);let l=0;o&&-1!==this.options.unpairedTags.indexOf(o)?(l=s.lastIndexOf(\".\",s.lastIndexOf(\".\")-1),this.tagsNodeStack.pop()):l=s.lastIndexOf(\".\"),s=s.substring(0,l),n=this.tagsNodeStack.pop(),r=\"\",a=t}else if(\"?\"===e[a+1]){let t=v(e,a,!1,\"?>\");if(!t)throw new Error(\"Pi Tag is not closed.\");if(r=this.saveTextToParentTag(r,n,s),this.options.ignoreDeclaration&&\"?xml\"===t.tagName||this.options.ignorePiTags);else{const e=new i(t.tagName);e.add(this.options.textNodeName,\"\"),t.tagName!==t.tagExp&&t.attrExpPresent&&(e[\":@\"]=this.buildAttributesMap(t.tagExp,s,t.tagName)),this.addChild(n,e,s)}a=t.closeIndex+1}else if(\"!--\"===e.substr(a+1,3)){const t=b(e,\"--\\x3e\",a+4,\"Comment is not closed.\");if(this.options.commentPropName){const i=e.substring(a+4,t-2);r=this.saveTextToParentTag(r,n,s),n.add(this.options.commentPropName,[{[this.options.textNodeName]:i}])}a=t}else if(\"!D\"===e.substr(a+1,2)){const t=o(e,a);this.docTypeEntities=t.entities,a=t.i}else if(\"![\"===e.substr(a+1,2)){const t=b(e,\"]]>\",a,\"CDATA is not closed.\")-2,i=e.substring(a+9,t);r=this.saveTextToParentTag(r,n,s);let o=this.parseTextData(i,n.tagname,s,!0,!1,!0,!0);null==o&&(o=\"\"),this.options.cdataPropName?n.add(this.options.cdataPropName,[{[this.options.textNodeName]:i}]):n.add(this.options.textNodeName,o),a=t+2}else{let o=v(e,a,this.options.removeNSPrefix),l=o.tagName;const c=o.rawTagName;let u=o.tagExp,p=o.attrExpPresent,d=o.closeIndex;this.options.transformTagName&&(l=this.options.transformTagName(l)),n&&r&&\"!xml\"!==n.tagname&&(r=this.saveTextToParentTag(r,n,s,!1));const f=n;if(f&&-1!==this.options.unpairedTags.indexOf(f.tagname)&&(n=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf(\".\"))),l!==t.tagname&&(s+=s?\".\"+l:l),this.isItStopNode(this.options.stopNodes,s,l)){let t=\"\";if(u.length>0&&u.lastIndexOf(\"/\")===u.length-1)\"/\"===l[l.length-1]?(l=l.substr(0,l.length-1),s=s.substr(0,s.length-1),u=l):u=u.substr(0,u.length-1),a=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(l))a=o.closeIndex;else{const n=this.readStopNodeData(e,c,d+1);if(!n)throw new Error(`Unexpected end of ${c}`);a=n.i,t=n.tagContent}const r=new i(l);l!==u&&p&&(r[\":@\"]=this.buildAttributesMap(u,s,l)),t&&(t=this.parseTextData(t,l,s,!0,p,!0,!0)),s=s.substr(0,s.lastIndexOf(\".\")),r.add(this.options.textNodeName,t),this.addChild(n,r,s)}else{if(u.length>0&&u.lastIndexOf(\"/\")===u.length-1){\"/\"===l[l.length-1]?(l=l.substr(0,l.length-1),s=s.substr(0,s.length-1),u=l):u=u.substr(0,u.length-1),this.options.transformTagName&&(l=this.options.transformTagName(l));const e=new i(l);l!==u&&p&&(e[\":@\"]=this.buildAttributesMap(u,s,l)),this.addChild(n,e,s),s=s.substr(0,s.lastIndexOf(\".\"))}else{const e=new i(l);this.tagsNodeStack.push(n),l!==u&&p&&(e[\":@\"]=this.buildAttributesMap(u,s,l)),this.addChild(n,e,s),n=e}r=\"\",a=d}}else r+=e[a];return t.child};function h(e,t,n){const r=this.options.updateTag(t.tagname,n,t[\":@\"]);!1===r||(\"string\"==typeof r?(t.tagname=r,e.addChild(t)):e.addChild(t))}const m=function(e){if(this.options.processEntities){for(let t in this.docTypeEntities){const n=this.docTypeEntities[t];e=e.replace(n.regx,n.val)}for(let t in this.lastEntities){const n=this.lastEntities[t];e=e.replace(n.regex,n.val)}if(this.options.htmlEntities)for(let t in this.htmlEntities){const n=this.htmlEntities[t];e=e.replace(n.regex,n.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function g(e,t,n,r){return e&&(void 0===r&&(r=0===t.child.length),void 0!==(e=this.parseTextData(e,t.tagname,n,!1,!!t[\":@\"]&&0!==Object.keys(t[\":@\"]).length,r))&&\"\"!==e&&t.add(this.options.textNodeName,e),e=\"\"),e}function y(e,t,n){const r=\"*.\"+n;for(const n in e){const i=e[n];if(r===i||t===i)return!0}return!1}function b(e,t,n,r){const i=e.indexOf(t,n);if(-1===i)throw new Error(r);return i+t.length-1}function v(e,t,n,r=\">\"){const i=function(e,t,n=\">\"){let r,i=\"\";for(let o=t;o<e.length;o++){let t=e[o];if(r)t===r&&(r=\"\");else if('\"'===t||\"'\"===t)r=t;else if(t===n[0]){if(!n[1])return{data:i,index:o};if(e[o+1]===n[1])return{data:i,index:o}}else\"\\t\"===t&&(t=\" \");i+=t}}(e,t+1,r);if(!i)return;let o=i.data;const s=i.index,a=o.search(/\\s/);let l=o,c=!0;-1!==a&&(l=o.substring(0,a),o=o.substring(a+1).trimStart());const u=l;if(n){const e=l.indexOf(\":\");-1!==e&&(l=l.substr(e+1),c=l!==i.data.substr(e+1))}return{tagName:l,tagExp:o,closeIndex:s,attrExpPresent:c,rawTagName:u}}function x(e,t,n){const r=n;let i=1;for(;n<e.length;n++)if(\"<\"===e[n])if(\"/\"===e[n+1]){const o=b(e,\">\",n,`${t} is not closed`);if(e.substring(n+2,o).trim()===t&&(i--,0===i))return{tagContent:e.substring(r,n),i:o};n=o}else if(\"?\"===e[n+1])n=b(e,\"?>\",n+1,\"StopNode is not closed.\");else if(\"!--\"===e.substr(n+1,3))n=b(e,\"--\\x3e\",n+3,\"StopNode is not closed.\");else if(\"![\"===e.substr(n+1,2))n=b(e,\"]]>\",n,\"StopNode is not closed.\")-2;else{const r=v(e,n,\">\");r&&((r&&r.tagName)===t&&\"/\"!==r.tagExp[r.tagExp.length-1]&&i++,n=r.closeIndex)}}function w(e,t,n){if(t&&\"string\"==typeof e){const t=e.trim();return\"true\"===t||\"false\"!==t&&s(e,n)}return r.isExist(e)?e:\"\"}e.exports=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:\"'\"},gt:{regex:/&(gt|#62|#x3E);/g,val:\">\"},lt:{regex:/&(lt|#60|#x3C);/g,val:\"<\"},quot:{regex:/&(quot|#34|#x22);/g,val:'\"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:\"&\"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:\" \"},cent:{regex:/&(cent|#162);/g,val:\"¢\"},pound:{regex:/&(pound|#163);/g,val:\"£\"},yen:{regex:/&(yen|#165);/g,val:\"¥\"},euro:{regex:/&(euro|#8364);/g,val:\"€\"},copyright:{regex:/&(copy|#169);/g,val:\"©\"},reg:{regex:/&(reg|#174);/g,val:\"®\"},inr:{regex:/&(inr|#8377);/g,val:\"₹\"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,t)=>String.fromCharCode(Number.parseInt(t,16))}},this.addExternalEntities=l,this.parseXml=f,this.parseTextData=c,this.resolveNameSpace=u,this.buildAttributesMap=d,this.isItStopNode=y,this.replaceEntitiesValue=m,this.readStopNodeData=x,this.saveTextToParentTag=g,this.addChild=h,this.ignoreAttributesFn=a(this.options.ignoreAttributes)}}},2923:function(e,t,n){const{buildOptions:r}=n(460),i=n(7680),{prettify:o}=n(5629),s=n(3918);e.exports=class{constructor(e){this.externalEntities={},this.options=r(e)}parse(e,t){if(\"string\"==typeof e);else{if(!e.toString)throw new Error(\"XML data is accepted in String or Bytes[] form.\");e=e.toString()}if(t){!0===t&&(t={});const n=s.validate(e,t);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new i(this.options);n.addExternalEntities(this.externalEntities);const r=n.parseXml(e);return this.options.preserveOrder||void 0===r?r:o(r,this.options)}addEntity(e,t){if(-1!==t.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==e.indexOf(\"&\")||-1!==e.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");if(\"&\"===t)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[e]=t}}},5629:function(e,t){\"use strict\";function n(e,t,s){let a;const l={};for(let c=0;c<e.length;c++){const u=e[c],p=r(u);let d=\"\";if(d=void 0===s?p:s+\".\"+p,p===t.textNodeName)void 0===a?a=u[p]:a+=\"\"+u[p];else{if(void 0===p)continue;if(u[p]){let e=n(u[p],t,d);const r=o(e,t);u[\":@\"]?i(e,u[\":@\"],d,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]=\"\":e=\"\"):e=e[t.textNodeName],void 0!==l[p]&&l.hasOwnProperty(p)?(Array.isArray(l[p])||(l[p]=[l[p]]),l[p].push(e)):t.isArray(p,d,r)?l[p]=[e]:l[p]=e}}}return\"string\"==typeof a?a.length>0&&(l[t.textNodeName]=a):void 0!==a&&(l[t.textNodeName]=a),l}function r(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const n=t[e];if(\":@\"!==n)return n}}function i(e,t,n,r){if(t){const i=Object.keys(t),o=i.length;for(let s=0;s<o;s++){const o=i[s];r.isArray(o,n+\".\"+o,!0,!0)?e[o]=[t[o]]:e[o]=t[o]}}}function o(e,t){const{textNodeName:n}=t,r=Object.keys(e).length;return 0===r||!(1!==r||!e[n]&&\"boolean\"!=typeof e[n]&&0!==e[n])}t.prettify=function(e,t){return n(e,t)}},3832:function(e){\"use strict\";e.exports=class{constructor(e){this.tagname=e,this.child=[],this[\":@\"]={}}add(e,t){\"__proto__\"===e&&(e=\"#__proto__\"),this.child.push({[e]:t})}addChild(e){\"__proto__\"===e.tagname&&(e.tagname=\"#__proto__\"),e[\":@\"]&&Object.keys(e[\":@\"]).length>0?this.child.push({[e.tagname]:e.child,\":@\":e[\":@\"]}):this.child.push({[e.tagname]:e.child})}}},7593:function(e){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString;e.exports=function(e,r,i){if(\"[object Function]\"!==n.call(r))throw new TypeError(\"iterator must be a function\");var o=e.length;if(o===+o)for(var s=0;s<o;s++)r.call(i,e[s],s,e);else for(var a in e)t.call(e,a)&&r.call(i,e[a],a,e)}},4146:function(e,t,n){\"use strict\";var r=n(3404),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},a={};function l(e){return r.isMemo(e)?s:a[e.$$typeof]||i}a[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},a[r.Memo]=s;var c=Object.defineProperty,u=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!=typeof n){if(h){var i=f(n);i&&i!==h&&e(t,i,r)}var s=u(n);p&&(s=s.concat(p(n)));for(var a=l(t),m=l(n),g=0;g<s.length;++g){var y=s[g];if(!(o[y]||r&&r[y]||m&&m[y]||a&&a[y])){var b=d(n,y);try{c(t,y,b)}catch(e){}}}}return t}},3072:function(e,t){\"use strict\";var n=\"function\"==typeof Symbol&&Symbol.for,r=n?Symbol.for(\"react.element\"):60103,i=n?Symbol.for(\"react.portal\"):60106,o=n?Symbol.for(\"react.fragment\"):60107,s=n?Symbol.for(\"react.strict_mode\"):60108,a=n?Symbol.for(\"react.profiler\"):60114,l=n?Symbol.for(\"react.provider\"):60109,c=n?Symbol.for(\"react.context\"):60110,u=n?Symbol.for(\"react.async_mode\"):60111,p=n?Symbol.for(\"react.concurrent_mode\"):60111,d=n?Symbol.for(\"react.forward_ref\"):60112,f=n?Symbol.for(\"react.suspense\"):60113,h=n?Symbol.for(\"react.suspense_list\"):60120,m=n?Symbol.for(\"react.memo\"):60115,g=n?Symbol.for(\"react.lazy\"):60116,y=n?Symbol.for(\"react.block\"):60121,b=n?Symbol.for(\"react.fundamental\"):60117,v=n?Symbol.for(\"react.responder\"):60118,x=n?Symbol.for(\"react.scope\"):60119;function w(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case p:case o:case a:case s:case f:return e;default:switch(e=e&&e.$$typeof){case c:case d:case g:case m:case l:return e;default:return t}}case i:return t}}}function k(e){return w(e)===p}t.AsyncMode=u,t.ConcurrentMode=p,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=d,t.Fragment=o,t.Lazy=g,t.Memo=m,t.Portal=i,t.Profiler=a,t.StrictMode=s,t.Suspense=f,t.isAsyncMode=function(e){return k(e)||w(e)===u},t.isConcurrentMode=k,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return w(e)===d},t.isFragment=function(e){return w(e)===o},t.isLazy=function(e){return w(e)===g},t.isMemo=function(e){return w(e)===m},t.isPortal=function(e){return w(e)===i},t.isProfiler=function(e){return w(e)===a},t.isStrictMode=function(e){return w(e)===s},t.isSuspense=function(e){return w(e)===f},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===o||e===p||e===a||e===s||e===f||e===h||\"object\"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===d||e.$$typeof===b||e.$$typeof===v||e.$$typeof===x||e.$$typeof===y)},t.typeOf=w},3404:function(e,t,n){\"use strict\";e.exports=n(3072)},7210:function(e,t,n){\"use strict\";var r=n(9243),i=n(4781);function o(e,t){return function(){throw new Error(\"Function yaml.\"+e+\" is removed in js-yaml 4. Use yaml.\"+t+\" instead, which is now safe by default.\")}}e.exports.Type=n(5388),e.exports.Schema=n(2119),e.exports.FAILSAFE_SCHEMA=n(7759),e.exports.JSON_SCHEMA=n(6184),e.exports.CORE_SCHEMA=n(1769),e.exports.DEFAULT_SCHEMA=n(5489),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.dump=i.dump,e.exports.YAMLException=n(1231),e.exports.types={binary:n(9342),float:n(1461),map:n(2369),null:n(9198),pairs:n(6942),set:n(6663),timestamp:n(127),bool:n(6199),int:n(4466),merge:n(1851),omap:n(6946),seq:n(8636),str:n(7212)},e.exports.safeLoad=o(\"safeLoad\",\"load\"),e.exports.safeLoadAll=o(\"safeLoadAll\",\"loadAll\"),e.exports.safeDump=o(\"safeDump\",\"dump\")},8433:function(e){\"use strict\";function t(e){return null==e}e.exports.isNothing=t,e.exports.isObject=function(e){return\"object\"==typeof e&&null!==e},e.exports.toArray=function(e){return Array.isArray(e)?e:t(e)?[]:[e]},e.exports.repeat=function(e,t){var n,r=\"\";for(n=0;n<t;n+=1)r+=e;return r},e.exports.isNegativeZero=function(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e},e.exports.extend=function(e,t){var n,r,i,o;if(t)for(n=0,r=(o=Object.keys(t)).length;n<r;n+=1)e[i=o[n]]=t[i];return e}},4781:function(e,t,n){\"use strict\";var r=n(8433),i=n(1231),o=n(5489),s=Object.prototype.toString,a=Object.prototype.hasOwnProperty,l=65279,c=9,u=10,p=13,d=32,f=33,h=34,m=35,g=37,y=38,b=39,v=42,x=44,w=45,k=58,S=61,E=62,O=63,_=64,A=91,C=93,j=96,P=123,T=124,I=125,R={0:\"\\\\0\",7:\"\\\\a\",8:\"\\\\b\",9:\"\\\\t\",10:\"\\\\n\",11:\"\\\\v\",12:\"\\\\f\",13:\"\\\\r\",27:\"\\\\e\",34:'\\\\\"',92:\"\\\\\\\\\",133:\"\\\\N\",160:\"\\\\_\",8232:\"\\\\L\",8233:\"\\\\P\"},N=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"],$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\\.[0-9_]*)?$/;function L(e){var t,n,o;if(t=e.toString(16).toUpperCase(),e<=255)n=\"x\",o=2;else if(e<=65535)n=\"u\",o=4;else{if(!(e<=4294967295))throw new i(\"code point within a string may not be greater than 0xFFFFFFFF\");n=\"U\",o=8}return\"\\\\\"+n+r.repeat(\"0\",o-t.length)+t}var D=2;function M(e){this.schema=e.schema||o,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=r.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=function(e,t){var n,r,i,o,s,l,c;if(null===t)return{};for(n={},i=0,o=(r=Object.keys(t)).length;i<o;i+=1)s=r[i],l=String(t[s]),\"!!\"===s.slice(0,2)&&(s=\"tag:yaml.org,2002:\"+s.slice(2)),(c=e.compiledTypeMap.fallback[s])&&a.call(c.styleAliases,l)&&(l=c.styleAliases[l]),n[s]=l;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='\"'===e.quotingType?D:1,this.forceQuotes=e.forceQuotes||!1,this.replacer=\"function\"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function F(e,t){for(var n,i=r.repeat(\" \",t),o=0,s=-1,a=\"\",l=e.length;o<l;)-1===(s=e.indexOf(\"\\n\",o))?(n=e.slice(o),o=l):(n=e.slice(o,s+1),o=s+1),n.length&&\"\\n\"!==n&&(a+=i),a+=n;return a}function z(e,t){return\"\\n\"+r.repeat(\" \",e.indent*t)}function B(e){return e===d||e===c}function U(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&e!==l||65536<=e&&e<=1114111}function q(e){return U(e)&&e!==l&&e!==p&&e!==u}function V(e,t,n){var r=q(e),i=r&&!B(e);return(n?r:r&&e!==x&&e!==A&&e!==C&&e!==P&&e!==I)&&e!==m&&!(t===k&&!i)||q(t)&&!B(t)&&e===m||t===k&&i}function W(e,t){var n,r=e.charCodeAt(t);return r>=55296&&r<=56319&&t+1<e.length&&(n=e.charCodeAt(t+1))>=56320&&n<=57343?1024*(r-55296)+n-56320+65536:r}function H(e){return/^\\n* /.test(e)}var Y=1,G=2,Q=3,X=4,K=5;function Z(e,t,n,r,o){e.dump=function(){if(0===t.length)return e.quotingType===D?'\"\"':\"''\";if(!e.noCompatMode&&(-1!==N.indexOf(t)||$.test(t)))return e.quotingType===D?'\"'+t+'\"':\"'\"+t+\"'\";var s=e.indent*Math.max(1,n),a=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-s),c=r||e.flowLevel>-1&&n>=e.flowLevel;switch(function(e,t,n,r,i,o,s,a){var c,p,d=0,R=null,N=!1,$=!1,L=-1!==r,M=-1,F=U(p=W(e,0))&&p!==l&&!B(p)&&p!==w&&p!==O&&p!==k&&p!==x&&p!==A&&p!==C&&p!==P&&p!==I&&p!==m&&p!==y&&p!==v&&p!==f&&p!==T&&p!==S&&p!==E&&p!==b&&p!==h&&p!==g&&p!==_&&p!==j&&function(e){return!B(e)&&e!==k}(W(e,e.length-1));if(t||s)for(c=0;c<e.length;d>=65536?c+=2:c++){if(!U(d=W(e,c)))return K;F=F&&V(d,R,a),R=d}else{for(c=0;c<e.length;d>=65536?c+=2:c++){if((d=W(e,c))===u)N=!0,L&&($=$||c-M-1>r&&\" \"!==e[M+1],M=c);else if(!U(d))return K;F=F&&V(d,R,a),R=d}$=$||L&&c-M-1>r&&\" \"!==e[M+1]}return N||$?n>9&&H(e)?K:s?o===D?K:G:$?X:Q:!F||s||i(e)?o===D?K:G:Y}(t,c,e.indent,a,(function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n<r;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1}(e,t)}),e.quotingType,e.forceQuotes&&!r,o)){case Y:return t;case G:return\"'\"+t.replace(/'/g,\"''\")+\"'\";case Q:return\"|\"+J(t,e.indent)+ee(F(t,s));case X:return\">\"+J(t,e.indent)+ee(F(function(e,t){for(var n,r,i,o=/(\\n+)([^\\n]*)/g,s=(i=-1!==(i=e.indexOf(\"\\n\"))?i:e.length,o.lastIndex=i,te(e.slice(0,i),t)),a=\"\\n\"===e[0]||\" \"===e[0];r=o.exec(e);){var l=r[1],c=r[2];n=\" \"===c[0],s+=l+(a||n||\"\"===c?\"\":\"\\n\")+te(c,t),a=n}return s}(t,a),s));case K:return'\"'+function(e){for(var t,n=\"\",r=0,i=0;i<e.length;r>=65536?i+=2:i++)r=W(e,i),!(t=R[r])&&U(r)?(n+=e[i],r>=65536&&(n+=e[i+1])):n+=t||L(r);return n}(t)+'\"';default:throw new i(\"impossible error: invalid scalar style\")}}()}function J(e,t){var n=H(e)?String(t):\"\",r=\"\\n\"===e[e.length-1];return n+(!r||\"\\n\"!==e[e.length-2]&&\"\\n\"!==e?r?\"\":\"-\":\"+\")+\"\\n\"}function ee(e){return\"\\n\"===e[e.length-1]?e.slice(0,-1):e}function te(e,t){if(\"\"===e||\" \"===e[0])return e;for(var n,r,i=/ [^ ]/g,o=0,s=0,a=0,l=\"\";n=i.exec(e);)(a=n.index)-o>t&&(r=s>o?s:a,l+=\"\\n\"+e.slice(o,r),o=r+1),s=a;return l+=\"\\n\",e.length-o>t&&s>o?l+=e.slice(o,s)+\"\\n\"+e.slice(s+1):l+=e.slice(o),l.slice(1)}function ne(e,t,n,r){var i,o,s,a=\"\",l=e.tag;for(i=0,o=n.length;i<o;i+=1)s=n[i],e.replacer&&(s=e.replacer.call(n,String(i),s)),(ie(e,t+1,s,!0,!0,!1,!0)||void 0===s&&ie(e,t+1,null,!0,!0,!1,!0))&&(r&&\"\"===a||(a+=z(e,t)),e.dump&&u===e.dump.charCodeAt(0)?a+=\"-\":a+=\"- \",a+=e.dump);e.tag=l,e.dump=a||\"[]\"}function re(e,t,n){var r,o,l,c,u,p;for(l=0,c=(o=n?e.explicitTypes:e.implicitTypes).length;l<c;l+=1)if(((u=o[l]).instanceOf||u.predicate)&&(!u.instanceOf||\"object\"==typeof t&&t instanceof u.instanceOf)&&(!u.predicate||u.predicate(t))){if(n?u.multi&&u.representName?e.tag=u.representName(t):e.tag=u.tag:e.tag=\"?\",u.represent){if(p=e.styleMap[u.tag]||u.defaultStyle,\"[object Function]\"===s.call(u.represent))r=u.represent(t,p);else{if(!a.call(u.represent,p))throw new i(\"!<\"+u.tag+'> tag resolver accepts not \"'+p+'\" style');r=u.represent[p](t,p)}e.dump=r}return!0}return!1}function ie(e,t,n,r,o,a,l){e.tag=null,e.dump=n,re(e,n,!1)||re(e,n,!0);var c,p=s.call(e.dump),d=r;r&&(r=e.flowLevel<0||e.flowLevel>t);var f,h,m=\"[object Object]\"===p||\"[object Array]\"===p;if(m&&(h=-1!==(f=e.duplicates.indexOf(n))),(null!==e.tag&&\"?\"!==e.tag||h||2!==e.indent&&t>0)&&(o=!1),h&&e.usedDuplicates[f])e.dump=\"*ref_\"+f;else{if(m&&h&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),\"[object Object]\"===p)r&&0!==Object.keys(e.dump).length?(function(e,t,n,r){var o,s,a,l,c,p,d=\"\",f=e.tag,h=Object.keys(n);if(!0===e.sortKeys)h.sort();else if(\"function\"==typeof e.sortKeys)h.sort(e.sortKeys);else if(e.sortKeys)throw new i(\"sortKeys must be a boolean or a function\");for(o=0,s=h.length;o<s;o+=1)p=\"\",r&&\"\"===d||(p+=z(e,t)),l=n[a=h[o]],e.replacer&&(l=e.replacer.call(n,a,l)),ie(e,t+1,a,!0,!0,!0)&&((c=null!==e.tag&&\"?\"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&u===e.dump.charCodeAt(0)?p+=\"?\":p+=\"? \"),p+=e.dump,c&&(p+=z(e,t)),ie(e,t+1,l,!0,c)&&(e.dump&&u===e.dump.charCodeAt(0)?p+=\":\":p+=\": \",d+=p+=e.dump));e.tag=f,e.dump=d||\"{}\"}(e,t,e.dump,o),h&&(e.dump=\"&ref_\"+f+e.dump)):(function(e,t,n){var r,i,o,s,a,l=\"\",c=e.tag,u=Object.keys(n);for(r=0,i=u.length;r<i;r+=1)a=\"\",\"\"!==l&&(a+=\", \"),e.condenseFlow&&(a+='\"'),s=n[o=u[r]],e.replacer&&(s=e.replacer.call(n,o,s)),ie(e,t,o,!1,!1)&&(e.dump.length>1024&&(a+=\"? \"),a+=e.dump+(e.condenseFlow?'\"':\"\")+\":\"+(e.condenseFlow?\"\":\" \"),ie(e,t,s,!1,!1)&&(l+=a+=e.dump));e.tag=c,e.dump=\"{\"+l+\"}\"}(e,t,e.dump),h&&(e.dump=\"&ref_\"+f+\" \"+e.dump));else if(\"[object Array]\"===p)r&&0!==e.dump.length?(e.noArrayIndent&&!l&&t>0?ne(e,t-1,e.dump,o):ne(e,t,e.dump,o),h&&(e.dump=\"&ref_\"+f+e.dump)):(function(e,t,n){var r,i,o,s=\"\",a=e.tag;for(r=0,i=n.length;r<i;r+=1)o=n[r],e.replacer&&(o=e.replacer.call(n,String(r),o)),(ie(e,t,o,!1,!1)||void 0===o&&ie(e,t,null,!1,!1))&&(\"\"!==s&&(s+=\",\"+(e.condenseFlow?\"\":\" \")),s+=e.dump);e.tag=a,e.dump=\"[\"+s+\"]\"}(e,t,e.dump),h&&(e.dump=\"&ref_\"+f+\" \"+e.dump));else{if(\"[object String]\"!==p){if(\"[object Undefined]\"===p)return!1;if(e.skipInvalid)return!1;throw new i(\"unacceptable kind of an object to dump \"+p)}\"?\"!==e.tag&&Z(e,e.dump,t,a,d)}null!==e.tag&&\"?\"!==e.tag&&(c=encodeURI(\"!\"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,\"%21\"),c=\"!\"===e.tag[0]?\"!\"+c:\"tag:yaml.org,2002:\"===c.slice(0,18)?\"!!\"+c.slice(18):\"!<\"+c+\">\",e.dump=c+\" \"+e.dump)}return!0}function oe(e,t){var n,r,i=[],o=[];for(se(e,i,o),n=0,r=o.length;n<r;n+=1)t.duplicates.push(i[o[n]]);t.usedDuplicates=new Array(r)}function se(e,t,n){var r,i,o;if(null!==e&&\"object\"==typeof e)if(-1!==(i=t.indexOf(e)))-1===n.indexOf(i)&&n.push(i);else if(t.push(e),Array.isArray(e))for(i=0,o=e.length;i<o;i+=1)se(e[i],t,n);else for(i=0,o=(r=Object.keys(e)).length;i<o;i+=1)se(e[r[i]],t,n)}e.exports.dump=function(e,t){var n=new M(t=t||{});n.noRefs||oe(e,n);var r=e;return n.replacer&&(r=n.replacer.call({\"\":r},\"\",r)),ie(n,0,r,!0,!0)?n.dump+\"\\n\":\"\"}},1231:function(e){\"use strict\";function t(e,t){var n=\"\",r=e.reason||\"(unknown reason)\";return e.mark?(e.mark.name&&(n+='in \"'+e.mark.name+'\" '),n+=\"(\"+(e.mark.line+1)+\":\"+(e.mark.column+1)+\")\",!t&&e.mark.snippet&&(n+=\"\\n\\n\"+e.mark.snippet),r+\" \"+n):r}function n(e,n){Error.call(this),this.name=\"YAMLException\",this.reason=e,this.mark=n,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n.prototype.toString=function(e){return this.name+\": \"+t(this,e)},e.exports=n},9243:function(e,t,n){\"use strict\";var r=n(8433),i=n(1231),o=n(8083),s=n(5489),a=Object.prototype.hasOwnProperty,l=1,c=2,u=3,p=4,d=1,f=2,h=3,m=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,g=/[\\x85\\u2028\\u2029]/,y=/[,\\[\\]\\{\\}]/,b=/^(?:!|!!|![a-z\\-]+!)$/i,v=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function x(e){return Object.prototype.toString.call(e)}function w(e){return 10===e||13===e}function k(e){return 9===e||32===e}function S(e){return 9===e||32===e||10===e||13===e}function E(e){return 44===e||91===e||93===e||123===e||125===e}function O(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function _(e){return 48===e?\"\\0\":97===e?\"\u0007\":98===e?\"\\b\":116===e||9===e?\"\\t\":110===e?\"\\n\":118===e?\"\\v\":102===e?\"\\f\":114===e?\"\\r\":101===e?\"\u001b\":32===e?\" \":34===e?'\"':47===e?\"/\":92===e?\"\\\\\":78===e?\"\":95===e?\" \":76===e?\"\\u2028\":80===e?\"\\u2029\":\"\"}function A(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var C=new Array(256),j=new Array(256),P=0;P<256;P++)C[P]=_(P)?1:0,j[P]=_(P);function T(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function I(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=o(n),new i(t,n)}function R(e,t){throw I(e,t)}function N(e,t){e.onWarning&&e.onWarning.call(null,I(e,t))}var $={YAML:function(e,t,n){var r,i,o;null!==e.version&&R(e,\"duplication of %YAML directive\"),1!==n.length&&R(e,\"YAML directive accepts exactly one argument\"),null===(r=/^([0-9]+)\\.([0-9]+)$/.exec(n[0]))&&R(e,\"ill-formed argument of the YAML directive\"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&R(e,\"unacceptable YAML version of the document\"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&N(e,\"unsupported YAML version of the document\")},TAG:function(e,t,n){var r,i;2!==n.length&&R(e,\"TAG directive accepts exactly two arguments\"),r=n[0],i=n[1],b.test(r)||R(e,\"ill-formed tag handle (first argument) of the TAG directive\"),a.call(e.tagMap,r)&&R(e,'there is a previously declared suffix for \"'+r+'\" tag handle'),v.test(i)||R(e,\"ill-formed tag prefix (second argument) of the TAG directive\");try{i=decodeURIComponent(i)}catch(t){R(e,\"tag prefix is malformed: \"+i)}e.tagMap[r]=i}};function L(e,t,n,r){var i,o,s,a;if(t<n){if(a=e.input.slice(t,n),r)for(i=0,o=a.length;i<o;i+=1)9===(s=a.charCodeAt(i))||32<=s&&s<=1114111||R(e,\"expected valid JSON character\");else m.test(a)&&R(e,\"the stream contains non-printable characters\");e.result+=a}}function D(e,t,n,i){var o,s,l,c;for(r.isObject(n)||R(e,\"cannot merge mappings; the provided source object is unacceptable\"),l=0,c=(o=Object.keys(n)).length;l<c;l+=1)s=o[l],a.call(t,s)||(t[s]=n[s],i[s]=!0)}function M(e,t,n,r,i,o,s,l,c){var u,p;if(Array.isArray(i))for(u=0,p=(i=Array.prototype.slice.call(i)).length;u<p;u+=1)Array.isArray(i[u])&&R(e,\"nested arrays are not supported inside keys\"),\"object\"==typeof i&&\"[object Object]\"===x(i[u])&&(i[u]=\"[object Object]\");if(\"object\"==typeof i&&\"[object Object]\"===x(i)&&(i=\"[object Object]\"),i=String(i),null===t&&(t={}),\"tag:yaml.org,2002:merge\"===r)if(Array.isArray(o))for(u=0,p=o.length;u<p;u+=1)D(e,t,o[u],n);else D(e,t,o,n);else e.json||a.call(n,i)||!a.call(t,i)||(e.line=s||e.line,e.lineStart=l||e.lineStart,e.position=c||e.position,R(e,\"duplicated mapping key\")),\"__proto__\"===i?Object.defineProperty(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):t[i]=o,delete n[i];return t}function F(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):R(e,\"a line break is expected\"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function z(e,t,n){for(var r=0,i=e.input.charCodeAt(e.position);0!==i;){for(;k(i);)9===i&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(t&&35===i)do{i=e.input.charCodeAt(++e.position)}while(10!==i&&13!==i&&0!==i);if(!w(i))break;for(F(e),i=e.input.charCodeAt(e.position),r++,e.lineIndent=0;32===i;)e.lineIndent++,i=e.input.charCodeAt(++e.position)}return-1!==n&&0!==r&&e.lineIndent<n&&N(e,\"deficient indentation\"),r}function B(e){var t,n=e.position;return!(45!==(t=e.input.charCodeAt(n))&&46!==t||t!==e.input.charCodeAt(n+1)||t!==e.input.charCodeAt(n+2)||(n+=3,0!==(t=e.input.charCodeAt(n))&&!S(t)))}function U(e,t){1===t?e.result+=\" \":t>1&&(e.result+=r.repeat(\"\\n\",t-1))}function q(e,t){var n,r,i=e.tag,o=e.anchor,s=[],a=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),r=e.input.charCodeAt(e.position);0!==r&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,R(e,\"tab characters must not be used in indentation\")),45===r)&&S(e.input.charCodeAt(e.position+1));)if(a=!0,e.position++,z(e,!0,-1)&&e.lineIndent<=t)s.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,H(e,t,u,!1,!0),s.push(e.result),z(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)R(e,\"bad indentation of a sequence entry\");else if(e.lineIndent<t)break;return!!a&&(e.tag=i,e.anchor=o,e.kind=\"sequence\",e.result=s,!0)}function V(e){var t,n,r,i,o=!1,s=!1;if(33!==(i=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&R(e,\"duplication of a tag property\"),60===(i=e.input.charCodeAt(++e.position))?(o=!0,i=e.input.charCodeAt(++e.position)):33===i?(s=!0,n=\"!!\",i=e.input.charCodeAt(++e.position)):n=\"!\",t=e.position,o){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&62!==i);e.position<e.length?(r=e.input.slice(t,e.position),i=e.input.charCodeAt(++e.position)):R(e,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==i&&!S(i);)33===i&&(s?R(e,\"tag suffix cannot contain exclamation marks\"):(n=e.input.slice(t-1,e.position+1),b.test(n)||R(e,\"named tag handle cannot contain such characters\"),s=!0,t=e.position+1)),i=e.input.charCodeAt(++e.position);r=e.input.slice(t,e.position),y.test(r)&&R(e,\"tag suffix cannot contain flow indicator characters\")}r&&!v.test(r)&&R(e,\"tag name cannot contain such characters: \"+r);try{r=decodeURIComponent(r)}catch(t){R(e,\"tag name is malformed: \"+r)}return o?e.tag=r:a.call(e.tagMap,n)?e.tag=e.tagMap[n]+r:\"!\"===n?e.tag=\"!\"+r:\"!!\"===n?e.tag=\"tag:yaml.org,2002:\"+r:R(e,'undeclared tag handle \"'+n+'\"'),!0}function W(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&R(e,\"duplication of an anchor property\"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!S(n)&&!E(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&R(e,\"name of an anchor node must contain at least one character\"),e.anchor=e.input.slice(t,e.position),!0}function H(e,t,n,i,o){var s,m,g,y,b,v,x,_,P,T=1,I=!1,N=!1;if(null!==e.listener&&e.listener(\"open\",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,s=m=g=p===n||u===n,i&&z(e,!0,-1)&&(I=!0,e.lineIndent>t?T=1:e.lineIndent===t?T=0:e.lineIndent<t&&(T=-1)),1===T)for(;V(e)||W(e);)z(e,!0,-1)?(I=!0,g=s,e.lineIndent>t?T=1:e.lineIndent===t?T=0:e.lineIndent<t&&(T=-1)):g=!1;if(g&&(g=I||o),1!==T&&p!==n||(_=l===n||c===n?t:t+1,P=e.position-e.lineStart,1===T?g&&(q(e,P)||function(e,t,n){var r,i,o,s,a,l,u,d=e.tag,f=e.anchor,h={},m=Object.create(null),g=null,y=null,b=null,v=!1,x=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=h),u=e.input.charCodeAt(e.position);0!==u;){if(v||-1===e.firstTabInLine||(e.position=e.firstTabInLine,R(e,\"tab characters must not be used in indentation\")),r=e.input.charCodeAt(e.position+1),o=e.line,63!==u&&58!==u||!S(r)){if(s=e.line,a=e.lineStart,l=e.position,!H(e,n,c,!1,!0))break;if(e.line===o){for(u=e.input.charCodeAt(e.position);k(u);)u=e.input.charCodeAt(++e.position);if(58===u)S(u=e.input.charCodeAt(++e.position))||R(e,\"a whitespace character is expected after the key-value separator within a block mapping\"),v&&(M(e,h,m,g,y,null,s,a,l),g=y=b=null),x=!0,v=!1,i=!1,g=e.tag,y=e.result;else{if(!x)return e.tag=d,e.anchor=f,!0;R(e,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!x)return e.tag=d,e.anchor=f,!0;R(e,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===u?(v&&(M(e,h,m,g,y,null,s,a,l),g=y=b=null),x=!0,v=!0,i=!0):v?(v=!1,i=!0):R(e,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),e.position+=1,u=r;if((e.line===o||e.lineIndent>t)&&(v&&(s=e.line,a=e.lineStart,l=e.position),H(e,t,p,!0,i)&&(v?y=e.result:b=e.result),v||(M(e,h,m,g,y,b,s,a,l),g=y=b=null),z(e,!0,-1),u=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&0!==u)R(e,\"bad indentation of a mapping entry\");else if(e.lineIndent<t)break}return v&&M(e,h,m,g,y,null,s,a,l),x&&(e.tag=d,e.anchor=f,e.kind=\"mapping\",e.result=h),x}(e,P,_))||function(e,t){var n,r,i,o,s,a,c,u,p,d,f,h,m=!0,g=e.tag,y=e.anchor,b=Object.create(null);if(91===(h=e.input.charCodeAt(e.position)))s=93,u=!1,o=[];else{if(123!==h)return!1;s=125,u=!0,o={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),h=e.input.charCodeAt(++e.position);0!==h;){if(z(e,!0,t),(h=e.input.charCodeAt(e.position))===s)return e.position++,e.tag=g,e.anchor=y,e.kind=u?\"mapping\":\"sequence\",e.result=o,!0;m?44===h&&R(e,\"expected the node content, but found ','\"):R(e,\"missed comma between flow collection entries\"),f=null,a=c=!1,63===h&&S(e.input.charCodeAt(e.position+1))&&(a=c=!0,e.position++,z(e,!0,t)),n=e.line,r=e.lineStart,i=e.position,H(e,t,l,!1,!0),d=e.tag,p=e.result,z(e,!0,t),h=e.input.charCodeAt(e.position),!c&&e.line!==n||58!==h||(a=!0,h=e.input.charCodeAt(++e.position),z(e,!0,t),H(e,t,l,!1,!0),f=e.result),u?M(e,o,b,d,p,f,n,r,i):a?o.push(M(e,null,b,d,p,f,n,r,i)):o.push(p),z(e,!0,t),44===(h=e.input.charCodeAt(e.position))?(m=!0,h=e.input.charCodeAt(++e.position)):m=!1}R(e,\"unexpected end of the stream within a flow collection\")}(e,_)?N=!0:(m&&function(e,t){var n,i,o,s,a,l=d,c=!1,u=!1,p=t,m=0,g=!1;if(124===(s=e.input.charCodeAt(e.position)))i=!1;else{if(62!==s)return!1;i=!0}for(e.kind=\"scalar\",e.result=\"\";0!==s;)if(43===(s=e.input.charCodeAt(++e.position))||45===s)d===l?l=43===s?h:f:R(e,\"repeat of a chomping mode identifier\");else{if(!((o=48<=(a=s)&&a<=57?a-48:-1)>=0))break;0===o?R(e,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):u?R(e,\"repeat of an indentation width identifier\"):(p=t+o-1,u=!0)}if(k(s)){do{s=e.input.charCodeAt(++e.position)}while(k(s));if(35===s)do{s=e.input.charCodeAt(++e.position)}while(!w(s)&&0!==s)}for(;0!==s;){for(F(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!u||e.lineIndent<p)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>p&&(p=e.lineIndent),w(s))m++;else{if(e.lineIndent<p){l===h?e.result+=r.repeat(\"\\n\",c?1+m:m):l===d&&c&&(e.result+=\"\\n\");break}for(i?k(s)?(g=!0,e.result+=r.repeat(\"\\n\",c?1+m:m)):g?(g=!1,e.result+=r.repeat(\"\\n\",m+1)):0===m?c&&(e.result+=\" \"):e.result+=r.repeat(\"\\n\",m):e.result+=r.repeat(\"\\n\",c?1+m:m),c=!0,u=!0,m=0,n=e.position;!w(s)&&0!==s;)s=e.input.charCodeAt(++e.position);L(e,n,e.position,!1)}}return!0}(e,_)||function(e,t){var n,r,i;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,r=i=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(L(e,r,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;r=e.position,e.position++,i=e.position}else w(n)?(L(e,r,i,!0),U(e,z(e,!1,t)),r=i=e.position):e.position===e.lineStart&&B(e)?R(e,\"unexpected end of the document within a single quoted scalar\"):(e.position++,i=e.position);R(e,\"unexpected end of the stream within a single quoted scalar\")}(e,_)||function(e,t){var n,r,i,o,s,a,l;if(34!==(a=e.input.charCodeAt(e.position)))return!1;for(e.kind=\"scalar\",e.result=\"\",e.position++,n=r=e.position;0!==(a=e.input.charCodeAt(e.position));){if(34===a)return L(e,n,e.position,!0),e.position++,!0;if(92===a){if(L(e,n,e.position,!0),w(a=e.input.charCodeAt(++e.position)))z(e,!1,t);else if(a<256&&C[a])e.result+=j[a],e.position++;else if((s=120===(l=a)?2:117===l?4:85===l?8:0)>0){for(i=s,o=0;i>0;i--)(s=O(a=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+s:R(e,\"expected hexadecimal character\");e.result+=A(o),e.position++}else R(e,\"unknown escape sequence\");n=r=e.position}else w(a)?(L(e,n,r,!0),U(e,z(e,!1,t)),n=r=e.position):e.position===e.lineStart&&B(e)?R(e,\"unexpected end of the document within a double quoted scalar\"):(e.position++,r=e.position)}R(e,\"unexpected end of the stream within a double quoted scalar\")}(e,_)?N=!0:function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!S(r)&&!E(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&R(e,\"name of an alias node must contain at least one character\"),n=e.input.slice(t,e.position),a.call(e.anchorMap,n)||R(e,'unidentified alias \"'+n+'\"'),e.result=e.anchorMap[n],z(e,!0,-1),!0}(e)?(N=!0,null===e.tag&&null===e.anchor||R(e,\"alias node should not have any properties\")):function(e,t,n){var r,i,o,s,a,l,c,u,p=e.kind,d=e.result;if(S(u=e.input.charCodeAt(e.position))||E(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(S(r=e.input.charCodeAt(e.position+1))||n&&E(r)))return!1;for(e.kind=\"scalar\",e.result=\"\",i=o=e.position,s=!1;0!==u;){if(58===u){if(S(r=e.input.charCodeAt(e.position+1))||n&&E(r))break}else if(35===u){if(S(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&B(e)||n&&E(u))break;if(w(u)){if(a=e.line,l=e.lineStart,c=e.lineIndent,z(e,!1,-1),e.lineIndent>=t){s=!0,u=e.input.charCodeAt(e.position);continue}e.position=o,e.line=a,e.lineStart=l,e.lineIndent=c;break}}s&&(L(e,i,o,!1),U(e,e.line-a),i=o=e.position,s=!1),k(u)||(o=e.position+1),u=e.input.charCodeAt(++e.position)}return L(e,i,o,!1),!!e.result||(e.kind=p,e.result=d,!1)}(e,_,l===n)&&(N=!0,null===e.tag&&(e.tag=\"?\")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===T&&(N=g&&q(e,P))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if(\"?\"===e.tag){for(null!==e.result&&\"scalar\"!==e.kind&&R(e,'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"'+e.kind+'\"'),y=0,b=e.implicitTypes.length;y<b;y+=1)if((x=e.implicitTypes[y]).resolve(e.result)){e.result=x.construct(e.result),e.tag=x.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else if(\"!\"!==e.tag){if(a.call(e.typeMap[e.kind||\"fallback\"],e.tag))x=e.typeMap[e.kind||\"fallback\"][e.tag];else for(x=null,y=0,b=(v=e.typeMap.multi[e.kind||\"fallback\"]).length;y<b;y+=1)if(e.tag.slice(0,v[y].tag.length)===v[y].tag){x=v[y];break}x||R(e,\"unknown tag !<\"+e.tag+\">\"),null!==e.result&&x.kind!==e.kind&&R(e,\"unacceptable node kind for !<\"+e.tag+'> tag; it should be \"'+x.kind+'\", not \"'+e.kind+'\"'),x.resolve(e.result,e.tag)?(e.result=x.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):R(e,\"cannot resolve a node with !<\"+e.tag+\"> explicit tag\")}return null!==e.listener&&e.listener(\"close\",e),null!==e.tag||null!==e.anchor||N}function Y(e){var t,n,r,i,o=e.position,s=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(i=e.input.charCodeAt(e.position))&&(z(e,!0,-1),i=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==i));){for(s=!0,i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!S(i);)i=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&R(e,\"directive name must not be less than one character in length\");0!==i;){for(;k(i);)i=e.input.charCodeAt(++e.position);if(35===i){do{i=e.input.charCodeAt(++e.position)}while(0!==i&&!w(i));break}if(w(i))break;for(t=e.position;0!==i&&!S(i);)i=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==i&&F(e),a.call($,n)?$[n](e,n,r):N(e,'unknown document directive \"'+n+'\"')}z(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,z(e,!0,-1)):s&&R(e,\"directives end mark is expected\"),H(e,e.lineIndent-1,p,!1,!0),z(e,!0,-1),e.checkLineBreaks&&g.test(e.input.slice(o,e.position))&&N(e,\"non-ASCII line breaks are interpreted as content\"),e.documents.push(e.result),e.position===e.lineStart&&B(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,z(e,!0,-1)):e.position<e.length-1&&R(e,\"end of the stream or a document separator is expected\")}function G(e,t){t=t||{},0!==(e=String(e)).length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+=\"\\n\"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new T(e,t),r=e.indexOf(\"\\0\");for(-1!==r&&(n.position=r,R(n,\"null byte is not allowed in input\")),n.input+=\"\\0\";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)Y(n);return n.documents}e.exports.loadAll=function(e,t,n){null!==t&&\"object\"==typeof t&&void 0===n&&(n=t,t=null);var r=G(e,n);if(\"function\"!=typeof t)return r;for(var i=0,o=r.length;i<o;i+=1)t(r[i])},e.exports.load=function(e,t){var n=G(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new i(\"expected a single document in the stream, but found more\")}}},2119:function(e,t,n){\"use strict\";var r=n(1231),i=n(5388);function o(e,t){var n=[];return e[t].forEach((function(e){var t=n.length;n.forEach((function(n,r){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=r)})),n[t]=e})),n}function s(e){return this.extend(e)}s.prototype.extend=function(e){var t=[],n=[];if(e instanceof i)n.push(e);else if(Array.isArray(e))n=n.concat(e);else{if(!e||!Array.isArray(e.implicit)&&!Array.isArray(e.explicit))throw new r(\"Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })\");e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit))}t.forEach((function(e){if(!(e instanceof i))throw new r(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");if(e.loadKind&&\"scalar\"!==e.loadKind)throw new r(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\");if(e.multi)throw new r(\"There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.\")})),n.forEach((function(e){if(!(e instanceof i))throw new r(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\")}));var a=Object.create(s.prototype);return a.implicit=(this.implicit||[]).concat(t),a.explicit=(this.explicit||[]).concat(n),a.compiledImplicit=o(a,\"implicit\"),a.compiledExplicit=o(a,\"explicit\"),a.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function r(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(r);return n}(a.compiledImplicit,a.compiledExplicit),a},e.exports=s},1769:function(e,t,n){\"use strict\";e.exports=n(6184)},5489:function(e,t,n){\"use strict\";e.exports=n(1769).extend({implicit:[n(127),n(1851)],explicit:[n(9342),n(6946),n(6942),n(6663)]})},7759:function(e,t,n){\"use strict\";var r=n(2119);e.exports=new r({explicit:[n(7212),n(8636),n(2369)]})},6184:function(e,t,n){\"use strict\";e.exports=n(7759).extend({implicit:[n(9198),n(6199),n(4466),n(1461)]})},8083:function(e,t,n){\"use strict\";var r=n(8433);function i(e,t,n,r,i){var o=\"\",s=\"\",a=Math.floor(i/2)-1;return r-t>a&&(t=r-a+(o=\" ... \").length),n-r>a&&(n=r+a-(s=\" ...\").length),{str:o+e.slice(t,n).replace(/\\t/g,\"→\")+s,pos:r-t+o.length}}function o(e,t){return r.repeat(\" \",t-e.length)+e}e.exports=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),\"number\"!=typeof t.indent&&(t.indent=1),\"number\"!=typeof t.linesBefore&&(t.linesBefore=3),\"number\"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n,s=/\\r?\\n|\\r|\\0/g,a=[0],l=[],c=-1;n=s.exec(e.buffer);)l.push(n.index),a.push(n.index+n[0].length),e.position<=n.index&&c<0&&(c=a.length-2);c<0&&(c=a.length-1);var u,p,d=\"\",f=Math.min(e.line+t.linesAfter,l.length).toString().length,h=t.maxLength-(t.indent+f+3);for(u=1;u<=t.linesBefore&&!(c-u<0);u++)p=i(e.buffer,a[c-u],l[c-u],e.position-(a[c]-a[c-u]),h),d=r.repeat(\" \",t.indent)+o((e.line-u+1).toString(),f)+\" | \"+p.str+\"\\n\"+d;for(p=i(e.buffer,a[c],l[c],e.position,h),d+=r.repeat(\" \",t.indent)+o((e.line+1).toString(),f)+\" | \"+p.str+\"\\n\",d+=r.repeat(\"-\",t.indent+f+3+p.pos)+\"^\\n\",u=1;u<=t.linesAfter&&!(c+u>=l.length);u++)p=i(e.buffer,a[c+u],l[c+u],e.position-(a[c]-a[c+u]),h),d+=r.repeat(\" \",t.indent)+o((e.line+u+1).toString(),f)+\" | \"+p.str+\"\\n\";return d.replace(/\\n$/,\"\")}},5388:function(e,t,n){\"use strict\";var r=n(1231),i=[\"kind\",\"multi\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"representName\",\"defaultStyle\",\"styleAliases\"],o=[\"scalar\",\"sequence\",\"mapping\"];e.exports=function(e,t){var n,s;if(t=t||{},Object.keys(t).forEach((function(t){if(-1===i.indexOf(t))throw new r('Unknown option \"'+t+'\" is met in definition of \"'+e+'\" YAML type.')})),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=(n=t.styleAliases||null,s={},null!==n&&Object.keys(n).forEach((function(e){n[e].forEach((function(t){s[String(t)]=e}))})),s),-1===o.indexOf(this.kind))throw new r('Unknown kind \"'+this.kind+'\" is specified for \"'+e+'\" YAML type.')}},9342:function(e,t,n){\"use strict\";var r=n(5388),i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";e.exports=new r(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t,n,r=0,o=e.length,s=i;for(n=0;n<o;n++)if(!((t=s.indexOf(e.charAt(n)))>64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,r=e.replace(/[\\r\\n=]/g,\"\"),o=r.length,s=i,a=0,l=[];for(t=0;t<o;t++)t%4==0&&t&&(l.push(a>>16&255),l.push(a>>8&255),l.push(255&a)),a=a<<6|s.indexOf(r.charAt(t));return 0==(n=o%4*6)?(l.push(a>>16&255),l.push(a>>8&255),l.push(255&a)):18===n?(l.push(a>>10&255),l.push(a>>2&255)):12===n&&l.push(a>>4&255),new Uint8Array(l)},predicate:function(e){return\"[object Uint8Array]\"===Object.prototype.toString.call(e)},represent:function(e){var t,n,r=\"\",o=0,s=e.length,a=i;for(t=0;t<s;t++)t%3==0&&t&&(r+=a[o>>18&63],r+=a[o>>12&63],r+=a[o>>6&63],r+=a[63&o]),o=(o<<8)+e[t];return 0==(n=s%3)?(r+=a[o>>18&63],r+=a[o>>12&63],r+=a[o>>6&63],r+=a[63&o]):2===n?(r+=a[o>>10&63],r+=a[o>>4&63],r+=a[o<<2&63],r+=a[64]):1===n&&(r+=a[o>>2&63],r+=a[o<<4&63],r+=a[64],r+=a[64]),r}})},6199:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&(\"true\"===e||\"True\"===e||\"TRUE\"===e)||5===t&&(\"false\"===e||\"False\"===e||\"FALSE\"===e)},construct:function(e){return\"true\"===e||\"True\"===e||\"TRUE\"===e},predicate:function(e){return\"[object Boolean]\"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?\"true\":\"false\"},uppercase:function(e){return e?\"TRUE\":\"FALSE\"},camelcase:function(e){return e?\"True\":\"False\"}},defaultStyle:\"lowercase\"})},1461:function(e,t,n){\"use strict\";var r=n(8433),i=n(5388),o=new RegExp(\"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\"),s=/^[-+]?[0-9]+e/;e.exports=new i(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:function(e){return null!==e&&!(!o.test(e)||\"_\"===e[e.length-1])},construct:function(e){var t,n;return n=\"-\"===(t=e.replace(/_/g,\"\").toLowerCase())[0]?-1:1,\"+-\".indexOf(t[0])>=0&&(t=t.slice(1)),\".inf\"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===e)switch(t){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(r.isNegativeZero(e))return\"-0.0\";return n=e.toString(10),s.test(n)?n.replace(\"e\",\".e\"):n},defaultStyle:\"lowercase\"})},4466:function(e,t,n){\"use strict\";var r=n(8433),i=n(5388);function o(e){return 48<=e&&e<=55}function s(e){return 48<=e&&e<=57}e.exports=new i(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,i=0,a=!1;if(!r)return!1;if(\"-\"!==(t=e[i])&&\"+\"!==t||(t=e[++i]),\"0\"===t){if(i+1===r)return!0;if(\"b\"===(t=e[++i])){for(i++;i<r;i++)if(\"_\"!==(t=e[i])){if(\"0\"!==t&&\"1\"!==t)return!1;a=!0}return a&&\"_\"!==t}if(\"x\"===t){for(i++;i<r;i++)if(\"_\"!==(t=e[i])){if(!(48<=(n=e.charCodeAt(i))&&n<=57||65<=n&&n<=70||97<=n&&n<=102))return!1;a=!0}return a&&\"_\"!==t}if(\"o\"===t){for(i++;i<r;i++)if(\"_\"!==(t=e[i])){if(!o(e.charCodeAt(i)))return!1;a=!0}return a&&\"_\"!==t}}if(\"_\"===t)return!1;for(;i<r;i++)if(\"_\"!==(t=e[i])){if(!s(e.charCodeAt(i)))return!1;a=!0}return!(!a||\"_\"===t)},construct:function(e){var t,n=e,r=1;if(-1!==n.indexOf(\"_\")&&(n=n.replace(/_/g,\"\")),\"-\"!==(t=n[0])&&\"+\"!==t||(\"-\"===t&&(r=-1),t=(n=n.slice(1))[0]),\"0\"===n)return 0;if(\"0\"===t){if(\"b\"===n[1])return r*parseInt(n.slice(2),2);if(\"x\"===n[1])return r*parseInt(n.slice(2),16);if(\"o\"===n[1])return r*parseInt(n.slice(2),8)}return r*parseInt(n,10)},predicate:function(e){return\"[object Number]\"===Object.prototype.toString.call(e)&&e%1==0&&!r.isNegativeZero(e)},represent:{binary:function(e){return e>=0?\"0b\"+e.toString(2):\"-0b\"+e.toString(2).slice(1)},octal:function(e){return e>=0?\"0o\"+e.toString(8):\"-0o\"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?\"0x\"+e.toString(16).toUpperCase():\"-0x\"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}})},2369:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(e){return null!==e?e:{}}})},1851:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:function(e){return\"<<\"===e||null===e}})},9198:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&\"~\"===e||4===t&&(\"null\"===e||\"Null\"===e||\"NULL\"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"},empty:function(){return\"\"}},defaultStyle:\"lowercase\"})},6946:function(e,t,n){\"use strict\";var r=n(5388),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new r(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:function(e){if(null===e)return!0;var t,n,r,s,a,l=[],c=e;for(t=0,n=c.length;t<n;t+=1){if(r=c[t],a=!1,\"[object Object]\"!==o.call(r))return!1;for(s in r)if(i.call(r,s)){if(a)return!1;a=!0}if(!a)return!1;if(-1!==l.indexOf(s))return!1;l.push(s)}return!0},construct:function(e){return null!==e?e:[]}})},6942:function(e,t,n){\"use strict\";var r=n(5388),i=Object.prototype.toString;e.exports=new r(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:function(e){if(null===e)return!0;var t,n,r,o,s,a=e;for(s=new Array(a.length),t=0,n=a.length;t<n;t+=1){if(r=a[t],\"[object Object]\"!==i.call(r))return!1;if(1!==(o=Object.keys(r)).length)return!1;s[t]=[o[0],r[o[0]]]}return!0},construct:function(e){if(null===e)return[];var t,n,r,i,o,s=e;for(o=new Array(s.length),t=0,n=s.length;t<n;t+=1)r=s[t],i=Object.keys(r),o[t]=[i[0],r[i[0]]];return o}})},8636:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(e){return null!==e?e:[]}})},6663:function(e,t,n){\"use strict\";var r=n(5388),i=Object.prototype.hasOwnProperty;e.exports=new r(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:function(e){if(null===e)return!0;var t,n=e;for(t in n)if(i.call(n,t)&&null!==n[t])return!1;return!0},construct:function(e){return null!==e?e:{}}})},7212:function(e,t,n){\"use strict\";var r=n(5388);e.exports=new r(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(e){return null!==e?e:\"\"}})},127:function(e,t,n){\"use strict\";var r=n(5388),i=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),o=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");e.exports=new r(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:function(e){return null!==e&&(null!==i.exec(e)||null!==o.exec(e))},construct:function(e){var t,n,r,s,a,l,c,u,p=0,d=null;if(null===(t=i.exec(e))&&(t=o.exec(e)),null===t)throw new Error(\"Date resolve error\");if(n=+t[1],r=+t[2]-1,s=+t[3],!t[4])return new Date(Date.UTC(n,r,s));if(a=+t[4],l=+t[5],c=+t[6],t[7]){for(p=t[7].slice(0,3);p.length<3;)p+=\"0\";p=+p}return t[9]&&(d=6e4*(60*+t[10]+ +(t[11]||0)),\"-\"===t[9]&&(d=-d)),u=new Date(Date.UTC(n,r,s,a,l,c,p)),d&&u.setTime(u.getTime()-d),u},instanceOf:Date,represent:function(e){return e.toISOString()}})},1095:function(e,t,n){\"use strict\";var r=n(7593);function i(e,t,n){if(3===arguments.length)return i.set(e,t,n);if(2===arguments.length)return i.get(e,t);var r=i.bind(i,e);for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o].bind(r,e));return r}e.exports=i,i.get=function(e,t){for(var n=Array.isArray(t)?t:i.parse(t),r=0;r<n.length;++r){var o=n[r];if(\"object\"!=typeof e||!(o in e))throw new Error(\"Invalid reference token: \"+o);e=e[o]}return e},i.set=function(e,t,n){var r=Array.isArray(t)?t:i.parse(t),o=r[0];if(0===r.length)throw Error(\"Can not set the root object\");for(var s=0;s<r.length-1;++s){var a=r[s];\"string\"!=typeof a&&\"number\"!=typeof a&&(a=String(a)),\"__proto__\"!==a&&\"constructor\"!==a&&\"prototype\"!==a&&(\"-\"===a&&Array.isArray(e)&&(a=e.length),o=r[s+1],a in e||(o.match(/^(\\d+|-)$/)?e[a]=[]:e[a]={}),e=e[a])}return\"-\"===o&&Array.isArray(e)&&(o=e.length),e[o]=n,this},i.remove=function(e,t){var n=Array.isArray(t)?t:i.parse(t),r=n[n.length-1];if(void 0===r)throw new Error('Invalid JSON pointer for remove: \"'+t+'\"');var o=i.get(e,n.slice(0,-1));if(Array.isArray(o)){var s=+r;if(\"\"===r&&isNaN(s))throw new Error('Invalid array index: \"'+r+'\"');Array.prototype.splice.call(o,s,1)}else delete o[r]},i.dict=function(e,t){var n={};return i.walk(e,(function(e,t){n[t]=e}),t),n},i.walk=function(e,t,n){var o=[];n=n||function(e){var t=Object.prototype.toString.call(e);return\"[object Object]\"===t||\"[object Array]\"===t},function e(s){r(s,(function(r,s){o.push(String(s)),n(r)?e(r):t(r,i.compile(o)),o.pop()}))}(e)},i.has=function(e,t){try{i.get(e,t)}catch(e){return!1}return!0},i.escape=function(e){return e.toString().replace(/~/g,\"~0\").replace(/\\//g,\"~1\")},i.unescape=function(e){return e.replace(/~1/g,\"/\").replace(/~0/g,\"~\")},i.parse=function(e){if(\"\"===e)return[];if(\"/\"!==e.charAt(0))throw new Error(\"Invalid JSON pointer: \"+e);return e.substring(1).split(/\\//).map(i.unescape)},i.compile=function(e){return 0===e.length?\"\":\"/\"+e.map(i.escape).join(\"/\")}},8142:function(e,t,n){e=n.nmd(e);var r=\"__lodash_hash_undefined__\",i=1,o=2,s=9007199254740991,a=\"[object Arguments]\",l=\"[object Array]\",c=\"[object AsyncFunction]\",u=\"[object Boolean]\",p=\"[object Date]\",d=\"[object Error]\",f=\"[object Function]\",h=\"[object GeneratorFunction]\",m=\"[object Map]\",g=\"[object Number]\",y=\"[object Null]\",b=\"[object Object]\",v=\"[object Promise]\",x=\"[object Proxy]\",w=\"[object RegExp]\",k=\"[object Set]\",S=\"[object String]\",E=\"[object Undefined]\",O=\"[object WeakMap]\",_=\"[object ArrayBuffer]\",A=\"[object DataView]\",C=/^\\[object .+?Constructor\\]$/,j=/^(?:0|[1-9]\\d*)$/,P={};P[\"[object Float32Array]\"]=P[\"[object Float64Array]\"]=P[\"[object Int8Array]\"]=P[\"[object Int16Array]\"]=P[\"[object Int32Array]\"]=P[\"[object Uint8Array]\"]=P[\"[object Uint8ClampedArray]\"]=P[\"[object Uint16Array]\"]=P[\"[object Uint32Array]\"]=!0,P[a]=P[l]=P[_]=P[u]=P[A]=P[p]=P[d]=P[f]=P[m]=P[g]=P[b]=P[w]=P[k]=P[S]=P[O]=!1;var T=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,I=\"object\"==typeof self&&self&&self.Object===Object&&self,R=T||I||Function(\"return this\")(),N=t&&!t.nodeType&&t,$=N&&e&&!e.nodeType&&e,L=$&&$.exports===N,D=L&&T.process,M=function(){try{return D&&D.binding&&D.binding(\"util\")}catch(e){}}(),F=M&&M.isTypedArray;function z(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function B(e,t){return e.has(t)}function U(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var V,W,H,Y=Array.prototype,G=Function.prototype,Q=Object.prototype,X=R[\"__core-js_shared__\"],K=G.toString,Z=Q.hasOwnProperty,J=(V=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+V:\"\",ee=Q.toString,te=RegExp(\"^\"+K.call(Z).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),ne=L?R.Buffer:void 0,re=R.Symbol,ie=R.Uint8Array,oe=Q.propertyIsEnumerable,se=Y.splice,ae=re?re.toStringTag:void 0,le=Object.getOwnPropertySymbols,ce=ne?ne.isBuffer:void 0,ue=(W=Object.keys,H=Object,function(e){return W(H(e))}),pe=Le(R,\"DataView\"),de=Le(R,\"Map\"),fe=Le(R,\"Promise\"),he=Le(R,\"Set\"),me=Le(R,\"WeakMap\"),ge=Le(Object,\"create\"),ye=ze(pe),be=ze(de),ve=ze(fe),xe=ze(he),we=ze(me),ke=re?re.prototype:void 0,Se=ke?ke.valueOf:void 0;function Ee(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _e(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ae(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new _e;++t<n;)this.add(e[t])}function Ce(e){var t=this.__data__=new Oe(e);this.size=t.size}function je(e,t){for(var n=e.length;n--;)if(Be(e[n][0],t))return n;return-1}function Pe(e){return null==e?void 0===e?E:y:ae&&ae in Object(e)?function(e){var t=Z.call(e,ae),n=e[ae];try{e[ae]=void 0;var r=!0}catch(e){}var i=ee.call(e);return r&&(t?e[ae]=n:delete e[ae]),i}(e):function(e){return ee.call(e)}(e)}function Te(e){return Ge(e)&&Pe(e)==a}function Ie(e,t,n,r,s){return e===t||(null==e||null==t||!Ge(e)&&!Ge(t)?e!=e&&t!=t:function(e,t,n,r,s,c){var f=qe(e),h=qe(t),y=f?l:Me(e),v=h?l:Me(t),x=(y=y==a?b:y)==b,E=(v=v==a?b:v)==b,O=y==v;if(O&&Ve(e)){if(!Ve(t))return!1;f=!0,x=!1}if(O&&!x)return c||(c=new Ce),f||Qe(e)?Re(e,t,n,r,s,c):function(e,t,n,r,s,a,l){switch(n){case A:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!a(new ie(e),new ie(t)));case u:case p:case g:return Be(+e,+t);case d:return e.name==t.name&&e.message==t.message;case w:case S:return e==t+\"\";case m:var c=U;case k:var f=r&i;if(c||(c=q),e.size!=t.size&&!f)return!1;var h=l.get(e);if(h)return h==t;r|=o,l.set(e,t);var y=Re(c(e),c(t),r,s,a,l);return l.delete(e),y;case\"[object Symbol]\":if(Se)return Se.call(e)==Se.call(t)}return!1}(e,t,y,n,r,s,c);if(!(n&i)){var C=x&&Z.call(e,\"__wrapped__\"),j=E&&Z.call(t,\"__wrapped__\");if(C||j){var P=C?e.value():e,T=j?t.value():t;return c||(c=new Ce),s(P,T,n,r,c)}}return!!O&&(c||(c=new Ce),function(e,t,n,r,o,s){var a=n&i,l=Ne(e),c=l.length;if(c!=Ne(t).length&&!a)return!1;for(var u=c;u--;){var p=l[u];if(!(a?p in t:Z.call(t,p)))return!1}var d=s.get(e);if(d&&s.get(t))return d==t;var f=!0;s.set(e,t),s.set(t,e);for(var h=a;++u<c;){var m=e[p=l[u]],g=t[p];if(r)var y=a?r(g,m,p,t,e,s):r(m,g,p,e,t,s);if(!(void 0===y?m===g||o(m,g,n,r,s):y)){f=!1;break}h||(h=\"constructor\"==p)}if(f&&!h){var b=e.constructor,v=t.constructor;b==v||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof b&&b instanceof b&&\"function\"==typeof v&&v instanceof v||(f=!1)}return s.delete(e),s.delete(t),f}(e,t,n,r,s,c))}(e,t,n,r,Ie,s))}function Re(e,t,n,r,s,a){var l=n&i,c=e.length,u=t.length;if(c!=u&&!(l&&u>c))return!1;var p=a.get(e);if(p&&a.get(t))return p==t;var d=-1,f=!0,h=n&o?new Ae:void 0;for(a.set(e,t),a.set(t,e);++d<c;){var m=e[d],g=t[d];if(r)var y=l?r(g,m,d,t,e,a):r(m,g,d,e,t,a);if(void 0!==y){if(y)continue;f=!1;break}if(h){if(!z(t,(function(e,t){if(!B(h,t)&&(m===e||s(m,e,n,r,a)))return h.push(t)}))){f=!1;break}}else if(m!==g&&!s(m,g,n,r,a)){f=!1;break}}return a.delete(e),a.delete(t),f}function Ne(e){return function(e,t,n){var r=t(e);return qe(e)?r:function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}(r,n(e))}(e,Xe,De)}function $e(e,t){var n,r,i=e.__data__;return(\"string\"==(r=typeof(n=t))||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==n:null===n)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function Le(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ye(e)||function(e){return!!J&&J in e}(e))&&(We(e)?te:C).test(ze(e))}(n)?n:void 0}Ee.prototype.clear=function(){this.__data__=ge?ge(null):{},this.size=0},Ee.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ee.prototype.get=function(e){var t=this.__data__;if(ge){var n=t[e];return n===r?void 0:n}return Z.call(t,e)?t[e]:void 0},Ee.prototype.has=function(e){var t=this.__data__;return ge?void 0!==t[e]:Z.call(t,e)},Ee.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ge&&void 0===t?r:t,this},Oe.prototype.clear=function(){this.__data__=[],this.size=0},Oe.prototype.delete=function(e){var t=this.__data__,n=je(t,e);return!(n<0||(n==t.length-1?t.pop():se.call(t,n,1),--this.size,0))},Oe.prototype.get=function(e){var t=this.__data__,n=je(t,e);return n<0?void 0:t[n][1]},Oe.prototype.has=function(e){return je(this.__data__,e)>-1},Oe.prototype.set=function(e,t){var n=this.__data__,r=je(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},_e.prototype.clear=function(){this.size=0,this.__data__={hash:new Ee,map:new(de||Oe),string:new Ee}},_e.prototype.delete=function(e){var t=$e(this,e).delete(e);return this.size-=t?1:0,t},_e.prototype.get=function(e){return $e(this,e).get(e)},_e.prototype.has=function(e){return $e(this,e).has(e)},_e.prototype.set=function(e,t){var n=$e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ae.prototype.add=Ae.prototype.push=function(e){return this.__data__.set(e,r),this},Ae.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.clear=function(){this.__data__=new Oe,this.size=0},Ce.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ce.prototype.get=function(e){return this.__data__.get(e)},Ce.prototype.has=function(e){return this.__data__.has(e)},Ce.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Oe){var r=n.__data__;if(!de||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _e(r)}return n.set(e,t),this.size=n.size,this};var De=le?function(e){return null==e?[]:(e=Object(e),function(t){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n<r;){var s=t[n];a=s,oe.call(e,a)&&(o[i++]=s)}var a;return o}(le(e)))}:function(){return[]},Me=Pe;function Fe(e,t){return!!(t=null==t?s:t)&&(\"number\"==typeof e||j.test(e))&&e>-1&&e%1==0&&e<t}function ze(e){if(null!=e){try{return K.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function Be(e,t){return e===t||e!=e&&t!=t}(pe&&Me(new pe(new ArrayBuffer(1)))!=A||de&&Me(new de)!=m||fe&&Me(fe.resolve())!=v||he&&Me(new he)!=k||me&&Me(new me)!=O)&&(Me=function(e){var t=Pe(e),n=t==b?e.constructor:void 0,r=n?ze(n):\"\";if(r)switch(r){case ye:return A;case be:return m;case ve:return v;case xe:return k;case we:return O}return t});var Ue=Te(function(){return arguments}())?Te:function(e){return Ge(e)&&Z.call(e,\"callee\")&&!oe.call(e,\"callee\")},qe=Array.isArray,Ve=ce||function(){return!1};function We(e){if(!Ye(e))return!1;var t=Pe(e);return t==f||t==h||t==c||t==x}function He(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=s}function Ye(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function Ge(e){return null!=e&&\"object\"==typeof e}var Qe=F?function(e){return function(t){return e(t)}}(F):function(e){return Ge(e)&&He(e.length)&&!!P[Pe(e)]};function Xe(e){return null!=(t=e)&&He(t.length)&&!We(t)?function(e,t){var n=qe(e),r=!n&&Ue(e),i=!n&&!r&&Ve(e),o=!n&&!r&&!i&&Qe(e),s=n||r||i||o,a=s?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],l=a.length;for(var c in e)!t&&!Z.call(e,c)||s&&(\"length\"==c||i&&(\"offset\"==c||\"parent\"==c)||o&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||Fe(c,l))||a.push(c);return a}(e):function(e){if(n=(t=e)&&t.constructor,t!==(\"function\"==typeof n&&n.prototype||Q))return ue(e);var t,n,r=[];for(var i in Object(e))Z.call(e,i)&&\"constructor\"!=i&&r.push(i);return r}(e);var t}e.exports=function(e,t){return Ie(e,t)}},1714:function(e){e.exports=function(){}},689:function(e){e.exports=function(){\"use strict\";var e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:\"getContexts\",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:\"string\"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:\"getIframeContents\",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error(\"iframe inaccessible\")}catch(e){n()}r&&t(r)}},{key:\"isIframeBlank\",value:function(e){var t=\"about:blank\",n=e.getAttribute(\"src\").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:\"observeIframeLoad\",value:function(e,t,n){var r=this,i=!1,o=null,s=function s(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener(\"load\",s),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener(\"load\",s),o=setTimeout(s,this.iframesTimeout)}},{key:\"onIframeReady\",value:function(e,t,n){try{\"complete\"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:\"waitForIframes\",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector(\"html\"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:\"forEachIframe\",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},s=t.querySelectorAll(\"iframe\"),a=s.length,l=0;s=Array.prototype.slice.call(s);var c=function(){--a<=0&&o(l)};a||c(),s.forEach((function(t){e.matches(t,i.exclude)?c():i.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:\"createIterator\",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:\"createInstanceOnIframe\",value:function(t){return new e(t.querySelector(\"html\"),this.iframes)}},{key:\"compareNodeIframe\",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:\"getIteratorNode\",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:\"checkIframeFilter\",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(i=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:\"handleOpenIframes\",value:function(e,t,n,r){var i=this;e.forEach((function(e){e.handled||i.getIframeContents(e.val,(function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:\"iterateThroughNodes\",value:function(e,t,n,r,i){for(var o=this,s=this.createIterator(t,e,r),a=[],l=[],c=void 0,u=void 0;p=void 0,p=o.getIteratorNode(s),u=p.prevNode,c=p.node;)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(c,u,e,a)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);var p;l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(a,e,n,r),i()}},{key:\"forEachNode\",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),s=o.length;s||i(),o.forEach((function(o){var a=function(){r.iterateThroughNodes(e,o,t,n,(function(){--s<=0&&i()}))};r.iframes?r.waitForIframes(o,a):a()}))}}],[{key:\"matches\",value:function(e,t){var n=\"string\"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every((function(t){return!r.call(e,t)||(i=!0,!1)})),i}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf(\"MSIE\")>-1||n.indexOf(\"Trident\")>-1)&&(this.ie=!0)}return n(o,[{key:\"log\",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"debug\",r=this.opt.log;this.opt.debug&&\"object\"===(void 0===r?\"undefined\":e(r))&&\"function\"==typeof r[n]&&r[n](\"mark.js: \"+t)}},{key:\"escapeStr\",value:function(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}},{key:\"createRegExp\",value:function(e){return\"disabled\"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),\"disabled\"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),this.createAccuracyRegExp(e)}},{key:\"createSynonymsRegExp\",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?\"\":\"i\",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?\"\\0\":\"\";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],s=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),a=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);\"\"!==s&&\"\"!==a&&(e=e.replace(new RegExp(\"(\"+this.escapeStr(s)+\"|\"+this.escapeStr(a)+\")\",\"gm\"+n),r+\"(\"+this.processSynomyms(s)+\"|\"+this.processSynomyms(a)+\")\"+r))}return e}},{key:\"processSynomyms\",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:\"setupWildcardsRegExp\",value:function(e){return(e=e.replace(/(?:\\\\)*\\?/g,(function(e){return\"\\\\\"===e.charAt(0)?\"?\":\"\u0001\"}))).replace(/(?:\\\\)*\\*/g,(function(e){return\"\\\\\"===e.charAt(0)?\"*\":\"\u0002\"}))}},{key:\"createWildcardsRegExp\",value:function(e){var t=\"withSpaces\"===this.opt.wildcards;return e.replace(/\\u0001/g,t?\"[\\\\S\\\\s]?\":\"\\\\S?\").replace(/\\u0002/g,t?\"[\\\\S\\\\s]*?\":\"\\\\S*\")}},{key:\"setupIgnoreJoinersRegExp\",value:function(e){return e.replace(/[^(|)\\\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\\\]/.test(r)||\"\"===r?e:e+\"\\0\"}))}},{key:\"createJoinersRegExp\",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(\"\"))),this.opt.ignoreJoiners&&t.push(\"\\\\u00ad\\\\u200b\\\\u200c\\\\u200d\"),t.length?e.split(/\\u0000+/).join(\"[\"+t.join(\"\")+\"]*\"):e}},{key:\"createDiacriticsRegExp\",value:function(e){var t=this.opt.caseSensitive?\"\":\"i\",n=this.opt.caseSensitive?[\"aàáảãạăằắẳẵặâầấẩẫậäåāą\",\"AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćč\",\"CÇĆČ\",\"dđď\",\"DĐĎ\",\"eèéẻẽẹêềếểễệëěēę\",\"EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïī\",\"IÌÍỈĨỊÎÏĪ\",\"lł\",\"LŁ\",\"nñňń\",\"NÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøō\",\"OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rř\",\"RŘ\",\"sšśșş\",\"SŠŚȘŞ\",\"tťțţ\",\"TŤȚŢ\",\"uùúủũụưừứửữựûüůū\",\"UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿ\",\"YÝỲỶỸỴŸ\",\"zžżź\",\"ZŽŻŹ\"]:[\"aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćčCÇĆČ\",\"dđďDĐĎ\",\"eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïīIÌÍỈĨỊÎÏĪ\",\"lłLŁ\",\"nñňńNÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rřRŘ\",\"sšśșşSŠŚȘŞ\",\"tťțţTŤȚŢ\",\"uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿYÝỲỶỸỴŸ\",\"zžżźZŽŻŹ\"],r=[];return e.split(\"\").forEach((function(i){n.every((function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp(\"[\"+n+\"]\",\"gm\"+t),\"[\"+n+\"]\"),r.push(n)}return!0}))})),e}},{key:\"createMergedBlanksRegExp\",value:function(e){return e.replace(/[\\s]+/gim,\"[\\\\s]+\")}},{key:\"createAccuracyRegExp\",value:function(e){var t=this,n=this.opt.accuracy,r=\"string\"==typeof n?n:n.value,i=\"string\"==typeof n?[]:n.limiters,o=\"\";switch(i.forEach((function(e){o+=\"|\"+t.escapeStr(e)})),r){case\"partially\":default:return\"()(\"+e+\")\";case\"complementary\":return\"()([^\"+(o=\"\\\\s\"+(o||this.escapeStr(\"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿\")))+\"]*\"+e+\"[^\"+o+\"]*)\";case\"exactly\":return\"(^|\\\\s\"+o+\")(\"+e+\")(?=$|\\\\s\"+o+\")\"}}},{key:\"getSeparatedKeywords\",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(\" \").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:\"isNumeric\",value:function(e){return Number(parseFloat(e))==e}},{key:\"checkRanges\",value:function(e){var t=this;if(!Array.isArray(e)||\"[object Object]\"!==Object.prototype.toString.call(e[0]))return this.log(\"markRanges() will only accept an array of objects\"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,s=i.end;i.valid&&(e.start=o,e.length=s-o,n.push(e),r=s)})),n}},{key:\"callNoMatchOnInvalidRanges\",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log(\"Ignoring invalid or overlapping range: \"+JSON.stringify(e)),this.opt.noMatch(e))):(this.log(\"Ignoring invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:\"checkWhitespaceRanges\",value:function(e,t,n){var r=void 0,i=!0,o=n.length,s=t-o,a=parseInt(e.start,10)-s;return(r=(a=a>o?o:a)+parseInt(e.length,10))>o&&(r=o,this.log(\"End range automatically set to the max value of \"+o)),a<0||r-a<0||a>o||r>o?(i=!1,this.log(\"Invalid range: \"+JSON.stringify(e)),this.opt.noMatch(e)):\"\"===n.substring(a,r).replace(/\\s+/g,\"\")&&(i=!1,this.log(\"Skipping whitespace only range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:a,end:r,valid:i}}},{key:\"getTextNodes\",value:function(e){var t=this,n=\"\",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:\"matchesExclude\",value:function(e){return i.matches(e,this.opt.exclude.concat([\"script\",\"style\",\"title\",\"head\",\"html\"]))}},{key:\"wrapRangeInTextNode\",value:function(e,t,n){var r=this.opt.element?this.opt.element:\"mark\",i=e.splitText(t),o=i.splitText(n-t),s=document.createElement(r);return s.setAttribute(\"data-markjs\",\"true\"),this.opt.className&&s.setAttribute(\"class\",this.opt.className),s.textContent=i.textContent,i.parentNode.replaceChild(s,i),o}},{key:\"wrapRangeInMappedTextNode\",value:function(e,t,n,r,i){var o=this;e.nodes.every((function(s,a){var l=e.nodes[a+1];if(void 0===l||l.start>t){if(!r(s.node))return!1;var c=t-s.start,u=(n>s.end?s.end:n)-s.start,p=e.value.substr(0,s.start),d=e.value.substr(u+s.start);if(s.node=o.wrapRangeInTextNode(s.node,c,u),e.value=p+d,e.nodes.forEach((function(t,n){n>=a&&(e.nodes[n].start>0&&n!==a&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,i(s.node.previousSibling,s.start),!(n>s.end))return!1;t=s.end}return!0}))}},{key:\"wrapMatches\",value:function(e,t,n,r,i){var o=this,s=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&\"\"!==i[s];)if(n(i[s],t)){var a=i.index;if(0!==s)for(var l=1;l<s;l++)a+=i[l].length;t=o.wrapRangeInTextNode(t,a,a+i[s].length),r(t.previousSibling),e.lastIndex=0}})),i()}))}},{key:\"wrapMatchesAcrossElements\",value:function(e,t,n,r,i){var o=this,s=0===t?0:t+1;this.getTextNodes((function(t){for(var a=void 0;null!==(a=e.exec(t.value))&&\"\"!==a[s];){var l=a.index;if(0!==s)for(var c=1;c<s;c++)l+=a[c].length;var u=l+a[s].length;o.wrapRangeInMappedTextNode(t,l,u,(function(e){return n(a[s],e)}),(function(t,n){e.lastIndex=n,r(t)}))}i()}))}},{key:\"wrapRangeFromIndex\",value:function(e,t,n,r){var i=this;this.getTextNodes((function(o){var s=o.value.length;e.forEach((function(e,r){var a=i.checkWhitespaceRanges(e,s,o.value),l=a.start,c=a.end;a.valid&&i.wrapRangeInMappedTextNode(o,l,c,(function(n){return t(n,e,o.value.substring(l,c),r)}),(function(t){n(t,e)}))})),r()}))}},{key:\"unwrapMatches\",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:\"normalizeTextNode\",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:\"markRegExp\",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression \"'+e+'\"');var r=0,i=\"wrapMatches\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),this[i](e,this.opt.ignoreGroups,(function(e,t){return n.opt.filter(t,e,r)}),(function(e){r++,n.opt.each(e)}),(function(){0===r&&n.opt.noMatch(e),n.opt.done(r)}))}},{key:\"mark\",value:function(e,t){var n=this;this.opt=t;var r=0,i=\"wrapMatches\",o=this.getSeparatedKeywords(\"string\"==typeof e?[e]:e),s=o.keywords,a=o.length,l=this.opt.caseSensitive?\"\":\"i\";this.opt.acrossElements&&(i=\"wrapMatchesAcrossElements\"),0===a?this.opt.done(r):function e(t){var o=new RegExp(n.createRegExp(t),\"gm\"+l),c=0;n.log('Searching with expression \"'+o+'\"'),n[i](o,1,(function(e,i){return n.opt.filter(i,t,r,c)}),(function(e){c++,r++,n.opt.each(e)}),(function(){0===c&&n.opt.noMatch(t),s[a-1]===t?n.opt.done(r):e(s[s.indexOf(t)+1])}))}(s[0])}},{key:\"markRanges\",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log(\"Starting to mark with the following ranges: \"+JSON.stringify(i)),this.wrapRangeFromIndex(i,(function(e,t,r,i){return n.opt.filter(e,t,r,i)}),(function(e,t){r++,n.opt.each(e,t)}),(function(){n.opt.done(r)}))):this.opt.done(r)}},{key:\"unmark\",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:\"*\";n+=\"[data-markjs]\",this.opt.className&&(n+=\".\"+this.opt.className),this.log('Removal selector \"'+n+'\"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,(function(e){t.unwrapMatches(e)}),(function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),this.opt.done)}},{key:\"opt\",set:function(e){this._opt=r({},{element:\"\",className:\"\",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:\"partially\",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:\"disabled\",each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:\"iterator\",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),o}();return function(e){var t=this,n=new o(e);return this.mark=function(e,r){return n.mark(e,r),t},this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}}()},6435:function(e,t,n){\"use strict\";const r=n(8463),i={}.NODE_DISABLE_COLORS?{red:\"\",yellow:\"\",green:\"\",normal:\"\"}:{red:\"\u001b[31m\",yellow:\"\u001b[33;1m\",green:\"\u001b[32m\",normal:\"\u001b[0m\"};function o(e,t){function n(e,t){return r.stringify(e)===r.stringify(Object.assign({},e,t))}return n(e,t)&&n(t,e)}function s(e){let t=(e=e.replace(\"[]\",\"Array\")).split(\"/\");return t[0]=t[0].replace(/[^A-Za-z0-9_\\-\\.]+|\\s+/gm,\"_\"),t.join(\"/\")}String.prototype.toCamelCase=function(){return this.toLowerCase().replace(/[-_ \\/\\.](.)/g,(function(e,t){return t.toUpperCase()}))},e.exports={colour:i,uniqueOnly:function(e,t,n){return n.indexOf(e)===t},hasDuplicates:function(e){return new Set(e).size!==e.length},allSame:function(e){return new Set(e).size<=1},distinctArray:function(e){return e.length===function(e){let t=[];for(let n of e)t.find((function(e,t,r){return o(e,n)}))||t.push(n);return t}(e).length},firstDupe:function(e){return e.find((function(t,n,r){return e.indexOf(t)<n}))},hash:function(e){let t,n=0;if(0===e.length)return n;for(let r=0;r<e.length;r++)t=e.charCodeAt(r),n=(n<<5)-n+t,n|=0;return n},parameterTypeProperties:[\"format\",\"minimum\",\"maximum\",\"exclusiveMinimum\",\"exclusiveMaximum\",\"minLength\",\"maxLength\",\"multipleOf\",\"minItems\",\"maxItems\",\"uniqueItems\",\"minProperties\",\"maxProperties\",\"additionalProperties\",\"pattern\",\"enum\",\"default\"],arrayProperties:[\"items\",\"minItems\",\"maxItems\",\"uniqueItems\"],httpMethods:[\"get\",\"post\",\"put\",\"delete\",\"patch\",\"head\",\"options\",\"trace\"],sanitise:s,sanitiseAll:function(e){return s(e.split(\"/\").join(\"_\"))}}},6751:function(e,t,n){\"use strict\";const r=n(6364),i=n(7975),o=n(8381),s=n(8381),a=n(8381),l=n(33).jptr,c=n(9880).recurse,u=n(5539).clone,p=n(9737).dereference,d=n(1264).isRef,f=n(6435);function h(e,t,n,r,i,s){let a=s.externalRefs[n+r].paths[0],p=o.parse(i),h={},m=1;for(;m;)m=0,c(e,{identityDetection:!0},(function(e,n,r){if(d(e,n))if(e[n].startsWith(\"#\"))if(h[e[n]]||e.$fixed){if(!e.$fixed){let t=(a+\"/\"+h[e[n]]).split(\"/#/\").join(\"/\");r.parent[r.pkey]={$ref:t,\"x-miro\":e[n],$fixed:!0},s.verbose>1&&console.warn(\"Replacing with\",t),m++}}else{let i=u(l(t,e[n]));if(s.verbose>1&&console.warn((!1===i?f.colour.red:f.colour.green)+\"Fragment resolution\",e[n],f.colour.normal),!1===i){if(r.parent[r.pkey]={},s.fatal){let t=new Error(\"Fragment $ref resolution failed \"+e[n]);if(!s.promise)throw t;s.promise.reject(t)}}else m++,r.parent[r.pkey]=i,h[e[n]]=r.path.replace(\"/%24ref\",\"\")}else if(p.protocol){let t=o.resolve(i,e[n]).toString();s.verbose>1&&console.warn(f.colour.yellow+\"Rewriting external url ref\",e[n],\"as\",t,f.colour.normal),e[\"x-miro\"]=e[n],s.externalRefs[e[n]]&&(s.externalRefs[t]||(s.externalRefs[t]=s.externalRefs[e[n]]),s.externalRefs[t].failed=s.externalRefs[e[n]].failed),e[n]=t}else if(!e[\"x-miro\"]){let t=o.resolve(i,e[n]).toString(),r=!1;s.externalRefs[e[n]]&&(r=s.externalRefs[e[n]].failed),r||(s.verbose>1&&console.warn(f.colour.yellow+\"Rewriting external ref\",e[n],\"as\",t,f.colour.normal),e[\"x-miro\"]=e[n],e[n]=t)}}));return c(e,{},(function(e,t,n){d(e,t)&&void 0!==e.$fixed&&delete e.$fixed})),s.verbose>1&&console.warn(\"Finished fragment resolution\"),e}function m(e,t){if(!t.filters||!t.filters.length)return e;for(let n of t.filters)e=n(e,t);return e}function g(e,t,n,s){var c=o.parse(n.source),p=n.source.split(\"\\\\\").join(\"/\").split(\"/\");p.pop()||p.pop();let d=\"\",f=t.split(\"#\");f.length>1&&(d=\"#\"+f[1],t=f[0]),p=p.join(\"/\");let g=(y=o.parse(t).protocol,b=c.protocol,y&&y.length>2?y:b&&b.length>2?b:\"file:\");var y,b;let v;if(v=\"file:\"===g?i.resolve(p?p+\"/\":\"\",t):o.resolve(p?p+\"/\":\"\",t),n.cache[v]){n.verbose&&console.warn(\"CACHED\",v,d);let e=u(n.cache[v]),r=n.externalRef=e;if(d&&(r=l(r,d),!1===r&&(r={},n.fatal))){let e=new Error(\"Cached $ref resolution failed \"+v+d);if(!n.promise)throw e;n.promise.reject(e)}return r=h(r,e,t,d,v,n),r=m(r,n),s(u(r),v,n),Promise.resolve(r)}if(n.verbose&&console.warn(\"GET\",v,d),n.handlers&&n.handlers[g])return n.handlers[g](p,t,d,n).then((function(e){return n.externalRef=e,e=m(e,n),n.cache[v]=e,s(e,v,n),e})).catch((function(e){throw n.verbose&&console.warn(e),e}));if(g&&g.startsWith(\"http\")){const e=Object.assign({},n.fetchOptions,{agent:n.agent});return n.fetch(v,e).then((function(e){if(200!==e.status){if(n.ignoreIOErrors)return n.verbose&&console.warn(\"FAILED\",t),n.externalRefs[t].failed=!0,'{\"$ref\":\"'+t+'\"}';throw new Error(`Received status code ${e.status}: ${v}`)}return e.text()})).then((function(e){try{let r=a.parse(e,{schema:\"core\",prettyErrors:!0});if(e=n.externalRef=r,n.cache[v]=u(e),d&&!1===(e=l(e,d))&&(e={},n.fatal)){let e=new Error(\"Remote $ref resolution failed \"+v+d);if(!n.promise)throw e;n.promise.reject(e)}e=m(e=h(e,r,t,d,v,n),n)}catch(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}return s(e,v,n),e})).catch((function(e){if(n.verbose&&console.warn(e),n.cache[v]={},!n.promise||!n.fatal)throw e;n.promise.reject(e)}))}{const e='{\"$ref\":\"'+t+'\"}';return function(e,t,n,i,o){return new Promise((function(s,a){r.readFile(e,t,(function(e,t){e?n.ignoreIOErrors&&o?(n.verbose&&console.warn(\"FAILED\",i),n.externalRefs[i].failed=!0,s(o)):a(e):s(t)}))}))}(v,n.encoding||\"utf8\",n,t,e).then((function(e){try{let r=a.parse(e,{schema:\"core\",prettyErrors:!0});if(e=n.externalRef=r,n.cache[v]=u(e),d&&!1===(e=l(e,d))&&(e={},n.fatal)){let e=new Error(\"File $ref resolution failed \"+v+d);if(!n.promise)throw e;n.promise.reject(e)}e=m(e=h(e,r,t,d,v,n),n)}catch(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}return s(e,v,n),e})).catch((function(e){if(n.verbose&&console.warn(e),!n.promise||!n.fatal)throw e;n.promise.reject(e)}))}}function y(e){return new Promise((function(t,n){(function(e){return new Promise((function(t,n){function r(t,n,r){if(t[n]&&d(t[n],\"$ref\")){let o=t[n].$ref;if(!o.startsWith(\"#\")){let s=\"\";if(!i[o]){let t=Object.keys(i).find((function(e,t,n){return o.startsWith(e+\"/\")}));t&&(e.verbose&&console.warn(\"Found potential subschema at\",t),s=\"/\"+(o.split(\"#\")[1]||\"\").replace(t.split(\"#\")[1]||\"\"),s=s.split(\"/undefined\").join(\"\"),o=t)}if(i[o]||(i[o]={resolved:!1,paths:[],extras:{},description:t[n].description}),i[o].resolved)if(i[o].failed);else if(e.rewriteRefs){let r=i[o].resolvedAt;e.verbose>1&&console.warn(\"Rewriting ref\",o,r),t[n][\"x-miro\"]=o,t[n].$ref=r+s}else t[n]=u(i[o].data);else i[o].paths.push(r.path),i[o].extras[r.path]=s}}}let i=e.externalRefs;if(e.resolver.depth>0&&e.source===e.resolver.base)return t(i);c(e.openapi.definitions,{identityDetection:!0,path:\"#/definitions\"},r),c(e.openapi.components,{identityDetection:!0,path:\"#/components\"},r),c(e.openapi,{identityDetection:!0},r),t(i)}))})(e).then((function(t){for(let n in t)if(!t[n].resolved){let r=e.resolver.depth;r>0&&r++,e.resolver.actions[r].push((function(){return g(e.openapi,n,e,(function(e,r,i){if(!t[n].resolved){let o={};o.context=t[n],o.$ref=n,o.original=u(e),o.updated=e,o.source=r,i.externals.push(o),t[n].resolved=!0}let o=Object.assign({},i,{source:\"\",resolver:{actions:i.resolver.actions,depth:i.resolver.actions.length-1,base:i.resolver.base}});i.patch&&t[n].description&&!e.description&&\"object\"==typeof e&&(e.description=t[n].description),t[n].data=e;let s=(a=t[n].paths,[...new Set(a)]);var a;s=s.sort((function(e,t){const n=e.startsWith(\"#/components/\")||e.startsWith(\"#/definitions/\"),r=t.startsWith(\"#/components/\")||t.startsWith(\"#/definitions/\");return n&&!r?-1:r&&!n?1:0}));for(let r of s)if(t[n].resolvedAt&&r!==t[n].resolvedAt&&r.indexOf(\"x-ms-examples/\")<0)i.verbose>1&&console.warn(\"Creating pointer to data at\",r),l(i.openapi,r,{$ref:t[n].resolvedAt+t[n].extras[r],\"x-miro\":n+t[n].extras[r]});else{t[n].resolvedAt?i.verbose>1&&console.warn(\"Avoiding circular reference\"):(t[n].resolvedAt=r,i.verbose>1&&console.warn(\"Creating initial clone of data at\",r));let o=u(e);l(i.openapi,r,o)}0===i.resolver.actions[o.resolver.depth].length&&i.resolver.actions[o.resolver.depth].push((function(){return y(o)}))}))}))}})).catch((function(t){e.verbose&&console.warn(t),n(t)}));let r={options:e};r.actions=e.resolver.actions[e.resolver.depth],t(r)}))}function b(e,t,n){e.resolver.actions.push([]),y(e).then((function(r){var i;(i=r.actions,i.reduce(((e,t)=>e.then((e=>t().then(Array.prototype.concat.bind(e))))),Promise.resolve([]))).then((function(){if(e.resolver.depth>=e.resolver.actions.length)return console.warn(\"Ran off the end of resolver actions\"),t(!0);e.resolver.depth++,e.resolver.actions[e.resolver.depth].length?setTimeout((function(){b(r.options,t,n)}),0):(e.verbose>1&&console.warn(f.colour.yellow+\"Finished external resolution!\",f.colour.normal),e.resolveInternal&&(e.verbose>1&&console.warn(f.colour.yellow+\"Starting internal resolution!\",f.colour.normal),e.openapi=p(e.openapi,e.original,{verbose:e.verbose-1}),e.verbose>1&&console.warn(f.colour.yellow+\"Finished internal resolution!\",f.colour.normal)),c(e.openapi,{},(function(t,n,r){d(t,n)&&(e.preserveMiro||delete t[\"x-miro\"])})),t(e))})).catch((function(t){e.verbose&&console.warn(t),n(t)}))})).catch((function(t){e.verbose&&console.warn(t),n(t)}))}function v(e){if(e.cache||(e.cache={}),e.fetch||(e.fetch=s),e.source){let t=o.parse(e.source);(!t.protocol||t.protocol.length<=2)&&(e.source=i.resolve(e.source))}e.externals=[],e.externalRefs={},e.rewriteRefs=!0,e.resolver={},e.resolver.depth=0,e.resolver.base=e.source,e.resolver.actions=[[]]}e.exports={optionalResolve:function(e){return v(e),new Promise((function(t,n){e.resolve?b(e,t,n):t(e)}))},resolve:function(e,t,n){return n||(n={}),n.openapi=e,n.source=t,n.resolve=!0,v(n),new Promise((function(e,t){b(n,e,t)}))}}},1319:function(e){\"use strict\";function t(){return{depth:0,seen:new WeakMap,top:!0,combine:!1,allowRefSiblings:!1}}e.exports={getDefaultState:t,walkSchema:function e(n,r,i,o){if(void 0===i.depth&&(i=t()),null==n)return n;if(void 0!==n.$ref){let e={$ref:n.$ref};return i.allowRefSiblings&&n.description&&(e.description=n.description),o(e,r,i),e}if(i.combine&&(n.allOf&&Array.isArray(n.allOf)&&1===n.allOf.length&&delete(n=Object.assign({},n.allOf[0],n)).allOf,n.anyOf&&Array.isArray(n.anyOf)&&1===n.anyOf.length&&delete(n=Object.assign({},n.anyOf[0],n)).anyOf,n.oneOf&&Array.isArray(n.oneOf)&&1===n.oneOf.length&&delete(n=Object.assign({},n.oneOf[0],n)).oneOf),o(n,r,i),i.seen.has(n))return n;if(\"object\"==typeof n&&null!==n&&i.seen.set(n,!0),i.top=!1,i.depth++,void 0!==n.items&&(i.property=\"items\",e(n.items,n,i,o)),n.additionalItems&&\"object\"==typeof n.additionalItems&&(i.property=\"additionalItems\",e(n.additionalItems,n,i,o)),n.additionalProperties&&\"object\"==typeof n.additionalProperties&&(i.property=\"additionalProperties\",e(n.additionalProperties,n,i,o)),n.properties)for(let t in n.properties){let r=n.properties[t];i.property=\"properties/\"+t,e(r,n,i,o)}if(n.patternProperties)for(let t in n.patternProperties){let r=n.patternProperties[t];i.property=\"patternProperties/\"+t,e(r,n,i,o)}if(n.allOf)for(let t in n.allOf){let r=n.allOf[t];i.property=\"allOf/\"+t,e(r,n,i,o)}if(n.anyOf)for(let t in n.anyOf){let r=n.anyOf[t];i.property=\"anyOf/\"+t,e(r,n,i,o)}if(n.oneOf)for(let t in n.oneOf){let r=n.oneOf[t];i.property=\"oneOf/\"+t,e(r,n,i,o)}return n.not&&(i.property=\"not\",e(n.not,n,i,o)),i.depth--,n}}},7975:function(e){\"use strict\";function t(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}function n(e,t){for(var n,r=\"\",i=0,o=-1,s=0,a=0;a<=e.length;++a){if(a<e.length)n=e.charCodeAt(a);else{if(47===n)break;n=47}if(47===n){if(o===a-1||1===s);else if(o!==a-1&&2===s){if(r.length<2||2!==i||46!==r.charCodeAt(r.length-1)||46!==r.charCodeAt(r.length-2))if(r.length>2){var l=r.lastIndexOf(\"/\");if(l!==r.length-1){-1===l?(r=\"\",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf(\"/\"),o=a,s=0;continue}}else if(2===r.length||1===r.length){r=\"\",i=0,o=a,s=0;continue}t&&(r.length>0?r+=\"/..\":r=\"..\",i=2)}else r.length>0?r+=\"/\"+e.slice(o+1,a):r=e.slice(o+1,a),i=a-o-1;o=a,s=0}else 46===n&&-1!==s?++s:s=-1}return r}var r={resolve:function(){for(var e,r=\"\",i=!1,o=arguments.length-1;o>=-1&&!i;o--){var s;o>=0?s=arguments[o]:(void 0===e&&(e=process.cwd()),s=e),t(s),0!==s.length&&(r=s+\"/\"+r,i=47===s.charCodeAt(0))}return r=n(r,!i),i?r.length>0?\"/\"+r:\"/\":r.length>0?r:\".\"},normalize:function(e){if(t(e),0===e.length)return\".\";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e=\".\"),e.length>0&&i&&(e+=\"/\"),r?\"/\"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var e,n=0;n<arguments.length;++n){var i=arguments[n];t(i),i.length>0&&(void 0===e?e=i:e+=\"/\"+i)}return void 0===e?\".\":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return\"\";if((e=r.resolve(e))===(n=r.resolve(n)))return\"\";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var o=e.length,s=o-i,a=1;a<n.length&&47===n.charCodeAt(a);++a);for(var l=n.length-a,c=s<l?s:l,u=-1,p=0;p<=c;++p){if(p===c){if(l>c){if(47===n.charCodeAt(a+p))return n.slice(a+p+1);if(0===p)return n.slice(a+p)}else s>c&&(47===e.charCodeAt(i+p)?u=p:0===p&&(u=0));break}var d=e.charCodeAt(i+p);if(d!==n.charCodeAt(a+p))break;47===d&&(u=p)}var f=\"\";for(p=i+u+1;p<=o;++p)p!==o&&47!==e.charCodeAt(p)||(0===f.length?f+=\"..\":f+=\"/..\");return f.length>0?f+n.slice(a+u):(a+=u,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return\".\";for(var n=e.charCodeAt(0),r=47===n,i=-1,o=!0,s=e.length-1;s>=1;--s)if(47===(n=e.charCodeAt(s))){if(!o){i=s;break}}else o=!1;return-1===i?r?\"/\":\".\":r&&1===i?\"//\":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&\"string\"!=typeof n)throw new TypeError('\"ext\" argument must be a string');t(e);var r,i=0,o=-1,s=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return\"\";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!s){i=r+1;break}}else-1===l&&(s=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(o=r):(a=-1,o=l))}return i===o?o=l:-1===o&&(o=e.length),e.slice(i,o)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!s){i=r+1;break}}else-1===o&&(s=!1,o=r+1);return-1===o?\"\":e.slice(i,o)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,o=!0,s=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(o=!1,i=a+1),46===l?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1);else if(!o){r=a+1;break}}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?\"\":e.slice(n,i)},format:function(e){if(null===e||\"object\"!=typeof e)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e);return function(e,t){var n=t.dir||t.root,r=t.base||(t.name||\"\")+(t.ext||\"\");return n?n===t.root?n+r:n+\"/\"+r:r}(0,e)},parse:function(e){t(e);var n={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===e.length)return n;var r,i=e.charCodeAt(0),o=47===i;o?(n.root=\"/\",r=1):r=0;for(var s=-1,a=0,l=-1,c=!0,u=e.length-1,p=0;u>=r;--u)if(47!==(i=e.charCodeAt(u)))-1===l&&(c=!1,l=u+1),46===i?-1===s?s=u:1!==p&&(p=1):-1!==s&&(p=-1);else if(!c){a=u+1;break}return-1===s||-1===l||0===p||1===p&&s===l-1&&s===a+1?-1!==l&&(n.base=n.name=0===a&&o?e.slice(1,l):e.slice(a,l)):(0===a&&o?(n.name=e.slice(1,s),n.base=e.slice(1,l)):(n.name=e.slice(a,s),n.base=e.slice(a,l)),n.ext=e.slice(s,l)),a>0?n.dir=e.slice(0,a-1):o&&(n.dir=\"/\"),n},sep:\"/\",delimiter:\":\",win32:null,posix:null};r.posix=r,e.exports=r},5127:function(e){e.exports=function(){var e=[],t=[],n={},r={},i={};function o(e){return\"string\"==typeof e?new RegExp(\"^\"+e+\"$\",\"i\"):e}function s(e,t){return e===t?t:e===e.toLowerCase()?t.toLowerCase():e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function a(e,t){return e.replace(t[0],(function(n,r){var i,o,a=(i=t[1],o=arguments,i.replace(/\\$(\\d{1,2})/g,(function(e,t){return o[t]||\"\"})));return s(\"\"===n?e[r-1]:n,a)}))}function l(e,t,r){if(!e.length||n.hasOwnProperty(e))return t;for(var i=r.length;i--;){var o=r[i];if(o[0].test(t))return a(t,o)}return t}function c(e,t,n){return function(r){var i=r.toLowerCase();return t.hasOwnProperty(i)?s(r,i):e.hasOwnProperty(i)?s(r,e[i]):l(i,r,n)}}function u(e,t,n,r){return function(r){var i=r.toLowerCase();return!!t.hasOwnProperty(i)||!e.hasOwnProperty(i)&&l(i,i,n)===i}}function p(e,t,n){return(n?t+\" \":\"\")+(1===t?p.singular(e):p.plural(e))}return p.plural=c(i,r,e),p.isPlural=u(i,r,e),p.singular=c(r,i,t),p.isSingular=u(r,i,t),p.addPluralRule=function(t,n){e.push([o(t),n])},p.addSingularRule=function(e,n){t.push([o(e),n])},p.addUncountableRule=function(e){\"string\"!=typeof e?(p.addPluralRule(e,\"$0\"),p.addSingularRule(e,\"$0\")):n[e.toLowerCase()]=!0},p.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),i[e]=t,r[t]=e},[[\"I\",\"we\"],[\"me\",\"us\"],[\"he\",\"they\"],[\"she\",\"they\"],[\"them\",\"them\"],[\"myself\",\"ourselves\"],[\"yourself\",\"yourselves\"],[\"itself\",\"themselves\"],[\"herself\",\"themselves\"],[\"himself\",\"themselves\"],[\"themself\",\"themselves\"],[\"is\",\"are\"],[\"was\",\"were\"],[\"has\",\"have\"],[\"this\",\"these\"],[\"that\",\"those\"],[\"echo\",\"echoes\"],[\"dingo\",\"dingoes\"],[\"volcano\",\"volcanoes\"],[\"tornado\",\"tornadoes\"],[\"torpedo\",\"torpedoes\"],[\"genus\",\"genera\"],[\"viscus\",\"viscera\"],[\"stigma\",\"stigmata\"],[\"stoma\",\"stomata\"],[\"dogma\",\"dogmata\"],[\"lemma\",\"lemmata\"],[\"schema\",\"schemata\"],[\"anathema\",\"anathemata\"],[\"ox\",\"oxen\"],[\"axe\",\"axes\"],[\"die\",\"dice\"],[\"yes\",\"yeses\"],[\"foot\",\"feet\"],[\"eave\",\"eaves\"],[\"goose\",\"geese\"],[\"tooth\",\"teeth\"],[\"quiz\",\"quizzes\"],[\"human\",\"humans\"],[\"proof\",\"proofs\"],[\"carve\",\"carves\"],[\"valve\",\"valves\"],[\"looey\",\"looies\"],[\"thief\",\"thieves\"],[\"groove\",\"grooves\"],[\"pickaxe\",\"pickaxes\"],[\"passerby\",\"passersby\"]].forEach((function(e){return p.addIrregularRule(e[0],e[1])})),[[/s?$/i,\"s\"],[/[^\\u0000-\\u007F]$/i,\"$0\"],[/([^aeiou]ese)$/i,\"$1\"],[/(ax|test)is$/i,\"$1es\"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,\"$1es\"],[/(e[mn]u)s?$/i,\"$1s\"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,\"$1\"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1i\"],[/(alumn|alg|vertebr)(?:a|ae)$/i,\"$1ae\"],[/(seraph|cherub)(?:im)?$/i,\"$1im\"],[/(her|at|gr)o$/i,\"$1oes\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,\"$1a\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,\"$1a\"],[/sis$/i,\"ses\"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,\"$1$2ves\"],[/([^aeiouy]|qu)y$/i,\"$1ies\"],[/([^ch][ieo][ln])ey$/i,\"$1ies\"],[/(x|ch|ss|sh|zz)$/i,\"$1es\"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,\"$1ices\"],[/\\b((?:tit)?m|l)(?:ice|ouse)$/i,\"$1ice\"],[/(pe)(?:rson|ople)$/i,\"$1ople\"],[/(child)(?:ren)?$/i,\"$1ren\"],[/eaux$/i,\"$0\"],[/m[ae]n$/i,\"men\"],[\"thou\",\"you\"]].forEach((function(e){return p.addPluralRule(e[0],e[1])})),[[/s$/i,\"\"],[/(ss)$/i,\"$1\"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i,\"$1fe\"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,\"$1f\"],[/ies$/i,\"y\"],[/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,\"$1ie\"],[/\\b(mon|smil)ies$/i,\"$1ey\"],[/\\b((?:tit)?m|l)ice$/i,\"$1ouse\"],[/(seraph|cherub)im$/i,\"$1\"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,\"$1\"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,\"$1sis\"],[/(movie|twelve|abuse|e[mn]u)s$/i,\"$1\"],[/(test)(?:is|es)$/i,\"$1is\"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1us\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,\"$1um\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,\"$1on\"],[/(alumn|alg|vertebr)ae$/i,\"$1a\"],[/(cod|mur|sil|vert|ind)ices$/i,\"$1ex\"],[/(matr|append)ices$/i,\"$1ix\"],[/(pe)(rson|ople)$/i,\"$1rson\"],[/(child)ren$/i,\"$1\"],[/(eau)x?$/i,\"$1\"],[/men$/i,\"man\"]].forEach((function(e){return p.addSingularRule(e[0],e[1])})),[\"adulthood\",\"advice\",\"agenda\",\"aid\",\"aircraft\",\"alcohol\",\"ammo\",\"analytics\",\"anime\",\"athletics\",\"audio\",\"bison\",\"blood\",\"bream\",\"buffalo\",\"butter\",\"carp\",\"cash\",\"chassis\",\"chess\",\"clothing\",\"cod\",\"commerce\",\"cooperation\",\"corps\",\"debris\",\"diabetes\",\"digestion\",\"elk\",\"energy\",\"equipment\",\"excretion\",\"expertise\",\"firmware\",\"flounder\",\"fun\",\"gallows\",\"garbage\",\"graffiti\",\"hardware\",\"headquarters\",\"health\",\"herpes\",\"highjinks\",\"homework\",\"housework\",\"information\",\"jeans\",\"justice\",\"kudos\",\"labour\",\"literature\",\"machinery\",\"mackerel\",\"mail\",\"media\",\"mews\",\"moose\",\"music\",\"mud\",\"manga\",\"news\",\"only\",\"personnel\",\"pike\",\"plankton\",\"pliers\",\"police\",\"pollution\",\"premises\",\"rain\",\"research\",\"rice\",\"salmon\",\"scissors\",\"series\",\"sewage\",\"shambles\",\"shrimp\",\"software\",\"species\",\"staff\",\"swine\",\"tennis\",\"traffic\",\"transportation\",\"trout\",\"tuna\",\"wealth\",\"welfare\",\"whiting\",\"wildebeest\",\"wildlife\",\"you\",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(p.addUncountableRule),p}()},7022:function(){!function(e){var t=\"\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b\",n={pattern:/(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,lookbehind:!0,alias:\"punctuation\",inside:null},r={bash:n,environment:{pattern:RegExp(\"\\\\$\"+t),alias:\"constant\"},variable:[{pattern:/\\$?\\(\\([\\s\\S]+?\\)\\)/,greedy:!0,inside:{variable:[{pattern:/(^\\$\\(\\([\\s\\S]+)\\)\\)/,lookbehind:!0},/^\\$\\(\\(/],number:/\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,operator:/--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,punctuation:/\\(\\(?|\\)\\)?|,|;/}},{pattern:/\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,greedy:!0,inside:{variable:/^\\$\\(|^`|\\)$|`$/}},{pattern:/\\$\\{[^}]+\\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,punctuation:/[\\[\\]]/,environment:{pattern:RegExp(\"(\\\\{)\"+t),lookbehind:!0,alias:\"constant\"}}},/\\$(?:\\w+|[#?*!@$])/],entity:/\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\\s*\\/.*/,alias:\"important\"},comment:{pattern:/(^|[^\"{\\\\$])#.*/,lookbehind:!0},\"function-name\":[{pattern:/(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,lookbehind:!0,alias:\"function\"},{pattern:/\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,alias:\"function\"}],\"for-or-select\":{pattern:/(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,alias:\"variable\",lookbehind:!0},\"assign-left\":{pattern:/(^|[\\s;|&]|[<>]\\()\\w+(?:\\.\\w+)*(?=\\+?=)/,inside:{environment:{pattern:RegExp(\"(^|[\\\\s;|&]|[<>]\\\\()\"+t),lookbehind:!0,alias:\"constant\"}},alias:\"variable\",lookbehind:!0},parameter:{pattern:/(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w+(?:\\.\\w+)*(?=[=\\s]|$)/,alias:\"variable\",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(\"\\\\$?\"+t),alias:\"constant\"},variable:r.variable,function:{pattern:/(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,lookbehind:!0,alias:\"class-name\"},boolean:{pattern:/(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,lookbehind:!0},\"file-descriptor\":{pattern:/\\B&\\d\\b/,alias:\"important\"},operator:{pattern:/\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,inside:{\"file-descriptor\":{pattern:/^\\d/,alias:\"important\"}}},punctuation:/\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,number:{pattern:/(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[\"comment\",\"function-name\",\"for-or-select\",\"assign-left\",\"parameter\",\"string\",\"environment\",\"function\",\"keyword\",\"builtin\",\"boolean\",\"file-descriptor\",\"operator\",\"punctuation\",\"number\"],o=r.variable[1].inside,s=0;s<i.length;s++)o[i[s]]=e.languages.bash[i[s]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(Prism)},271:function(){Prism.languages.c=Prism.languages.extend(\"clike\",{comment:{pattern:/\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,greedy:!0},string:{pattern:/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},\"class-name\":{pattern:/(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,lookbehind:!0},keyword:/\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,number:/(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore(\"c\",\"string\",{char:{pattern:/'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore(\"c\",\"string\",{macro:{pattern:/(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,lookbehind:!0,greedy:!0,alias:\"property\",inside:{string:[{pattern:/^(#\\s*include\\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,\"macro-name\":[{pattern:/(^#\\s*define\\s+)\\w+\\b(?!\\()/i,lookbehind:!0},{pattern:/(^#\\s*define\\s+)\\w+\\b(?=\\()/i,lookbehind:!0,alias:\"function\"}],directive:{pattern:/^(#\\s*)[a-z]+/,lookbehind:!0,alias:\"keyword\"},\"directive-hash\":/^#/,punctuation:/##|\\\\(?=[\\r\\n])/,expression:{pattern:/\\S[\\s\\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore(\"c\",\"function\",{constant:/\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/}),delete Prism.languages.c.boolean},5624:function(){Prism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,boolean:/\\b(?:false|true)\\b/,function:/\\b\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/}},4511:function(){!function(e){var t=/#(?!\\{).+/,n={pattern:/#\\{[^}]+\\}/,alias:\"variable\"};e.languages.coffeescript=e.languages.extend(\"javascript\",{comment:t,string:[{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,greedy:!0,inside:{interpolation:n}}],keyword:/\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\"class-member\":{pattern:/@(?!\\d)\\w+/,alias:\"variable\"}}),e.languages.insertBefore(\"coffeescript\",\"comment\",{\"multiline-comment\":{pattern:/###[\\s\\S]+?###/,alias:\"comment\"},\"block-regex\":{pattern:/\\/{3}[\\s\\S]*?\\/{3}/,alias:\"regex\",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore(\"coffeescript\",\"string\",{\"inline-javascript\":{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:\"punctuation\"},script:{pattern:/[\\s\\S]+/,alias:\"language-javascript\",inside:e.languages.javascript}}},\"multiline-string\":[{pattern:/'''[\\s\\S]*?'''/,greedy:!0,alias:\"string\"},{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\",inside:{interpolation:n}}]}),e.languages.insertBefore(\"coffeescript\",\"keyword\",{property:/(?!\\d)\\w+(?=\\s*:(?!:))/}),delete e.languages.coffeescript[\"template-string\"],e.languages.coffee=e.languages.coffeescript}(Prism)},2415:function(){!function(e){var t=/\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/,n=/\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend(\"c\",{\"class-name\":[{pattern:RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/],keyword:t,number:{pattern:/(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,boolean:/\\b(?:false|true)\\b/}),e.languages.insertBefore(\"cpp\",\"string\",{module:{pattern:RegExp(/(\\b(?:import|module)\\s+)/.source+\"(?:\"+/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source+\"|\"+/<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+\")\"),lookbehind:!0,greedy:!0,inside:{string:/^[<\"][\\s\\S]+/,operator:/:/,punctuation:/\\./}},\"raw-string\":{pattern:/R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,alias:\"string\",greedy:!0}}),e.languages.insertBefore(\"cpp\",\"keyword\",{\"generic-function\":{pattern:/\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,inside:{function:/^\\w+/,generic:{pattern:/<[\\s\\S]+/,alias:\"class-name\",inside:e.languages.cpp}}}}),e.languages.insertBefore(\"cpp\",\"operator\",{\"double-colon\":{pattern:/::/,alias:\"punctuation\"}}),e.languages.insertBefore(\"cpp\",\"class-name\",{\"base-clause\":{pattern:/(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(\"cpp\",{})}}),e.languages.insertBefore(\"inside\",\"double-colon\",{\"class-name\":/\\b[a-z_]\\w*\\b(?!\\s*::)/i},e.languages.cpp[\"base-clause\"])}(Prism)},5651:function(){!function(e){function t(e,t){return e.replace(/<<(\\d+)>>/g,(function(e,n){return\"(?:\"+t[+n]+\")\"}))}function n(e,n,r){return RegExp(t(e,n),r||\"\")}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,(function(){return\"(?:\"+e+\")\"}));return e.replace(/<<self>>/g,\"[^\\\\s\\\\S]\")}var i=\"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void\",o=\"class enum interface record struct\",s=\"add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)\",a=\"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield\";function l(e){return\"\\\\b(?:\"+e.trim().replace(/ /g,\"|\")+\")\\\\b\"}var c=l(o),u=RegExp(l(i+\" \"+o+\" \"+s+\" \"+a)),p=l(o+\" \"+s+\" \"+a),d=l(i+\" \"+o+\" \"+a),f=r(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source,2),h=r(/\\((?:[^()]|<<self>>)*\\)/.source,2),m=/@?\\b[A-Za-z_]\\w*\\b/.source,g=t(/<<0>>(?:\\s*<<1>>)?/.source,[m,f]),y=t(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source,[p,g]),b=/\\[\\s*(?:,\\s*)*\\]/.source,v=t(/<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,[y,b]),x=t(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[f,h,b]),w=t(/\\(<<0>>+(?:,<<0>>+)+\\)/.source,[x]),k=t(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,[w,y,b]),S={keyword:u,punctuation:/[<>()?,.:[\\]]/},E=/'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source,O=/\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source,_=/@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source;e.languages.csharp=e.languages.extend(\"clike\",{string:[{pattern:n(/(^|[^$\\\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\\\])<<0>>/.source,[O]),lookbehind:!0,greedy:!0}],\"class-name\":[{pattern:n(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source,[y]),lookbehind:!0,inside:S},{pattern:n(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source,[m,k]),lookbehind:!0,inside:S},{pattern:n(/(\\busing\\s+)<<0>>(?=\\s*=)/.source,[m]),lookbehind:!0},{pattern:n(/(\\b<<0>>\\s+)<<1>>/.source,[c,g]),lookbehind:!0,inside:S},{pattern:n(/(\\bcatch\\s*\\(\\s*)<<0>>/.source,[y]),lookbehind:!0,inside:S},{pattern:n(/(\\bwhere\\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:n(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source,[v]),lookbehind:!0,inside:S},{pattern:n(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source,[k,d,m]),inside:S}],keyword:u,number:/(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\\?\\.?|::|[{}[\\];(),.:]/}),e.languages.insertBefore(\"csharp\",\"number\",{range:{pattern:/\\.\\./,alias:\"operator\"}}),e.languages.insertBefore(\"csharp\",\"punctuation\",{\"named-parameter\":{pattern:n(/([(,]\\s*)<<0>>(?=\\s*:)/.source,[m]),lookbehind:!0,alias:\"punctuation\"}}),e.languages.insertBefore(\"csharp\",\"class-name\",{namespace:{pattern:n(/(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\\./}},\"type-expression\":{pattern:n(/(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/.source,[h]),lookbehind:!0,alias:\"class-name\",inside:S},\"return-type\":{pattern:n(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,[k,y]),inside:S,alias:\"class-name\"},\"constructor-invocation\":{pattern:n(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source,[k]),lookbehind:!0,inside:S,alias:\"class-name\"},\"generic-method\":{pattern:n(/<<0>>\\s*<<1>>(?=\\s*\\()/.source,[m,f]),inside:{function:n(/^<<0>>/.source,[m]),generic:{pattern:RegExp(f),alias:\"class-name\",inside:S}}},\"type-list\":{pattern:n(/\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/.source,[c,g,m,k,u.source,h,/\\bnew\\s*\\(\\s*\\)/.source]),lookbehind:!0,inside:{\"record-arguments\":{pattern:n(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source,[g,h]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,\"class-name\":{pattern:RegExp(k),greedy:!0,inside:S},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\\t ]*)#.*/m,lookbehind:!0,alias:\"property\",inside:{directive:{pattern:/(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,lookbehind:!0,alias:\"keyword\"}}}});var A=O+\"|\"+E,C=t(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,[A]),j=r(t(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source,[C]),2),P=/\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source,T=t(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source,[y,j]);e.languages.insertBefore(\"csharp\",\"class-name\",{attribute:{pattern:n(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source,[P,T]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\\s*:)/.source,[P]),alias:\"keyword\"},\"attribute-arguments\":{pattern:n(/\\(<<0>>*\\)/.source,[j]),inside:e.languages.csharp},\"class-name\":{pattern:RegExp(y),inside:{punctuation:/\\./}},punctuation:/[:,]/}}});var I=/:[^}\\r\\n]+/.source,R=r(t(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source,[C]),2),N=t(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[R,I]),$=r(t(/[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source,[A]),2),L=t(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[$,I]);function D(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{\"format-string\":{pattern:n(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source,[r,I]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\\{|\\}$/,expression:{pattern:/[\\s\\S]+/,alias:\"language-csharp\",inside:e.languages.csharp}}},string:/[\\s\\S]+/}}e.languages.insertBefore(\"csharp\",\"string\",{\"interpolation-string\":[{pattern:n(/(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source,[N]),lookbehind:!0,greedy:!0,inside:D(N,R)},{pattern:n(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source,[L]),lookbehind:!0,greedy:!0,inside:D(L,$)}],char:{pattern:RegExp(E),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},2630:function(){Prism.languages.csv={value:/[^\\r\\n,\"]+|\"(?:[^\"]|\"\")*\"(?!\")/,punctuation:/,/}},6378:function(){Prism.languages.go=Prism.languages.extend(\"clike\",{string:{pattern:/(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,boolean:/\\b(?:_|false|iota|nil|true)\\b/,number:[/\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,/\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,/(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i],operator:/[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,builtin:/\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/}),Prism.languages.insertBefore(\"go\",\"string\",{char:{pattern:/'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go[\"class-name\"]},4784:function(){!function(e){function t(e){return RegExp(\"(^(?:\"+e+\"):[ \\t]*(?![ \\t]))[^]+\",\"i\")}e.languages.http={\"request-line\":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[\\d.]+/m,inside:{method:{pattern:/^[A-Z]+\\b/,alias:\"property\"},\"request-target\":{pattern:/^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,lookbehind:!0,alias:\"url\",inside:e.languages.uri},\"http-version\":{pattern:/^(\\s)HTTP\\/[\\d.]+/,lookbehind:!0,alias:\"property\"}}},\"response-status\":{pattern:/^HTTP\\/[\\d.]+ \\d+ .+/m,inside:{\"http-version\":{pattern:/^HTTP\\/[\\d.]+/,alias:\"property\"},\"status-code\":{pattern:/^(\\s)\\d+(?=\\s)/,lookbehind:!0,alias:\"number\"},\"reason-phrase\":{pattern:/^(\\s).+/,lookbehind:!0,alias:\"string\"}}},header:{pattern:/^[\\w-]+:.+(?:(?:\\r\\n?|\\n)[ \\t].+)*/m,inside:{\"header-value\":[{pattern:t(/Content-Security-Policy/.source),lookbehind:!0,alias:[\"csp\",\"languages-csp\"],inside:e.languages.csp},{pattern:t(/Public-Key-Pins(?:-Report-Only)?/.source),lookbehind:!0,alias:[\"hpkp\",\"languages-hpkp\"],inside:e.languages.hpkp},{pattern:t(/Strict-Transport-Security/.source),lookbehind:!0,alias:[\"hsts\",\"languages-hsts\"],inside:e.languages.hsts},{pattern:t(/[^:]+/.source),lookbehind:!0}],\"header-name\":{pattern:/^[^:]+/,alias:\"keyword\"},punctuation:/^:/}}};var n,r=e.languages,i={\"application/javascript\":r.javascript,\"application/json\":r.json||r.javascript,\"application/xml\":r.xml,\"text/xml\":r.xml,\"text/html\":r.html,\"text/css\":r.css,\"text/plain\":r.plain},o={\"application/json\":!0,\"application/xml\":!0};function s(e){var t=e.replace(/^[a-z]+\\//,\"\");return\"(?:\"+e+\"|\\\\w+/(?:[\\\\w.-]+\\\\+)+\"+t+\"(?![+\\\\w.-]))\"}for(var a in i)if(i[a]){n=n||{};var l=o[a]?s(a):a;n[a.replace(/\\//g,\"-\")]={pattern:RegExp(\"(\"+/content-type:\\s*/.source+l+/(?:(?:\\r\\n?|\\n)[\\w-].*)*(?:\\r(?:\\n|(?!\\n))|\\n)/.source+\")\"+/[^ \\t\\w-][\\s\\S]*/.source,\"i\"),lookbehind:!0,inside:i[a]}}n&&e.languages.insertBefore(\"http\",\"header\",n)}(Prism)},6976:function(){!function(e){var t=/\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/,n=/(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source,r={pattern:RegExp(/(^|[^\\w.])/.source+n+/[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,inside:{punctuation:/\\./}},punctuation:/\\./}};e.languages.java=e.languages.extend(\"clike\",{string:{pattern:/(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,lookbehind:!0,greedy:!0},\"class-name\":[r,{pattern:RegExp(/(^|[^\\w.])/.source+n+/[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source+n+/[A-Z]\\w*\\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\\s*)[a-z_]\\w*/,lookbehind:!0}],number:/\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\\b[A-Z][A-Z_\\d]+\\b/}),e.languages.insertBefore(\"java\",\"string\",{\"triple-quoted-string\":{pattern:/\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,greedy:!0,alias:\"string\"},char:{pattern:/'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(\"java\",\"class-name\",{annotation:{pattern:/(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,lookbehind:!0,alias:\"punctuation\"},generics:{pattern:/<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{\"class-name\":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\\bimport\\s+)/.source+n+/(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\\./,operator:/\\*/,\"class-name\":/\\w+/}},{pattern:RegExp(/(\\bimport\\s+static\\s+)/.source+n+/(?:\\w+|\\*)(?=\\s*;)/.source),lookbehind:!0,alias:\"static\",inside:{namespace:r.inside.namespace,static:/\\b\\w+$/,punctuation:/\\./,operator:/\\*/,\"class-name\":/\\w+/}}],namespace:{pattern:RegExp(/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\\./}}})}(Prism)},64:function(){Prism.languages.lua={comment:/^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,string:{pattern:/([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,greedy:!0},number:/\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,keyword:/\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,function:/(?!\\d)\\w+(?=\\s*(?:[({]))/,operator:[/[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\\.\\.(?!\\.)/,lookbehind:!0}],punctuation:/[\\[\\](){},;]|\\.+|:+/}},9700:function(){!function(e){function t(e,t){return\"___\"+e.toUpperCase()+t+\"___\"}Object.defineProperties(e.languages[\"markup-templating\"]={},{buildPlaceholders:{value:function(n,r,i,o){if(n.language===r){var s=n.tokenStack=[];n.code=n.code.replace(i,(function(e){if(\"function\"==typeof o&&!o(e))return e;for(var i,a=s.length;-1!==n.code.indexOf(i=t(r,a));)++a;return s[a]=e,i})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var i=0,o=Object.keys(n.tokenStack);!function s(a){for(var l=0;l<a.length&&!(i>=o.length);l++){var c=a[l];if(\"string\"==typeof c||c.content&&\"string\"==typeof c.content){var u=o[i],p=n.tokenStack[u],d=\"string\"==typeof c?c:c.content,f=t(r,u),h=d.indexOf(f);if(h>-1){++i;var m=d.substring(0,h),g=new e.Token(r,e.tokenize(p,n.grammar),\"language-\"+r,p),y=d.substring(h+f.length),b=[];m&&b.push.apply(b,s([m])),b.push(g),y&&b.push.apply(b,s([y])),\"string\"==typeof c?a.splice.apply(a,[l,1].concat(b)):c.content=b}}else c.content&&s(c.content)}return a}(n.tokens)}}}})}(Prism)},4312:function(){Prism.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\\s\\S])*?-->/,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,greedy:!0,inside:{\"internal-subset\":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\\]]/,\"doctype-tag\":/^DOCTYPE/i,name:/[^\\s<>'\"]+/}},cdata:{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"special-attr\":[],\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:\"attr-equals\"},{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:\"named-entity\"},/&#x?[\\da-f]{1,8};/i]},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside[\"internal-subset\"].inside=Prism.languages.markup,Prism.hooks.add(\"wrap\",(function(e){\"entity\"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,\"&\"))})),Object.defineProperty(Prism.languages.markup.tag,\"addInlined\",{value:function(e,t){var n={};n[\"language-\"+t]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var r={\"included-cdata\":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:n}};r[\"language-\"+t]={pattern:/[\\s\\S]+/,inside:Prism.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g,(function(){return e})),\"i\"),lookbehind:!0,greedy:!0,inside:r},Prism.languages.insertBefore(\"markup\",\"cdata\",i)}}),Object.defineProperty(Prism.languages.markup.tag,\"addAttribute\",{value:function(e,t){Prism.languages.markup.tag.inside[\"special-attr\"].push({pattern:RegExp(/(^|[\"'\\s])/.source+\"(?:\"+e+\")\"+/\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\"i\"),lookbehind:!0,inside:{\"attr-name\":/^[^\\s=]+/,\"attr-value\":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[t,\"language-\"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend(\"markup\",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},596:function(){Prism.languages.objectivec=Prism.languages.extend(\"c\",{string:{pattern:/@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,greedy:!0},keyword:/\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,operator:/-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/}),delete Prism.languages.objectivec[\"class-name\"],Prism.languages.objc=Prism.languages.objectivec},2821:function(){!function(e){var t=/(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/.source;e.languages.perl={comment:[{pattern:/(^\\s*)=\\w[\\s\\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source+\"(?:\"+[/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,/([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,t].join(\"|\")+\")\"),greedy:!0},{pattern:/(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,greedy:!0},{pattern:/'(?:[^'\\\\\\r\\n]|\\\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source+\"(?:\"+[/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,/([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,t].join(\"|\")+\")\"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source+\"(?:\"+[/([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,/([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/.source,t+/\\s*/.source+t].join(\"|\")+\")\"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,greedy:!0}],variable:[/[&*$@%]\\{\\^[A-Z]+\\}/,/[&*$@%]\\^[A-Z_]/,/[&*$@%]#?(?=\\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/,/[&*$@%]\\d+/,/(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\\S*?>|\\b_\\b/,alias:\"symbol\"},\"v-string\":{pattern:/v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,alias:\"string\"},function:{pattern:/(\\bsub[ \\t]+)\\w+/,lookbehind:!0},keyword:/\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,number:/\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,punctuation:/[{}[\\];(),:]/}}(Prism)},3554:function(){!function(e){var t=/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/,n=[{pattern:/\\b(?:false|true)\\b/i,alias:\"boolean\"},{pattern:/(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,greedy:!0,lookbehind:!0},{pattern:/(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,greedy:!0,lookbehind:!0},/\\b(?:null)\\b/i,/\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/],r=/\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,i=/<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\\[\\](),:;]/;e.languages.php={delimiter:{pattern:/\\?>$|^<\\?(?:php(?=\\s)|=)?/i,alias:\"important\"},comment:t,variable:/\\$+(?:\\w+\\b|(?=\\{))/,package:{pattern:/(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,lookbehind:!0,inside:{punctuation:/\\\\/}},\"class-name-definition\":{pattern:/(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,lookbehind:!0,alias:\"class-name\"},\"function-definition\":{pattern:/(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,lookbehind:!0,alias:\"function\"},keyword:[{pattern:/(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,alias:\"type-casting\",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,alias:\"type-hint\",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,alias:\"return-type\",greedy:!0,lookbehind:!0},{pattern:/\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,alias:\"type-declaration\",greedy:!0},{pattern:/(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,alias:\"type-declaration\",greedy:!0,lookbehind:!0},{pattern:/\\b(?:parent|self|static)(?=\\s*::)/i,alias:\"static-context\",greedy:!0},{pattern:/(\\byield\\s+)from\\b/i,lookbehind:!0},/\\bclass\\b/i,{pattern:/((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,lookbehind:!0}],\"argument-name\":{pattern:/([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,lookbehind:!0},\"class-name\":[{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,greedy:!0,lookbehind:!0},{pattern:/\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,greedy:!0},{pattern:/(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,alias:\"class-name-fully-qualified\",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,alias:\"class-name-fully-qualified\",greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:\"class-name-fully-qualified\",greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*\\$)/i,alias:\"type-declaration\",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:[\"class-name-fully-qualified\",\"type-declaration\"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/\\b[a-z_]\\w*(?=\\s*::)/i,alias:\"static-context\",greedy:!0},{pattern:/(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,alias:[\"class-name-fully-qualified\",\"static-context\"],greedy:!0,inside:{punctuation:/\\\\/}},{pattern:/([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,alias:\"type-hint\",greedy:!0,lookbehind:!0},{pattern:/([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,alias:[\"class-name-fully-qualified\",\"type-hint\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:\"return-type\",greedy:!0,lookbehind:!0},{pattern:/(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,alias:[\"class-name-fully-qualified\",\"return-type\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:n,function:{pattern:/(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,lookbehind:!0,inside:{punctuation:/\\\\/}},property:{pattern:/(->\\s*)\\w+/,lookbehind:!0},number:r,operator:i,punctuation:o};var s={pattern:/\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,lookbehind:!0,inside:e.languages.php},a=[{pattern:/<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,alias:\"nowdoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,alias:\"heredoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,alias:\"symbol\",inside:{punctuation:/^<<<\"?|[\";]$/}},interpolation:s}},{pattern:/`(?:\\\\[\\s\\S]|[^\\\\`])*`/,alias:\"backtick-quoted-string\",greedy:!0},{pattern:/'(?:\\\\[\\s\\S]|[^\\\\'])*'/,alias:\"single-quoted-string\",greedy:!0},{pattern:/\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,alias:\"double-quoted-string\",greedy:!0,inside:{interpolation:s}}];e.languages.insertBefore(\"php\",\"variable\",{string:a,attribute:{pattern:/#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,greedy:!0,inside:{\"attribute-content\":{pattern:/^(#\\[)[\\s\\S]+(?=\\]$)/,lookbehind:!0,inside:{comment:t,string:a,\"attribute-class-name\":[{pattern:/([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,alias:\"class-name\",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,alias:[\"class-name\",\"class-name-fully-qualified\"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\\\/}}],constant:n,number:r,operator:i,punctuation:o}},delimiter:{pattern:/^#\\[|\\]$/,alias:\"punctuation\"}}}}),e.hooks.add(\"before-tokenize\",(function(t){/<\\?/.test(t.code)&&e.languages[\"markup-templating\"].buildPlaceholders(t,\"php\",/<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g)})),e.hooks.add(\"after-tokenize\",(function(t){e.languages[\"markup-templating\"].tokenizePlaceholders(t,\"php\")}))}(Prism)},2342:function(){Prism.languages.python={comment:{pattern:/(^|[^\\\\])#.*/,lookbehind:!0,greedy:!0},\"string-interpolation\":{pattern:/(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,lookbehind:!0,inside:{\"format-spec\":{pattern:/(:)[^:(){}]+(?=\\}$)/,lookbehind:!0},\"conversion-option\":{pattern:/![sra](?=[:}]$)/,alias:\"punctuation\"},rest:null}},string:/[\\s\\S]+/}},\"triple-quoted-string\":{pattern:/(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,greedy:!0,alias:\"string\"},string:{pattern:/(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,greedy:!0},function:{pattern:/((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,lookbehind:!0},\"class-name\":{pattern:/(\\bclass\\s+)\\w+/i,lookbehind:!0},decorator:{pattern:/(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,lookbehind:!0,alias:[\"annotation\",\"punctuation\"],inside:{punctuation:/\\./}},keyword:/\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,builtin:/\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,boolean:/\\b(?:False|None|True)\\b/,number:/\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,operator:/[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\\];(),.:]/},Prism.languages.python[\"string-interpolation\"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python},4113:function(){Prism.languages.q={string:/\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,comment:[{pattern:/([\\t )\\]}])\\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\\S+|[\\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,alias:\"number\"},number:/\\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,keyword:/\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,adverb:{pattern:/['\\/\\\\]:?|\\beach\\b/,alias:\"function\"},verb:{pattern:/(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,alias:\"operator\"},punctuation:/[(){}\\[\\];.]/}},1648:function(){!function(e){e.languages.ruby=e.languages.extend(\"clike\",{comment:{pattern:/#.*|^=begin\\s[\\s\\S]*?^=end/m,greedy:!0},\"class-name\":{pattern:/(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,operator:/\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\\].,;]/}),e.languages.insertBefore(\"ruby\",\"operator\",{\"double-colon\":{pattern:/::/,alias:\"punctuation\"}});var t={pattern:/((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,lookbehind:!0,inside:{content:{pattern:/^(#\\{)[\\s\\S]+(?=\\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\\{|\\}$/,alias:\"punctuation\"}}};delete e.languages.ruby.function;var n=\"(?:\"+[/([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,/\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,/\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,/\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,/<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source].join(\"|\")+\")\",r=/(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/.source;e.languages.insertBefore(\"ruby\",\"keyword\",{\"regex-literal\":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\\s\\S]+/}},{pattern:/(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\\s\\S]+/}}],variable:/[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\\r\\n{(,][ \\t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],\"method-definition\":{pattern:/(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,lookbehind:!0,inside:{function:/\\b\\w+$/,keyword:/^self\\b/,\"class-name\":/^\\w+/,punctuation:/\\./}}}),e.languages.insertBefore(\"ruby\",\"string\",{\"string-literal\":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\\s\\S]+/}},{pattern:/(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,greedy:!0,inside:{interpolation:t,string:/[\\s\\S]+/}},{pattern:/<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:\"heredoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\\s\\S]+/}},{pattern:/<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,alias:\"heredoc-string\",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,inside:{symbol:/\\b\\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\\s\\S]+/}}],\"command-literal\":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\\s\\S]+/,alias:\"string\"}}},{pattern:/`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\\s\\S]+/,alias:\"string\"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore(\"ruby\",\"number\",{builtin:/\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,constant:/\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/}),e.languages.rb=e.languages.ruby}(Prism)},4252:function(){Prism.languages.scala=Prism.languages.extend(\"java\",{\"triple-quoted-string\":{pattern:/\"\"\"[\\s\\S]*?\"\"\"/,greedy:!0,alias:\"string\"},string:{pattern:/(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},keyword:/<-|=>|\\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\\b/,number:/\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,builtin:/\\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\\b/,symbol:/'[^\\d\\s\\\\]\\w*/}),Prism.languages.insertBefore(\"scala\",\"triple-quoted-string\",{\"string-interpolation\":{pattern:/\\b[a-z]\\w*(?:\"\"\"(?:[^$]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*?\"\"\"|\"(?:[^$\"\\r\\n]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*\")/i,greedy:!0,inside:{id:{pattern:/^\\w+/,greedy:!0,alias:\"function\"},escape:{pattern:/\\\\\\$\"|\\$[$\"]/,greedy:!0,alias:\"symbol\"},interpolation:{pattern:/\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,greedy:!0,inside:{punctuation:/^\\$\\{?|\\}$/,expression:{pattern:/[\\s\\S]+/,inside:Prism.languages.scala}}},string:/[\\s\\S]+/}}}),delete Prism.languages.scala[\"class-name\"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},6966:function(){Prism.languages.sql={comment:{pattern:/(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,lookbehind:!0},variable:[{pattern:/@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,greedy:!0},/@[\\w.$]+/],string:{pattern:/(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,keyword:/\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,boolean:/\\b(?:FALSE|NULL|TRUE)\\b/i,number:/\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,operator:/[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,punctuation:/[;[\\]()`,.]/}},4793:function(){Prism.languages.swift={comment:{pattern:/(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,lookbehind:!0,greedy:!0},\"string-literal\":[{pattern:RegExp(/(^|[^\"#])/.source+\"(?:\"+/\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source+\"|\"+/\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source+\")\"+/(?![\"#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},\"interpolation-punctuation\":{pattern:/^\\)|\\\\\\($/,alias:\"punctuation\"},punctuation:/\\\\(?=[\\r\\n])/,string:/[\\s\\S]+/}},{pattern:RegExp(/(^|[^\"#])(#+)/.source+\"(?:\"+/\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source+\"|\"+/\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source+\")\\\\2\"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,lookbehind:!0,inside:null},\"interpolation-punctuation\":{pattern:/^\\)|\\\\#+\\($/,alias:\"punctuation\"},string:/[\\s\\S]+/}}],directive:{pattern:RegExp(/#/.source+\"(?:\"+/(?:elseif|if)\\b/.source+\"(?:[ \\t]*\"+/(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source+\")+|\"+/(?:else|endif)\\b/.source+\")\"),alias:\"property\",inside:{\"directive-name\":/^#\\w+/,boolean:/\\b(?:false|true)\\b/,number:/\\b\\d+(?:\\.\\d+)*\\b/,operator:/!|&&|\\|\\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,alias:\"constant\"},\"other-directive\":{pattern:/#\\w+\\b/,alias:\"property\"},attribute:{pattern:/@\\w+/,alias:\"atrule\"},\"function-definition\":{pattern:/(\\bfunc\\s+)\\w+/,lookbehind:!0,alias:\"function\"},label:{pattern:/\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,lookbehind:!0,alias:\"important\"},keyword:/\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,boolean:/\\b(?:false|true)\\b/,nil:{pattern:/\\bnil\\b/,alias:\"constant\"},\"short-argument\":/\\$\\d+\\b/,omit:{pattern:/\\b_\\b/,alias:\"keyword\"},number:/\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\"class-name\":/\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,function:/\\b[a-z_]\\w*(?=\\s*\\()/i,constant:/\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,operator:/[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\\]();,.:\\\\]/},Prism.languages.swift[\"string-literal\"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift}))},83:function(){!function(e){var t=/[*&][^\\s[\\]{},]+/,n=/!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/,r=\"(?:\"+n.source+\"(?:[ \\t]+\"+t.source+\")?|\"+t.source+\"(?:[ \\t]+\"+n.source+\")?)\",i=/(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/.source})),o=/\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source;function s(e,t){t=(t||\"\").replace(/m/g,\"\")+\"m\";var n=/([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:\"string\"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return\"(?:\"+i+\"|\"+o+\")\"}))),lookbehind:!0,greedy:!0,alias:\"atrule\"},directive:{pattern:/(^[ \\t]*)%.+/m,lookbehind:!0,alias:\"important\"},datetime:{pattern:s(/\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/.source),lookbehind:!0,alias:\"number\"},boolean:{pattern:s(/false|true/.source,\"i\"),lookbehind:!0,alias:\"important\"},null:{pattern:s(/null|~/.source,\"i\"),lookbehind:!0,alias:\"important\"},string:{pattern:s(o),lookbehind:!0,greedy:!0},number:{pattern:s(/[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/.source,\"i\"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\\]{}\\-,|>?]|\\.\\.\\./},e.languages.yml=e.languages.yaml}(Prism)},8848:function(e,t,n){var r=function(e){var t=/(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i,n=0,r={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/\\u00a0/g,\" \")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,\"__id\",{value:++n}),e.__id},clone:function e(t,n){var r,o;switch(n=n||{},i.util.type(t)){case\"Object\":if(o=i.util.objId(t),n[o])return n[o];for(var s in r={},n[o]=r,t)t.hasOwnProperty(s)&&(r[s]=e(t[s],n));return r;case\"Array\":return o=i.util.objId(t),n[o]?n[o]:(r=[],n[o]=r,t.forEach((function(t,i){r[i]=e(t,n)})),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return\"none\"},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,\"gi\"),\"\"),e.classList.add(\"language-\"+n)},currentScript:function(){if(\"undefined\"==typeof document)return null;if(document.currentScript&&\"SCRIPT\"===document.currentScript.tagName)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName(\"script\");for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r=\"no-\"+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=i.util.clone(i.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var o=(r=r||i.languages)[e],s={};for(var a in o)if(o.hasOwnProperty(a)){if(a==t)for(var l in n)n.hasOwnProperty(l)&&(s[l]=n[l]);n.hasOwnProperty(a)||(s[a]=o[a])}var c=r[e];return r[e]=s,i.languages.DFS(i.languages,(function(t,n){n===c&&t!=e&&(this[t]=s)})),s},DFS:function e(t,n,r,o){o=o||{};var s=i.util.objId;for(var a in t)if(t.hasOwnProperty(a)){n.call(t,a,t[a],r||a);var l=t[a],c=i.util.type(l);\"Object\"!==c||o[s(l)]?\"Array\"!==c||o[s(l)]||(o[s(l)]=!0,e(l,n,a,o)):(o[s(l)]=!0,e(l,n,null,o))}}},plugins:{},highlightAll:function(e,t){i.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'};i.hooks.run(\"before-highlightall\",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),i.hooks.run(\"before-all-elements-highlight\",r);for(var o,s=0;o=r.elements[s++];)i.highlightElement(o,!0===t,r.callback)},highlightElement:function(t,n,r){var o=i.util.getLanguage(t),s=i.languages[o];i.util.setLanguage(t,o);var a=t.parentElement;a&&\"pre\"===a.nodeName.toLowerCase()&&i.util.setLanguage(a,o);var l={element:t,language:o,grammar:s,code:t.textContent};function c(e){l.highlightedCode=e,i.hooks.run(\"before-insert\",l),l.element.innerHTML=l.highlightedCode,i.hooks.run(\"after-highlight\",l),i.hooks.run(\"complete\",l),r&&r.call(l.element)}if(i.hooks.run(\"before-sanity-check\",l),(a=l.element.parentElement)&&\"pre\"===a.nodeName.toLowerCase()&&!a.hasAttribute(\"tabindex\")&&a.setAttribute(\"tabindex\",\"0\"),!l.code)return i.hooks.run(\"complete\",l),void(r&&r.call(l.element));if(i.hooks.run(\"before-highlight\",l),l.grammar)if(n&&e.Worker){var u=new Worker(i.filename);u.onmessage=function(e){c(e.data)},u.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else c(i.highlight(l.code,l.grammar,l.language));else c(i.util.encode(l.code))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(i.hooks.run(\"before-tokenize\",r),!r.grammar)throw new Error('The language \"'+r.language+'\" has no grammar.');return r.tokens=i.tokenize(r.code,r.grammar),i.hooks.run(\"after-tokenize\",r),o.stringify(i.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new l;return c(i,i.head,e),a(e,i,t,i.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(i)},hooks:{all:{},add:function(e,t){var n=i.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=i.hooks.all[e];if(n&&n.length)for(var r,o=0;r=n[o++];)r(t)}},Token:o};function o(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||\"\").length}function s(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var o=i[1].length;i.index+=o,i[0]=i[0].slice(o)}return i}function a(e,t,n,r,l,p){for(var d in n)if(n.hasOwnProperty(d)&&n[d]){var f=n[d];f=Array.isArray(f)?f:[f];for(var h=0;h<f.length;++h){if(p&&p.cause==d+\",\"+h)return;var m=f[h],g=m.inside,y=!!m.lookbehind,b=!!m.greedy,v=m.alias;if(b&&!m.pattern.global){var x=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,x+\"g\")}for(var w=m.pattern||m,k=r.next,S=l;k!==t.tail&&!(p&&S>=p.reach);S+=k.value.length,k=k.next){var E=k.value;if(t.length>e.length)return;if(!(E instanceof o)){var O,_=1;if(b){if(!(O=s(w,S,e,y))||O.index>=e.length)break;var A=O.index,C=O.index+O[0].length,j=S;for(j+=k.value.length;A>=j;)j+=(k=k.next).value.length;if(S=j-=k.value.length,k.value instanceof o)continue;for(var P=k;P!==t.tail&&(j<C||\"string\"==typeof P.value);P=P.next)_++,j+=P.value.length;_--,E=e.slice(S,j),O.index-=S}else if(!(O=s(w,0,E,y)))continue;A=O.index;var T=O[0],I=E.slice(0,A),R=E.slice(A+T.length),N=S+E.length;p&&N>p.reach&&(p.reach=N);var $=k.prev;if(I&&($=c(t,$,I),S+=I.length),u(t,$,_),k=c(t,$,new o(d,g?i.tokenize(T,g):T,v,T)),R&&c(t,k,R),_>1){var L={cause:d+\",\"+h,reach:N};a(e,t,n,k.prev,S,L),p&&L.reach>p.reach&&(p.reach=L.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function u(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}if(e.Prism=i,o.stringify=function e(t,n){if(\"string\"==typeof t)return t;if(Array.isArray(t)){var r=\"\";return t.forEach((function(t){r+=e(t,n)})),r}var o={type:t.type,content:e(t.content,n),tag:\"span\",classes:[\"token\",t.type],attributes:{},language:n},s=t.alias;s&&(Array.isArray(s)?Array.prototype.push.apply(o.classes,s):o.classes.push(s)),i.hooks.run(\"wrap\",o);var a=\"\";for(var l in o.attributes)a+=\" \"+l+'=\"'+(o.attributes[l]||\"\").replace(/\"/g,\"&quot;\")+'\"';return\"<\"+o.tag+' class=\"'+o.classes.join(\" \")+'\"'+a+\">\"+o.content+\"</\"+o.tag+\">\"},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener(\"message\",(function(t){var n=JSON.parse(t.data),r=n.language,o=n.code,s=n.immediateClose;e.postMessage(i.highlight(o,i.languages[r],r)),s&&e.close()}),!1),i):i;var p=i.util.currentScript();function d(){i.manual||i.highlightAll()}if(p&&(i.filename=p.src,p.hasAttribute(\"data-manual\")&&(i.manual=!0)),!i.manual){var f=document.readyState;\"loading\"===f||\"interactive\"===f&&p&&p.defer?document.addEventListener(\"DOMContentLoaded\",d):window.requestAnimationFrame?window.requestAnimationFrame(d):window.setTimeout(d,16)}return i}(\"undefined\"!=typeof window?window:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),void 0!==n.g&&(n.g.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\\s\\S])*?-->/,greedy:!0},prolog:{pattern:/<\\?[\\s\\S]+?\\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,greedy:!0,inside:{\"internal-subset\":{pattern:/(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/\"[^\"]*\"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\\]]/,\"doctype-tag\":/^DOCTYPE/i,name:/[^\\s<>'\"]+/}},cdata:{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,greedy:!0},tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,greedy:!0,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"special-attr\":[],\"attr-value\":{pattern:/=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:\"attr-equals\"},{pattern:/^(\\s*)[\"']|[\"']$/,lookbehind:!0}]}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:[{pattern:/&[\\da-z]{1,8};/i,alias:\"named-entity\"},/&#x?[\\da-f]{1,8};/i]},r.languages.markup.tag.inside[\"attr-value\"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside[\"internal-subset\"].inside=r.languages.markup,r.hooks.add(\"wrap\",(function(e){\"entity\"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,\"&\"))})),Object.defineProperty(r.languages.markup.tag,\"addInlined\",{value:function(e,t){var n={};n[\"language-\"+t]={pattern:/(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,lookbehind:!0,inside:r.languages[t]},n.cdata=/^<!\\[CDATA\\[|\\]\\]>$/i;var i={\"included-cdata\":{pattern:/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,inside:n}};i[\"language-\"+t]={pattern:/[\\s\\S]+/,inside:r.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g,(function(){return e})),\"i\"),lookbehind:!0,greedy:!0,inside:i},r.languages.insertBefore(\"markup\",\"cdata\",o)}}),Object.defineProperty(r.languages.markup.tag,\"addAttribute\",{value:function(e,t){r.languages.markup.tag.inside[\"special-attr\"].push({pattern:RegExp(/(^|[\"'\\s])/.source+\"(?:\"+e+\")\"+/\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\"i\"),lookbehind:!0,inside:{\"attr-name\":/^[^\\s=]+/,\"attr-value\":{pattern:/=[\\s\\S]+/,inside:{value:{pattern:/(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,lookbehind:!0,alias:[t,\"language-\"+t],inside:r.languages[t]},punctuation:[{pattern:/^=/,alias:\"attr-equals\"},/\"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend(\"markup\",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(e){var t=/(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;e.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:RegExp(\"@[\\\\w-](?:\"+/[^;{\\s\"']|\\s+(?!\\s)/.source+\"|\"+t.source+\")*?\"+/(?:;|(?=\\s*\\{))/.source),inside:{rule:/^@[\\w-]+/,\"selector-function-argument\":{pattern:/(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,lookbehind:!0,alias:\"selector\"},keyword:{pattern:/(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,lookbehind:!0}}},url:{pattern:RegExp(\"\\\\burl\\\\((?:\"+t.source+\"|\"+/(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source+\")\\\\)\",\"i\"),greedy:!0,inside:{function:/^url/i,punctuation:/^\\(|\\)$/,string:{pattern:RegExp(\"^\"+t.source+\"$\"),alias:\"url\"}}},selector:{pattern:RegExp(\"(^|[{}\\\\s])[^{}\\\\s](?:[^{};\\\"'\\\\s]|\\\\s+(?![\\\\s{])|\"+t.source+\")*(?=\\\\s*\\\\{)\"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,lookbehind:!0},important:/!important\\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(\"style\",\"css\"),n.tag.addAttribute(\"style\",\"css\"))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\\\]/}},keyword:/\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,boolean:/\\b(?:false|true)\\b/,function:/\\b\\w+(?=\\()/,number:/\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,punctuation:/[{}[\\];(),.:]/},r.languages.javascript=r.languages.extend(\"clike\",{\"class-name\":[r.languages.clike[\"class-name\"],{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\\})\\s*)catch\\b/,lookbehind:!0},{pattern:/(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,lookbehind:!0}],function:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,number:{pattern:RegExp(/(^|[^\\w$])/.source+\"(?:\"+/NaN|Infinity/.source+\"|\"+/0[bB][01]+(?:_[01]+)*n?/.source+\"|\"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+\"|\"+/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source+\"|\"+/\\d+(?:_\\d+)*n/.source+\"|\"+/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source+\")\"+/(?![\\w$])/.source),lookbehind:!0},operator:/--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/}),r.languages.javascript[\"class-name\"][0].pattern=/(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/,r.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:RegExp(/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source+/\\//.source+\"(?:\"+/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source+\"|\"+/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+\")\"+/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source),lookbehind:!0,greedy:!0,inside:{\"regex-source\":{pattern:/^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,lookbehind:!0,alias:\"language-regex\",inside:r.languages.regex},\"regex-delimiter\":/^\\/|\\/$/,\"regex-flags\":/^[a-z]+$/}},\"function-variable\":{pattern:/#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,alias:\"function\"},parameter:[{pattern:/(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/}),r.languages.insertBefore(\"javascript\",\"string\",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:\"comment\"},\"template-string\":{pattern:/`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,greedy:!0,inside:{\"template-punctuation\":{pattern:/^`|`$/,alias:\"string\"},interpolation:{pattern:/((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,lookbehind:!0,inside:{\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"},rest:r.languages.javascript}},string:/[\\s\\S]+/}},\"string-property\":{pattern:/((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,lookbehind:!0,greedy:!0,alias:\"property\"}}),r.languages.insertBefore(\"javascript\",\"operator\",{\"literal-property\":{pattern:/((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,lookbehind:!0,alias:\"property\"}}),r.languages.markup&&(r.languages.markup.tag.addInlined(\"script\",\"javascript\"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\"javascript\")),r.languages.js=r.languages.javascript,function(){if(void 0!==r&&\"undefined\"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:\"javascript\",py:\"python\",rb:\"ruby\",ps1:\"powershell\",psm1:\"powershell\",sh:\"bash\",bat:\"batch\",h:\"c\",tex:\"latex\"},t=\"data-src-status\",n=\"loading\",i=\"loaded\",o=\"pre[data-src]:not([\"+t+'=\"'+i+'\"]):not(['+t+'=\"'+n+'\"])';r.hooks.add(\"before-highlightall\",(function(e){e.selector+=\", \"+o})),r.hooks.add(\"before-sanity-check\",(function(s){var a=s.element;if(a.matches(o)){s.code=\"\",a.setAttribute(t,n);var l=a.appendChild(document.createElement(\"CODE\"));l.textContent=\"Loading…\";var c=a.getAttribute(\"data-src\"),u=s.language;if(\"none\"===u){var p=(/\\.(\\w+)$/.exec(c)||[,\"none\"])[1];u=e[p]||p}r.util.setLanguage(l,u),r.util.setLanguage(a,u);var d=r.plugins.autoloader;d&&d.loadLanguages(u),function(e,n,o){var s=new XMLHttpRequest;s.open(\"GET\",e,!0),s.onreadystatechange=function(){4==s.readyState&&(s.status<400&&s.responseText?function(e){a.setAttribute(t,i);var n=function(e){var t=/^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(e||\"\");if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}(a.getAttribute(\"data-range\"));if(n){var o=e.split(/\\r\\n?|\\n/g),s=n[0],c=null==n[1]?o.length:n[1];s<0&&(s+=o.length),s=Math.max(0,Math.min(s-1,o.length)),c<0&&(c+=o.length),c=Math.max(0,Math.min(c,o.length)),e=o.slice(s,c).join(\"\\n\"),a.hasAttribute(\"data-start\")||a.setAttribute(\"data-start\",String(s+1))}l.textContent=e,r.highlightElement(l)}(s.responseText):s.status>=400?o(\"✖ Error \"+s.status+\" while fetching file: \"+s.statusText):o(\"✖ Error: File does not exist or is empty\"))},s.send(null)}(c,0,(function(e){a.setAttribute(t,\"failed\"),l.textContent=e}))}})),r.plugins.fileHighlight={highlight:function(e){for(var t,n=(e||document).querySelectorAll(o),i=0;t=n[i++];)r.highlightElement(t)}};var s=!1;r.fileHighlight=function(){s||(console.warn(\"Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.\"),s=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}}()},2694:function(e,t,n){\"use strict\";var r=n(6925);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,s){if(s!==r){var a=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw a.name=\"Invariant Violation\",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},5556:function(e,t,n){e.exports=n(2694)()},6925:function(e){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},2551:function(e,t,n){\"use strict\";var r=n(6540),i=n(194);function o(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var s=new Set,a={};function l(e,t){c(e,t),c(e+\"Capture\",t)}function c(e,t){for(a[e]=t,e=0;e<t.length;e++)s.add(t[e])}var u=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),p=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,f={},h={};function m(e,t,n,r,i,o,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var g={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){g[e]=new m(e,0,!1,e,null,!1,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];g[t]=new m(t,1,!1,e[1],null,!1,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){g[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){g[e]=new m(e,2,!1,e,null,!1,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){g[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){g[e]=new m(e,3,!0,e,null,!1,!1)})),[\"capture\",\"download\"].forEach((function(e){g[e]=new m(e,4,!1,e,null,!1,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){g[e]=new m(e,6,!1,e,null,!1,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){g[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var y=/[\\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function v(e,t,n,r){var i=g.hasOwnProperty(t)?g[t]:null;(null!==i?0!==i.type:r||!(2<t.length)||\"o\"!==t[0]&&\"O\"!==t[0]||\"n\"!==t[1]&&\"N\"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!r&&(null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!p.call(h,e)||!p.call(f,e)&&(d.test(e)?h[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&\"\":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(y,b);g[t]=new m(t,1,!1,e,null,!1,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(y,b);g[t]=new m(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(y,b);g[t]=new m(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new m(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var x=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for(\"react.element\"),k=Symbol.for(\"react.portal\"),S=Symbol.for(\"react.fragment\"),E=Symbol.for(\"react.strict_mode\"),O=Symbol.for(\"react.profiler\"),_=Symbol.for(\"react.provider\"),A=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),j=Symbol.for(\"react.suspense\"),P=Symbol.for(\"react.suspense_list\"),T=Symbol.for(\"react.memo\"),I=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\"),Symbol.for(\"react.debug_trace_mode\");var R=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\"),Symbol.for(\"react.cache\"),Symbol.for(\"react.tracing_marker\");var N=Symbol.iterator;function $(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=N&&e[N]||e[\"@@iterator\"])?e:null}var L,D=Object.assign;function M(e){if(void 0===L)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);L=t&&t[1]||\"\"}return\"\\n\"+L+e}var F=!1;function z(e,t){if(!e||F)return\"\";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var r=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){r=e}e.call(t.prototype)}else{try{throw Error()}catch(e){r=e}e()}}catch(t){if(t&&r&&\"string\"==typeof t.stack){for(var i=t.stack.split(\"\\n\"),o=r.stack.split(\"\\n\"),s=i.length-1,a=o.length-1;1<=s&&0<=a&&i[s]!==o[a];)a--;for(;1<=s&&0<=a;s--,a--)if(i[s]!==o[a]){if(1!==s||1!==a)do{if(s--,0>--a||i[s]!==o[a]){var l=\"\\n\"+i[s].replace(\" at new \",\" at \");return e.displayName&&l.includes(\"<anonymous>\")&&(l=l.replace(\"<anonymous>\",e.displayName)),l}}while(1<=s&&0<=a);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?M(e):\"\"}function B(e){switch(e.tag){case 5:return M(e.type);case 16:return M(\"Lazy\");case 13:return M(\"Suspense\");case 19:return M(\"SuspenseList\");case 0:case 2:case 15:return z(e.type,!1);case 11:return z(e.type.render,!1);case 1:return z(e.type,!0);default:return\"\"}}function U(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case S:return\"Fragment\";case k:return\"Portal\";case O:return\"Profiler\";case E:return\"StrictMode\";case j:return\"Suspense\";case P:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case A:return(e.displayName||\"Context\")+\".Consumer\";case _:return(e._context.displayName||\"Context\")+\".Provider\";case C:var t=e.render;return(e=e.displayName)||(e=\"\"!==(e=t.displayName||t.name||\"\")?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case T:return null!==(t=e.displayName||null)?t:U(e.type)||\"Memo\";case I:t=e._payload,e=e._init;try{return U(e(t))}catch(e){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=(e=t.render).displayName||e.name||\"\",t.displayName||(\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return U(t);case 8:return t===E?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"==typeof t)return t.displayName||t.name||null;if(\"string\"==typeof t)return t}return null}function V(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":case\"object\":return e;default:return\"\"}}function W(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function H(e){e._valueTracker||(e._valueTracker=function(e){var t=W(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=\"\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Y(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=W(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function G(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?\"\":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=V(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function K(e,t){null!=(t=t.checked)&&v(e,\"checked\",t,!1)}function Z(e,t){K(e,t);var n=V(t.value),r=t.type;if(null!=n)\"number\"===r?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?ee(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&ee(e,t.type,V(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(\"submit\"!==r&&\"reset\"!==r||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==n&&(e.name=n)}function ee(e,t,n){\"number\"===t&&G(e.ownerDocument)===e||(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+V(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return D({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function ie(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=\"\"),n=t}e._wrapperState={initialValue:V(n)}}function oe(e,t){var n=V(t.value),r=V(t.defaultValue);null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=\"\"+r)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}function ae(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function le(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?ae(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var ce,ue,pe=(ue=function(e,t){if(\"http://www.w3.org/2000/svg\"!==e.namespaceURI||\"innerHTML\"in e)e.innerHTML=t;else{for((ce=ce||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function de(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},he=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function me(e,t,n){return null==t||\"boolean\"==typeof t||\"\"===t?\"\":n||\"number\"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(\"\"+t).trim():t+\"px\"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=me(n,t[n],r);\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}Object.keys(fe).forEach((function(e){he.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var ye=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if(\"object\"!=typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&\"object\"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var xe=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var ke=null,Se=null,Ee=null;function Oe(e){if(e=vi(e)){if(\"function\"!=typeof ke)throw Error(o(280));var t=e.stateNode;t&&(t=wi(t),ke(e.stateNode,e.type,t))}}function _e(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Ae(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,Oe(e),t)for(e=0;e<t.length;e++)Oe(t[e])}}function Ce(e,t){return e(t)}function je(){}var Pe=!1;function Te(e,t,n){if(Pe)return e(t,n);Pe=!0;try{return Ce(e,t,n)}finally{Pe=!1,(null!==Se||null!==Ee)&&(je(),Ae())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var r=wi(n);if(null===r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\"function\"!=typeof n)throw Error(o(231,t,typeof n));return n}var Re=!1;if(u)try{var Ne={};Object.defineProperty(Ne,\"passive\",{get:function(){Re=!0}}),window.addEventListener(\"test\",Ne,Ne),window.removeEventListener(\"test\",Ne,Ne)}catch(ue){Re=!1}function $e(e,t,n,r,i,o,s,a,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Le=!1,De=null,Me=!1,Fe=null,ze={onError:function(e){Le=!0,De=e}};function Be(e,t,n,r,i,o,s,a,l){Le=!1,De=null,$e.apply(ze,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function Ve(e){if(Ue(e)!==e)throw Error(o(188))}function We(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var s=i.alternate;if(null===s){if(null!==(r=i.return)){n=r;continue}break}if(i.child===s.child){for(s=i.child;s;){if(s===n)return Ve(i),e;if(s===r)return Ve(i),t;s=s.sibling}throw Error(o(188))}if(n.return!==r.return)n=i,r=s;else{for(var a=!1,l=i.child;l;){if(l===n){a=!0,n=i,r=s;break}if(l===r){a=!0,r=i,n=s;break}l=l.sibling}if(!a){for(l=s.child;l;){if(l===n){a=!0,n=s,r=i;break}if(l===r){a=!0,r=s,n=i;break}l=l.sibling}if(!a)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?He(e):null}function He(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=He(e);if(null!==t)return t;e=e.sibling}return null}var Ye=i.unstable_scheduleCallback,Ge=i.unstable_cancelCallback,Qe=i.unstable_shouldYield,Xe=i.unstable_requestPaint,Ke=i.unstable_now,Ze=i.unstable_getCurrentPriorityLevel,Je=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,nt=i.unstable_LowPriority,rt=i.unstable_IdlePriority,it=null,ot=null,st=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(at(e)/lt|0)|0},at=Math.log,lt=Math.LN2,ct=64,ut=4194304;function pt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function dt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,s=268435455&n;if(0!==s){var a=s&~i;0!==a?r=pt(a):0!=(o&=s)&&(r=pt(o))}else 0!=(s=n&~i)?r=pt(s):0!==o&&(r=pt(o));if(0===r)return 0;if(0!==t&&t!==r&&!(t&i)&&((i=r&-r)>=(o=t&-t)||16===i&&4194240&o))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)i=1<<(n=31-st(t)),r|=e[n],t&=~i;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ht(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-st(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var vt=0;function xt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,kt,St,Et,Ot,_t=!1,At=[],Ct=null,jt=null,Pt=null,Tt=new Map,It=new Map,Rt=[],Nt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function $t(e,t){switch(e){case\"focusin\":case\"focusout\":Ct=null;break;case\"dragenter\":case\"dragleave\":jt=null;break;case\"mouseover\":case\"mouseout\":Pt=null;break;case\"pointerover\":case\"pointerout\":Tt.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":It.delete(t.pointerId)}}function Lt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[i]},null!==t&&null!==(t=vi(t))&&kt(t),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Dt(e){var t=bi(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void Ot(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=vi(n))&&kt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);xe=r,n.target.dispatchEvent(r),xe=null,t.shift()}return!0}function Ft(e,t,n){Mt(e)&&n.delete(t)}function zt(){_t=!1,null!==Ct&&Mt(Ct)&&(Ct=null),null!==jt&&Mt(jt)&&(jt=null),null!==Pt&&Mt(Pt)&&(Pt=null),Tt.forEach(Ft),It.forEach(Ft)}function Bt(e,t){e.blockedOn===t&&(e.blockedOn=null,_t||(_t=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,zt)))}function Ut(e){function t(t){return Bt(t,e)}if(0<At.length){Bt(At[0],e);for(var n=1;n<At.length;n++){var r=At[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ct&&Bt(Ct,e),null!==jt&&Bt(jt,e),null!==Pt&&Bt(Pt,e),Tt.forEach(t),It.forEach(t),n=0;n<Rt.length;n++)(r=Rt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Rt.length&&null===(n=Rt[0]).blockedOn;)Dt(n),null===n.blockedOn&&Rt.shift()}var qt=x.ReactCurrentBatchConfig,Vt=!0;function Wt(e,t,n,r){var i=vt,o=qt.transition;qt.transition=null;try{vt=1,Yt(e,t,n,r)}finally{vt=i,qt.transition=o}}function Ht(e,t,n,r){var i=vt,o=qt.transition;qt.transition=null;try{vt=4,Yt(e,t,n,r)}finally{vt=i,qt.transition=o}}function Yt(e,t,n,r){if(Vt){var i=Qt(e,t,n,r);if(null===i)Vr(e,t,r,Gt,n),$t(e,r);else if(function(e,t,n,r,i){switch(t){case\"focusin\":return Ct=Lt(Ct,e,t,n,r,i),!0;case\"dragenter\":return jt=Lt(jt,e,t,n,r,i),!0;case\"mouseover\":return Pt=Lt(Pt,e,t,n,r,i),!0;case\"pointerover\":var o=i.pointerId;return Tt.set(o,Lt(Tt.get(o)||null,e,t,n,r,i)),!0;case\"gotpointercapture\":return o=i.pointerId,It.set(o,Lt(It.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r))r.stopPropagation();else if($t(e,r),4&t&&-1<Nt.indexOf(e)){for(;null!==i;){var o=vi(i);if(null!==o&&wt(o),null===(o=Qt(e,t,n,r))&&Vr(e,t,r,Gt,n),o===i)break;i=o}null!==i&&r.stopPropagation()}else Vr(e,t,r,null,n)}}var Gt=null;function Qt(e,t,n,r){if(Gt=null,null!==(e=bi(e=we(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function Xt(e){switch(e){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(Ze()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Kt=null,Zt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Zt,r=n.length,i=\"value\"in Kt?Kt.value:Kt.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===i[o-t];t++);return Jt=i.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,r,i,o){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(i):i[s]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var sn,an,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),pn=D({},cn,{view:0,detail:0}),dn=on(pn),fn=D({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:On,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return\"movementX\"in e?e.movementX:(e!==ln&&(ln&&\"mousemove\"===e.type?(sn=e.screenX-ln.screenX,an=e.screenY-ln.screenY):an=sn=0,ln=e),sn)},movementY:function(e){return\"movementY\"in e?e.movementY:an}}),hn=on(fn),mn=on(D({},fn,{dataTransfer:0})),gn=on(D({},pn,{relatedTarget:0})),yn=on(D({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=D({},cn,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),vn=on(bn),xn=on(D({},cn,{data:0})),wn={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},kn={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Sn={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function On(){return En}var _n=D({},pn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=tn(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?kn[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:On,charCode:function(e){return\"keypress\"===e.type?tn(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?tn(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),An=on(_n),Cn=on(D({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),jn=on(D({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:On})),Pn=on(D({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Tn=D({},fn,{deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=on(Tn),Rn=[9,13,27,32],Nn=u&&\"CompositionEvent\"in window,$n=null;u&&\"documentMode\"in document&&($n=document.documentMode);var Ln=u&&\"TextEvent\"in window&&!$n,Dn=u&&(!Nn||$n&&8<$n&&11>=$n),Mn=String.fromCharCode(32),Fn=!1;function zn(e,t){switch(e){case\"keyup\":return-1!==Rn.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function Bn(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var Un=!1,qn={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Vn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!qn[e.type]:\"textarea\"===t}function Wn(e,t,n,r){_e(r),0<(t=Hr(t,\"onChange\")).length&&(n=new un(\"onChange\",\"change\",null,n,r),e.push({event:n,listeners:t}))}var Hn=null,Yn=null;function Gn(e){Mr(e,0)}function Qn(e){if(Y(xi(e)))return e}function Xn(e,t){if(\"change\"===e)return t}var Kn=!1;if(u){var Zn;if(u){var Jn=\"oninput\"in document;if(!Jn){var er=document.createElement(\"div\");er.setAttribute(\"oninput\",\"return;\"),Jn=\"function\"==typeof er.oninput}Zn=Jn}else Zn=!1;Kn=Zn&&(!document.documentMode||9<document.documentMode)}function tr(){Hn&&(Hn.detachEvent(\"onpropertychange\",nr),Yn=Hn=null)}function nr(e){if(\"value\"===e.propertyName&&Qn(Yn)){var t=[];Wn(t,Yn,e,we(e)),Te(Gn,t)}}function rr(e,t,n){\"focusin\"===e?(tr(),Yn=n,(Hn=t).attachEvent(\"onpropertychange\",nr)):\"focusout\"===e&&tr()}function ir(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return Qn(Yn)}function or(e,t){if(\"click\"===e)return Qn(t)}function sr(e,t){if(\"input\"===e||\"change\"===e)return Qn(t)}var ar=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(ar(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!p.call(t,i)||!ar(e[i],t[i]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function pr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pr(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function dr(){for(var e=window,t=G();t instanceof e.HTMLIFrameElement;){try{var n=\"string\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=G((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}function hr(e){var t=dr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&pr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=void 0===r.end?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=ur(n,o);var s=ur(n,r);i&&s&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(\"function\"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&\"documentMode\"in document&&11>=document.documentMode,gr=null,yr=null,br=null,vr=!1;function xr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vr||null==gr||gr!==G(r)||(r=\"selectionStart\"in(r=gr)&&fr(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&lr(br,r)||(br=r,0<(r=Hr(yr,\"onSelect\")).length&&(t=new un(\"onSelect\",\"select\",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var kr={animationend:wr(\"Animation\",\"AnimationEnd\"),animationiteration:wr(\"Animation\",\"AnimationIteration\"),animationstart:wr(\"Animation\",\"AnimationStart\"),transitionend:wr(\"Transition\",\"TransitionEnd\")},Sr={},Er={};function Or(e){if(Sr[e])return Sr[e];if(!kr[e])return e;var t,n=kr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),\"TransitionEvent\"in window||delete kr.transitionend.transition);var _r=Or(\"animationend\"),Ar=Or(\"animationiteration\"),Cr=Or(\"animationstart\"),jr=Or(\"transitionend\"),Pr=new Map,Tr=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function Ir(e,t){Pr.set(e,t),l(t,[e])}for(var Rr=0;Rr<Tr.length;Rr++){var Nr=Tr[Rr];Ir(Nr.toLowerCase(),\"on\"+(Nr[0].toUpperCase()+Nr.slice(1)))}Ir(_r,\"onAnimationEnd\"),Ir(Ar,\"onAnimationIteration\"),Ir(Cr,\"onAnimationStart\"),Ir(\"dblclick\",\"onDoubleClick\"),Ir(\"focusin\",\"onFocus\"),Ir(\"focusout\",\"onBlur\"),Ir(jr,\"onTransitionEnd\"),c(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),c(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),c(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),c(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),l(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),l(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),l(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),l(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),l(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),l(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var $r=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Lr=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat($r));function Dr(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=n,function(e,t,n,r,i,s,a,l,c){if(Be.apply(this,arguments),Le){if(!Le)throw Error(o(198));var u=De;Le=!1,De=null,Me||(Me=!0,Fe=u)}}(r,t,void 0,e),e.currentTarget=null}function Mr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var s=r.length-1;0<=s;s--){var a=r[s],l=a.instance,c=a.currentTarget;if(a=a.listener,l!==o&&i.isPropagationStopped())break e;Dr(i,a,c),o=l}else for(s=0;s<r.length;s++){if(l=(a=r[s]).instance,c=a.currentTarget,a=a.listener,l!==o&&i.isPropagationStopped())break e;Dr(i,a,c),o=l}}}if(Me)throw e=Fe,Me=!1,Fe=null,e}function Fr(e,t){var n=t[mi];void 0===n&&(n=t[mi]=new Set);var r=e+\"__bubble\";n.has(r)||(qr(t,e,2,!1),n.add(r))}function zr(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var Br=\"_reactListening\"+Math.random().toString(36).slice(2);function Ur(e){if(!e[Br]){e[Br]=!0,s.forEach((function(t){\"selectionchange\"!==t&&(Lr.has(t)||zr(t,!1,e),zr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Br]||(t[Br]=!0,zr(\"selectionchange\",!1,t))}}function qr(e,t,n,r){switch(Xt(t)){case 1:var i=Wt;break;case 4:i=Ht;break;default:i=Yt}n=i.bind(null,t,n,e),i=void 0,!Re||\"touchstart\"!==t&&\"touchmove\"!==t&&\"wheel\"!==t||(i=!0),r?void 0!==i?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):void 0!==i?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Vr(e,t,n,r,i){var o=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var a=r.stateNode.containerInfo;if(a===i||8===a.nodeType&&a.parentNode===i)break;if(4===s)for(s=r.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===i||8===l.nodeType&&l.parentNode===i))return;s=s.return}for(;null!==a;){if(null===(s=bi(a)))return;if(5===(l=s.tag)||6===l){r=o=s;continue e}a=a.parentNode}}r=r.return}Te((function(){var r=o,i=we(n),s=[];e:{var a=Pr.get(e);if(void 0!==a){var l=un,c=e;switch(e){case\"keypress\":if(0===tn(n))break e;case\"keydown\":case\"keyup\":l=An;break;case\"focusin\":c=\"focus\",l=gn;break;case\"focusout\":c=\"blur\",l=gn;break;case\"beforeblur\":case\"afterblur\":l=gn;break;case\"click\":if(2===n.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":l=hn;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":l=mn;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":l=jn;break;case _r:case Ar:case Cr:l=yn;break;case jr:l=Pn;break;case\"scroll\":l=dn;break;case\"wheel\":l=In;break;case\"copy\":case\"cut\":case\"paste\":l=vn;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":l=Cn}var u=!!(4&t),p=!u&&\"scroll\"===e,d=u?null!==a?a+\"Capture\":null:a;u=[];for(var f,h=r;null!==h;){var m=(f=h).stateNode;if(5===f.tag&&null!==m&&(f=m,null!==d&&null!=(m=Ie(h,d))&&u.push(Wr(h,m,f))),p)break;h=h.return}0<u.length&&(a=new l(a,c,null,n,i),s.push({event:a,listeners:u}))}}if(!(7&t)){if(l=\"mouseout\"===e||\"pointerout\"===e,(!(a=\"mouseover\"===e||\"pointerover\"===e)||n===xe||!(c=n.relatedTarget||n.fromElement)||!bi(c)&&!c[hi])&&(l||a)&&(a=i.window===i?i:(a=i.ownerDocument)?a.defaultView||a.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?bi(c):null)&&(c!==(p=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=hn,m=\"onMouseLeave\",d=\"onMouseEnter\",h=\"mouse\",\"pointerout\"!==e&&\"pointerover\"!==e||(u=Cn,m=\"onPointerLeave\",d=\"onPointerEnter\",h=\"pointer\"),p=null==l?a:xi(l),f=null==c?a:xi(c),(a=new u(m,h+\"leave\",l,n,i)).target=p,a.relatedTarget=f,m=null,bi(i)===r&&((u=new u(d,h+\"enter\",c,n,i)).target=f,u.relatedTarget=p,m=u),p=m,l&&c)e:{for(d=c,h=0,f=u=l;f;f=Yr(f))h++;for(f=0,m=d;m;m=Yr(m))f++;for(;0<h-f;)u=Yr(u),h--;for(;0<f-h;)d=Yr(d),f--;for(;h--;){if(u===d||null!==d&&u===d.alternate)break e;u=Yr(u),d=Yr(d)}u=null}else u=null;null!==l&&Gr(s,a,l,u,!1),null!==c&&null!==p&&Gr(s,p,c,u,!0)}if(\"select\"===(l=(a=r?xi(r):window).nodeName&&a.nodeName.toLowerCase())||\"input\"===l&&\"file\"===a.type)var g=Xn;else if(Vn(a))if(Kn)g=sr;else{g=ir;var y=rr}else(l=a.nodeName)&&\"input\"===l.toLowerCase()&&(\"checkbox\"===a.type||\"radio\"===a.type)&&(g=or);switch(g&&(g=g(e,r))?Wn(s,g,n,i):(y&&y(e,a,r),\"focusout\"===e&&(y=a._wrapperState)&&y.controlled&&\"number\"===a.type&&ee(a,\"number\",a.value)),y=r?xi(r):window,e){case\"focusin\":(Vn(y)||\"true\"===y.contentEditable)&&(gr=y,yr=r,br=null);break;case\"focusout\":br=yr=gr=null;break;case\"mousedown\":vr=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":vr=!1,xr(s,n,i);break;case\"selectionchange\":if(mr)break;case\"keydown\":case\"keyup\":xr(s,n,i)}var b;if(Nn)e:{switch(e){case\"compositionstart\":var v=\"onCompositionStart\";break e;case\"compositionend\":v=\"onCompositionEnd\";break e;case\"compositionupdate\":v=\"onCompositionUpdate\";break e}v=void 0}else Un?zn(e,n)&&(v=\"onCompositionEnd\"):\"keydown\"===e&&229===n.keyCode&&(v=\"onCompositionStart\");v&&(Dn&&\"ko\"!==n.locale&&(Un||\"onCompositionStart\"!==v?\"onCompositionEnd\"===v&&Un&&(b=en()):(Zt=\"value\"in(Kt=i)?Kt.value:Kt.textContent,Un=!0)),0<(y=Hr(r,v)).length&&(v=new xn(v,e,null,n,i),s.push({event:v,listeners:y}),(b||null!==(b=Bn(n)))&&(v.data=b))),(b=Ln?function(e,t){switch(e){case\"compositionend\":return Bn(t);case\"keypress\":return 32!==t.which?null:(Fn=!0,Mn);case\"textInput\":return(e=t.data)===Mn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Un)return\"compositionend\"===e||!Nn&&zn(e,t)?(e=en(),Jt=Zt=Kt=null,Un=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return Dn&&\"ko\"!==t.locale?null:t.data}}(e,n))&&0<(r=Hr(r,\"onBeforeInput\")).length&&(i=new xn(\"onBeforeInput\",\"beforeinput\",null,n,i),s.push({event:i,listeners:r}),i.data=b)}Mr(s,t)}))}function Wr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Hr(e,t){for(var n=t+\"Capture\",r=[];null!==e;){var i=e,o=i.stateNode;5===i.tag&&null!==o&&(i=o,null!=(o=Ie(e,n))&&r.unshift(Wr(e,o,i)),null!=(o=Ie(e,t))&&r.push(Wr(e,o,i))),e=e.return}return r}function Yr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gr(e,t,n,r,i){for(var o=t._reactName,s=[];null!==n&&n!==r;){var a=n,l=a.alternate,c=a.stateNode;if(null!==l&&l===r)break;5===a.tag&&null!==c&&(a=c,i?null!=(l=Ie(n,o))&&s.unshift(Wr(n,l,a)):i||null!=(l=Ie(n,o))&&s.push(Wr(n,l,a))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Qr=/\\r\\n?/g,Xr=/\\u0000|\\uFFFD/g;function Kr(e){return(\"string\"==typeof e?e:\"\"+e).replace(Qr,\"\\n\").replace(Xr,\"\")}function Zr(e,t,n){if(t=Kr(t),Kr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ei=null,ti=null;function ni(e,t){return\"textarea\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ri=\"function\"==typeof setTimeout?setTimeout:void 0,ii=\"function\"==typeof clearTimeout?clearTimeout:void 0,oi=\"function\"==typeof Promise?Promise:void 0,si=\"function\"==typeof queueMicrotask?queueMicrotask:void 0!==oi?function(e){return oi.resolve(null).then(e).catch(ai)}:ri;function ai(e){setTimeout((function(){throw e}))}function li(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&8===i.nodeType)if(\"/$\"===(n=i.data)){if(0===r)return e.removeChild(i),void Ut(t);r--}else\"$\"!==n&&\"$?\"!==n&&\"$!\"!==n||r++;n=i}while(n);Ut(t)}function ci(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if(\"$\"===(t=e.data)||\"$!\"===t||\"$?\"===t)break;if(\"/$\"===t)return null}}return e}function ui(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||\"$!\"===n||\"$?\"===n){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}var pi=Math.random().toString(36).slice(2),di=\"__reactFiber$\"+pi,fi=\"__reactProps$\"+pi,hi=\"__reactContainer$\"+pi,mi=\"__reactEvents$\"+pi,gi=\"__reactListeners$\"+pi,yi=\"__reactHandles$\"+pi;function bi(e){var t=e[di];if(t)return t;for(var n=e.parentNode;n;){if(t=n[hi]||n[di]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ui(e);null!==e;){if(n=e[di])return n;e=ui(e)}return t}n=(e=n).parentNode}return null}function vi(e){return!(e=e[di]||e[hi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function xi(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function wi(e){return e[fi]||null}var ki=[],Si=-1;function Ei(e){return{current:e}}function Oi(e){0>Si||(e.current=ki[Si],ki[Si]=null,Si--)}function _i(e,t){Si++,ki[Si]=e.current,e.current=t}var Ai={},Ci=Ei(Ai),ji=Ei(!1),Pi=Ai;function Ti(e,t){var n=e.type.contextTypes;if(!n)return Ai;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ii(e){return null!=e.childContextTypes}function Ri(){Oi(ji),Oi(Ci)}function Ni(e,t,n){if(Ci.current!==Ai)throw Error(o(168));_i(Ci,t),_i(ji,n)}function $i(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,\"function\"!=typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in t))throw Error(o(108,q(e)||\"Unknown\",i));return D({},n,r)}function Li(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ai,Pi=Ci.current,_i(Ci,e),_i(ji,ji.current),!0}function Di(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=$i(e,t,Pi),r.__reactInternalMemoizedMergedChildContext=e,Oi(ji),Oi(Ci),_i(Ci,e)):Oi(ji),_i(ji,n)}var Mi=null,Fi=!1,zi=!1;function Bi(e){null===Mi?Mi=[e]:Mi.push(e)}function Ui(){if(!zi&&null!==Mi){zi=!0;var e=0,t=vt;try{var n=Mi;for(vt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Mi=null,Fi=!1}catch(t){throw null!==Mi&&(Mi=Mi.slice(e+1)),Ye(Je,Ui),t}finally{vt=t,zi=!1}}return null}var qi=[],Vi=0,Wi=null,Hi=0,Yi=[],Gi=0,Qi=null,Xi=1,Ki=\"\";function Zi(e,t){qi[Vi++]=Hi,qi[Vi++]=Wi,Wi=e,Hi=t}function Ji(e,t,n){Yi[Gi++]=Xi,Yi[Gi++]=Ki,Yi[Gi++]=Qi,Qi=e;var r=Xi;e=Ki;var i=32-st(r)-1;r&=~(1<<i),n+=1;var o=32-st(t)+i;if(30<o){var s=i-i%5;o=(r&(1<<s)-1).toString(32),r>>=s,i-=s,Xi=1<<32-st(t)+i|n<<i|r,Ki=o+e}else Xi=1<<o|n<<i|r,Ki=e}function eo(e){null!==e.return&&(Zi(e,1),Ji(e,1,0))}function to(e){for(;e===Wi;)Wi=qi[--Vi],qi[Vi]=null,Hi=qi[--Vi],qi[Vi]=null;for(;e===Qi;)Qi=Yi[--Gi],Yi[Gi]=null,Ki=Yi[--Gi],Yi[Gi]=null,Xi=Yi[--Gi],Yi[Gi]=null}var no=null,ro=null,io=!1,oo=null;function so(e,t){var n=Tc(5,null,null,0);n.elementType=\"DELETED\",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ao(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ci(t.firstChild),!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qi?{id:Xi,overflow:Ki}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Tc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function lo(e){return!(!(1&e.mode)||128&e.flags)}function co(e){if(io){var t=ro;if(t){var n=t;if(!ao(e,t)){if(lo(e))throw Error(o(418));t=ci(n.nextSibling);var r=no;t&&ao(e,t)?so(r,n):(e.flags=-4097&e.flags|2,io=!1,no=e)}}else{if(lo(e))throw Error(o(418));e.flags=-4097&e.flags|2,io=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!io)return uo(e),io=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t=\"head\"!==(t=e.type)&&\"body\"!==t&&!ni(e.type,e.memoizedProps)),t&&(t=ro)){if(lo(e))throw fo(),Error(o(418));for(;t;)so(e,t),t=ci(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(\"/$\"===n){if(0===t){ro=ci(e.nextSibling);break e}t--}else\"$\"!==n&&\"$!\"!==n&&\"$?\"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ci(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ci(e.nextSibling)}function ho(){ro=no=null,io=!1}function mo(e){null===oo?oo=[e]:oo.push(e)}var go=x.ReactCurrentBatchConfig;function yo(e,t,n){if(null!==(e=n.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var i=r,s=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=i.refs;null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if(\"string\"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function bo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":e))}function vo(e){return(0,e._init)(e._payload)}function xo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Rc(e,t)).index=0,e.sibling=null,e}function s(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function a(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Dc(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){var o=n.type;return o===S?p(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||\"object\"==typeof o&&null!==o&&o.$$typeof===I&&vo(o)===t.type)?((r=i(t,n.props)).ref=yo(e,t,n),r.return=e,r):((r=Nc(n.type,n.key,n.props,null,e.mode,r)).ref=yo(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Mc(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function p(e,t,n,r,o){return null===t||7!==t.tag?((t=$c(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function d(e,t,n){if(\"string\"==typeof t&&\"\"!==t||\"number\"==typeof t)return(t=Dc(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Nc(t.type,t.key,t.props,null,e.mode,n)).ref=yo(e,null,t),n.return=e,n;case k:return(t=Mc(t,e.mode,n)).return=e,t;case I:return d(e,(0,t._init)(t._payload),n)}if(te(t)||$(t))return(t=$c(t,e.mode,n,null)).return=e,t;bo(e,t)}return null}function f(e,t,n,r){var i=null!==t?t.key:null;if(\"string\"==typeof n&&\"\"!==n||\"number\"==typeof n)return null!==i?null:l(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===i?c(e,t,n,r):null;case k:return n.key===i?u(e,t,n,r):null;case I:return f(e,t,(i=n._init)(n._payload),r)}if(te(n)||$(n))return null!==i?null:p(e,t,n,r,null);bo(e,n)}return null}function h(e,t,n,r,i){if(\"string\"==typeof r&&\"\"!==r||\"number\"==typeof r)return l(t,e=e.get(n)||null,\"\"+r,i);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i);case k:return u(t,e=e.get(null===r.key?n:r.key)||null,r,i);case I:return h(e,t,n,(0,r._init)(r._payload),i)}if(te(r)||$(r))return p(t,e=e.get(n)||null,r,i,null);bo(t,r)}return null}function m(i,o,a,l){for(var c=null,u=null,p=o,m=o=0,g=null;null!==p&&m<a.length;m++){p.index>m?(g=p,p=null):g=p.sibling;var y=f(i,p,a[m],l);if(null===y){null===p&&(p=g);break}e&&p&&null===y.alternate&&t(i,p),o=s(y,o,m),null===u?c=y:u.sibling=y,u=y,p=g}if(m===a.length)return n(i,p),io&&Zi(i,m),c;if(null===p){for(;m<a.length;m++)null!==(p=d(i,a[m],l))&&(o=s(p,o,m),null===u?c=p:u.sibling=p,u=p);return io&&Zi(i,m),c}for(p=r(i,p);m<a.length;m++)null!==(g=h(p,i,m,a[m],l))&&(e&&null!==g.alternate&&p.delete(null===g.key?m:g.key),o=s(g,o,m),null===u?c=g:u.sibling=g,u=g);return e&&p.forEach((function(e){return t(i,e)})),io&&Zi(i,m),c}function g(i,a,l,c){var u=$(l);if(\"function\"!=typeof u)throw Error(o(150));if(null==(l=u.call(l)))throw Error(o(151));for(var p=u=null,m=a,g=a=0,y=null,b=l.next();null!==m&&!b.done;g++,b=l.next()){m.index>g?(y=m,m=null):y=m.sibling;var v=f(i,m,b.value,c);if(null===v){null===m&&(m=y);break}e&&m&&null===v.alternate&&t(i,m),a=s(v,a,g),null===p?u=v:p.sibling=v,p=v,m=y}if(b.done)return n(i,m),io&&Zi(i,g),u;if(null===m){for(;!b.done;g++,b=l.next())null!==(b=d(i,b.value,c))&&(a=s(b,a,g),null===p?u=b:p.sibling=b,p=b);return io&&Zi(i,g),u}for(m=r(i,m);!b.done;g++,b=l.next())null!==(b=h(m,i,g,b.value,c))&&(e&&null!==b.alternate&&m.delete(null===b.key?g:b.key),a=s(b,a,g),null===p?u=b:p.sibling=b,p=b);return e&&m.forEach((function(e){return t(i,e)})),io&&Zi(i,g),u}return function e(r,o,s,l){if(\"object\"==typeof s&&null!==s&&s.type===S&&null===s.key&&(s=s.props.children),\"object\"==typeof s&&null!==s){switch(s.$$typeof){case w:e:{for(var c=s.key,u=o;null!==u;){if(u.key===c){if((c=s.type)===S){if(7===u.tag){n(r,u.sibling),(o=i(u,s.props.children)).return=r,r=o;break e}}else if(u.elementType===c||\"object\"==typeof c&&null!==c&&c.$$typeof===I&&vo(c)===u.type){n(r,u.sibling),(o=i(u,s.props)).ref=yo(r,u,s),o.return=r,r=o;break e}n(r,u);break}t(r,u),u=u.sibling}s.type===S?((o=$c(s.props.children,r.mode,l,s.key)).return=r,r=o):((l=Nc(s.type,s.key,s.props,null,r.mode,l)).ref=yo(r,o,s),l.return=r,r=l)}return a(r);case k:e:{for(u=s.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===s.containerInfo&&o.stateNode.implementation===s.implementation){n(r,o.sibling),(o=i(o,s.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=Mc(s,r.mode,l)).return=r,r=o}return a(r);case I:return e(r,o,(u=s._init)(s._payload),l)}if(te(s))return m(r,o,s,l);if($(s))return g(r,o,s,l);bo(r,s)}return\"string\"==typeof s&&\"\"!==s||\"number\"==typeof s?(s=\"\"+s,null!==o&&6===o.tag?(n(r,o.sibling),(o=i(o,s)).return=r,r=o):(n(r,o),(o=Dc(s,r.mode,l)).return=r,r=o),a(r)):n(r,o)}}var wo=xo(!0),ko=xo(!1),So=Ei(null),Eo=null,Oo=null,_o=null;function Ao(){_o=Oo=Eo=null}function Co(e){var t=So.current;Oi(So),e._currentValue=t}function jo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Po(e,t){Eo=e,_o=Oo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(va=!0),e.firstContext=null)}function To(e){var t=e._currentValue;if(_o!==e)if(e={context:e,memoizedValue:t,next:null},null===Oo){if(null===Eo)throw Error(o(308));Oo=e,Eo.dependencies={lanes:0,firstContext:e}}else Oo=Oo.next=e;return t}var Io=null;function Ro(e){null===Io?Io=[e]:Io.push(e)}function No(e,t,n,r){var i=t.interleaved;return null===i?(n.next=n,Ro(t)):(n.next=i.next,i.next=n),t.interleaved=n,$o(e,r)}function $o(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Lo=!1;function Do(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Fo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function zo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Cl){var i=r.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),r.pending=t,$o(e,n)}return null===(i=r.interleaved)?(t.next=t,Ro(r)):(t.next=i.next,i.next=t),r.interleaved=t,$o(e,n)}function Bo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Uo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var i=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?i=o=s:o=o.next=s,n=n.next}while(null!==n);null===o?i=o=t:o=o.next=t}else i=o=t;return n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qo(e,t,n,r){var i=e.updateQueue;Lo=!1;var o=i.firstBaseUpdate,s=i.lastBaseUpdate,a=i.shared.pending;if(null!==a){i.shared.pending=null;var l=a,c=l.next;l.next=null,null===s?o=c:s.next=c,s=l;var u=e.alternate;null!==u&&(a=(u=u.updateQueue).lastBaseUpdate)!==s&&(null===a?u.firstBaseUpdate=c:a.next=c,u.lastBaseUpdate=l)}if(null!==o){var p=i.baseState;for(s=0,u=c=l=null,a=o;;){var d=a.lane,f=a.eventTime;if((r&d)===d){null!==u&&(u=u.next={eventTime:f,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var h=e,m=a;switch(d=t,f=n,m.tag){case 1:if(\"function\"==typeof(h=m.payload)){p=h.call(f,p,d);break e}p=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(d=\"function\"==typeof(h=m.payload)?h.call(f,p,d):h))break e;p=D({},p,d);break e;case 2:Lo=!0}}null!==a.callback&&0!==a.lane&&(e.flags|=64,null===(d=i.effects)?i.effects=[a]:d.push(a))}else f={eventTime:f,lane:d,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===u?(c=u=f,l=p):u=u.next=f,s|=d;if(null===(a=a.next)){if(null===(a=i.shared.pending))break;a=(d=a).next,d.next=null,i.lastBaseUpdate=d,i.shared.pending=null}}if(null===u&&(l=p),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=u,null!==(t=i.shared.interleaved)){i=t;do{s|=i.lane,i=i.next}while(i!==t)}else null===o&&(i.shared.lanes=0);Ll|=s,e.lanes=s,e.memoizedState=p}}function Vo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=n,\"function\"!=typeof i)throw Error(o(191,i));i.call(r)}}}var Wo={},Ho=Ei(Wo),Yo=Ei(Wo),Go=Ei(Wo);function Qo(e){if(e===Wo)throw Error(o(174));return e}function Xo(e,t){switch(_i(Go,t),_i(Yo,e),_i(Ho,Wo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,\"\");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Oi(Ho),_i(Ho,t)}function Ko(){Oi(Ho),Oi(Yo),Oi(Go)}function Zo(e){Qo(Go.current);var t=Qo(Ho.current),n=le(t,e.type);t!==n&&(_i(Yo,e),_i(Ho,n))}function Jo(e){Yo.current===e&&(Oi(Ho),Oi(Yo))}var es=Ei(0);function ts(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||\"$?\"===n.data||\"$!\"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ns=[];function rs(){for(var e=0;e<ns.length;e++)ns[e]._workInProgressVersionPrimary=null;ns.length=0}var is=x.ReactCurrentDispatcher,os=x.ReactCurrentBatchConfig,ss=0,as=null,ls=null,cs=null,us=!1,ps=!1,ds=0,fs=0;function hs(){throw Error(o(321))}function ms(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ar(e[n],t[n]))return!1;return!0}function gs(e,t,n,r,i,s){if(ss=s,as=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,is.current=null===e||null===e.memoizedState?Js:ea,e=n(r,i),ps){s=0;do{if(ps=!1,ds=0,25<=s)throw Error(o(301));s+=1,cs=ls=null,t.updateQueue=null,is.current=ta,e=n(r,i)}while(ps)}if(is.current=Zs,t=null!==ls&&null!==ls.next,ss=0,cs=ls=as=null,us=!1,t)throw Error(o(300));return e}function ys(){var e=0!==ds;return ds=0,e}function bs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===cs?as.memoizedState=cs=e:cs=cs.next=e,cs}function vs(){if(null===ls){var e=as.alternate;e=null!==e?e.memoizedState:null}else e=ls.next;var t=null===cs?as.memoizedState:cs.next;if(null!==t)cs=t,ls=e;else{if(null===e)throw Error(o(310));e={memoizedState:(ls=e).memoizedState,baseState:ls.baseState,baseQueue:ls.baseQueue,queue:ls.queue,next:null},null===cs?as.memoizedState=cs=e:cs=cs.next=e}return cs}function xs(e,t){return\"function\"==typeof t?t(e):t}function ws(e){var t=vs(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=ls,i=r.baseQueue,s=n.pending;if(null!==s){if(null!==i){var a=i.next;i.next=s.next,s.next=a}r.baseQueue=i=s,n.pending=null}if(null!==i){s=i.next,r=r.baseState;var l=a=null,c=null,u=s;do{var p=u.lane;if((ss&p)===p)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var d={lane:p,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=d,a=r):c=c.next=d,as.lanes|=p,Ll|=p}u=u.next}while(null!==u&&u!==s);null===c?a=r:c.next=l,ar(r,t.memoizedState)||(va=!0),t.memoizedState=r,t.baseState=a,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){i=e;do{s=i.lane,as.lanes|=s,Ll|=s,i=i.next}while(i!==e)}else null===i&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ks(e){var t=vs(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,s=t.memoizedState;if(null!==i){n.pending=null;var a=i=i.next;do{s=e(s,a.action),a=a.next}while(a!==i);ar(s,t.memoizedState)||(va=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function Ss(){}function Es(e,t){var n=as,r=vs(),i=t(),s=!ar(r.memoizedState,i);if(s&&(r.memoizedState=i,va=!0),r=r.queue,Ls(As.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||null!==cs&&1&cs.memoizedState.tag){if(n.flags|=2048,Ts(9,_s.bind(null,n,r,i,t),void 0,null),null===jl)throw Error(o(349));30&ss||Os(n,t,i)}return i}function Os(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=as.updateQueue)?(t={lastEffect:null,stores:null},as.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function _s(e,t,n,r){t.value=n,t.getSnapshot=r,Cs(t)&&js(e)}function As(e,t,n){return n((function(){Cs(t)&&js(e)}))}function Cs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ar(e,n)}catch(e){return!0}}function js(e){var t=$o(e,1);null!==t&&nc(t,e,1,-1)}function Ps(e){var t=bs();return\"function\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xs,lastRenderedState:e},t.queue=e,e=e.dispatch=Gs.bind(null,as,e),[t.memoizedState,e]}function Ts(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=as.updateQueue)?(t={lastEffect:null,stores:null},as.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Is(){return vs().memoizedState}function Rs(e,t,n,r){var i=bs();as.flags|=e,i.memoizedState=Ts(1|t,n,void 0,void 0===r?null:r)}function Ns(e,t,n,r){var i=vs();r=void 0===r?null:r;var o=void 0;if(null!==ls){var s=ls.memoizedState;if(o=s.destroy,null!==r&&ms(r,s.deps))return void(i.memoizedState=Ts(t,n,o,r))}as.flags|=e,i.memoizedState=Ts(1|t,n,o,r)}function $s(e,t){return Rs(8390656,8,e,t)}function Ls(e,t){return Ns(2048,8,e,t)}function Ds(e,t){return Ns(4,2,e,t)}function Ms(e,t){return Ns(4,4,e,t)}function Fs(e,t){return\"function\"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function zs(e,t,n){return n=null!=n?n.concat([e]):null,Ns(4,4,Fs.bind(null,t,e),n)}function Bs(){}function Us(e,t){var n=vs();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ms(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function qs(e,t){var n=vs();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&ms(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Vs(e,t,n){return 21&ss?(ar(n,t)||(n=mt(),as.lanes|=n,Ll|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,va=!0),e.memoizedState=n)}function Ws(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var r=os.transition;os.transition={};try{e(!1),t()}finally{vt=n,os.transition=r}}function Hs(){return vs().memoizedState}function Ys(e,t,n){var r=tc(e);n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qs(e)?Xs(t,n):null!==(n=No(e,t,n,r))&&(nc(n,e,r,ec()),Ks(n,t,r))}function Gs(e,t,n){var r=tc(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qs(e))Xs(t,i);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,ar(a,s)){var l=t.interleaved;return null===l?(i.next=i,Ro(t)):(i.next=l.next,l.next=i),void(t.interleaved=i)}}catch(e){}null!==(n=No(e,t,i,r))&&(nc(n,e,r,i=ec()),Ks(n,t,r))}}function Qs(e){var t=e.alternate;return e===as||null!==t&&t===as}function Xs(e,t){ps=us=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ks(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var Zs={readContext:To,useCallback:hs,useContext:hs,useEffect:hs,useImperativeHandle:hs,useInsertionEffect:hs,useLayoutEffect:hs,useMemo:hs,useReducer:hs,useRef:hs,useState:hs,useDebugValue:hs,useDeferredValue:hs,useTransition:hs,useMutableSource:hs,useSyncExternalStore:hs,useId:hs,unstable_isNewReconciler:!1},Js={readContext:To,useCallback:function(e,t){return bs().memoizedState=[e,void 0===t?null:t],e},useContext:To,useEffect:$s,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Rs(4194308,4,Fs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rs(4194308,4,e,t)},useInsertionEffect:function(e,t){return Rs(4,2,e,t)},useMemo:function(e,t){var n=bs();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=bs();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ys.bind(null,as,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},bs().memoizedState=e},useState:Ps,useDebugValue:Bs,useDeferredValue:function(e){return bs().memoizedState=e},useTransition:function(){var e=Ps(!1),t=e[0];return e=Ws.bind(null,e[1]),bs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=as,i=bs();if(io){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===jl)throw Error(o(349));30&ss||Os(r,t,n)}i.memoizedState=n;var s={value:n,getSnapshot:t};return i.queue=s,$s(As.bind(null,r,s,e),[e]),r.flags|=2048,Ts(9,_s.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=bs(),t=jl.identifierPrefix;if(io){var n=Ki;t=\":\"+t+\"R\"+(n=(Xi&~(1<<32-st(Xi)-1)).toString(32)+n),0<(n=ds++)&&(t+=\"H\"+n.toString(32)),t+=\":\"}else t=\":\"+t+\"r\"+(n=fs++).toString(32)+\":\";return e.memoizedState=t},unstable_isNewReconciler:!1},ea={readContext:To,useCallback:Us,useContext:To,useEffect:Ls,useImperativeHandle:zs,useInsertionEffect:Ds,useLayoutEffect:Ms,useMemo:qs,useReducer:ws,useRef:Is,useState:function(){return ws(xs)},useDebugValue:Bs,useDeferredValue:function(e){return Vs(vs(),ls.memoizedState,e)},useTransition:function(){return[ws(xs)[0],vs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:Es,useId:Hs,unstable_isNewReconciler:!1},ta={readContext:To,useCallback:Us,useContext:To,useEffect:Ls,useImperativeHandle:zs,useInsertionEffect:Ds,useLayoutEffect:Ms,useMemo:qs,useReducer:ks,useRef:Is,useState:function(){return ks(xs)},useDebugValue:Bs,useDeferredValue:function(e){var t=vs();return null===ls?t.memoizedState=e:Vs(t,ls.memoizedState,e)},useTransition:function(){return[ks(xs)[0],vs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:Es,useId:Hs,unstable_isNewReconciler:!1};function na(e,t){if(e&&e.defaultProps){for(var n in t=D({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function ra(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:D({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ia={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),i=tc(e),o=Fo(r,i);o.payload=t,null!=n&&(o.callback=n),null!==(t=zo(e,o,i))&&(nc(t,e,i,r),Bo(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),i=tc(e),o=Fo(r,i);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=zo(e,o,i))&&(nc(t,e,i,r),Bo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),i=Fo(n,r);i.tag=2,null!=t&&(i.callback=t),null!==(t=zo(e,i,r))&&(nc(t,e,r,n),Bo(t,e,r))}};function oa(e,t,n,r,i,o,s){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,s):!(t.prototype&&t.prototype.isPureReactComponent&&lr(n,r)&&lr(i,o))}function sa(e,t,n){var r=!1,i=Ai,o=t.contextType;return\"object\"==typeof o&&null!==o?o=To(o):(i=Ii(t)?Pi:Ci.current,o=(r=null!=(r=t.contextTypes))?Ti(e,i):Ai),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ia,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function aa(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ia.enqueueReplaceState(t,t.state,null)}function la(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},Do(e);var o=t.contextType;\"object\"==typeof o&&null!==o?i.context=To(o):(o=Ii(t)?Pi:Ci.current,i.context=Ti(e,o)),i.state=e.memoizedState,\"function\"==typeof(o=t.getDerivedStateFromProps)&&(ra(e,t,o,n),i.state=e.memoizedState),\"function\"==typeof t.getDerivedStateFromProps||\"function\"==typeof i.getSnapshotBeforeUpdate||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(t=i.state,\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&ia.enqueueReplaceState(i,i.state,null),qo(e,n,i,r),i.state=e.memoizedState),\"function\"==typeof i.componentDidMount&&(e.flags|=4194308)}function ca(e,t){try{var n=\"\",r=t;do{n+=B(r),r=r.return}while(r);var i=n}catch(e){i=\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}return{value:e,source:t,stack:i,digest:null}}function ua(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function pa(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var da=\"function\"==typeof WeakMap?WeakMap:Map;function fa(e,t,n){(n=Fo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Vl||(Vl=!0,Wl=r),pa(0,t)},n}function ha(e,t,n){(n=Fo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"==typeof r){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){pa(0,t)}}var o=e.stateNode;return null!==o&&\"function\"==typeof o.componentDidCatch&&(n.callback=function(){pa(0,t),\"function\"!=typeof r&&(null===Hl?Hl=new Set([this]):Hl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:\"\"})}),n}function ma(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new da;var i=new Set;r.set(t,i)}else void 0===(i=r.get(t))&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Oc.bind(null,e,t,n),t.then(e,e))}function ga(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ya(e,t,n,r,i){return 1&e.mode?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Fo(-1,1)).tag=2,zo(n,t,1))),n.lanes|=1),e)}var ba=x.ReactCurrentOwner,va=!1;function xa(e,t,n,r){t.child=null===e?ko(t,null,n,r):wo(t,e.child,n,r)}function wa(e,t,n,r,i){n=n.render;var o=t.ref;return Po(t,i),r=gs(e,t,n,r,o,i),n=ys(),null===e||va?(io&&n&&eo(t),t.flags|=1,xa(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Va(e,t,i))}function ka(e,t,n,r,i){if(null===e){var o=n.type;return\"function\"!=typeof o||Ic(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Nc(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Sa(e,t,o,r,i))}if(o=e.child,!(e.lanes&i)){var s=o.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(s,r)&&e.ref===t.ref)return Va(e,t,i)}return t.flags|=1,(e=Rc(o,r)).ref=t.ref,e.return=t,t.child=e}function Sa(e,t,n,r,i){if(null!==e){var o=e.memoizedProps;if(lr(o,r)&&e.ref===t.ref){if(va=!1,t.pendingProps=r=o,!(e.lanes&i))return t.lanes=e.lanes,Va(e,t,i);131072&e.flags&&(va=!0)}}return _a(e,t,n,r,i)}function Ea(e,t,n){var r=t.pendingProps,i=r.children,o=null!==e?e.memoizedState:null;if(\"hidden\"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,_i(Rl,Il),Il|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,_i(Rl,Il),Il|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},_i(Rl,Il),Il|=n;else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,_i(Rl,Il),Il|=r;return xa(e,t,i,n),t.child}function Oa(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function _a(e,t,n,r,i){var o=Ii(n)?Pi:Ci.current;return o=Ti(t,o),Po(t,i),n=gs(e,t,n,r,o,i),r=ys(),null===e||va?(io&&r&&eo(t),t.flags|=1,xa(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Va(e,t,i))}function Aa(e,t,n,r,i){if(Ii(n)){var o=!0;Li(t)}else o=!1;if(Po(t,i),null===t.stateNode)qa(e,t),sa(t,n,r),la(t,n,r,i),r=!0;else if(null===e){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,c=n.contextType;c=\"object\"==typeof c&&null!==c?To(c):Ti(t,c=Ii(n)?Pi:Ci.current);var u=n.getDerivedStateFromProps,p=\"function\"==typeof u||\"function\"==typeof s.getSnapshotBeforeUpdate;p||\"function\"!=typeof s.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof s.componentWillReceiveProps||(a!==r||l!==c)&&aa(t,s,r,c),Lo=!1;var d=t.memoizedState;s.state=d,qo(t,r,s,i),l=t.memoizedState,a!==r||d!==l||ji.current||Lo?(\"function\"==typeof u&&(ra(t,n,u,r),l=t.memoizedState),(a=Lo||oa(t,n,a,r,d,l,c))?(p||\"function\"!=typeof s.UNSAFE_componentWillMount&&\"function\"!=typeof s.componentWillMount||(\"function\"==typeof s.componentWillMount&&s.componentWillMount(),\"function\"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),\"function\"==typeof s.componentDidMount&&(t.flags|=4194308)):(\"function\"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=c,r=a):(\"function\"==typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,Mo(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:na(t.type,a),s.props=c,p=t.pendingProps,d=s.context,l=\"object\"==typeof(l=n.contextType)&&null!==l?To(l):Ti(t,l=Ii(n)?Pi:Ci.current);var f=n.getDerivedStateFromProps;(u=\"function\"==typeof f||\"function\"==typeof s.getSnapshotBeforeUpdate)||\"function\"!=typeof s.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof s.componentWillReceiveProps||(a!==p||d!==l)&&aa(t,s,r,l),Lo=!1,d=t.memoizedState,s.state=d,qo(t,r,s,i);var h=t.memoizedState;a!==p||d!==h||ji.current||Lo?(\"function\"==typeof f&&(ra(t,n,f,r),h=t.memoizedState),(c=Lo||oa(t,n,c,r,d,h,l)||!1)?(u||\"function\"!=typeof s.UNSAFE_componentWillUpdate&&\"function\"!=typeof s.componentWillUpdate||(\"function\"==typeof s.componentWillUpdate&&s.componentWillUpdate(r,h,l),\"function\"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,h,l)),\"function\"==typeof s.componentDidUpdate&&(t.flags|=4),\"function\"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):(\"function\"!=typeof s.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),s.props=r,s.state=h,s.context=l,r=c):(\"function\"!=typeof s.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),\"function\"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),r=!1)}return Ca(e,t,n,r,o,i)}function Ca(e,t,n,r,i,o){Oa(e,t);var s=!!(128&t.flags);if(!r&&!s)return i&&Di(t,n,!1),Va(e,t,o);r=t.stateNode,ba.current=t;var a=s&&\"function\"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=wo(t,e.child,null,o),t.child=wo(t,null,a,o)):xa(e,t,a,o),t.memoizedState=r.state,i&&Di(t,n,!0),t.child}function ja(e){var t=e.stateNode;t.pendingContext?Ni(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ni(0,t.context,!1),Xo(e,t.containerInfo)}function Pa(e,t,n,r,i){return ho(),mo(i),t.flags|=256,xa(e,t,n,r),t.child}var Ta,Ia,Ra,Na,$a={dehydrated:null,treeContext:null,retryLane:0};function La(e){return{baseLanes:e,cachePool:null,transitions:null}}function Da(e,t,n){var r,i=t.pendingProps,s=es.current,a=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&s)),r?(a=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),_i(es,1&s),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?\"$!\"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=i.children,e=i.fallback,a?(i=t.mode,a=t.child,l={mode:\"hidden\",children:l},1&i||null===a?a=Lc(l,i,0,null):(a.childLanes=0,a.pendingProps=l),e=$c(e,i,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=La(n),t.memoizedState=$a,e):Ma(t,l));if(null!==(s=e.memoizedState)&&null!==(r=s.dehydrated))return function(e,t,n,r,i,s,a){if(n)return 256&t.flags?(t.flags&=-257,Fa(e,t,a,r=ua(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=r.fallback,i=t.mode,r=Lc({mode:\"visible\",children:r.children},i,0,null),(s=$c(s,i,a,null)).flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,1&t.mode&&wo(t,e.child,null,a),t.child.memoizedState=La(a),t.memoizedState=$a,s);if(!(1&t.mode))return Fa(e,t,a,null);if(\"$!\"===i.data){if(r=i.nextSibling&&i.nextSibling.dataset)var l=r.dgst;return r=l,Fa(e,t,a,r=ua(s=Error(o(419)),r,void 0))}if(l=!!(a&e.childLanes),va||l){if(null!==(r=jl)){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=i&(r.suspendedLanes|a)?0:i)&&i!==s.retryLane&&(s.retryLane=i,$o(e,i),nc(r,e,i,-1))}return mc(),Fa(e,t,a,r=ua(Error(o(421))))}return\"$?\"===i.data?(t.flags|=128,t.child=e.child,t=Ac.bind(null,e),i._reactRetry=t,null):(e=s.treeContext,ro=ci(i.nextSibling),no=t,io=!0,oo=null,null!==e&&(Yi[Gi++]=Xi,Yi[Gi++]=Ki,Yi[Gi++]=Qi,Xi=e.id,Ki=e.overflow,Qi=t),(t=Ma(t,r.children)).flags|=4096,t)}(e,t,l,i,r,s,n);if(a){a=i.fallback,l=t.mode,r=(s=e.child).sibling;var c={mode:\"hidden\",children:i.children};return 1&l||t.child===s?(i=Rc(s,c)).subtreeFlags=14680064&s.subtreeFlags:((i=t.child).childLanes=0,i.pendingProps=c,t.deletions=null),null!==r?a=Rc(r,a):(a=$c(a,l,n,null)).flags|=2,a.return=t,i.return=t,i.sibling=a,t.child=i,i=a,a=t.child,l=null===(l=e.child.memoizedState)?La(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},a.memoizedState=l,a.childLanes=e.childLanes&~n,t.memoizedState=$a,i}return e=(a=e.child).sibling,i=Rc(a,{mode:\"visible\",children:i.children}),!(1&t.mode)&&(i.lanes=n),i.return=t,i.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function Ma(e,t){return(t=Lc({mode:\"visible\",children:t},e.mode,0,null)).return=e,e.child=t}function Fa(e,t,n,r){return null!==r&&mo(r),wo(t,e.child,null,n),(e=Ma(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function za(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),jo(e.return,t,n)}function Ba(e,t,n,r,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i)}function Ua(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(xa(e,t,r.children,n),2&(r=es.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&za(e,n,t);else if(19===e.tag)za(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(_i(es,r),1&t.mode)switch(i){case\"forwards\":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===ts(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Ba(t,!1,i,n,o);break;case\"backwards\":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===ts(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Ba(t,!0,n,null,o);break;case\"together\":Ba(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function qa(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Va(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ll|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Rc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Rc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Wa(e,t){if(!io)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ha(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=14680064&i.subtreeFlags,r|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ya(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ha(t),null;case 1:case 17:return Ii(t.type)&&Ri(),Ha(t),null;case 3:return r=t.stateNode,Ko(),Oi(ji),Oi(Ci),rs(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==oo&&(sc(oo),oo=null))),Ia(e,t),Ha(t),null;case 5:Jo(t);var i=Qo(Go.current);if(n=t.type,null!==e&&null!=t.stateNode)Ra(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Ha(t),null}if(e=Qo(Ho.current),po(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[di]=t,r[fi]=s,e=!!(1&t.mode),n){case\"dialog\":Fr(\"cancel\",r),Fr(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":Fr(\"load\",r);break;case\"video\":case\"audio\":for(i=0;i<$r.length;i++)Fr($r[i],r);break;case\"source\":Fr(\"error\",r);break;case\"img\":case\"image\":case\"link\":Fr(\"error\",r),Fr(\"load\",r);break;case\"details\":Fr(\"toggle\",r);break;case\"input\":X(r,s),Fr(\"invalid\",r);break;case\"select\":r._wrapperState={wasMultiple:!!s.multiple},Fr(\"invalid\",r);break;case\"textarea\":ie(r,s),Fr(\"invalid\",r)}for(var l in be(n,s),i=null,s)if(s.hasOwnProperty(l)){var c=s[l];\"children\"===l?\"string\"==typeof c?r.textContent!==c&&(!0!==s.suppressHydrationWarning&&Zr(r.textContent,c,e),i=[\"children\",c]):\"number\"==typeof c&&r.textContent!==\"\"+c&&(!0!==s.suppressHydrationWarning&&Zr(r.textContent,c,e),i=[\"children\",\"\"+c]):a.hasOwnProperty(l)&&null!=c&&\"onScroll\"===l&&Fr(\"scroll\",r)}switch(n){case\"input\":H(r),J(r,s,!0);break;case\"textarea\":H(r),se(r);break;case\"select\":case\"option\":break;default:\"function\"==typeof s.onClick&&(r.onclick=Jr)}r=i,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===i.nodeType?i:i.ownerDocument,\"http://www.w3.org/1999/xhtml\"===e&&(e=ae(n)),\"http://www.w3.org/1999/xhtml\"===e?\"script\"===n?((e=l.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),\"select\"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[di]=t,e[fi]=r,Ta(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,r),n){case\"dialog\":Fr(\"cancel\",e),Fr(\"close\",e),i=r;break;case\"iframe\":case\"object\":case\"embed\":Fr(\"load\",e),i=r;break;case\"video\":case\"audio\":for(i=0;i<$r.length;i++)Fr($r[i],e);i=r;break;case\"source\":Fr(\"error\",e),i=r;break;case\"img\":case\"image\":case\"link\":Fr(\"error\",e),Fr(\"load\",e),i=r;break;case\"details\":Fr(\"toggle\",e),i=r;break;case\"input\":X(e,r),i=Q(e,r),Fr(\"invalid\",e);break;case\"option\":default:i=r;break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},i=D({},r,{value:void 0}),Fr(\"invalid\",e);break;case\"textarea\":ie(e,r),i=re(e,r),Fr(\"invalid\",e)}for(s in be(n,i),c=i)if(c.hasOwnProperty(s)){var u=c[s];\"style\"===s?ge(e,u):\"dangerouslySetInnerHTML\"===s?null!=(u=u?u.__html:void 0)&&pe(e,u):\"children\"===s?\"string\"==typeof u?(\"textarea\"!==n||\"\"!==u)&&de(e,u):\"number\"==typeof u&&de(e,\"\"+u):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(a.hasOwnProperty(s)?null!=u&&\"onScroll\"===s&&Fr(\"scroll\",e):null!=u&&v(e,s,u,l))}switch(n){case\"input\":H(e),J(e,r,!1);break;case\"textarea\":H(e),se(e);break;case\"option\":null!=r.value&&e.setAttribute(\"value\",\"\"+V(r.value));break;case\"select\":e.multiple=!!r.multiple,null!=(s=r.value)?ne(e,!!r.multiple,s,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:\"function\"==typeof i.onClick&&(e.onclick=Jr)}switch(n){case\"button\":case\"input\":case\"select\":case\"textarea\":r=!!r.autoFocus;break e;case\"img\":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ha(t),null;case 6:if(e&&null!=t.stateNode)Na(e,t,e.memoizedProps,r);else{if(\"string\"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=Qo(Go.current),Qo(Ho.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[di]=t,(s=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Zr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Zr(r.nodeValue,n,!!(1&e.mode))}s&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[di]=t,t.stateNode=r}return Ha(t),null;case 13:if(Oi(es),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(io&&null!==ro&&1&t.mode&&!(128&t.flags))fo(),ho(),t.flags|=98560,s=!1;else if(s=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!s)throw Error(o(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(o(317));s[di]=t}else ho(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ha(t),s=!1}else null!==oo&&(sc(oo),oo=null),s=!0;if(!s)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!=(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&es.current?0===Nl&&(Nl=3):mc())),null!==t.updateQueue&&(t.flags|=4),Ha(t),null);case 4:return Ko(),Ia(e,t),null===e&&Ur(t.stateNode.containerInfo),Ha(t),null;case 10:return Co(t.type._context),Ha(t),null;case 19:if(Oi(es),null===(s=t.memoizedState))return Ha(t),null;if(r=!!(128&t.flags),null===(l=s.rendering))if(r)Wa(s,!1);else{if(0!==Nl||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=ts(e))){for(t.flags|=128,Wa(s,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,e=l.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return _i(es,1&es.current|2),t.child}e=e.sibling}null!==s.tail&&Ke()>Ul&&(t.flags|=128,r=!0,Wa(s,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ts(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Wa(s,!0),null===s.tail&&\"hidden\"===s.tailMode&&!l.alternate&&!io)return Ha(t),null}else 2*Ke()-s.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Wa(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=s.last)?n.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Ke(),t.sibling=null,n=es.current,_i(es,r?1&n|2:1&n),t):(Ha(t),null);case 22:case 23:return pc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Il)&&(Ha(t),6&t.subtreeFlags&&(t.flags|=8192)):Ha(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ga(e,t){switch(to(t),t.tag){case 1:return Ii(t.type)&&Ri(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ko(),Oi(ji),Oi(Ci),rs(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Jo(t),null;case 13:if(Oi(es),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));ho()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Oi(es),null;case 4:return Ko(),null;case 10:return Co(t.type._context),null;case 22:case 23:return pc(),null;default:return null}}Ta=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ia=function(){},Ra=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Qo(Ho.current);var o,s=null;switch(n){case\"input\":i=Q(e,i),r=Q(e,r),s=[];break;case\"select\":i=D({},i,{value:void 0}),r=D({},r,{value:void 0}),s=[];break;case\"textarea\":i=re(e,i),r=re(e,r),s=[];break;default:\"function\"!=typeof i.onClick&&\"function\"==typeof r.onClick&&(e.onclick=Jr)}for(u in be(n,r),n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if(\"style\"===u){var l=i[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]=\"\")}else\"dangerouslySetInnerHTML\"!==u&&\"children\"!==u&&\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&\"autoFocus\"!==u&&(a.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=i?i[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if(\"style\"===u)if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]=\"\");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(s||(s=[]),s.push(u,n)),n=c;else\"dangerouslySetInnerHTML\"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(s=s||[]).push(u,c)):\"children\"===u?\"string\"!=typeof c&&\"number\"!=typeof c||(s=s||[]).push(u,\"\"+c):\"suppressContentEditableWarning\"!==u&&\"suppressHydrationWarning\"!==u&&(a.hasOwnProperty(u)?(null!=c&&\"onScroll\"===u&&Fr(\"scroll\",e),s||l===c||(s=[])):(s=s||[]).push(u,c))}n&&(s=s||[]).push(\"style\",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},Na=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qa=!1,Xa=!1,Ka=\"function\"==typeof WeakSet?WeakSet:Set,Za=null;function Ja(e,t){var n=e.ref;if(null!==n)if(\"function\"==typeof n)try{n(null)}catch(n){Ec(e,t,n)}else n.current=null}function el(e,t,n){try{n()}catch(n){Ec(e,t,n)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,void 0!==o&&el(t,n,o)}i=i.next}while(i!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function il(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,\"function\"==typeof t?t(e):t.current=e}}function ol(e){var t=e.alternate;null!==t&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[di],delete t[fi],delete t[mi],delete t[gi],delete t[yi]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sl(e){return 5===e.tag||3===e.tag||4===e.tag}function al(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,pl=!1;function dl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(ot&&\"function\"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(it,n)}catch(e){}switch(n.tag){case 5:Xa||Ja(n,t);case 6:var r=ul,i=pl;ul=null,dl(e,t,n),pl=i,null!==(ul=r)&&(pl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(pl?(e=ul,n=n.stateNode,8===e.nodeType?li(e.parentNode,n):1===e.nodeType&&li(e,n),Ut(e)):li(ul,n.stateNode));break;case 4:r=ul,i=pl,ul=n.stateNode.containerInfo,pl=!0,dl(e,t,n),ul=r,pl=i;break;case 0:case 11:case 14:case 15:if(!Xa&&null!==(r=n.updateQueue)&&null!==(r=r.lastEffect)){i=r=r.next;do{var o=i,s=o.destroy;o=o.tag,void 0!==s&&(2&o||4&o)&&el(n,t,s),i=i.next}while(i!==r)}dl(e,t,n);break;case 1:if(!Xa&&(Ja(n,t),\"function\"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(e){Ec(n,t,e)}dl(e,t,n);break;case 21:dl(e,t,n);break;case 22:1&n.mode?(Xa=(r=Xa)||null!==n.memoizedState,dl(e,t,n),Xa=r):dl(e,t,n);break;default:dl(e,t,n)}}function hl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Ka),t.forEach((function(t){var r=Cc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function ml(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var i=n[r];try{var s=e,a=t,l=a;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,pl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,pl=!0;break e}l=l.return}if(null===ul)throw Error(o(160));fl(s,a,i),ul=null,pl=!1;var c=i.alternate;null!==c&&(c.return=null),i.return=null}catch(e){Ec(i,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gl(t,e),t=t.sibling}function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ml(t,e),yl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(t){Ec(e,e.return,t)}try{nl(5,e,e.return)}catch(t){Ec(e,e.return,t)}}break;case 1:ml(t,e),yl(e),512&r&&null!==n&&Ja(n,n.return);break;case 5:if(ml(t,e),yl(e),512&r&&null!==n&&Ja(n,n.return),32&e.flags){var i=e.stateNode;try{de(i,\"\")}catch(t){Ec(e,e.return,t)}}if(4&r&&null!=(i=e.stateNode)){var s=e.memoizedProps,a=null!==n?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{\"input\"===l&&\"radio\"===s.type&&null!=s.name&&K(i,s),ve(l,a);var u=ve(l,s);for(a=0;a<c.length;a+=2){var p=c[a],d=c[a+1];\"style\"===p?ge(i,d):\"dangerouslySetInnerHTML\"===p?pe(i,d):\"children\"===p?de(i,d):v(i,p,d,u)}switch(l){case\"input\":Z(i,s);break;case\"textarea\":oe(i,s);break;case\"select\":var f=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!s.multiple;var h=s.value;null!=h?ne(i,!!s.multiple,h,!1):f!==!!s.multiple&&(null!=s.defaultValue?ne(i,!!s.multiple,s.defaultValue,!0):ne(i,!!s.multiple,s.multiple?[]:\"\",!1))}i[fi]=s}catch(t){Ec(e,e.return,t)}}break;case 6:if(ml(t,e),yl(e),4&r){if(null===e.stateNode)throw Error(o(162));i=e.stateNode,s=e.memoizedProps;try{i.nodeValue=s}catch(t){Ec(e,e.return,t)}}break;case 3:if(ml(t,e),yl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(t){Ec(e,e.return,t)}break;case 4:default:ml(t,e),yl(e);break;case 13:ml(t,e),yl(e),8192&(i=e.child).flags&&(s=null!==i.memoizedState,i.stateNode.isHidden=s,!s||null!==i.alternate&&null!==i.alternate.memoizedState||(Bl=Ke())),4&r&&hl(e);break;case 22:if(p=null!==n&&null!==n.memoizedState,1&e.mode?(Xa=(u=Xa)||p,ml(t,e),Xa=u):ml(t,e),yl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!p&&1&e.mode)for(Za=e,p=e.child;null!==p;){for(d=Za=p;null!==Za;){switch(h=(f=Za).child,f.tag){case 0:case 11:case 14:case 15:nl(4,f,f.return);break;case 1:Ja(f,f.return);var m=f.stateNode;if(\"function\"==typeof m.componentWillUnmount){r=f,n=f.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(e){Ec(r,n,e)}}break;case 5:Ja(f,f.return);break;case 22:if(null!==f.memoizedState){wl(d);continue}}null!==h?(h.return=f,Za=h):wl(d)}p=p.sibling}e:for(p=null,d=e;;){if(5===d.tag){if(null===p){p=d;try{i=d.stateNode,u?\"function\"==typeof(s=i.style).setProperty?s.setProperty(\"display\",\"none\",\"important\"):s.display=\"none\":(l=d.stateNode,a=null!=(c=d.memoizedProps.style)&&c.hasOwnProperty(\"display\")?c.display:null,l.style.display=me(\"display\",a))}catch(t){Ec(e,e.return,t)}}}else if(6===d.tag){if(null===p)try{d.stateNode.nodeValue=u?\"\":d.memoizedProps}catch(t){Ec(e,e.return,t)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;p===d&&(p=null),d=d.return}p===d&&(p=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:ml(t,e),yl(e),4&r&&hl(e);case 21:}}function yl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(sl(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var i=r.stateNode;32&r.flags&&(de(i,\"\"),r.flags&=-33),cl(e,al(e),i);break;case 3:case 4:var s=r.stateNode.containerInfo;ll(e,al(e),s);break;default:throw Error(o(161))}}catch(t){Ec(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function bl(e,t,n){Za=e,vl(e,t,n)}function vl(e,t,n){for(var r=!!(1&e.mode);null!==Za;){var i=Za,o=i.child;if(22===i.tag&&r){var s=null!==i.memoizedState||Qa;if(!s){var a=i.alternate,l=null!==a&&null!==a.memoizedState||Xa;a=Qa;var c=Xa;if(Qa=s,(Xa=l)&&!c)for(Za=i;null!==Za;)l=(s=Za).child,22===s.tag&&null!==s.memoizedState?kl(i):null!==l?(l.return=s,Za=l):kl(i);for(;null!==o;)Za=o,vl(o,t,n),o=o.sibling;Za=i,Qa=a,Xa=c}xl(e)}else 8772&i.subtreeFlags&&null!==o?(o.return=i,Za=o):xl(e)}}function xl(e){for(;null!==Za;){var t=Za;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Xa||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Xa)if(null===n)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:na(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&Vo(t,s,r);break;case 3:var a=t.updateQueue;if(null!==a){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Vo(t,a,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case\"button\":case\"input\":case\"select\":case\"textarea\":c.autoFocus&&n.focus();break;case\"img\":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var p=u.memoizedState;if(null!==p){var d=p.dehydrated;null!==d&&Ut(d)}}}break;default:throw Error(o(163))}Xa||512&t.flags&&il(t)}catch(e){Ec(t,t.return,e)}}if(t===e){Za=null;break}if(null!==(n=t.sibling)){n.return=t.return,Za=n;break}Za=t.return}}function wl(e){for(;null!==Za;){var t=Za;if(t===e){Za=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Za=n;break}Za=t.return}}function kl(e){for(;null!==Za;){var t=Za;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(e){Ec(t,n,e)}break;case 1:var r=t.stateNode;if(\"function\"==typeof r.componentDidMount){var i=t.return;try{r.componentDidMount()}catch(e){Ec(t,i,e)}}var o=t.return;try{il(t)}catch(e){Ec(t,o,e)}break;case 5:var s=t.return;try{il(t)}catch(e){Ec(t,s,e)}}}catch(e){Ec(t,t.return,e)}if(t===e){Za=null;break}var a=t.sibling;if(null!==a){a.return=t.return,Za=a;break}Za=t.return}}var Sl,El=Math.ceil,Ol=x.ReactCurrentDispatcher,_l=x.ReactCurrentOwner,Al=x.ReactCurrentBatchConfig,Cl=0,jl=null,Pl=null,Tl=0,Il=0,Rl=Ei(0),Nl=0,$l=null,Ll=0,Dl=0,Ml=0,Fl=null,zl=null,Bl=0,Ul=1/0,ql=null,Vl=!1,Wl=null,Hl=null,Yl=!1,Gl=null,Ql=0,Xl=0,Kl=null,Zl=-1,Jl=0;function ec(){return 6&Cl?Ke():-1!==Zl?Zl:Zl=Ke()}function tc(e){return 1&e.mode?2&Cl&&0!==Tl?Tl&-Tl:null!==go.transition?(0===Jl&&(Jl=mt()),Jl):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Xt(e.type):1}function nc(e,t,n,r){if(50<Xl)throw Xl=0,Kl=null,Error(o(185));yt(e,n,r),2&Cl&&e===jl||(e===jl&&(!(2&Cl)&&(Dl|=n),4===Nl&&ac(e,Tl)),rc(e,r),1===n&&0===Cl&&!(1&t.mode)&&(Ul=Ke()+500,Fi&&Ui()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes;0<o;){var s=31-st(o),a=1<<s,l=i[s];-1===l?a&n&&!(a&r)||(i[s]=ft(a,t)):l<=t&&(e.expiredLanes|=a),o&=~a}}(e,t);var r=dt(e,e===jl?Tl:0);if(0===r)null!==n&&Ge(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ge(n),1===t)0===e.tag?function(e){Fi=!0,Bi(e)}(lc.bind(null,e)):Bi(lc.bind(null,e)),si((function(){!(6&Cl)&&Ui()})),n=null;else{switch(xt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=jc(n,ic.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ic(e,t){if(Zl=-1,Jl=0,6&Cl)throw Error(o(327));var n=e.callbackNode;if(kc()&&e.callbackNode!==n)return null;var r=dt(e,e===jl?Tl:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=gc(e,r);else{t=r;var i=Cl;Cl|=2;var s=hc();for(jl===e&&Tl===t||(ql=null,Ul=Ke()+500,dc(e,t));;)try{bc();break}catch(t){fc(e,t)}Ao(),Ol.current=s,Cl=i,null!==Pl?t=0:(jl=null,Tl=0,t=Nl)}if(0!==t){if(2===t&&0!==(i=ht(e))&&(r=i,t=oc(e,i)),1===t)throw n=$l,dc(e,0),ac(e,r),rc(e,Ke()),n;if(6===t)ac(e,r);else{if(i=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var i=n[r],o=i.getSnapshot;i=i.value;try{if(!ar(o(),i))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)||(t=gc(e,r),2===t&&(s=ht(e),0!==s&&(r=s,t=oc(e,s))),1!==t)))throw n=$l,dc(e,0),ac(e,r),rc(e,Ke()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:wc(e,zl,ql);break;case 3:if(ac(e,r),(130023424&r)===r&&10<(t=Bl+500-Ke())){if(0!==dt(e,0))break;if(((i=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ri(wc.bind(null,e,zl,ql),t);break}wc(e,zl,ql);break;case 4:if(ac(e,r),(4194240&r)===r)break;for(t=e.eventTimes,i=-1;0<r;){var a=31-st(r);s=1<<a,(a=t[a])>i&&(i=a),r&=~s}if(r=i,10<(r=(120>(r=Ke()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*El(r/1960))-r)){e.timeoutHandle=ri(wc.bind(null,e,zl,ql),r);break}wc(e,zl,ql);break;default:throw Error(o(329))}}}return rc(e,Ke()),e.callbackNode===n?ic.bind(null,e):null}function oc(e,t){var n=Fl;return e.current.memoizedState.isDehydrated&&(dc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=zl,zl=n,null!==t&&sc(t)),e}function sc(e){null===zl?zl=e:zl.push.apply(zl,e)}function ac(e,t){for(t&=~Ml,t&=~Dl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-st(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(6&Cl)throw Error(o(327));kc();var t=dt(e,0);if(!(1&t))return rc(e,Ke()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=ht(e);0!==r&&(t=r,n=oc(e,r))}if(1===n)throw n=$l,dc(e,0),ac(e,t),rc(e,Ke()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,zl,ql),rc(e,Ke()),null}function cc(e,t){var n=Cl;Cl|=1;try{return e(t)}finally{0===(Cl=n)&&(Ul=Ke()+500,Fi&&Ui())}}function uc(e){null!==Gl&&0===Gl.tag&&!(6&Cl)&&kc();var t=Cl;Cl|=1;var n=Al.transition,r=vt;try{if(Al.transition=null,vt=1,e)return e()}finally{vt=r,Al.transition=n,!(6&(Cl=t))&&Ui()}}function pc(){Il=Rl.current,Oi(Rl)}function dc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,ii(n)),null!==Pl)for(n=Pl.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Ri();break;case 3:Ko(),Oi(ji),Oi(Ci),rs();break;case 5:Jo(r);break;case 4:Ko();break;case 13:case 19:Oi(es);break;case 10:Co(r.type._context);break;case 22:case 23:pc()}n=n.return}if(jl=e,Pl=e=Rc(e.current,null),Tl=Il=t,Nl=0,$l=null,Ml=Dl=Ll=0,zl=Fl=null,null!==Io){for(t=0;t<Io.length;t++)if(null!==(r=(n=Io[t]).interleaved)){n.interleaved=null;var i=r.next,o=n.pending;if(null!==o){var s=o.next;o.next=i,r.next=s}n.pending=r}Io=null}return e}function fc(e,t){for(;;){var n=Pl;try{if(Ao(),is.current=Zs,us){for(var r=as.memoizedState;null!==r;){var i=r.queue;null!==i&&(i.pending=null),r=r.next}us=!1}if(ss=0,cs=ls=as=null,ps=!1,ds=0,_l.current=null,null===n||null===n.return){Nl=1,$l=t,Pl=null;break}e:{var s=e,a=n.return,l=n,c=t;if(t=Tl,l.flags|=32768,null!==c&&\"object\"==typeof c&&\"function\"==typeof c.then){var u=c,p=l,d=p.tag;if(!(1&p.mode||0!==d&&11!==d&&15!==d)){var f=p.alternate;f?(p.updateQueue=f.updateQueue,p.memoizedState=f.memoizedState,p.lanes=f.lanes):(p.updateQueue=null,p.memoizedState=null)}var h=ga(a);if(null!==h){h.flags&=-257,ya(h,a,l,0,t),1&h.mode&&ma(s,u,t),c=u;var m=(t=h).updateQueue;if(null===m){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}if(!(1&t)){ma(s,u,t),mc();break e}c=Error(o(426))}else if(io&&1&l.mode){var y=ga(a);if(null!==y){!(65536&y.flags)&&(y.flags|=256),ya(y,a,l,0,t),mo(ca(c,l));break e}}s=c=ca(c,l),4!==Nl&&(Nl=2),null===Fl?Fl=[s]:Fl.push(s),s=a;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Uo(s,fa(0,c,t));break e;case 1:l=c;var b=s.type,v=s.stateNode;if(!(128&s.flags||\"function\"!=typeof b.getDerivedStateFromError&&(null===v||\"function\"!=typeof v.componentDidCatch||null!==Hl&&Hl.has(v)))){s.flags|=65536,t&=-t,s.lanes|=t,Uo(s,ha(s,l,t));break e}}s=s.return}while(null!==s)}xc(n)}catch(e){t=e,Pl===n&&null!==n&&(Pl=n=n.return);continue}break}}function hc(){var e=Ol.current;return Ol.current=Zs,null===e?Zs:e}function mc(){0!==Nl&&3!==Nl&&2!==Nl||(Nl=4),null===jl||!(268435455&Ll)&&!(268435455&Dl)||ac(jl,Tl)}function gc(e,t){var n=Cl;Cl|=2;var r=hc();for(jl===e&&Tl===t||(ql=null,dc(e,t));;)try{yc();break}catch(t){fc(e,t)}if(Ao(),Cl=n,Ol.current=r,null!==Pl)throw Error(o(261));return jl=null,Tl=0,Nl}function yc(){for(;null!==Pl;)vc(Pl)}function bc(){for(;null!==Pl&&!Qe();)vc(Pl)}function vc(e){var t=Sl(e.alternate,e,Il);e.memoizedProps=e.pendingProps,null===t?xc(e):Pl=t,_l.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ga(n,t)))return n.flags&=32767,void(Pl=n);if(null===e)return Nl=6,void(Pl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Ya(n,t,Il)))return void(Pl=n);if(null!==(t=t.sibling))return void(Pl=t);Pl=t=e}while(null!==t);0===Nl&&(Nl=5)}function wc(e,t,n){var r=vt,i=Al.transition;try{Al.transition=null,vt=1,function(e,t,n,r){do{kc()}while(null!==Gl);if(6&Cl)throw Error(o(327));n=e.finishedWork;var i=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-st(n),o=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~o}}(e,s),e===jl&&(Pl=jl=null,Tl=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Yl||(Yl=!0,jc(tt,(function(){return kc(),null}))),s=!!(15990&n.flags),15990&n.subtreeFlags||s){s=Al.transition,Al.transition=null;var a=vt;vt=1;var l=Cl;Cl|=4,_l.current=null,function(e,t){if(ei=Vt,fr(e=dr())){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch(e){n=null;break e}var a=0,l=-1,c=-1,u=0,p=0,d=e,f=null;t:for(;;){for(var h;d!==n||0!==i&&3!==d.nodeType||(l=a+i),d!==s||0!==r&&3!==d.nodeType||(c=a+r),3===d.nodeType&&(a+=d.nodeValue.length),null!==(h=d.firstChild);)f=d,d=h;for(;;){if(d===e)break t;if(f===n&&++u===i&&(l=a),f===s&&++p===r&&(c=a),null!==(h=d.nextSibling))break;f=(d=f).parentNode}d=h}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ti={focusedElem:e,selectionRange:n},Vt=!1,Za=t;null!==Za;)if(e=(t=Za).child,1028&t.subtreeFlags&&null!==e)e.return=t,Za=e;else for(;null!==Za;){t=Za;try{var m=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var g=m.memoizedProps,y=m.memoizedState,b=t.stateNode,v=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:na(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var x=t.stateNode.containerInfo;1===x.nodeType?x.textContent=\"\":9===x.nodeType&&x.documentElement&&x.removeChild(x.documentElement);break;default:throw Error(o(163))}}catch(e){Ec(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Za=e;break}Za=t.return}m=tl,tl=!1}(e,n),gl(n,e),hr(ti),Vt=!!ei,ti=ei=null,e.current=n,bl(n,e,i),Xe(),Cl=l,vt=a,Al.transition=s}else e.current=n;if(Yl&&(Yl=!1,Gl=e,Ql=i),0===(s=e.pendingLanes)&&(Hl=null),function(e){if(ot&&\"function\"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(it,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),rc(e,Ke()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((i=t[n]).value,{componentStack:i.stack,digest:i.digest});if(Vl)throw Vl=!1,e=Wl,Wl=null,e;!!(1&Ql)&&0!==e.tag&&kc(),1&(s=e.pendingLanes)?e===Kl?Xl++:(Xl=0,Kl=e):Xl=0,Ui()}(e,t,n,r)}finally{Al.transition=i,vt=r}return null}function kc(){if(null!==Gl){var e=xt(Ql),t=Al.transition,n=vt;try{if(Al.transition=null,vt=16>e?16:e,null===Gl)var r=!1;else{if(e=Gl,Gl=null,Ql=0,6&Cl)throw Error(o(331));var i=Cl;for(Cl|=4,Za=e.current;null!==Za;){var s=Za,a=s.child;if(16&Za.flags){var l=s.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Za=u;null!==Za;){var p=Za;switch(p.tag){case 0:case 11:case 15:nl(8,p,s)}var d=p.child;if(null!==d)d.return=p,Za=d;else for(;null!==Za;){var f=(p=Za).sibling,h=p.return;if(ol(p),p===u){Za=null;break}if(null!==f){f.return=h,Za=f;break}Za=h}}}var m=s.alternate;if(null!==m){var g=m.child;if(null!==g){m.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}Za=s}}if(2064&s.subtreeFlags&&null!==a)a.return=s,Za=a;else e:for(;null!==Za;){if(2048&(s=Za).flags)switch(s.tag){case 0:case 11:case 15:nl(9,s,s.return)}var b=s.sibling;if(null!==b){b.return=s.return,Za=b;break e}Za=s.return}}var v=e.current;for(Za=v;null!==Za;){var x=(a=Za).child;if(2064&a.subtreeFlags&&null!==x)x.return=a,Za=x;else e:for(a=v;null!==Za;){if(2048&(l=Za).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(e){Ec(l,l.return,e)}if(l===a){Za=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Za=w;break e}Za=l.return}}if(Cl=i,Ui(),ot&&\"function\"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(it,e)}catch(e){}r=!0}return r}finally{vt=n,Al.transition=t}}return!1}function Sc(e,t,n){e=zo(e,t=fa(0,t=ca(n,t),1),1),t=ec(),null!==e&&(yt(e,1,t),rc(e,t))}function Ec(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if(\"function\"==typeof t.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===Hl||!Hl.has(r))){t=zo(t,e=ha(t,e=ca(n,e),1),1),e=ec(),null!==t&&(yt(t,1,e),rc(t,e));break}}t=t.return}}function Oc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,jl===e&&(Tl&n)===n&&(4===Nl||3===Nl&&(130023424&Tl)===Tl&&500>Ke()-Bl?dc(e,0):Ml|=n),rc(e,t)}function _c(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=$o(e,t))&&(yt(e,t,n),rc(e,n))}function Ac(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),_c(e,n)}function Cc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),_c(e,n)}function jc(e,t){return Ye(e,t)}function Pc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tc(e,t,n,r){return new Pc(e,t,n,r)}function Ic(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Rc(e,t){var n=e.alternate;return null===n?((n=Tc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Nc(e,t,n,r,i,s){var a=2;if(r=e,\"function\"==typeof e)Ic(e)&&(a=1);else if(\"string\"==typeof e)a=5;else e:switch(e){case S:return $c(n.children,i,s,t);case E:a=8,i|=8;break;case O:return(e=Tc(12,n,t,2|i)).elementType=O,e.lanes=s,e;case j:return(e=Tc(13,n,t,i)).elementType=j,e.lanes=s,e;case P:return(e=Tc(19,n,t,i)).elementType=P,e.lanes=s,e;case R:return Lc(n,i,s,t);default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case _:a=10;break e;case A:a=9;break e;case C:a=11;break e;case T:a=14;break e;case I:a=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,\"\"))}return(t=Tc(a,n,t,i)).elementType=e,t.type=r,t.lanes=s,t}function $c(e,t,n,r){return(e=Tc(7,e,r,t)).lanes=n,e}function Lc(e,t,n,r){return(e=Tc(22,e,r,t)).elementType=R,e.lanes=n,e.stateNode={isHidden:!1},e}function Dc(e,t,n){return(e=Tc(6,e,null,t)).lanes=n,e}function Mc(e,t,n){return(t=Tc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fc(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function zc(e,t,n,r,i,o,s,a,l){return e=new Fc(e,t,n,a,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Tc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Do(o),e}function Bc(e){if(!e)return Ai;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ii(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Ii(n))return $i(e,n,t)}return t}function Uc(e,t,n,r,i,o,s,a,l){return(e=zc(n,r,!0,e,0,o,0,a,l)).context=Bc(null),n=e.current,(o=Fo(r=ec(),i=tc(n))).callback=null!=t?t:null,zo(n,o,i),e.current.lanes=i,yt(e,i,r),rc(e,r),e}function qc(e,t,n,r){var i=t.current,o=ec(),s=tc(i);return n=Bc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Fo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=zo(i,t,s))&&(nc(e,i,s,o),Bo(e,i,s)),s}function Vc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Wc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Hc(e,t){Wc(e,t),(e=e.alternate)&&Wc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||ji.current)va=!0;else{if(!(e.lanes&n||128&t.flags))return va=!1,function(e,t,n){switch(t.tag){case 3:ja(t),ho();break;case 5:Zo(t);break;case 1:Ii(t.type)&&Li(t);break;case 4:Xo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;_i(So,r._currentValue),r._currentValue=i;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(_i(es,1&es.current),t.flags|=128,null):n&t.child.childLanes?Da(e,t,n):(_i(es,1&es.current),null!==(e=Va(e,t,n))?e.sibling:null);_i(es,1&es.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return Ua(e,t,n);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),_i(es,es.current),r)break;return null;case 22:case 23:return t.lanes=0,Ea(e,t,n)}return Va(e,t,n)}(e,t,n);va=!!(131072&e.flags)}else va=!1,io&&1048576&t.flags&&Ji(t,Hi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;qa(e,t),e=t.pendingProps;var i=Ti(t,Ci.current);Po(t,n),i=gs(null,t,r,e,i,n);var s=ys();return t.flags|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ii(r)?(s=!0,Li(t)):s=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,Do(t),i.updater=ia,t.stateNode=i,i._reactInternals=t,la(t,r,e,n),t=Ca(null,t,r,!0,s,n)):(t.tag=0,io&&s&&eo(t),xa(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(qa(e,t),e=t.pendingProps,r=(i=r._init)(r._payload),t.type=r,i=t.tag=function(e){if(\"function\"==typeof e)return Ic(e)?1:0;if(null!=e){if((e=e.$$typeof)===C)return 11;if(e===T)return 14}return 2}(r),e=na(r,e),i){case 0:t=_a(null,t,r,e,n);break e;case 1:t=Aa(null,t,r,e,n);break e;case 11:t=wa(null,t,r,e,n);break e;case 14:t=ka(null,t,r,na(r.type,e),n);break e}throw Error(o(306,r,\"\"))}return t;case 0:return r=t.type,i=t.pendingProps,_a(e,t,r,i=t.elementType===r?i:na(r,i),n);case 1:return r=t.type,i=t.pendingProps,Aa(e,t,r,i=t.elementType===r?i:na(r,i),n);case 3:e:{if(ja(t),null===e)throw Error(o(387));r=t.pendingProps,i=(s=t.memoizedState).element,Mo(e,t),qo(t,r,null,n);var a=t.memoizedState;if(r=a.element,s.isDehydrated){if(s={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=Pa(e,t,r,n,i=ca(Error(o(423)),t));break e}if(r!==i){t=Pa(e,t,r,n,i=ca(Error(o(424)),t));break e}for(ro=ci(t.stateNode.containerInfo.firstChild),no=t,io=!0,oo=null,n=ko(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(ho(),r===i){t=Va(e,t,n);break e}xa(e,t,r,n)}t=t.child}return t;case 5:return Zo(t),null===e&&co(t),r=t.type,i=t.pendingProps,s=null!==e?e.memoizedProps:null,a=i.children,ni(r,i)?a=null:null!==s&&ni(r,s)&&(t.flags|=32),Oa(e,t),xa(e,t,a,n),t.child;case 6:return null===e&&co(t),null;case 13:return Da(e,t,n);case 4:return Xo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=wo(t,null,r,n):xa(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,wa(e,t,r,i=t.elementType===r?i:na(r,i),n);case 7:return xa(e,t,t.pendingProps,n),t.child;case 8:case 12:return xa(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,a=i.value,_i(So,r._currentValue),r._currentValue=a,null!==s)if(ar(s.value,a)){if(s.children===i.children&&!ji.current){t=Va(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var l=s.dependencies;if(null!==l){a=s.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===s.tag){(c=Fo(-1,n&-n)).tag=2;var u=s.updateQueue;if(null!==u){var p=(u=u.shared).pending;null===p?c.next=c:(c.next=p.next,p.next=c),u.pending=c}}s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),jo(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===s.tag)a=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(a=s.return))throw Error(o(341));a.lanes|=n,null!==(l=a.alternate)&&(l.lanes|=n),jo(a,n,t),a=s.sibling}else a=s.child;if(null!==a)a.return=s;else for(a=s;null!==a;){if(a===t){a=null;break}if(null!==(s=a.sibling)){s.return=a.return,a=s;break}a=a.return}s=a}xa(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Po(t,n),r=r(i=To(i)),t.flags|=1,xa(e,t,r,n),t.child;case 14:return i=na(r=t.type,t.pendingProps),ka(e,t,r,i=na(r.type,i),n);case 15:return Sa(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:na(r,i),qa(e,t),t.tag=1,Ii(r)?(e=!0,Li(t)):e=!1,Po(t,n),sa(t,r,i),la(t,r,i,n),Ca(null,t,r,!0,e,n);case 19:return Ua(e,t,n);case 22:return Ea(e,t,n)}throw Error(o(156,t.tag))};var Yc=\"function\"==typeof reportError?reportError:function(e){console.error(e)};function Gc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Kc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function Zc(){}function Jc(e,t,n,r,i){var o=n._reactRootContainer;if(o){var s=o;if(\"function\"==typeof i){var a=i;i=function(){var e=Vc(s);a.call(e)}}qc(t,s,e,i)}else s=function(e,t,n,r,i){if(i){if(\"function\"==typeof r){var o=r;r=function(){var e=Vc(s);o.call(e)}}var s=Uc(t,r,e,0,null,!1,0,\"\",Zc);return e._reactRootContainer=s,e[hi]=s.current,Ur(8===e.nodeType?e.parentNode:e),uc(),s}for(;i=e.lastChild;)e.removeChild(i);if(\"function\"==typeof r){var a=r;r=function(){var e=Vc(l);a.call(e)}}var l=zc(e,0,!1,null,0,!1,0,\"\",Zc);return e._reactRootContainer=l,e[hi]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){qc(t,l,n,r)})),l}(n,t,e,i,r);return Vc(s)}Qc.prototype.render=Gc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));qc(e,t,null,null)},Qc.prototype.unmount=Gc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){qc(null,e,null,null)})),t[hi]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Rt.length&&0!==t&&t<Rt[n].priority;n++);Rt.splice(n,0,e),0===n&&Dt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=pt(t.pendingLanes);0!==n&&(bt(t,1|n),rc(t,Ke()),!(6&Cl)&&(Ul=Ke()+500,Ui()))}break;case 13:uc((function(){var t=$o(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Hc(e,1)}},kt=function(e){if(13===e.tag){var t=$o(e,134217728);null!==t&&nc(t,e,134217728,ec()),Hc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=$o(e,t);null!==n&&nc(n,e,t,ec()),Hc(e,t)}},Et=function(){return vt},Ot=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},ke=function(e,t,n){switch(t){case\"input\":if(Z(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=wi(r);if(!i)throw Error(o(90));Y(r),Z(r,i)}}}break;case\"textarea\":oe(e,n);break;case\"select\":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ce=cc,je=uc;var eu={usingClientEntryPoint:!1,Events:[vi,xi,wi,_e,Ae,cc]},tu={findFiberByHostInstance:bi,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:x.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=We(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{it=ru.inject(nu),ot=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Xc(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:k,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Xc(e))throw Error(o(299));var n=!1,r=\"\",i=Yc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=zc(e,1,!1,null,0,n,0,r,i),e[hi]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Gc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if(\"function\"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(\",\"),Error(o(268,e))}return null===(e=We(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Kc(t))throw Error(o(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Xc(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,i=!1,s=\"\",a=Yc;if(null!=n&&(!0===n.unstable_strictMode&&(i=!0),void 0!==n.identifierPrefix&&(s=n.identifierPrefix),void 0!==n.onRecoverableError&&(a=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,i,0,s,a),e[hi]=t.current,Ur(e),r)for(e=0;e<r.length;e++)i=(i=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Qc(t)},t.render=function(e,t,n){if(!Kc(t))throw Error(o(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Kc(e))throw Error(o(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[hi]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Kc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return Jc(e,t,n,!1,r)},t.version=\"18.3.1-next-f1338f8080-20240426\"},5338:function(e,t,n){\"use strict\";var r=n(961);t.H=r.createRoot,t.c=r.hydrateRoot},961:function(e,t,n){\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(2551)},8731:function(e,t){\"use strict\";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(!(0<o(i,t)))break e;e[r]=t,e[n]=i,n=r}}function r(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,s=i>>>1;r<s;){var a=2*(r+1)-1,l=e[a],c=a+1,u=e[c];if(0>o(l,n))c<i&&0>o(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[a]=n,r=a);else{if(!(c<i&&0>o(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var c=[],u=[],p=1,d=null,f=3,h=!1,m=!1,g=!1,y=\"function\"==typeof setTimeout?setTimeout:null,b=\"function\"==typeof clearTimeout?clearTimeout:null,v=\"undefined\"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=r(u);null!==t;){if(null===t.callback)i(u);else{if(!(t.startTime<=e))break;i(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,x(e),!m)if(null!==r(c))m=!0,R(k);else{var t=r(u);null!==t&&N(w,t.startTime-e)}}function k(e,n){m=!1,g&&(g=!1,b(_),_=-1),h=!0;var o=f;try{for(x(n),d=r(c);null!==d&&(!(d.expirationTime>n)||e&&!j());){var s=d.callback;if(\"function\"==typeof s){d.callback=null,f=d.priorityLevel;var a=s(d.expirationTime<=n);n=t.unstable_now(),\"function\"==typeof a?d.callback=a:d===r(c)&&i(c),x(n)}else i(c);d=r(c)}if(null!==d)var l=!0;else{var p=r(u);null!==p&&N(w,p.startTime-n),l=!1}return l}finally{d=null,f=o,h=!1}}\"undefined\"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,O=null,_=-1,A=5,C=-1;function j(){return!(t.unstable_now()-C<A)}function P(){if(null!==O){var e=t.unstable_now();C=e;var n=!0;try{n=O(!0,e)}finally{n?S():(E=!1,O=null)}}else E=!1}if(\"function\"==typeof v)S=function(){v(P)};else if(\"undefined\"!=typeof MessageChannel){var T=new MessageChannel,I=T.port2;T.port1.onmessage=P,S=function(){I.postMessage(null)}}else S=function(){y(P,0)};function R(e){O=e,E||(E=!0,S())}function N(e,n){_=y((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||h||(m=!0,R(k))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):A=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,i,o){var s=t.unstable_now();switch(o=\"object\"==typeof o&&null!==o&&\"number\"==typeof(o=o.delay)&&0<o?s+o:s,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:p++,callback:i,priorityLevel:e,startTime:o,expirationTime:a=o+a,sortIndex:-1},o>s?(e.sortIndex=o,n(u,e),null===r(c)&&e===r(u)&&(g?(b(_),_=-1):g=!0,N(w,o-s))):(e.sortIndex=a,n(c,e),m||h||(m=!0,R(k))),e},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},194:function(e,t,n){\"use strict\";e.exports=n(8731)},2799:function(e,t){\"use strict\";var n=60103,r=60106,i=60107,o=60108,s=60114,a=60109,l=60110,c=60112,u=60113,p=60120,d=60115,f=60116,h=60121,m=60122,g=60117,y=60129,b=60131;if(\"function\"==typeof Symbol&&Symbol.for){var v=Symbol.for;n=v(\"react.element\"),r=v(\"react.portal\"),i=v(\"react.fragment\"),o=v(\"react.strict_mode\"),s=v(\"react.profiler\"),a=v(\"react.provider\"),l=v(\"react.context\"),c=v(\"react.forward_ref\"),u=v(\"react.suspense\"),p=v(\"react.suspense_list\"),d=v(\"react.memo\"),f=v(\"react.lazy\"),h=v(\"react.block\"),m=v(\"react.server.block\"),g=v(\"react.fundamental\"),y=v(\"react.debug_trace_mode\"),b=v(\"react.legacy_hidden\")}t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===i||e===s||e===y||e===o||e===u||e===p||e===b||\"object\"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===d||e.$$typeof===a||e.$$typeof===l||e.$$typeof===c||e.$$typeof===g||e.$$typeof===h||e[0]===m)},t.typeOf=function(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case i:case s:case o:case u:case p:return e;default:switch(e=e&&e.$$typeof){case l:case c:case f:case d:case a:return e;default:return t}}case r:return t}}}},4363:function(e,t,n){\"use strict\";e.exports=n(2799)},5287:function(e,t){\"use strict\";var n=Symbol.for(\"react.element\"),r=Symbol.for(\"react.portal\"),i=Symbol.for(\"react.fragment\"),o=Symbol.for(\"react.strict_mode\"),s=Symbol.for(\"react.profiler\"),a=Symbol.for(\"react.provider\"),l=Symbol.for(\"react.context\"),c=Symbol.for(\"react.forward_ref\"),u=Symbol.for(\"react.suspense\"),p=Symbol.for(\"react.memo\"),d=Symbol.for(\"react.lazy\"),f=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||h}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||h}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},b.prototype=y.prototype;var x=v.prototype=new b;x.constructor=v,m(x,y.prototype),x.isPureReactComponent=!0;var w=Array.isArray,k=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function O(e,t,r){var i,o={},s=null,a=null;if(null!=t)for(i in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=\"\"+t.key),t)k.call(t,i)&&!E.hasOwnProperty(i)&&(o[i]=t[i]);var l=arguments.length-2;if(1===l)o.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===o[i]&&(o[i]=l[i]);return{$$typeof:n,type:e,key:s,ref:a,props:o,_owner:S.current}}function _(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===n}var A=/\\/+/g;function C(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+e.replace(/[=:]/g,(function(e){return t[e]}))}(\"\"+e.key):t.toString(36)}function j(e,t,i,o,s){var a=typeof e;\"undefined\"!==a&&\"boolean\"!==a||(e=null);var l=!1;if(null===e)l=!0;else switch(a){case\"string\":case\"number\":l=!0;break;case\"object\":switch(e.$$typeof){case n:case r:l=!0}}if(l)return s=s(l=e),e=\"\"===o?\".\"+C(l,0):o,w(s)?(i=\"\",null!=e&&(i=e.replace(A,\"$&/\")+\"/\"),j(s,t,i,\"\",(function(e){return e}))):null!=s&&(_(s)&&(s=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||l&&l.key===s.key?\"\":(\"\"+s.key).replace(A,\"$&/\")+\"/\")+e)),t.push(s)),1;if(l=0,o=\"\"===o?\".\":o+\":\",w(e))for(var c=0;c<e.length;c++){var u=o+C(a=e[c],c);l+=j(a,t,i,u,s)}else if(u=function(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=f&&e[f]||e[\"@@iterator\"])?e:null}(e),\"function\"==typeof u)for(e=u.call(e),c=0;!(a=e.next()).done;)l+=j(a=a.value,t,i,u=o+C(a,c++),s);else if(\"object\"===a)throw t=String(e),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===t?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":t)+\"). If you meant to render a collection of children, use an array instead.\");return l}function P(e,t,n){if(null==e)return e;var r=[],i=0;return j(e,r,\"\",\"\",(function(e){return t.call(n,e,i++)})),r}function T(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},R={transition:null},N={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:R,ReactCurrentOwner:S};function $(){throw Error(\"act(...) is not supported in production builds of React.\")}t.Children={map:P,forEach:function(e,t,n){P(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return P(e,(function(){t++})),t},toArray:function(e){return P(e,(function(e){return e}))||[]},only:function(e){if(!_(e))throw Error(\"React.Children.only expected to receive a single React element child.\");return e}},t.Component=y,t.Fragment=i,t.Profiler=s,t.PureComponent=v,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.act=$,t.cloneElement=function(e,t,r){if(null==e)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+e+\".\");var i=m({},e.props),o=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=S.current),void 0!==t.key&&(o=\"\"+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)k.call(t,c)&&!E.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];i.children=l}return{$$typeof:n,type:e.type,key:o,ref:s,props:i,_owner:a}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=O,t.createFactory=function(e){var t=O.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=_,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:T}},t.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=R.transition;R.transition={};try{e()}finally{R.transition=t}},t.unstable_act=$,t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version=\"18.3.1\"},6540:function(e,t,n){\"use strict\";e.exports=n(5287)},5539:function(e){\"use strict\";e.exports={nop:function(e){return e},clone:function(e){return JSON.parse(JSON.stringify(e))},shallowClone:function(e){let t={};for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},deepClone:function e(t){let n=Array.isArray(t)?[]:{};for(let r in t)(t.hasOwnProperty(r)||Array.isArray(t))&&(n[r]=\"object\"==typeof t[r]?e(t[r]):t[r]);return n},fastClone:function(e){return Object.assign({},e)},circularClone:function e(t,n){if(n||(n=new WeakMap),Object(t)!==t||t instanceof Function)return t;if(n.has(t))return n.get(t);try{var r=new t.constructor}catch(e){r=Object.create(Object.getPrototypeOf(t))}return n.set(t,r),Object.assign(r,...Object.keys(t).map((r=>({[r]:e(t[r],n)}))))}}},9737:function(e,t,n){\"use strict\";const r=n(9880).recurse,i=n(5539).shallowClone,o=n(33).jptr,s=n(1264).isRef;e.exports={dereference:function e(t,n,a){a||(a={}),a.cache||(a.cache={}),a.state||(a.state={}),a.state.identityDetection=!0,a.depth=a.depth?a.depth+1:1;let l=a.depth>1?t:i(t),c={data:l},u=a.depth>1?n:i(n);a.master||(a.master=l);let p=function(e){return e&&e.verbose?{warn:function(){var e=Array.prototype.slice.call(arguments);console.warn.apply(console,e)}}:{warn:function(){}}}(a),d=1;for(;d>0;)d=0,r(c,a.state,(function(t,n,r){if(s(t,n)){let i=t[n];if(d++,a.cache[i]){let e=a.cache[i];if(e.resolved)p.warn(\"Patching %s for %s\",i,e.path),r.parent[r.pkey]=e.data,a.$ref&&\"object\"==typeof r.parent[r.pkey]&&null!==r.parent[r.pkey]&&(r.parent[r.pkey][a.$ref]=i);else{if(i===e.path)throw new Error(`Tight circle at ${e.path}`);p.warn(\"Unresolved ref\"),r.parent[r.pkey]=o(e.source,e.path),!1===r.parent[r.pkey]&&(r.parent[r.pkey]=o(e.source,e.key)),a.$ref&&\"object\"==typeof r.parent[r.pkey]&&null!==r.parent[r.pkey]&&(r.parent[a.$ref]=i)}}else{let t={};t.path=r.path.split(\"/$ref\")[0],t.key=i,p.warn(\"Dereffing %s at %s\",i,t.path),t.source=u,t.data=o(t.source,t.key),!1===t.data&&(t.data=o(a.master,t.key),t.source=a.master),!1===t.data&&p.warn(\"Missing $ref target\",t.key),a.cache[i]=t,t.data=r.parent[r.pkey]=e(o(t.source,t.key),t.source,a),a.$ref&&\"object\"==typeof r.parent[r.pkey]&&null!==r.parent[r.pkey]&&(r.parent[r.pkey][a.$ref]=i),t.resolved=!0}}}));return c.data}}},1264:function(e){\"use strict\";e.exports={isRef:function(e,t){return\"$ref\"===t&&!!e&&\"string\"==typeof e[t]}}},33:function(e){\"use strict\";function t(e){return e.replace(/\\~1/g,\"/\").replace(/~0/g,\"~\")}e.exports={jptr:function(e,n,r){if(void 0===e)return!1;if(!n||\"string\"!=typeof n||\"#\"===n)return void 0!==r?r:e;if(n.indexOf(\"#\")>=0){let e=n.split(\"#\");if(e[0])return!1;n=e[1],n=decodeURIComponent(n.slice(1).split(\"+\").join(\" \"))}n.startsWith(\"/\")&&(n=n.slice(1));let i=n.split(\"/\");for(let n=0;n<i.length;n++){i[n]=t(i[n]);let o=void 0!==r&&n==i.length-1,s=parseInt(i[n],10);if(!Array.isArray(e)||isNaN(s)||s.toString()!==i[n]?s=Array.isArray(e)&&\"-\"===i[n]?-2:-1:i[n]=n>0?i[n-1]:\"\",-1!=s||e&&e.hasOwnProperty(i[n]))if(s>=0)o&&(e[s]=r),e=e[s];else{if(-2===s)return o?(Array.isArray(e)&&e.push(r),r):void 0;o&&(e[i[n]]=r),e=e[i[n]]}else{if(void 0===r||\"object\"!=typeof e||Array.isArray(e))return!1;e[i[n]]=o?r:\"0\"===i[n+1]||\"-\"===i[n+1]?[]:{},e=e[i[n]]}}return e},jpescape:function(e){return e.replace(/\\~/g,\"~0\").replace(/\\//g,\"~1\")},jpunescape:t}},9880:function(e,t,n){\"use strict\";const r=n(33).jpescape;e.exports={recurse:function e(t,n,i){if(n||(n={depth:0}),n.depth||(n=Object.assign({},{path:\"#\",depth:0,pkey:\"\",parent:{},payload:{},seen:new WeakMap,identity:!1,identityDetection:!1},n)),\"object\"!=typeof t)return;let o=n.path;for(let s in t){if(n.key=s,n.path=n.path+\"/\"+encodeURIComponent(r(s)),n.identityPath=n.seen.get(t[s]),n.identity=void 0!==n.identityPath,t.hasOwnProperty(s)&&i(t,s,n),\"object\"==typeof t[s]&&!n.identity){n.identityDetection&&!Array.isArray(t[s])&&null!==t[s]&&n.seen.set(t[s],n.path);let r={};r.parent=t,r.path=n.path,r.depth=n.depth?n.depth+1:1,r.pkey=s,r.payload=n.payload,r.seen=n.seen,r.identity=!1,r.identityDetection=n.identityDetection,e(t[s],r,i)}n.path=o}}}},2833:function(e){e.exports=function(e,t,n,r){var i=n?n.call(r,e,t):void 0;if(void 0!==i)return!!i;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(var a=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var c=o[l];if(!a(c))return!1;var u=e[c],p=t[c];if(!1===(i=n?n.call(r,u,p,c):void 0)||void 0===i&&u!==p)return!1}return!0}},2495:function(e){var t;t=function(){var e=JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"ǈ\":\"LJ\",\"ǉ\":\"lj\",\"ǋ\":\"NJ\",\"ǌ\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\"\",\"”\":\"\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\"}'),t=JSON.parse('{\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"}}');function n(n,r){if(\"string\"!=typeof n)throw new Error(\"slugify: string argument expected\");var i=t[(r=\"string\"==typeof r?{replacement:r}:r||{}).locale]||{},o=void 0===r.replacement?\"-\":r.replacement,s=n.split(\"\").reduce((function(t,n){return t+(i[n]||e[n]||n).replace(r.remove||/[^\\w\\s$*_+~.()'\"!\\-:@]+/g,\"\")}),\"\").trim().replace(new RegExp(\"[\\\\s\"+o+\"]+\",\"g\"),o);return r.lower&&(s=s.toLowerCase()),r.strict&&(s=s.replace(new RegExp(\"[^a-zA-Z0-9\"+o+\"]\",\"g\"),\"\").replace(new RegExp(\"[\\\\s\"+o+\"]+\",\"g\"),o)),s}return n.extend=function(t){for(var n in t)e[n]=t[n]},n},e.exports=t(),e.exports.default=t()},227:function(e){e.exports=function(e,t){e||(e=document),t||(t=window);var n,r,i=[],o=!1,s=e.documentElement,a=function(){},l=\"hidden\",c=\"visibilitychange\";void 0!==e.webkitHidden&&(l=\"webkitHidden\",c=\"webkitvisibilitychange\"),t.getComputedStyle||f();for(var u=[\"\",\"-webkit-\",\"-moz-\",\"-ms-\"],p=document.createElement(\"div\"),d=u.length-1;d>=0;d--){try{p.style.position=u[d]+\"sticky\"}catch(e){}\"\"!=p.style.position&&f()}function f(){P=$=T=I=R=N=a}function h(e){return parseFloat(e)||0}function m(){n={top:t.pageYOffset,left:t.pageXOffset}}function g(){if(t.pageXOffset!=n.left)return m(),void T();t.pageYOffset!=n.top&&(m(),b())}function y(e){setTimeout((function(){t.pageYOffset!=n.top&&(n.top=t.pageYOffset,b())}),0)}function b(){for(var e=i.length-1;e>=0;e--)v(i[e])}function v(e){if(e.inited){var t=n.top<=e.limit.start?0:n.top>=e.limit.end?2:1;e.mode!=t&&function(e,t){var n=e.node.style;switch(t){case 0:n.position=\"absolute\",n.left=e.offset.left+\"px\",n.right=e.offset.right+\"px\",n.top=e.offset.top+\"px\",n.bottom=\"auto\",n.width=\"auto\",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 1:n.position=\"fixed\",n.left=e.box.left+\"px\",n.right=e.box.right+\"px\",n.top=e.css.top,n.bottom=\"auto\",n.width=\"auto\",n.marginLeft=0,n.marginRight=0,n.marginTop=0;break;case 2:n.position=\"absolute\",n.left=e.offset.left+\"px\",n.right=e.offset.right+\"px\",n.top=\"auto\",n.bottom=0,n.width=\"auto\",n.marginLeft=0,n.marginRight=0}e.mode=t}(e,t)}}function x(e){isNaN(parseFloat(e.computed.top))||e.isCell||(e.inited=!0,e.clone||function(e){e.clone=document.createElement(\"div\");var t=e.node.nextSibling||e.node,n=e.clone.style;n.height=e.height+\"px\",n.width=e.width+\"px\",n.marginTop=e.computed.marginTop,n.marginBottom=e.computed.marginBottom,n.marginLeft=e.computed.marginLeft,n.marginRight=e.computed.marginRight,n.padding=n.border=n.borderSpacing=0,n.fontSize=\"1em\",n.position=\"static\",n.cssFloat=e.computed.cssFloat,e.node.parentNode.insertBefore(e.clone,t)}(e),\"absolute\"!=e.parent.computed.position&&\"relative\"!=e.parent.computed.position&&(e.parent.node.style.position=\"relative\"),v(e),e.parent.height=e.parent.node.offsetHeight,e.docOffsetTop=O(e.clone))}function w(e){var t=!0;e.clone&&function(e){e.clone.parentNode.removeChild(e.clone),e.clone=void 0}(e),function(e,t){for(key in t)t.hasOwnProperty(key)&&(e[key]=t[key])}(e.node.style,e.css);for(var n=i.length-1;n>=0;n--)if(i[n].node!==e.node&&i[n].parent.node===e.parent.node){t=!1;break}t&&(e.parent.node.style.position=e.parent.css.position),e.mode=-1}function k(){for(var e=i.length-1;e>=0;e--)x(i[e])}function S(){for(var e=i.length-1;e>=0;e--)w(i[e])}function E(e){var t=getComputedStyle(e),n=e.parentNode,r=getComputedStyle(n),i=e.style.position;e.style.position=\"relative\";var o={top:t.top,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,cssFloat:t.cssFloat},a={top:h(t.top),marginBottom:h(t.marginBottom),paddingLeft:h(t.paddingLeft),paddingRight:h(t.paddingRight),borderLeftWidth:h(t.borderLeftWidth),borderRightWidth:h(t.borderRightWidth)};e.style.position=i;var l={position:e.style.position,top:e.style.top,bottom:e.style.bottom,left:e.style.left,right:e.style.right,width:e.style.width,marginTop:e.style.marginTop,marginLeft:e.style.marginLeft,marginRight:e.style.marginRight},c=_(e),u=_(n),p={node:n,css:{position:n.style.position},computed:{position:r.position},numeric:{borderLeftWidth:h(r.borderLeftWidth),borderRightWidth:h(r.borderRightWidth),borderTopWidth:h(r.borderTopWidth),borderBottomWidth:h(r.borderBottomWidth)}};return{node:e,box:{left:c.win.left,right:s.clientWidth-c.win.right},offset:{top:c.win.top-u.win.top-p.numeric.borderTopWidth,left:c.win.left-u.win.left-p.numeric.borderLeftWidth,right:-c.win.right+u.win.right-p.numeric.borderRightWidth},css:l,isCell:\"table-cell\"==t.display,computed:o,numeric:a,width:c.win.right-c.win.left,height:c.win.bottom-c.win.top,mode:-1,inited:!1,parent:p,limit:{start:c.doc.top-a.top,end:u.doc.top+n.offsetHeight-p.numeric.borderBottomWidth-e.offsetHeight-a.top-a.marginBottom}}}function O(e){for(var t=0;e;)t+=e.offsetTop,e=e.offsetParent;return t}function _(e){var n=e.getBoundingClientRect();return{doc:{top:n.top+t.pageYOffset,left:n.left+t.pageXOffset},win:n}}function A(){r=setInterval((function(){!function(){for(var e=i.length-1;e>=0;e--)if(i[e].inited){var t=Math.abs(O(i[e].clone)-i[e].docOffsetTop),n=Math.abs(i[e].parent.node.offsetHeight-i[e].parent.height);if(t>=2||n>=2)return!1}return!0}()&&T()}),500)}function C(){clearInterval(r)}function j(){o&&(document[l]?C():A())}function P(){o||(m(),k(),t.addEventListener(\"scroll\",g),t.addEventListener(\"wheel\",y),t.addEventListener(\"resize\",T),t.addEventListener(\"orientationchange\",T),e.addEventListener(c,j),A(),o=!0)}function T(){if(o){S();for(var e=i.length-1;e>=0;e--)i[e]=E(i[e].node);k()}}function I(){t.removeEventListener(\"scroll\",g),t.removeEventListener(\"wheel\",y),t.removeEventListener(\"resize\",T),t.removeEventListener(\"orientationchange\",T),e.removeEventListener(c,j),C(),o=!1}function R(){I(),S()}function N(){for(R();i.length;)i.pop()}function $(e){for(var t=i.length-1;t>=0;t--)if(i[t].node===e)return;var n=E(e);i.push(n),o?x(n):P()}return m(),{stickies:i,add:$,remove:function(e){for(var t=i.length-1;t>=0;t--)i[t].node===e&&(w(i[t]),i.splice(t,1))},init:P,rebuild:T,pause:I,stop:R,kill:N}}},7983:function(e){const t=/^[-+]?0x[a-fA-F0-9]+$/,n=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,r={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0};e.exports=function(e,i={}){if(i=Object.assign({},r,i),!e||\"string\"!=typeof e)return e;let o=e.trim();if(void 0!==i.skipLike&&i.skipLike.test(o))return e;if(\"0\"===e)return 0;if(i.hex&&t.test(o))return function(e){if(parseInt)return parseInt(e,16);if(Number.parseInt)return Number.parseInt(e,16);if(window&&window.parseInt)return window.parseInt(e,16);throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")}(o);if(-1!==o.search(/[eE]/)){const t=o.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/);if(t){if(i.leadingZeros)o=(t[1]||\"\")+t[3];else if(\"0\"!==t[2]||\".\"!==t[3][0])return e;return i.eNotation?Number(o):e}return e}{const t=n.exec(o);if(t){const n=t[1],r=t[2];let a=(s=t[3])&&-1!==s.indexOf(\".\")?(\".\"===(s=s.replace(/0+$/,\"\"))?s=\"0\":\".\"===s[0]?s=\"0\"+s:\".\"===s[s.length-1]&&(s=s.substr(0,s.length-1)),s):s;if(!i.leadingZeros&&r.length>0&&n&&\".\"!==o[2])return e;if(!i.leadingZeros&&r.length>0&&!n&&\".\"!==o[1])return e;if(i.leadingZeros&&r===e)return 0;{const t=Number(o),s=\"\"+t;return-1!==s.search(/[eE]/)?i.eNotation?t:e:-1!==o.indexOf(\".\")?\"0\"===s&&\"\"===a||s===a||n&&s===\"-\"+a?t:e:r?a===s||n+a===s?t:e:o===s||o===n+s?t:e}}return e}var s}},1494:function(e,t,n){\"use strict\";n.r(t);var r=n(5072),i=n.n(r),o=n(7825),s=n.n(o),a=n(7659),l=n.n(a),c=n(5056),u=n.n(c),p=n(540),d=n.n(p),f=n(1113),h=n.n(f),m=n(8997),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=l().bind(null,\"head\"),g.domAPI=s(),g.insertStyleElement=d(),i()(m.A,g),t.default=m.A&&m.A.locals?m.A.locals:void 0},5072:function(e){\"use strict\";var t=[];function n(e){for(var n=-1,r=0;r<t.length;r++)if(t[r].identifier===e){n=r;break}return n}function r(e,r){for(var o={},s=[],a=0;a<e.length;a++){var l=e[a],c=r.base?l[0]+r.base:l[0],u=o[c]||0,p=\"\".concat(c,\" \").concat(u);o[c]=u+1;var d=n(p),f={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==d)t[d].references++,t[d].updater(f);else{var h=i(f,r);r.byIndex=a,t.splice(a,0,{identifier:p,updater:h,references:1})}s.push(p)}return s}function i(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,i){var o=r(e=e||[],i=i||{});return function(e){e=e||[];for(var s=0;s<o.length;s++){var a=n(o[s]);t[a].references--}for(var l=r(e,i),c=0;c<o.length;c++){var u=n(o[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=l}}},7659:function(e){\"use strict\";var t={};e.exports=function(e,n){var r=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}},540:function(e){\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},5056:function(e,t,n){\"use strict\";e.exports=function(e){var t=n.nc;t&&e.setAttribute(\"nonce\",t)}},7825:function(e){\"use strict\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var r=\"\";n.supports&&(r+=\"@supports (\".concat(n.supports,\") {\")),n.media&&(r+=\"@media \".concat(n.media,\" {\"));var i=void 0!==n.layer;i&&(r+=\"@layer\".concat(n.layer.length>0?\" \".concat(n.layer):\"\",\" {\")),r+=n.css,i&&(r+=\"}\"),n.media&&(r+=\"}\"),n.supports&&(r+=\"}\");var o=n.sourceMap;o&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleTagTransform(r,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},1113:function(e){\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},65:function(e,t,n){\"use strict\";const r=n(6364),i=n(8381),o=(n(7975),n(3998)),s=n(8381),a=n(8381),l=n(33),c=l.jptr,u=n(1264).isRef,p=n(5539).clone,d=n(5539).circularClone,f=n(9880).recurse,h=n(6751),m=n(1319),g=n(6435),y=n(2665).statusCodes,b=n(8430).rE,v=\"3.0.0\";let x;class w extends Error{constructor(e){super(e),this.name=\"S2OError\"}}function k(e,t){let n=new w(e);if(n.options=t,!t.promise)throw n;t.promise.reject(n)}function S(e,t,n){n.warnOnly?t[n.warnProperty||\"x-s2o-warning\"]=e:k(e,n)}function E(e,t){m.walkSchema(e,{},{},(function(e,n,r){!function(e){if(e[\"x-required\"]&&Array.isArray(e[\"x-required\"])&&(e.required||(e.required=[]),e.required=e.required.concat(e[\"x-required\"]),delete e[\"x-required\"]),e[\"x-anyOf\"]&&(e.anyOf=e[\"x-anyOf\"],delete e[\"x-anyOf\"]),e[\"x-oneOf\"]&&(e.oneOf=e[\"x-oneOf\"],delete e[\"x-oneOf\"]),e[\"x-not\"]&&(e.not=e[\"x-not\"],delete e[\"x-not\"]),\"boolean\"==typeof e[\"x-nullable\"]&&(e.nullable=e[\"x-nullable\"],delete e[\"x-nullable\"]),\"object\"==typeof e[\"x-discriminator\"]&&\"string\"==typeof e[\"x-discriminator\"].propertyName){e.discriminator=e[\"x-discriminator\"],delete e[\"x-discriminator\"];for(let t in e.discriminator.mapping){let n=e.discriminator.mapping[t];n.startsWith(\"#/definitions/\")&&(e.discriminator.mapping[t]=n.replace(\"#/definitions/\",\"#/components/schemas/\"))}}}(e),function(e,t,n){if(e.nullable&&n.patches++,e.discriminator&&\"string\"==typeof e.discriminator&&(e.discriminator={propertyName:e.discriminator}),e.items&&Array.isArray(e.items)&&(0===e.items.length?e.items={}:1===e.items.length?e.items=e.items[0]:e.items={anyOf:e.items}),e.type&&Array.isArray(e.type))if(n.patch){if(n.patches++,0===e.type.length)delete e.type;else{e.oneOf||(e.oneOf=[]);for(let t of e.type){let n={};if(\"null\"===t)e.nullable=!0;else{n.type=t;for(let t of g.arrayProperties)void 0!==e.prop&&(n[t]=e[t],delete e[t])}n.type&&e.oneOf.push(n)}delete e.type,0===e.oneOf.length?delete e.oneOf:e.oneOf.length<2&&(e.type=e.oneOf[0].type,Object.keys(e.oneOf[0]).length>1&&S(\"Lost properties from oneOf\",e,n),delete e.oneOf)}e.type&&Array.isArray(e.type)&&1===e.type.length&&(e.type=e.type[0])}else k(\"(Patchable) schema type must not be an array\",n);e.type&&\"null\"===e.type&&(delete e.type,e.nullable=!0),\"array\"!==e.type||e.items||(e.items={}),\"file\"===e.type&&(e.type=\"string\",e.format=\"binary\"),\"boolean\"==typeof e.required&&(e.required&&e.name&&(void 0===t.required&&(t.required=[]),Array.isArray(t.required)&&t.required.push(e.name)),delete e.required),e.xml&&\"string\"==typeof e.xml.namespace&&(e.xml.namespace||delete e.xml.namespace),void 0!==e.allowEmptyValue&&(n.patches++,delete e.allowEmptyValue)}(e,n,t)}))}function O(e,t,n){let r=n.payload.options;if(u(e,t)){if(e[t].startsWith(\"#/components/\"));else if(\"#/consumes\"===e[t])delete e[t],n.parent[n.pkey]=p(r.openapi.consumes);else if(\"#/produces\"===e[t])delete e[t],n.parent[n.pkey]=p(r.openapi.produces);else if(e[t].startsWith(\"#/definitions/\")){let n=e[t].replace(\"#/definitions/\",\"\").split(\"/\");const i=l.jpunescape(n[0]);let o=x.schemas[decodeURIComponent(i)];o?n[0]=o:S(\"Could not resolve reference \"+e[t],e,r),e[t]=\"#/components/schemas/\"+n.join(\"/\")}else if(e[t].startsWith(\"#/parameters/\"))e[t]=\"#/components/parameters/\"+g.sanitise(e[t].replace(\"#/parameters/\",\"\"));else if(e[t].startsWith(\"#/responses/\"))e[t]=\"#/components/responses/\"+g.sanitise(e[t].replace(\"#/responses/\",\"\"));else if(e[t].startsWith(\"#\")){let n=p(l.jptr(r.openapi,e[t]));if(!1===n)S(\"direct $ref not found \"+e[t],e,r);else if(r.refmap[e[t]])e[t]=r.refmap[e[t]];else{let o=e[t];o=o.replace(\"/properties/headers/\",\"\"),o=o.replace(\"/properties/responses/\",\"\"),o=o.replace(\"/properties/parameters/\",\"\"),o=o.replace(\"/properties/schemas/\",\"\");let s=\"schemas\",a=o.lastIndexOf(\"/schema\");if(s=o.indexOf(\"/headers/\")>a?\"headers\":o.indexOf(\"/responses/\")>a?\"responses\":o.indexOf(\"/example\")>a?\"examples\":o.indexOf(\"/x-\")>a?\"extensions\":o.indexOf(\"/parameters/\")>a?\"parameters\":\"schemas\",\"schemas\"===s&&E(n,r),\"responses\"!==s&&\"extensions\"!==s){let o=s.substr(0,s.length-1);\"parameter\"===o&&n.name&&n.name===g.sanitise(n.name)&&(o=encodeURIComponent(n.name));let a=1;for(e[\"x-miro\"]&&(i=(i=e[\"x-miro\"]).indexOf(\"#\")>=0?i.split(\"#\")[1].split(\"/\").pop():i.split(\"/\").pop().split(\".\")[0],o=encodeURIComponent(g.sanitise(i)),a=\"\");l.jptr(r.openapi,\"#/components/\"+s+\"/\"+o+a);)a=\"\"===a?2:++a;let c=\"#/components/\"+s+\"/\"+o+a,u=\"\";\"examples\"===s&&(n={value:n},u=\"/value\"),l.jptr(r.openapi,c,n),r.refmap[e[t]]=c+u,e[t]=c+u}}}if(delete e[\"x-miro\"],Object.keys(e).length>1){const i=e[t],o=n.path.indexOf(\"/schema\")>=0;\"preserve\"===r.refSiblings||(o&&\"allOf\"===r.refSiblings?(delete e.$ref,n.parent[n.pkey]={allOf:[{$ref:i},e]}):n.parent[n.pkey]={$ref:i})}}var i;if(\"x-ms-odata\"===t&&\"string\"==typeof e[t]&&e[t].startsWith(\"#/\")){let n=e[t].replace(\"#/definitions/\",\"\").replace(\"#/components/schemas/\",\"\").split(\"/\"),i=x.schemas[decodeURIComponent(n[0])];i?n[0]=i:S(\"Could not resolve reference \"+e[t],e,r),e[t]=\"#/components/schemas/\"+n.join(\"/\")}}function _(e){for(let t in e)for(let n in e[t]){let r=g.sanitise(n);n!==r&&(e[t][r]=e[t][n],delete e[t][n])}}function A(e,t){if(\"basic\"===e.type&&(e.type=\"http\",e.scheme=\"basic\"),\"oauth2\"===e.type){let n={},r=e.flow;\"application\"===e.flow&&(r=\"clientCredentials\"),\"accessCode\"===e.flow&&(r=\"authorizationCode\"),void 0!==e.authorizationUrl&&(n.authorizationUrl=e.authorizationUrl.split(\"?\")[0].trim()||\"/\"),\"string\"==typeof e.tokenUrl&&(n.tokenUrl=e.tokenUrl.split(\"?\")[0].trim()||\"/\"),n.scopes=e.scopes||{},e.flows={},e.flows[r]=n,delete e.flow,delete e.authorizationUrl,delete e.tokenUrl,delete e.scopes,void 0!==e.name&&(t.patch?(t.patches++,delete e.name):k(\"(Patchable) oauth2 securitySchemes should not have name property\",t))}}function C(e){return e&&!e[\"x-s2o-delete\"]}function j(e,t){if(e.$ref)e.$ref=e.$ref.replace(\"#/responses/\",\"#/components/responses/\");else{e.type&&!e.schema&&(e.schema={}),e.type&&(e.schema.type=e.type),e.items&&\"array\"!==e.items.type&&(e.items.collectionFormat!==e.collectionFormat&&S(\"Nested collectionFormats are not supported\",e,t),delete e.items.collectionFormat),\"array\"===e.type?(\"ssv\"===e.collectionFormat?S(\"collectionFormat:ssv is no longer supported for headers\",e,t):\"pipes\"===e.collectionFormat?S(\"collectionFormat:pipes is no longer supported for headers\",e,t):\"multi\"===e.collectionFormat?e.explode=!0:\"tsv\"===e.collectionFormat?(S(\"collectionFormat:tsv is no longer supported\",e,t),e[\"x-collectionFormat\"]=\"tsv\"):e.style=\"simple\",delete e.collectionFormat):e.collectionFormat&&(t.patch?(t.patches++,delete e.collectionFormat):k(\"(Patchable) collectionFormat is only applicable to header.type array\",t)),delete e.type;for(let t of g.parameterTypeProperties)void 0!==e[t]&&(e.schema[t]=e[t],delete e[t]);for(let t of g.arrayProperties)void 0!==e[t]&&(e.schema[t]=e[t],delete e[t])}}function P(e,t){if(e.$ref.indexOf(\"#/parameters/\")>=0){let t=e.$ref.split(\"#/parameters/\");e.$ref=t[0]+\"#/components/parameters/\"+g.sanitise(t[1])}e.$ref.indexOf(\"#/definitions/\")>=0&&S(\"Definition used as parameter\",e,t)}function T(e,t,n,r,i,o,s){let a,l={},u=!0;if(t&&t.consumes&&\"string\"==typeof t.consumes){if(!s.patch)return k(\"(Patchable) operation.consumes must be an array\",s);s.patches++,t.consumes=[t.consumes]}Array.isArray(o.consumes)||delete o.consumes;let d=((t?t.consumes:null)||o.consumes||[]).filter(g.uniqueOnly);if(e&&e.$ref&&\"string\"==typeof e.$ref){P(e,s);let t=decodeURIComponent(e.$ref.replace(\"#/components/parameters/\",\"\")),n=!1,r=o.components.parameters[t];if(r&&!r[\"x-s2o-delete\"]||!e.$ref.startsWith(\"#/\")||(e[\"x-s2o-delete\"]=!0,n=!0),n){let t=e.$ref,n=c(o,e.$ref);!n&&t.startsWith(\"#/\")?S(\"Could not resolve reference \"+t,e,s):n&&(e=n)}}if(e&&(e.name||e.in)){\"boolean\"==typeof e[\"x-deprecated\"]&&(e.deprecated=e[\"x-deprecated\"],delete e[\"x-deprecated\"]),void 0!==e[\"x-example\"]&&(e.example=e[\"x-example\"],delete e[\"x-example\"]),\"body\"===e.in||e.type||(s.patch?(s.patches++,e.type=\"string\"):k(\"(Patchable) parameter.type is mandatory for non-body parameters\",s)),e.type&&\"object\"==typeof e.type&&e.type.$ref&&(e.type=c(o,e.type.$ref)),\"file\"===e.type&&(e[\"x-s2o-originalType\"]=e.type,a=e.type),e.description&&\"object\"==typeof e.description&&e.description.$ref&&(e.description=c(o,e.description.$ref)),null===e.description&&delete e.description;let t=e.collectionFormat;if(\"array\"!==e.type||t||(t=\"csv\"),t&&(\"array\"!==e.type&&(s.patch?(s.patches++,delete e.collectionFormat):k(\"(Patchable) collectionFormat is only applicable to param.type array\",s)),\"csv\"!==t||\"query\"!==e.in&&\"cookie\"!==e.in||(e.style=\"form\",e.explode=!1),\"csv\"!==t||\"path\"!==e.in&&\"header\"!==e.in||(e.style=\"simple\"),\"ssv\"===t&&(\"query\"===e.in?e.style=\"spaceDelimited\":S(\"collectionFormat:ssv is no longer supported except for in:query parameters\",e,s)),\"pipes\"===t&&(\"query\"===e.in?e.style=\"pipeDelimited\":S(\"collectionFormat:pipes is no longer supported except for in:query parameters\",e,s)),\"multi\"===t&&(e.explode=!0),\"tsv\"===t&&(S(\"collectionFormat:tsv is no longer supported\",e,s),e[\"x-collectionFormat\"]=\"tsv\"),delete e.collectionFormat),e.type&&\"body\"!==e.type&&\"formData\"!==e.in)if(e.items&&e.schema)S(\"parameter has array,items and schema\",e,s);else{e.schema&&s.patches++,e.schema&&\"object\"==typeof e.schema||(e.schema={}),e.schema.type=e.type,e.items&&(e.schema.items=e.items,delete e.items,f(e.schema.items,null,(function(n,r,i){\"collectionFormat\"===r&&\"string\"==typeof n[r]&&(t&&n[r]!==t&&S(\"Nested collectionFormats are not supported\",e,s),delete n[r])})));for(let t of g.parameterTypeProperties)void 0!==e[t]&&(e.schema[t]=e[t]),delete e[t]}e.schema&&E(e.schema,s),e[\"x-ms-skip-url-encoding\"]&&\"query\"===e.in&&(e.allowReserved=!0,delete e[\"x-ms-skip-url-encoding\"])}if(e&&\"formData\"===e.in){u=!1,l.content={};let t=\"application/x-www-form-urlencoded\";if(d.length&&d.indexOf(\"multipart/form-data\")>=0&&(t=\"multipart/form-data\"),l.content[t]={},e.schema)l.content[t].schema=e.schema,e.schema.$ref&&(l[\"x-s2o-name\"]=decodeURIComponent(e.schema.$ref.replace(\"#/components/schemas/\",\"\")));else{l.content[t].schema={},l.content[t].schema.type=\"object\",l.content[t].schema.properties={},l.content[t].schema.properties[e.name]={};let n=l.content[t].schema,r=l.content[t].schema.properties[e.name];e.description&&(r.description=e.description),e.example&&(r.example=e.example),e.type&&(r.type=e.type);for(let t of g.parameterTypeProperties)void 0!==e[t]&&(r[t]=e[t]);!0===e.required&&(n.required||(n.required=[]),n.required.push(e.name),l.required=!0),void 0!==e.default&&(r.default=e.default),r.properties&&(r.properties=e.properties),e.allOf&&(r.allOf=e.allOf),\"array\"===e.type&&e.items&&(r.items=e.items,r.items.collectionFormat&&delete r.items.collectionFormat),\"file\"!==a&&\"file\"!==e[\"x-s2o-originalType\"]||(r.type=\"string\",r.format=\"binary\"),I(e,r)}}else e&&\"file\"===e.type&&(e.required&&(l.required=e.required),l.content={},l.content[\"application/octet-stream\"]={},l.content[\"application/octet-stream\"].schema={},l.content[\"application/octet-stream\"].schema.type=\"string\",l.content[\"application/octet-stream\"].schema.format=\"binary\",I(e,l));if(e&&\"body\"===e.in){l.content={},e.name&&(l[\"x-s2o-name\"]=(t&&t.operationId?g.sanitiseAll(t.operationId):\"\")+(\"_\"+e.name).toCamelCase()),e.description&&(l.description=e.description),e.required&&(l.required=e.required),t&&s.rbname&&e.name&&(t[s.rbname]=e.name),e.schema&&e.schema.$ref?l[\"x-s2o-name\"]=decodeURIComponent(e.schema.$ref.replace(\"#/components/schemas/\",\"\")):e.schema&&\"array\"===e.schema.type&&e.schema.items&&e.schema.items.$ref&&(l[\"x-s2o-name\"]=decodeURIComponent(e.schema.items.$ref.replace(\"#/components/schemas/\",\"\"))+\"Array\"),d.length||d.push(\"application/json\");for(let t of d)l.content[t]={},l.content[t].schema=p(e.schema||{}),E(l.content[t].schema,s);I(e,l)}if(Object.keys(l).length>0&&(e[\"x-s2o-delete\"]=!0,t)&&(t.requestBody&&u?(t.requestBody[\"x-s2o-overloaded\"]=!0,S(\"Operation \"+(t.operationId||i)+\" has multiple requestBodies\",t,s)):(t.requestBody||(t=n[r]=function(e,t){let n={};for(let r of Object.keys(e))n[r]=e[r],\"parameters\"===r&&(n.requestBody={},t.rbname&&(n[t.rbname]=\"\"));return n.requestBody={},n}(t,s)),t.requestBody.content&&t.requestBody.content[\"multipart/form-data\"]&&t.requestBody.content[\"multipart/form-data\"].schema&&t.requestBody.content[\"multipart/form-data\"].schema.properties&&l.content[\"multipart/form-data\"]&&l.content[\"multipart/form-data\"].schema&&l.content[\"multipart/form-data\"].schema.properties?(t.requestBody.content[\"multipart/form-data\"].schema.properties=Object.assign(t.requestBody.content[\"multipart/form-data\"].schema.properties,l.content[\"multipart/form-data\"].schema.properties),t.requestBody.content[\"multipart/form-data\"].schema.required=(t.requestBody.content[\"multipart/form-data\"].schema.required||[]).concat(l.content[\"multipart/form-data\"].schema.required||[]),t.requestBody.content[\"multipart/form-data\"].schema.required.length||delete t.requestBody.content[\"multipart/form-data\"].schema.required):t.requestBody.content&&t.requestBody.content[\"application/x-www-form-urlencoded\"]&&t.requestBody.content[\"application/x-www-form-urlencoded\"].schema&&t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties&&l.content[\"application/x-www-form-urlencoded\"]&&l.content[\"application/x-www-form-urlencoded\"].schema&&l.content[\"application/x-www-form-urlencoded\"].schema.properties?(t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties=Object.assign(t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.properties,l.content[\"application/x-www-form-urlencoded\"].schema.properties),t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required=(t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required||[]).concat(l.content[\"application/x-www-form-urlencoded\"].schema.required||[]),t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required.length||delete t.requestBody.content[\"application/x-www-form-urlencoded\"].schema.required):(t.requestBody=Object.assign(t.requestBody,l),t.requestBody[\"x-s2o-name\"]||(t.requestBody.schema&&t.requestBody.schema.$ref?t.requestBody[\"x-s2o-name\"]=decodeURIComponent(t.requestBody.schema.$ref.replace(\"#/components/schemas/\",\"\")).split(\"/\").join(\"\"):t.operationId&&(t.requestBody[\"x-s2o-name\"]=g.sanitiseAll(t.operationId)))))),e&&!e[\"x-s2o-delete\"]){delete e.type;for(let t of g.parameterTypeProperties)delete e[t];\"path\"!==e.in||void 0!==e.required&&!0===e.required||(s.patch?(s.patches++,e.required=!0):k(\"(Patchable) path parameters must be required:true [\"+e.name+\" in \"+i+\"]\",s))}return t}function I(e,t){for(let n in e)n.startsWith(\"x-\")&&!n.startsWith(\"x-s2o\")&&(t[n]=e[n])}function R(e,t,n,r,i){if(!e)return!1;if(e.$ref&&\"string\"==typeof e.$ref)e.$ref.indexOf(\"#/definitions/\")>=0?S(\"definition used as response: \"+e.$ref,e,i):e.$ref.startsWith(\"#/responses/\")&&(e.$ref=\"#/components/responses/\"+g.sanitise(decodeURIComponent(e.$ref.replace(\"#/responses/\",\"\"))));else{if((void 0===e.description||null===e.description||\"\"===e.description&&i.patch)&&(i.patch?\"object\"!=typeof e||Array.isArray(e)||(i.patches++,e.description=y[e]||\"\"):k(\"(Patchable) response.description is mandatory\",i)),void 0!==e.schema){if(E(e.schema,i),e.schema.$ref&&\"string\"==typeof e.schema.$ref&&e.schema.$ref.startsWith(\"#/responses/\")&&(e.schema.$ref=\"#/components/responses/\"+g.sanitise(decodeURIComponent(e.schema.$ref.replace(\"#/responses/\",\"\")))),n&&n.produces&&\"string\"==typeof n.produces){if(!i.patch)return k(\"(Patchable) operation.produces must be an array\",i);i.patches++,n.produces=[n.produces]}r.produces&&!Array.isArray(r.produces)&&delete r.produces;let t=((n?n.produces:null)||r.produces||[]).filter(g.uniqueOnly);t.length||t.push(\"*/*\"),e.content={};for(let n of t){if(e.content[n]={},e.content[n].schema=p(e.schema),e.examples&&e.examples[n]){let t={};t.value=e.examples[n],e.content[n].examples={},e.content[n].examples.response=t,delete e.examples[n]}\"file\"===e.content[n].schema.type&&(e.content[n].schema={type:\"string\",format:\"binary\"})}delete e.schema}for(let t in e.examples)e.content||(e.content={}),e.content[t]||(e.content[t]={}),e.content[t].examples={},e.content[t].examples.response={},e.content[t].examples.response.value=e.examples[t];if(delete e.examples,e.headers)for(let t in e.headers)\"status code\"===t.toLowerCase()?i.patch?(i.patches++,delete e.headers[t]):k('(Patchable) \"Status Code\" is not a valid header',i):j(e.headers[t],i)}}function N(e,t,n,r,o){for(let s in e){let a=e[s];a&&a[\"x-trace\"]&&\"object\"==typeof a[\"x-trace\"]&&(a.trace=a[\"x-trace\"],delete a[\"x-trace\"]),a&&a[\"x-summary\"]&&\"string\"==typeof a[\"x-summary\"]&&(a.summary=a[\"x-summary\"],delete a[\"x-summary\"]),a&&a[\"x-description\"]&&\"string\"==typeof a[\"x-description\"]&&(a.description=a[\"x-description\"],delete a[\"x-description\"]),a&&a[\"x-servers\"]&&Array.isArray(a[\"x-servers\"])&&(a.servers=a[\"x-servers\"],delete a[\"x-servers\"]);for(let e in a)if(g.httpMethods.indexOf(e)>=0||\"x-amazon-apigateway-any-method\"===e){let u=a[e];if(u&&u.parameters&&Array.isArray(u.parameters)){if(a.parameters)for(let t of a.parameters)\"string\"==typeof t.$ref&&(P(t,n),t=c(o,t.$ref)),u.parameters.find((function(e,n,r){return e.name===t.name&&e.in===t.in}))||\"formData\"!==t.in&&\"body\"!==t.in&&\"file\"!==t.type||(u=T(t,u,a,e,s,o,n),n.rbname&&\"\"===u[n.rbname]&&delete u[n.rbname]);for(let t of u.parameters)u=T(t,u,a,e,e+\":\"+s,o,n);n.rbname&&\"\"===u[n.rbname]&&delete u[n.rbname],n.debug||u.parameters&&(u.parameters=u.parameters.filter(C))}if(u&&u.security&&_(u.security),\"object\"==typeof u){if(!u.responses){let e={description:\"Default response\"};u.responses={default:e}}for(let e in u.responses)R(u.responses[e],0,u,o,n)}if(u&&u[\"x-servers\"]&&Array.isArray(u[\"x-servers\"]))u.servers=u[\"x-servers\"],delete u[\"x-servers\"];else if(u&&u.schemes&&u.schemes.length)for(let e of u.schemes)if((!o.schemes||o.schemes.indexOf(e)<0)&&(u.servers||(u.servers=[]),Array.isArray(o.servers)))for(let t of o.servers){let n=p(t),r=i.parse(n.url);r.protocol=e,n.url=r.format(),u.servers.push(n)}if(n.debug&&(u[\"x-s2o-consumes\"]=u.consumes||[],u[\"x-s2o-produces\"]=u.produces||[]),u){if(delete u.consumes,delete u.produces,delete u.schemes,u[\"x-ms-examples\"]){for(let e in u[\"x-ms-examples\"]){let t=u[\"x-ms-examples\"][e],n=g.sanitiseAll(e);if(t.parameters)for(let n in t.parameters){let r=t.parameters[n];for(let t of(u.parameters||[]).concat(a.parameters||[]))t.$ref&&(t=l.jptr(o,t.$ref)),t.name!==n||t.example||(t.examples||(t.examples={}),t.examples[e]={value:r})}if(t.responses)for(let r in t.responses){if(t.responses[r].headers)for(let e in t.responses[r].headers){let n=t.responses[r].headers[e];for(let t in u.responses[r].headers)t===e&&(u.responses[r].headers[t].example=n)}if(t.responses[r].body&&(o.components.examples[n]={value:p(t.responses[r].body)},u.responses[r]&&u.responses[r].content))for(let t in u.responses[r].content){let i=u.responses[r].content[t];i.examples||(i.examples={}),i.examples[e]={$ref:\"#/components/examples/\"+n}}}}delete u[\"x-ms-examples\"]}if(u.parameters&&0===u.parameters.length&&delete u.parameters,u.requestBody){let n=u.operationId?g.sanitiseAll(u.operationId):g.sanitiseAll(e+s).toCamelCase(),i=g.sanitise(u.requestBody[\"x-s2o-name\"]||n||\"\");delete u.requestBody[\"x-s2o-name\"];let o=JSON.stringify(u.requestBody),a=g.hash(o);if(!r[a]){let e={};e.name=i,e.body=u.requestBody,e.refs=[],r[a]=e}let c=\"#/\"+t+\"/\"+encodeURIComponent(l.jpescape(s))+\"/\"+e+\"/requestBody\";r[a].refs.push(c)}}}if(a&&a.parameters){for(let e in a.parameters)T(a.parameters[e],null,a,null,s,o,n);!n.debug&&Array.isArray(a.parameters)&&(a.parameters=a.parameters.filter(C))}}}function $(e){return e&&e.url&&\"string\"==typeof e.url?(e.url=e.url.split(\"{{\").join(\"{\"),e.url=e.url.split(\"}}\").join(\"}\"),e.url.replace(/\\{(.+?)\\}/g,(function(t,n){e.variables||(e.variables={}),e.variables[n]={default:\"unknown\"}})),e):e}function L(e,t,n){if(void 0===e.info||null===e.info){if(!t.patch)return n(new w(\"(Patchable) info object is mandatory\"));t.patches++,e.info={version:\"\",title:\"\"}}if(\"object\"!=typeof e.info||Array.isArray(e.info))return n(new w(\"info must be an object\"));if(void 0===e.info.title||null===e.info.title){if(!t.patch)return n(new w(\"(Patchable) info.title cannot be null\"));t.patches++,e.info.title=\"\"}if(void 0===e.info.version||null===e.info.version){if(!t.patch)return n(new w(\"(Patchable) info.version cannot be null\"));t.patches++,e.info.version=\"\"}if(\"string\"!=typeof e.info.version){if(!t.patch)return n(new w(\"(Patchable) info.version must be a string\"));t.patches++,e.info.version=e.info.version.toString()}if(void 0!==e.info.logo){if(!t.patch)return n(new w(\"(Patchable) info should not have logo property\"));t.patches++,e.info[\"x-logo\"]=e.info.logo,delete e.info.logo}if(void 0!==e.info.termsOfService){if(null===e.info.termsOfService){if(!t.patch)return n(new w(\"(Patchable) info.termsOfService cannot be null\"));t.patches++,e.info.termsOfService=\"\"}try{new URL(e.info.termsOfService)}catch(r){if(!t.patch)return n(new w(\"(Patchable) info.termsOfService must be a URL\"));t.patches++,delete e.info.termsOfService}}}function D(e,t,n){if(void 0===e.paths){if(!t.patch)return n(new w(\"(Patchable) paths object is mandatory\"));t.patches++,e.paths={}}}function M(e,t,n){return o(n,new Promise((function(n,r){if(e||(e={}),t.original=e,t.text||(t.text=a.stringify(e)),t.externals=[],t.externalRefs={},t.rewriteRefs=!0,t.preserveMiro=!0,t.promise={},t.promise.resolve=n,t.promise.reject=r,t.patches=0,t.cache||(t.cache={}),t.source&&(t.cache[t.source]=t.original),function(e,t){const n=new WeakSet;f(e,{identityDetection:!0},(function(e,r,i){\"object\"==typeof e[r]&&null!==e[r]&&(n.has(e[r])?t.anchors?e[r]=p(e[r]):k(\"YAML anchor or merge key at \"+i.path,t):n.add(e[r]))}))}(e,t),e.openapi&&\"string\"==typeof e.openapi&&e.openapi.startsWith(\"3.\"))return t.openapi=d(e),L(t.openapi,t,r),D(t.openapi,t,r),void h.optionalResolve(t).then((function(){return t.direct?n(t.openapi):n(t)})).catch((function(e){console.warn(e),r(e)}));if(!e.swagger||\"2.0\"!=e.swagger)return r(new w(\"Unsupported swagger/OpenAPI version: \"+(e.openapi?e.openapi:e.swagger)));let i=t.openapi={};if(i.openapi=\"string\"==typeof t.targetVersion&&t.targetVersion.startsWith(\"3.\")?t.targetVersion:v,t.origin){i[\"x-origin\"]||(i[\"x-origin\"]=[]);let n={};n.url=t.source||t.origin,n.format=\"swagger\",n.version=e.swagger,n.converter={},n.converter.url=\"https://github.com/mermade/oas-kit\",n.converter.version=b,i[\"x-origin\"].push(n)}if(i=Object.assign(i,d(e)),delete i.swagger,f(i,{},(function(e,t,n){null===e[t]&&!t.startsWith(\"x-\")&&\"default\"!==t&&n.path.indexOf(\"/example\")<0&&delete e[t]})),e.host)for(let t of Array.isArray(e.schemes)?e.schemes:[\"\"]){let n={},r=(e.basePath||\"\").replace(/\\/$/,\"\");n.url=(t?t+\":\":\"\")+\"//\"+e.host+r,$(n),i.servers||(i.servers=[]),i.servers.push(n)}else if(e.basePath){let t={};t.url=e.basePath,$(t),i.servers||(i.servers=[]),i.servers.push(t)}if(delete i.host,delete i.basePath,i[\"x-servers\"]&&Array.isArray(i[\"x-servers\"])&&(i.servers=i[\"x-servers\"],delete i[\"x-servers\"]),e[\"x-ms-parameterized-host\"]){let t=e[\"x-ms-parameterized-host\"],n={};n.url=t.hostTemplate+(e.basePath?e.basePath:\"\"),n.variables={};const r=n.url.match(/\\{\\w+\\}/g);for(let e in t.parameters){let o=t.parameters[e];o.$ref&&(o=p(c(i,o.$ref))),e.startsWith(\"x-\")||(delete o.required,delete o.type,delete o.in,void 0===o.default&&(o.enum?o.default=o.enum[0]:o.default=\"none\"),o.name||(o.name=r[e].replace(\"{\",\"\").replace(\"}\",\"\")),n.variables[o.name]=o,delete o.name)}i.servers||(i.servers=[]),!1===t.useSchemePrefix?i.servers.push(n):e.schemes.forEach((e=>{i.servers.push(Object.assign({},n,{url:e+\"://\"+n.url}))})),delete i[\"x-ms-parameterized-host\"]}L(i,t,r),D(i,t,r),\"string\"==typeof i.consumes&&(i.consumes=[i.consumes]),\"string\"==typeof i.produces&&(i.produces=[i.produces]),i.components={},i[\"x-callbacks\"]&&(i.components.callbacks=i[\"x-callbacks\"],delete i[\"x-callbacks\"]),i.components.examples={},i.components.headers={},i[\"x-links\"]&&(i.components.links=i[\"x-links\"],delete i[\"x-links\"]),i.components.parameters=i.parameters||{},i.components.responses=i.responses||{},i.components.requestBodies={},i.components.securitySchemes=i.securityDefinitions||{},i.components.schemas=i.definitions||{},delete i.definitions,delete i.responses,delete i.parameters,delete i.securityDefinitions,h.optionalResolve(t).then((function(){(function(e,t){let n={};x={schemas:{}},e.security&&_(e.security);for(let n in e.components.securitySchemes){let r=g.sanitise(n);n!==r&&(e.components.securitySchemes[r]&&k(\"Duplicate sanitised securityScheme name \"+r,t),e.components.securitySchemes[r]=e.components.securitySchemes[n],delete e.components.securitySchemes[n]),A(e.components.securitySchemes[r],t)}for(let n in e.components.schemas){let r=g.sanitiseAll(n),i=\"\";if(n!==r){for(;e.components.schemas[r+i];)i=i?++i:2;e.components.schemas[r+i]=e.components.schemas[n],delete e.components.schemas[n]}x.schemas[n]=r+i,E(e.components.schemas[r+i],t)}t.refmap={},f(e,{payload:{options:t}},O),function(e,t){for(let n in t.refmap)l.jptr(e,n,{$ref:t.refmap[n]})}(e,t);for(let n in e.components.parameters){let r=g.sanitise(n);n!==r&&(e.components.parameters[r]&&k(\"Duplicate sanitised parameter name \"+r,t),e.components.parameters[r]=e.components.parameters[n],delete e.components.parameters[n]),T(e.components.parameters[r],null,null,null,r,e,t)}for(let n in e.components.responses){let r=g.sanitise(n);n!==r&&(e.components.responses[r]&&k(\"Duplicate sanitised response name \"+r,t),e.components.responses[r]=e.components.responses[n],delete e.components.responses[n]);let i=e.components.responses[r];if(R(i,0,null,e,t),i.headers)for(let e in i.headers)\"status code\"===e.toLowerCase()?t.patch?(t.patches++,delete i.headers[e]):k('(Patchable) \"Status Code\" is not a valid header',t):j(i.headers[e],t)}for(let t in e.components.requestBodies){let r=e.components.requestBodies[t],i=JSON.stringify(r),o=g.hash(i),s={};s.name=t,s.body=r,s.refs=[],n[o]=s}if(N(e.paths,\"paths\",t,n,e),e[\"x-ms-paths\"]&&N(e[\"x-ms-paths\"],\"x-ms-paths\",t,n,e),!t.debug)for(let t in e.components.parameters)e.components.parameters[t][\"x-s2o-delete\"]&&delete e.components.parameters[t];t.debug&&(e[\"x-s2o-consumes\"]=e.consumes||[],e[\"x-s2o-produces\"]=e.produces||[]),delete e.consumes,delete e.produces,delete e.schemes;let r=[];if(e.components.requestBodies={},!t.resolveInternal){let t=1;for(let i in n){let o=n[i];if(o.refs.length>1){let n=\"\";for(o.name||(o.name=\"requestBody\",n=t++);r.indexOf(o.name+n)>=0;)n=n?++n:2;o.name=o.name+n,r.push(o.name),e.components.requestBodies[o.name]=p(o.body);for(let t in o.refs){let n={};n.$ref=\"#/components/requestBodies/\"+o.name,l.jptr(e,o.refs[t],n)}}}}e.components.responses&&0===Object.keys(e.components.responses).length&&delete e.components.responses,e.components.parameters&&0===Object.keys(e.components.parameters).length&&delete e.components.parameters,e.components.examples&&0===Object.keys(e.components.examples).length&&delete e.components.examples,e.components.requestBodies&&0===Object.keys(e.components.requestBodies).length&&delete e.components.requestBodies,e.components.securitySchemes&&0===Object.keys(e.components.securitySchemes).length&&delete e.components.securitySchemes,e.components.headers&&0===Object.keys(e.components.headers).length&&delete e.components.headers,e.components.schemas&&0===Object.keys(e.components.schemas).length&&delete e.components.schemas,e.components&&0===Object.keys(e.components).length&&delete e.components})(t.openapi,t),t.direct?n(t.openapi):n(t)})).catch((function(e){console.warn(e),r(e)}))})))}function F(e,t,n){return o(n,new Promise((function(n,r){let i=null,o=null;try{i=JSON.parse(e),t.text=JSON.stringify(i,null,2)}catch(n){o=n;try{i=a.parse(e,{schema:\"core\",prettyErrors:!0}),t.sourceYaml=!0,t.text=e}catch(e){o=e}}i?M(i,t).then((e=>n(e))).catch((e=>r(e))):r(new w(o?o.message:\"Could not parse string\"))})))}e.exports={S2OError:w,targetVersion:v,convert:M,convertObj:M,convertUrl:function(e,t,n){return o(n,new Promise((function(n,r){t.origin=!0,t.source||(t.source=e),t.verbose&&console.warn(\"GET \"+e),t.fetch||(t.fetch=s);const i=Object.assign({},t.fetchOptions,{agent:t.agent});t.fetch(e,i).then((function(t){if(200!==t.status)throw new w(`Received status code ${t.status}: ${e}`);return t.text()})).then((function(e){F(e,t).then((e=>n(e))).catch((e=>r(e)))})).catch((function(e){r(e)}))})))},convertStr:F,convertFile:function(e,t,n){return o(n,new Promise((function(n,i){r.readFile(e,t.encoding||\"utf8\",(function(r,o){r?i(r):(t.sourceFile=e,F(o,t).then((e=>n(e))).catch((e=>i(e))))}))})))},convertStream:function(e,t,n){return o(n,new Promise((function(n,r){let i=\"\";e.on(\"data\",(function(e){i+=e})).on(\"end\",(function(){F(i,t).then((e=>n(e))).catch((e=>r(e)))}))})))}}},2665:function(e,t,n){\"use strict\";const r=n(3375);e.exports={statusCodes:Object.assign({},{default:\"Default response\",\"1XX\":\"Informational\",103:\"Early hints\",\"2XX\":\"Successful\",\"3XX\":\"Redirection\",\"4XX\":\"Client Error\",\"5XX\":\"Server Error\",\"7XX\":\"Developer Error\"},r.STATUS_CODES)}},5828:function(){self.fetch||(self.fetch=function(e,t){return t=t||{},new Promise((function(n,r){var i=new XMLHttpRequest,o=[],s=[],a={},l=function(){return{ok:2==(i.status/100|0),statusText:i.statusText,status:i.status,url:i.responseURL,text:function(){return Promise.resolve(i.responseText)},json:function(){return Promise.resolve(i.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([i.response]))},clone:l,headers:{keys:function(){return o},entries:function(){return s},get:function(e){return a[e.toLowerCase()]},has:function(e){return e.toLowerCase()in a}}}};for(var c in i.open(t.method||\"get\",e,!0),i.onload=function(){i.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,(function(e,t,n){o.push(t=t.toLowerCase()),s.push([t,n]),a[t]=a[t]?a[t]+\",\"+n:n})),n(l())},i.onerror=r,i.withCredentials=\"include\"==t.credentials,t.headers)i.setRequestHeader(c,t.headers[c]);i.send(t.body||null)}))})},8769:function(e){e.exports=function(){function e(){}return e.prototype.encodeReserved=function(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){return/%[0-9A-Fa-f]/.test(e)||(e=encodeURI(e).replace(/%5B/g,\"[\").replace(/%5D/g,\"]\")),e})).join(\"\")},e.prototype.encodeUnreserved=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}))},e.prototype.encodeValue=function(e,t,n){return t=\"+\"===e||\"#\"===e?this.encodeReserved(t):this.encodeUnreserved(t),n?this.encodeUnreserved(n)+\"=\"+t:t},e.prototype.isDefined=function(e){return null!=e},e.prototype.isKeyOperator=function(e){return\";\"===e||\"&\"===e||\"?\"===e},e.prototype.getValues=function(e,t,n,r){var i=e[n],o=[];if(this.isDefined(i)&&\"\"!==i)if(\"string\"==typeof i||\"number\"==typeof i||\"boolean\"==typeof i)i=i.toString(),r&&\"*\"!==r&&(i=i.substring(0,parseInt(r,10))),o.push(this.encodeValue(t,i,this.isKeyOperator(t)?n:null));else if(\"*\"===r)Array.isArray(i)?i.filter(this.isDefined).forEach((function(e){o.push(this.encodeValue(t,e,this.isKeyOperator(t)?n:null))}),this):Object.keys(i).forEach((function(e){this.isDefined(i[e])&&o.push(this.encodeValue(t,i[e],e))}),this);else{var s=[];Array.isArray(i)?i.filter(this.isDefined).forEach((function(e){s.push(this.encodeValue(t,e))}),this):Object.keys(i).forEach((function(e){this.isDefined(i[e])&&(s.push(this.encodeUnreserved(e)),s.push(this.encodeValue(t,i[e].toString())))}),this),this.isKeyOperator(t)?o.push(this.encodeUnreserved(n)+\"=\"+s.join(\",\")):0!==s.length&&o.push(s.join(\",\"))}else\";\"===t?this.isDefined(i)&&o.push(this.encodeUnreserved(n)):\"\"!==i||\"&\"!==t&&\"?\"!==t?\"\"===i&&o.push(\"\"):o.push(this.encodeUnreserved(n)+\"=\");return o},e.prototype.parse=function(e){var t=this,n=[\"+\",\"#\",\".\",\"/\",\";\",\"?\",\"&\"];return{expand:function(r){return e.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,(function(e,i,o){if(i){var s=null,a=[];if(-1!==n.indexOf(i.charAt(0))&&(s=i.charAt(0),i=i.substr(1)),i.split(/,/g).forEach((function(e){var n=/([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(e);a.push.apply(a,t.getValues(r,s,n[1],n[2]||n[3]))})),s&&\"+\"!==s){var l=\",\";return\"?\"===s?l=\"&\":\"#\"!==s&&(l=s),(0!==a.length?s:\"\")+a.join(l)}return a.join(\",\")}return t.encodeReserved(o)}))}}},new e}()},8493:function(e,t,n){\"use strict\";var r=n(6540),i=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,s=r.useEffect,a=r.useLayoutEffect,l=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(e){return!0}}var u=\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),i=r[0].inst,u=r[1];return a((function(){i.value=n,i.getSnapshot=t,c(i)&&u({inst:i})}),[e,n,t]),s((function(){return c(i)&&u({inst:i}),e((function(){c(i)&&u({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},9888:function(e,t,n){\"use strict\";e.exports=n(8493)},1988:function(e,t,n){var r=n(5007),i=[\"add\",\"done\",\"toJS\",\"fromExternalJS\",\"load\",\"dispose\",\"search\",\"Worker\"];e.exports=function(){var e=new Worker(URL.createObjectURL(new Blob(['/*! For license information please see cfb294d7f6536ffa8d42.worker.js.LICENSE.txt */\\n!function(){var e={291:function(e,t,r){var n,i;!function(){var s,o,a,u,l,c,h,d,f,p,y,m,g,x,v,w,Q,k,S,E,L,P,b,T,O,I,R,F,C,N,j=function(e){var t=new j.Builder;return t.pipeline.add(j.trimmer,j.stopWordFilter,j.stemmer),t.searchPipeline.add(j.stemmer),e.call(t,t),t.build()};j.version=\"2.3.9\",j.utils={},j.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),j.utils.asString=function(e){return null==e?\"\":e.toString()},j.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),n=0;n<r.length;n++){var i=r[n],s=e[i];if(Array.isArray(s))t[i]=s.slice();else{if(\"string\"!=typeof s&&\"number\"!=typeof s&&\"boolean\"!=typeof s)throw new TypeError(\"clone is not deep and does not support nested objects\");t[i]=s}}return t},j.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},j.FieldRef.joiner=\"/\",j.FieldRef.fromString=function(e){var t=e.indexOf(j.FieldRef.joiner);if(-1===t)throw\"malformed field ref string\";var r=e.slice(0,t),n=e.slice(t+1);return new j.FieldRef(n,r,e)},j.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+j.FieldRef.joiner+this.docRef),this._stringValue},j.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},j.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},j.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},j.Set.prototype.contains=function(e){return!!this.elements[e]},j.Set.prototype.intersect=function(e){var t,r,n,i=[];if(e===j.Set.complete)return this;if(e===j.Set.empty)return e;this.length<e.length?(t=this,r=e):(t=e,r=this),n=Object.keys(t.elements);for(var s=0;s<n.length;s++){var o=n[s];o in r.elements&&i.push(o)}return new j.Set(i)},j.Set.prototype.union=function(e){return e===j.Set.complete?j.Set.complete:e===j.Set.empty?this:new j.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},j.idf=function(e,t){var r=0;for(var n in e)\"_index\"!=n&&(r+=Object.keys(e[n]).length);var i=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(i))},j.Token=function(e,t){this.str=e||\"\",this.metadata=t||{}},j.Token.prototype.toString=function(){return this.str},j.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},j.Token.prototype.clone=function(e){return e=e||function(e){return e},new j.Token(e(this.str,this.metadata),this.metadata)},j.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new j.Token(j.utils.asString(e).toLowerCase(),j.utils.clone(t))}));for(var r=e.toString().toLowerCase(),n=r.length,i=[],s=0,o=0;s<=n;s++){var a=s-o;if(r.charAt(s).match(j.tokenizer.separator)||s==n){if(a>0){var u=j.utils.clone(t)||{};u.position=[o,a],u.index=i.length,i.push(new j.Token(r.slice(o,s),u))}o=s+1}}return i},j.tokenizer.separator=/[\\\\s\\\\-]+/,j.Pipeline=function(){this._stack=[]},j.Pipeline.registeredFunctions=Object.create(null),j.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&j.utils.warn(\"Overwriting existing registered function: \"+t),e.label=t,j.Pipeline.registeredFunctions[e.label]=e},j.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||j.utils.warn(\"Function is not registered with pipeline. This may cause problems when serialising the index.\\\\n\",e)},j.Pipeline.load=function(e){var t=new j.Pipeline;return e.forEach((function(e){var r=j.Pipeline.registeredFunctions[e];if(!r)throw new Error(\"Cannot load unregistered function: \"+e);t.add(r)})),t},j.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){j.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},j.Pipeline.prototype.after=function(e,t){j.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error(\"Cannot find existingFn\");r+=1,this._stack.splice(r,0,t)},j.Pipeline.prototype.before=function(e,t){j.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error(\"Cannot find existingFn\");this._stack.splice(r,0,t)},j.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},j.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var n=this._stack[r],i=[],s=0;s<e.length;s++){var o=n(e[s],s,e);if(null!=o&&\"\"!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)i.push(o[a]);else i.push(o)}e=i}return e},j.Pipeline.prototype.runString=function(e,t){var r=new j.Token(e,t);return this.run([r]).map((function(e){return e.toString()}))},j.Pipeline.prototype.reset=function(){this._stack=[]},j.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return j.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},j.Vector=function(e){this._magnitude=0,this.elements=e||[]},j.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,n=r-t,i=Math.floor(n/2),s=this.elements[2*i];n>1&&(s<e&&(t=i),s>e&&(r=i),s!=e);)n=r-t,i=t+Math.floor(n/2),s=this.elements[2*i];return s==e||s>e?2*i:s<e?2*(i+1):void 0},j.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw\"duplicate index\"}))},j.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var n=this.positionForIndex(e);this.elements[n]==e?this.elements[n+1]=r(this.elements[n+1],t):this.elements.splice(n,0,e,t)},j.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var n=this.elements[r];e+=n*n}return this._magnitude=Math.sqrt(e)},j.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,n=e.elements,i=r.length,s=n.length,o=0,a=0,u=0,l=0;u<i&&l<s;)(o=r[u])<(a=n[l])?u+=2:o>a?l+=2:o==a&&(t+=r[u+1]*n[l+1],u+=2,l+=2);return t},j.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},j.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},j.Vector.prototype.toJSON=function(){return this.elements},j.stemmer=(o={ational:\"ate\",tional:\"tion\",enci:\"ence\",anci:\"ance\",izer:\"ize\",bli:\"ble\",alli:\"al\",entli:\"ent\",eli:\"e\",ousli:\"ous\",ization:\"ize\",ation:\"ate\",ator:\"ate\",alism:\"al\",iveness:\"ive\",fulness:\"ful\",ousness:\"ous\",aliti:\"al\",iviti:\"ive\",biliti:\"ble\",logi:\"log\"},a={icate:\"ic\",ative:\"\",alize:\"al\",iciti:\"ic\",ical:\"ic\",ful:\"\",ness:\"\"},h=\"^(\"+(l=\"[^aeiou][^aeiouy]*\")+\")?\"+(c=(u=\"[aeiouy]\")+\"[aeiou]*\")+l+\"(\"+c+\")?$\",d=\"^(\"+l+\")?\"+c+l+c+l,f=\"^(\"+l+\")?\"+u,p=new RegExp(\"^(\"+l+\")?\"+c+l),y=new RegExp(d),m=new RegExp(h),g=new RegExp(f),x=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,Q=/^(.+?)(ed|ing)$/,k=/.$/,S=/(at|bl|iz)$/,E=new RegExp(\"([^aeiouylsz])\\\\\\\\1$\"),L=new RegExp(\"^\"+l+u+\"[^aeiouwxy]$\"),P=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,T=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,O=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,I=/^(.+?)(s|t)(ion)$/,R=/^(.+?)e$/,F=/ll$/,C=new RegExp(\"^\"+l+u+\"[^aeiouwxy]$\"),N=function(e){var t,r,n,i,s,u,l;if(e.length<3)return e;if(\"y\"==(n=e.substr(0,1))&&(e=n.toUpperCase()+e.substr(1)),s=v,(i=x).test(e)?e=e.replace(i,\"$1$2\"):s.test(e)&&(e=e.replace(s,\"$1$2\")),s=Q,(i=w).test(e)){var c=i.exec(e);(i=p).test(c[1])&&(i=k,e=e.replace(i,\"\"))}else s.test(e)&&(t=(c=s.exec(e))[1],(s=g).test(t)&&(u=E,l=L,(s=S).test(e=t)?e+=\"e\":u.test(e)?(i=k,e=e.replace(i,\"\")):l.test(e)&&(e+=\"e\")));return(i=P).test(e)&&(e=(t=(c=i.exec(e))[1])+\"i\"),(i=b).test(e)&&(t=(c=i.exec(e))[1],r=c[2],(i=p).test(t)&&(e=t+o[r])),(i=T).test(e)&&(t=(c=i.exec(e))[1],r=c[2],(i=p).test(t)&&(e=t+a[r])),s=I,(i=O).test(e)?(t=(c=i.exec(e))[1],(i=y).test(t)&&(e=t)):s.test(e)&&(t=(c=s.exec(e))[1]+c[2],(s=y).test(t)&&(e=t)),(i=R).test(e)&&(t=(c=i.exec(e))[1],s=m,u=C,((i=y).test(t)||s.test(t)&&!u.test(t))&&(e=t)),s=y,(i=F).test(e)&&s.test(e)&&(i=k,e=e.replace(i,\"\")),\"y\"==n&&(e=n.toLowerCase()+e.substr(1)),e},function(e){return e.update(N)}),j.Pipeline.registerFunction(j.stemmer,\"stemmer\"),j.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},j.stopWordFilter=j.generateStopWordFilter([\"a\",\"able\",\"about\",\"across\",\"after\",\"all\",\"almost\",\"also\",\"am\",\"among\",\"an\",\"and\",\"any\",\"are\",\"as\",\"at\",\"be\",\"because\",\"been\",\"but\",\"by\",\"can\",\"cannot\",\"could\",\"dear\",\"did\",\"do\",\"does\",\"either\",\"else\",\"ever\",\"every\",\"for\",\"from\",\"get\",\"got\",\"had\",\"has\",\"have\",\"he\",\"her\",\"hers\",\"him\",\"his\",\"how\",\"however\",\"i\",\"if\",\"in\",\"into\",\"is\",\"it\",\"its\",\"just\",\"least\",\"let\",\"like\",\"likely\",\"may\",\"me\",\"might\",\"most\",\"must\",\"my\",\"neither\",\"no\",\"nor\",\"not\",\"of\",\"off\",\"often\",\"on\",\"only\",\"or\",\"other\",\"our\",\"own\",\"rather\",\"said\",\"say\",\"says\",\"she\",\"should\",\"since\",\"so\",\"some\",\"than\",\"that\",\"the\",\"their\",\"them\",\"then\",\"there\",\"these\",\"they\",\"this\",\"tis\",\"to\",\"too\",\"twas\",\"us\",\"wants\",\"was\",\"we\",\"were\",\"what\",\"when\",\"where\",\"which\",\"while\",\"who\",\"whom\",\"why\",\"will\",\"with\",\"would\",\"yet\",\"you\",\"your\"]),j.Pipeline.registerFunction(j.stopWordFilter,\"stopWordFilter\"),j.trimmer=function(e){return e.update((function(e){return e.replace(/^\\\\W+/,\"\").replace(/\\\\W+$/,\"\")}))},j.Pipeline.registerFunction(j.trimmer,\"trimmer\"),j.TokenSet=function(){this.final=!1,this.edges={},this.id=j.TokenSet._nextId,j.TokenSet._nextId+=1},j.TokenSet._nextId=1,j.TokenSet.fromArray=function(e){for(var t=new j.TokenSet.Builder,r=0,n=e.length;r<n;r++)t.insert(e[r]);return t.finish(),t.root},j.TokenSet.fromClause=function(e){return\"editDistance\"in e?j.TokenSet.fromFuzzyString(e.term,e.editDistance):j.TokenSet.fromString(e.term)},j.TokenSet.fromFuzzyString=function(e,t){for(var r=new j.TokenSet,n=[{node:r,editsRemaining:t,str:e}];n.length;){var i=n.pop();if(i.str.length>0){var s,o=i.str.charAt(0);o in i.node.edges?s=i.node.edges[o]:(s=new j.TokenSet,i.node.edges[o]=s),1==i.str.length&&(s.final=!0),n.push({node:s,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if(\"*\"in i.node.edges)var a=i.node.edges[\"*\"];else a=new j.TokenSet,i.node.edges[\"*\"]=a;if(0==i.str.length&&(a.final=!0),n.push({node:a,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&n.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if(\"*\"in i.node.edges)var u=i.node.edges[\"*\"];else u=new j.TokenSet,i.node.edges[\"*\"]=u;1==i.str.length&&(u.final=!0),n.push({node:u,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,c=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new j.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),n.push({node:l,editsRemaining:i.editsRemaining-1,str:c+i.str.slice(2)})}}}return r},j.TokenSet.fromString=function(e){for(var t=new j.TokenSet,r=t,n=0,i=e.length;n<i;n++){var s=e[n],o=n==i-1;if(\"*\"==s)t.edges[s]=t,t.final=o;else{var a=new j.TokenSet;a.final=o,t.edges[s]=a,t=a}}return r},j.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:\"\",node:this}];t.length;){var r=t.pop(),n=Object.keys(r.node.edges),i=n.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<i;s++){var o=n[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},j.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?\"1\":\"0\",t=Object.keys(this.edges).sort(),r=t.length,n=0;n<r;n++){var i=t[n];e=e+i+this.edges[i].id}return e},j.TokenSet.prototype.intersect=function(e){for(var t=new j.TokenSet,r=void 0,n=[{qNode:e,output:t,node:this}];n.length;){r=n.pop();for(var i=Object.keys(r.qNode.edges),s=i.length,o=Object.keys(r.node.edges),a=o.length,u=0;u<s;u++)for(var l=i[u],c=0;c<a;c++){var h=o[c];if(h==l||\"*\"==l){var d=r.node.edges[h],f=r.qNode.edges[l],p=d.final&&f.final,y=void 0;h in r.output.edges?(y=r.output.edges[h]).final=y.final||p:((y=new j.TokenSet).final=p,r.output.edges[h]=y),n.push({qNode:f,output:y,node:d})}}}return t},j.TokenSet.Builder=function(){this.previousWord=\"\",this.root=new j.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},j.TokenSet.Builder.prototype.insert=function(e){var t,r=0;if(e<this.previousWord)throw new Error(\"Out of order word insertion\");for(var n=0;n<e.length&&n<this.previousWord.length&&e[n]==this.previousWord[n];n++)r++;for(this.minimize(r),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child,n=r;n<e.length;n++){var i=new j.TokenSet,s=e[n];t.edges[s]=i,this.uncheckedNodes.push({parent:t,char:s,child:i}),t=i}t.final=!0,this.previousWord=e},j.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},j.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}},j.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},j.Index.prototype.search=function(e){return this.query((function(t){new j.QueryParser(e,t).parse()}))},j.Index.prototype.query=function(e){for(var t=new j.Query(this.fields),r=Object.create(null),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a<this.fields.length;a++)n[this.fields[a]]=new j.Vector;for(e.call(t,t),a=0;a<t.clauses.length;a++){var u,l=t.clauses[a],c=j.Set.empty;u=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var h=0;h<u.length;h++){var d=u[h];l.term=d;var f=j.TokenSet.fromClause(l),p=this.tokenSet.intersect(f).toArray();if(0===p.length&&l.presence===j.Query.presence.REQUIRED){for(var y=0;y<l.fields.length;y++)s[R=l.fields[y]]=j.Set.empty;break}for(var m=0;m<p.length;m++){var g=p[m],x=this.invertedIndex[g],v=x._index;for(y=0;y<l.fields.length;y++){var w=x[R=l.fields[y]],Q=Object.keys(w),k=g+\"/\"+R,S=new j.Set(Q);if(l.presence==j.Query.presence.REQUIRED&&(c=c.union(S),void 0===s[R]&&(s[R]=j.Set.complete)),l.presence!=j.Query.presence.PROHIBITED){if(n[R].upsert(v,l.boost,(function(e,t){return e+t})),!i[k]){for(var E=0;E<Q.length;E++){var L,P=Q[E],b=new j.FieldRef(P,R),T=w[P];void 0===(L=r[b])?r[b]=new j.MatchData(g,R,T):L.add(g,R,T)}i[k]=!0}}else void 0===o[R]&&(o[R]=j.Set.empty),o[R]=o[R].union(S)}}}if(l.presence===j.Query.presence.REQUIRED)for(y=0;y<l.fields.length;y++)s[R=l.fields[y]]=s[R].intersect(c)}var O=j.Set.complete,I=j.Set.empty;for(a=0;a<this.fields.length;a++){var R;s[R=this.fields[a]]&&(O=O.intersect(s[R])),o[R]&&(I=I.union(o[R]))}var F=Object.keys(r),C=[],N=Object.create(null);if(t.isNegated())for(F=Object.keys(this.fieldVectors),a=0;a<F.length;a++){b=F[a];var _=j.FieldRef.fromString(b);r[b]=new j.MatchData}for(a=0;a<F.length;a++){var D=(_=j.FieldRef.fromString(F[a])).docRef;if(O.contains(D)&&!I.contains(D)){var A,B=this.fieldVectors[_],z=n[_.fieldName].similarity(B);if(void 0!==(A=N[D]))A.score+=z,A.matchData.combine(r[_]);else{var V={ref:D,score:z,matchData:r[_]};N[D]=V,C.push(V)}}}return C.sort((function(e,t){return t.score-e.score}))},j.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:j.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},j.Index.load=function(e){var t={},r={},n=e.fieldVectors,i=Object.create(null),s=e.invertedIndex,o=new j.TokenSet.Builder,a=j.Pipeline.load(e.pipeline);e.version!=j.version&&j.utils.warn(\"Version mismatch when loading serialised index. Current version of lunr \\'\"+j.version+\"\\' does not match serialized index \\'\"+e.version+\"\\'\");for(var u=0;u<n.length;u++){var l=(h=n[u])[0],c=h[1];r[l]=new j.Vector(c)}for(u=0;u<s.length;u++){var h,d=(h=s[u])[0],f=h[1];o.insert(d),i[d]=f}return o.finish(),t.fields=e.fields,t.fieldVectors=r,t.invertedIndex=i,t.tokenSet=o.root,t.pipeline=a,new j.Index(t)},j.Builder=function(){this._ref=\"id\",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=j.tokenizer,this.pipeline=new j.Pipeline,this.searchPipeline=new j.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},j.Builder.prototype.ref=function(e){this._ref=e},j.Builder.prototype.field=function(e,t){if(/\\\\//.test(e))throw new RangeError(\"Field \\'\"+e+\"\\' contains illegal character \\'/\\'\");this._fields[e]=t||{}},j.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},j.Builder.prototype.k1=function(e){this._k1=e},j.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var i=0;i<n.length;i++){var s=n[i],o=this._fields[s].extractor,a=o?o(e):e[s],u=this.tokenizer(a,{fields:[s]}),l=this.pipeline.run(u),c=new j.FieldRef(r,s),h=Object.create(null);this.fieldTermFrequencies[c]=h,this.fieldLengths[c]=0,this.fieldLengths[c]+=l.length;for(var d=0;d<l.length;d++){var f=l[d];if(null==h[f]&&(h[f]=0),h[f]+=1,null==this.invertedIndex[f]){var p=Object.create(null);p._index=this.termIndex,this.termIndex+=1;for(var y=0;y<n.length;y++)p[n[y]]=Object.create(null);this.invertedIndex[f]=p}null==this.invertedIndex[f][s][r]&&(this.invertedIndex[f][s][r]=Object.create(null));for(var m=0;m<this.metadataWhitelist.length;m++){var g=this.metadataWhitelist[m],x=f.metadata[g];null==this.invertedIndex[f][s][r][g]&&(this.invertedIndex[f][s][r][g]=[]),this.invertedIndex[f][s][r][g].push(x)}}}},j.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,r={},n={},i=0;i<t;i++){var s=j.FieldRef.fromString(e[i]),o=s.fieldName;n[o]||(n[o]=0),n[o]+=1,r[o]||(r[o]=0),r[o]+=this.fieldLengths[s]}var a=Object.keys(this._fields);for(i=0;i<a.length;i++){var u=a[i];r[u]=r[u]/n[u]}this.averageFieldLength=r},j.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),r=t.length,n=Object.create(null),i=0;i<r;i++){for(var s=j.FieldRef.fromString(t[i]),o=s.fieldName,a=this.fieldLengths[s],u=new j.Vector,l=this.fieldTermFrequencies[s],c=Object.keys(l),h=c.length,d=this._fields[o].boost||1,f=this._documents[s.docRef].boost||1,p=0;p<h;p++){var y,m,g,x=c[p],v=l[x],w=this.invertedIndex[x]._index;void 0===n[x]?(y=j.idf(this.invertedIndex[x],this.documentCount),n[x]=y):y=n[x],m=y*((this._k1+1)*v)/(this._k1*(1-this._b+this._b*(a/this.averageFieldLength[o]))+v),m*=d,m*=f,g=Math.round(1e3*m)/1e3,u.insert(w,g)}e[s]=u}this.fieldVectors=e},j.Builder.prototype.createTokenSet=function(){this.tokenSet=j.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},j.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new j.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},j.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},j.MatchData=function(e,t,r){for(var n=Object.create(null),i=Object.keys(r||{}),s=0;s<i.length;s++){var o=i[s];n[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=n)},j.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var n=t[r],i=Object.keys(e.metadata[n]);null==this.metadata[n]&&(this.metadata[n]=Object.create(null));for(var s=0;s<i.length;s++){var o=i[s],a=Object.keys(e.metadata[n][o]);null==this.metadata[n][o]&&(this.metadata[n][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[n][o][l]?this.metadata[n][o][l]=e.metadata[n][o][l]:this.metadata[n][o][l]=this.metadata[n][o][l].concat(e.metadata[n][o][l])}}}},j.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var n=Object.keys(r),i=0;i<n.length;i++){var s=n[i];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},j.Query=function(e){this.clauses=[],this.allFields=e},j.Query.wildcard=new String(\"*\"),j.Query.wildcard.NONE=0,j.Query.wildcard.LEADING=1,j.Query.wildcard.TRAILING=2,j.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},j.Query.prototype.clause=function(e){return\"fields\"in e||(e.fields=this.allFields),\"boost\"in e||(e.boost=1),\"usePipeline\"in e||(e.usePipeline=!0),\"wildcard\"in e||(e.wildcard=j.Query.wildcard.NONE),e.wildcard&j.Query.wildcard.LEADING&&e.term.charAt(0)!=j.Query.wildcard&&(e.term=\"*\"+e.term),e.wildcard&j.Query.wildcard.TRAILING&&e.term.slice(-1)!=j.Query.wildcard&&(e.term=e.term+\"*\"),\"presence\"in e||(e.presence=j.Query.presence.OPTIONAL),this.clauses.push(e),this},j.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=j.Query.presence.PROHIBITED)return!1;return!0},j.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,j.utils.clone(t))}),this),this;var r=t||{};return r.term=e.toString(),this.clause(r),this},j.QueryParseError=function(e,t,r){this.name=\"QueryParseError\",this.message=e,this.start=t,this.end=r},j.QueryParseError.prototype=new Error,j.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},j.QueryLexer.prototype.run=function(){for(var e=j.QueryLexer.lexText;e;)e=e(this)},j.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,n=0;n<this.escapeCharPositions.length;n++)r=this.escapeCharPositions[n],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join(\"\")},j.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},j.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},j.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return j.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},j.QueryLexer.prototype.width=function(){return this.pos-this.start},j.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},j.QueryLexer.prototype.backup=function(){this.pos-=1},j.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=j.QueryLexer.EOS&&this.backup()},j.QueryLexer.prototype.more=function(){return this.pos<this.length},j.QueryLexer.EOS=\"EOS\",j.QueryLexer.FIELD=\"FIELD\",j.QueryLexer.TERM=\"TERM\",j.QueryLexer.EDIT_DISTANCE=\"EDIT_DISTANCE\",j.QueryLexer.BOOST=\"BOOST\",j.QueryLexer.PRESENCE=\"PRESENCE\",j.QueryLexer.lexField=function(e){return e.backup(),e.emit(j.QueryLexer.FIELD),e.ignore(),j.QueryLexer.lexText},j.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(j.QueryLexer.TERM)),e.ignore(),e.more())return j.QueryLexer.lexText},j.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(j.QueryLexer.EDIT_DISTANCE),j.QueryLexer.lexText},j.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(j.QueryLexer.BOOST),j.QueryLexer.lexText},j.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(j.QueryLexer.TERM)},j.QueryLexer.termSeparator=j.tokenizer.separator,j.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==j.QueryLexer.EOS)return j.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(\":\"==t)return j.QueryLexer.lexField;if(\"~\"==t)return e.backup(),e.width()>0&&e.emit(j.QueryLexer.TERM),j.QueryLexer.lexEditDistance;if(\"^\"==t)return e.backup(),e.width()>0&&e.emit(j.QueryLexer.TERM),j.QueryLexer.lexBoost;if(\"+\"==t&&1===e.width())return e.emit(j.QueryLexer.PRESENCE),j.QueryLexer.lexText;if(\"-\"==t&&1===e.width())return e.emit(j.QueryLexer.PRESENCE),j.QueryLexer.lexText;if(t.match(j.QueryLexer.termSeparator))return j.QueryLexer.lexTerm}else e.escapeCharacter()}},j.QueryParser=function(e,t){this.lexer=new j.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},j.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=j.QueryParser.parseClause;e;)e=e(this);return this.query},j.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},j.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},j.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},j.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case j.QueryLexer.PRESENCE:return j.QueryParser.parsePresence;case j.QueryLexer.FIELD:return j.QueryParser.parseField;case j.QueryLexer.TERM:return j.QueryParser.parseTerm;default:var r=\"expected either a field or a term, found \"+t.type;throw t.str.length>=1&&(r+=\" with value \\'\"+t.str+\"\\'\"),new j.QueryParseError(r,t.start,t.end)}},j.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case\"-\":e.currentClause.presence=j.Query.presence.PROHIBITED;break;case\"+\":e.currentClause.presence=j.Query.presence.REQUIRED;break;default:var r=\"unrecognised presence operator\\'\"+t.str+\"\\'\";throw new j.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n)throw r=\"expecting term or field, found nothing\",new j.QueryParseError(r,t.start,t.end);switch(n.type){case j.QueryLexer.FIELD:return j.QueryParser.parseField;case j.QueryLexer.TERM:return j.QueryParser.parseTerm;default:throw r=\"expecting term or field, found \\'\"+n.type+\"\\'\",new j.QueryParseError(r,n.start,n.end)}}},j.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return\"\\'\"+e+\"\\'\"})).join(\", \"),n=\"unrecognised field \\'\"+t.str+\"\\', possible fields: \"+r;throw new j.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i)throw n=\"expecting term, found nothing\",new j.QueryParseError(n,t.start,t.end);if(i.type===j.QueryLexer.TERM)return j.QueryParser.parseTerm;throw n=\"expecting term, found \\'\"+i.type+\"\\'\",new j.QueryParseError(n,i.start,i.end)}},j.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf(\"*\")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case j.QueryLexer.TERM:return e.nextClause(),j.QueryParser.parseTerm;case j.QueryLexer.FIELD:return e.nextClause(),j.QueryParser.parseField;case j.QueryLexer.EDIT_DISTANCE:return j.QueryParser.parseEditDistance;case j.QueryLexer.BOOST:return j.QueryParser.parseBoost;case j.QueryLexer.PRESENCE:return e.nextClause(),j.QueryParser.parsePresence;default:var n=\"Unexpected lexeme type \\'\"+r.type+\"\\'\";throw new j.QueryParseError(n,r.start,r.end)}else e.nextClause()}},j.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n=\"edit distance must be numeric\";throw new j.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case j.QueryLexer.TERM:return e.nextClause(),j.QueryParser.parseTerm;case j.QueryLexer.FIELD:return e.nextClause(),j.QueryParser.parseField;case j.QueryLexer.EDIT_DISTANCE:return j.QueryParser.parseEditDistance;case j.QueryLexer.BOOST:return j.QueryParser.parseBoost;case j.QueryLexer.PRESENCE:return e.nextClause(),j.QueryParser.parsePresence;default:throw n=\"Unexpected lexeme type \\'\"+i.type+\"\\'\",new j.QueryParseError(n,i.start,i.end)}else e.nextClause()}},j.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n=\"boost must be numeric\";throw new j.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case j.QueryLexer.TERM:return e.nextClause(),j.QueryParser.parseTerm;case j.QueryLexer.FIELD:return e.nextClause(),j.QueryParser.parseField;case j.QueryLexer.EDIT_DISTANCE:return j.QueryParser.parseEditDistance;case j.QueryLexer.BOOST:return j.QueryParser.parseBoost;case j.QueryLexer.PRESENCE:return e.nextClause(),j.QueryParser.parsePresence;default:throw n=\"Unexpected lexeme type \\'\"+i.type+\"\\'\",new j.QueryParseError(n,i.start,i.end)}else e.nextClause()}},void 0===(i=\"function\"==typeof(n=function(){return j})?n.call(t,r,t,e):n)||(e.exports=i)}()}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var n={};!function(){\"use strict\";r.d(n,{add:function(){return c},dispose:function(){return y},done:function(){return h},fromExternalJS:function(){return f},load:function(){return p},search:function(){return m},toJS:function(){return d}});var e=r(291),t=(e,t,r)=>new Promise(((n,i)=>{var s=e=>{try{a(r.next(e))}catch(e){i(e)}},o=e=>{try{a(r.throw(e))}catch(e){i(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((r=r.apply(e,t)).next())}));let i,s,o,a=[];function u(){i=new e.Builder,i.field(\"title\"),i.field(\"description\"),i.ref(\"ref\"),i.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),o=new Promise((e=>{s=e}))}e.tokenizer.separator=/\\\\s+/,u();const l=t=>{const r=e.trimmer(new e.Token(t,{}));return\"*\"+e.stemmer(r)+\"*\"};function c(e,t,r){const n=a.push(r)-1,s={title:e.toLowerCase(),description:t.toLowerCase(),ref:n};i.add(s)}function h(){return t(this,null,(function*(){s(i.build())}))}function d(){return t(this,null,(function*(){return{store:a,index:(yield o).toJSON()}}))}function f(e,r){return t(this,null,(function*(){try{if(importScripts(e),!self[r])throw new Error(\"Broken index file format\");p(self[r])}catch(e){console.error(\"Failed to load search index: \"+e.message)}}))}function p(r){return t(this,null,(function*(){a=r.store,s(e.Index.load(r.index))}))}function y(){return t(this,null,(function*(){a=[],u()}))}function m(e,r=0){return t(this,null,(function*(){if(0===e.trim().length)return[];let t=(yield o).query((t=>{e.trim().toLowerCase().split(/\\\\s+/).forEach((e=>{if(1===e.length)return;const r=l(e);t.term(r,{})}))}));return r>0&&(t=t.slice(0,r)),t.map((e=>({meta:a[e.ref],score:e.score})))}))}addEventListener(\"message\",(function(e){var t,r=e.data,i=r.type,s=r.method,o=r.id,a=r.params;\"RPC\"===i&&s&&((t=n[s])?Promise.resolve().then((function(){return t.apply(n,a)})):Promise.reject(\"No such method\")).then((function(e){postMessage({type:\"RPC\",id:o,result:e})})).catch((function(e){var t={message:e};e.stack&&(t.message=e.message,t.stack=e.stack,t.name=e.name),postMessage({type:\"RPC\",id:o,error:t})}))})),postMessage({type:\"RPC\",method:\"ready\"})}()}();\\n//# sourceMappingURL=cfb294d7f6536ffa8d42.worker.js.map'])),{name:\"[fullhash].worker.js\"});return r(e,i),e}},5007:function(e){e.exports=function(e,t){var n=0,r={};e.addEventListener(\"message\",(function(t){var n=t.data;if(\"RPC\"===n.type)if(n.id){var i=r[n.id];i&&(delete r[n.id],n.error?i[1](Object.assign(Error(n.error.message),n.error)):i[0](n.result))}else{var o=document.createEvent(\"Event\");o.initEvent(n.method,!1,!1),o.data=n.params,e.dispatchEvent(o)}})),t.forEach((function(t){e[t]=function(){var i=arguments;return new Promise((function(o,s){var a=++n;r[a]=[o,s],e.postMessage({type:\"RPC\",id:a,method:t,params:[].slice.call(i)})}))}}))}},8381:function(t){\"use strict\";t.exports=e},7992:function(){},3986:function(){},2941:function(){},8825:function(){},7411:function(){},3375:function(){},2079:function(e){\"use strict\";e.exports={rE:\"1.4.0\"}},8430:function(e){\"use strict\";e.exports={rE:\"7.0.8\"}}},n={};function r(e){var i=n[e];if(void 0!==i)return i.exports;var o=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r.nc=void 0;var i={};return function(){\"use strict\";r(5828),r(7920)}(),function(){\"use strict\";r.r(i),r.d(i,{AppStore:function(){return rb},Redoc:function(){return nw},destroy:function(){return xw},hydrate:function(){return ww},init:function(){return vw},revision:function(){return yw},version:function(){return gw}});var e={};r.r(e),r.d(e,{NP:function(){return os},DU:function(){return ps},AH:function(){return Yo},Ay:function(){return fs},i7:function(){return ds}});var t={};r.r(t),r.d(t,{default:function(){return Ed}});var n=r(6540),o=r(5338);function s(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw new Error(\"number\"==typeof e?\"[MobX] minified error nr: \"+e+(n.length?\" \"+n.map(String).join(\",\"):\"\")+\". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts\":\"[MobX] \"+e)}var a={};function l(){return\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:void 0!==r.g?r.g:\"undefined\"!=typeof self?self:a}var c=Object.assign,u=Object.getOwnPropertyDescriptor,p=Object.defineProperty,d=Object.prototype,f=[];Object.freeze(f);var h={};Object.freeze(h);var m=\"undefined\"!=typeof Proxy,g=Object.toString();function y(){m||s(\"Proxy not available\")}function b(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var v=function(){};function x(e){return\"function\"==typeof e}function w(e){switch(typeof e){case\"string\":case\"symbol\":case\"number\":return!0}return!1}function k(e){return null!==e&&\"object\"==typeof e}function S(e){if(!k(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n.toString()===g}function E(e){var t=null==e?void 0:e.constructor;return!!t&&(\"GeneratorFunction\"===t.name||\"GeneratorFunction\"===t.displayName)}function O(e,t,n){p(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function _(e,t,n){p(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function A(e,t){var n=\"isMobX\"+e;return t.prototype[n]=!0,function(e){return k(e)&&!0===e[n]}}function C(e){return e instanceof Map}function j(e){return e instanceof Set}var P=void 0!==Object.getOwnPropertySymbols,T=\"undefined\"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:P?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function I(e){return null===e?null:\"object\"==typeof e?\"\"+e:e}function R(e,t){return d.hasOwnProperty.call(e,t)}var N=Object.getOwnPropertyDescriptors||function(e){var t={};return T(e).forEach((function(n){t[n]=u(e,n)})),t};function $(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,q(r.key),r)}}function L(e,t,n){return t&&$(e.prototype,t),n&&$(e,n),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},D.apply(this,arguments)}function M(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,F(e,t)}function F(e,t){return F=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},F(e,t)}function z(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function U(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return B(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function q(e){var t=function(e){if(\"object\"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,\"string\");if(\"object\"!=typeof n)return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"==typeof t?t:String(t)}var V=Symbol(\"mobx-stored-annotations\");function W(e){return Object.assign((function(t,n){H(t,n,e)}),e)}function H(e,t,n){R(e,V)||O(e,V,D({},e[V])),function(e){return e.annotationType_===ee}(n)||(e[V][t]=n)}var Y=Symbol(\"mobx administration\"),G=function(){function e(e){void 0===e&&(e=\"Atom\"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.batchId_=void 0,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=He.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e,this.batchId_=ut.inBatch?ut.batchId:NaN}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return mt(this)},t.reportChanged=function(){ut.inBatch&&this.batchId_===ut.batchId||(ut.stateVersion=ut.stateVersion<Number.MAX_SAFE_INTEGER?ut.stateVersion+1:Number.MIN_SAFE_INTEGER,this.batchId_=NaN),ft(),gt(this),ht()},t.toString=function(){return this.name_},e}(),Q=A(\"Atom\",G);function X(e,t,n){void 0===t&&(t=v),void 0===n&&(n=v);var r=new G(e);return t!==v&&Dt(Nt,r,t,undefined),n!==v&&Lt(r,n),r}var K={identity:function(e,t){return e===t},structural:function(e,t){return er(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return er(e,t,1)}};function Z(e,t,n){return Gt(e)?e:Array.isArray(e)?Te.array(e,{name:n}):S(e)?Te.object(e,void 0,{name:n}):C(e)?Te.map(e,{name:n}):j(e)?Te.set(e,{name:n}):\"function\"!=typeof e||It(e)||Yt(e)?e:E(e)?Wt(e):Tt(n,e)}function J(e){return e}var ee=\"override\";function te(e,t){return{annotationType_:e,options_:t,make_:ne,extend_:re}}function ne(e,t,n,r){var i;if(null!=(i=this.options_)&&i.bound)return null===this.extend_(e,t,n,!1)?0:1;if(r===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(It(n.value))return 1;var o=ie(e,this,t,n,!1);return p(r,t,o),2}function re(e,t,n,r){var i=ie(e,this,t,n);return e.defineProperty_(t,i,r)}function ie(e,t,n,r,i){var o,s,a,l,c,u,p,d;void 0===i&&(i=ut.safeDescriptors),d=r,t.annotationType_,d.value;var f,h=r.value;return null!=(o=t.options_)&&o.bound&&(h=h.bind(null!=(f=e.proxy_)?f:e.target_)),{value:Be(null!=(s=null==(a=t.options_)?void 0:a.name)?s:n.toString(),h,null!=(l=null==(c=t.options_)?void 0:c.autoAction)&&l,null!=(u=t.options_)&&u.bound?null!=(p=e.proxy_)?p:e.target_:void 0),configurable:!i||e.isPlainObject_,enumerable:!1,writable:!i}}function oe(e,t){return{annotationType_:e,options_:t,make_:se,extend_:ae}}function se(e,t,n,r){var i;if(r===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(i=this.options_)&&i.bound&&(!R(e.target_,t)||!Yt(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(Yt(n.value))return 1;var o=le(e,this,0,n,!1,!1);return p(r,t,o),2}function ae(e,t,n,r){var i,o=le(e,this,0,n,null==(i=this.options_)?void 0:i.bound);return e.defineProperty_(t,o,r)}function le(e,t,n,r,i,o){var s;void 0===o&&(o=ut.safeDescriptors),s=r,t.annotationType_,s.value;var a,l=r.value;return Yt(l)||(l=Wt(l)),i&&((l=l.bind(null!=(a=e.proxy_)?a:e.target_)).isMobXFlow=!0),{value:l,configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function ce(e,t){return{annotationType_:e,options_:t,make_:ue,extend_:pe}}function ue(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function pe(e,t,n,r){return i=n,this.annotationType_,i.get,e.defineComputedProperty_(t,D({},this.options_,{get:n.get,set:n.set}),r);var i}function de(e,t){return{annotationType_:e,options_:t,make_:fe,extend_:he}}function fe(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function he(e,t,n,r){var i,o;return this.annotationType_,e.defineObservableProperty_(t,n.value,null!=(i=null==(o=this.options_)?void 0:o.enhancer)?i:Z,r)}var me=\"true\",ge=ye();function ye(e){return{annotationType_:me,options_:e,make_:be,extend_:ve}}function be(e,t,n,r){var i,o,s,a;if(n.get)return $e.make_(e,t,n,r);if(n.set){var l=Be(t.toString(),n.set);return r===e.target_?null===e.defineProperty_(t,{configurable:!ut.safeDescriptors||e.isPlainObject_,set:l})?0:2:(p(r,t,{configurable:!0,set:l}),2)}if(r!==e.target_&&\"function\"==typeof n.value)return E(n.value)?(null!=(a=this.options_)&&a.autoBind?Wt.bound:Wt).make_(e,t,n,r):(null!=(s=this.options_)&&s.autoBind?Tt.bound:Tt).make_(e,t,n,r);var c,u=!1===(null==(i=this.options_)?void 0:i.deep)?Te.ref:Te;return\"function\"==typeof n.value&&null!=(o=this.options_)&&o.autoBind&&(n.value=n.value.bind(null!=(c=e.proxy_)?c:e.target_)),u.make_(e,t,n,r)}function ve(e,t,n,r){var i,o,s;return n.get?$e.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:!ut.safeDescriptors||e.isPlainObject_,set:Be(t.toString(),n.set)},r):(\"function\"==typeof n.value&&null!=(i=this.options_)&&i.autoBind&&(n.value=n.value.bind(null!=(s=e.proxy_)?s:e.target_)),(!1===(null==(o=this.options_)?void 0:o.deep)?Te.ref:Te).extend_(e,t,n,r))}var xe={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function we(e){return e||xe}Object.freeze(xe);var ke=de(\"observable\"),Se=de(\"observable.ref\",{enhancer:J}),Ee=de(\"observable.shallow\",{enhancer:function(e,t,n){return null==e||Ln(e)||vn(e)||_n(e)||jn(e)?e:Array.isArray(e)?Te.array(e,{name:n,deep:!1}):S(e)?Te.object(e,void 0,{name:n,deep:!1}):C(e)?Te.map(e,{name:n,deep:!1}):j(e)?Te.set(e,{name:n,deep:!1}):void 0}}),Oe=de(\"observable.struct\",{enhancer:function(e,t){return er(e,t)?t:e}}),_e=W(ke);function Ae(e){return!0===e.deep?Z:!1===e.deep?J:(t=e.defaultDecorator)&&null!=(n=null==(r=t.options_)?void 0:r.enhancer)?n:Z;var t,n,r}function Ce(e,t,n){if(!w(t))return Gt(e)?e:S(e)?Te.object(e,t,n):Array.isArray(e)?Te.array(e,t):C(e)?Te.map(e,t):j(e)?Te.set(e,t):\"object\"==typeof e&&null!==e?e:Te.box(e,t);H(e,t,ke)}c(Ce,_e);var je,Pe,Te=c(Ce,{box:function(e,t){var n=we(t);return new We(e,Ae(n),n.name,!0,n.equals)},array:function(e,t){var n=we(t);return(!1===ut.useProxies||!1===n.proxy?Gn:un)(e,Ae(n),n.name)},map:function(e,t){var n=we(t);return new On(e,Ae(n),n.name)},set:function(e,t){var n=we(t);return new Cn(e,Ae(n),n.name)},object:function(e,t,n){return Zn((function(){return function(e,t,n,r){var i=N(t);return Zn((function(){var t=Rn(e,r)[Y];T(i).forEach((function(e){t.extend_(e,i[e],!n||!(e in n)||n[e])}))})),e}(!1===ut.useProxies||!1===(null==n?void 0:n.proxy)?Rn({},n):function(e,t){var n,r;return y(),null!=(r=(n=(e=Rn(e,t))[Y]).proxy_)?r:n.proxy_=new Proxy(e,Kt)}({},n),e,t)}))},ref:W(Se),shallow:W(Ee),deep:_e,struct:W(Oe)}),Ie=\"computed\",Re=ce(Ie),Ne=ce(\"computed.struct\",{equals:K.structural}),$e=function(e,t){if(w(t))return H(e,t,Re);if(S(e))return W(ce(Ie,e));var n=S(t)?t:{};return n.get=e,n.name||(n.name=e.name||\"\"),new Ge(n)};Object.assign($e,Re),$e.struct=W(Ne);var Le,De=0,Me=1,Fe=null!=(je=null==(Pe=u((function(){}),\"name\"))?void 0:Pe.configurable)&&je,ze={value:\"action\",configurable:!0,writable:!1,enumerable:!1};function Be(e,t,n,r){function i(){return function(e,t,n,r,i){var o=function(e,t){var n=!1,r=0,i=ut.trackingDerivation,o=!t||!i;ft();var s=ut.allowStateChanges;o&&(nt(),s=Ue(!0));var a={runAsAction_:o,prevDerivation_:i,prevAllowStateChanges_:s,prevAllowStateReads_:it(!0),notifySpy_:n,startTime_:r,actionId_:Me++,parentActionId_:De};return De=a.actionId_,a}(0,t);try{return n.apply(r,i)}catch(e){throw o.error_=e,e}finally{!function(e){De!==e.actionId_&&s(30),De=e.parentActionId_,void 0!==e.error_&&(ut.suppressReactionErrors=!0),qe(e.prevAllowStateChanges_),ot(e.prevAllowStateReads_),ht(),e.runAsAction_&&rt(e.prevDerivation_),ut.suppressReactionErrors=!1}(o)}}(0,n,t,r||this,arguments)}return void 0===n&&(n=!1),i.isMobxAction=!0,Fe&&(ze.value=e,p(i,\"name\",ze)),i}function Ue(e){var t=ut.allowStateChanges;return ut.allowStateChanges=e,t}function qe(e){ut.allowStateChanges=e}Le=Symbol.toPrimitive;var Ve,We=function(e){function t(t,n,r,i,o){var s;return void 0===r&&(r=\"ObservableValue\"),void 0===i&&(i=!0),void 0===o&&(o=K.default),(s=e.call(this,r)||this).enhancer=void 0,s.name_=void 0,s.equals=void 0,s.hasUnreportedChange_=!1,s.interceptors_=void 0,s.changeListeners_=void 0,s.value_=void 0,s.dehancer=void 0,s.enhancer=n,s.name_=r,s.equals=o,s.value_=n(t,void 0,r),s}M(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==ut.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(Zt(this)){var t=en(this,{object:this,type:an,newValue:e});if(!t)return ut.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?ut.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),tn(this)&&rn(this,{type:an,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return Jt(this,e)},n.observe_=function(e,t){return t&&e({observableKind:\"value\",debugObjectName:this.name_,object:this,type:an,newValue:this.value_,oldValue:void 0}),nn(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+\"[\"+this.value_+\"]\"},n.valueOf=function(){return I(this.get())},n[Le]=function(){return this.valueOf()},t}(G);Ve=Symbol.toPrimitive;var He,Ye,Ge=function(){function e(e){this.dependenciesState_=He.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.isBeingObserved_=!1,this.isPendingUnobservation_=!1,this.observers_=new Set,this.diffValue_=0,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=He.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new Xe(null),this.name_=void 0,this.triggeredBy_=void 0,this.isComputing_=!1,this.isRunningSetter_=!1,this.derivation=void 0,this.setter_=void 0,this.isTracing_=Ye.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||s(31),this.derivation=e.get,this.name_=e.name||\"ComputedValue\",e.set&&(this.setter_=Be(\"ComputedValue-setter\",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?K.structural:K.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===He.UP_TO_DATE_&&(e.lowestObserverState_=He.POSSIBLY_STALE_,e.observers_.forEach((function(e){e.dependenciesState_===He.UP_TO_DATE_&&(e.dependenciesState_=He.POSSIBLY_STALE_,e.onBecomeStale_())})))},t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.get=function(){if(this.isComputing_&&s(32,this.name_,this.derivation),0!==ut.inBatch||0!==this.observers_.size||this.keepAlive_){if(mt(this),Ze(this)){var e=ut.trackingContext;this.keepAlive_&&!e&&(ut.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==He.STALE_&&(t.lowestObserverState_=He.STALE_,t.observers_.forEach((function(e){e.dependenciesState_===He.POSSIBLY_STALE_?e.dependenciesState_=He.STALE_:e.dependenciesState_===He.UP_TO_DATE_&&(t.lowestObserverState_=He.UP_TO_DATE_)})))),ut.trackingContext=e}}else Ze(this)&&(this.warnAboutUntrackedRead_(),ft(),this.value_=this.computeValue_(!1),ht());var t,n=this.value_;if(Ke(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter_&&s(33,this.name_),this.isRunningSetter_=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter_=!1}}else s(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===He.NOT_TRACKING_,n=this.computeValue_(!0),r=t||Ke(e)||Ke(n)||!this.equals_(e,n);return r&&(this.value_=n),r},t.computeValue_=function(e){this.isComputing_=!0;var t,n=Ue(!1);if(e)t=Je(this,this.derivation,this.scope_);else if(!0===ut.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new Xe(e)}return qe(n),this.isComputing_=!1,t},t.suspend_=function(){this.keepAlive_||(et(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return function(e,t){var n,r,i,o,s;void 0===t&&(t=h);var a,l=null!=(n=null==(r=t)?void 0:r.name)?n:\"Autorun\";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Rt}(t),u=!1;a=new yt(l,(function(){u||(u=!0,c((function(){u=!1,a.isDisposed_||a.track(p)})))}),t.onError,t.requiresObservable)}else a=new yt(l,(function(){this.track(p)}),t.onError,t.requiresObservable);function p(){e(a)}return null!=(i=t)&&null!=(o=i.signal)&&o.aborted||a.schedule_(),a.getDisposer_(null==(s=t)?void 0:s.signal)}((function(){var o=n.get();if(!r||t){var s=nt();e({observableKind:\"computed\",debugObjectName:n.name_,type:an,object:n,newValue:o,oldValue:i}),rt(s)}r=!1,i=o}))},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+\"[\"+this.derivation.toString()+\"]\"},t.valueOf=function(){return I(this.get())},t[Ve]=function(){return this.valueOf()},e}(),Qe=A(\"ComputedValue\",Ge);!function(e){e[e.NOT_TRACKING_=-1]=\"NOT_TRACKING_\",e[e.UP_TO_DATE_=0]=\"UP_TO_DATE_\",e[e.POSSIBLY_STALE_=1]=\"POSSIBLY_STALE_\",e[e.STALE_=2]=\"STALE_\"}(He||(He={})),function(e){e[e.NONE=0]=\"NONE\",e[e.LOG=1]=\"LOG\",e[e.BREAK=2]=\"BREAK\"}(Ye||(Ye={}));var Xe=function(e){this.cause=void 0,this.cause=e};function Ke(e){return e instanceof Xe}function Ze(e){switch(e.dependenciesState_){case He.UP_TO_DATE_:return!1;case He.NOT_TRACKING_:case He.STALE_:return!0;case He.POSSIBLY_STALE_:for(var t=it(!0),n=nt(),r=e.observing_,i=r.length,o=0;o<i;o++){var s=r[o];if(Qe(s)){if(ut.disableErrorBoundaries)s.get();else try{s.get()}catch(e){return rt(n),ot(t),!0}if(e.dependenciesState_===He.STALE_)return rt(n),ot(t),!0}}return st(e),rt(n),ot(t),!1}}function Je(e,t,n){var r=it(!0);st(e),e.newObserving_=new Array(e.observing_.length+100),e.unboundDepsCount_=0,e.runId_=++ut.runId;var i,o=ut.trackingDerivation;if(ut.trackingDerivation=e,ut.inBatch++,!0===ut.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Xe(e)}return ut.inBatch--,ut.trackingDerivation=o,function(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=He.UP_TO_DATE_,i=0,o=e.unboundDepsCount_,s=0;s<o;s++){var a=n[s];0===a.diffValue_&&(a.diffValue_=1,i!==s&&(n[i]=a),i++),a.dependenciesState_>r&&(r=a.dependenciesState_)}for(n.length=i,e.newObserving_=null,o=t.length;o--;){var l=t[o];0===l.diffValue_&&pt(l,e),l.diffValue_=0}for(;i--;){var c=n[i];1===c.diffValue_&&(c.diffValue_=0,p=e,(u=c).observers_.add(p),u.lowestObserverState_>p.dependenciesState_&&(u.lowestObserverState_=p.dependenciesState_))}var u,p;r!==He.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}(e),ot(r),i}function et(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)pt(t[n],e);e.dependenciesState_=He.NOT_TRACKING_}function tt(e){var t=nt();try{return e()}finally{rt(t)}}function nt(){var e=ut.trackingDerivation;return ut.trackingDerivation=null,e}function rt(e){ut.trackingDerivation=e}function it(e){var t=ut.allowStateReads;return ut.allowStateReads=e,t}function ot(e){ut.allowStateReads=e}function st(e){if(e.dependenciesState_!==He.UP_TO_DATE_){e.dependenciesState_=He.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=He.UP_TO_DATE_}}var at=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.batchId=Number.MIN_SAFE_INTEGER,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0,this.stateVersion=Number.MIN_SAFE_INTEGER},lt=!0,ct=!1,ut=function(){var e=l();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(lt=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new at).version&&(lt=!1),lt?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new at):(setTimeout((function(){ct||s(35)}),1),new at)}();function pt(e,t){e.observers_.delete(t),0===e.observers_.size&&dt(e)}function dt(e){!1===e.isPendingUnobservation_&&(e.isPendingUnobservation_=!0,ut.pendingUnobservations.push(e))}function ft(){0===ut.inBatch&&(ut.batchId=ut.batchId<Number.MAX_SAFE_INTEGER?ut.batchId+1:Number.MIN_SAFE_INTEGER),ut.inBatch++}function ht(){if(0==--ut.inBatch){xt();for(var e=ut.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation_=!1,0===n.observers_.size&&(n.isBeingObserved_&&(n.isBeingObserved_=!1,n.onBUO()),n instanceof Ge&&n.suspend_())}ut.pendingUnobservations=[]}}function mt(e){var t=ut.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved_&&ut.trackingContext&&(e.isBeingObserved_=!0,e.onBO())),e.isBeingObserved_):(0===e.observers_.size&&ut.inBatch>0&&dt(e),!1)}function gt(e){e.lowestObserverState_!==He.STALE_&&(e.lowestObserverState_=He.STALE_,e.observers_.forEach((function(e){e.dependenciesState_===He.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=He.STALE_})))}var yt=function(){function e(e,t,n,r){void 0===e&&(e=\"Reaction\"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=He.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=Ye.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,ut.pendingReactions.push(this),xt())},t.isScheduled=function(){return this.isScheduled_},t.runReaction_=function(){if(!this.isDisposed_){ft(),this.isScheduled_=!1;var e=ut.trackingContext;if(ut.trackingContext=this,Ze(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}ut.trackingContext=e,ht()}},t.track=function(e){if(!this.isDisposed_){ft(),this.isRunning_=!0;var t=ut.trackingContext;ut.trackingContext=this;var n=Je(this,e,void 0);ut.trackingContext=t,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&et(this),Ke(n)&&this.reportExceptionInDerivation_(n.cause),ht()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(ut.disableErrorBoundaries)throw e;var n=\"[mobx] uncaught error in '\"+this+\"'\";ut.suppressReactionErrors||console.error(n,e),ut.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(ft(),et(this),ht()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener(\"abort\",n)};return null==e||null==e.addEventListener||e.addEventListener(\"abort\",n),n[Y]=this,n},t.toString=function(){return\"Reaction[\"+this.name_+\"]\"},t.trace=function(e){void 0===e&&(e=!1)},e}(),bt=100,vt=function(e){return e()};function xt(){ut.inBatch>0||ut.isRunningReactions||vt(wt)}function wt(){ut.isRunningReactions=!0;for(var e=ut.pendingReactions,t=0;e.length>0;){++t===bt&&(console.error(\"[mobx] cycle in reaction: \"+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}ut.isRunningReactions=!1}var kt=A(\"Reaction\",yt),St=\"action\",Et=\"autoAction\",Ot=te(St),_t=te(\"action.bound\",{bound:!0}),At=te(Et,{autoAction:!0}),Ct=te(\"autoAction.bound\",{autoAction:!0,bound:!0});function jt(e){return function(t,n){return x(t)?Be(t.name||\"<unnamed action>\",t,e):x(n)?Be(t,n,e):w(n)?H(t,n,e?At:Ot):w(t)?W(te(e?Et:St,{name:t,autoAction:e})):void 0}}var Pt=jt(!1);Object.assign(Pt,Ot);var Tt=jt(!0);function It(e){return x(e)&&!0===e.isMobxAction}Object.assign(Tt,At),Pt.bound=W(_t),Tt.bound=W(Ct);var Rt=function(e){return e()};var Nt=\"onBO\",$t=\"onBUO\";function Lt(e,t,n){return Dt($t,e,t,n)}function Dt(e,t,n,r){var i=\"function\"==typeof r?Qn(t,n):Qn(t),o=x(r)?r:n,s=e+\"L\";return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),0===e.size&&delete i[s])}}var Mt=\"always\";function Ft(e){!0===e.isolateGlobalState&&function(){if((ut.pendingReactions.length||ut.inBatch||ut.isRunningReactions)&&s(36),ct=!0,lt){var e=l();0==--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),ut=new at}}();var t,n,r=e.useProxies,i=e.enforceActions;if(void 0!==r&&(ut.useProxies=r===Mt||\"never\"!==r&&\"undefined\"!=typeof Proxy),\"ifavailable\"===r&&(ut.verifyProxies=!0),void 0!==i){var o=i===Mt?Mt:\"observed\"===i;ut.enforceActions=o,ut.allowStateChanges=!0!==o&&o!==Mt}[\"computedRequiresReaction\",\"reactionRequiresObservable\",\"observableRequiresReaction\",\"disableErrorBoundaries\",\"safeDescriptors\"].forEach((function(t){t in e&&(ut[t]=!!e[t])})),ut.allowStateReads=!ut.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=vt,vt=function(e){return t((function(){return n(e)}))})}function zt(e){var t,n={name:e.name_};return e.observing_&&e.observing_.length>0&&(n.dependencies=(t=e.observing_,Array.from(new Set(t))).map(zt)),n}var Bt=0;function Ut(){this.message=\"FLOW_CANCELLED\"}Ut.prototype=Object.create(Error.prototype);var qt=oe(\"flow\"),Vt=oe(\"flow.bound\",{bound:!0}),Wt=Object.assign((function(e,t){if(w(t))return H(e,t,qt);var n=e,r=n.name||\"<unnamed flow>\",i=function(){var e,t=arguments,i=++Bt,o=Pt(r+\" - runid: \"+i+\" - init\",n).apply(this,t),s=void 0,a=new Promise((function(t,n){var a=0;function l(e){var t;s=void 0;try{t=Pt(r+\" - runid: \"+i+\" - yield \"+a++,o.next).call(o,e)}catch(e){return n(e)}u(t)}function c(e){var t;s=void 0;try{t=Pt(r+\" - runid: \"+i+\" - yield \"+a++,o.throw).call(o,e)}catch(e){return n(e)}u(t)}function u(e){if(!x(null==e?void 0:e.then))return e.done?t(e.value):(s=Promise.resolve(e.value)).then(l,c);e.then(u,n)}e=n,l(void 0)}));return a.cancel=Pt(r+\" - runid: \"+i+\" - cancel\",(function(){try{s&&Ht(s);var t=o.return(void 0),n=Promise.resolve(t.value);n.then(v,v),Ht(n),e(new Ut)}catch(t){e(t)}})),a};return i.isMobXFlow=!0,i}),qt);function Ht(e){x(e.cancel)&&e.cancel()}function Yt(e){return!0===(null==e?void 0:e.isMobXFlow)}function Gt(e){return function(e,t){return!!e&&(void 0!==t?!!Ln(e)&&e[Y].values_.has(t):Ln(e)||!!e[Y]||Q(e)||kt(e)||Qe(e))}(e)}function Qt(e,t){void 0===t&&(t=void 0),ft();try{return e.apply(t)}finally{ht()}}function Xt(e){return e[Y]}Wt.bound=W(Vt);var Kt={has:function(e,t){return Xt(e).has_(t)},get:function(e,t){return Xt(e).get_(t)},set:function(e,t,n){var r;return!!w(t)&&(null==(r=Xt(e).set_(t,n,!0))||r)},deleteProperty:function(e,t){var n;return!!w(t)&&(null==(n=Xt(e).delete_(t,!0))||n)},defineProperty:function(e,t,n){var r;return null==(r=Xt(e).defineProperty_(t,n))||r},ownKeys:function(e){return Xt(e).ownKeys_()},preventExtensions:function(e){s(13)}};function Zt(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function Jt(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),b((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function en(e,t){var n=nt();try{for(var r=[].concat(e.interceptors_||[]),i=0,o=r.length;i<o&&((t=r[i](t))&&!t.type&&s(14),t);i++);return t}finally{rt(n)}}function tn(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function nn(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),b((function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)}))}function rn(e,t){var n=nt(),r=e.changeListeners_;if(r){for(var i=0,o=(r=r.slice()).length;i<o;i++)r[i](t);rt(n)}}function on(e,t,n){return Zn((function(){var r=Rn(e,n)[Y];null!=t||(t=function(e){return R(e,V)||O(e,V,D({},e[V])),e[V]}(e)),T(t).forEach((function(e){return r.make_(e,t[e])}))})),e}var sn=\"splice\",an=\"update\",ln={get:function(e,t){var n=e[Y];return t===Y?n:\"length\"===t?n.getArrayLength_():\"string\"!=typeof t||isNaN(t)?R(pn,t)?pn[t]:e[t]:n.get_(parseInt(t))},set:function(e,t,n){var r=e[Y];return\"length\"===t&&r.setArrayLength_(n),\"symbol\"==typeof t||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){s(15)}},cn=function(){function e(e,t,n,r){void 0===e&&(e=\"ObservableArray\"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new G(e),this.enhancer_=function(e,n){return t(e,n,\"ObservableArray[..]\")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return Jt(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:\"array\",object:this.proxy_,debugObjectName:this.atom_.name_,type:\"splice\",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),nn(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(\"number\"!=typeof e||isNaN(e)||e<0)&&s(\"Out of range: \"+e);var t=this.values_.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r<e-t;r++)n[r]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&s(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&Yn(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;this.atom_;var i=this.values_.length;if(void 0===e?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=1===arguments.length?i-e:null==t?0:Math.max(0,Math.min(t,i-e)),void 0===n&&(n=f),Zt(this)){var o=en(this,{object:this.proxy_,type:sn,index:e,removedCount:t,added:n});if(!o)return f;t=o.removedCount,n=o.added}if(n=0===n.length?n:n.map((function(e){return r.enhancer_(e,void 0)})),this.legacyMode_){var s=n.length-t;this.updateArrayLength_(i,s)}var a=this.spliceItemsIntoValues_(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice_(e,n,a),this.dehanceValues_(a)},t.spliceItemsIntoValues_=function(e,t,n){var r;if(n.length<1e4)return(r=this.values_).splice.apply(r,[e,t].concat(n));var i=this.values_.slice(e,e+t),o=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var s=0;s<n.length;s++)this.values_[e+s]=n[s];for(var a=0;a<o.length;a++)this.values_[e+n.length+a]=o[a];return i},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&!1,i=tn(this),o=i||r?{observableKind:\"array\",object:this.proxy_,type:an,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;this.atom_.reportChanged(),i&&rn(this,o)},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&!1,i=tn(this),o=i||r?{observableKind:\"array\",object:this.proxy_,debugObjectName:this.atom_.name_,type:sn,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom_.reportChanged(),i&&rn(this,o)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn(\"[mobx] Out of bounds read: \"+e)},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&s(17,e,n.length),e<n.length){this.atom_;var r=n[e];if(Zt(this)){var i=en(this,{type:an,object:this.proxy_,index:e,newValue:t});if(!i)return;t=i.newValue}(t=this.enhancer_(t,r))!==r&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,r))}else{for(var o=new Array(e+1-n.length),a=0;a<o.length-1;a++)o[a]=void 0;o[o.length-1]=t,this.spliceWithArray_(n.length,0,o)}},e}();function un(e,t,n,r){return void 0===n&&(n=\"ObservableArray\"),void 0===r&&(r=!1),y(),Zn((function(){var i=new cn(n,t,r,!1);_(i.values_,Y,i);var o=new Proxy(i.values_,ln);return i.proxy_=o,e&&e.length&&i.spliceWithArray_(0,0,e),o}))}var pn={clear:function(){return this.splice(0)},replace:function(e){var t=this[Y];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];var o=this[Y];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(e);case 2:return o.spliceWithArray_(e,t)}return o.spliceWithArray_(e,t,r)},spliceWithArray:function(e,t,n){return this[Y].spliceWithArray_(e,t,n)},push:function(){for(var e=this[Y],t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.spliceWithArray_(e.values_.length,0,n),e.values_.length},pop:function(){return this.splice(Math.max(this[Y].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[Y],t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.spliceWithArray_(0,0,n),e.values_.length},reverse:function(){return ut.trackingDerivation&&s(37,\"reverse\"),this.replace(this.slice().reverse()),this},sort:function(){ut.trackingDerivation&&s(37,\"sort\");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[Y],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};function dn(e,t){\"function\"==typeof Array.prototype[e]&&(pn[e]=t(e))}function fn(e){return function(){var t=this[Y];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function hn(e){return function(t,n){var r=this,i=this[Y];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e]((function(e,i){return t.call(n,e,i,r)}))}}function mn(e){return function(){var t=this,n=this[Y];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}dn(\"concat\",fn),dn(\"flat\",fn),dn(\"includes\",fn),dn(\"indexOf\",fn),dn(\"join\",fn),dn(\"lastIndexOf\",fn),dn(\"slice\",fn),dn(\"toString\",fn),dn(\"toLocaleString\",fn),dn(\"every\",hn),dn(\"filter\",hn),dn(\"find\",hn),dn(\"findIndex\",hn),dn(\"flatMap\",hn),dn(\"forEach\",hn),dn(\"map\",hn),dn(\"some\",hn),dn(\"reduce\",mn),dn(\"reduceRight\",mn);var gn,yn,bn=A(\"ObservableArrayAdministration\",cn);function vn(e){return k(e)&&bn(e[Y])}var xn={},wn=\"add\",kn=\"delete\";gn=Symbol.iterator,yn=Symbol.toStringTag;var Sn,En,On=function(){function e(e,t,n){var r=this;void 0===t&&(t=Z),void 0===n&&(n=\"ObservableMap\"),this.enhancer_=void 0,this.name_=void 0,this[Y]=xn,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,x(Map)||s(18),Zn((function(){r.keysAtom_=X(\"ObservableMap.keys()\"),r.data_=new Map,r.hasMap_=new Map,e&&r.merge(e)}))}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!ut.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new We(this.has_(e),J,\"ObservableMap.key?\",!1);this.hasMap_.set(e,r),Lt(r,(function(){return t.hasMap_.delete(e)}))}return n.get()},t.set=function(e,t){var n=this.has_(e);if(Zt(this)){var r=en(this,{type:n?an:wn,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Zt(this)&&!en(this,{type:kn,object:this,name:e}))return!1;if(this.has_(e)){var n=tn(this),r=n?{observableKind:\"map\",debugObjectName:this.name_,type:kn,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return Qt((function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)})),n&&rn(this,r),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==ut.UNCHANGED){var r=tn(this),i=r?{observableKind:\"map\",debugObjectName:this.name_,type:an,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),r&&rn(this,i)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,Qt((function(){var r,i=new We(t,n.enhancer_,\"ObservableMap.key\",!1);n.data_.set(e,i),t=i.value_,null==(r=n.hasMap_.get(e))||r.setNewValue_(!0),n.keysAtom_.reportChanged()}));var r=tn(this),i=r?{observableKind:\"map\",debugObjectName:this.name_,type:wn,object:this,name:e,newValue:t}:null;r&&rn(this,i)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return rr({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return rr({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[gn]=function(){return this.entries()},t.forEach=function(e,t){for(var n,r=U(this);!(n=r()).done;){var i=n.value,o=i[0],s=i[1];e.call(t,s,o,this)}},t.merge=function(e){var t=this;return _n(e)&&(e=new Map(e)),Qt((function(){S(e)?function(e){var t=Object.keys(e);if(!P)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return d.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(n){return t.set(n,e[n])})):Array.isArray(e)?e.forEach((function(e){var n=e[0],r=e[1];return t.set(n,r)})):C(e)?(e.constructor!==Map&&s(19,e),e.forEach((function(e,n){return t.set(n,e)}))):null!=e&&s(20,e)})),this},t.clear=function(){var e=this;Qt((function(){tt((function(){for(var t,n=U(e.keys());!(t=n()).done;){var r=t.value;e.delete(r)}}))}))},t.replace=function(e){var t=this;return Qt((function(){for(var n,r=function(e){if(C(e)||_n(e))return e;if(Array.isArray(e))return new Map(e);if(S(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return s(21,e)}(e),i=new Map,o=!1,a=U(t.data_.keys());!(n=a()).done;){var l=n.value;if(!r.has(l))if(t.delete(l))o=!0;else{var c=t.data_.get(l);i.set(l,c)}}for(var u,p=U(r.entries());!(u=p()).done;){var d=u.value,f=d[0],h=d[1],m=t.data_.has(f);if(t.set(f,h),t.data_.has(f)){var g=t.data_.get(f);i.set(f,g),m||(o=!0)}}if(!o)if(t.data_.size!==i.size)t.keysAtom_.reportChanged();else for(var y=t.data_.keys(),b=i.keys(),v=y.next(),x=b.next();!v.done;){if(v.value!==x.value){t.keysAtom_.reportChanged();break}v=y.next(),x=b.next()}t.data_=i})),this},t.toString=function(){return\"[object ObservableMap]\"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return nn(this,e)},t.intercept_=function(e){return Jt(this,e)},L(e,[{key:\"size\",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:yn,get:function(){return\"Map\"}}]),e}(),_n=A(\"ObservableMap\",On),An={};Sn=Symbol.iterator,En=Symbol.toStringTag;var Cn=function(){function e(e,t,n){var r=this;void 0===t&&(t=Z),void 0===n&&(n=\"ObservableSet\"),this.name_=void 0,this[Y]=An,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,x(Set)||s(22),this.enhancer_=function(e,r){return t(e,r,n)},Zn((function(){r.atom_=X(r.name_),e&&r.replace(e)}))}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;Qt((function(){tt((function(){for(var t,n=U(e.data_.values());!(t=n()).done;){var r=t.value;e.delete(r)}}))}))},t.forEach=function(e,t){for(var n,r=U(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(this.atom_,Zt(this)&&!en(this,{type:wn,object:this,newValue:e}))return this;if(!this.has(e)){Qt((function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()}));var n=tn(this),r=n?{observableKind:\"set\",debugObjectName:this.name_,type:wn,object:this,newValue:e}:null;n&&rn(this,r)}return this},t.delete=function(e){var t=this;if(Zt(this)&&!en(this,{type:kn,object:this,oldValue:e}))return!1;if(this.has(e)){var n=tn(this),r=n?{observableKind:\"set\",debugObjectName:this.name_,type:kn,object:this,oldValue:e}:null;return Qt((function(){t.atom_.reportChanged(),t.data_.delete(e)})),n&&rn(this,r),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=0,t=Array.from(this.keys()),n=Array.from(this.values());return rr({next:function(){var r=e;return e+=1,r<n.length?{value:[t[r],n[r]],done:!1}:{done:!0}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=0,n=Array.from(this.data_.values());return rr({next:function(){return t<n.length?{value:e.dehanceValue_(n[t++]),done:!1}:{done:!0}}})},t.replace=function(e){var t=this;return jn(e)&&(e=new Set(e)),Qt((function(){Array.isArray(e)||j(e)?(t.clear(),e.forEach((function(e){return t.add(e)}))):null!=e&&s(\"Cannot initialize set from \"+e)})),this},t.observe_=function(e,t){return nn(this,e)},t.intercept_=function(e){return Jt(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return\"[object ObservableSet]\"},t[Sn]=function(){return this.values()},L(e,[{key:\"size\",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:En,get:function(){return\"Set\"}}]),e}(),jn=A(\"ObservableSet\",Cn),Pn=Object.create(null),Tn=\"remove\",In=function(){function e(e,t,n,r){void 0===t&&(t=new Map),void 0===r&&(r=ge),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=n,this.defaultAnnotation_=r,this.keysAtom_=new G(\"ObservableObject.keys\"),this.isPlainObject_=S(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof Ge)return n.set(t),!0;if(Zt(this)){var r=en(this,{type:an,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.prepareNewValue_(t))!==ut.UNCHANGED){var i=tn(this),o=i?{type:an,observableKind:\"object\",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),i&&rn(this,o)}return!0},t.get_=function(e){return ut.trackingDerivation&&!R(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return void 0===n&&(n=!1),R(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!ut.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new We(e in this.target_,J,\"ObservableObject.key?\",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[V])&&n[e])return;s(1,t.annotationType_,this.name_+\".\"+e.toString())}for(var r=this.target_;r&&r!==d;){var i=u(r,e);if(i){var o=t.make_(this,e,i,r);if(0===o)return;if(1===o)break}r=Object.getPrototypeOf(r)}Dn(this,0,e)}},t.extend_=function(e,t,n,r){if(void 0===r&&(r=!1),!0===n&&(n=this.defaultAnnotation_),!1===n)return this.defineProperty_(e,t,r);var i=n.extend_(this,e,t,r);return i&&Dn(this,0,e),i},t.defineProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{ft();var r=this.delete_(e);if(!r)return r;if(Zt(this)){var i=en(this,{object:this.proxy_||this.target_,name:e,type:wn,newValue:t.value});if(!i)return null;var o=i.newValue;t.value!==o&&(t=D({},t,{value:o}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else p(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{ht()}return!0},t.defineObservableProperty_=function(e,t,n,r){void 0===r&&(r=!1),this.keysAtom_;try{ft();var i=this.delete_(e);if(!i)return i;if(Zt(this)){var o=en(this,{object:this.proxy_||this.target_,name:e,type:wn,newValue:t});if(!o)return null;t=o.newValue}var s=$n(e),a={configurable:!ut.safeDescriptors||this.isPlainObject_,enumerable:!0,get:s.get,set:s.set};if(r){if(!Reflect.defineProperty(this.target_,e,a))return!1}else p(this.target_,e,a);var l=new We(t,n,\"ObservableObject.key\",!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{ht()}return!0},t.defineComputedProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{ft();var r=this.delete_(e);if(!r)return r;if(Zt(this)&&!en(this,{object:this.proxy_||this.target_,name:e,type:wn,newValue:void 0}))return null;t.name||(t.name=\"ObservableObject.key\"),t.context=this.proxy_||this.target_;var i=$n(e),o={configurable:!ut.safeDescriptors||this.isPlainObject_,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,o))return!1}else p(this.target_,e,o);this.values_.set(e,new Ge(t)),this.notifyPropertyAddition_(e,void 0)}finally{ht()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!R(this.target_,e))return!0;if(Zt(this)&&!en(this,{object:this.proxy_||this.target_,name:e,type:Tn}))return null;try{var n,r;ft();var i,o=tn(this),s=this.values_.get(e),a=void 0;if(!s&&o&&(a=null==(i=u(this.target_,e))?void 0:i.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(s&&(this.values_.delete(e),s instanceof We&&(a=s.value_),gt(s)),this.keysAtom_.reportChanged(),null==(n=this.pendingKeys_)||null==(r=n.get(e))||r.set(e in this.target_),o){var l={type:Tn,observableKind:\"object\",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:a,name:e};o&&rn(this,l)}}finally{ht()}return!0},t.observe_=function(e,t){return nn(this,e)},t.intercept_=function(e){return Jt(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r,i=tn(this);if(i){var o=i?{type:wn,observableKind:\"object\",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&rn(this,o)}null==(n=this.pendingKeys_)||null==(r=n.get(e))||r.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),T(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Rn(e,t){var n;if(R(e,Y))return e;var r=null!=(n=null==t?void 0:t.name)?n:\"ObservableObject\",i=new In(e,new Map,String(r),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:ye(e):void 0}(t));return O(e,Y,i),e}var Nn=A(\"ObservableObjectAdministration\",In);function $n(e){return Pn[e]||(Pn[e]={get:function(){return this[Y].getObservablePropValue_(e)},set:function(t){return this[Y].setObservablePropValue_(e,t)}})}function Ln(e){return!!k(e)&&Nn(e[Y])}function Dn(e,t,n){var r;null==(r=e.target_[V])||delete r[n]}var Mn,Fn,zn=Wn(0),Bn=function(){var e=!1,t={};return Object.defineProperty(t,\"0\",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),Un=0,qn=function(){};Mn=qn,Fn=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(Mn.prototype,Fn):void 0!==Mn.prototype.__proto__?Mn.prototype.__proto__=Fn:Mn.prototype=Fn;var Vn=function(e,t,n){function r(t,n,r,i){var o;return void 0===r&&(r=\"ObservableArray\"),void 0===i&&(i=!1),o=e.call(this)||this,Zn((function(){var e=new cn(r,n,i,!0);e.proxy_=z(o),_(z(o),Y,e),t&&t.length&&o.spliceWithArray(0,0,t),Bn&&Object.defineProperty(z(o),\"0\",zn)})),o}M(r,e);var i=r.prototype;return i.concat=function(){this[Y].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map((function(e){return vn(e)?e.slice():e})))},i[n]=function(){var e=this,t=0;return rr({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},L(r,[{key:\"length\",get:function(){return this[Y].getArrayLength_()},set:function(e){this[Y].setArrayLength_(e)}},{key:t,get:function(){return\"Array\"}}]),r}(qn,Symbol.toStringTag,Symbol.iterator);function Wn(e){return{enumerable:!1,configurable:!0,get:function(){return this[Y].get_(e)},set:function(t){this[Y].set_(e,t)}}}function Hn(e){p(Vn.prototype,\"\"+e,Wn(e))}function Yn(e){if(e>Un){for(var t=Un;t<e+100;t++)Hn(t);Un=e}}function Gn(e,t,n){return new Vn(e,t,n)}function Qn(e,t){if(\"object\"==typeof e&&null!==e){if(vn(e))return void 0!==t&&s(23),e[Y].atom_;if(jn(e))return e.atom_;if(_n(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||s(25,t,Kn(e)),n}if(Ln(e)){if(!t)return s(26);var r=e[Y].values_.get(t);return r||s(27,t,Kn(e)),r}if(Q(e)||Qe(e)||kt(e))return e}else if(x(e)&&kt(e[Y]))return e[Y];s(28)}function Xn(e,t){return e||s(29),void 0!==t?Xn(Qn(e,t)):Q(e)||Qe(e)||kt(e)||_n(e)||jn(e)?e:e[Y]?e[Y]:void s(24,e)}function Kn(e,t){var n;if(void 0!==t)n=Qn(e,t);else{if(It(e))return e.name;n=Ln(e)||_n(e)||jn(e)?Xn(e):Qn(e)}return n.name_}function Zn(e){var t=nt(),n=Ue(!0);ft();try{return e()}finally{ht(),qe(n),rt(t)}}Object.entries(pn).forEach((function(e){var t=e[0],n=e[1];\"concat\"!==t&&O(Vn.prototype,t,n)})),Yn(1e3);var Jn=d.toString;function er(e,t,n){return void 0===n&&(n=-1),tr(e,t,n)}function tr(e,t,n,r,i){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;if(\"function\"!==o&&\"object\"!==o&&\"object\"!=typeof t)return!1;var s=Jn.call(e);if(s!==Jn.call(t))return!1;switch(s){case\"[object RegExp]\":case\"[object String]\":return\"\"+e==\"\"+t;case\"[object Number]\":return+e!=+e?+t!=+t:0==+e?1/+e==1/t:+e==+t;case\"[object Date]\":case\"[object Boolean]\":return+e==+t;case\"[object Symbol]\":return\"undefined\"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case\"[object Map]\":case\"[object Set]\":n>=0&&n++}e=nr(e),t=nr(t);var a=\"[object Array]\"===s;if(!a){if(\"object\"!=typeof e||\"object\"!=typeof t)return!1;var l=e.constructor,c=t.constructor;if(l!==c&&!(x(l)&&l instanceof l&&x(c)&&c instanceof c)&&\"constructor\"in e&&\"constructor\"in t)return!1}if(0===n)return!1;n<0&&(n=-1),i=i||[];for(var u=(r=r||[]).length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),a){if((u=e.length)!==t.length)return!1;for(;u--;)if(!tr(e[u],t[u],n-1,r,i))return!1}else{var p,d=Object.keys(e);if(u=d.length,Object.keys(t).length!==u)return!1;for(;u--;)if(!R(t,p=d[u])||!tr(e[p],t[p],n-1,r,i))return!1}return r.pop(),i.pop(),!0}function nr(e){return vn(e)?e.slice():C(e)||_n(e)||j(e)||jn(e)?Array.from(e.entries()):e}function rr(e){return e[Symbol.iterator]=ir,e}function ir(){return this}function or(){return or=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},or.apply(null,arguments)}function sr(e,t){return sr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},sr(e,t)}function ar(e){return ar=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ar(e)}function lr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(lr=function(){return!!e})()}function cr(e){var t=\"function\"==typeof Map?new Map:void 0;return cr=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf(\"[native code]\")}catch(t){return\"function\"==typeof e}}(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(lr())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&sr(i,n.prototype),i}(e,arguments,ar(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),sr(n,e)},cr(e)}[\"Symbol\",\"Map\",\"Set\"].forEach((function(e){void 0===l()[e]&&s(\"MobX requires global '\"+e+\"' to be available or polyfilled\")})),\"object\"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn(\"[mobx.spy] Is a no-op in production builds\"),function(){}},extras:{getDebugName:Kn},$mobx:Y});var ur=function(e){var t,n;function r(t){return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e.call(this,\"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\"+t+\" for more information.\")||this)}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,sr(t,n),r}(cr(Error));function pr(e){return Math.round(255*e)}function dr(e,t,n){return pr(e)+\",\"+pr(t)+\",\"+pr(n)}function fr(e,t,n,r){if(void 0===r&&(r=dr),0===t)return r(n,n,n);var i=(e%360+360)%360/60,o=(1-Math.abs(2*n-1))*t,s=o*(1-Math.abs(i%2-1)),a=0,l=0,c=0;i>=0&&i<1?(a=o,l=s):i>=1&&i<2?(a=s,l=o):i>=2&&i<3?(l=o,c=s):i>=3&&i<4?(l=s,c=o):i>=4&&i<5?(a=s,c=o):i>=5&&i<6&&(a=o,c=s);var u=n-o/2;return r(a+u,l+u,c+u)}var hr={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"639\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},mr=/^#[a-fA-F0-9]{6}$/,gr=/^#[a-fA-F0-9]{8}$/,yr=/^#[a-fA-F0-9]{3}$/,br=/^#[a-fA-F0-9]{4}$/,vr=/^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i,xr=/^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i,wr=/^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i,kr=/^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;function Sr(e){if(\"string\"!=typeof e)throw new ur(3);var t=function(e){if(\"string\"!=typeof e)return e;var t=e.toLowerCase();return hr[t]?\"#\"+hr[t]:e}(e);if(t.match(mr))return{red:parseInt(\"\"+t[1]+t[2],16),green:parseInt(\"\"+t[3]+t[4],16),blue:parseInt(\"\"+t[5]+t[6],16)};if(t.match(gr)){var n=parseFloat((parseInt(\"\"+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(\"\"+t[1]+t[2],16),green:parseInt(\"\"+t[3]+t[4],16),blue:parseInt(\"\"+t[5]+t[6],16),alpha:n}}if(t.match(yr))return{red:parseInt(\"\"+t[1]+t[1],16),green:parseInt(\"\"+t[2]+t[2],16),blue:parseInt(\"\"+t[3]+t[3],16)};if(t.match(br)){var r=parseFloat((parseInt(\"\"+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(\"\"+t[1]+t[1],16),green:parseInt(\"\"+t[2]+t[2],16),blue:parseInt(\"\"+t[3]+t[3],16),alpha:r}}var i=vr.exec(t);if(i)return{red:parseInt(\"\"+i[1],10),green:parseInt(\"\"+i[2],10),blue:parseInt(\"\"+i[3],10)};var o=xr.exec(t.substring(0,50));if(o)return{red:parseInt(\"\"+o[1],10),green:parseInt(\"\"+o[2],10),blue:parseInt(\"\"+o[3],10),alpha:parseFloat(\"\"+o[4])>1?parseFloat(\"\"+o[4])/100:parseFloat(\"\"+o[4])};var s=wr.exec(t);if(s){var a=\"rgb(\"+fr(parseInt(\"\"+s[1],10),parseInt(\"\"+s[2],10)/100,parseInt(\"\"+s[3],10)/100)+\")\",l=vr.exec(a);if(!l)throw new ur(4,t,a);return{red:parseInt(\"\"+l[1],10),green:parseInt(\"\"+l[2],10),blue:parseInt(\"\"+l[3],10)}}var c=kr.exec(t.substring(0,50));if(c){var u=\"rgb(\"+fr(parseInt(\"\"+c[1],10),parseInt(\"\"+c[2],10)/100,parseInt(\"\"+c[3],10)/100)+\")\",p=vr.exec(u);if(!p)throw new ur(4,t,u);return{red:parseInt(\"\"+p[1],10),green:parseInt(\"\"+p[2],10),blue:parseInt(\"\"+p[3],10),alpha:parseFloat(\"\"+c[4])>1?parseFloat(\"\"+c[4])/100:parseFloat(\"\"+c[4])}}throw new ur(5)}function Er(e){return function(e){var t,n=e.red/255,r=e.green/255,i=e.blue/255,o=Math.max(n,r,i),s=Math.min(n,r,i),a=(o+s)/2;if(o===s)return void 0!==e.alpha?{hue:0,saturation:0,lightness:a,alpha:e.alpha}:{hue:0,saturation:0,lightness:a};var l=o-s,c=a>.5?l/(2-o-s):l/(o+s);switch(o){case n:t=(r-i)/l+(r<i?6:0);break;case r:t=(i-n)/l+2;break;default:t=(n-r)/l+4}return t*=60,void 0!==e.alpha?{hue:t,saturation:c,lightness:a,alpha:e.alpha}:{hue:t,saturation:c,lightness:a}}(Sr(e))}var Or=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?\"#\"+e[1]+e[3]+e[5]:e};function _r(e){var t=e.toString(16);return 1===t.length?\"0\"+t:t}function Ar(e){return _r(Math.round(255*e))}function Cr(e,t,n){return Or(\"#\"+Ar(e)+Ar(t)+Ar(n))}function jr(e,t,n){return fr(e,t,n,Cr)}function Pr(e,t,n){if(\"number\"==typeof e&&\"number\"==typeof t&&\"number\"==typeof n)return Or(\"#\"+_r(e)+_r(t)+_r(n));if(\"object\"==typeof e&&void 0===t&&void 0===n)return Or(\"#\"+_r(e.red)+_r(e.green)+_r(e.blue));throw new ur(6)}function Tr(e,t,n,r){if(\"string\"==typeof e&&\"number\"==typeof t){var i=Sr(e);return\"rgba(\"+i.red+\",\"+i.green+\",\"+i.blue+\",\"+t+\")\"}if(\"number\"==typeof e&&\"number\"==typeof t&&\"number\"==typeof n&&\"number\"==typeof r)return r>=1?Pr(e,t,n):\"rgba(\"+e+\",\"+t+\",\"+n+\",\"+r+\")\";if(\"object\"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?Pr(e.red,e.green,e.blue):\"rgba(\"+e.red+\",\"+e.green+\",\"+e.blue+\",\"+e.alpha+\")\";throw new ur(7)}var Ir=function(e){return\"number\"==typeof e.red&&\"number\"==typeof e.green&&\"number\"==typeof e.blue&&(\"number\"!=typeof e.alpha||void 0===e.alpha)},Rr=function(e){return\"number\"==typeof e.red&&\"number\"==typeof e.green&&\"number\"==typeof e.blue&&\"number\"==typeof e.alpha},Nr=function(e){return\"number\"==typeof e.hue&&\"number\"==typeof e.saturation&&\"number\"==typeof e.lightness&&(\"number\"!=typeof e.alpha||void 0===e.alpha)},$r=function(e){return\"number\"==typeof e.hue&&\"number\"==typeof e.saturation&&\"number\"==typeof e.lightness&&\"number\"==typeof e.alpha};function Lr(e){if(\"object\"!=typeof e)throw new ur(8);if(Rr(e))return Tr(e);if(Ir(e))return Pr(e);if($r(e))return function(e,t,n,r){if(\"number\"==typeof e&&\"number\"==typeof t&&\"number\"==typeof n&&\"number\"==typeof r)return r>=1?jr(e,t,n):\"rgba(\"+fr(e,t,n)+\",\"+r+\")\";if(\"object\"==typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?jr(e.hue,e.saturation,e.lightness):\"rgba(\"+fr(e.hue,e.saturation,e.lightness)+\",\"+e.alpha+\")\";throw new ur(2)}(e);if(Nr(e))return function(e,t,n){if(\"number\"==typeof e&&\"number\"==typeof t&&\"number\"==typeof n)return jr(e,t,n);if(\"object\"==typeof e&&void 0===t&&void 0===n)return jr(e.hue,e.saturation,e.lightness);throw new ur(1)}(e);throw new ur(8)}function Dr(e,t,n){return function(){var r=n.concat(Array.prototype.slice.call(arguments));return r.length>=t?e.apply(this,r):Dr(e,t,r)}}function Mr(e){return Dr(e,e.length,[])}function Fr(e,t,n){return Math.max(e,Math.min(t,n))}function zr(e,t){if(\"transparent\"===t)return t;var n=Er(t);return Lr(or({},n,{lightness:Fr(0,1,n.lightness-parseFloat(e))}))}var Br=Mr(zr);function Ur(e,t){if(\"transparent\"===t)return t;var n=Er(t);return Lr(or({},n,{saturation:Fr(0,1,n.saturation-parseFloat(e))}))}var qr=Mr(Ur);function Vr(e){if(\"transparent\"===e)return 0;var t=Sr(e),n=Object.keys(t).map((function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)})),r=n[0],i=n[1],o=n[2];return parseFloat((.2126*r+.7152*i+.0722*o).toFixed(3))}function Wr(e,t){if(\"transparent\"===t)return t;var n=Er(t);return Lr(or({},n,{lightness:Fr(0,1,n.lightness+parseFloat(e))}))}var Hr=Mr(Wr),Yr=\"#000\",Gr=\"#fff\";function Qr(e,t,n,r){void 0===t&&(t=Yr),void 0===n&&(n=Gr),void 0===r&&(r=!0);var i,o,s,a=Vr(e)>.179,l=a?t:n;return!r||(i=l,o=Vr(e),s=Vr(i),parseFloat((o>s?(o+.05)/(s+.05):(s+.05)/(o+.05)).toFixed(2))>=4.5)?l:a?Yr:Gr}function Xr(e,t){if(\"transparent\"===t)return t;var n=Sr(t);return Tr(or({},n,{alpha:Fr(0,1,+(100*(\"number\"==typeof n.alpha?n.alpha:1)-100*parseFloat(e)).toFixed(2)/100)}))}var Kr=Mr(Xr);const Zr={spacing:{unit:5,sectionHorizontal:({spacing:e})=>8*e.unit,sectionVertical:({spacing:e})=>8*e.unit},breakpoints:{small:\"50rem\",medium:\"75rem\",large:\"105rem\"},colors:{tonalOffset:.2,primary:{main:\"#32329f\",light:({colors:e})=>Hr(e.tonalOffset,e.primary.main),dark:({colors:e})=>Br(e.tonalOffset,e.primary.main),contrastText:({colors:e})=>Qr(e.primary.main)},success:{main:\"#1d8127\",light:({colors:e})=>Hr(2*e.tonalOffset,e.success.main),dark:({colors:e})=>Br(e.tonalOffset,e.success.main),contrastText:({colors:e})=>Qr(e.success.main)},warning:{main:\"#ffa500\",light:({colors:e})=>Hr(e.tonalOffset,e.warning.main),dark:({colors:e})=>Br(e.tonalOffset,e.warning.main),contrastText:\"#ffffff\"},error:{main:\"#d41f1c\",light:({colors:e})=>Hr(e.tonalOffset,e.error.main),dark:({colors:e})=>Br(e.tonalOffset,e.error.main),contrastText:({colors:e})=>Qr(e.error.main)},gray:{50:\"#FAFAFA\",100:\"#F5F5F5\"},text:{primary:\"#333333\",secondary:({colors:e})=>Hr(e.tonalOffset,e.text.primary)},border:{dark:\"rgba(0,0,0, 0.1)\",light:\"#ffffff\"},responses:{success:{color:({colors:e})=>e.success.main,backgroundColor:({colors:e})=>Kr(.93,e.success.main),tabTextColor:({colors:e})=>e.responses.success.color},error:{color:({colors:e})=>e.error.main,backgroundColor:({colors:e})=>Kr(.93,e.error.main),tabTextColor:({colors:e})=>e.responses.error.color},redirect:{color:({colors:e})=>e.warning.main,backgroundColor:({colors:e})=>Kr(.9,e.responses.redirect.color),tabTextColor:({colors:e})=>e.responses.redirect.color},info:{color:\"#87ceeb\",backgroundColor:({colors:e})=>Kr(.9,e.responses.info.color),tabTextColor:({colors:e})=>e.responses.info.color}},http:{get:\"#2F8132\",post:\"#186FAF\",put:\"#95507c\",options:\"#947014\",patch:\"#bf581d\",delete:\"#cc3333\",basic:\"#707070\",link:\"#07818F\",head:\"#A23DAD\"}},schema:{linesColor:e=>Hr(e.colors.tonalOffset,qr(e.colors.tonalOffset,e.colors.primary.main)),defaultDetailsWidth:\"75%\",typeNameColor:e=>e.colors.text.secondary,typeTitleColor:e=>e.schema.typeNameColor,requireLabelColor:e=>e.colors.error.main,labelsTextSize:\"0.9em\",nestingSpacing:\"1em\",nestedBackground:\"#fafafa\",arrow:{size:\"1.1em\",color:e=>e.colors.text.secondary}},typography:{fontSize:\"14px\",lineHeight:\"1.5em\",fontWeightRegular:\"400\",fontWeightBold:\"600\",fontWeightLight:\"300\",fontFamily:\"Roboto, sans-serif\",smoothing:\"antialiased\",optimizeSpeed:!0,headings:{fontFamily:\"Montserrat, sans-serif\",fontWeight:\"400\",lineHeight:\"1.6em\"},code:{fontSize:\"13px\",fontFamily:\"Courier, monospace\",lineHeight:({typography:e})=>e.lineHeight,fontWeight:({typography:e})=>e.fontWeightRegular,color:\"#e53935\",backgroundColor:\"rgba(38, 50, 56, 0.05)\",wrap:!1},links:{color:({colors:e})=>e.primary.main,visited:({typography:e})=>e.links.color,hover:({typography:e})=>Hr(.2,e.links.color),textDecoration:\"auto\",hoverTextDecoration:\"auto\"}},sidebar:{width:\"260px\",backgroundColor:\"#fafafa\",textColor:\"#333333\",activeTextColor:e=>e.sidebar.textColor!==Zr.sidebar.textColor?e.sidebar.textColor:e.colors.primary.main,groupItems:{activeBackgroundColor:e=>Br(.1,e.sidebar.backgroundColor),activeTextColor:e=>e.sidebar.activeTextColor,textTransform:\"uppercase\"},level1Items:{activeBackgroundColor:e=>Br(.05,e.sidebar.backgroundColor),activeTextColor:e=>e.sidebar.activeTextColor,textTransform:\"none\"},arrow:{size:\"1.5em\",color:e=>e.sidebar.textColor}},logo:{maxHeight:({sidebar:e})=>e.width,maxWidth:({sidebar:e})=>e.width,gutter:\"2px\"},rightPanel:{backgroundColor:\"#263238\",width:\"40%\",textColor:\"#ffffff\",servers:{overlay:{backgroundColor:\"#fafafa\",textColor:\"#263238\"},url:{backgroundColor:\"#fff\"}}},codeBlock:{backgroundColor:({rightPanel:e})=>Br(.1,e.backgroundColor)},fab:{backgroundColor:\"#f2f2f2\",color:\"#0065FB\"}};var Jr=Zr;const ei=\"undefined\"!=typeof window&&\"HTMLElement\"in window;function ti(e){return\"undefined\"!=typeof document?document.querySelector(e):null}function ni(e,t=!0){const n=e.parentNode;if(!n)return;const r=window.getComputedStyle(n,void 0),i=parseInt(r.getPropertyValue(\"border-top-width\"),10),o=parseInt(r.getPropertyValue(\"border-left-width\"),10),s=e.offsetTop-n.offsetTop<n.scrollTop,a=e.offsetTop-n.offsetTop+e.clientHeight-i>n.scrollTop+n.clientHeight,l=e.offsetLeft-n.offsetLeft<n.scrollLeft,c=e.offsetLeft-n.offsetLeft+e.clientWidth-o>n.scrollLeft+n.clientWidth,u=s&&!a;(s||a)&&t&&(n.scrollTop=e.offsetTop-n.offsetTop-n.clientHeight/2-i+e.clientHeight/2),(l||c)&&t&&(n.scrollLeft=e.offsetLeft-n.offsetLeft-n.clientWidth/2-o+e.clientWidth/2),(s||a||l||c)&&!t&&e.scrollIntoView(u)}var ri=r(2495),ii=r.n(ri);function oi(e,t){const n=[];for(let r=0;r<e.length-1;r++)n.push(t(e[r],!1));return 0!==e.length&&n.push(t(e[e.length-1],!0)),n}function si(e,t){const n={};for(const r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r],r,e));return n}function ai(e){return e.endsWith(\"/\")?e.substring(0,e.length-1):e}function li(e){return!isNaN(parseFloat(e))&&isFinite(e)}const ci=(e,...t)=>{if(!t.length)return e;const n=t.shift();return void 0===n?e:(pi(e)&&pi(n)&&Object.keys(n).forEach((t=>{Object.prototype.hasOwnProperty.call(n,t)&&\"__proto__\"!==t&&(pi(n[t])?(e[t]||(e[t]={}),ci(e[t],n[t])):e[t]=n[t])})),ci(e,...t))},ui=e=>null!==e&&\"object\"==typeof e,pi=e=>ui(e)&&!mi(e);function di(e){return ii()(e)||e.toString().toLowerCase().replace(/\\s+/g,\"-\").replace(/&/g,\"-and-\").replace(/\\--+/g,\"-\").replace(/^-+/,\"\").replace(/-+$/,\"\")}function fi(e){return\"undefined\"==typeof URL?new(r(8381).URL)(e):new URL(e)}function hi(e){return e.replace(/[\"\\\\]/g,\"\\\\$&\")}function mi(e){return Array.isArray(e)}function gi(e){return\"boolean\"==typeof e}const yi={enum:\"Enum\",enumSingleValue:\"Value\",enumArray:\"Items\",default:\"Default\",deprecated:\"Deprecated\",example:\"Example\",examples:\"Examples\",recursive:\"Recursive\",arrayOf:\"Array of \",webhook:\"Event\",const:\"Value\",noResultsFound:\"No results found\",download:\"Download\",downloadSpecification:\"Download OpenAPI specification\",responses:\"Responses\",callbackResponses:\"Callback responses\",requestSamples:\"Request samples\",responseSamples:\"Response samples\"};function bi(e,t){const n=yi[e];return void 0!==t?n[t]:n}var vi=(e=>(e.SummaryOnly=\"summary-only\",e.PathOnly=\"path-only\",e.IdOnly=\"id-only\",e))(vi||{}),xi=Object.defineProperty,wi=Object.defineProperties,ki=Object.getOwnPropertyDescriptors,Si=Object.getOwnPropertySymbols,Ei=Object.prototype.hasOwnProperty,Oi=Object.prototype.propertyIsEnumerable,_i=(e,t,n)=>t in e?xi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ai=(e,t)=>{for(var n in t||(t={}))Ei.call(t,n)&&_i(e,n,t[n]);if(Si)for(var n of Si(t))Oi.call(t,n)&&_i(e,n,t[n]);return e};function Ci(e,t){return void 0===e?t||!1:\"string\"==typeof e?\"false\"!==e:e}function ji(e){return\"string\"==typeof e?parseInt(e,10):\"number\"==typeof e?e:void 0}class Pi{static normalizeExpandResponses(e){if(\"all\"===e)return\"all\";if(\"string\"==typeof e){const t={};return e.split(\",\").forEach((e=>{t[e.trim()]=!0})),t}return void 0!==e&&console.warn(`expandResponses must be a string but received value \"${e}\" of type ${typeof e}`),{}}static normalizeHideHostname(e){return!!e}static normalizeScrollYOffset(e){if(\"string\"==typeof e&&!li(e)){const t=ti(e);t||console.warn(\"scrollYOffset value is a selector to non-existing element. Using offset 0 by default\");const n=t&&t.getBoundingClientRect().bottom||0;return()=>n}return\"number\"==typeof e||li(e)?()=>\"number\"==typeof e?e:parseFloat(e):\"function\"==typeof e?()=>{const t=e();return\"number\"!=typeof t&&console.warn(`scrollYOffset should return number but returned value \"${t}\" of type ${typeof t}`),t}:(void 0!==e&&console.warn(\"Wrong value for scrollYOffset ReDoc option: should be string, number or function\"),()=>0)}static normalizeShowExtensions(e){if(void 0===e)return!1;if(\"\"===e)return!0;if(\"string\"!=typeof e)return e;switch(e){case\"true\":return!0;case\"false\":return!1;default:return e.split(\",\").map((e=>e.trim()))}}static normalizeSideNavStyle(e){const t=vi.SummaryOnly;if(\"string\"!=typeof e)return t;switch(e){case t:return e;case vi.PathOnly:return vi.PathOnly;case vi.IdOnly:return vi.IdOnly;default:return t}}static normalizePayloadSampleIdx(e){return\"number\"==typeof e?Math.max(0,e):\"string\"==typeof e&&isFinite(e)?parseInt(e,10):0}static normalizeJsonSampleExpandLevel(e){return\"all\"===e?1/0:isNaN(Number(e))?2:Math.ceil(Number(e))}static normalizeGeneratedPayloadSamplesMaxDepth(e){return isNaN(Number(e))?10:Math.max(0,Number(e))}constructor(e,t={}){var n,r,i,o,s;const a=(e=Ai(Ai({},t),e)).theme&&e.theme.extensionsHook;var l,c;(null==(n=e.theme)?void 0:n.menu)&&!(null==(r=e.theme)?void 0:r.sidebar)&&(console.warn('Theme setting \"menu\" is deprecated. Rename to \"sidebar\"'),e.theme.sidebar=e.theme.menu),(null==(i=e.theme)?void 0:i.codeSample)&&!(null==(o=e.theme)?void 0:o.codeBlock)&&(console.warn('Theme setting \"codeSample\" is deprecated. Rename to \"codeBlock\"'),e.theme.codeBlock=e.theme.codeSample),this.theme=function(e){const t={};let n=0;const r=(i,o)=>{Object.keys(i).forEach((s=>{const a=(o?o+\".\":\"\")+s,l=i[s];\"function\"==typeof l?Object.defineProperty(i,s,{get(){if(!t[a]){if(n++,n>1e3)throw new Error(`Theme probably contains circular dependency at ${a}: ${l.toString()}`);t[a]=l(e)}return t[a]},enumerable:!0}):\"object\"==typeof l&&r(l,a)}))};return r(e,\"\"),JSON.parse(JSON.stringify(e))}(ci({},Jr,(c=Ai({},e.theme),wi(c,ki({extensionsHook:void 0}))))),this.theme.extensionsHook=a,l=e.labels,Object.assign(yi,l),this.scrollYOffset=Pi.normalizeScrollYOffset(e.scrollYOffset),this.hideHostname=Pi.normalizeHideHostname(e.hideHostname),this.expandResponses=Pi.normalizeExpandResponses(e.expandResponses),this.sortRequiredPropsFirst=Ci(e.sortRequiredPropsFirst||e.requiredPropsFirst),this.sortPropsAlphabetically=Ci(e.sortPropsAlphabetically),this.sortEnumValuesAlphabetically=Ci(e.sortEnumValuesAlphabetically),this.sortOperationsAlphabetically=Ci(e.sortOperationsAlphabetically),this.sortTagsAlphabetically=Ci(e.sortTagsAlphabetically),this.nativeScrollbars=Ci(e.nativeScrollbars),this.pathInMiddlePanel=Ci(e.pathInMiddlePanel),this.sanitize=Ci(e.sanitize||e.untrustedSpec),this.hideDownloadButtons=Ci(e.hideDownloadButtons||e.hideDownloadButton),this.downloadFileName=e.downloadFileName,this.downloadDefinitionUrl=e.downloadDefinitionUrl,this.downloadUrls=e.downloadUrls,this.disableSearch=Ci(e.disableSearch),this.onlyRequiredInSamples=Ci(e.onlyRequiredInSamples),this.showExtensions=Pi.normalizeShowExtensions(e.showExtensions),this.sideNavStyle=Pi.normalizeSideNavStyle(e.sideNavStyle),this.hideSingleRequestSampleTab=Ci(e.hideSingleRequestSampleTab),this.hideRequestPayloadSample=Ci(e.hideRequestPayloadSample),this.menuToggle=Ci(e.menuToggle,!0),this.jsonSamplesExpandLevel=Pi.normalizeJsonSampleExpandLevel(e.jsonSamplesExpandLevel||e.jsonSampleExpandLevel),this.enumSkipQuotes=Ci(e.enumSkipQuotes),this.hideSchemaTitles=Ci(e.hideSchemaTitles),this.simpleOneOfTypeLabel=Ci(e.simpleOneOfTypeLabel),this.payloadSampleIdx=Pi.normalizePayloadSampleIdx(e.payloadSampleIdx),this.expandSingleSchemaField=Ci(e.expandSingleSchemaField),this.schemasExpansionLevel=function(e,t=0){return\"all\"===e?1/0:ji(e)||t}(e.schemasExpansionLevel||e.schemaExpansionLevel),this.schemaDefinitionsTagName=e.schemaDefinitionsTagName,this.showObjectSchemaExamples=Ci(e.showObjectSchemaExamples),this.showSecuritySchemeType=Ci(e.showSecuritySchemeType),this.hideSecuritySection=Ci(e.hideSecuritySection),this.unstable_ignoreMimeParameters=Ci(e.unstable_ignoreMimeParameters),this.allowedMdComponents=e.allowedMdComponents||{},this.expandDefaultServerVariables=Ci(e.expandDefaultServerVariables),this.maxDisplayedEnumValues=ji(e.maxDisplayedEnumValues);const u=mi(e.ignoreNamedSchemas)?e.ignoreNamedSchemas:null==(s=e.ignoreNamedSchemas)?void 0:s.split(\",\").map((e=>e.trim()));this.ignoreNamedSchemas=new Set(u),this.hideSchemaPattern=Ci(e.hideSchemaPattern),this.generatedSamplesMaxDepth=Pi.normalizeGeneratedPayloadSamplesMaxDepth(e.generatedSamplesMaxDepth||e.generatedPayloadSamplesMaxDepth),this.nonce=e.nonce,this.hideFab=Ci(e.hideFab),this.minCharacterLengthToInitSearch=ji(e.minCharacterLengthToInitSearch)||3,this.showWebhookVerb=Ci(e.showWebhookVerb),this.hidePropertiesPrefix=Ci(e.hidePropertiesPrefix,!0)}}var Ti=r(4363),Ii=r(2833),Ri=r.n(Ii),Ni=function(e){function t(e,r,l,c,d){for(var f,h,m,g,x,k=0,S=0,E=0,O=0,_=0,I=0,N=m=f=0,L=0,D=0,M=0,F=0,z=l.length,B=z-1,U=\"\",q=\"\",V=\"\",W=\"\";L<z;){if(h=l.charCodeAt(L),L===B&&0!==S+O+E+k&&(0!==S&&(h=47===S?10:47),O=E=k=0,z++,B++),0===S+O+E+k){if(L===B&&(0<D&&(U=U.replace(p,\"\")),0<U.trim().length)){switch(h){case 32:case 9:case 59:case 13:case 10:break;default:U+=l.charAt(L)}h=59}switch(h){case 123:for(f=(U=U.trim()).charCodeAt(0),m=1,F=++L;L<z;){switch(h=l.charCodeAt(L)){case 123:m++;break;case 125:m--;break;case 47:switch(h=l.charCodeAt(L+1)){case 42:case 47:e:{for(N=L+1;N<B;++N)switch(l.charCodeAt(N)){case 47:if(42===h&&42===l.charCodeAt(N-1)&&L+2!==N){L=N+1;break e}break;case 10:if(47===h){L=N+1;break e}}L=N}}break;case 91:h++;case 40:h++;case 34:case 39:for(;L++<B&&l.charCodeAt(L)!==h;);}if(0===m)break;L++}if(m=l.substring(F,L),0===f&&(f=(U=U.replace(u,\"\").trim()).charCodeAt(0)),64===f){switch(0<D&&(U=U.replace(p,\"\")),h=U.charCodeAt(1)){case 100:case 109:case 115:case 45:D=r;break;default:D=T}if(F=(m=t(r,D,m,h,d+1)).length,0<R&&(x=a(3,m,D=n(T,U,M),r,C,A,F,h,d,c),U=D.join(\"\"),void 0!==x&&0===(F=(m=x.trim()).length)&&(h=0,m=\"\")),0<F)switch(h){case 115:U=U.replace(w,s);case 100:case 109:case 45:m=U+\"{\"+m+\"}\";break;case 107:m=(U=U.replace(y,\"$1 $2\"))+\"{\"+m+\"}\",m=1===P||2===P&&o(\"@\"+m,3)?\"@-webkit-\"+m+\"@\"+m:\"@\"+m;break;default:m=U+m,112===c&&(q+=m,m=\"\")}else m=\"\"}else m=t(r,n(r,U,M),m,c,d+1);V+=m,m=M=D=N=f=0,U=\"\",h=l.charCodeAt(++L);break;case 125:case 59:if(1<(F=(U=(0<D?U.replace(p,\"\"):U).trim()).length))switch(0===N&&(f=U.charCodeAt(0),45===f||96<f&&123>f)&&(F=(U=U.replace(\" \",\":\")).length),0<R&&void 0!==(x=a(1,U,r,e,C,A,q.length,c,d,c))&&0===(F=(U=x.trim()).length)&&(U=\"\\0\\0\"),f=U.charCodeAt(0),h=U.charCodeAt(1),f){case 0:break;case 64:if(105===h||99===h){W+=U+l.charAt(L);break}default:58!==U.charCodeAt(F-1)&&(q+=i(U,f,h,U.charCodeAt(2)))}M=D=N=f=0,U=\"\",h=l.charCodeAt(++L)}}switch(h){case 13:case 10:47===S?S=0:0===1+f&&107!==c&&0<U.length&&(D=1,U+=\"\\0\"),0<R*$&&a(0,U,r,e,C,A,q.length,c,d,c),A=1,C++;break;case 59:case 125:if(0===S+O+E+k){A++;break}default:switch(A++,g=l.charAt(L),h){case 9:case 32:if(0===O+k+S)switch(_){case 44:case 58:case 9:case 32:g=\"\";break;default:32!==h&&(g=\" \")}break;case 0:g=\"\\\\0\";break;case 12:g=\"\\\\f\";break;case 11:g=\"\\\\v\";break;case 38:0===O+S+k&&(D=M=1,g=\"\\f\"+g);break;case 108:if(0===O+S+k+j&&0<N)switch(L-N){case 2:112===_&&58===l.charCodeAt(L-3)&&(j=_);case 8:111===I&&(j=I)}break;case 58:0===O+S+k&&(N=L);break;case 44:0===S+E+O+k&&(D=1,g+=\"\\r\");break;case 34:case 39:0===S&&(O=O===h?0:0===O?h:O);break;case 91:0===O+S+E&&k++;break;case 93:0===O+S+E&&k--;break;case 41:0===O+S+k&&E--;break;case 40:0===O+S+k&&(0===f&&(2*_+3*I==533||(f=1)),E++);break;case 64:0===S+E+O+k+N+m&&(m=1);break;case 42:case 47:if(!(0<O+k+E))switch(S){case 0:switch(2*h+3*l.charCodeAt(L+1)){case 235:S=47;break;case 220:F=L,S=42}break;case 42:47===h&&42===_&&F+2!==L&&(33===l.charCodeAt(F+2)&&(q+=l.substring(F,L+1)),g=\"\",S=0)}}0===S&&(U+=g)}I=_,_=h,L++}if(0<(F=q.length)){if(D=r,0<R&&void 0!==(x=a(2,q,D,e,C,A,F,c,d,c))&&0===(q=x).length)return W+q+V;if(q=D.join(\",\")+\"{\"+q+\"}\",0!=P*j){switch(2!==P||o(q,2)||(j=0),j){case 111:q=q.replace(v,\":-moz-$1\")+q;break;case 112:q=q.replace(b,\"::-webkit-input-$1\")+q.replace(b,\"::-moz-$1\")+q.replace(b,\":-ms-input-$1\")+q}j=0}}return W+q+V}function n(e,t,n){var i=t.trim().split(m);t=i;var o=i.length,s=e.length;switch(s){case 0:case 1:var a=0;for(e=0===s?\"\":e[0]+\" \";a<o;++a)t[a]=r(e,t[a],n).trim();break;default:var l=a=0;for(t=[];a<o;++a)for(var c=0;c<s;++c)t[l++]=r(e[c]+\" \",i[a],n).trim()}return t}function r(e,t,n){var r=t.charCodeAt(0);switch(33>r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(g,\"$1\"+e.trim());case 58:return e.trim()+t.replace(g,\"$1\"+e.trim());default:if(0<1*n&&0<t.indexOf(\"\\f\"))return t.replace(g,(58===e.charCodeAt(0)?\"\":\"$1\")+e.trim())}return e+t}function i(e,t,n,r){var s=e+\";\",a=2*t+3*n+4*r;if(944===a){e=s.indexOf(\":\",9)+1;var l=s.substring(e,s.length-1).trim();return l=s.substring(0,e).trim()+l+\";\",1===P||2===P&&o(l,1)?\"-webkit-\"+l+l:l}if(0===P||2===P&&!o(s,1))return s;switch(a){case 1015:return 97===s.charCodeAt(10)?\"-webkit-\"+s+s:s;case 951:return 116===s.charCodeAt(3)?\"-webkit-\"+s+s:s;case 963:return 110===s.charCodeAt(5)?\"-webkit-\"+s+s:s;case 1009:if(100!==s.charCodeAt(4))break;case 969:case 942:return\"-webkit-\"+s+s;case 978:return\"-webkit-\"+s+\"-moz-\"+s+s;case 1019:case 983:return\"-webkit-\"+s+\"-moz-\"+s+\"-ms-\"+s+s;case 883:if(45===s.charCodeAt(8))return\"-webkit-\"+s+s;if(0<s.indexOf(\"image-set(\",11))return s.replace(_,\"$1-webkit-$2\")+s;break;case 932:if(45===s.charCodeAt(4))switch(s.charCodeAt(5)){case 103:return\"-webkit-box-\"+s.replace(\"-grow\",\"\")+\"-webkit-\"+s+\"-ms-\"+s.replace(\"grow\",\"positive\")+s;case 115:return\"-webkit-\"+s+\"-ms-\"+s.replace(\"shrink\",\"negative\")+s;case 98:return\"-webkit-\"+s+\"-ms-\"+s.replace(\"basis\",\"preferred-size\")+s}return\"-webkit-\"+s+\"-ms-\"+s+s;case 964:return\"-webkit-\"+s+\"-ms-flex-\"+s+s;case 1023:if(99!==s.charCodeAt(8))break;return\"-webkit-box-pack\"+(l=s.substring(s.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"))+\"-webkit-\"+s+\"-ms-flex-pack\"+l+s;case 1005:return f.test(s)?s.replace(d,\":-webkit-\")+s.replace(d,\":-moz-\")+s:s;case 1e3:switch(t=(l=s.substring(13).trim()).indexOf(\"-\")+1,l.charCodeAt(0)+l.charCodeAt(t)){case 226:l=s.replace(x,\"tb\");break;case 232:l=s.replace(x,\"tb-rl\");break;case 220:l=s.replace(x,\"lr\");break;default:return s}return\"-webkit-\"+s+\"-ms-\"+l+s;case 1017:if(-1===s.indexOf(\"sticky\",9))break;case 975:switch(t=(s=e).length-10,a=(l=(33===s.charCodeAt(t)?s.substring(0,t):s).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(111>l.charCodeAt(8))break;case 115:s=s.replace(l,\"-webkit-\"+l)+\";\"+s;break;case 207:case 102:s=s.replace(l,\"-webkit-\"+(102<a?\"inline-\":\"\")+\"box\")+\";\"+s.replace(l,\"-webkit-\"+l)+\";\"+s.replace(l,\"-ms-\"+l+\"box\")+\";\"+s}return s+\";\";case 938:if(45===s.charCodeAt(5))switch(s.charCodeAt(6)){case 105:return l=s.replace(\"-items\",\"\"),\"-webkit-\"+s+\"-webkit-box-\"+l+\"-ms-flex-\"+l+s;case 115:return\"-webkit-\"+s+\"-ms-flex-item-\"+s.replace(S,\"\")+s;default:return\"-webkit-\"+s+\"-ms-flex-line-pack\"+s.replace(\"align-content\",\"\").replace(S,\"\")+s}break;case 973:case 989:if(45!==s.charCodeAt(3)||122===s.charCodeAt(4))break;case 931:case 953:if(!0===O.test(e))return 115===(l=e.substring(e.indexOf(\":\")+1)).charCodeAt(0)?i(e.replace(\"stretch\",\"fill-available\"),t,n,r).replace(\":fill-available\",\":stretch\"):s.replace(l,\"-webkit-\"+l)+s.replace(l,\"-moz-\"+l.replace(\"fill-\",\"\"))+s;break;case 962:if(s=\"-webkit-\"+s+(102===s.charCodeAt(5)?\"-ms-\"+s:\"\")+s,211===n+r&&105===s.charCodeAt(13)&&0<s.indexOf(\"transform\",10))return s.substring(0,s.indexOf(\";\",27)+1).replace(h,\"$1-webkit-$2\")+s}return s}function o(e,t){var n=e.indexOf(1===t?\":\":\"{\"),r=e.substring(0,3!==t?n:10);return n=e.substring(n+1,e.length-1),N(2!==t?r:r.replace(E,\"$1\"),n,t)}function s(e,t){var n=i(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+\";\"?n.replace(k,\" or ($1)\").substring(4):\"(\"+t+\")\"}function a(e,t,n,r,i,o,s,a,l,u){for(var p,d=0,f=t;d<R;++d)switch(p=I[d].call(c,e,f,n,r,i,o,s,a,l,u)){case void 0:case!1:case!0:case null:break;default:f=p}if(f!==t)return f}function l(e){return void 0!==(e=e.prefix)&&(N=null,e?\"function\"!=typeof e?P=1:(P=2,N=e):P=0),l}function c(e,n){var r=e;if(33>r.charCodeAt(0)&&(r=r.trim()),r=[r],0<R){var i=a(-1,n,r,r,C,A,0,0,0,0);void 0!==i&&\"string\"==typeof i&&(n=i)}var o=t(T,r,n,0,0);return 0<R&&void 0!==(i=a(-2,o,r,r,C,A,o.length,0,0,0))&&(o=i),j=0,A=C=1,o}var u=/^\\0+/g,p=/[\\0\\r\\f]/g,d=/: */g,f=/zoo|gra/,h=/([,: ])(transform)/g,m=/,\\r+?/g,g=/([\\t\\r\\n ])*\\f?&/g,y=/@(k\\w+)\\s*(\\S*)\\s*/,b=/::(place)/g,v=/:(read-only)/g,x=/[svh]\\w+-[tblr]{2}/,w=/\\(\\s*(.*)\\s*\\)/g,k=/([\\s\\S]*?);/g,S=/-self|flex-/g,E=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,O=/stretch|:\\s*\\w+\\-(?:conte|avail)/,_=/([^-])(image-set\\()/,A=1,C=1,j=0,P=1,T=[],I=[],R=0,N=null,$=0;return c.use=function e(t){switch(t){case void 0:case null:R=I.length=0;break;default:if(\"function\"==typeof t)I[R++]=t;else if(\"object\"==typeof t)for(var n=0,r=t.length;n<r;++n)e(t[n]);else $=0|!!t}return e},c.set=l,void 0!==e&&l(e),c},$i={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function Li(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var Di=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Mi=Li((function(e){return Di.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),Fi=r(4146),zi=r.n(Fi);function Bi(){return(Bi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var Ui=function(e,t){for(var n=[e[0]],r=0,i=t.length;r<i;r+=1)n.push(t[r],e[r+1]);return n},qi=function(e){return null!==e&&\"object\"==typeof e&&\"[object Object]\"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!(0,Ti.typeOf)(e)},Vi=Object.freeze([]),Wi=Object.freeze({});function Hi(e){return\"function\"==typeof e}function Yi(e){return e.displayName||e.name||\"Component\"}function Gi(e){return e&&\"string\"==typeof e.styledComponentId}var Qi=\"undefined\"!=typeof process&&void 0!=={}&&({}.REACT_APP_SC_ATTR||{}.SC_ATTR)||\"data-styled\",Xi=\"undefined\"!=typeof window&&\"HTMLElement\"in window,Ki=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!=={}&&(void 0!=={}.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!=={}.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!=={}.REACT_APP_SC_DISABLE_SPEEDY&&{}.REACT_APP_SC_DISABLE_SPEEDY:void 0!=={}.SC_DISABLE_SPEEDY&&\"\"!=={}.SC_DISABLE_SPEEDY&&\"false\"!=={}.SC_DISABLE_SPEEDY&&{}.SC_DISABLE_SPEEDY)),Zi={};function Ji(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw new Error(\"An error occurred. See https://git.io/JUIaE#\"+e+\" for more information.\"+(n.length>0?\" Args: \"+n.join(\", \"):\"\"))}var eo=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,i=r;e>=i;)(i<<=1)<0&&Ji(16,\"\"+e);this.groupSizes=new Uint32Array(i),this.groupSizes.set(n),this.length=i;for(var o=r;o<i;o++)this.groupSizes[o]=0}for(var s=this.indexOfGroup(e+1),a=0,l=t.length;a<l;a++)this.tag.insertRule(s,t[a])&&(this.groupSizes[e]++,s++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var i=n;i<r;i++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),i=r+n,o=r;o<i;o++)t+=this.tag.getRule(o)+\"/*!sc*/\\n\";return t},e}(),to=new Map,no=new Map,ro=1,io=function(e){if(to.has(e))return to.get(e);for(;no.has(ro);)ro++;var t=ro++;return to.set(e,t),no.set(t,e),t},oo=function(e){return no.get(e)},so=function(e,t){t>=ro&&(ro=t+1),to.set(e,t),no.set(t,e)},ao=\"style[\"+Qi+'][data-styled-version=\"5.3.11\"]',lo=new RegExp(\"^\"+Qi+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),co=function(e,t,n){for(var r,i=n.split(\",\"),o=0,s=i.length;o<s;o++)(r=i[o])&&e.registerName(t,r)},uo=function(e,t){for(var n=(t.textContent||\"\").split(\"/*!sc*/\\n\"),r=[],i=0,o=n.length;i<o;i++){var s=n[i].trim();if(s){var a=s.match(lo);if(a){var l=0|parseInt(a[1],10),c=a[2];0!==l&&(so(c,l),co(e,c,a[3]),e.getTag().insertRules(l,r)),r.length=0}else r.push(s)}}},po=function(){return r.nc},fo=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),i=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(Qi))return r}}(n),o=void 0!==i?i.nextSibling:null;r.setAttribute(Qi,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.11\");var s=po();return s&&r.setAttribute(\"nonce\",s),n.insertBefore(r,o),r},ho=function(){function e(e){var t=this.element=fo(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var i=t[n];if(i.ownerNode===e)return i}Ji(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&\"string\"==typeof t.cssText?t.cssText:\"\"},e}(),mo=function(){function e(e){var t=this.element=fo(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),go=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),yo=Xi,bo={isServer:!Xi,useCSSOMInjection:!Ki},vo=function(){function e(e,t,n){void 0===e&&(e=Wi),void 0===t&&(t={}),this.options=Bi({},bo,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&Xi&&yo&&(yo=!1,function(e){for(var t=document.querySelectorAll(ao),n=0,r=t.length;n<r;n++){var i=t[n];i&&\"active\"!==i.getAttribute(Qi)&&(uo(e,i),i.parentNode&&i.parentNode.removeChild(i))}}(this))}e.registerId=function(e){return io(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(Bi({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,i=t.target,e=n?new go(i):r?new ho(i):new mo(i),new eo(e)));var e,t,n,r,i},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(io(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(io(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(io(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",i=0;i<n;i++){var o=oo(i);if(void 0!==o){var s=e.names.get(o),a=t.getGroup(i);if(s&&a&&s.size){var l=Qi+\".g\"+i+'[id=\"'+o+'\"]',c=\"\";void 0!==s&&s.forEach((function(e){e.length>0&&(c+=e+\",\")})),r+=\"\"+a+l+'{content:\"'+c+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),xo=/(a)(d)/gi,wo=function(e){return String.fromCharCode(e+(e>25?39:97))};function ko(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=wo(t%52)+n;return(wo(t%52)+n).replace(xo,\"$1-$2\")}var So=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Eo=function(e){return So(5381,e)};function Oo(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Hi(n)&&!Gi(n))return!1}return!0}var _o=Eo(\"5.3.11\"),Ao=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=(void 0===n||n.isStatic)&&Oo(e),this.componentId=t,this.baseHash=So(_o,t),this.baseStyle=n,vo.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,i=[];if(this.baseStyle&&i.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))i.push(this.staticRulesId);else{var o=Wo(this.rules,e,t,n).join(\"\"),s=ko(So(this.baseHash,o)>>>0);if(!t.hasNameForId(r,s)){var a=n(o,\".\"+s,void 0,r);t.insertRules(r,s,a)}i.push(s),this.staticRulesId=s}else{for(var l=this.rules.length,c=So(this.baseHash,n.hash),u=\"\",p=0;p<l;p++){var d=this.rules[p];if(\"string\"==typeof d)u+=d;else if(d){var f=Wo(d,e,t,n),h=Array.isArray(f)?f.join(\"\"):f;c=So(c,h+p),u+=h}}if(u){var m=ko(c>>>0);if(!t.hasNameForId(r,m)){var g=n(u,\".\"+m,void 0,r);t.insertRules(r,m,g)}i.push(m)}}return i.join(\" \")},e}(),Co=/^\\s*\\/\\/.*$/gm,jo=[\":\",\"[\",\".\",\"#\"];function Po(e){var t,n,r,i,o=void 0===e?Wi:e,s=o.options,a=void 0===s?Wi:s,l=o.plugins,c=void 0===l?Vi:l,u=new Ni(a),p=[],d=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,i,o,s,a,l,c,u,p){switch(n){case 1:if(0===u&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===c)return r+\"/*|*/\";break;case 3:switch(c){case 102:case 112:return e(i[0]+r),\"\";default:return r+(0===p?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){p.push(e)})),f=function(e,r,o){return 0===r&&-1!==jo.indexOf(o[n.length])||o.match(i)?e:\".\"+t};function h(e,o,s,a){void 0===a&&(a=\"&\");var l=e.replace(Co,\"\"),c=o&&s?s+\" \"+o+\" { \"+l+\" }\":l;return t=a,n=o,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),i=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),u(s||!o?\"\":o,c)}return u.use([].concat(c,[function(e,t,i){2===e&&i.length&&i[0].lastIndexOf(n)>0&&(i[0]=i[0].replace(r,f))},d,function(e){if(-2===e){var t=p;return p=[],t}}])),h.hash=c.length?c.reduce((function(e,t){return t.name||Ji(15),So(e,t.name)}),5381).toString():\"\",h}var To=n.createContext(),Io=(To.Consumer,n.createContext()),Ro=(Io.Consumer,new vo),No=Po();function $o(){return(0,n.useContext)(To)||Ro}function Lo(){return(0,n.useContext)(Io)||No}function Do(e){var t=(0,n.useState)(e.stylisPlugins),r=t[0],i=t[1],o=$o(),s=(0,n.useMemo)((function(){var t=o;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),a=(0,n.useMemo)((function(){return Po({options:{prefix:!e.disableVendorPrefixes},plugins:r})}),[e.disableVendorPrefixes,r]);return(0,n.useEffect)((function(){Ri()(r,e.stylisPlugins)||i(e.stylisPlugins)}),[e.stylisPlugins]),n.createElement(To.Provider,{value:s},n.createElement(Io.Provider,{value:a},e.children))}var Mo=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=No);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return Ji(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=No),this.name+e.hash},e}(),Fo=/([A-Z])/,zo=/([A-Z])/g,Bo=/^ms-/,Uo=function(e){return\"-\"+e.toLowerCase()};function qo(e){return Fo.test(e)?e.replace(zo,Uo).replace(Bo,\"-ms-\"):e}var Vo=function(e){return null==e||!1===e||\"\"===e};function Wo(e,t,n,r){if(Array.isArray(e)){for(var i,o=[],s=0,a=e.length;s<a;s+=1)\"\"!==(i=Wo(e[s],t,n,r))&&(Array.isArray(i)?o.push.apply(o,i):o.push(i));return o}return Vo(e)?\"\":Gi(e)?\".\"+e.styledComponentId:Hi(e)?\"function\"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!t?e:Wo(e(t),t,n,r):e instanceof Mo?n?(e.inject(n,r),e.getName(r)):e:qi(e)?function e(t,n){var r,i,o=[];for(var s in t)t.hasOwnProperty(s)&&!Vo(t[s])&&(Array.isArray(t[s])&&t[s].isCss||Hi(t[s])?o.push(qo(s)+\":\",t[s],\";\"):qi(t[s])?o.push.apply(o,e(t[s],s)):o.push(qo(s)+\": \"+(r=s,(null==(i=t[s])||\"boolean\"==typeof i||\"\"===i?\"\":\"number\"!=typeof i||0===i||r in $i||r.startsWith(\"--\")?String(i).trim():i+\"px\")+\";\")));return n?[n+\" {\"].concat(o,[\"}\"]):o}(e):e.toString();var l}var Ho=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Yo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Hi(e)||qi(e)?Ho(Wo(Ui(Vi,[e].concat(n)))):0===n.length&&1===e.length&&\"string\"==typeof e[0]?e:Ho(Wo(Ui(e,n)))}new Set;var Go=function(e,t,n){return void 0===n&&(n=Wi),e.theme!==n.theme&&e.theme||t||n.theme},Qo=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,Xo=/(^-|-$)/g;function Ko(e){return e.replace(Qo,\"-\").replace(Xo,\"\")}var Zo=function(e){return ko(Eo(e)>>>0)};function Jo(e){return\"string\"==typeof e&&!0}var es=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},ts=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ns(e,t,n){var r=e[n];es(t)&&es(r)?rs(r,t):e[n]=t}function rs(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var i=0,o=n;i<o.length;i++){var s=o[i];if(es(s))for(var a in s)ts(a)&&ns(e,s[a],a)}return e}var is=n.createContext();function os(e){var t=(0,n.useContext)(is),r=(0,n.useMemo)((function(){return function(e,t){return e?Hi(e)?e(t):Array.isArray(e)||\"object\"!=typeof e?Ji(8):t?Bi({},t,{},e):e:Ji(14)}(e.theme,t)}),[e.theme,t]);return e.children?n.createElement(is.Provider,{value:r},e.children):null}is.Consumer;var ss={};function as(e,t,r){var i=Gi(e),o=!Jo(e),s=t.attrs,a=void 0===s?Vi:s,l=t.componentId,c=void 0===l?function(e,t){var n=\"string\"!=typeof e?\"sc\":Ko(e);ss[n]=(ss[n]||0)+1;var r=n+\"-\"+Zo(\"5.3.11\"+n+ss[n]);return t?t+\"-\"+r:r}(t.displayName,t.parentComponentId):l,u=t.displayName,p=void 0===u?function(e){return Jo(e)?\"styled.\"+e:\"Styled(\"+Yi(e)+\")\"}(e):u,d=t.displayName&&t.componentId?Ko(t.displayName)+\"-\"+t.componentId:t.componentId||c,f=i&&e.attrs?Array.prototype.concat(e.attrs,a).filter(Boolean):a,h=t.shouldForwardProp;i&&e.shouldForwardProp&&(h=t.shouldForwardProp?function(n,r,i){return e.shouldForwardProp(n,r,i)&&t.shouldForwardProp(n,r,i)}:e.shouldForwardProp);var m,g=new Ao(r,d,i?e.componentStyle:void 0),y=g.isStatic&&0===a.length,b=function(e,t){return function(e,t,r,i){var o=e.attrs,s=e.componentStyle,a=e.defaultProps,l=e.foldedComponentIds,c=e.shouldForwardProp,u=e.styledComponentId,p=e.target,d=function(e,t,n){void 0===e&&(e=Wi);var r=Bi({},t,{theme:e}),i={};return n.forEach((function(e){var t,n,o,s=e;for(t in Hi(s)&&(s=s(r)),s)r[t]=i[t]=\"className\"===t?(n=i[t],o=s[t],n&&o?n+\" \"+o:n||o):s[t]})),[r,i]}(Go(t,(0,n.useContext)(is),a)||Wi,t,o),f=d[0],h=d[1],m=function(e,t,n){var r=$o(),i=Lo();return t?e.generateAndInjectStyles(Wi,r,i):e.generateAndInjectStyles(n,r,i)}(s,i,f),g=r,y=h.$as||t.$as||h.as||t.as||p,b=Jo(y),v=h!==t?Bi({},t,{},h):t,x={};for(var w in v)\"$\"!==w[0]&&\"as\"!==w&&(\"forwardedAs\"===w?x.as=v[w]:(c?c(w,Mi,y):!b||Mi(w))&&(x[w]=v[w]));return t.style&&h.style!==t.style&&(x.style=Bi({},t.style,{},h.style)),x.className=Array.prototype.concat(l,u,m!==u?m:null,t.className,h.className).filter(Boolean).join(\" \"),x.ref=g,(0,n.createElement)(y,x)}(m,e,t,y)};return b.displayName=p,(m=n.forwardRef(b)).attrs=f,m.componentStyle=g,m.displayName=p,m.shouldForwardProp=h,m.foldedComponentIds=i?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):Vi,m.styledComponentId=d,m.target=i?e.target:e,m.withComponent=function(e){var n=t.componentId,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(t,[\"componentId\"]),o=n&&n+\"-\"+(Jo(e)?e:Ko(Yi(e)));return as(e,Bi({},i,{attrs:f,componentId:o}),r)},Object.defineProperty(m,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=i?rs({},e.defaultProps,t):t}}),Object.defineProperty(m,\"toString\",{value:function(){return\".\"+m.styledComponentId}}),o&&zi()(m,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),m}var ls=function(e){return function e(t,n,r){if(void 0===r&&(r=Wi),!(0,Ti.isValidElementType)(n))return Ji(1,String(n));var i=function(){return t(n,r,Yo.apply(void 0,arguments))};return i.withConfig=function(i){return e(t,n,Bi({},r,{},i))},i.attrs=function(i){return e(t,n,Bi({},r,{attrs:Array.prototype.concat(r.attrs,i).filter(Boolean)}))},i}(as,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){ls[e]=ls(e)}));var cs,us=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Oo(e),vo.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var i=r(Wo(this.rules,t,n,r).join(\"\"),\"\"),o=this.componentId+e;n.insertRules(o,o,i)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&vo.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function ps(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];var o=Yo.apply(void 0,[e].concat(r)),s=\"sc-global-\"+Zo(JSON.stringify(o)),a=new us(o,s);function l(e){var t=$o(),r=Lo(),i=(0,n.useContext)(is),o=(0,n.useRef)(t.allocateGSInstance(s)).current;return t.server&&c(o,e,t,i,r),(0,n.useLayoutEffect)((function(){if(!t.server)return c(o,e,t,i,r),function(){return a.removeStyles(o,t)}}),[o,e,t,i,r]),null}function c(e,t,n,r,i){if(a.isStatic)a.renderStyles(e,Zi,n,i);else{var o=Bi({},t,{theme:Go(t,r,l.defaultProps)});a.renderStyles(e,o,n,i)}}return n.memo(l)}function ds(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=Yo.apply(void 0,[e].concat(n)).join(\"\"),o=Zo(i);return new Mo(o,i)}(cs=function(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=po();return\"<style \"+[n&&'nonce=\"'+n+'\"',Qi+'=\"true\"','data-styled-version=\"5.3.11\"'].filter(Boolean).join(\" \")+\">\"+t+\"</style>\"},this.getStyleTags=function(){return e.sealed?Ji(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return Ji(2);var r=((t={})[Qi]=\"\",t[\"data-styled-version\"]=\"5.3.11\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),i=po();return i&&(r.nonce=i),[n.createElement(\"style\",Bi({},r,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new vo({isServer:!0}),this.sealed=!1}.prototype).collectStyles=function(e){return this.sealed?Ji(2):n.createElement(Do,{sheet:this.instance},e)},cs.interleaveWithNodeStream=function(e){return Ji(3)};var fs=ls;const{Ay:hs,AH:ms,DU:gs,i7:ys,NP:bs}=e,vs={lessThan(e,t,n){return(...r)=>ms`\n      @media ${t?\"print, \":\"\"} screen and (max-width: ${t=>t.theme.breakpoints[e]}) ${n||\"\"} {\n        ${ms(...r)};\n      }\n    `},greaterThan(e){return(...t)=>ms`\n      @media (min-width: ${t=>t.theme.breakpoints[e]}) {\n        ${ms(...t)};\n      }\n    `},between(e,t){return(...n)=>ms`\n      @media (min-width: ${t=>t.theme.breakpoints[e]}) and (max-width: ${e=>e.theme.breakpoints[t]}) {\n        ${ms(...n)};\n      }\n    `}};var xs=hs;function ws(e){return t=>{if(t.theme.extensionsHook)return t.theme.extensionsHook(e,t)}}const ks=xs.div`\n  padding: 20px;\n  color: red;\n`;class Ss extends n.Component{constructor(e){super(e),this.state={error:void 0}}componentDidCatch(e){return this.setState({error:e}),!1}render(){return this.state.error?n.createElement(ks,null,n.createElement(\"h1\",null,\"Something went wrong...\"),n.createElement(\"small\",null,\" \",this.state.error.message,\" \"),n.createElement(\"p\",null,n.createElement(\"details\",null,n.createElement(\"summary\",null,\"Stack trace\"),n.createElement(\"pre\",null,this.state.error.stack))),n.createElement(\"small\",null,\" ReDoc Version: \",\"2.5.2\"),\" \",n.createElement(\"br\",null),n.createElement(\"small\",null,\" Commit: \",\"3462357\")):n.createElement(n.Fragment,null,n.Children.only(this.props.children))}}const Es=ys`\n  0% {\n    transform: rotate(0deg); }\n  100% {\n    transform: rotate(360deg);\n  }\n`,Os=xs((e=>n.createElement(\"svg\",{className:e.className,version:\"1.1\",width:\"512\",height:\"512\",viewBox:\"0 0 512 512\"},n.createElement(\"path\",{d:\"M275.682 147.999c0 10.864-8.837 19.661-19.682 19.661v0c-10.875 0-19.681-8.796-19.681-19.661v-96.635c0-10.885 8.806-19.661 19.681-19.661v0c10.844 0 19.682 8.776 19.682 19.661v96.635z\"}),n.createElement(\"path\",{d:\"M275.682 460.615c0 10.865-8.837 19.682-19.682 19.682v0c-10.875 0-19.681-8.817-19.681-19.682v-96.604c0-10.885 8.806-19.681 19.681-19.681v0c10.844 0 19.682 8.796 19.682 19.682v96.604z\"}),n.createElement(\"path\",{d:\"M147.978 236.339c10.885 0 19.681 8.755 19.681 19.641v0c0 10.885-8.796 19.702-19.681 19.702h-96.624c-10.864 0-19.661-8.817-19.661-19.702v0c0-10.885 8.796-19.641 19.661-19.641h96.624z\"}),n.createElement(\"path\",{d:\"M460.615 236.339c10.865 0 19.682 8.755 19.682 19.641v0c0 10.885-8.817 19.702-19.682 19.702h-96.584c-10.885 0-19.722-8.817-19.722-19.702v0c0-10.885 8.837-19.641 19.722-19.641h96.584z\"}),n.createElement(\"path\",{d:\"M193.546 165.703c7.69 7.66 7.68 20.142 0 27.822v0c-7.701 7.701-20.162 7.701-27.853 0.020l-68.311-68.322c-7.68-7.701-7.68-20.142 0-27.863v0c7.68-7.68 20.121-7.68 27.822 0l68.342 68.342z\"}),n.createElement(\"path\",{d:\"M414.597 386.775c7.7 7.68 7.7 20.163 0.021 27.863v0c-7.7 7.659-20.142 7.659-27.843-0.062l-68.311-68.26c-7.68-7.7-7.68-20.204 0-27.863v0c7.68-7.7 20.163-7.7 27.842 0l68.291 68.322z\"}),n.createElement(\"path\",{d:\"M165.694 318.464c7.69-7.7 20.153-7.7 27.853 0v0c7.68 7.659 7.69 20.163 0 27.863l-68.342 68.322c-7.67 7.659-20.142 7.659-27.822-0.062v0c-7.68-7.68-7.68-20.122 0-27.801l68.311-68.322z\"}),n.createElement(\"path\",{d:\"M386.775 97.362c7.7-7.68 20.142-7.68 27.822 0v0c7.7 7.68 7.7 20.183 0.021 27.863l-68.322 68.311c-7.68 7.68-20.163 7.68-27.843-0.020v0c-7.68-7.68-7.68-20.162 0-27.822l68.322-68.332z\"}))))`\n  animation: 2s ${Es} linear infinite;\n  width: 50px;\n  height: 50px;\n  content: '';\n  display: inline-block;\n  margin-left: -25px;\n\n  path {\n    fill: ${e=>e.color};\n  }\n`,_s=xs.div`\n  font-family: helvetica, sans;\n  width: 100%;\n  text-align: center;\n  font-size: 25px;\n  margin: 30px 0 20px 0;\n  color: ${e=>e.color};\n`;class As extends n.PureComponent{render(){return n.createElement(\"div\",{style:{textAlign:\"center\"}},n.createElement(_s,{color:this.props.color},\"Loading ...\"),n.createElement(Os,{color:this.props.color}))}}var Cs=r(5556);const js=n.createContext(new Pi({})),Ps=js.Provider,Ts=js.Consumer;var Is=r(854),Rs=r(8921),Ns=r(65),$s=(e,t,n)=>new Promise(((r,i)=>{var o=e=>{try{a(n.next(e))}catch(e){i(e)}},s=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));var Ls=r(5156),Ds=r(228),Ms=r(1095),Fs=r.n(Ms);const zs=Ms.parse;class Bs{static baseName(e,t=1){const n=Bs.parse(e);return n[n.length-t]}static dirName(e,t=1){const n=Bs.parse(e);return Ms.compile(n.slice(0,n.length-t))}static relative(e,t){const n=Bs.parse(e);return Bs.parse(t).slice(n.length)}static parse(e){let t=e;return\"#\"===t.charAt(0)&&(t=t.substring(1)),zs(t)}static join(e,t){const n=Bs.parse(e).concat(t);return Ms.compile(n)}static get(e,t){return Ms.get(e,t)}static compile(e){return Ms.compile(e)}static escape(e){return Ms.escape(e)}}Ms.parse=Bs.parse,Object.assign(Bs,Ms);var Us=r(7975),qs=r(8769),Vs=Object.defineProperty,Ws=Object.defineProperties,Hs=Object.getOwnPropertyDescriptors,Ys=Object.getOwnPropertySymbols,Gs=Object.prototype.hasOwnProperty,Qs=Object.prototype.propertyIsEnumerable,Xs=(e,t,n)=>t in e?Vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ks=(e,t)=>{for(var n in t||(t={}))Gs.call(t,n)&&Xs(e,n,t[n]);if(Ys)for(var n of Ys(t))Qs.call(t,n)&&Xs(e,n,t[n]);return e},Zs=(e,t)=>Ws(e,Hs(t));function Js(e){return\"string\"==typeof e&&/\\dxx/i.test(e)}function ea(e,t=!1){if(\"default\"===e)return t?\"error\":\"success\";let n=\"string\"==typeof e?parseInt(e,10):e;if(Js(e)&&(n*=100),n<100||n>599)throw new Error(\"invalid HTTP code\");let r=\"success\";return n>=300&&n<400?r=\"redirect\":n>=400?r=\"error\":n<200&&(r=\"info\"),r}const ta={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function na(e){return e in ta}const ra={multipleOf:\"number\",maximum:\"number\",exclusiveMaximum:\"number\",minimum:\"number\",exclusiveMinimum:\"number\",maxLength:\"string\",minLength:\"string\",pattern:\"string\",contentEncoding:\"string\",contentMediaType:\"string\",items:\"array\",maxItems:\"array\",minItems:\"array\",uniqueItems:\"array\",maxProperties:\"object\",minProperties:\"object\",required:\"object\",additionalProperties:\"object\",unevaluatedProperties:\"object\",properties:\"object\",patternProperties:\"object\"};function ia(e,t=e.type){if(e[\"x-circular-ref\"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let n=!0;const r=mi(t);return(\"object\"===t||r&&(null==t?void 0:t.includes(\"object\")))&&(n=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!mi(e.items)&&!mi(e.prefixItems)&&(void 0!==e.items&&!gi(e.items)&&(\"array\"===t||r&&(null==t?void 0:t.includes(\"array\")))&&(n=ia(e.items,e.items.type)),n)}function oa(e){return-1!==e.search(/json/i)}function sa(e,t,n){return mi(e)?e.map((e=>e.toString())).join(n):\"object\"==typeof e?Object.keys(e).map((t=>`${t}${n}${e[t]}`)).join(n):t+\"=\"+e.toString()}function aa(e,t){return mi(e)?(console.warn(\"deepObject style cannot be used with array value:\"+e.toString()),\"\"):\"object\"==typeof e?Object.keys(e).map((n=>`${t}[${n}]=${e[n]}`)).join(\"&\"):(console.warn(\"deepObject style cannot be used with non-object value:\"+e.toString()),\"\")}function la(e,t,n){const r=\"__redoc_param_name__\",i=t?\"*\":\"\";return qs.parse(`{?${r}${i}}`).expand({[r]:n}).substring(1).replace(/__redoc_param_name__/g,e)}function ca(e,t){return oa(t)?JSON.stringify(e):(console.warn(`Parameter serialization as ${t} is not supported`),\"\")}function ua(e,t){return e.in?decodeURIComponent(function(e,t){const{name:n,style:r,explode:i=!1,serializationMime:o}=e;if(o)switch(e.in){case\"path\":case\"header\":return ca(t,o);case\"cookie\":case\"query\":return`${n}=${ca(t,o)}`;default:return console.warn(\"Unexpected parameter location: \"+e.in),\"\"}if(!r)return console.warn(`Missing style attribute or content for parameter ${n}`),\"\";switch(e.in){case\"path\":return function(e,t,n,r){const i=n?\"*\":\"\";let o=\"\";\"label\"===t?o=\".\":\"matrix\"===t&&(o=\";\");const s=\"__redoc_param_name__\";return qs.parse(`{${o}${s}${i}}`).expand({[s]:r}).replace(/__redoc_param_name__/g,e)}(n,r,i,t);case\"query\":return function(e,t,n,r){switch(t){case\"form\":return la(e,n,r);case\"spaceDelimited\":return mi(r)?n?la(e,n,r):`${e}=${r.join(\"%20\")}`:(console.warn(\"The style spaceDelimited is only applicable to arrays\"),\"\");case\"pipeDelimited\":return mi(r)?n?la(e,n,r):`${e}=${r.join(\"|\")}`:(console.warn(\"The style pipeDelimited is only applicable to arrays\"),\"\");case\"deepObject\":return!n||mi(r)||\"object\"!=typeof r?(console.warn(\"The style deepObject is only applicable for objects with explode=true\"),\"\"):aa(r,e);default:return console.warn(\"Unexpected style for query: \"+t),\"\"}}(n,r,i,t);case\"header\":return function(e,t,n){if(\"simple\"===e){const e=t?\"*\":\"\",r=\"__redoc_param_name__\",i=qs.parse(`{${r}${e}}`);return decodeURIComponent(i.expand({[r]:n}))}return console.warn(\"Unexpected style for header: \"+e),\"\"}(r,i,t);case\"cookie\":return function(e,t,n,r){return\"form\"===t?la(e,n,r):(console.warn(\"Unexpected style for cookie: \"+t),\"\")}(n,r,i,t);default:return console.warn(\"Unexpected parameter location: \"+e.in),\"\"}}(e,t)):\"object\"==typeof t?t:String(t)}const pa=/^#\\/components\\/(schemas|pathItems)\\/([^/]+)$/;function da(e){return pa.test(e||\"\")}function fa(e){var t;const[n]=(null==(t=null==e?void 0:e.match(pa))?void 0:t.reverse())||[];return n}function ha(e,t,n){let r;return void 0!==t&&void 0!==n?r=t===n?`= ${t} ${e}`:`[ ${t} .. ${n} ] ${e}`:void 0!==n?r=`<= ${n} ${e}`:void 0!==t&&(r=1===t?\"non-empty\":`>= ${t} ${e}`),r}function ma(e){const t=[],n=ha(\"characters\",e.minLength,e.maxLength);void 0!==n&&t.push(n);const r=ha(\"items\",e.minItems,e.maxItems);void 0!==r&&t.push(r);const i=ha(\"properties\",e.minProperties,e.maxProperties);void 0!==i&&t.push(i);const o=function(e){if(void 0===e)return;const t=e.toString(10);return/^0\\.0*1$/.test(t)?`decimal places <= ${t.split(\".\")[1].length}`:`multiple of ${t}`}(e.multipleOf);void 0!==o&&t.push(o);const s=function(e){var t,n;const r=\"number\"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!=(t=e.minimum)?t:1/0):e.minimum,i=\"number\"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!=(n=e.maximum)?n:-1/0):e.maximum,o=\"number\"==typeof e.exclusiveMinimum||e.exclusiveMinimum,s=\"number\"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==r&&void 0!==i?`${o?\"( \":\"[ \"}${r} .. ${i}${s?\" )\":\" ]\"}`:void 0!==i?`${s?\"< \":\"<= \"}${i}`:void 0!==r?`${o?\"> \":\">= \"}${r}`:void 0}(e);return void 0!==s&&t.push(s),e.uniqueItems&&t.push(\"unique\"),t}function ga(e,t=[]){const n=[],r=[],i=[];return e.forEach((e=>{e.required?t.includes(e.name)?r.push(e):i.push(e):n.push(e)})),r.sort(((e,n)=>t.indexOf(e.name)-t.indexOf(n.name))),[...r,...i,...n]}function ya(e,t){return[...e].sort(((e,n)=>e[t].localeCompare(n[t])))}function ba(e,t){const n=void 0===e?function(e){try{const t=fi(e);return t.search=\"\",t.hash=\"\",t.toString()}catch(t){return e}}((()=>{if(!ei)return\"\";const e=window.location.href;return e.endsWith(\".html\")?(0,Us.dirname)(e):e})()):(0,Us.dirname)(e);return 0===t.length&&(t=[{url:\"/\"}]),t.map((e=>{return Zs(Ks({},e),{url:(t=e.url,function(e,t){let n;if(t.startsWith(\"//\"))try{n=`${new URL(e).protocol||\"https:\"}${t}`}catch(e){n=`https:${t}`}else if(function(e){return/(?:^[a-z][a-z0-9+.-]*:|\\/\\/)/i.test(e)}(t))n=t;else if(t.startsWith(\"/\"))try{const r=new URL(e);r.pathname=t,n=r.href}catch(e){n=t}else n=ai(e)+\"/\"+t;return ai(n)}(n,t)),description:e.description||\"\"});var t}))}const va=\"SecurityDefinitions\",xa=\"security-definitions\",wa=\"SchemaDefinition\";let ka=\"section/Authentication/\";const Sa=e=>({delete:\"del\",options:\"opts\"}[e]||e);function Ea(e,t){return Object.keys(e).filter((e=>!0===t?e.startsWith(\"x-\")&&!function(e){return e in{\"x-circular-ref\":!0,\"x-parentRefs\":!0,\"x-refsStack\":!0,\"x-code-samples\":!0,\"x-codeSamples\":!0,\"x-displayName\":!0,\"x-examples\":!0,\"x-enumDescriptions\":!0,\"x-logo\":!0,\"x-nullable\":!0,\"x-servers\":!0,\"x-tagGroups\":!0,\"x-traitTag\":!0,\"x-badges\":!0,\"x-additionalPropertiesName\":!0,\"x-explicitMappingOnly\":!0}}(e):e.startsWith(\"x-\")&&t.indexOf(e)>-1)).reduce(((t,n)=>(t[n]=e[n],t)),{})}var Oa=r(8848);r(7022),r(271),r(5624),r(4511),r(2415),r(5651),r(6378),r(4784),r(6976),r(64),r(9700),r(4312),r(596),r(2821),r(3554),r(2342),r(4113),r(1648),r(4252),r(6966),r(4793),r(83),r(2630);const _a=\"clike\";function Aa(e,t=_a){t=t.toLowerCase();let n=Oa.languages[t];return n||(n=Oa.languages[function(e){return{json:\"js\",\"c++\":\"cpp\",\"c#\":\"csharp\",\"objective-c\":\"objectivec\",shell:\"bash\",viml:\"vim\"}[e]||_a}(t)]),Oa.highlight(e.toString(),n,t)}Oa.languages.insertBefore(\"javascript\",\"string\",{\"property string\":{pattern:/([{,]\\s*)\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/i,lookbehind:!0}},void 0),Oa.languages.insertBefore(\"javascript\",\"punctuation\",{property:{pattern:/([{,]\\s*)[a-z]\\w*(?=\\s*:)/i,lookbehind:!0}},void 0);var Ca=Object.defineProperty,ja=Object.defineProperties,Pa=Object.getOwnPropertyDescriptors,Ta=Object.getOwnPropertySymbols,Ia=Object.prototype.hasOwnProperty,Ra=Object.prototype.propertyIsEnumerable,Na=(e,t,n)=>t in e?Ca(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$a=(e,t)=>{for(var n in t||(t={}))Ia.call(t,n)&&Na(e,n,t[n]);if(Ta)for(var n of Ta(t))Ra.call(t,n)&&Na(e,n,t[n]);return e},La=(e,t)=>ja(e,Pa(t));const Da={};function Ma(e,t,n){if(\"function\"==typeof n.value)return function(e,t,n){if(!n.value||n.value.length>0)throw new Error(\"@memoize decorator can only be applied to methods of zero arguments\");const r=`_memoized_${t}`,i=n.value;return e[r]=Da,La($a({},n),{value(){return this[r]===Da&&(this[r]=i.call(this)),this[r]}})}(e,t,n);if(\"function\"==typeof n.get)return function(e,t,n){const r=`_memoized_${t}`,i=n.get;return e[r]=Da,La($a({},n),{get(){return this[r]===Da&&(this[r]=i.call(this)),this[r]}})}(e,t,n);throw new Error(\"@memoize decorator can be applied to methods or getters, got \"+String(n.value)+\" instead\")}function Fa(e){let t=1;return\"-\"===e[0]&&(t=-1,e=e.substr(1)),(n,r)=>-1==t?r[e].localeCompare(n[e]):n[e].localeCompare(r[e])}var za=Object.defineProperty,Ba=Object.getOwnPropertyDescriptor;const Ua=\"hashchange\";class qa{constructor(){this.emit=()=>{this._emiter.emit(Ua,this.currentId)},this._emiter=new Ds,this.bind()}get currentId(){return ei?decodeURIComponent(window.location.hash.substring(1)):\"\"}linkForId(e){return e?\"#\"+e:\"\"}subscribe(e){const t=this._emiter.addListener(Ua,e);return()=>t.removeListener(Ua,e)}bind(){ei&&window.addEventListener(\"hashchange\",this.emit,!1)}dispose(){ei&&window.removeEventListener(\"hashchange\",this.emit)}replace(e,t=!1){ei&&null!=e&&e!==this.currentId&&(t?window.history.replaceState(null,\"\",window.location.href.split(\"#\")[0]+this.linkForId(e)):(window.history.pushState(null,\"\",window.location.href.split(\"#\")[0]+this.linkForId(e)),this.emit()))}}((e,t,n)=>{for(var r,i=Ba(t,n),o=e.length-1;o>=0;o--)(r=e[o])&&(i=r(t,n,i)||i);i&&za(t,n,i)})([Ls.bind,Ls.debounce],qa.prototype,\"replace\");const Va=new qa;var Wa=r(689);class Ha{constructor(){this.map=new Map,this.prevTerm=\"\"}add(e){this.map.set(e,new Wa(e))}delete(e){this.map.delete(e)}addOnly(e){this.map.forEach(((t,n)=>{-1===e.indexOf(n)&&(t.unmark(),this.map.delete(n))}));for(const t of e)this.map.has(t)||this.map.set(t,new Wa(t))}clearAll(){this.unmark(),this.map.clear()}mark(e){(e||this.prevTerm)&&(this.map.forEach((t=>{t.unmark(),t.mark(e||this.prevTerm)})),this.prevTerm=e||this.prevTerm)}unmark(){this.map.forEach((e=>e.unmark())),this.prevTerm=\"\"}}let Ya={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,hooks:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const Ga=/[&<>\"']/,Qa=new RegExp(Ga.source,\"g\"),Xa=/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,Ka=new RegExp(Xa.source,\"g\"),Za={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Ja=e=>Za[e];function el(e,t){if(t){if(Ga.test(e))return e.replace(Qa,Ja)}else if(Xa.test(e))return e.replace(Ka,Ja);return e}const tl=/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/gi;function nl(e){return e.replace(tl,((e,t)=>\"colon\"===(t=t.toLowerCase())?\":\":\"#\"===t.charAt(0)?\"x\"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):\"\"))}const rl=/(^|[^\\[])\\^/g;function il(e,t){e=\"string\"==typeof e?e:e.source,t=t||\"\";const n={replace:(t,r)=>(r=(r=r.source||r).replace(rl,\"$1\"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const ol=/[^\\w:]/g,sl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function al(e,t,n){if(e){let e;try{e=decodeURIComponent(nl(n)).replace(ol,\"\").toLowerCase()}catch(e){return null}if(0===e.indexOf(\"javascript:\")||0===e.indexOf(\"vbscript:\")||0===e.indexOf(\"data:\"))return null}t&&!sl.test(n)&&(n=function(e,t){ll[\" \"+e]||(cl.test(e)?ll[\" \"+e]=e+\"/\":ll[\" \"+e]=hl(e,\"/\",!0));const n=-1===(e=ll[\" \"+e]).indexOf(\":\");return\"//\"===t.substring(0,2)?n?t:e.replace(ul,\"$1\")+t:\"/\"===t.charAt(0)?n?t:e.replace(pl,\"$1\")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,\"%\")}catch(e){return null}return n}const ll={},cl=/^[^:]+:\\/*[^/]*$/,ul=/^([^:]+:)[\\s\\S]*$/,pl=/^([^:]+:\\/*[^/]*)[\\s\\S]*$/,dl={exec:function(){}};function fl(e,t){const n=e.replace(/\\|/g,((e,t,n)=>{let r=!1,i=t;for(;--i>=0&&\"\\\\\"===n[i];)r=!r;return r?\"|\":\" |\"})).split(/ \\|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length<t;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\\\\|/g,\"|\");return n}function hl(e,t,n){const r=e.length;if(0===r)return\"\";let i=0;for(;i<r;){const o=e.charAt(r-i-1);if(o!==t||n){if(o===t||!n)break;i++}else i++}return e.slice(0,r-i)}function ml(e,t){if(t<1)return\"\";let n=\"\";for(;t>1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function gl(e,t,n,r){const i=t.href,o=t.title?el(t.title):null,s=e[1].replace(/\\\\([\\[\\]])/g,\"$1\");if(\"!\"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:\"link\",raw:n,href:i,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,e}return{type:\"image\",raw:n,href:i,title:o,text:el(s)}}class yl{constructor(e){this.options=e||Ya}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?e:hl(e,\"\\n\")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split(\"\\n\").map((e=>{const t=e.match(/^\\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join(\"\\n\")}(e,t[3]||\"\");return{type:\"code\",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,\"$1\"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=hl(e,\"#\");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \\t]?/gm,\"\"),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:\"blockquote\",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,i,o,s,a,l,c,u,p,d,f,h=t[1].trim();const m=h.length>1,g={type:\"list\",raw:\"\",ordered:m,start:m?+h.slice(0,-1):\"\",loose:!1,items:[]};h=m?`\\\\d{1,9}\\\\${h.slice(-1)}`:`\\\\${h}`,this.options.pedantic&&(h=m?h:\"[*+-]\");const y=new RegExp(`^( {0,3}${h})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);for(;e&&(f=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split(\"\\n\",1)[0].replace(/^\\t+/,(e=>\" \".repeat(3*e.length))),u=e.split(\"\\n\",1)[0],this.options.pedantic?(o=2,d=c.trimLeft()):(o=t[2].search(/[^ ]/),o=o>4?1:o,d=c.slice(o),o+=t[1].length),a=!1,!c&&/^ *$/.test(u)&&(n+=u+\"\\n\",e=e.substring(u.length+1),f=!0),!f){const t=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,o-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),i=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:\\`\\`\\`|~~~)`),s=new RegExp(`^ {0,${Math.min(3,o-1)}}#`);for(;e&&(p=e.split(\"\\n\",1)[0],u=p,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g,\"  \")),!i.test(u))&&!s.test(u)&&!t.test(u)&&!r.test(e);){if(u.search(/[^ ]/)>=o||!u.trim())d+=\"\\n\"+u.slice(o);else{if(a)break;if(c.search(/[^ ]/)>=4)break;if(i.test(c))break;if(s.test(c))break;if(r.test(c))break;d+=\"\\n\"+u}a||u.trim()||(a=!0),n+=p+\"\\n\",e=e.substring(p.length+1),c=u.slice(o)}}g.loose||(l?g.loose=!0:/\\n *\\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\\[[ xX]\\] /.exec(d),r&&(i=\"[ ] \"!==r[0],d=d.replace(/^\\[[ xX]\\] +/,\"\"))),g.items.push({type:\"list_item\",raw:n,task:!!r,checked:i,loose:!1,text:d}),g.raw+=n}g.items[g.items.length-1].raw=n.trimRight(),g.items[g.items.length-1].text=d.trimRight(),g.raw=g.raw.trimRight();const b=g.items.length;for(s=0;s<b;s++)if(this.lexer.state.top=!1,g.items[s].tokens=this.lexer.blockTokens(g.items[s].text,[]),!g.loose){const e=g.items[s].tokens.filter((e=>\"space\"===e.type)),t=e.length>0&&e.some((e=>/\\n.*\\n/.test(e.raw)));g.loose=t}if(g.loose)for(s=0;s<b;s++)g.items[s].loose=!0;return g}}html(e){const t=this.rules.block.html.exec(e);if(t){const e={type:\"html\",raw:t[0],pre:!this.options.sanitizer&&(\"pre\"===t[1]||\"script\"===t[1]||\"style\"===t[1]),text:t[0]};if(this.options.sanitize){const n=this.options.sanitizer?this.options.sanitizer(t[0]):el(t[0]);e.type=\"paragraph\",e.text=n,e.tokens=this.lexer.inline(n)}return e}}def(e){const t=this.rules.block.def.exec(e);if(t){const e=t[1].toLowerCase().replace(/\\s+/g,\" \"),n=t[2]?t[2].replace(/^<(.*)>$/,\"$1\").replace(this.rules.inline._escapes,\"$1\"):\"\",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,\"$1\"):t[3];return{type:\"def\",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:\"table\",header:fl(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\\| *$/g,\"\").split(/ *\\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\\n[ \\t]*$/,\"\").split(\"\\n\"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,i,o,s=e.align.length;for(n=0;n<s;n++)/^ *-+: *$/.test(e.align[n])?e.align[n]=\"right\":/^ *:-+: *$/.test(e.align[n])?e.align[n]=\"center\":/^ *:-+ *$/.test(e.align[n])?e.align[n]=\"left\":e.align[n]=null;for(s=e.rows.length,n=0;n<s;n++)e.rows[n]=fl(e.rows[n],e.header.length).map((e=>({text:e})));for(s=e.header.length,r=0;r<s;r++)e.header[r].tokens=this.lexer.inline(e.header[r].text);for(s=e.rows.length,r=0;r<s;r++)for(o=e.rows[r],i=0;i<o.length;i++)o[i].tokens=this.lexer.inline(o[i].text);return e}}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:\"=\"===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const e=\"\\n\"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:el(t[1])}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\\/(pre|code|kbd|script)(\\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?\"text\":\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):el(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const t=hl(e.slice(0,-1),\"\\\\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,i=0;for(;i<n;i++)if(\"\\\\\"===e[i])i++;else if(e[i]===t[0])r++;else if(e[i]===t[1]&&(r--,r<0))return i;return-1}(t[2],\"()\");if(e>-1){const n=(0===t[0].indexOf(\"!\")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=\"\"}}let n=t[2],r=\"\";if(this.options.pedantic){const e=/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):\"\";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),gl(t,{href:n?n.replace(this.rules.inline._escapes,\"$1\"):n,title:r?r.replace(this.rules.inline._escapes,\"$1\"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\\s+/g,\" \");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:\"text\",raw:e,text:e}}return gl(n,e,n[0],this.lexer)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\\p{L}\\p{N}]/u))return;const i=r[1]||r[2]||\"\";if(!i||i&&(\"\"===n||this.rules.inline.punctuation.exec(n))){const n=r[0].length-1;let i,o,s=n,a=0;const l=\"*\"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=l.exec(t));){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(o=i.length,r[3]||r[4]){s+=o;continue}if((r[5]||r[6])&&n%3&&!((n+o)%3)){a+=o;continue}if(s-=o,s>0)continue;o=Math.min(o,o+s+a);const t=e.slice(0,n+r.index+(r[0].length-i.length)+o);if(Math.min(n,o)%2){const e=t.slice(1,-1);return{type:\"em\",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const l=t.slice(2,-2);return{type:\"strong\",raw:t,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\\n/g,\" \");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=el(e,!0),{type:\"codespan\",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:\"del\",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return\"@\"===n[2]?(e=el(this.options.mangle?t(n[1]):n[1]),r=\"mailto:\"+e):(e=el(n[1]),r=e),{type:\"link\",raw:n[0],text:e,href:r,tokens:[{type:\"text\",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if(\"@\"===n[2])e=el(this.options.mangle?t(n[0]):n[0]),r=\"mailto:\"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=el(n[0]),r=\"www.\"===n[1]?\"http://\"+n[0]:n[0]}return{type:\"link\",raw:n[0],text:e,href:r,tokens:[{type:\"text\",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):el(n[0]):n[0]:el(this.options.smartypants?t(n[0]):n[0]),{type:\"text\",raw:n[0],text:e}}}}const bl={newline:/^(?: *(?:\\n|$))+/,code:/^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,hr:/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,list:/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/,html:\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$))\",def:/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/,table:dl,lheading:/^((?:.|\\n(?!\\n))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,_paragraph:/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,text:/^[^\\n]+/,_label:/(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/,_title:/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/};bl.def=il(bl.def).replace(\"label\",bl._label).replace(\"title\",bl._title).getRegex(),bl.bullet=/(?:[*+-]|\\d{1,9}[.)])/,bl.listItemStart=il(/^( *)(bull) */).replace(\"bull\",bl.bullet).getRegex(),bl.list=il(bl.list).replace(/bull/g,bl.bullet).replace(\"hr\",\"\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))\").replace(\"def\",\"\\\\n+(?=\"+bl.def.source+\")\").getRegex(),bl._tag=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",bl._comment=/<!--(?!-?>)[\\s\\S]*?(?:-->|$)/,bl.html=il(bl.html,\"i\").replace(\"comment\",bl._comment).replace(\"tag\",bl._tag).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),bl.paragraph=il(bl._paragraph).replace(\"hr\",bl.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",bl._tag).getRegex(),bl.blockquote=il(bl.blockquote).replace(\"paragraph\",bl.paragraph).getRegex(),bl.normal={...bl},bl.gfm={...bl.normal,table:\"^ *([^\\\\n ].*\\\\|.*)\\\\n {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)(?:\\\\| *)?(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\"},bl.gfm.table=il(bl.gfm.table).replace(\"hr\",bl.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\" {4}[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",bl._tag).getRegex(),bl.gfm.paragraph=il(bl._paragraph).replace(\"hr\",bl.hr).replace(\"heading\",\" {0,3}#{1,6} \").replace(\"|lheading\",\"\").replace(\"table\",bl.gfm.table).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",bl._tag).getRegex(),bl.pedantic={...bl.normal,html:il(\"^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\\\"[^\\\"]*\\\"|'[^']*'|\\\\s[^'\\\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))\").replace(\"comment\",bl._comment).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:dl,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:il(bl.normal._paragraph).replace(\"hr\",bl.hr).replace(\"heading\",\" *#{1,6} *[^\\n]\").replace(\"lheading\",bl.lheading).replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").getRegex()};const vl={escape:/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,autolink:/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,url:dl,tag:\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\",link:/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,reflink:/^!?\\[(label)\\]\\[(ref)\\]/,nolink:/^!?\\[(ref)\\](?:\\[\\])?/,reflinkSearch:\"reflink|nolink(?!\\\\()\",emStrong:{lDelim:/^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,rDelimAst:/^(?:[^_*\\\\]|\\\\.)*?\\_\\_(?:[^_*\\\\]|\\\\.)*?\\*(?:[^_*\\\\]|\\\\.)*?(?=\\_\\_)|(?:[^*\\\\]|\\\\.)+(?=[^*])|[punct_](\\*+)(?=[\\s]|$)|(?:[^punct*_\\s\\\\]|\\\\.)(\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|(?:[^punct*_\\s\\\\]|\\\\.)(\\*+)(?=[^punct*_\\s])/,rDelimUnd:/^(?:[^_*\\\\]|\\\\.)*?\\*\\*(?:[^_*\\\\]|\\\\.)*?\\_(?:[^_*\\\\]|\\\\.)*?(?=\\*\\*)|(?:[^_\\\\]|\\\\.)+(?=[^_])|[punct*](\\_+)(?=[\\s]|$)|(?:[^punct*_\\s\\\\]|\\\\.)(\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,br:/^( {2,}|\\\\)\\n(?!\\s*$)/,del:dl,text:/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,punctuation:/^([\\spunctuation])/};function xl(e){return e.replace(/---/g,\"—\").replace(/--/g,\"–\").replace(/(^|[-\\u2014/(\\[{\"\\s])'/g,\"$1‘\").replace(/'/g,\"’\").replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g,\"$1“\").replace(/\"/g,\"”\").replace(/\\.{3}/g,\"…\")}function wl(e){let t,n,r=\"\";const i=e.length;for(t=0;t<i;t++)n=e.charCodeAt(t),Math.random()>.5&&(n=\"x\"+n.toString(16)),r+=\"&#\"+n+\";\";return r}vl._punctuation=\"!\\\"#$%&'()+\\\\-.,/:;<=>?@\\\\[\\\\]`^{|}~\",vl.punctuation=il(vl.punctuation).replace(/punctuation/g,vl._punctuation).getRegex(),vl.blockSkip=/\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g,vl.escapedEmSt=/(?:^|[^\\\\])(?:\\\\\\\\)*\\\\[*_]/g,vl._comment=il(bl._comment).replace(\"(?:--\\x3e|$)\",\"--\\x3e\").getRegex(),vl.emStrong.lDelim=il(vl.emStrong.lDelim).replace(/punct/g,vl._punctuation).getRegex(),vl.emStrong.rDelimAst=il(vl.emStrong.rDelimAst,\"g\").replace(/punct/g,vl._punctuation).getRegex(),vl.emStrong.rDelimUnd=il(vl.emStrong.rDelimUnd,\"g\").replace(/punct/g,vl._punctuation).getRegex(),vl._escapes=/\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g,vl._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,vl._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,vl.autolink=il(vl.autolink).replace(\"scheme\",vl._scheme).replace(\"email\",vl._email).getRegex(),vl._attribute=/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/,vl.tag=il(vl.tag).replace(\"comment\",vl._comment).replace(\"attribute\",vl._attribute).getRegex(),vl._label=/(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,vl._href=/<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/,vl._title=/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/,vl.link=il(vl.link).replace(\"label\",vl._label).replace(\"href\",vl._href).replace(\"title\",vl._title).getRegex(),vl.reflink=il(vl.reflink).replace(\"label\",vl._label).replace(\"ref\",bl._label).getRegex(),vl.nolink=il(vl.nolink).replace(\"ref\",bl._label).getRegex(),vl.reflinkSearch=il(vl.reflinkSearch,\"g\").replace(\"reflink\",vl.reflink).replace(\"nolink\",vl.nolink).getRegex(),vl.normal={...vl},vl.pedantic={...vl.normal,strong:{start:/^__|\\*\\*/,middle:/^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,endAst:/\\*\\*(?!\\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\\*/,middle:/^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,endAst:/\\*(?!\\*)/g,endUnd:/_(?!_)/g},link:il(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",vl._label).getRegex(),reflink:il(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",vl._label).getRegex()},vl.gfm={...vl.normal,escape:il(vl.escape).replace(\"])\",\"~|])\").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/},vl.gfm.url=il(vl.gfm.url,\"i\").replace(\"email\",vl.gfm._extended_email).getRegex(),vl.breaks={...vl.gfm,br:il(vl.br).replace(\"{2,}\",\"*\").getRegex(),text:il(vl.gfm.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()};class kl{constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Ya,this.options.tokenizer=this.options.tokenizer||new yl,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:bl.normal,inline:vl.normal};this.options.pedantic?(t.block=bl.pedantic,t.inline=vl.pedantic):this.options.gfm&&(t.block=bl.gfm,this.options.breaks?t.inline=vl.breaks:t.inline=vl.gfm),this.tokenizer.rules=t}static get rules(){return{block:bl,inline:vl}}static lex(e,t){return new kl(t).lex(e)}static lexInline(e,t){return new kl(t).inlineTokens(e)}lex(e){let t;for(e=e.replace(/\\r\\n|\\r/g,\"\\n\"),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens}blockTokens(e,t=[]){let n,r,i,o;for(e=this.options.pedantic?e.replace(/\\t/g,\"    \").replace(/^ +$/gm,\"\"):e.replace(/^( *)(\\t+)/gm,((e,t,n)=>t+\"    \".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+=\"\\n\":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||\"paragraph\"!==r.type&&\"text\"!==r.type?t.push(n):(r.raw+=\"\\n\"+n.raw,r.text+=\"\\n\"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||\"paragraph\"!==r.type&&\"text\"!==r.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(r.raw+=\"\\n\"+n.raw,r.text+=\"\\n\"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((function(e){r=e.call({lexer:this},n),\"number\"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(i)))r=t[t.length-1],o&&\"paragraph\"===r.type?(r.raw+=\"\\n\"+n.raw,r.text+=\"\\n\"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),o=i.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&\"text\"===r.type?(r.raw+=\"\\n\"+n.raw,r.text+=\"\\n\"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);else if(e){const t=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,i,o,s,a,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(o[0].slice(o[0].lastIndexOf(\"[\")+1,-1))&&(l=l.slice(0,o.index)+\"[\"+ml(\"a\",o[0].length-2)+\"]\"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+\"[\"+ml(\"a\",o[0].length-2)+\"]\"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,o.index+o[0].length-2)+\"++\"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(s||(a=\"\"),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&\"text\"===n.type&&\"text\"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&\"text\"===n.type&&\"text\"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,l,a))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,wl))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,wl))){if(i=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((function(e){r=e.call({lexer:this},n),\"number\"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(i,xl))e=e.substring(n.raw.length),\"_\"!==n.raw.slice(-1)&&(a=n.raw.slice(-1)),s=!0,r=t[t.length-1],r&&\"text\"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class Sl{constructor(e){this.options=e||Ya}code(e,t,n){const r=(t||\"\").match(/\\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\\n$/,\"\")+\"\\n\",r?'<pre><code class=\"'+this.options.langPrefix+el(r)+'\">'+(n?e:el(e,!0))+\"</code></pre>\\n\":\"<pre><code>\"+(n?e:el(e,!0))+\"</code></pre>\\n\"}blockquote(e){return`<blockquote>\\n${e}</blockquote>\\n`}html(e){return e}heading(e,t,n,r){return this.options.headerIds?`<h${t} id=\"${this.options.headerPrefix+r.slug(n)}\">${e}</h${t}>\\n`:`<h${t}>${e}</h${t}>\\n`}hr(){return this.options.xhtml?\"<hr/>\\n\":\"<hr>\\n\"}list(e,t,n){const r=t?\"ol\":\"ul\";return\"<\"+r+(t&&1!==n?' start=\"'+n+'\"':\"\")+\">\\n\"+e+\"</\"+r+\">\\n\"}listitem(e){return`<li>${e}</li>\\n`}checkbox(e){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\"'+(this.options.xhtml?\" /\":\"\")+\"> \"}paragraph(e){return`<p>${e}</p>\\n`}table(e,t){return t&&(t=`<tbody>${t}</tbody>`),\"<table>\\n<thead>\\n\"+e+\"</thead>\\n\"+t+\"</table>\\n\"}tablerow(e){return`<tr>\\n${e}</tr>\\n`}tablecell(e,t){const n=t.header?\"th\":\"td\";return(t.align?`<${n} align=\"${t.align}\">`:`<${n}>`)+e+`</${n}>\\n`}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return this.options.xhtml?\"<br/>\":\"<br>\"}del(e){return`<del>${e}</del>`}link(e,t,n){if(null===(e=al(this.options.sanitize,this.options.baseUrl,e)))return n;let r='<a href=\"'+e+'\"';return t&&(r+=' title=\"'+t+'\"'),r+=\">\"+n+\"</a>\",r}image(e,t,n){if(null===(e=al(this.options.sanitize,this.options.baseUrl,e)))return n;let r=`<img src=\"${e}\" alt=\"${n}\"`;return t&&(r+=` title=\"${t}\"`),r+=this.options.xhtml?\"/>\":\">\",r}text(e){return e}}class El{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return\"\"+n}image(e,t,n){return\"\"+n}br(){return\"\"}}class Ol{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\\/a-z].*?>/gi,\"\").replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g,\"\").replace(/\\s/g,\"-\")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+\"-\"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e,t={}){const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class _l{constructor(e){this.options=e||Ya,this.options.renderer=this.options.renderer||new Sl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new El,this.slugger=new Ol}static parse(e,t){return new _l(t).parse(e)}static parseInline(e,t){return new _l(t).parseInline(e)}parse(e,t=!0){let n,r,i,o,s,a,l,c,u,p,d,f,h,m,g,y,b,v,x,w=\"\";const k=e.length;for(n=0;n<k;n++)if(p=e[n],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[p.type]&&(x=this.options.extensions.renderers[p.type].call({parser:this},p),!1!==x||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"paragraph\",\"text\"].includes(p.type)))w+=x||\"\";else switch(p.type){case\"space\":continue;case\"hr\":w+=this.renderer.hr();continue;case\"heading\":w+=this.renderer.heading(this.parseInline(p.tokens),p.depth,nl(this.parseInline(p.tokens,this.textRenderer)),this.slugger);continue;case\"code\":w+=this.renderer.code(p.text,p.lang,p.escaped);continue;case\"table\":for(c=\"\",l=\"\",o=p.header.length,r=0;r<o;r++)l+=this.renderer.tablecell(this.parseInline(p.header[r].tokens),{header:!0,align:p.align[r]});for(c+=this.renderer.tablerow(l),u=\"\",o=p.rows.length,r=0;r<o;r++){for(a=p.rows[r],l=\"\",s=a.length,i=0;i<s;i++)l+=this.renderer.tablecell(this.parseInline(a[i].tokens),{header:!1,align:p.align[i]});u+=this.renderer.tablerow(l)}w+=this.renderer.table(c,u);continue;case\"blockquote\":u=this.parse(p.tokens),w+=this.renderer.blockquote(u);continue;case\"list\":for(d=p.ordered,f=p.start,h=p.loose,o=p.items.length,u=\"\",r=0;r<o;r++)g=p.items[r],y=g.checked,b=g.task,m=\"\",g.task&&(v=this.renderer.checkbox(y),h?g.tokens.length>0&&\"paragraph\"===g.tokens[0].type?(g.tokens[0].text=v+\" \"+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&\"text\"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=v+\" \"+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:\"text\",text:v}):m+=v),m+=this.parse(g.tokens,h),u+=this.renderer.listitem(m,b,y);w+=this.renderer.list(u,d,f);continue;case\"html\":w+=this.renderer.html(p.text);continue;case\"paragraph\":w+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case\"text\":for(u=p.tokens?this.parseInline(p.tokens):p.text;n+1<k&&\"text\"===e[n+1].type;)p=e[++n],u+=\"\\n\"+(p.tokens?this.parseInline(p.tokens):p.text);w+=t?this.renderer.paragraph(u):u;continue;default:{const e='Token with \"'+p.type+'\" type was not found.';if(this.options.silent)return void console.error(e);throw new Error(e)}}return w}parseInline(e,t){t=t||this.renderer;let n,r,i,o=\"\";const s=e.length;for(n=0;n<s;n++)if(r=e[n],this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]&&(i=this.options.extensions.renderers[r.type].call({parser:this},r),!1!==i||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(r.type)))o+=i||\"\";else switch(r.type){case\"escape\":case\"text\":o+=t.text(r.text);break;case\"html\":o+=t.html(r.text);break;case\"link\":o+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case\"image\":o+=t.image(r.href,r.title,r.text);break;case\"strong\":o+=t.strong(this.parseInline(r.tokens,t));break;case\"em\":o+=t.em(this.parseInline(r.tokens,t));break;case\"codespan\":o+=t.codespan(r.text);break;case\"br\":o+=t.br();break;case\"del\":o+=t.del(this.parseInline(r.tokens,t));break;default:{const e='Token with \"'+r.type+'\" type was not found.';if(this.options.silent)return void console.error(e);throw new Error(e)}}return o}}class Al{constructor(e){this.options=e||Ya}static passThroughHooks=new Set([\"preprocess\",\"postprocess\"]);preprocess(e){return e}postprocess(e){return e}}function Cl(e,t){return(n,r,i)=>{\"function\"==typeof r&&(i=r,r=null);const o={...r},s=function(e,t,n){return r=>{if(r.message+=\"\\nPlease report this to https://github.com/markedjs/marked.\",e){const e=\"<p>An error occurred:</p><pre>\"+el(r.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(e):n?void n(null,e):e}if(t)return Promise.reject(r);if(!n)throw r;n(r)}}((r={...jl.defaults,...o}).silent,r.async,i);if(null==n)return s(new Error(\"marked(): input parameter is undefined or null\"));if(\"string\"!=typeof n)return s(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(function(e){e&&e.sanitize&&!e.silent&&console.warn(\"marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options\")}(r),r.hooks&&(r.hooks.options=r),i){const o=r.highlight;let a;try{r.hooks&&(n=r.hooks.preprocess(n)),a=e(n,r)}catch(e){return s(e)}const l=function(e){let n;if(!e)try{r.walkTokens&&jl.walkTokens(a,r.walkTokens),n=t(a,r),r.hooks&&(n=r.hooks.postprocess(n))}catch(t){e=t}return r.highlight=o,e?s(e):i(null,n)};if(!o||o.length<3)return l();if(delete r.highlight,!a.length)return l();let c=0;return jl.walkTokens(a,(function(e){\"code\"===e.type&&(c++,setTimeout((()=>{o(e.text,e.lang,(function(t,n){if(t)return l(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),c--,0===c&&l()}))}),0))})),void(0===c&&l())}if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then((t=>e(t,r))).then((e=>r.walkTokens?Promise.all(jl.walkTokens(e,r.walkTokens)).then((()=>e)):e)).then((e=>t(e,r))).then((e=>r.hooks?r.hooks.postprocess(e):e)).catch(s);try{r.hooks&&(n=r.hooks.preprocess(n));const i=e(n,r);r.walkTokens&&jl.walkTokens(i,r.walkTokens);let o=t(i,r);return r.hooks&&(o=r.hooks.postprocess(o)),o}catch(e){return s(e)}}}function jl(e,t,n){return Cl(kl.lex,_l.parse)(e,t,n)}jl.options=jl.setOptions=function(e){var t;return jl.defaults={...jl.defaults,...e},t=jl.defaults,Ya=t,jl},jl.getDefaults=function(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:\"\",highlight:null,hooks:null,langPrefix:\"language-\",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},jl.defaults=Ya,jl.use=function(...e){const t=jl.defaults.extensions||{renderers:{},childTokens:{}};e.forEach((e=>{const n={...e};if(n.async=jl.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach((e=>{if(!e.name)throw new Error(\"extension name required\");if(e.renderer){const n=t.renderers[e.name];t.renderers[e.name]=n?function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:e.renderer}if(e.tokenizer){if(!e.level||\"block\"!==e.level&&\"inline\"!==e.level)throw new Error(\"extension level must be 'block' or 'inline'\");t[e.level]?t[e.level].unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(\"block\"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:\"inline\"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}e.childTokens&&(t.childTokens[e.name]=e.childTokens)})),n.extensions=t),e.renderer){const t=jl.defaults.renderer||new Sl;for(const n in e.renderer){const r=t[n];t[n]=(...i)=>{let o=e.renderer[n].apply(t,i);return!1===o&&(o=r.apply(t,i)),o}}n.renderer=t}if(e.tokenizer){const t=jl.defaults.tokenizer||new yl;for(const n in e.tokenizer){const r=t[n];t[n]=(...i)=>{let o=e.tokenizer[n].apply(t,i);return!1===o&&(o=r.apply(t,i)),o}}n.tokenizer=t}if(e.hooks){const t=jl.defaults.hooks||new Al;for(const n in e.hooks){const r=t[n];Al.passThroughHooks.has(n)?t[n]=i=>{if(jl.defaults.async)return Promise.resolve(e.hooks[n].call(t,i)).then((e=>r.call(t,e)));const o=e.hooks[n].call(t,i);return r.call(t,o)}:t[n]=(...i)=>{let o=e.hooks[n].apply(t,i);return!1===o&&(o=r.apply(t,i)),o}}n.hooks=t}if(e.walkTokens){const t=jl.defaults.walkTokens;n.walkTokens=function(n){let r=[];return r.push(e.walkTokens.call(this,n)),t&&(r=r.concat(t.call(this,n))),r}}jl.setOptions(n)}))},jl.walkTokens=function(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(jl,r)),r.type){case\"table\":for(const e of r.header)n=n.concat(jl.walkTokens(e.tokens,t));for(const e of r.rows)for(const r of e)n=n.concat(jl.walkTokens(r.tokens,t));break;case\"list\":n=n.concat(jl.walkTokens(r.items,t));break;default:jl.defaults.extensions&&jl.defaults.extensions.childTokens&&jl.defaults.extensions.childTokens[r.type]?jl.defaults.extensions.childTokens[r.type].forEach((function(e){n=n.concat(jl.walkTokens(r[e],t))})):r.tokens&&(n=n.concat(jl.walkTokens(r.tokens,t)))}return n},jl.parseInline=Cl(kl.lexInline,_l.parseInline),jl.Parser=_l,jl.parser=_l.parse,jl.Renderer=Sl,jl.TextRenderer=El,jl.Lexer=kl,jl.lexer=kl.lex,jl.Tokenizer=yl,jl.Slugger=Ol,jl.Hooks=Al,jl.parse=jl,jl.options,jl.setOptions,jl.use,jl.walkTokens,jl.parseInline,_l.parse,kl.lex;var Pl=Object.defineProperty,Tl=Object.defineProperties,Il=Object.getOwnPropertyDescriptors,Rl=Object.getOwnPropertySymbols,Nl=Object.prototype.hasOwnProperty,$l=Object.prototype.propertyIsEnumerable,Ll=(e,t,n)=>t in e?Pl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dl=(e,t)=>{for(var n in t||(t={}))Nl.call(t,n)&&Ll(e,n,t[n]);if(Rl)for(var n of Rl(t))$l.call(t,n)&&Ll(e,n,t[n]);return e},Ml=(e,t)=>Tl(e,Il(t));const Fl=new jl.Renderer;jl.setOptions({renderer:Fl,highlight:(e,t)=>Aa(e,t)});const zl=\"(?:^ {0,3}\\x3c!-- ReDoc-Inject:\\\\s+?<({component}).*?/?>\\\\s+?--\\x3e\\\\s*$|(?:^ {0,3}<({component})([\\\\s\\\\S]*?)>([\\\\s\\\\S]*?)</\\\\2>|^ {0,3}<({component})([\\\\s\\\\S]*?)(?:/>|\\\\n{2,})))\";class Bl{constructor(e,t){this.options=e,this.parentId=t,this.headings=[],this.headingRule=(e,t,n,r)=>(1===t?this.currentTopHeading=this.saveHeading(e,t):2===t&&this.saveHeading(e,t,this.currentTopHeading&&this.currentTopHeading.items,this.currentTopHeading&&this.currentTopHeading.id),this.originalHeadingRule(e,t,n,r)),this.parentId=t,this.parser=new jl.Parser,this.headingEnhanceRenderer=new jl.Renderer,this.originalHeadingRule=this.headingEnhanceRenderer.heading.bind(this.headingEnhanceRenderer),this.headingEnhanceRenderer.heading=this.headingRule}static containsComponent(e,t){return new RegExp(zl.replace(/{component}/g,t),\"gmi\").test(e)}static getTextBeforeHading(e,t){const n=e.search(new RegExp(`^##?\\\\s+${t}`,\"m\"));return n>-1?e.substring(0,n):e}saveHeading(e,t,n=this.headings,r){e=e.replace(/&#(\\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&amp;/g,\"&\").replace(/&quot;/g,'\"');const i={id:r?`${r}/${di(e)}`:`${this.parentId||\"section\"}/${di(e)}`,name:e,level:t,items:[]};return n.push(i),i}flattenHeadings(e){if(void 0===e)return[];const t=[];for(const n of e)t.push(n),t.push(...this.flattenHeadings(n.items));return t}attachHeadingsDescriptions(e){const t=e=>new RegExp(`##?\\\\s+${e.name.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}s*(\\n|\\r\\n|$|s*)`),n=this.flattenHeadings(this.headings);if(n.length<1)return;let r=n[0],i=t(r),o=e.search(i);for(let s=1;s<n.length;s++){const a=n[s],l=t(a),c=e.substr(o+1).search(l)+o+1;r.description=e.substring(o,c).replace(i,\"\").trim(),r=a,i=l,o=c}r.description=e.substring(o).replace(i,\"\").trim()}renderMd(e,t=!1){const n=t?{renderer:this.headingEnhanceRenderer}:void 0;return jl(e.toString(),n)}extractHeadings(e){this.renderMd(e,!0),this.attachHeadingsDescriptions(e);const t=this.headings;return this.headings=[],t}renderMdWithComponents(e){const t=this.options&&this.options.allowedMdComponents;if(!t||0===Object.keys(t).length)return[this.renderMd(e)];const n=Object.keys(t).join(\"|\"),r=new RegExp(zl.replace(/{component}/g,n),\"mig\"),i=[],o=[];let s=r.exec(e),a=0;for(;s;){i.push(e.substring(a,s.index)),a=r.lastIndex;const n=t[s[1]||s[2]||s[5]],l=s[3]||s[6],c=s[4];n&&o.push({component:n.component,propsSelector:n.propsSelector,props:Ml(Dl(Dl({},Ul(l)),n.props),{children:c})}),s=r.exec(e)}i.push(e.substring(a));const l=[];for(let e=0;e<i.length;e++){const t=i[e];t&&l.push(this.renderMd(t)),o[e]&&l.push(o[e])}return l}}function Ul(e){if(!e)return{};const t=/([\\w-]+)\\s*=\\s*(?:{([^}]+?)}|\"([^\"]+?)\")/gim,n={};let r;for(;null!==(r=t.exec(e));)if(r[3])n[r[1]]=r[3];else if(r[2]){let e;try{e=JSON.parse(r[2])}catch(e){}n[r[1]]=e}return n}class ql{constructor(e,t=new Pi({})){this.parser=e,this.options=t,Object.assign(this,e.spec.info),this.description=e.spec.info.description||\"\",this.summary=e.spec.info.summary||\"\";const n=this.description.search(/^\\s*##?\\s+/m);n>-1&&(this.description=this.description.substring(0,n)),this.downloadUrls=this.getDownloadUrls(),this.downloadFileName=this.getDownloadFileName()}getDownloadUrls(){return(this.options.downloadUrls?this.options.downloadUrls.map((({title:e,url:t})=>({title:e||bi(\"download\"),url:this.getDownloadLink(t)}))):[{title:bi(\"download\"),url:this.getDownloadLink(this.options.downloadDefinitionUrl)}]).filter((({title:e,url:t})=>e&&t))}getDownloadLink(e){if(e)return e;if(this.parser.specUrl)return this.parser.specUrl;if(ei&&window.Blob&&window.URL&&window.URL.createObjectURL){const e=new Blob([JSON.stringify(this.parser.spec,null,2)],{type:\"application/json\"});return window.URL.createObjectURL(e)}}getDownloadFileName(){return this.parser.specUrl||this.options.downloadDefinitionUrl?this.options.downloadFileName:this.options.downloadFileName||\"openapi.json\"}}var Vl=Object.defineProperty,Wl=Object.defineProperties,Hl=Object.getOwnPropertyDescriptors,Yl=Object.getOwnPropertySymbols,Gl=Object.prototype.hasOwnProperty,Ql=Object.prototype.propertyIsEnumerable,Xl=(e,t,n)=>t in e?Vl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class Kl{constructor(e,t){const n=t.spec.components&&t.spec.components.securitySchemes||{};this.schemes=Object.keys(e||{}).map((r=>{const{resolved:i}=t.deref(n[r]),o=e[r]||[];if(!i)return void console.warn(`Non existing security scheme referenced: ${r}. Skipping`);const s=i[\"x-displayName\"]||r;return((e,t)=>Wl(e,Hl(t)))(((e,t)=>{for(var n in t||(t={}))Gl.call(t,n)&&Xl(e,n,t[n]);if(Yl)for(var n of Yl(t))Ql.call(t,n)&&Xl(e,n,t[n]);return e})({},i),{id:r,sectionId:r,displayName:s,scopes:o})})).filter((e=>void 0!==e))}}var Zl=Object.defineProperty,Jl=Object.defineProperties,ec=Object.getOwnPropertyDescriptor,tc=Object.getOwnPropertyDescriptors,nc=Object.getOwnPropertySymbols,rc=Object.prototype.hasOwnProperty,ic=Object.prototype.propertyIsEnumerable,oc=(e,t,n)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sc=(e,t)=>{for(var n in t||(t={}))rc.call(t,n)&&oc(e,n,t[n]);if(nc)for(var n of nc(t))ic.call(t,n)&&oc(e,n,t[n]);return e},ac=(e,t)=>Jl(e,tc(t)),lc=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?ec(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&Zl(t,n,o),o};class cc{constructor(e,t,n,r,i){this.expanded=!1,this.operations=[],on(this),this.name=t;const{resolved:o}=e.deref(n);for(const n of Object.keys(o)){const s=o[n],a=Object.keys(s).filter(na);for(const o of a){const a=s[o],l=new Du(e,ac(sc({},a),{pathName:n,pointer:Bs.compile([r,t,n,o]),httpVerb:o,pathParameters:s.parameters||[],pathServers:s.servers}),void 0,i,!0);this.operations.push(l)}}}toggle(){this.expanded=!this.expanded}}lc([Te],cc.prototype,\"expanded\",2),lc([Pt],cc.prototype,\"toggle\",1);var uc=Object.defineProperty,pc=Object.defineProperties,dc=Object.getOwnPropertyDescriptors,fc=Object.getOwnPropertySymbols,hc=Object.prototype.hasOwnProperty,mc=Object.prototype.propertyIsEnumerable,gc=(e,t,n)=>t in e?uc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yc=(e,t)=>{for(var n in t||(t={}))hc.call(t,n)&&gc(e,n,t[n]);if(fc)for(var n of fc(t))mc.call(t,n)&&gc(e,n,t[n]);return e},bc=(e,t)=>pc(e,dc(t)),vc=(e,t)=>{var n={};for(var r in e)hc.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&fc)for(var r of fc(e))t.indexOf(r)<0&&mc.call(e,r)&&(n[r]=e[r]);return n};function xc(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function wc(e,t){return t?e.concat(t):e}class kc{constructor(e,t,n=new Pi({})){this.options=n,this.allowMergeRefs=!1,this.byRef=e=>{let t;if(this.spec){\"#\"!==e.charAt(0)&&(e=\"#\"+e),e=decodeURIComponent(e);try{t=Bs.get(this.spec,e)}catch(e){}return t||{}}},this.validate(e),this.spec=e,this.allowMergeRefs=e.openapi.startsWith(\"3.1\");const r=ei?window.location.href:\"\";\"string\"==typeof t&&(this.specUrl=r?new URL(t,r).href:t)}validate(e){if(void 0===e.openapi)throw new Error(\"Document must be valid OpenAPI 3.0.0 definition\")}isRef(e){return!!e&&void 0!==e.$ref&&null!==e.$ref}deref(e,t=[],n=!1){const r=null==e?void 0:e[\"x-refsStack\"];if(t=wc(t,r),this.isRef(e)){const r=fa(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:\"object\",title:r},refsStack:t};let i=this.byRef(e.$ref);if(!i)throw new Error(`Failed to resolve $ref \"${e.$ref}\"`);let o=t;if(t.includes(e.$ref)||t.length>999)i=Object.assign({},i,{\"x-circular-ref\":!0});else if(this.isRef(i)){const e=this.deref(i,t,n);o=e.refsStack,i=e.resolved}return o=xc(t,e.$ref),i=this.allowMergeRefs?this.mergeRefs(e,i,n):i,{resolved:i,refsStack:o}}return{resolved:e,refsStack:wc(t,r)}}mergeRefs(e,t,n){const r=e,{$ref:i}=r,o=vc(r,[\"$ref\"]),s=Object.keys(o);if(0===s.length)return t;if(n&&s.some((e=>![\"description\",\"title\",\"externalDocs\",\"x-refsStack\",\"x-parentRefs\",\"readOnly\",\"writeOnly\"].includes(e)))){const e=o,{description:n,title:r,readOnly:i,writeOnly:s}=e;return{allOf:[{description:n,title:r,readOnly:i,writeOnly:s},t,vc(e,[\"description\",\"title\",\"readOnly\",\"writeOnly\"])]}}return yc(yc({},t),o)}mergeAllOf(e,t,n){var r;if(e[\"x-circular-ref\"])return e;if(void 0===(e=this.hoistOneOfs(e,n)).allOf)return e;let i=bc(yc({},e),{\"x-parentRefs\":[],allOf:void 0,title:e.title||fa(t)});void 0!==i.properties&&\"object\"==typeof i.properties&&(i.properties=yc({},i.properties)),void 0!==i.items&&\"object\"==typeof i.items&&(i.items=yc({},i.items));const o=function(e){const t=new Set;return e.filter((e=>{const n=e.$ref;return!n||n&&!t.has(n)&&t.add(n)}))}(e.allOf.map((e=>{var t;const{resolved:r,refsStack:o}=this.deref(e,n,!0),s=e.$ref||void 0,a=this.mergeAllOf(r,s,o);if(!a[\"x-circular-ref\"]||!a.allOf)return s&&(null==(t=i[\"x-parentRefs\"])||t.push(...a[\"x-parentRefs\"]||[],s)),{$ref:s,refsStack:xc(o,s),schema:a}})).filter((e=>void 0!==e)));for(const{schema:e,refsStack:n}of o){const o=e,{type:s,enum:a,properties:l,items:c,required:u,title:p,description:d,readOnly:f,writeOnly:h,oneOf:m,anyOf:g,\"x-circular-ref\":y}=o,b=vc(o,[\"type\",\"enum\",\"properties\",\"items\",\"required\",\"title\",\"description\",\"readOnly\",\"writeOnly\",\"oneOf\",\"anyOf\",\"x-circular-ref\"]);if(i.type!==s&&void 0!==i.type&&void 0!==s&&console.warn(`Incompatible types in allOf at \"${t}\": \"${i.type}\" and \"${s}\"`),void 0!==s&&(Array.isArray(s)&&Array.isArray(i.type)?i.type=[...s,...i.type]:i.type=s),void 0!==a&&(Array.isArray(a)&&Array.isArray(i.enum)?i.enum=Array.from(new Set([...a,...i.enum])):i.enum=a),void 0!==l&&\"object\"==typeof l){i.properties=i.properties||{};for(const e in l){const o=wc(n,null==(r=l[e])?void 0:r[\"x-refsStack\"]);if(i.properties[e]){if(!y){const n=this.mergeAllOf({allOf:[i.properties[e],bc(yc({},l[e]),{\"x-refsStack\":o})],\"x-refsStack\":o},t+\"/properties/\"+e,o);i.properties[e]=n}}else i.properties[e]=bc(yc({},l[e]),{\"x-refsStack\":o})}}if(void 0!==c&&!y){const r=\"boolean\"==typeof i.items?{}:Object.assign({},i.items),o=\"boolean\"==typeof e.items?{}:Object.assign({},e.items);i.items=this.mergeAllOf({allOf:[r,o]},t+\"/items\",n)}void 0!==m&&(i.oneOf=m),void 0!==g&&(i.anyOf=g),void 0!==u&&(i.required=[...i.required||[],...u]),i=yc(bc(yc({},i),{title:i.title||p,description:i.description||d,readOnly:void 0!==i.readOnly?i.readOnly:f,writeOnly:void 0!==i.writeOnly?i.writeOnly:h,\"x-circular-ref\":i[\"x-circular-ref\"]||y}),b)}return i}findDerived(e){const t={},n=this.spec.components&&this.spec.components.schemas||{};for(const r in n){const{resolved:i}=this.deref(n[r]);void 0!==i.allOf&&i.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t[\"#/components/schemas/\"+r]=[i[\"x-discriminator-value\"]||r])}return t}hoistOneOfs(e,t){if(void 0===e.allOf)return e;const n=e.allOf;for(let e=0;e<n.length;e++){const r=n[e],{oneOf:i}=r,o=vc(r,[\"oneOf\"]);if(i&&Array.isArray(i)){const r=n.slice(0,e),s=n.slice(e+1),a=Object.keys(o).length>0?[o]:[];return{oneOf:i.map((e=>({allOf:[...r,...a,e,...s],\"x-refsStack\":t})))}}}return e}}var Sc=Object.defineProperty,Ec=Object.defineProperties,Oc=Object.getOwnPropertyDescriptor,_c=Object.getOwnPropertyDescriptors,Ac=Object.getOwnPropertySymbols,Cc=Object.prototype.hasOwnProperty,jc=Object.prototype.propertyIsEnumerable,Pc=(e,t,n)=>t in e?Sc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Tc=(e,t)=>{for(var n in t||(t={}))Cc.call(t,n)&&Pc(e,n,t[n]);if(Ac)for(var n of Ac(t))jc.call(t,n)&&Pc(e,n,t[n]);return e},Ic=(e,t)=>Ec(e,_c(t)),Rc=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?Oc(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&Sc(t,n,o),o};const Nc=class e{constructor(e,t,n,r,i=!1,o=[]){this.options=r,this.refsStack=o,this.typePrefix=\"\",this.isCircular=!1,this.activeOneOf=0,on(this),this.pointer=t.$ref||n||\"\";const{resolved:s,refsStack:a}=e.deref(t,o,!0);this.refsStack=xc(a,this.pointer),this.rawSchema=s,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,i),r.showExtensions&&(this.extensions=Ea(this.schema,r.showExtensions))}activateOneOf(e){this.activeOneOf=e}hasType(e){return this.type===e||mi(this.type)&&this.type.includes(e)}init(t,n){var r,i,o,s,a,l,c,u;const p=this.schema;if(this.isCircular=!!p[\"x-circular-ref\"],this.title=p.title||da(this.pointer)&&Bs.baseName(this.pointer)||\"\",this.description=p.description||\"\",this.type=p.type||function(e){if(void 0!==e.type&&!mi(e.type))return e.type;const t=Object.keys(ra);for(const n of t){const t=ra[n];if(void 0!==e[n])return t}return\"any\"}(p),this.format=p.format,this.enum=p.enum||[],this[\"x-enumDescriptions\"]=p[\"x-enumDescriptions\"],this.example=p.example,this.examples=p.examples,this.deprecated=!!p.deprecated,this.pattern=p.pattern,this.externalDocs=p.externalDocs,this.constraints=ma(p),this.displayFormat=this.format,this.isPrimitive=ia(p,this.type),this.default=p.default,this.readOnly=!!p.readOnly,this.writeOnly=!!p.writeOnly,this.const=p.const||\"\",this.contentEncoding=p.contentEncoding,this.contentMediaType=p.contentMediaType,this.minItems=p.minItems,this.maxItems=p.maxItems,(p.nullable||p[\"x-nullable\"])&&(mi(this.type)&&!this.type.some((e=>null===e||\"null\"===e))?this.type=[...this.type,\"null\"]:mi(this.type)||null===this.type&&\"null\"===this.type||(this.type=[this.type,\"null\"])),this.displayType=mi(this.type)?this.type.map((e=>null===e?\"null\":e)).join(\" or \"):this.type,!this.isCircular)if(p.if&&p.then||p.if&&p.else)this.initConditionalOperators(p,t);else if(n||void 0===Dc(p)){if(n&&mi(p.oneOf)&&p.oneOf.find((e=>e.$ref===this.pointer))&&delete p.oneOf,void 0!==p.oneOf)return this.initOneOf(p.oneOf,t),this.oneOfType=\"One of\",void(void 0!==p.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${this.pointer}`));if(void 0!==p.anyOf)return this.initOneOf(p.anyOf,t),void(this.oneOfType=\"Any of\");if(this.hasType(\"object\"))this.fields=Lc(t,p,this.pointer,this.options,this.refsStack);else if(this.hasType(\"array\")&&(mi(p.items)||mi(p.prefixItems)?this.fields=Lc(t,p,this.pointer,this.options,this.refsStack):p.items&&(this.items=new e(t,p.items,this.pointer+\"/items\",this.options,!1,this.refsStack)),this.displayType=p.prefixItems||mi(p.items)?\"items\":((null==(r=this.items)?void 0:r.displayType)||this.displayType).split(\" or \").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,\"$1s$2\"))).join(\" or \"),this.displayFormat=(null==(i=this.items)?void 0:i.format)||\"\",this.typePrefix=(null==(o=this.items)?void 0:o.typePrefix)||\"\"+bi(\"arrayOf\"),this.title=this.title||(null==(s=this.items)?void 0:s.title)||\"\",this.isPrimitive=void 0!==(null==(a=this.items)?void 0:a.isPrimitive)?null==(l=this.items)?void 0:l.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null==(c=this.items)?void 0:c.example)&&(this.example=[this.items.example]),(null==(u=this.items)?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this[\"x-enumDescriptions\"]=this.items[\"x-enumDescriptions\"]),mi(this.type))){const e=this.type.filter((e=>\"array\"!==e));e.length&&(this.displayType+=` or ${e.join(\" or \")}`)}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(p,t)}initOneOf(t,n){if(this.oneOf=t.map(((t,r)=>{const{resolved:i,refsStack:o}=n.deref(t,this.refsStack,!0),s=n.mergeAllOf(i,this.pointer+\"/oneOf/\"+r,o),a=da(t.$ref)&&!s.title?Bs.baseName(t.$ref):`${s.title||\"\"}${void 0!==s.const&&JSON.stringify(s.const)||\"\"}`;return new e(n,Ic(Tc({},s),{title:a,allOf:[Ic(Tc({},this.schema),{oneOf:void 0,anyOf:void 0})],discriminator:i.allOf?void 0:s.discriminator}),t.$ref||this.pointer+\"/oneOf/\"+r,this.options,!1,o)})),this.options.simpleOneOfTypeLabel){const e=function(e){const t=new Set;return function e(n){for(const r of n.oneOf||[])r.oneOf?e(r):r.type&&t.add(r.type)}(e),Array.from(t.values())}(this);this.displayType=e.join(\" or \")}else this.displayType=this.oneOf.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(\" or \")>-1&&(t=`(${t})`),t})).join(\" or \")}initDiscriminator(t,n){const r=Dc(t);this.discriminatorProp=r.propertyName;const i=n.findDerived([...this.schema[\"x-parentRefs\"]||[],this.pointer]);if(t.oneOf)for(const e of t.oneOf){if(void 0===e.$ref)continue;const t=Bs.baseName(e.$ref);i[e.$ref]=t}const o=r.mapping||{};let s=r[\"x-explicitMappingOnly\"]||!1;0===Object.keys(o).length&&(s=!1);const a={};for(const e in o){const t=o[e];mi(a[t])?a[t].push(e):a[t]=[e]}const l=Tc(s?{}:Tc({},i),a);let c=[];for(const e of Object.keys(l)){const t=l[e];if(mi(t))for(const n of t)c.push({$ref:e,name:n});else c.push({$ref:e,name:t})}const u=Object.keys(o);0!==u.length&&(c=c.sort(((e,t)=>{const n=u.indexOf(e.name),r=u.indexOf(t.name);return n<0&&r<0?e.name.localeCompare(t.name):n<0?1:r<0?-1:n-r}))),this.oneOf=c.map((({$ref:t,name:r})=>{const i=new e(n,{$ref:t},t,this.options,!0,this.refsStack.slice(0,-1));return i.title=r,i}))}initConditionalOperators(t,n){const r=t,{if:i,else:o={},then:s={}}=r,a=((e,t)=>{var n={};for(var r in e)Cc.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ac)for(var r of Ac(e))t.indexOf(r)<0&&jc.call(e,r)&&(n[r]=e[r]);return n})(r,[\"if\",\"else\",\"then\"]),l=[{allOf:[a,s,i],title:i&&i[\"x-displayName\"]||(null==i?void 0:i.title)||\"case 1\"},{allOf:[a,o],title:o&&o[\"x-displayName\"]||(null==o?void 0:o.title)||\"case 2\"}];this.oneOf=l.map(((t,r)=>new e(n,Tc({},t),this.pointer+\"/oneOf/\"+r,this.options,!1,this.refsStack))),this.oneOfType=\"One of\"}};Rc([Te],Nc.prototype,\"activeOneOf\",2),Rc([Pt],Nc.prototype,\"activateOneOf\",1);let $c=Nc;function Lc(e,t,n,r,i){const o=t.properties||t.prefixItems||t.items||{},s=t.patternProperties||{},a=t.additionalProperties||t.unevaluatedProperties,l=t.prefixItems?t.items:t.additionalItems,c=t.default;let u=Object.keys(o||[]).map((s=>{let a=o[s];a||(console.warn(`Field \"${s}\" is invalid, skipping.\\n Field must be an object but got ${typeof a} at \"${n}\"`),a={});const l=void 0!==t.required&&t.required.indexOf(s)>-1;return new Vc(e,{name:t.properties?s:`[${s}]`,required:l,schema:Ic(Tc({},a),{default:void 0===a.default&&c?c[s]:a.default})},n+\"/properties/\"+s,r,i)}));return r.sortPropsAlphabetically&&(u=ya(u,\"name\")),r.sortRequiredPropsFirst&&(u=ga(u,r.sortPropsAlphabetically?void 0:t.required)),u.push(...Object.keys(s).map((t=>{let o=s[t];return o||(console.warn(`Field \"${t}\" is invalid, skipping.\\n Field must be an object but got ${typeof o} at \"${n}\"`),o={}),new Vc(e,{name:t,required:!1,schema:o,kind:\"patternProperties\"},`${n}/patternProperties/${t}`,r,i)}))),\"object\"!=typeof a&&!0!==a||u.push(new Vc(e,{name:(\"object\"==typeof a&&a[\"x-additionalPropertiesName\"]||\"property name\").concat(\"*\"),required:!1,schema:!0===a?{}:a,kind:\"additionalProperties\"},n+\"/additionalProperties\",r,i)),u.push(...function({parser:e,schema:t=!1,fieldsCount:n,$ref:r,options:i,refsStack:o}){return gi(t)?t?[new Vc(e,{name:`[${n}...]`,schema:{}},`${r}/additionalItems`,i,o)]:[]:mi(t)?[...t.map(((t,s)=>new Vc(e,{name:`[${n+s}]`,schema:t},`${r}/additionalItems`,i,o)))]:ui(t)?[new Vc(e,{name:`[${n}...]`,schema:t},`${r}/additionalItems`,i,o)]:[]}({parser:e,schema:l,fieldsCount:u.length,$ref:n,options:r,refsStack:i})),u}function Dc(e){return e.discriminator||e[\"x-discriminator\"]}const Mc={};class Fc{constructor(e,t,n,r){this.mime=n;const{resolved:i}=e.deref(t);this.value=i.value,this.summary=i.summary,this.description=i.description,i.externalValue&&(this.externalValueUrl=new URL(i.externalValue,e.specUrl).href),\"application/x-www-form-urlencoded\"===n&&this.value&&\"object\"==typeof this.value&&(this.value=function(e,t={}){if(mi(e))throw new Error(\"Payload must have fields: \"+e.toString());return Object.keys(e).map((n=>{const r=e[n],{style:i=\"form\",explode:o=!0}=t[n]||{};switch(i){case\"form\":return la(n,o,r);case\"spaceDelimited\":return sa(r,n,\"%20\");case\"pipeDelimited\":return sa(r,n,\"|\");case\"deepObject\":return aa(r,n);default:return console.warn(\"Incorrect or unsupported encoding style: \"+i),\"\"}})).join(\"&\")}(this.value,r))}getExternalValue(e){return this.externalValueUrl?(this.externalValueUrl in Mc||(Mc[this.externalValueUrl]=fetch(this.externalValueUrl).then((t=>t.text().then((n=>{if(!t.ok)return Promise.reject(new Error(n));if(!oa(e))return n;try{return JSON.parse(n)}catch(e){return n}}))))),Mc[this.externalValueUrl]):Promise.resolve(void 0)}}var zc=Object.defineProperty,Bc=Object.getOwnPropertyDescriptor,Uc=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?Bc(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&zc(t,n,o),o};const qc={path:{style:\"simple\",explode:!1},query:{style:\"form\",explode:!0},header:{style:\"simple\",explode:!1},cookie:{style:\"form\",explode:!0}};class Vc{constructor(e,t,n,r,i){var o,s,a,l,c;this.expanded=void 0,on(this);const{resolved:u}=e.deref(t);this.kind=t.kind||\"field\",this.name=t.name||u.name,this.in=u.in,this.required=!!u.required;let p=u.schema,d=\"\";if(!p&&u.in&&u.content&&(d=Object.keys(u.content)[0],p=u.content[d]&&u.content[d].schema),this.schema=new $c(e,p||{},n,r,!1,i),this.description=void 0===u.description?this.schema.description||\"\":u.description,this.example=u.example||this.schema.example,void 0!==u.examples||void 0!==this.schema.examples){const t=u.examples||this.schema.examples;this.examples=mi(t)?t:si(t,((t,n)=>new Fc(e,t,n,u.encoding)))}d?this.serializationMime=d:u.style?this.style=u.style:this.in&&(this.style=null!=(s=null==(o=qc[this.in])?void 0:o.style)?s:\"form\"),void 0===u.explode&&this.in?this.explode=null==(l=null==(a=qc[this.in])?void 0:a.explode)||l:this.explode=!!u.explode,this.deprecated=void 0===u.deprecated?!!this.schema.deprecated:u.deprecated,r.showExtensions&&(this.extensions=Ea(u,r.showExtensions)),this.const=(null==(c=this.schema)?void 0:c.const)||(null==u?void 0:u.const)||\"\"}toggle(){this.expanded=!this.expanded}collapse(){this.expanded=!1}expand(){this.expanded=!0}}Uc([Te],Vc.prototype,\"expanded\",2),Uc([Pt],Vc.prototype,\"toggle\",1),Uc([Pt],Vc.prototype,\"collapse\",1),Uc([Pt],Vc.prototype,\"expand\",1);const Wc=Symbol(\"skip\");function Hc(e){return e<10?\"0\"+e:e}function Yc(e,t){return t>e.length?e.repeat(Math.trunc(t/e.length)+1).substring(0,t):e}function Gc(...e){const t=e=>e&&\"object\"==typeof e;return e.reduce(((e,n)=>(Object.keys(n||{}).forEach((r=>{const i=e[r],o=n[r];t(i)&&t(o)?e[r]=Gc(i,o):e[r]=o})),e)),Array.isArray(e[e.length-1])?[]:{})}function Qc(e){return{value:\"object\"===e?{}:\"array\"===e?[]:void 0}}function Xc(e,t){t&&e.pop()}function Kc(e,t={},n={}){const{value:r}=e,{propertyName:i}=n,{name:o,prefix:s,namespace:a,attribute:l,wrapped:c}=function(e){return{name:e?.xml?.name||\"\",prefix:e?.xml?.prefix||\"\",namespace:e?.xml?.namespace||null,attribute:e?.xml?.attribute??!1,wrapped:e?.xml?.wrapped??!1}}(t);let u=o||i?`${s?s+\":\":\"\"}${o||i}`:null,p=\"object\"==typeof r?Array.isArray(r)?[...r]:{...r}:r;return l&&u&&(u=`$${u}`),a&&(\"object\"==typeof p?p[\"$xmlns\"+(s?\":\"+s:\"\")]=a:p={[\"$xmlns\"+(s?\":\"+s:\"\")]:a,\"#text\":p}),\"array\"===t.type&&(c&&Array.isArray(p)&&(p={[u]:[...p]}),c||(u=null),void 0===t.example||c||(u=t.items?.xml?.name||u)),(t.oneOf||t.anyOf||t.allOf||t.$ref)&&(u=null),{propertyName:u,value:p}}const Zc={multipleOf:\"number\",maximum:\"number\",exclusiveMaximum:\"number\",minimum:\"number\",exclusiveMinimum:\"number\",maxLength:\"string\",minLength:\"string\",pattern:\"string\",items:\"array\",maxItems:\"array\",minItems:\"array\",uniqueItems:\"array\",additionalItems:\"array\",maxProperties:\"object\",minProperties:\"object\",required:\"object\",additionalProperties:\"object\",properties:\"object\",patternProperties:\"object\",dependencies:\"object\"};function Jc(e){if(void 0!==e.type)return Array.isArray(e.type)?0===e.type.length?null:e.type[0]:e.type;const t=Object.keys(Zc);for(var n=0;n<t.length;n++){let r=t[n],i=Zc[r];if(void 0!==e[r])return i}return null}let eu={},tu=[];function nu(e){let t;return void 0!==e.const?t=e.const:void 0!==e.examples&&e.examples.length?t=e.examples[0]:void 0!==e.enum&&e.enum.length?t=e.enum[0]:void 0!==e.default&&(t=e.default),t}function ru(e){const t=nu(e);if(void 0!==t)return{value:t,readOnly:e.readOnly,writeOnly:e.writeOnly,type:null}}function iu(e,t,n,r){if(r){if(tu.includes(e))return Qc(Jc(e));tu.push(e)}if(r&&r.depth>t.maxSampleDepth)return Xc(tu,r),Qc(Jc(e));if(e.$ref){if(!n)throw new Error(\"Your schema contains $ref. You must provide full specification in the third parameter.\");let i=decodeURIComponent(e.$ref);i.startsWith(\"#\")&&(i=i.substring(1));const o=Fs().get(n,i);let s;if(!0!==eu[i]){eu[i]=!0;const e=iu(o,t,n,r);if(\"xml\"===t.format){const{propertyName:t,value:n}=Kc(e,o,r);s={...e,value:{[t||\"root\"]:n}}}else s=e;eu[i]=!1}else s=Qc(Jc(o));return Xc(tu,r),s}if(void 0!==e.example)return Xc(tu,r),{value:e.example,readOnly:e.readOnly,writeOnly:e.writeOnly,type:e.type};if(void 0!==e.allOf)return Xc(tu,r),ru(e)||function(e,t,n,r,i){let o=iu(e,n,r);const s=[];for(let e of t){const{type:t,readOnly:a,writeOnly:l,value:c}=iu({type:o.type,...e},n,r,{...i,isAllOfChild:!0});o.type&&t&&t!==o.type&&(console.warn(\"allOf: schemas with different types can't be merged\"),o.type=t),o.type=o.type||t,o.readOnly=o.readOnly||a,o.writeOnly=o.writeOnly||l,null!=c&&s.push(c)}if(\"object\"===o.type){o.value=Gc(o.value||{},...s.filter((e=>\"object\"==typeof e)));for(const e in o.value)o.value[e]===Wc&&delete o.value[e];return o}{\"array\"===o.type&&(n.quiet||console.warn('OpenAPI Sampler: found allOf with \"array\" type. Result may be incorrect'));const e=s[s.length-1];return o.value=null!=e?e:o.value,o}}({...e,allOf:void 0},e.allOf,t,n,r);if(e.oneOf&&e.oneOf.length)return e.anyOf&&(t.quiet||console.warn(\"oneOf and anyOf are not supported on the same level. Skipping anyOf\")),Xc(tu,r),s(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.oneOf[0]));if(e.anyOf&&e.anyOf.length)return Xc(tu,r),s(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.anyOf[0]));if(e.if&&e.then){Xc(tu,r);const{if:i,then:o,...s}=e;return iu(Gc(s,i,o),t,n,r)}let i=nu(e),o=null;if(void 0===i){i=null,o=e.type,Array.isArray(o)&&e.type.length>0&&(o=e.type[0]),o||(o=Jc(e));let s=du[o];s&&(i=s(e,t,n,r))}return Xc(tu,r),{value:i,readOnly:e.readOnly,writeOnly:e.writeOnly,type:o};function s(e,i){const o=ru(e);if(void 0!==o)return o;const s=iu({...e,oneOf:void 0,anyOf:void 0},t,n,r),a=iu(i,t,n,r);if(\"object\"==typeof s.value&&\"object\"==typeof a.value){const e=Gc(s.value,a.value);return{...a,value:e}}return a}}function ou(e){let t=0;if(\"number\"!==e.type||\"float\"!==e.format&&\"double\"!==e.format||(t=.1),\"boolean\"==typeof e.exclusiveMinimum||\"boolean\"==typeof e.exclusiveMaximum){if(e.maximum&&e.minimum)return t=e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum,(e.exclusiveMaximum&&t>=e.maximum||!e.exclusiveMaximum&&t>e.maximum)&&(t=(e.maximum+e.minimum)/2),t;if(e.minimum)return e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum;if(e.maximum)return e.exclusiveMaximum?e.maximum>0?0:Math.floor(e.maximum)-1:e.maximum>0?0:e.maximum}else{if(e.minimum)return e.minimum;e.exclusiveMinimum?(t=Math.floor(e.exclusiveMinimum)+1,t===e.exclusiveMaximum&&(t=(t+Math.floor(e.exclusiveMaximum)-1)/2)):e.exclusiveMaximum?t=Math.floor(e.exclusiveMaximum)-1:e.maximum&&(t=e.maximum)}return t}function su(e,t){return e}function au(e,t,n){let r=1;if(e)switch(e){case\"?\":r=0;break;case\"*\":r=su(0);break;case\"+\":r=su(1);break;default:throw new Error(\"Unknown quantifier symbol provided.\")}else null!=t&&null!=n?r=su(parseInt(t),parseInt(n)):null!=t&&null==n&&(r=parseInt(t));return r}function lu({min:e,max:t,omitTime:n,omitDate:r}){let i=function(e,t,n){var r=n?\"\":e.getUTCFullYear()+\"-\"+Hc(e.getUTCMonth()+1)+\"-\"+Hc(e.getUTCDate());return t||(r+=\"T\"+Hc(e.getUTCHours())+\":\"+Hc(e.getUTCMinutes())+\":\"+Hc(e.getUTCSeconds())+\"Z\"),r}(new Date(\"2019-08-24T14:15:22.123Z\"),n,r);return i.length<e&&console.warn(`Using minLength = ${e} is incorrect with format \"date-time\"`),t&&i.length>t&&console.warn(`Using maxLength = ${t} is incorrect with format \"date-time\"`),i}function cu(e,t,n,r,i=!1){if(r&&i)return function(e){let t,n,r,i=!1;e instanceof RegExp&&(i=e.flags.includes(\"i\"),e=e.toString(),e=e.match(/\\/(.+?)\\//)?.[1]??\"\");const o=/([.A-Za-z0-9])(?:\\{(\\d+)(?:\\,(\\d+)|)\\}|(\\?|\\*|\\+))(?![^[]*]|[^{]*})/;let s=(e=e.replace(/^(\\^)?(.*?)(\\$)?$/,\"$2\")).match(o);for(;null!=s;){const t=s[2],n=s[3];r=au(s[4],t,n),e=e.slice(0,s.index)+s[1].repeat(r)+e.slice(s.index+s[0].length),s=e.match(o)}const a=/(\\d-\\d|\\w-\\w|\\d|\\w|[-!@#$&()`.+,/\"])/,l=/\\[(\\^|)(-|)(.+?)\\](?:\\{(\\d+)(?:\\,(\\d+)|)\\}|(\\?|\\*|\\+)|)/;for(s=e.match(l);null!=s;){const o=\"^\"===s[1],c=\"-\"===s[2],u=s[4],p=s[5],d=s[6],f=[];let h=s[3],m=h.match(a);for(c&&f.push(45);null!=m;){if(-1===m[0].indexOf(\"-\"))i&&isNaN(Number(m[0]))?(f.push(m[0].toUpperCase().charCodeAt(0)),f.push(m[0].toLowerCase().charCodeAt(0))):f.push(m[0].charCodeAt(0));else{const e=m[0].split(\"-\").map((e=>e.charCodeAt(0)));if(t=e[0],n=e[1],t>n)throw new Error(\"Character range provided is out of order.\");for(let e=t;e<=n;e++)if(i&&isNaN(Number(String.fromCharCode(e)))){const t=String.fromCharCode(e);f.push(t.toUpperCase().charCodeAt(0)),f.push(t.toLowerCase().charCodeAt(0))}else f.push(e)}h=h.substring(m[0].length),m=h.match(a)}if(r=au(d,u,p),o){let e=-1;for(let t=48;t<=57;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t);for(let t=65;t<=90;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t);for(let t=97;t<=122;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t)}const g=Array.from({length:r},(()=>String.fromCharCode(f[su(0,f.length)]))).join(\"\");s=(e=e.slice(0,s.index)+g+e.slice(s.index+s[0].length)).match(l)}const c=/(.)\\{(\\d+)\\,(\\d+)\\}/;for(s=e.match(c);null!=s;){if(t=parseInt(s[2]),n=parseInt(s[3]),t>n)throw new Error(\"Numbers out of order in {} quantifier.\");r=su(t),e=e.slice(0,s.index)+s[1].repeat(r)+e.slice(s.index+s[0].length),s=e.match(c)}const u=/(.)\\{(\\d+)\\}/;for(s=e.match(u);null!=s;)r=parseInt(s[2]),e=e.slice(0,s.index)+s[1].repeat(r)+e.slice(s.index+s[0].length),s=e.match(u);return e}(r);let o=Yc(\"string\",e);return t&&o.length>t&&(o=o.substring(0,t)),o}const uu={email:function(){return\"user@example.com\"},\"idn-email\":function(){return\"пошта@укр.нет\"},password:function(e,t){let n=\"pa$$word\";return e>n.length&&(n+=\"_\",n+=Yc(\"qwerty!@#$%^123456\",e-n.length).substring(0,e-n.length)),n},\"date-time\":function(e,t){return lu({min:e,max:t,omitTime:!1,omitDate:!1})},date:function(e,t){return lu({min:e,max:t,omitTime:!0,omitDate:!1})},time:function(e,t){return lu({min:e,max:t,omitTime:!1,omitDate:!0}).slice(1)},ipv4:function(){return\"192.168.0.1\"},ipv6:function(){return\"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"},hostname:function(){return\"example.com\"},\"idn-hostname\":function(){return\"приклад.укр\"},iri:function(){return\"http://example.com/entity/1\"},\"iri-reference\":function(){return\"/entity/1\"},uri:function(){return\"http://example.com\"},\"uri-reference\":function(){return\"../dictionary\"},\"uri-template\":function(){return\"http://example.com/{endpoint}\"},uuid:function(e,t,n){return r=function(e){var t=0;if(0==e.length)return t;for(var n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return t}(n||\"id\"),i=function(e,t,n,r){return function(){var i=(e|=0)-((t|=0)<<27|t>>>5)|0;return e=t^((n|=0)<<17|n>>>15),t=n+(r|=0)|0,n=r+i|0,((r=e+i|0)>>>0)/4294967296}}(r,r,r,r),\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(e=>{var t=16*i()%16|0;return(\"x\"==e?t:3&t|8).toString(16)}));var r,i},default:cu,\"json-pointer\":function(){return\"/json/pointer\"},\"relative-json-pointer\":function(){return\"1/relative/json/pointer\"},regex:function(){return\"/regex/\"}};var pu=r(6454),du={};const fu={skipReadOnly:!1,maxSampleDepth:15};function hu(e,t,n){let r=Object.assign({},fu,t);eu={},tu=[];let i=iu(e,r,n).value;return\"xml\"===r?.format?function(e,t){if(!e)throw new Error(\"Unknown format output for building XML.\");return(Array.isArray(e)||Object.keys(e).length>1)&&(e={[t?.xml?.name||\"root\"]:e}),new pu.XMLBuilder({ignoreAttributes:!1,format:!0,attributeNamePrefix:\"$\",textNodeName:\"#text\"}).build(e)}(i,e):i}function mu(e,t){du[e]=t}mu(\"array\",(function(e,t={},n,r){const i=r&&r.depth||1;let o=Math.min(null!=e.maxItems?e.maxItems:1/0,e.minItems||1);const s=e.prefixItems||e.items||e.contains;Array.isArray(s)&&(o=Math.max(o,s.length));let a=[];if(!s)return a;for(let e=0;e<o;e++){let o=(l=e,Array.isArray(s)?s[l]||{}:s||{}),{value:c}=iu(o,t,n,{depth:i+1});if(\"xml\"===t?.format){const{value:e,propertyName:t}=Kc({value:c},o,r);t?(a?.[t]||(a={...a,[t]:[]}),a[t].push(e)):a={...a,...e}}else a.push(c)}var l;if(\"xml\"===t?.format&&1===i){const{value:t,propertyName:n}=Kc({value:null},e,r);n&&(a=t?Array.isArray(a)?{[n]:{...t,...a.map((e=>({\"#text\":{...e}})))}}:{[n]:{...a,...t}}:{[n]:a})}return a})),mu(\"boolean\",(function(e){return!0})),mu(\"integer\",ou),mu(\"number\",ou),mu(\"object\",(function(e,t={},n,r){let i={};const o=r&&r.depth||1;if(e&&\"object\"==typeof e.properties){const s=Array.isArray(e.required)?e.required:[],a={};for(const e of s)a[e]=!0;Object.keys(e.properties).forEach((s=>{if(t.skipNonRequired&&!a.hasOwnProperty(s))return;const l=iu(e.properties[s],t,n,{propertyName:s,depth:o+1});if(t.skipReadOnly&&l.readOnly)r?.isAllOfChild&&(i[s]=Wc);else if(t.skipWriteOnly&&l.writeOnly)r?.isAllOfChild&&(i[s]=Wc);else if(\"xml\"===t?.format){const{propertyName:t,value:n}=Kc(l,e.properties[s],{propertyName:s});t?i[t]=n:i={...i,...n}}else i[s]=l.value}))}if(e&&\"object\"==typeof e.additionalProperties){const r=e.additionalProperties[\"x-additionalPropertiesName\"]||\"property\";i[`${String(r)}1`]=iu(e.additionalProperties,t,n,{depth:o+1}).value,i[`${String(r)}2`]=iu(e.additionalProperties,t,n,{depth:o+1}).value}if(e&&\"object\"==typeof e.properties&&void 0!==e.maxProperties&&Object.keys(i).length>e.maxProperties){const t={};let n=0;(Array.isArray(e.required)?e.required:[]).forEach((e=>{void 0!==i[e]&&(t[e]=i[e],n++)})),Object.keys(i).forEach((r=>{n<e.maxProperties&&!t.hasOwnProperty(r)&&(t[r]=i[r],n++)})),i=t}return i})),mu(\"string\",(function(e,t,n,r){let i=e.format||\"default\",o=uu[i]||cu,s=r&&r.propertyName;return o(e.minLength||0,e.maxLength,s,e.pattern,t?.enablePatterns)}));class gu{constructor(e,t,n,r,i){this.name=t,this.isRequestType=n,this.schema=r.schema&&new $c(e,r.schema,\"\",i),this.onlyRequiredInSamples=i.onlyRequiredInSamples,this.generatedSamplesMaxDepth=i.generatedSamplesMaxDepth,void 0!==r.examples?this.examples=si(r.examples,(n=>new Fc(e,n,t,r.encoding))):void 0!==r.example?this.examples={default:new Fc(e,{value:e.deref(r.example).resolved},t,r.encoding)}:oa(t)&&this.generateExample(e,r)}generateExample(e,t){const n={skipReadOnly:this.isRequestType,skipWriteOnly:!this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,maxSampleDepth:this.generatedSamplesMaxDepth};if(this.schema&&this.schema.oneOf){this.examples={};for(const r of this.schema.oneOf){const i=hu(r.rawSchema,n,e.spec);this.schema.discriminatorProp&&\"object\"==typeof i&&i&&(i[this.schema.discriminatorProp]=r.title),this.examples[r.title]=new Fc(e,{value:i},this.name,t.encoding)}}else this.schema&&(this.examples={default:new Fc(e,{value:hu(t.schema,n,e.spec)},this.name,t.encoding)})}}var yu=Object.defineProperty,bu=Object.getOwnPropertyDescriptor,vu=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?bu(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&yu(t,n,o),o};class xu{constructor(e,t,n,r){this.isRequestType=n,this.activeMimeIdx=0,on(this),r.unstable_ignoreMimeParameters&&(t=function(e){const t={};return Object.keys(e).forEach((n=>{const r=e[n],i=n.split(\";\")[0].trim();t[i]?t[i]=Ks(Ks({},t[i]),r):t[i]=r})),t}(t)),this.mediaTypes=Object.keys(t).map((i=>{const o=t[i];return new gu(e,i,n,o,r)}))}activate(e){this.activeMimeIdx=e}get active(){return this.mediaTypes[this.activeMimeIdx]}get hasSample(){return this.mediaTypes.filter((e=>!!e.examples)).length>0}}vu([Te],xu.prototype,\"activeMimeIdx\",2),vu([Pt],xu.prototype,\"activate\",1),vu([$e],xu.prototype,\"active\",1);class wu{constructor({parser:e,infoOrRef:t,options:n,isEvent:r}){const i=!r,{resolved:o}=e.deref(t);this.description=o.description||\"\",this.required=o.required;const s=function(e){let t=e.content;const n=e[\"x-examples\"],r=e[\"x-example\"];if(n){t=Ks({},t);for(const e of Object.keys(n)){const r=n[e];t[e]=Zs(Ks({},t[e]),{examples:r})}}else if(r){t=Ks({},t);for(const e of Object.keys(r)){const n=r[e];t[e]=Zs(Ks({},t[e]),{example:n})}}return t}(o);void 0!==s&&(this.content=new xu(e,s,i,n))}}var ku=Object.defineProperty,Su=Object.defineProperties,Eu=Object.getOwnPropertyDescriptor,Ou=Object.getOwnPropertyDescriptors,_u=Object.getOwnPropertySymbols,Au=Object.prototype.hasOwnProperty,Cu=Object.prototype.propertyIsEnumerable,ju=(e,t,n)=>t in e?ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pu=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?Eu(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&ku(t,n,o),o};class Tu{constructor({parser:e,code:t,defaultAsError:n,infoOrRef:r,options:i,isEvent:o}){this.expanded=!1,this.headers=[],on(this),this.expanded=\"all\"===i.expandResponses||i.expandResponses[t];const{resolved:s}=e.deref(r);this.code=t,void 0!==s.content&&(this.content=new xu(e,s.content,o,i)),void 0!==s[\"x-summary\"]?(this.summary=s[\"x-summary\"],this.description=s.description||\"\"):(this.summary=s.description||\"\",this.description=\"\"),this.type=ea(t,n);const a=s.headers;void 0!==a&&(this.headers=Object.keys(a).map((t=>{const n=a[t];return new Vc(e,((e,t)=>Su(e,Ou(t)))(((e,t)=>{for(var n in t||(t={}))Au.call(t,n)&&ju(e,n,t[n]);if(_u)for(var n of _u(t))Cu.call(t,n)&&ju(e,n,t[n]);return e})({},n),{name:t}),\"\",i)}))),i.showExtensions&&(this.extensions=Ea(s,i.showExtensions))}toggle(){this.expanded=!this.expanded}}Pu([Te],Tu.prototype,\"expanded\",2),Pu([Pt],Tu.prototype,\"toggle\",1);var Iu=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,Nu=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?Ru(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&Iu(t,n,o),o};function $u(e){return\"payload\"===e.lang&&e.requestBodyContent}let Lu=!1;class Du{constructor(e,t,n,r,i=!1){var o,s;this.parser=e,this.operationSpec=t,this.options=r,this.type=\"operation\",this.items=[],this.ready=!0,this.active=!1,this.expanded=!1,on(this),this.pointer=t.pointer,this.description=t.description,this.parent=n,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=i,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(s=t).summary||s.operationId||s.description&&s.description.substring(0,50)||s.pathName||\"<no summary>\",this.sidebarLabel=r.sideNavStyle===vi.IdOnly?this.operationId||this.path:r.sideNavStyle===vi.PathOnly?this.path:this.name,this.badges=(null==(o=t[\"x-badges\"])?void 0:o.map((({name:e,color:t,position:n})=>({name:e,color:t,position:n||\"after\"}))))||[],this.isCallback?(this.security=(t.security||[]).map((t=>new Kl(t,e))),this.servers=ba(\"\",t.servers||t.pathServers||[])):(this.operationHash=t.operationId&&\"operation/\"+t.operationId,this.id=void 0!==t.operationId?(n?n.id+\"/\":\"\")+this.operationHash:void 0!==n?n.id+this.pointer:this.pointer,this.security=(t.security||e.spec.security||[]).map((t=>new Kl(t,e))),this.servers=ba(e.specUrl,t.servers||t.pathServers||e.spec.servers||[])),r.showExtensions&&(this.extensions=Ea(t,r.showExtensions))}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationSpec.requestBody&&new wu({parser:this.parser,infoOrRef:this.operationSpec.requestBody,options:this.options,isEvent:this.isEvent})}get codeSamples(){const{payloadSampleIdx:e,hideRequestPayloadSample:t}=this.options;let n=this.operationSpec[\"x-codeSamples\"]||this.operationSpec[\"x-code-samples\"]||[];this.operationSpec[\"x-code-samples\"]&&!Lu&&(Lu=!0,console.warn('\"x-code-samples\" is deprecated. Use \"x-codeSamples\" instead'));const r=this.requestBody&&this.requestBody.content;if(r&&r.hasSample&&!t){const t=Math.min(n.length,e);n=[...n.slice(0,t),{lang:\"payload\",label:\"Payload\",source:\"\",requestBodyContent:r},...n.slice(t)]}return n}get parameters(){const e=function(e,t=[],n=[]){const r={};return n.forEach((t=>{({resolved:t}=e.deref(t)),r[t.name+\"_\"+t.in]=!0})),(t=t.filter((t=>(({resolved:t}=e.deref(t)),!r[t.name+\"_\"+t.in])))).concat(n)}(this.parser,this.operationSpec.pathParameters,this.operationSpec.parameters).map((e=>new Vc(this.parser,e,this.pointer,this.options)));return this.options.sortPropsAlphabetically?ya(e,\"name\"):this.options.sortRequiredPropsFirst?ga(e):e}get responses(){let e=!1;return Object.keys(this.operationSpec.responses||[]).filter((t=>{return\"default\"===t||(\"success\"===ea(t)&&(e=!0),\"default\"===(n=t)||li(n)||Js(n));var n})).map((t=>new Tu({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationSpec.responses[t],options:this.options,isEvent:this.isEvent})))}get callbacks(){return Object.keys(this.operationSpec.callbacks||[]).map((e=>new cc(this.parser,e,this.operationSpec.callbacks[e],this.pointer,this.options)))}}Nu([Te],Du.prototype,\"ready\",2),Nu([Te],Du.prototype,\"active\",2),Nu([Te],Du.prototype,\"expanded\",2),Nu([Pt],Du.prototype,\"activate\",1),Nu([Pt],Du.prototype,\"deactivate\",1),Nu([Pt],Du.prototype,\"toggle\",1),Nu([Ma],Du.prototype,\"requestBody\",1),Nu([Ma],Du.prototype,\"codeSamples\",1),Nu([Ma],Du.prototype,\"parameters\",1),Nu([Ma],Du.prototype,\"responses\",1),Nu([Ma],Du.prototype,\"callbacks\",1);const Mu=xs.div`\n  width: calc(100% - ${e=>e.theme.rightPanel.width});\n  padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px;\n\n  ${({$compact:e,theme:t})=>vs.lessThan(\"medium\",!0)`\n    width: 100%;\n    padding: ${`${e?0:t.spacing.sectionVertical}px ${t.spacing.sectionHorizontal}px`};\n  `};\n`,Fu=xs.div.attrs((e=>({[Ef]:e.id})))`\n  padding: ${e=>e.theme.spacing.sectionVertical}px 0;\n\n  &:last-child {\n    min-height: calc(100vh + 1px);\n  }\n\n  & > &:last-child {\n    min-height: initial;\n  }\n\n  ${vs.lessThan(\"medium\",!0)`\n    padding: 0;\n  `}\n  ${({$underlined:e})=>e?\"\\n    position: relative;\\n\\n    &:not(:last-of-type):after {\\n      position: absolute;\\n      bottom: 0;\\n      width: 100%;\\n      display: block;\\n      content: '';\\n      border-bottom: 1px solid rgba(0, 0, 0, 0.2);\\n    }\\n  \":\"\"}\n`,zu=xs.div`\n  width: ${e=>e.theme.rightPanel.width};\n  color: ${({theme:e})=>e.rightPanel.textColor};\n  background-color: ${e=>e.theme.rightPanel.backgroundColor};\n  padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px;\n\n  ${vs.lessThan(\"medium\",!0)`\n    width: 100%;\n    padding: ${e=>`${e.theme.spacing.sectionVertical}px ${e.theme.spacing.sectionHorizontal}px`};\n  `};\n`,Bu=xs(zu)`\n  background-color: ${e=>e.theme.rightPanel.backgroundColor};\n`,Uu=xs.div`\n  display: flex;\n  width: 100%;\n  padding: 0;\n\n  ${vs.lessThan(\"medium\",!0)`\n    flex-direction: column;\n  `};\n`,qu={1:\"1.85714em\",2:\"1.57143em\",3:\"1.27em\"},Vu=e=>ms`\n  font-family: ${({theme:e})=>e.typography.headings.fontFamily};\n  font-weight: ${({theme:e})=>e.typography.headings.fontWeight};\n  font-size: ${qu[e]};\n  line-height: ${({theme:e})=>e.typography.headings.lineHeight};\n`,Wu=xs.h1`\n  ${Vu(1)};\n  color: ${({theme:e})=>e.colors.text.primary};\n\n  ${ws(\"H1\")};\n`,Hu=xs.h2`\n  ${Vu(2)};\n  color: ${({theme:e})=>e.colors.text.primary};\n  margin: 0 0 20px;\n\n  ${ws(\"H2\")};\n`,Yu=xs.h2`\n  ${Vu(3)};\n  color: ${({theme:e})=>e.colors.text.primary};\n\n  ${ws(\"H3\")};\n`,Gu=xs.h3`\n  color: ${({theme:e})=>e.rightPanel.textColor};\n\n  ${ws(\"RightPanelHeader\")};\n`,Qu=xs.h5`\n  border-bottom: 1px solid rgba(38, 50, 56, 0.3);\n  margin: 1em 0 1em 0;\n  color: rgba(38, 50, 56, 0.5);\n  font-weight: normal;\n  text-transform: uppercase;\n  font-size: 0.929em;\n  line-height: 20px;\n\n  ${ws(\"UnderlinedHeader\")};\n`,Xu=(0,n.createContext)(void 0),{Provider:Ku,Consumer:Zu}=Xu;function Ju(e){const{spec:t,specUrl:i,options:o,onLoaded:s,children:a}=e,[l,c]=n.useState(null),[u,p]=n.useState(null);if(u)throw u;n.useEffect((()=>{!function(){return e=this,n=function*(){if(t||i){c(null);try{const e=yield function(e){return $s(this,null,(function*(){const t=new Rs.Config({}),n={config:t,base:ei?window.location.href:process.cwd()};ei&&(t.resolve.http.customFetch=r.g.fetch),\"object\"==typeof e&&null!==e?n.doc={source:{absoluteRef:\"\"},parsed:e}:n.ref=e;const{bundle:{parsed:i}}=yield(0,Is.bundle)(n);return void 0!==i.swagger?(o=i,console.warn(\"[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0\"),new Promise(((e,t)=>(0,Ns.convertObj)(o,{patch:!0,warnOnly:!0,text:\"{}\",anchors:!0},((n,r)=>{if(n)return t(n);e(r&&r.openapi)}))))):i;var o}))}(t||i);c(e)}catch(e){throw s&&s(e),p(e),e}}},new Promise(((t,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},o=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(i,o);s((n=n.apply(e,null)).next())}));var e,n}()}),[t,i]);const d=n.useMemo((()=>{if(!l)return null;try{return new rb(l,i,o)}catch(e){throw s&&s(e),e}}),[l,i,o]);return n.useEffect((()=>{d&&s&&s()}),[d,s]),a({loading:!d,store:d})}const ep=e=>ms`\n  ${e} {\n    cursor: pointer;\n    margin-left: -20px;\n    padding: 0;\n    line-height: 1;\n    width: 20px;\n    display: inline-block;\n    outline: 0;\n  }\n  ${e}:before {\n    content: '';\n    width: 15px;\n    height: 15px;\n    background-size: contain;\n    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg==');\n    opacity: 0.5;\n    visibility: hidden;\n    display: inline-block;\n    vertical-align: middle;\n  }\n\n  h1:hover > ${e}::before, h2:hover > ${e}::before, ${e}:hover::before {\n    visibility: visible;\n  }\n`,tp=xs((function(e){const t=n.useContext(Xu),r=n.useCallback((n=>{t&&function(e,t,n){t.defaultPrevented||0!==t.button||(e=>!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey))(t)||(t.preventDefault(),e.replace(encodeURI(n)))}(t.menu.history,n,e.to)}),[t,e.to]);return t?n.createElement(\"a\",{className:e.className,href:t.menu.history.linkForId(e.to),onClick:r,\"aria-label\":e.to},e.children):null}))`\n  ${ep(\"&\")};\n`;function np(e){return n.createElement(tp,{to:e.to})}const rp={left:\"90deg\",right:\"-90deg\",up:\"-180deg\",down:\"0\"},ip=xs((e=>n.createElement(\"svg\",{className:e.className,style:e.style,version:\"1.1\",viewBox:\"0 0 24 24\",x:\"0\",xmlns:\"http://www.w3.org/2000/svg\",y:\"0\",\"aria-hidden\":\"true\"},n.createElement(\"polygon\",{points:\"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 \"}))))`\n  height: ${e=>e.size||\"18px\"};\n  width: ${e=>e.size||\"18px\"};\n  min-width: ${e=>e.size||\"18px\"};\n  vertical-align: middle;\n  float: ${e=>e.float||\"\"};\n  transition: transform 0.2s ease-out;\n  transform: rotateZ(${e=>rp[e.direction||\"down\"]});\n\n  polygon {\n    fill: ${({color:e,theme:t})=>e&&t.colors.responses[e]&&t.colors.responses[e].color||e};\n  }\n`,op=xs.span`\n  display: inline-block;\n  padding: 2px 8px;\n  margin: 0;\n  background-color: ${e=>e.color||e.theme.colors[e.type].main};\n  color: ${e=>e.theme.colors[e.type].contrastText};\n  font-size: ${e=>e.theme.typography.code.fontSize};\n  vertical-align: middle;\n  line-height: 1.6;\n  border-radius: 4px;\n  font-weight: ${({theme:e})=>e.typography.fontWeightBold};\n  font-size: 12px;\n  + span[type] {\n    margin-left: 4px;\n  }\n`,sp=ms`\n  text-decoration: line-through;\n  color: #707070;\n`,ap=xs.caption`\n  text-align: right;\n  font-size: 0.9em;\n  font-weight: normal;\n  color: ${e=>e.theme.colors.text.secondary};\n`,lp=xs.td`\n  border-left: 1px solid ${e=>e.theme.schema.linesColor};\n  box-sizing: border-box;\n  position: relative;\n  padding: 10px 10px 10px 0;\n\n  ${vs.lessThan(\"small\")`\n    display: block;\n    overflow: hidden;\n  `}\n\n  tr:first-of-type > &,\n  tr.last > & {\n    border-left-width: 0;\n    background-position: top left;\n    background-repeat: no-repeat;\n    background-size: 1px 100%;\n  }\n\n  tr:first-of-type > & {\n    background-image: linear-gradient(\n      to bottom,\n      transparent 0%,\n      transparent 22px,\n      ${e=>e.theme.schema.linesColor} 22px,\n      ${e=>e.theme.schema.linesColor} 100%\n    );\n  }\n\n  tr.last > & {\n    background-image: linear-gradient(\n      to bottom,\n      ${e=>e.theme.schema.linesColor} 0%,\n      ${e=>e.theme.schema.linesColor} 22px,\n      transparent 22px,\n      transparent 100%\n    );\n  }\n\n  tr.last + tr > & {\n    border-left-color: transparent;\n  }\n\n  tr.last:first-child > & {\n    background: none;\n    border-left-color: transparent;\n  }\n`,cp=xs(lp)`\n  padding: 0;\n`,up=xs(lp)`\n  vertical-align: top;\n  line-height: 20px;\n  white-space: nowrap;\n  font-size: 13px;\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n\n  &.deprecated {\n    ${sp};\n  }\n\n  ${({kind:e})=>\"patternProperties\"===e&&ms`\n      > span.property-name {\n        display: inline-table;\n        white-space: break-spaces;\n        margin-right: 20px;\n\n        ::before,\n        ::after {\n          content: '/';\n          filter: opacity(0.2);\n        }\n      }\n    `}\n\n  ${({kind:e=\"\"})=>[\"field\",\"additionalProperties\",\"patternProperties\"].includes(e)?\"\":\"font-style: italic\"};\n\n  ${ws(\"PropertyNameCell\")};\n`,pp=xs.td`\n  border-bottom: 1px solid #9fb4be;\n  padding: 10px 0;\n  width: ${e=>e.theme.schema.defaultDetailsWidth};\n  box-sizing: border-box;\n\n  tr.expanded & {\n    border-bottom: none;\n  }\n\n  ${vs.lessThan(\"small\")`\n    padding: 0 20px;\n    border-bottom: none;\n    border-left: 1px solid ${e=>e.theme.schema.linesColor};\n\n    tr.last > & {\n      border-left: none;\n    }\n  `}\n\n  ${ws(\"PropertyDetailsCell\")};\n`,dp=xs.span`\n  color: ${e=>e.theme.schema.linesColor};\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  margin-right: 10px;\n\n  &::before {\n    content: '';\n    display: inline-block;\n    vertical-align: middle;\n    width: 10px;\n    height: 1px;\n    background: ${e=>e.theme.schema.linesColor};\n  }\n\n  &::after {\n    content: '';\n    display: inline-block;\n    vertical-align: middle;\n    width: 1px;\n    background: ${e=>e.theme.schema.linesColor};\n    height: 7px;\n  }\n`,fp=xs.div`\n  padding: ${({theme:e})=>e.schema.nestingSpacing};\n`,hp=xs.table`\n  border-collapse: separate;\n  border-radius: 3px;\n  font-size: ${e=>e.theme.typography.fontSize};\n\n  border-spacing: 0;\n  width: 100%;\n\n  > tr {\n    vertical-align: middle;\n  }\n\n  ${vs.lessThan(\"small\")`\n    display: block;\n    > tr, > tbody > tr {\n      display: block;\n    }\n  `}\n\n  ${vs.lessThan(\"small\",!1,\" and (-ms-high-contrast:none)\")`\n    td {\n      float: left;\n      width: 100%;\n    }\n  `}\n\n  &\n    ${fp},\n    &\n    ${fp}\n    ${fp}\n    ${fp},\n    &\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp} {\n    margin: ${({theme:e})=>e.schema.nestingSpacing};\n    margin-right: 0;\n    background: ${({theme:e})=>e.schema.nestedBackground};\n  }\n\n  &\n    ${fp}\n    ${fp},\n    &\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp},\n    &\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp}\n    ${fp} {\n    background: #ffffff;\n  }\n`,mp=xs.div`\n  margin: 0 0 3px 0;\n  display: inline-block;\n`,gp=xs.span`\n  font-size: 0.9em;\n  margin-right: 10px;\n  color: ${e=>e.theme.colors.primary.main};\n  font-family: ${e=>e.theme.typography.headings.fontFamily};\n}\n`,yp=xs.button`\n  display: inline-block;\n  margin-right: 10px;\n  margin-bottom: 5px;\n  font-size: 0.8em;\n  cursor: pointer;\n  border: 1px solid ${e=>e.theme.colors.primary.main};\n  padding: 2px 10px;\n  line-height: 1.5em;\n  outline: none;\n  &:focus {\n    box-shadow: 0 0 0 1px ${e=>e.theme.colors.primary.main};\n  }\n\n  ${({$deprecated:e})=>e&&sp||\"\"};\n\n  ${e=>e.$active?`\\n      color: white;\\n      background-color: ${e.theme.colors.primary.main};\\n      &:focus {\\n        box-shadow: none;\\n        background-color: ${Br(.15,e.theme.colors.primary.main)};\\n      }\\n      `:`\\n        color: ${e.theme.colors.primary.main};\\n        background-color: white;\\n      `}\n`,bp=xs.div`\n  font-size: 0.9em;\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  &::after {\n    content: ' [';\n  }\n`,vp=xs.div`\n  font-size: 0.9em;\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  &::after {\n    content: ']';\n  }\n`;function xp(e){return t=>!!t.type&&t.type.tabsRole===e}const wp=xp(\"Tab\"),kp=xp(\"TabList\"),Sp=xp(\"TabPanel\");function Ep(e,t){return n.Children.map(e,(e=>null===e?null:function(e){return wp(e)||kp(e)||Sp(e)}(e)?t(e):e.props&&e.props.children&&\"object\"==typeof e.props.children?(0,n.cloneElement)(e,{...e.props,children:Ep(e.props.children,t)}):e))}function Op(e,t){return n.Children.forEach(e,(e=>{null!==e&&(wp(e)||Sp(e)?t(e):e.props&&e.props.children&&\"object\"==typeof e.props.children&&(kp(e)&&t(e),Op(e.props.children,t)))}))}function _p(e){var t,n,r=\"\";if(\"string\"==typeof e||\"number\"==typeof e)r+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=_p(e[t]))&&(r&&(r+=\" \"),r+=n)}else for(n in e)e[n]&&(r&&(r+=\" \"),r+=n);return r}var Ap=function(){for(var e,t,n=0,r=\"\",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=_p(e))&&(r&&(r+=\" \"),r+=t);return r};function Cp(e){let t=0;return Op(e,(e=>{wp(e)&&t++})),t}function jp(e){return e&&\"getAttribute\"in e}function Pp(e){return jp(e)&&e.getAttribute(\"data-rttab\")}function Tp(e){return jp(e)&&\"true\"===e.getAttribute(\"aria-disabled\")}let Ip;const Rp={className:\"react-tabs\",focus:!1},Np=e=>{let t=(0,n.useRef)([]),r=(0,n.useRef)([]);const i=(0,n.useRef)();function o(t,n){if(t<0||t>=l())return;const{onSelect:r,selectedIndex:i}=e;r(t,i,n)}function s(e){const t=l();for(let n=e+1;n<t;n++)if(!Tp(c(n)))return n;for(let t=0;t<e;t++)if(!Tp(c(t)))return t;return e}function a(e){let t=e;for(;t--;)if(!Tp(c(t)))return t;for(t=l();t-- >e;)if(!Tp(c(t)))return t;return e}function l(){const{children:t}=e;return Cp(t)}function c(e){return t.current[`tabs-${e}`]}function u(e){let t=e.target;do{if(p(t)){if(Tp(t))return;return void o([].slice.call(t.parentNode.children).filter(Pp).indexOf(t),e)}}while(null!=(t=t.parentNode))}function p(e){if(!Pp(e))return!1;let t=e.parentElement;do{if(t===i.current)return!0;if(t.getAttribute(\"data-rttabs\"))break;t=t.parentElement}while(t);return!1}const{children:d,className:f,disabledTabClassName:h,domRef:m,focus:g,forceRenderTabPanel:y,onSelect:b,selectedIndex:v,selectedTabClassName:x,selectedTabPanelClassName:w,environment:k,disableUpDownKeys:S,disableLeftRightKeys:E,...O}={...Rp,...e};return n.createElement(\"div\",Object.assign({},O,{className:Ap(f),onClick:u,onKeyDown:function(t){const{direction:n,disableUpDownKeys:r,disableLeftRightKeys:i}=e;if(p(t.target)){let{selectedIndex:p}=e,d=!1,f=!1;\"Space\"!==t.code&&32!==t.keyCode&&\"Enter\"!==t.code&&13!==t.keyCode||(d=!0,f=!1,u(t)),(i||37!==t.keyCode&&\"ArrowLeft\"!==t.code)&&(r||38!==t.keyCode&&\"ArrowUp\"!==t.code)?(i||39!==t.keyCode&&\"ArrowRight\"!==t.code)&&(r||40!==t.keyCode&&\"ArrowDown\"!==t.code)?35===t.keyCode||\"End\"===t.code?(p=function(){let e=l();for(;e--;)if(!Tp(c(e)))return e;return null}(),d=!0,f=!0):36!==t.keyCode&&\"Home\"!==t.code||(p=function(){const e=l();for(let t=0;t<e;t++)if(!Tp(c(t)))return t;return null}(),d=!0,f=!0):(p=\"rtl\"===n?a(p):s(p),d=!0,f=!0):(p=\"rtl\"===n?s(p):a(p),d=!0,f=!0),d&&t.preventDefault(),f&&o(p,t)}},ref:e=>{i.current=e,m&&m(e)},\"data-rttabs\":!0}),function(){let i=0;const{children:o,disabledTabClassName:s,focus:a,forceRenderTabPanel:u,selectedIndex:p,selectedTabClassName:d,selectedTabPanelClassName:f,environment:h}=e;r.current=r.current||[];let m=r.current.length-l();const g=(0,n.useId)();for(;m++<0;)r.current.push(`${g}${r.current.length}`);return Ep(o,(e=>{let o=e;if(kp(e)){let i=0,l=!1;null==Ip&&function(e){const t=e||(\"undefined\"!=typeof window?window:void 0);try{Ip=!(void 0===t||!t.document||!t.document.activeElement)}catch(e){Ip=!1}}(h);const u=h||(\"undefined\"!=typeof window?window:void 0);Ip&&u&&(l=n.Children.toArray(e.props.children).filter(wp).some(((e,t)=>u.document.activeElement===c(t)))),o=(0,n.cloneElement)(e,{children:Ep(e.props.children,(e=>{const o=`tabs-${i}`,c=p===i,u={tabRef:e=>{t.current[o]=e},id:r.current[i],selected:c,focus:c&&(a||l)};return d&&(u.selectedClassName=d),s&&(u.disabledClassName=s),i++,(0,n.cloneElement)(e,u)}))})}else if(Sp(e)){const t={id:r.current[i],selected:p===i};u&&(t.forceRender=u),f&&(t.selectedClassName=f),i++,o=(0,n.cloneElement)(e,t)}return o}))}())};Np.propTypes={};var $p=Np;const Lp={defaultFocus:!1,focusTabOnClick:!0,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1,disableLeftRightKeys:!1},Dp=e=>{const{children:t,defaultFocus:r,defaultIndex:i,focusTabOnClick:o,onSelect:s,...a}={...Lp,...e},[l,c]=(0,n.useState)(r),[u]=(0,n.useState)((e=>null===e.selectedIndex?1:0)(a)),[p,d]=(0,n.useState)(1===u?i||0:null);if((0,n.useEffect)((()=>{c(!1)}),[]),1===u){const e=Cp(t);(0,n.useEffect)((()=>{if(null!=p){const t=Math.max(0,e-1);d(Math.min(p,t))}}),[e])}let f={...e,...a};return f.focus=l,f.onSelect=(e,t,n)=>{\"function\"==typeof s&&!1===s(e,t,n)||(o&&c(!0),1===u&&d(e))},null!=p&&(f.selectedIndex=p),delete f.defaultFocus,delete f.defaultIndex,delete f.focusTabOnClick,n.createElement($p,f,t)};Dp.propTypes={},Dp.tabsRole=\"Tabs\";var Mp=Dp;const Fp={className:\"react-tabs__tab-list\"},zp=e=>{const{children:t,className:r,...i}={...Fp,...e};return n.createElement(\"ul\",Object.assign({},i,{className:Ap(r),role:\"tablist\"}),t)};zp.tabsRole=\"TabList\",zp.propTypes={};var Bp=zp;const Up=\"react-tabs__tab\",qp={className:Up,disabledClassName:`${Up}--disabled`,focus:!1,id:null,selected:!1,selectedClassName:`${Up}--selected`},Vp=e=>{let t=(0,n.useRef)();const{children:r,className:i,disabled:o,disabledClassName:s,focus:a,id:l,selected:c,selectedClassName:u,tabIndex:p,tabRef:d,...f}={...qp,...e};return(0,n.useEffect)((()=>{c&&a&&t.current.focus()}),[c,a]),n.createElement(\"li\",Object.assign({},f,{className:Ap(i,{[u]:c,[s]:o}),ref:e=>{t.current=e,d&&d(e)},role:\"tab\",id:`tab${l}`,\"aria-selected\":c?\"true\":\"false\",\"aria-disabled\":o?\"true\":\"false\",\"aria-controls\":`panel${l}`,tabIndex:p||(c?\"0\":null),\"data-rttab\":!0}),r)};Vp.propTypes={},Vp.tabsRole=\"Tab\";var Wp=Vp;const Hp=\"react-tabs__tab-panel\",Yp={className:Hp,forceRender:!1,selectedClassName:`${Hp}--selected`},Gp=e=>{const{children:t,className:r,forceRender:i,id:o,selected:s,selectedClassName:a,...l}={...Yp,...e};return n.createElement(\"div\",Object.assign({},l,{className:Ap(r,{[a]:s}),role:\"tabpanel\",id:`panel${o}`,\"aria-labelledby\":`tab${o}`}),i||s?t:null)};Gp.tabsRole=\"TabPanel\",Gp.propTypes={};var Qp=Gp;const Xp=xs(Mp)`\n  > ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    margin: 0 -5px;\n\n    > li {\n      padding: 5px 10px;\n      display: inline-block;\n\n      background-color: ${({theme:e})=>e.codeBlock.backgroundColor};\n      border-bottom: 1px solid rgba(0, 0, 0, 0.5);\n      cursor: pointer;\n      text-align: center;\n      outline: none;\n      color: ${({theme:e})=>Br(e.colors.tonalOffset,e.rightPanel.textColor)};\n      margin: 0\n        ${({theme:e})=>`${e.spacing.unit}px ${e.spacing.unit}px ${e.spacing.unit}px`};\n      border: 1px solid ${({theme:e})=>Br(.05,e.codeBlock.backgroundColor)};\n      border-radius: 5px;\n      min-width: 60px;\n      font-size: 0.9em;\n      font-weight: bold;\n\n      &.react-tabs__tab--selected {\n        color: ${e=>e.theme.colors.text.primary};\n        background: ${({theme:e})=>e.rightPanel.textColor};\n        &:focus {\n          outline: auto;\n        }\n      }\n\n      &:only-child {\n        flex: none;\n        min-width: 100px;\n      }\n\n      &.tab-success {\n        color: ${e=>e.theme.colors.responses.success.tabTextColor};\n      }\n\n      &.tab-redirect {\n        color: ${e=>e.theme.colors.responses.redirect.tabTextColor};\n      }\n\n      &.tab-info {\n        color: ${e=>e.theme.colors.responses.info.tabTextColor};\n      }\n\n      &.tab-error {\n        color: ${e=>e.theme.colors.responses.error.tabTextColor};\n      }\n    }\n  }\n  > .react-tabs__tab-panel {\n    background: ${({theme:e})=>e.codeBlock.backgroundColor};\n    & > div,\n    & > pre {\n      padding: ${e=>4*e.theme.spacing.unit}px;\n      margin: 0;\n    }\n\n    & > div > pre {\n      padding: 0;\n    }\n  }\n`,Kp=(xs(Xp)`\n  > ul {\n    display: block;\n    > li {\n      padding: 2px 5px;\n      min-width: auto;\n      margin: 0 15px 0 0;\n      font-size: 13px;\n      font-weight: normal;\n      border-bottom: 1px dashed;\n      color: ${({theme:e})=>Br(e.colors.tonalOffset,e.rightPanel.textColor)};\n      border-radius: 0;\n      background: none;\n\n      &:last-child {\n        margin-right: 0;\n      }\n\n      &.react-tabs__tab--selected {\n        color: ${({theme:e})=>e.rightPanel.textColor};\n        background: none;\n      }\n    }\n  }\n  > .react-tabs__tab-panel {\n    & > div,\n    & > pre {\n      padding: ${e=>2*e.theme.spacing.unit}px 0;\n    }\n  }\n`,xs.div`\n  /**\n  * Based on prism-dark.css\n  */\n\n  code[class*='language-'],\n  pre[class*='language-'] {\n    /* color: white;\n    background: none; */\n    text-shadow: 0 -0.1em 0.2em black;\n    text-align: left;\n    white-space: pre;\n    word-spacing: normal;\n    word-break: normal;\n    word-wrap: normal;\n    line-height: 1.5;\n\n    -moz-tab-size: 4;\n    -o-tab-size: 4;\n    tab-size: 4;\n\n    -webkit-hyphens: none;\n    -moz-hyphens: none;\n    -ms-hyphens: none;\n    hyphens: none;\n  }\n\n  @media print {\n    code[class*='language-'],\n    pre[class*='language-'] {\n      text-shadow: none;\n    }\n  }\n\n  /* Code blocks */\n  pre[class*='language-'] {\n    padding: 1em;\n    margin: 0.5em 0;\n    overflow: auto;\n  }\n\n  .token.comment,\n  .token.prolog,\n  .token.doctype,\n  .token.cdata {\n    color: hsl(30, 20%, 50%);\n  }\n\n  .token.punctuation {\n    opacity: 0.7;\n  }\n\n  .namespace {\n    opacity: 0.7;\n  }\n\n  .token.property,\n  .token.tag,\n  .token.number,\n  .token.constant,\n  .token.symbol {\n    color: #4a8bb3;\n  }\n\n  .token.boolean {\n    color: #e64441;\n  }\n\n  .token.selector,\n  .token.attr-name,\n  .token.string,\n  .token.char,\n  .token.builtin,\n  .token.inserted {\n    color: #a0fbaa;\n    & + a,\n    & + a:visited {\n      color: #4ed2ba;\n      text-decoration: underline;\n    }\n  }\n\n  .token.property.string {\n    color: white;\n  }\n\n  .token.operator,\n  .token.entity,\n  .token.url,\n  .token.variable {\n    color: hsl(40, 90%, 60%);\n  }\n\n  .token.atrule,\n  .token.attr-value,\n  .token.keyword {\n    color: hsl(350, 40%, 70%);\n  }\n\n  .token.regex,\n  .token.important {\n    color: #e90;\n  }\n\n  .token.important,\n  .token.bold {\n    font-weight: bold;\n  }\n  .token.italic {\n    font-style: italic;\n  }\n\n  .token.entity {\n    cursor: help;\n  }\n\n  .token.deleted {\n    color: red;\n  }\n\n  ${ws(\"Prism\")};\n`),Zp=xs.div`\n  opacity: 0.7;\n  transition: opacity 0.3s ease;\n  text-align: right;\n  &:focus-within {\n    opacity: 1;\n  }\n  > button {\n    background-color: transparent;\n    border: 0;\n    color: inherit;\n    padding: 2px 10px;\n    font-family: ${({theme:e})=>e.typography.fontFamily};\n    font-size: ${({theme:e})=>e.typography.fontSize};\n    line-height: ${({theme:e})=>e.typography.lineHeight};\n    cursor: pointer;\n    outline: 0;\n\n    :hover,\n    :focus {\n      background: rgba(255, 255, 255, 0.1);\n    }\n  }\n`,Jp=xs.div`\n  &:hover ${Zp} {\n    opacity: 1;\n  }\n`,ed=xs(Kp).attrs({as:\"pre\"})`\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  font-size: ${e=>e.theme.typography.code.fontSize};\n  overflow-x: auto;\n  margin: 0;\n\n  white-space: ${({theme:e})=>e.typography.code.wrap?\"pre-wrap\":\"pre\"};\n`;function td(e){return getComputedStyle(e)}function nd(e,t){for(var n in t){var r=t[n];\"number\"==typeof r&&(r+=\"px\"),e.style[n]=r}return e}function rd(e){var t=document.createElement(\"div\");return t.className=e,t}var id=\"undefined\"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function od(e,t){if(!id)throw new Error(\"No element matching method supported\");return id.call(e,t)}function sd(e){e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}function ad(e,t){return Array.prototype.filter.call(e.children,(function(e){return od(e,t)}))}var ld={main:\"ps\",rtl:\"ps__rtl\",element:{thumb:function(e){return\"ps__thumb-\"+e},rail:function(e){return\"ps__rail-\"+e},consuming:\"ps__child--consume\"},state:{focus:\"ps--focus\",clicking:\"ps--clicking\",active:function(e){return\"ps--active-\"+e},scrolling:function(e){return\"ps--scrolling-\"+e}}},cd={x:null,y:null};function ud(e,t){var n=e.element.classList,r=ld.state.scrolling(t);n.contains(r)?clearTimeout(cd[t]):n.add(r)}function pd(e,t){cd[t]=setTimeout((function(){return e.isAlive&&e.element.classList.remove(ld.state.scrolling(t))}),e.settings.scrollingThreshold)}var dd=function(e){this.element=e,this.handlers={}},fd={isEmpty:{configurable:!0}};dd.prototype.bind=function(e,t){void 0===this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)},dd.prototype.unbind=function(e,t){var n=this;this.handlers[e]=this.handlers[e].filter((function(r){return!(!t||r===t)||(n.element.removeEventListener(e,r,!1),!1)}))},dd.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)},fd.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every((function(t){return 0===e.handlers[t].length}))},Object.defineProperties(dd.prototype,fd);var hd=function(){this.eventElements=[]};function md(e){if(\"function\"==typeof window.CustomEvent)return new CustomEvent(e);var t=document.createEvent(\"CustomEvent\");return t.initCustomEvent(e,!1,!1,void 0),t}function gd(e,t,n,r,i){var o;if(void 0===r&&(r=!0),void 0===i&&(i=!1),\"top\"===t)o=[\"contentHeight\",\"containerHeight\",\"scrollTop\",\"y\",\"up\",\"down\"];else{if(\"left\"!==t)throw new Error(\"A proper axis should be provided\");o=[\"contentWidth\",\"containerWidth\",\"scrollLeft\",\"x\",\"left\",\"right\"]}!function(e,t,n,r,i){var o=n[0],s=n[1],a=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0),void 0===i&&(i=!1);var p=e.element;e.reach[l]=null,p[a]<1&&(e.reach[l]=\"start\"),p[a]>e[o]-e[s]-1&&(e.reach[l]=\"end\"),t&&(p.dispatchEvent(md(\"ps-scroll-\"+l)),t<0?p.dispatchEvent(md(\"ps-scroll-\"+c)):t>0&&p.dispatchEvent(md(\"ps-scroll-\"+u)),r&&function(e,t){ud(e,t),pd(e,t)}(e,l)),e.reach[l]&&(t||i)&&p.dispatchEvent(md(\"ps-\"+l+\"-reach-\"+e.reach[l]))}(e,n,o,r,i)}function yd(e){return parseInt(e,10)||0}hd.prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return t||(t=new dd(e),this.eventElements.push(t)),t},hd.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},hd.prototype.unbind=function(e,t,n){var r=this.eventElement(e);r.unbind(t,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},hd.prototype.unbindAll=function(){this.eventElements.forEach((function(e){return e.unbindAll()})),this.eventElements=[]},hd.prototype.once=function(e,t,n){var r=this.eventElement(e),i=function(e){r.unbind(t,i),n(e)};r.bind(t,i)};var bd={isWebKit:\"undefined\"!=typeof document&&\"WebkitAppearance\"in document.documentElement.style,supportsTouch:\"undefined\"!=typeof window&&(\"ontouchstart\"in window||\"maxTouchPoints\"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:\"undefined\"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:\"undefined\"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function vd(e){var t=e.element,n=Math.floor(t.scrollTop),r=t.getBoundingClientRect();e.containerWidth=Math.round(r.width),e.containerHeight=Math.round(r.height),e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight,t.contains(e.scrollbarXRail)||(ad(t,ld.element.rail(\"x\")).forEach((function(e){return sd(e)})),t.appendChild(e.scrollbarXRail)),t.contains(e.scrollbarYRail)||(ad(t,ld.element.rail(\"y\")).forEach((function(e){return sd(e)})),t.appendChild(e.scrollbarYRail)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset<e.contentWidth?(e.scrollbarXActive=!0,e.railXWidth=e.containerWidth-e.railXMarginWidth,e.railXRatio=e.containerWidth/e.railXWidth,e.scrollbarXWidth=xd(e,yd(e.railXWidth*e.containerWidth/e.contentWidth)),e.scrollbarXLeft=yd((e.negativeScrollAdjustment+t.scrollLeft)*(e.railXWidth-e.scrollbarXWidth)/(e.contentWidth-e.containerWidth))):e.scrollbarXActive=!1,!e.settings.suppressScrollY&&e.containerHeight+e.settings.scrollYMarginOffset<e.contentHeight?(e.scrollbarYActive=!0,e.railYHeight=e.containerHeight-e.railYMarginHeight,e.railYRatio=e.containerHeight/e.railYHeight,e.scrollbarYHeight=xd(e,yd(e.railYHeight*e.containerHeight/e.contentHeight)),e.scrollbarYTop=yd(n*(e.railYHeight-e.scrollbarYHeight)/(e.contentHeight-e.containerHeight))):e.scrollbarYActive=!1,e.scrollbarXLeft>=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),function(e,t){var n={width:t.railXWidth},r=Math.floor(e.scrollTop);t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-r:n.top=t.scrollbarXTop+r,nd(t.scrollbarXRail,n);var i={top:r,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=t.scrollbarYLeft+e.scrollLeft,nd(t.scrollbarYRail,i),nd(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),nd(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(t,e),e.scrollbarXActive?t.classList.add(ld.state.active(\"x\")):(t.classList.remove(ld.state.active(\"x\")),e.scrollbarXWidth=0,e.scrollbarXLeft=0,t.scrollLeft=!0===e.isRtl?e.contentWidth:0),e.scrollbarYActive?t.classList.add(ld.state.active(\"y\")):(t.classList.remove(ld.state.active(\"y\")),e.scrollbarYHeight=0,e.scrollbarYTop=0,t.scrollTop=0)}function xd(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function wd(e,t){var n=t[0],r=t[1],i=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],u=t[8],p=e.element,d=null,f=null,h=null;function m(t){t.touches&&t.touches[0]&&(t[i]=t.touches[0].pageY),p[l]=d+h*(t[i]-f),ud(e,c),vd(e),t.stopPropagation(),t.type.startsWith(\"touch\")&&t.changedTouches.length>1&&t.preventDefault()}function g(){pd(e,c),e[u].classList.remove(ld.state.clicking),e.event.unbind(e.ownerDocument,\"mousemove\",m)}function y(t,s){d=p[l],s&&t.touches&&(t[i]=t.touches[0].pageY),f=t[i],h=(e[r]-e[n])/(e[o]-e[a]),s?e.event.bind(e.ownerDocument,\"touchmove\",m):(e.event.bind(e.ownerDocument,\"mousemove\",m),e.event.once(e.ownerDocument,\"mouseup\",g),t.preventDefault()),e[u].classList.add(ld.state.clicking),t.stopPropagation()}e.event.bind(e[s],\"mousedown\",(function(e){y(e)})),e.event.bind(e[s],\"touchstart\",(function(e){y(e,!0)}))}var kd={\"click-rail\":function(e){e.element,e.event.bind(e.scrollbarY,\"mousedown\",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarYRail,\"mousedown\",(function(t){var n=t.pageY-window.pageYOffset-e.scrollbarYRail.getBoundingClientRect().top>e.scrollbarYTop?1:-1;e.element.scrollTop+=n*e.containerHeight,vd(e),t.stopPropagation()})),e.event.bind(e.scrollbarX,\"mousedown\",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarXRail,\"mousedown\",(function(t){var n=t.pageX-window.pageXOffset-e.scrollbarXRail.getBoundingClientRect().left>e.scrollbarXLeft?1:-1;e.element.scrollLeft+=n*e.containerWidth,vd(e),t.stopPropagation()}))},\"drag-thumb\":function(e){wd(e,[\"containerWidth\",\"contentWidth\",\"pageX\",\"railXWidth\",\"scrollbarX\",\"scrollbarXWidth\",\"scrollLeft\",\"x\",\"scrollbarXRail\"]),wd(e,[\"containerHeight\",\"contentHeight\",\"pageY\",\"railYHeight\",\"scrollbarY\",\"scrollbarYHeight\",\"scrollTop\",\"y\",\"scrollbarYRail\"])},keyboard:function(e){var t=e.element;e.event.bind(e.ownerDocument,\"keydown\",(function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(od(t,\":hover\")||od(e.scrollbarX,\":focus\")||od(e.scrollbarY,\":focus\"))){var r,i=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(i){if(\"IFRAME\"===i.tagName)i=i.contentDocument.activeElement;else for(;i.shadowRoot;)i=i.shadowRoot.activeElement;if(od(r=i,\"input,[contenteditable]\")||od(r,\"select,[contenteditable]\")||od(r,\"textarea,[contenteditable]\")||od(r,\"button,[contenteditable]\"))return}var o=0,s=0;switch(n.which){case 37:o=n.metaKey?-e.contentWidth:n.altKey?-e.containerWidth:-30;break;case 38:s=n.metaKey?e.contentHeight:n.altKey?e.containerHeight:30;break;case 39:o=n.metaKey?e.contentWidth:n.altKey?e.containerWidth:30;break;case 40:s=n.metaKey?-e.contentHeight:n.altKey?-e.containerHeight:-30;break;case 32:s=n.shiftKey?e.containerHeight:-e.containerHeight;break;case 33:s=e.containerHeight;break;case 34:s=-e.containerHeight;break;case 36:s=e.contentHeight;break;case 35:s=-e.contentHeight;break;default:return}e.settings.suppressScrollX&&0!==o||e.settings.suppressScrollY&&0!==s||(t.scrollTop-=s,t.scrollLeft+=o,vd(e),function(n,r){var i=Math.floor(t.scrollTop);if(0===n){if(!e.scrollbarYActive)return!1;if(0===i&&r>0||i>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var o=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===o&&n<0||o>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}(o,s)&&n.preventDefault())}}))},wheel:function(e){var t=e.element;function n(n){var r=function(e){var t=e.deltaX,n=-1*e.deltaY;return void 0!==t&&void 0!==n||(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!=t&&n!=n&&(t=0,n=e.wheelDelta),e.shiftKey?[-n,-t]:[t,n]}(n),i=r[0],o=r[1];if(!function(e,n,r){if(!bd.isWebKit&&t.querySelector(\"select:focus\"))return!0;if(!t.contains(e))return!1;for(var i=e;i&&i!==t;){if(i.classList.contains(ld.element.consuming))return!0;var o=td(i);if(r&&o.overflowY.match(/(scroll|auto)/)){var s=i.scrollHeight-i.clientHeight;if(s>0&&(i.scrollTop>0&&r<0||i.scrollTop<s&&r>0))return!0}if(n&&o.overflowX.match(/(scroll|auto)/)){var a=i.scrollWidth-i.clientWidth;if(a>0&&(i.scrollLeft>0&&n<0||i.scrollLeft<a&&n>0))return!0}i=i.parentNode}return!1}(n.target,i,o)){var s=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(o?t.scrollTop-=o*e.settings.wheelSpeed:t.scrollTop+=i*e.settings.wheelSpeed,s=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(i?t.scrollLeft+=i*e.settings.wheelSpeed:t.scrollLeft-=o*e.settings.wheelSpeed,s=!0):(t.scrollTop-=o*e.settings.wheelSpeed,t.scrollLeft+=i*e.settings.wheelSpeed),vd(e),s=s||function(n,r){var i=Math.floor(t.scrollTop),o=0===t.scrollTop,s=i+t.offsetHeight===t.scrollHeight,a=0===t.scrollLeft,l=t.scrollLeft+t.offsetWidth===t.scrollWidth;return!(Math.abs(r)>Math.abs(n)?o||s:a||l)||!e.settings.wheelPropagation}(i,o),s&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?e.event.bind(t,\"wheel\",n):void 0!==window.onmousewheel&&e.event.bind(t,\"mousewheel\",n)},touch:function(e){if(bd.supportsTouch||bd.supportsIePointer){var t=e.element,n={},r=0,i={},o=null;bd.supportsTouch?(e.event.bind(t,\"touchstart\",c),e.event.bind(t,\"touchmove\",u),e.event.bind(t,\"touchend\",p)):bd.supportsIePointer&&(window.PointerEvent?(e.event.bind(t,\"pointerdown\",c),e.event.bind(t,\"pointermove\",u),e.event.bind(t,\"pointerup\",p)):window.MSPointerEvent&&(e.event.bind(t,\"MSPointerDown\",c),e.event.bind(t,\"MSPointerMove\",u),e.event.bind(t,\"MSPointerUp\",p)))}function s(n,r){t.scrollTop-=r,t.scrollLeft-=n,vd(e)}function a(e){return e.targetTouches?e.targetTouches[0]:e}function l(e){return!(e.pointerType&&\"pen\"===e.pointerType&&0===e.buttons||(!e.targetTouches||1!==e.targetTouches.length)&&(!e.pointerType||\"mouse\"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))}function c(e){if(l(e)){var t=a(e);n.pageX=t.pageX,n.pageY=t.pageY,r=(new Date).getTime(),null!==o&&clearInterval(o)}}function u(o){if(l(o)){var c=a(o),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-n.pageX,d=u.pageY-n.pageY;if(function(e,n,r){if(!t.contains(e))return!1;for(var i=e;i&&i!==t;){if(i.classList.contains(ld.element.consuming))return!0;var o=td(i);if(r&&o.overflowY.match(/(scroll|auto)/)){var s=i.scrollHeight-i.clientHeight;if(s>0&&(i.scrollTop>0&&r<0||i.scrollTop<s&&r>0))return!0}if(n&&o.overflowX.match(/(scroll|auto)/)){var a=i.scrollWidth-i.clientWidth;if(a>0&&(i.scrollLeft>0&&n<0||i.scrollLeft<a&&n>0))return!0}i=i.parentNode}return!1}(o.target,p,d))return;s(p,d),n=u;var f=(new Date).getTime(),h=f-r;h>0&&(i.x=p/h,i.y=d/h,r=f),function(n,r){var i=Math.floor(t.scrollTop),o=t.scrollLeft,s=Math.abs(n),a=Math.abs(r);if(a>s){if(r<0&&i===e.contentHeight-e.containerHeight||r>0&&0===i)return 0===window.scrollY&&r>0&&bd.isChrome}else if(s>a&&(n<0&&o===e.contentWidth-e.containerWidth||n>0&&0===o))return!0;return!0}(p,d)&&o.preventDefault()}}function p(){e.settings.swipeEasing&&(clearInterval(o),o=setInterval((function(){e.isInitialized?clearInterval(o):i.x||i.y?Math.abs(i.x)<.01&&Math.abs(i.y)<.01?clearInterval(o):e.element?(s(30*i.x,30*i.y),i.x*=.8,i.y*=.8):clearInterval(o):clearInterval(o)}),10))}}},Sd=function(e,t){var n=this;if(void 0===t&&(t={}),\"string\"==typeof e&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error(\"no element is specified to initialize PerfectScrollbar\");for(var r in this.element=e,e.classList.add(ld.main),this.settings={handlers:[\"click-rail\",\"drag-thumb\",\"keyboard\",\"wheel\",\"touch\"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},t)this.settings[r]=t[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var i,o,s=function(){return e.classList.add(ld.state.focus)},a=function(){return e.classList.remove(ld.state.focus)};this.isRtl=\"rtl\"===td(e).direction,!0===this.isRtl&&e.classList.add(ld.rtl),this.isNegativeScroll=(o=e.scrollLeft,e.scrollLeft=-1,i=e.scrollLeft<0,e.scrollLeft=o,i),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new hd,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=rd(ld.element.rail(\"x\")),e.appendChild(this.scrollbarXRail),this.scrollbarX=rd(ld.element.thumb(\"x\")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute(\"tabindex\",0),this.event.bind(this.scrollbarX,\"focus\",s),this.event.bind(this.scrollbarX,\"blur\",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=td(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=yd(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=yd(l.borderLeftWidth)+yd(l.borderRightWidth),nd(this.scrollbarXRail,{display:\"block\"}),this.railXMarginWidth=yd(l.marginLeft)+yd(l.marginRight),nd(this.scrollbarXRail,{display:\"\"}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=rd(ld.element.rail(\"y\")),e.appendChild(this.scrollbarYRail),this.scrollbarY=rd(ld.element.thumb(\"y\")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute(\"tabindex\",0),this.event.bind(this.scrollbarY,\"focus\",s),this.event.bind(this.scrollbarY,\"blur\",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=td(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=yd(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(e){var t=td(e);return yd(t.width)+yd(t.paddingLeft)+yd(t.paddingRight)+yd(t.borderLeftWidth)+yd(t.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=yd(c.borderTopWidth)+yd(c.borderBottomWidth),nd(this.scrollbarYRail,{display:\"block\"}),this.railYMarginHeight=yd(c.marginTop)+yd(c.marginBottom),nd(this.scrollbarYRail,{display:\"\"}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?\"start\":e.scrollLeft>=this.contentWidth-this.containerWidth?\"end\":null,y:e.scrollTop<=0?\"start\":e.scrollTop>=this.contentHeight-this.containerHeight?\"end\":null},this.isAlive=!0,this.settings.handlers.forEach((function(e){return kd[e](n)})),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,\"scroll\",(function(e){return n.onScroll(e)})),vd(this)};Sd.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,nd(this.scrollbarXRail,{display:\"block\"}),nd(this.scrollbarYRail,{display:\"block\"}),this.railXMarginWidth=yd(td(this.scrollbarXRail).marginLeft)+yd(td(this.scrollbarXRail).marginRight),this.railYMarginHeight=yd(td(this.scrollbarYRail).marginTop)+yd(td(this.scrollbarYRail).marginBottom),nd(this.scrollbarXRail,{display:\"none\"}),nd(this.scrollbarYRail,{display:\"none\"}),vd(this),gd(this,\"top\",0,!1,!0),gd(this,\"left\",0,!1,!0),nd(this.scrollbarXRail,{display:\"\"}),nd(this.scrollbarYRail,{display:\"\"}))},Sd.prototype.onScroll=function(e){this.isAlive&&(vd(this),gd(this,\"top\",this.element.scrollTop-this.lastScrollTop),gd(this,\"left\",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},Sd.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),sd(this.scrollbarX),sd(this.scrollbarY),sd(this.scrollbarXRail),sd(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},Sd.prototype.removePsClasses=function(){this.element.className=this.element.className.split(\" \").filter((function(e){return!e.match(/^ps([-_].+|)$/)})).join(\" \")};var Ed=Sd,Od=Object.defineProperty,_d=Object.getOwnPropertySymbols,Ad=Object.prototype.hasOwnProperty,Cd=Object.prototype.propertyIsEnumerable,jd=(e,t,n)=>t in e?Od(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Pd=Ed||t;let Td=\"\";ei&&(Td=r(1494),Td=\"function\"==typeof Td.toString&&Td.toString()||\"\",Td=\"[object Object]\"===Td?\"\":Td);const Id=gs`${Td}`,Rd=xs.div`\n  position: relative;\n`;class Nd extends n.Component{constructor(){super(...arguments),this.handleRef=e=>{this._container=e}}componentDidMount(){const e=this._container.parentElement&&this._container.parentElement.scrollTop||0;this.inst=new Pd(this._container,this.props.options||{}),this._container.scrollTo&&this._container.scrollTo(0,e)}componentDidUpdate(){this.inst.update()}componentWillUnmount(){this.inst.destroy()}render(){const{children:e,className:t,updateFn:r}=this.props;return r&&r(this.componentDidUpdate.bind(this)),n.createElement(n.Fragment,null,Td&&n.createElement(Id,null),n.createElement(Rd,{className:`scrollbar-container ${t}`,ref:this.handleRef},e))}}function $d(e){return n.createElement(js.Consumer,null,(t=>t.nativeScrollbars?n.createElement(\"div\",{style:{overflow:\"auto\",overscrollBehavior:\"contain\",msOverflowStyle:\"-ms-autohiding-scrollbar\"}},e.children):n.createElement(Nd,((e,t)=>{for(var n in t||(t={}))Ad.call(t,n)&&jd(e,n,t[n]);if(_d)for(var n of _d(t))Cd.call(t,n)&&jd(e,n,t[n]);return e})({},e),e.children)))}const Ld=xs((({className:e,style:t})=>n.createElement(\"svg\",{className:e,style:t,xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},n.createElement(\"polyline\",{points:\"6 9 12 15 18 9\"}))))`\n  position: absolute;\n  pointer-events: none;\n  z-index: 1;\n  top: 50%;\n  -webkit-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n  right: 8px;\n  margin: auto;\n  text-align: center;\n  polyline {\n    color: ${e=>\"dark\"===e.variant&&\"white\"};\n  }\n`,Dd=n.memo((e=>{const{options:t,onChange:r,placeholder:i,value:o=\"\",variant:s,className:a}=e;return n.createElement(\"div\",{className:a},n.createElement(Ld,{variant:s}),n.createElement(\"select\",{onChange:e=>{const{selectedIndex:n}=e.target;r(t[i?n-1:n])},value:o,className:\"dropdown-select\"},i&&n.createElement(\"option\",{disabled:!0,hidden:!0,value:i},i),t.map((({idx:e,value:t,title:r},i)=>n.createElement(\"option\",{key:e||t+i,value:t},r||t)))),n.createElement(\"label\",null,o))})),Md=fs(Dd)`\n  label {\n    box-sizing: border-box;\n    min-width: 100px;\n    outline: none;\n    display: inline-block;\n    font-family: ${e=>e.theme.typography.headings.fontFamily};\n    color: ${({theme:e})=>e.colors.text.primary};\n    vertical-align: bottom;\n    width: ${({fullWidth:e})=>e?\"100%\":\"auto\"};\n    text-transform: none;\n    padding: 0 22px 0 4px;\n\n    font-size: 0.929em;\n    line-height: 1.5em;\n    font-family: inherit;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    white-space: nowrap;\n  }\n  .dropdown-select {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    opacity: 0;\n    border: none;\n    appearance: none;\n    cursor: pointer;\n\n    color: ${({theme:e})=>e.colors.text.primary};\n    line-height: inherit;\n    font-family: inherit;\n  }\n  box-sizing: border-box;\n  min-width: 100px;\n  outline: none;\n  display: inline-block;\n  border-radius: 2px;\n  border: 1px solid rgba(38, 50, 56, 0.5);\n  vertical-align: bottom;\n  padding: 2px 0px 2px 6px;\n  position: relative;\n  width: auto;\n  background: white;\n  color: #263238;\n  font-family: ${e=>e.theme.typography.headings.fontFamily};\n  font-size: 0.929em;\n  line-height: 1.5em;\n  cursor: pointer;\n  transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;\n\n  &:hover,\n  &:focus-within {\n    border: 1px solid ${e=>e.theme.colors.primary.main};\n    color: ${e=>e.theme.colors.primary.main};\n    box-shadow: 0px 0px 0px 1px ${e=>e.theme.colors.primary.main};\n  }\n`,Fd=fs(Md)`\n  margin-left: 10px;\n  text-transform: none;\n  font-size: 0.969em;\n\n  font-size: 1em;\n  border: none;\n  padding: 0 1.2em 0 0;\n  background: transparent;\n\n  &:hover,\n  &:focus-within {\n    border: none;\n    box-shadow: none;\n    label {\n      color: ${e=>e.theme.colors.primary.main};\n      text-shadow: 0px 0px 0px ${e=>e.theme.colors.primary.main};\n    }\n  }\n`,zd=fs.span`\n  margin-left: 10px;\n  text-transform: none;\n  font-size: 0.929em;\n  color: black;\n`;var Bd=Object.defineProperty,Ud=Object.defineProperties,qd=Object.getOwnPropertyDescriptors,Vd=Object.getOwnPropertySymbols,Wd=Object.prototype.hasOwnProperty,Hd=Object.prototype.propertyIsEnumerable,Yd=(e,t,n)=>t in e?Bd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Gd=(e,t)=>{for(var n in t||(t={}))Wd.call(t,n)&&Yd(e,n,t[n]);if(Vd)for(var n of Vd(t))Hd.call(t,n)&&Yd(e,n,t[n]);return e},Qd=(e,t)=>Ud(e,qd(t));class Xd{constructor(e,t,n){this.operations=[];const{resolved:r}=e.deref(n||{});this.initWebhooks(e,r,t)}initWebhooks(e,t,n){for(const r of Object.keys(t)){const i=t[r],o=Object.keys(i).filter(na);for(const t of o){const r=i[t];if(i.$ref){const r=e.deref(i||{});this.initWebhooks(e,{[t]:r},n)}if(!r)continue;const o=new Du(e,Qd(Gd({},r),{httpVerb:t}),void 0,n,!1);this.operations.push(o)}}}}class Kd{constructor(e,t,n){const{resolved:r}=e.deref(n);this.id=t,this.sectionId=ka+t,this.type=r.type,this.displayName=r[\"x-displayName\"]||t,this.description=r.description||\"\",\"apiKey\"===r.type&&(this.apiKey={name:r.name,in:r.in}),\"http\"===r.type&&(this.http={scheme:r.scheme,bearerFormat:r.bearerFormat}),\"openIdConnect\"===r.type&&(this.openId={connectUrl:r.openIdConnectUrl}),\"oauth2\"===r.type&&r.flows&&(this.flows=r.flows)}}class Zd{constructor(e){const t=e.spec.components&&e.spec.components.securitySchemes||{};this.schemes=Object.keys(t).map((n=>new Kd(e,n,t[n])))}}var Jd=Object.defineProperty,ef=Object.getOwnPropertySymbols,tf=Object.prototype.hasOwnProperty,nf=Object.prototype.propertyIsEnumerable,rf=(e,t,n)=>t in e?Jd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,of=(e,t)=>{for(var n in t||(t={}))tf.call(t,n)&&rf(e,n,t[n]);if(ef)for(var n of ef(t))nf.call(t,n)&&rf(e,n,t[n]);return e};class sf{constructor(e,t,n){var r,i,o;this.options=n,this.parser=new kc(e,t,n),this.info=new ql(this.parser,this.options),this.externalDocs=this.parser.spec.externalDocs,this.contentItems=xf.buildStructure(this.parser,this.options),this.securitySchemes=new Zd(this.parser);const s=of(of({},null==(i=null==(r=this.parser)?void 0:r.spec)?void 0:i[\"x-webhooks\"]),null==(o=this.parser)?void 0:o.spec.webhooks);this.webhooks=new Xd(this.parser,n,s)}}var af=Object.defineProperty,lf=Object.getOwnPropertyDescriptor,cf=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?lf(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&af(t,n,o),o};class uf{constructor(e,t,n){this.items=[],this.active=!1,this.expanded=!1,on(this),this.id=t.id||e+\"/\"+di(t.name),this.type=e,this.name=t[\"x-displayName\"]||t.name,this.level=t.level||1,this.sidebarLabel=this.name,this.description=t.description||\"\";const r=t.items;r&&r.length&&(this.description=Bl.getTextBeforeHading(this.description,r[0].name)),this.parent=n,this.externalDocs=t.externalDocs,\"group\"===this.type&&(this.expanded=!0)}activate(){this.active=!0}expand(){this.parent&&this.parent.expand(),this.expanded=!0}collapse(){\"group\"!==this.type&&(this.expanded=!1)}deactivate(){this.active=!1}}cf([Te],uf.prototype,\"active\",2),cf([Te],uf.prototype,\"expanded\",2),cf([Pt],uf.prototype,\"activate\",1),cf([Pt],uf.prototype,\"expand\",1),cf([Pt],uf.prototype,\"collapse\",1),cf([Pt],uf.prototype,\"deactivate\",1);var pf=Object.defineProperty,df=Object.defineProperties,ff=Object.getOwnPropertyDescriptors,hf=Object.getOwnPropertySymbols,mf=Object.prototype.hasOwnProperty,gf=Object.prototype.propertyIsEnumerable,yf=(e,t,n)=>t in e?pf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bf=(e,t)=>{for(var n in t||(t={}))mf.call(t,n)&&yf(e,n,t[n]);if(hf)for(var n of hf(t))gf.call(t,n)&&yf(e,n,t[n]);return e},vf=(e,t)=>df(e,ff(t));class xf{static buildStructure(e,t){const n=e.spec,{schemaDefinitionsTagName:r}=t,i=[],o=[...n.tags||[]];!o.find((e=>(null==e?void 0:e.name)===r))&&r&&o.push({name:r});const s=xf.getTagsWithOperations(e,o);return i.push(...xf.addMarkdownItems(n.info.description||\"\",void 0,1,t)),n[\"x-tagGroups\"]&&n[\"x-tagGroups\"].length>0?i.push(...xf.getTagGroupsItems(e,void 0,n[\"x-tagGroups\"],s,t)):i.push(...xf.getTagsItems(e,s,void 0,void 0,t)),i}static addMarkdownItems(e,t,n,r){const i=new Bl(r,null==t?void 0:t.id).extractHeadings(e||\"\");i.length&&t&&t.description&&(t.description=Bl.getTextBeforeHading(t.description,i[0].name));const o=(e,t,n=1)=>t.map((t=>{const r=new uf(\"section\",t,e);return r.depth=n,t.items&&(r.items=o(r,t.items,n+1)),r}));return o(t,i,n)}static getTagGroupsItems(e,t,n,r,i){const o=[];for(const s of n){const n=new uf(\"group\",s,t);n.depth=0,n.items=xf.getTagsItems(e,r,n,s,i),o.push(n)}return o}static getTagsItems(e,t,n,r,i){let o;o=void 0===r?Object.keys(t):r.tags;const s=o.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag \"${e}\" is added to the group \"${r.name}\"`),null))),a=[];for(const t of s){if(!t)continue;const r=new uf(\"tag\",t,n);if(r.depth=1,\"\"===t.name){const n=[...xf.addMarkdownItems(t.description||\"\",r,r.depth+1,i),...this.getOperationsItems(e,void 0,t,r.depth+1,i)];a.push(...n);continue}const o=this.getTagRelatedSchema({parser:e,tag:t,parent:r,schemaDefinitionsTagName:i.schemaDefinitionsTagName});r.items=[...o,...xf.addMarkdownItems(t.description||\"\",r,r.depth+1,i),...this.getOperationsItems(e,r,t,r.depth+1,i)],a.push(r)}return i.sortTagsAlphabetically&&a.sort(Fa(\"name\")),a}static getOperationsItems(e,t,n,r,i){if(0===n.operations.length)return[];const o=[];for(const s of n.operations){const n=new Du(e,s,t,i);n.depth=r,o.push(n)}return i.sortOperationsAlphabetically&&o.sort(Fa(\"name\")),o}static getTagsWithOperations(e,t){const{spec:n}=e,r={},i=n[\"x-webhooks\"]||n.webhooks;for(const e of t||[])r[e.name]=vf(bf({},e),{operations:[]});function o(e,t,n){for(const i of Object.keys(t)){const s=t[i],a=Object.keys(s).filter(na);for(const t of a){const a=s[t];if(s.$ref){const{resolved:t}=e.deref(s);o(e,{[i]:t},n);continue}let l=null==a?void 0:a.tags;l&&l.length||(l=[\"\"]);for(const e of l){let o=r[e];void 0===o&&(o={name:e,operations:[]},r[e]=o),o[\"x-traitTag\"]||o.operations.push(vf(bf({},a),{pathName:i,pointer:Bs.compile([\"paths\",i,t]),httpVerb:t,pathParameters:s.parameters||[],pathServers:s.servers,isWebhook:!!n}))}}}}return i&&o(e,i,!0),n.paths&&o(e,n.paths),r}static getTagRelatedSchema({parser:e,tag:t,parent:n,schemaDefinitionsTagName:r}){var i;const o=r?[r]:[];return Object.entries((null==(i=e.spec.components)?void 0:i.schemas)||{}).map((([e,r])=>{const i=r[\"x-tags\"]||o;if(!(null==i?void 0:i.includes(t.name)))return null;const s=new uf(\"schema\",{name:e,\"x-displayName\":`${r.title||e}`,description:`<SchemaDefinition showWriteOnly={true} schemaRef=\"#/components/schemas/${e}\" />`},n);return s.depth=n.depth+1,s})).filter(Boolean)}}var wf=Object.defineProperty,kf=Object.getOwnPropertyDescriptor,Sf=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?kf(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&wf(t,n,o),o};const Ef=\"data-section-id\";class Of{constructor(e,t,n){this.scroll=t,this.history=n,this.activeItemIdx=-1,this.sideBarOpened=!1,this.updateOnScroll=e=>{const t=e?1:-1;let n=this.activeItemIdx;for(;(-1!==n||e)&&!(n>=this.flatItems.length-1&&e);){if(e){const e=this.getElementAtOrFirstChild(n+1);if(this.scroll.isElementBellow(e))break}else{const e=this.getElementAt(n);if(this.scroll.isElementAbove(e))break}n+=t}this.activate(this.flatItems[n],!0,!0)},this.updateOnHistory=(e=this.history.currentId)=>{if(!e)return;let t;t=this.flatItems.find((t=>t.id===e)),t?this.activateAndScroll(t,!1):(e.startsWith(ka)&&(t=this.flatItems.find((e=>ka.startsWith(e.id))),this.activateAndScroll(t,!1)),this.scroll.scrollIntoViewBySelector(`[${Ef}=\"${hi(e)}\"]`))},this.getItemById=e=>this.flatItems.find((t=>t.id===e)),on(this),this.items=e.contentItems,this.flatItems=function(e,t){const n=[],r=e=>{for(const i of e)n.push(i),i[t]&&r(i[t])};return r(e),n}(this.items||[],\"items\"),this.flatItems.forEach(((e,t)=>e.absoluteIdx=t)),this.subscribe()}static updateOnHistory(e=Va.currentId,t){e&&t.scrollIntoViewBySelector(`[${Ef}=\"${hi(e)}\"]`)}subscribe(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}toggleSidebar(){this.sideBarOpened=!this.sideBarOpened}closeSidebar(){this.sideBarOpened=!1}getElementAt(e){const t=this.flatItems[e];return t&&ti(`[${Ef}=\"${hi(t.id)}\"]`)||null}getElementAtOrFirstChild(e){let t=this.flatItems[e];return t&&\"group\"===t.type&&(t=t.items[0]),t&&ti(`[${Ef}=\"${hi(t.id)}\"]`)||null}get activeItem(){return this.flatItems[this.activeItemIdx]||void 0}activate(e,t=!0,n=!1){if((this.activeItem&&this.activeItem.id)!==(e&&e.id)&&(!e||\"group\"!==e.type)){if(this.deactivate(this.activeItem),!e)return this.activeItemIdx=-1,void this.history.replace(\"\",n);e.depth<=0||(this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(encodeURI(e.id),n),e.activate(),e.expand())}}deactivate(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}activateAndScroll(e,t,n){const r=e&&this.getItemById(e.id)||e;this.activate(r,t,n),this.scrollToActive(),r&&r.items.length||this.closeSidebar()}scrollToActive(){this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}dispose(){this._unsubscribe(),this._hashUnsubscribe()}}Sf([Te],Of.prototype,\"activeItemIdx\",2),Sf([Te],Of.prototype,\"sideBarOpened\",2),Sf([Pt],Of.prototype,\"toggleSidebar\",1),Sf([Pt],Of.prototype,\"closeSidebar\",1),Sf([Pt],Of.prototype,\"activate\",1),Sf([Pt.bound],Of.prototype,\"activateAndScroll\",1);var _f=Object.defineProperty,Af=Object.getOwnPropertyDescriptor;const Cf=\"scroll\";class jf{constructor(e){this.options=e,this._prevOffsetY=0,this._scrollParent=ei?window:void 0,this._emiter=new Ds,this.bind()}bind(){this._prevOffsetY=this.scrollY(),this._scrollParent&&this._scrollParent.addEventListener(\"scroll\",this.handleScroll)}dispose(){this._scrollParent&&this._scrollParent.removeEventListener(\"scroll\",this.handleScroll),this._emiter.removeAllListeners(Cf)}scrollY(){return\"undefined\"!=typeof HTMLElement&&this._scrollParent instanceof HTMLElement?this._scrollParent.scrollTop:void 0!==this._scrollParent?this._scrollParent.pageYOffset:0}isElementBellow(e){if(null!==e)return e.getBoundingClientRect().top>this.options.scrollYOffset()}isElementAbove(e){if(null===e)return;const t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}subscribe(e){const t=this._emiter.addListener(Cf,e);return()=>t.removeListener(Cf,e)}scrollIntoView(e){null!==e&&(e.scrollIntoView(),this._scrollParent&&this._scrollParent.scrollBy&&this._scrollParent.scrollBy(0,1-this.options.scrollYOffset()))}scrollIntoViewBySelector(e){const t=ti(e);this.scrollIntoView(t)}handleScroll(){const e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit(Cf,e)}}((e,t,n)=>{for(var r,i=Af(t,n),o=e.length-1;o>=0;o--)(r=e[o])&&(i=r(t,n,i)||i);i&&_f(t,n,i)})([Ls.bind,(e,t,n)=>{n.value=function(e){let t,n,r,i=null,o=0;const s=()=>{o=(new Date).getTime(),i=null,r=e.apply(t,n),i||(t=n=null)};return function(){const a=(new Date).getTime(),l=100-(a-o);return t=this,n=arguments,l<=0||l>100?(i&&(clearTimeout(i),i=null),o=a,r=e.apply(t,n),i||(t=n=null)):i||(i=setTimeout(s,l)),r}}(n.value)}],jf.prototype,\"handleScroll\");class Pf{constructor(){this.searchWorker=function(){let e;if(ei)try{e=r(1988)}catch(t){e=r(1714).default}else e=r(1714).default;return new e}()}indexItems(e){const t=e=>{e.forEach((e=>{\"group\"!==e.type&&this.add(e.name,(e.description||\"\").concat(\" \",e.path||\"\"),e.id),t(e.items)}))};t(e),this.searchWorker.done()}add(e,t,n){this.searchWorker.add(e,t,n)}dispose(){this.searchWorker.terminate(),this.searchWorker.dispose()}search(e){return this.searchWorker.search(e)}toJS(){return e=this,t=function*(){return this.searchWorker.toJS()},new Promise(((n,r)=>{var i=e=>{try{s(t.next(e))}catch(e){r(e)}},o=e=>{try{s(t.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,o);s((t=t.apply(e,null)).next())}));var e,t}load(e){this.searchWorker.load(e)}fromExternalJS(e,t){e&&t&&this.searchWorker.fromExternalJS(e,t)}}var Tf=Object.defineProperty,If=Object.getOwnPropertySymbols,Rf=Object.prototype.hasOwnProperty,Nf=Object.prototype.propertyIsEnumerable,$f=(e,t,n)=>t in e?Tf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lf=(e,t)=>{for(var n in t||(t={}))Rf.call(t,n)&&$f(e,n,t[n]);if(If)for(var n of If(t))Nf.call(t,n)&&$f(e,n,t[n]);return e};function Df(e){const{Label:t=zd,Dropdown:r=Fd}=e;return 1===e.options.length?n.createElement(t,null,e.options[0].value):n.createElement(r,Lf({},e))}const{entries:Mf,setPrototypeOf:Ff,isFrozen:zf,getPrototypeOf:Bf,getOwnPropertyDescriptor:Uf}=Object;let{freeze:qf,seal:Vf,create:Wf}=Object,{apply:Hf,construct:Yf}=\"undefined\"!=typeof Reflect&&Reflect;qf||(qf=function(e){return e}),Vf||(Vf=function(e){return e}),Hf||(Hf=function(e,t,n){return e.apply(t,n)}),Yf||(Yf=function(e,t){return new e(...t)});const Gf=ch(Array.prototype.forEach),Qf=ch(Array.prototype.lastIndexOf),Xf=ch(Array.prototype.pop),Kf=ch(Array.prototype.push),Zf=ch(Array.prototype.splice),Jf=ch(String.prototype.toLowerCase),eh=ch(String.prototype.toString),th=ch(String.prototype.match),nh=ch(String.prototype.replace),rh=ch(String.prototype.indexOf),ih=ch(String.prototype.trim),oh=ch(Object.prototype.hasOwnProperty),sh=ch(RegExp.prototype.test),ah=(lh=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Yf(lh,t)});var lh;function ch(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return Hf(e,t,r)}}function uh(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Jf;Ff&&Ff(e,null);let r=t.length;for(;r--;){let i=t[r];if(\"string\"==typeof i){const e=n(i);e!==i&&(zf(t)||(t[r]=e),i=e)}e[i]=!0}return e}function ph(e){for(let t=0;t<e.length;t++)oh(e,t)||(e[t]=null);return e}function dh(e){const t=Wf(null);for(const[n,r]of Mf(e))oh(e,n)&&(Array.isArray(r)?t[n]=ph(r):r&&\"object\"==typeof r&&r.constructor===Object?t[n]=dh(r):t[n]=r);return t}function fh(e,t){for(;null!==e;){const n=Uf(e,t);if(n){if(n.get)return ch(n.get);if(\"function\"==typeof n.value)return ch(n.value)}e=Bf(e)}return function(){return null}}const hh=qf([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),mh=qf([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),gh=qf([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),yh=qf([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),bh=qf([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]),vh=qf([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),xh=qf([\"#text\"]),wh=qf([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"popover\",\"popovertarget\",\"popovertargetaction\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"wrap\",\"xmlns\",\"slot\"]),kh=qf([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"amplitude\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"exponent\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"intercept\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"slope\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"tablevalues\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),Sh=qf([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),Eh=qf([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),Oh=Vf(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),_h=Vf(/<%[\\w\\W]*|[\\w\\W]*%>/gm),Ah=Vf(/\\$\\{[\\w\\W]*/gm),Ch=Vf(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/),jh=Vf(/^aria-[\\-\\w]+$/),Ph=Vf(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Th=Vf(/^(?:\\w+script|data):/i),Ih=Vf(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),Rh=Vf(/^html$/i),Nh=Vf(/^[a-z][.\\w]*(-[.\\w]+)+$/i);var $h=Object.freeze({__proto__:null,ARIA_ATTR:jh,ATTR_WHITESPACE:Ih,CUSTOM_ELEMENT:Nh,DATA_ATTR:Ch,DOCTYPE_NAME:Rh,ERB_EXPR:_h,IS_ALLOWED_URI:Ph,IS_SCRIPT_OR_DATA:Th,MUSTACHE_EXPR:Oh,TMPLIT_EXPR:Ah});const Lh=function(){return\"undefined\"==typeof window?null:window};var Dh=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Lh();const n=t=>e(t);if(n.version=\"3.2.4\",n.removed=[],!t||!t.document||9!==t.document.nodeType||!t.Element)return n.isSupported=!1,n;let{document:r}=t;const i=r,o=i.currentScript,{DocumentFragment:s,HTMLTemplateElement:a,Node:l,Element:c,NodeFilter:u,NamedNodeMap:p=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:h}=t,m=c.prototype,g=fh(m,\"cloneNode\"),y=fh(m,\"remove\"),b=fh(m,\"nextSibling\"),v=fh(m,\"childNodes\"),x=fh(m,\"parentNode\");if(\"function\"==typeof a){const e=r.createElement(\"template\");e.content&&e.content.ownerDocument&&(r=e.content.ownerDocument)}let w,k=\"\";const{implementation:S,createNodeIterator:E,createDocumentFragment:O,getElementsByTagName:_}=r,{importNode:A}=i;let C={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};n.isSupported=\"function\"==typeof Mf&&\"function\"==typeof x&&S&&void 0!==S.createHTMLDocument;const{MUSTACHE_EXPR:j,ERB_EXPR:P,TMPLIT_EXPR:T,DATA_ATTR:I,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:N,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:L}=$h;let{IS_ALLOWED_URI:D}=$h,M=null;const F=uh({},[...hh,...mh,...gh,...bh,...xh]);let z=null;const B=uh({},[...wh,...kh,...Sh,...Eh]);let U=Object.seal(Wf(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),q=null,V=null,W=!0,H=!0,Y=!1,G=!0,Q=!1,X=!0,K=!1,Z=!1,J=!1,ee=!1,te=!1,ne=!1,re=!0,ie=!1,oe=!0,se=!1,ae={},le=null;const ce=uh({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let ue=null;const pe=uh({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let de=null;const fe=uh({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),he=\"http://www.w3.org/1998/Math/MathML\",me=\"http://www.w3.org/2000/svg\",ge=\"http://www.w3.org/1999/xhtml\";let ye=ge,be=!1,ve=null;const xe=uh({},[he,me,ge],eh);let we=uh({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),ke=uh({},[\"annotation-xml\"]);const Se=uh({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);let Ee=null;const Oe=[\"application/xhtml+xml\",\"text/html\"];let _e=null,Ae=null;const Ce=r.createElement(\"form\"),je=function(e){return e instanceof RegExp||e instanceof Function},Pe=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Ae||Ae!==e){if(e&&\"object\"==typeof e||(e={}),e=dh(e),Ee=-1===Oe.indexOf(e.PARSER_MEDIA_TYPE)?\"text/html\":e.PARSER_MEDIA_TYPE,_e=\"application/xhtml+xml\"===Ee?eh:Jf,M=oh(e,\"ALLOWED_TAGS\")?uh({},e.ALLOWED_TAGS,_e):F,z=oh(e,\"ALLOWED_ATTR\")?uh({},e.ALLOWED_ATTR,_e):B,ve=oh(e,\"ALLOWED_NAMESPACES\")?uh({},e.ALLOWED_NAMESPACES,eh):xe,de=oh(e,\"ADD_URI_SAFE_ATTR\")?uh(dh(fe),e.ADD_URI_SAFE_ATTR,_e):fe,ue=oh(e,\"ADD_DATA_URI_TAGS\")?uh(dh(pe),e.ADD_DATA_URI_TAGS,_e):pe,le=oh(e,\"FORBID_CONTENTS\")?uh({},e.FORBID_CONTENTS,_e):ce,q=oh(e,\"FORBID_TAGS\")?uh({},e.FORBID_TAGS,_e):{},V=oh(e,\"FORBID_ATTR\")?uh({},e.FORBID_ATTR,_e):{},ae=!!oh(e,\"USE_PROFILES\")&&e.USE_PROFILES,W=!1!==e.ALLOW_ARIA_ATTR,H=!1!==e.ALLOW_DATA_ATTR,Y=e.ALLOW_UNKNOWN_PROTOCOLS||!1,G=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Q=e.SAFE_FOR_TEMPLATES||!1,X=!1!==e.SAFE_FOR_XML,K=e.WHOLE_DOCUMENT||!1,ee=e.RETURN_DOM||!1,te=e.RETURN_DOM_FRAGMENT||!1,ne=e.RETURN_TRUSTED_TYPE||!1,J=e.FORCE_BODY||!1,re=!1!==e.SANITIZE_DOM,ie=e.SANITIZE_NAMED_PROPS||!1,oe=!1!==e.KEEP_CONTENT,se=e.IN_PLACE||!1,D=e.ALLOWED_URI_REGEXP||Ph,ye=e.NAMESPACE||ge,we=e.MATHML_TEXT_INTEGRATION_POINTS||we,ke=e.HTML_INTEGRATION_POINTS||ke,U=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&je(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(U.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&je(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(U.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(U.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Q&&(H=!1),te&&(ee=!0),ae&&(M=uh({},xh),z=[],!0===ae.html&&(uh(M,hh),uh(z,wh)),!0===ae.svg&&(uh(M,mh),uh(z,kh),uh(z,Eh)),!0===ae.svgFilters&&(uh(M,gh),uh(z,kh),uh(z,Eh)),!0===ae.mathMl&&(uh(M,bh),uh(z,Sh),uh(z,Eh))),e.ADD_TAGS&&(M===F&&(M=dh(M)),uh(M,e.ADD_TAGS,_e)),e.ADD_ATTR&&(z===B&&(z=dh(z)),uh(z,e.ADD_ATTR,_e)),e.ADD_URI_SAFE_ATTR&&uh(de,e.ADD_URI_SAFE_ATTR,_e),e.FORBID_CONTENTS&&(le===ce&&(le=dh(le)),uh(le,e.FORBID_CONTENTS,_e)),oe&&(M[\"#text\"]=!0),K&&uh(M,[\"html\",\"head\",\"body\"]),M.table&&(uh(M,[\"tbody\"]),delete q.tbody),e.TRUSTED_TYPES_POLICY){if(\"function\"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw ah('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw ah('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');w=e.TRUSTED_TYPES_POLICY,k=w.createHTML(\"\")}else void 0===w&&(w=function(e,t){if(\"object\"!=typeof e||\"function\"!=typeof e.createPolicy)return null;let n=null;const r=\"data-tt-policy-suffix\";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));const i=\"dompurify\"+(n?\"#\"+n:\"\");try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch(e){return console.warn(\"TrustedTypes policy \"+i+\" could not be created.\"),null}}(h,o)),null!==w&&\"string\"==typeof k&&(k=w.createHTML(\"\"));qf&&qf(e),Ae=e}},Te=uh({},[...mh,...gh,...yh]),Ie=uh({},[...bh,...vh]),Re=function(e){Kf(n.removed,{element:e});try{x(e).removeChild(e)}catch(t){y(e)}},Ne=function(e,t){try{Kf(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){Kf(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),\"is\"===e)if(ee||te)try{Re(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}},$e=function(e){let t=null,n=null;if(J)e=\"<remove></remove>\"+e;else{const t=th(e,/^[\\r\\n\\t ]+/);n=t&&t[0]}\"application/xhtml+xml\"===Ee&&ye===ge&&(e='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+e+\"</body></html>\");const i=w?w.createHTML(e):e;if(ye===ge)try{t=(new f).parseFromString(i,Ee)}catch(e){}if(!t||!t.documentElement){t=S.createDocument(ye,\"template\",null);try{t.documentElement.innerHTML=be?k:i}catch(e){}}const o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),ye===ge?_.call(t,K?\"html\":\"body\")[0]:K?t.documentElement:o},Le=function(e){return E.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},De=function(e){return e instanceof d&&(\"string\"!=typeof e.nodeName||\"string\"!=typeof e.textContent||\"function\"!=typeof e.removeChild||!(e.attributes instanceof p)||\"function\"!=typeof e.removeAttribute||\"function\"!=typeof e.setAttribute||\"string\"!=typeof e.namespaceURI||\"function\"!=typeof e.insertBefore||\"function\"!=typeof e.hasChildNodes)},Me=function(e){return\"function\"==typeof l&&e instanceof l};function Fe(e,t,r){Gf(e,(e=>{e.call(n,t,r,Ae)}))}const ze=function(e){let t=null;if(Fe(C.beforeSanitizeElements,e,null),De(e))return Re(e),!0;const r=_e(e.nodeName);if(Fe(C.uponSanitizeElement,e,{tagName:r,allowedTags:M}),e.hasChildNodes()&&!Me(e.firstElementChild)&&sh(/<[/\\w]/g,e.innerHTML)&&sh(/<[/\\w]/g,e.textContent))return Re(e),!0;if(7===e.nodeType)return Re(e),!0;if(X&&8===e.nodeType&&sh(/<[/\\w]/g,e.data))return Re(e),!0;if(!M[r]||q[r]){if(!q[r]&&Ue(r)){if(U.tagNameCheck instanceof RegExp&&sh(U.tagNameCheck,r))return!1;if(U.tagNameCheck instanceof Function&&U.tagNameCheck(r))return!1}if(oe&&!le[r]){const t=x(e)||e.parentNode,n=v(e)||e.childNodes;if(n&&t)for(let r=n.length-1;r>=0;--r){const i=g(n[r],!0);i.__removalCount=(e.__removalCount||0)+1,t.insertBefore(i,b(e))}}return Re(e),!0}return e instanceof c&&!function(e){let t=x(e);t&&t.tagName||(t={namespaceURI:ye,tagName:\"template\"});const n=Jf(e.tagName),r=Jf(t.tagName);return!!ve[e.namespaceURI]&&(e.namespaceURI===me?t.namespaceURI===ge?\"svg\"===n:t.namespaceURI===he?\"svg\"===n&&(\"annotation-xml\"===r||we[r]):Boolean(Te[n]):e.namespaceURI===he?t.namespaceURI===ge?\"math\"===n:t.namespaceURI===me?\"math\"===n&&ke[r]:Boolean(Ie[n]):e.namespaceURI===ge?!(t.namespaceURI===me&&!ke[r])&&!(t.namespaceURI===he&&!we[r])&&!Ie[n]&&(Se[n]||!Te[n]):!(\"application/xhtml+xml\"!==Ee||!ve[e.namespaceURI]))}(e)?(Re(e),!0):\"noscript\"!==r&&\"noembed\"!==r&&\"noframes\"!==r||!sh(/<\\/no(script|embed|frames)/i,e.innerHTML)?(Q&&3===e.nodeType&&(t=e.textContent,Gf([j,P,T],(e=>{t=nh(t,e,\" \")})),e.textContent!==t&&(Kf(n.removed,{element:e.cloneNode()}),e.textContent=t)),Fe(C.afterSanitizeElements,e,null),!1):(Re(e),!0)},Be=function(e,t,n){if(re&&(\"id\"===t||\"name\"===t)&&(n in r||n in Ce))return!1;if(H&&!V[t]&&sh(I,t));else if(W&&sh(R,t));else if(!z[t]||V[t]){if(!(Ue(e)&&(U.tagNameCheck instanceof RegExp&&sh(U.tagNameCheck,e)||U.tagNameCheck instanceof Function&&U.tagNameCheck(e))&&(U.attributeNameCheck instanceof RegExp&&sh(U.attributeNameCheck,t)||U.attributeNameCheck instanceof Function&&U.attributeNameCheck(t))||\"is\"===t&&U.allowCustomizedBuiltInElements&&(U.tagNameCheck instanceof RegExp&&sh(U.tagNameCheck,n)||U.tagNameCheck instanceof Function&&U.tagNameCheck(n))))return!1}else if(de[t]);else if(sh(D,nh(n,$,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==rh(n,\"data:\")||!ue[e])if(Y&&!sh(N,nh(n,$,\"\")));else if(n)return!1;return!0},Ue=function(e){return\"annotation-xml\"!==e&&th(e,L)},qe=function(e){Fe(C.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||De(e))return;const r={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:z,forceKeepAttr:void 0};let i=t.length;for(;i--;){const o=t[i],{name:s,namespaceURI:a,value:l}=o,c=_e(s);let u=\"value\"===s?l:ih(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,Fe(C.uponSanitizeAttribute,e,r),u=r.attrValue,!ie||\"id\"!==c&&\"name\"!==c||(Ne(s,e),u=\"user-content-\"+u),X&&sh(/((--!?|])>)|<\\/(style|title)/i,u)){Ne(s,e);continue}if(r.forceKeepAttr)continue;if(Ne(s,e),!r.keepAttr)continue;if(!G&&sh(/\\/>/i,u)){Ne(s,e);continue}Q&&Gf([j,P,T],(e=>{u=nh(u,e,\" \")}));const p=_e(e.nodeName);if(Be(p,c,u)){if(w&&\"object\"==typeof h&&\"function\"==typeof h.getAttributeType)if(a);else switch(h.getAttributeType(p,c)){case\"TrustedHTML\":u=w.createHTML(u);break;case\"TrustedScriptURL\":u=w.createScriptURL(u)}try{a?e.setAttributeNS(a,s,u):e.setAttribute(s,u),De(e)?Re(e):Xf(n.removed)}catch(e){}}}Fe(C.afterSanitizeAttributes,e,null)},Ve=function e(t){let n=null;const r=Le(t);for(Fe(C.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)Fe(C.uponSanitizeShadowNode,n,null),ze(n),qe(n),n.content instanceof s&&e(n.content);Fe(C.afterSanitizeShadowDOM,t,null)};return n.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,o=null,a=null,c=null;if(be=!e,be&&(e=\"\\x3c!--\\x3e\"),\"string\"!=typeof e&&!Me(e)){if(\"function\"!=typeof e.toString)throw ah(\"toString is not a function\");if(\"string\"!=typeof(e=e.toString()))throw ah(\"dirty is not a string, aborting\")}if(!n.isSupported)return e;if(Z||Pe(t),n.removed=[],\"string\"==typeof e&&(se=!1),se){if(e.nodeName){const t=_e(e.nodeName);if(!M[t]||q[t])throw ah(\"root node is forbidden and cannot be sanitized in-place\")}}else if(e instanceof l)r=$e(\"\\x3c!----\\x3e\"),o=r.ownerDocument.importNode(e,!0),1===o.nodeType&&\"BODY\"===o.nodeName||\"HTML\"===o.nodeName?r=o:r.appendChild(o);else{if(!ee&&!Q&&!K&&-1===e.indexOf(\"<\"))return w&&ne?w.createHTML(e):e;if(r=$e(e),!r)return ee?null:ne?k:\"\"}r&&J&&Re(r.firstChild);const u=Le(se?e:r);for(;a=u.nextNode();)ze(a),qe(a),a.content instanceof s&&Ve(a.content);if(se)return e;if(ee){if(te)for(c=O.call(r.ownerDocument);r.firstChild;)c.appendChild(r.firstChild);else c=r;return(z.shadowroot||z.shadowrootmode)&&(c=A.call(i,c,!0)),c}let p=K?r.outerHTML:r.innerHTML;return K&&M[\"!doctype\"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&sh(Rh,r.ownerDocument.doctype.name)&&(p=\"<!DOCTYPE \"+r.ownerDocument.doctype.name+\">\\n\"+p),Q&&Gf([j,P,T],(e=>{p=nh(p,e,\" \")})),w&&ne?w.createHTML(p):p},n.setConfig=function(){Pe(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Z=!0},n.clearConfig=function(){Ae=null,Z=!1},n.isValidAttribute=function(e,t,n){Ae||Pe({});const r=_e(e),i=_e(t);return Be(r,i,n)},n.addHook=function(e,t){\"function\"==typeof t&&Kf(C[e],t)},n.removeHook=function(e,t){if(void 0!==t){const n=Qf(C[e],t);return-1===n?void 0:Zf(C[e],n,1)[0]}return Xf(C[e])},n.removeHooks=function(e){C[e]=[]},n.removeAllHooks=function(){C={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},n}();const Mh=ms`\n  a {\n    text-decoration: ${e=>e.theme.typography.links.textDecoration};\n    color: ${e=>e.theme.typography.links.color};\n\n    &:visited {\n      color: ${e=>e.theme.typography.links.visited};\n    }\n\n    &:hover {\n      color: ${e=>e.theme.typography.links.hover};\n      text-decoration: ${e=>e.theme.typography.links.hoverTextDecoration};\n    }\n  }\n`,Fh=xs(Kp)`\n  font-family: ${e=>e.theme.typography.fontFamily};\n  font-weight: ${e=>e.theme.typography.fontWeightRegular};\n  line-height: ${e=>e.theme.typography.lineHeight};\n\n  p {\n    &:last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  ${({$compact:e})=>e&&\"\\n    p:first-child {\\n      margin-top: 0;\\n    }\\n    p:last-child {\\n      margin-bottom: 0;\\n    }\\n  \"}\n\n  ${({$inline:e})=>e&&\" p {\\n    display: inline-block;\\n  }\"}\n\n  h1 {\n    ${Vu(1)};\n    color: ${e=>e.theme.colors.primary.main};\n    margin-top: 0;\n  }\n\n  h2 {\n    ${Vu(2)};\n    color: ${e=>e.theme.colors.text.primary};\n  }\n\n  code {\n    color: ${({theme:e})=>e.typography.code.color};\n    background-color: ${({theme:e})=>e.typography.code.backgroundColor};\n\n    font-family: ${e=>e.theme.typography.code.fontFamily};\n    border-radius: 2px;\n    border: 1px solid rgba(38, 50, 56, 0.1);\n    padding: 0 ${({theme:e})=>e.spacing.unit}px;\n    font-size: ${e=>e.theme.typography.code.fontSize};\n    font-weight: ${({theme:e})=>e.typography.code.fontWeight};\n\n    word-break: break-word;\n  }\n\n  pre {\n    font-family: ${e=>e.theme.typography.code.fontFamily};\n    white-space: ${({theme:e})=>e.typography.code.wrap?\"pre-wrap\":\"pre\"};\n    background-color: ${({theme:e})=>e.codeBlock.backgroundColor};\n    color: white;\n    padding: ${e=>4*e.theme.spacing.unit}px;\n    overflow-x: auto;\n    line-height: normal;\n    border-radius: 0;\n    border: 1px solid rgba(38, 50, 56, 0.1);\n\n    code {\n      background-color: transparent;\n      color: white;\n      padding: 0;\n\n      &:before,\n      &:after {\n        content: none;\n      }\n    }\n  }\n\n  blockquote {\n    margin: 0;\n    margin-bottom: 1em;\n    padding: 0 15px;\n    color: #777;\n    border-left: 4px solid #ddd;\n  }\n\n  img {\n    max-width: 100%;\n    box-sizing: content-box;\n  }\n\n  ul,\n  ol {\n    padding-left: 2em;\n    margin: 0;\n    margin-bottom: 1em;\n\n    ul,\n    ol {\n      margin-bottom: 0;\n      margin-top: 0;\n    }\n  }\n\n  table {\n    display: block;\n    width: 100%;\n    overflow: auto;\n    word-break: normal;\n    word-break: keep-all;\n    border-collapse: collapse;\n    border-spacing: 0;\n    margin-top: 1.5em;\n    margin-bottom: 1.5em;\n  }\n\n  table tr {\n    background-color: #fff;\n    border-top: 1px solid #ccc;\n\n    &:nth-child(2n) {\n      background-color: ${({theme:e})=>e.schema.nestedBackground};\n    }\n  }\n\n  table th,\n  table td {\n    padding: 6px 13px;\n    border: 1px solid #ddd;\n  }\n\n  table th {\n    text-align: left;\n    font-weight: bold;\n  }\n\n  ${ep(\".share-link\")};\n\n  ${Mh}\n\n  ${ws(\"Markdown\")};\n`;var zh=Object.defineProperty,Bh=Object.defineProperties,Uh=Object.getOwnPropertyDescriptors,qh=Object.getOwnPropertySymbols,Vh=Object.prototype.hasOwnProperty,Wh=Object.prototype.propertyIsEnumerable,Hh=(e,t,n)=>t in e?zh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Yh=Dh,Gh=fs(Fh)`\n  display: inline;\n`,Qh=(e,t)=>e?Yh.sanitize(t):t;function Xh(e){var t=e,{inline:r,compact:i}=t,o=((e,t)=>{var n={};for(var r in e)Vh.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&qh)for(var r of qh(e))t.indexOf(r)<0&&Wh.call(e,r)&&(n[r]=e[r]);return n})(t,[\"inline\",\"compact\"]);const s=r?Gh:Fh;return n.createElement(Ts,null,(e=>n.createElement(s,((e,t)=>Bh(e,Uh(t)))(((e,t)=>{for(var n in t||(t={}))Vh.call(t,n)&&Hh(e,n,t[n]);if(qh)for(var n of qh(t))Wh.call(t,n)&&Hh(e,n,t[n]);return e})({className:\"redoc-markdown \"+(o.className||\"\"),dangerouslySetInnerHTML:{__html:Qh(e.sanitize,o.html)},\"data-role\":o[\"data-role\"]},o),{$inline:r,$compact:i}))))}class Kh extends n.Component{render(){const{source:e,inline:t,compact:r,className:i,\"data-role\":o}=this.props,s=new Bl;return n.createElement(Xh,{html:s.renderMd(e),inline:t,compact:r,className:i,\"data-role\":o})}}const Zh=xs.div`\n  position: relative;\n`,Jh=xs.div`\n  position: absolute;\n  min-width: 80px;\n  max-width: 500px;\n  background: #fff;\n  bottom: 100%;\n  left: 50%;\n  margin-bottom: 10px;\n  transform: translateX(-50%);\n\n  border-radius: 4px;\n  padding: 0.3em 0.6em;\n  text-align: center;\n  box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1);\n`,em=xs.div`\n  background: #fff;\n  color: #000;\n  display: inline;\n  font-size: 0.85em;\n  white-space: nowrap;\n`,tm=xs.div`\n  position: absolute;\n  width: 0;\n  height: 0;\n  bottom: -5px;\n  left: 50%;\n  margin-left: -5px;\n  border-left: solid transparent 5px;\n  border-right: solid transparent 5px;\n  border-top: solid #fff 5px;\n`,nm=xs.div`\n  position: absolute;\n  width: 100%;\n  height: 20px;\n  bottom: -20px;\n`;class rm extends n.Component{render(){const{open:e,title:t,children:r}=this.props;return n.createElement(Zh,null,r,e&&n.createElement(Jh,null,n.createElement(em,null,t),n.createElement(tm,null),n.createElement(nm,null)))}}const im=\"undefined\"!=typeof document&&document.queryCommandSupported&&document.queryCommandSupported(\"copy\");class om{static isSupported(){return im}static selectElement(e){let t,n;document.body.createTextRange?(t=document.body.createTextRange(),t.moveToElementText(e),t.select()):document.createRange&&window.getSelection&&(n=window.getSelection(),t=document.createRange(),t.selectNodeContents(e),n.removeAllRanges(),n.addRange(t))}static deselect(){if(document.selection)document.selection.empty();else if(window.getSelection){const e=window.getSelection();e&&e.removeAllRanges()}}static copySelected(){let e;try{e=document.execCommand(\"copy\")}catch(t){e=!1}return e}static copyElement(e){om.selectElement(e);const t=om.copySelected();return t&&om.deselect(),t}static copyCustom(e){const t=document.createElement(\"textarea\");t.style.position=\"fixed\",t.style.top=\"0\",t.style.left=\"0\",t.style.width=\"2em\",t.style.height=\"2em\",t.style.padding=\"0\",t.style.border=\"none\",t.style.outline=\"none\",t.style.boxShadow=\"none\",t.style.background=\"transparent\",t.value=e,document.body.appendChild(t),t.select();const n=om.copySelected();return document.body.removeChild(t),n}}const sm=e=>{const[t,r]=n.useState(!1),i=()=>{const t=\"string\"==typeof e.data?e.data:JSON.stringify(e.data,null,2);om.copyCustom(t),o()},o=()=>{r(!0),setTimeout((()=>{r(!1)}),1500)};return e.children({renderCopyButton:()=>n.createElement(\"button\",{onClick:i},n.createElement(rm,{title:om.isSupported()?\"Copied\":\"Not supported in your browser\",open:t},\"Copy\"))})};let am=1;function lm(e,t){am=1;let n=\"\";return n+='<div class=\"redoc-json\">',n+=\"<code>\",n+=fm(e,t),n+=\"</code>\",n+=\"</div>\",n}function cm(e){return void 0!==e?e.toString().replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"):\"\"}function um(e){return JSON.stringify(e).slice(1,-1)}function pm(e,t){return'<span class=\"'+t+'\">'+cm(e)+\"</span>\"}function dm(e){return'<span class=\"token punctuation\">'+e+\"</span>\"}function fm(e,t){const n=typeof e;let r=\"\";return null==e?r+=pm(\"null\",\"token keyword\"):e&&e.constructor===Array?(am++,r+=function(e,t){const n=am>t?\"collapsed\":\"\";let r=`<button class=\"collapser\" aria-label=\"${am>t+1?\"expand\":\"collapse\"}\"></button>${dm(\"[\")}<span class=\"ellipsis\"></span><ul class=\"array collapsible\">`,i=!1;const o=e.length;for(let s=0;s<o;s++)i=!0,r+='<li><div class=\"hoverable '+n+'\">',r+=fm(e[s],t),s<o-1&&(r+=\",\"),r+=\"</div></li>\";return r+=`</ul>${dm(\"]\")}`,i||(r=dm(\"[ ]\")),r}(e,t),am--):e&&e.constructor===Date?r+=pm('\"'+e.toISOString()+'\"',\"token string\"):\"object\"===n?(am++,r+=function(e,t){const n=am>t?\"collapsed\":\"\",r=Object.keys(e),i=r.length;let o=`<button class=\"collapser\" aria-label=\"${am>t+1?\"expand\":\"collapse\"}\"></button>${dm(\"{\")}<span class=\"ellipsis\"></span><ul class=\"obj collapsible\">`,s=!1;for(let a=0;a<i;a++){const l=r[a];s=!0,o+='<li><div class=\"hoverable '+n+'\">',o+='<span class=\"property token string\">\"'+cm(l)+'\"</span>: ',o+=fm(e[l],t),a<i-1&&(o+=dm(\",\")),o+=\"</div></li>\"}return o+=`</ul>${dm(\"}\")}`,s||(o=dm(\"{ }\")),o}(e,t),am--):\"number\"===n?r+=pm(e,\"token number\"):\"string\"===n?/^(http|https):\\/\\/[^\\s]+$/.test(e)?r+=pm('\"',\"token string\")+'<a href=\"'+encodeURI(e)+'\">'+cm(um(e))+\"</a>\"+pm('\"',\"token string\"):r+=pm('\"'+um(e)+'\"',\"token string\"):\"boolean\"===n&&(r+=pm(e,\"token boolean\")),r}const hm=ms`\n  .redoc-json code > .collapser {\n    display: none;\n    pointer-events: none;\n  }\n\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  font-size: ${e=>e.theme.typography.code.fontSize};\n\n  white-space: ${({theme:e})=>e.typography.code.wrap?\"pre-wrap\":\"pre\"};\n  contain: content;\n  overflow-x: auto;\n\n  .callback-function {\n    color: gray;\n  }\n\n  .collapser:after {\n    content: '-';\n    cursor: pointer;\n  }\n\n  .collapsed > .collapser:after {\n    content: '+';\n    cursor: pointer;\n  }\n\n  .ellipsis:after {\n    content: ' … ';\n  }\n\n  .collapsible {\n    margin-left: 2em;\n  }\n\n  .hoverable {\n    padding-top: 1px;\n    padding-bottom: 1px;\n    padding-left: 2px;\n    padding-right: 2px;\n    border-radius: 2px;\n  }\n\n  .hovered {\n    background-color: rgba(235, 238, 249, 1);\n  }\n\n  .collapser {\n    background-color: transparent;\n    border: 0;\n    color: #fff;\n    font-family: ${e=>e.theme.typography.code.fontFamily};\n    font-size: ${e=>e.theme.typography.code.fontSize};\n    padding-right: 6px;\n    padding-left: 6px;\n    padding-top: 0;\n    padding-bottom: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15px;\n    height: 15px;\n    position: absolute;\n    top: 4px;\n    left: -1.5em;\n    cursor: default;\n    user-select: none;\n    -webkit-user-select: none;\n    padding: 2px;\n    &:focus {\n      outline-color: #fff;\n      outline-style: dotted;\n      outline-width: 1px;\n    }\n  }\n\n  ul {\n    list-style-type: none;\n    padding: 0px;\n    margin: 0px 0px 0px 26px;\n  }\n\n  li {\n    position: relative;\n    display: block;\n  }\n\n  .hoverable {\n    display: inline-block;\n  }\n\n  .selected {\n    outline-style: solid;\n    outline-width: 1px;\n    outline-style: dotted;\n  }\n\n  .collapsed > .collapsible {\n    display: none;\n  }\n\n  .ellipsis {\n    display: none;\n  }\n\n  .collapsed > .ellipsis {\n    display: inherit;\n  }\n`,mm=xs.div`\n  &:hover > ${Zp} {\n    opacity: 1;\n  }\n`,gm=xs((e=>{const[t,r]=n.useState(),i=({renderCopyButton:t})=>{const i=e.data&&Object.values(e.data).some((e=>\"object\"==typeof e&&null!==e));return n.createElement(mm,null,n.createElement(Zp,null,t(),i&&n.createElement(n.Fragment,null,n.createElement(\"button\",{onClick:o},\" Expand all \"),n.createElement(\"button\",{onClick:s},\" Collapse all \"))),n.createElement(js.Consumer,null,(t=>n.createElement(Kp,{tabIndex:0,className:e.className,ref:e=>r(e),dangerouslySetInnerHTML:{__html:lm(e.data,t.jsonSamplesExpandLevel)}}))))},o=()=>{const e=null==t?void 0:t.getElementsByClassName(\"collapsible\");for(const t of Array.prototype.slice.call(e)){const e=t.parentNode;e.classList.remove(\"collapsed\"),e.querySelector(\".collapser\").setAttribute(\"aria-label\",\"collapse\")}},s=()=>{const e=null==t?void 0:t.getElementsByClassName(\"collapsible\"),n=Array.prototype.slice.call(e,1);for(const e of n){const t=e.parentNode;t.classList.add(\"collapsed\"),t.querySelector(\".collapser\").setAttribute(\"aria-label\",\"expand\")}},a=e=>{let t;\"collapser\"===e.className&&(t=e.parentElement.getElementsByClassName(\"collapsible\")[0],t.parentElement.classList.contains(\"collapsed\")?(t.parentElement.classList.remove(\"collapsed\"),e.setAttribute(\"aria-label\",\"collapse\")):(t.parentElement.classList.add(\"collapsed\"),e.setAttribute(\"aria-label\",\"expand\")))},l=n.useCallback((e=>{a(e.target)}),[]),c=n.useCallback((e=>{\"Enter\"===e.key&&a(e.target)}),[]);return n.useEffect((()=>(null==t||t.addEventListener(\"click\",l),null==t||t.addEventListener(\"focus\",c),()=>{null==t||t.removeEventListener(\"click\",l),null==t||t.removeEventListener(\"focus\",c)})),[l,c,t]),n.createElement(sm,{data:e.data},i)}))`\n  ${hm};\n`,ym=e=>{const{source:t,lang:r}=e;return n.createElement(ed,{dangerouslySetInnerHTML:{__html:Aa(t,r)}})},bm=e=>{const{source:t,lang:r}=e;return n.createElement(sm,{data:t},(({renderCopyButton:e})=>n.createElement(Jp,null,n.createElement(Zp,null,e()),n.createElement(ym,{lang:r,source:t}))))};function vm({value:e,mimeType:t}){return oa(t)?n.createElement(gm,{data:e}):(\"object\"==typeof e&&(e=JSON.stringify(e,null,2)),n.createElement(bm,{lang:(r=t,-1!==r.search(/xml/i)?\"xml\":-1!==r.search(/csv/i)?\"csv\":-1!==r.search(/plain/i)?\"tex\":\"clike\"),source:e}));var r}var xm=(e,t,n)=>new Promise(((r,i)=>{var o=e=>{try{a(n.next(e))}catch(e){i(e)}},s=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));function wm({example:e,mimeType:t}){return void 0===e.value&&e.externalValueUrl?n.createElement(km,{example:e,mimeType:t}):n.createElement(vm,{value:e.value,mimeType:t})}function km({example:e,mimeType:t}){const r=function(e,t){const[,r]=(0,n.useState)(!0),i=(0,n.useRef)(void 0),o=(0,n.useRef)(void 0);return o.current!==e&&(i.current=void 0),o.current=e,(0,n.useEffect)((()=>{(()=>{xm(this,null,(function*(){r(!0);try{i.current=yield e.getExternalValue(t)}catch(e){i.current=e}r(!1)}))})()}),[e,t]),i.current}(e,t);return void 0===r?n.createElement(\"span\",null,\"Loading...\"):r instanceof Error?n.createElement(ed,null,\"Error loading external example: \",n.createElement(\"br\",null),n.createElement(\"a\",{className:\"token string\",href:e.externalValueUrl,target:\"_blank\",rel:\"noopener noreferrer\"},e.externalValueUrl)):n.createElement(vm,{value:r,mimeType:t})}const Sm=xs.div`\n  padding: 0.9em;\n  background-color: ${({theme:e})=>Kr(.6,e.rightPanel.backgroundColor)};\n  margin: 0 0 10px 0;\n  display: block;\n  font-family: ${({theme:e})=>e.typography.headings.fontFamily};\n  font-size: 0.929em;\n  line-height: 1.5em;\n`,Em=xs.span`\n  font-family: ${({theme:e})=>e.typography.headings.fontFamily};\n  font-size: 12px;\n  position: absolute;\n  z-index: 1;\n  top: -11px;\n  left: 12px;\n  font-weight: ${({theme:e})=>e.typography.fontWeightBold};\n  color: ${({theme:e})=>Kr(.3,e.rightPanel.textColor)};\n`,Om=xs.div`\n  position: relative;\n`,_m=xs(Md)`\n  label {\n    color: ${({theme:e})=>e.rightPanel.textColor};\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    overflow: hidden;\n    font-size: 1em;\n    text-transform: none;\n    border: none;\n  }\n  margin: 0 0 10px 0;\n  display: block;\n  background-color: ${({theme:e})=>Kr(.6,e.rightPanel.backgroundColor)};\n  border: none;\n  padding: 0.9em 1.6em 0.9em 0.9em;\n  box-shadow: none;\n  &:hover,\n  &:focus-within {\n    border: none;\n    box-shadow: none;\n    background-color: ${({theme:e})=>Kr(.3,e.rightPanel.backgroundColor)};\n  }\n`,Am=xs.div`\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  font-size: 12px;\n  color: #ee807f;\n`;class Cm extends n.Component{constructor(){super(...arguments),this.state={activeIdx:0},this.switchMedia=({idx:e})=>{void 0!==e&&this.setState({activeIdx:e})}}render(){const{activeIdx:e}=this.state,t=this.props.mediaType.examples||{},r=this.props.mediaType.name,i=n.createElement(Am,null,\"No sample\"),o=Object.keys(t);if(0===o.length)return i;if(o.length>1){const i=o.map(((e,n)=>({value:t[e].summary||e,idx:n}))),s=t[o[e]],a=s.description;return n.createElement(jm,null,n.createElement(Om,null,n.createElement(Em,null,\"Example\"),this.props.renderDropdown({value:i[e].value,options:i,onChange:this.switchMedia,ariaLabel:\"Example\"})),n.createElement(\"div\",null,a&&n.createElement(Kh,{source:a}),n.createElement(wm,{example:s,mimeType:r})))}{const e=t[o[0]];return n.createElement(jm,null,e.description&&n.createElement(Kh,{source:e.description}),n.createElement(wm,{example:e,mimeType:r}))}}}const jm=xs.div`\n  margin-top: 15px;\n`;if(!n.useState)throw new Error(\"mobx-react-lite requires React with Hooks support\");if(!on)throw new Error(\"mobx-react-lite@3 requires mobx at least version 6 to be available\");var Pm=r(961);function Tm(e){e()}function Im(e){return zt(Qn(e,t));var t}var Rm=!1;function Nm(){return Rm}var $m,Lm,Dm=function(){function e(e){var t=this;Object.defineProperty(this,\"finalize\",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,\"registrations\",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,\"sweepTimeout\",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,\"sweep\",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var n=Date.now();t.registrations.forEach((function(r,i){n-r.registeredAt>=e&&(t.finalize(r.value),t.registrations.delete(i))})),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,\"finalizeAllImmediately\",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,\"register\",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,n){this.registrations.set(n,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,\"unregister\",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,\"scheduleSweep\",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),Mm=new(\"undefined\"!=typeof FinalizationRegistry?FinalizationRegistry:Dm)((function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null})),Fm=r(9888);function zm(e){e.reaction=new yt(\"observer\".concat(e.name),(function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)}))}var Bm=\"function\"==typeof Symbol&&Symbol.for,Um=null!==(Lm=null===($m=Object.getOwnPropertyDescriptor((function(){}),\"name\"))||void 0===$m?void 0:$m.configurable)&&void 0!==Lm&&Lm,qm=Bm?Symbol.for(\"react.forward_ref\"):\"function\"==typeof n.forwardRef&&(0,n.forwardRef)((function(e){return null})).$$typeof,Vm=Bm?Symbol.for(\"react.memo\"):\"function\"==typeof n.memo&&(0,n.memo)((function(e){return null})).$$typeof;function Wm(e,t){var r;if(Vm&&e.$$typeof===Vm)throw new Error(\"[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.\");if(Nm())return e;var i=null!==(r=null==t?void 0:t.forwardRef)&&void 0!==r&&r,o=e,s=e.displayName||e.name;if(qm&&e.$$typeof===qm&&(i=!0,\"function\"!=typeof(o=e.render)))throw new Error(\"[mobx-react-lite] `render` property of ForwardRef was not a function\");var a,l,c=function(e,t){return function(e,t){if(void 0===t&&(t=\"observed\"),Nm())return e();var r=n.useRef(null);if(!r.current){var i={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return Mm.unregister(i),i.onStoreChange=e,i.reaction||(zm(i),i.stateVersion=Symbol()),function(){var e;i.onStoreChange=null,null===(e=i.reaction)||void 0===e||e.dispose(),i.reaction=null}},getSnapshot:function(){return i.stateVersion}};r.current=i}var o,s,a=r.current;if(a.reaction||(zm(a),Mm.register(r,a,a)),n.useDebugValue(a.reaction,Im),(0,Fm.useSyncExternalStore)(a.subscribe,a.getSnapshot,a.getSnapshot),a.reaction.track((function(){try{o=e()}catch(e){s=e}})),s)throw s;return o}((function(){return o(e,t)}),s)};return c.displayName=e.displayName,Um&&Object.defineProperty(c,\"name\",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),i&&(c=(0,n.forwardRef)(c)),c=(0,n.memo)(c),a=e,l=c,Object.keys(a).forEach((function(e){Hm[e]||Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(a,e))})),c}var Hm={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function Ym(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=Tm),Ft({reactionScheduler:e})}(Pm.unstable_batchedUpdates),Mm.finalizeAllImmediately;var Gm=Symbol(\"patchMixins\"),Qm=Symbol(\"patchedDefinition\");function Xm(e,t){for(var n=this,r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];t.locks++;try{var s;return null!=e&&(s=e.apply(this,i)),s}finally{t.locks--,0===t.locks&&t.methods.forEach((function(e){e.apply(n,i)}))}}function Km(e,t){return function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];Xm.call.apply(Xm,[this,e,t].concat(r))}}function Zm(e,t,n){var r=function(e,t){var n=e[Gm]=e[Gm]||{},r=n[t]=n[t]||{};return r.locks=r.locks||0,r.methods=r.methods||[],r}(e,t);r.methods.indexOf(n)<0&&r.methods.push(n);var i=Object.getOwnPropertyDescriptor(e,t);if(!i||!i[Qm]){var o=e[t],s=Jm(e,t,i?i.enumerable:void 0,r,o);Object.defineProperty(e,t,s)}}function Jm(e,t,n,r,i){var o,s=Km(i,r);return(o={})[Qm]=!0,o.get=function(){return s},o.set=function(i){if(this===e)s=Km(i,r);else{var o=Jm(this,t,n,r,i);Object.defineProperty(this,t,o)}},o.configurable=!0,o.enumerable=n,o}var eg=Symbol(\"ObserverAdministration\"),tg=Symbol(\"isMobXReactObserver\");function ng(e){var t;return null!=(t=e[eg])?t:e[eg]={reaction:null,mounted:!1,reactionInvalidatedBeforeMount:!1,forceUpdate:null,name:rg(e.constructor),state:void 0,props:void 0,context:void 0}}function rg(e){return e.displayName||e.name||\"<component>\"}function ig(e){var t=e.bind(this),n=ng(this);return function(){n.reaction||(n.reaction=function(e){return new yt(e.name+\".render()\",(function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(n){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0}))}(n),n.mounted||Mm.register(this,n,this));var e=void 0,r=void 0;if(n.reaction.track((function(){try{r=function(e,t){var n=Ue(e);try{return t()}finally{qe(n)}}(!1,t)}catch(t){e=t}})),e)throw e;return r}}function og(e,t){return Nm()&&console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\"),this.state!==t||!function(e,t){if(Ym(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++)if(!Object.hasOwnProperty.call(t,n[i])||!Ym(e[n[i]],t[n[i]]))return!1;return!0}(this.props,e)}function sg(e,t){if(t&&\"class\"!==t.kind)throw new Error(\"The @observer decorator can be used on classes only\");return!0===e.isMobxInjector&&console.warn(\"Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`\"),Object.prototype.isPrototypeOf.call(n.Component,e)||Object.prototype.isPrototypeOf.call(n.PureComponent,e)?function(e){var t=e.prototype;if(e[tg]){var r=rg(e);throw new Error(\"The provided component class (\"+r+\") has already been declared as an observer component.\")}if(e[tg]=!0,t.componentWillReact)throw new Error(\"The componentWillReact life-cycle event is no longer supported\");if(e.__proto__!==n.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==og)throw new Error(\"It is not allowed to use shouldComponentUpdate in observer based components.\")}else t.shouldComponentUpdate=og;var i=t.render;if(\"function\"!=typeof i){var o=rg(e);throw new Error(\"[mobx-react] class component (\"+o+\") is missing `render` method.\\n`observer` requires `render` being a function defined on prototype.\\n`render = () => {}` or `render = function() {}` is not supported.\")}t.render=function(){return Object.defineProperty(this,\"render\",{configurable:!1,writable:!1,value:Nm()?i:ig.call(this,i)}),this.render()};var s=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=ng(this);return t.mounted=!0,Mm.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==s?void 0:s.apply(this,arguments)},Zm(t,\"componentWillUnmount\",(function(){var e;if(!Nm()){var t=ng(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}})),e}(e):Wm(e)}if(n.version.split(\".\")[0],!n.Component)throw new Error(\"mobx-react requires React to be available\");if(!Te)throw new Error(\"mobx-react requires mobx to be available\");const ag=xs(up)`\n  &.deprecated {\n    span.property-name {\n      ${sp}\n    }\n  }\n\n  button {\n    background-color: transparent;\n    border: 0;\n    outline: 0;\n    font-size: 13px;\n    font-family: ${e=>e.theme.typography.code.fontFamily};\n    cursor: pointer;\n    padding: 0;\n    color: ${e=>e.theme.colors.text.primary};\n    &:focus {\n      font-weight: ${({theme:e})=>e.typography.fontWeightBold};\n    }\n    ${({kind:e})=>\"patternProperties\"===e&&ms`\n        display: inline-flex;\n        margin-right: 20px;\n\n        > span.property-name {\n          white-space: break-spaces;\n          text-align: left;\n\n          ::before,\n          ::after {\n            content: '/';\n            filter: opacity(0.2);\n          }\n        }\n\n        > svg {\n          align-self: center;\n        }\n      `}\n  }\n  ${ip} {\n    height: ${({theme:e})=>e.schema.arrow.size};\n    width: ${({theme:e})=>e.schema.arrow.size};\n    polygon {\n      fill: ${({theme:e})=>e.schema.arrow.color};\n    }\n  }\n`,lg=xs.span`\n  vertical-align: middle;\n  font-size: ${({theme:e})=>e.typography.code.fontSize};\n  line-height: 20px;\n`,cg=xs(lg)`\n  color: ${e=>Kr(.1,e.theme.schema.typeNameColor)};\n`,ug=xs(lg)`\n  color: ${e=>e.theme.schema.typeNameColor};\n`,pg=xs(lg)`\n  color: ${e=>e.theme.schema.typeTitleColor};\n  word-break: break-word;\n`,dg=ug,fg=xs(lg).attrs({as:\"div\"})`\n  color: ${e=>e.theme.schema.requireLabelColor};\n  font-size: ${e=>e.theme.schema.labelsTextSize};\n  font-weight: normal;\n  margin-left: 20px;\n  line-height: 1;\n`,hg=xs(fg)`\n  color: ${e=>e.theme.colors.primary.light};\n`,mg=xs(lg)`\n  color: ${({theme:e})=>e.colors.warning.main};\n  font-size: 13px;\n`,gg=xs(lg)`\n  color: #0e7c86;\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  font-size: 12px;\n  &::before,\n  &::after {\n    content: ' ';\n  }\n`,yg=xs(lg)`\n  border-radius: 2px;\n  word-break: break-word;\n  ${({theme:e})=>`\\n    background-color: ${Kr(.95,e.colors.text.primary)};\\n    color: ${Kr(.1,e.colors.text.primary)};\\n\\n    padding: 0 ${e.spacing.unit}px;\\n    border: 1px solid ${Kr(.9,e.colors.text.primary)};\\n    font-family: ${e.typography.code.fontFamily};\\n}`};\n  & + & {\n    margin-left: 0;\n  }\n  ${ws(\"ExampleValue\")};\n`,bg=xs(yg)``,vg=xs(lg)`\n  border-radius: 2px;\n  ${({theme:e})=>`\\n    background-color: ${Kr(.95,e.colors.primary.light)};\\n    color: ${Kr(.1,e.colors.primary.main)};\\n\\n    margin: 0 ${e.spacing.unit}px;\\n    padding: 0 ${e.spacing.unit}px;\\n    border: 1px solid ${Kr(.9,e.colors.primary.main)};\\n}`};\n  & + & {\n    margin-left: 0;\n  }\n  ${ws(\"ConstraintItem\")};\n`,xg=xs.button`\n  background-color: transparent;\n  border: 0;\n  color: ${({theme:e})=>e.colors.text.secondary};\n  margin-left: ${({theme:e})=>e.spacing.unit}px;\n  border-radius: 2px;\n  cursor: pointer;\n  outline-color: ${({theme:e})=>e.colors.text.secondary};\n  font-size: 12px;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;const wg=xs.div`\n  ${Mh};\n  ${({$compact:e})=>e?\"\":\"margin: 1em 0\"}\n`;let kg=class extends n.Component{render(){const{externalDocs:e}=this.props;return e&&e.url?n.createElement(wg,{$compact:this.props.compact},n.createElement(\"a\",{href:e.url},e.description||e.url)):null}};kg=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],kg);const Sg=xs(Fh)`\n  table {\n    margin-bottom: 0.2em;\n  }\n`;class Eg extends n.PureComponent{constructor(e){super(e),this.state={collapsed:!0},this.toggle=this.toggle.bind(this)}toggle(){this.setState({collapsed:!this.state.collapsed})}render(){const{values:e,type:t}=this.props,{collapsed:r}=this.state,i=!Array.isArray(e),o=Array.isArray(e)&&e||Object.entries(e||{}).map((([e,t])=>({value:e,description:t}))),{enumSkipQuotes:s,maxDisplayedEnumValues:a}=this.context;if(!o.length)return null;const l=this.state.collapsed&&a?o.slice(0,a):o,c=!!a&&o.length>a,u=a?r?`… ${o.length-a} more`:\"Hide\":\"\";return n.createElement(\"div\",null,i?n.createElement(n.Fragment,null,n.createElement(Sg,null,n.createElement(\"table\",null,n.createElement(\"thead\",null,n.createElement(\"tr\",null,n.createElement(\"th\",null,n.createElement(lg,null,\"array\"===t?bi(\"enumArray\"):\"\",\" \",1===o.length?bi(\"enumSingleValue\"):bi(\"enum\")),\" \"),n.createElement(\"th\",null,n.createElement(\"strong\",null,\"Description\")))),n.createElement(\"tbody\",null,l.map((({description:e,value:t})=>n.createElement(\"tr\",{key:t},n.createElement(\"td\",null,t),n.createElement(\"td\",null,n.createElement(Kh,{source:e,compact:!0,inline:!0})))))))),c?n.createElement(Og,{onClick:this.toggle},u):null):n.createElement(n.Fragment,null,n.createElement(lg,null,\"array\"===t?bi(\"enumArray\"):\"\",\" \",1===e.length?bi(\"enumSingleValue\"):bi(\"enum\"),\":\"),\" \",l.map(((e,t)=>{const r=s?String(e):JSON.stringify(e);return n.createElement(n.Fragment,{key:t},n.createElement(yg,null,r),\" \")})),c?n.createElement(Og,{onClick:this.toggle},u):null))}}Eg.contextType=js;const Og=xs.span`\n  color: ${e=>e.theme.colors.primary.main};\n  vertical-align: middle;\n  font-size: 13px;\n  line-height: 20px;\n  padding: 0 5px;\n  cursor: pointer;\n`,_g=xs(Fh)`\n  margin: 2px 0;\n`;class Ag extends n.PureComponent{render(){const e=this.props.extensions;return n.createElement(js.Consumer,null,(t=>n.createElement(n.Fragment,null,t.showExtensions&&Object.keys(e).map((t=>n.createElement(_g,{key:t},n.createElement(lg,null,\" \",t.substring(2),\": \"),\" \",n.createElement(bg,null,\"string\"==typeof e[t]?e[t]:JSON.stringify(e[t]))))))))}}function Cg({field:e}){return e.examples?n.createElement(n.Fragment,null,n.createElement(lg,null,\" \",bi(\"examples\"),\": \"),mi(e.examples)?e.examples.map(((t,r)=>{const i=ua(e,t),o=e.in?String(i):JSON.stringify(i);return n.createElement(n.Fragment,{key:r},n.createElement(yg,null,o),\" \")})):n.createElement(jg,null,Object.values(e.examples).map(((t,r)=>n.createElement(\"li\",{key:r+t.value},n.createElement(yg,null,ua(e,t.value)),\" -\",\" \",t.summary||t.description))))):null}const jg=xs.ul`\n  margin-top: 1em;\n  list-style-position: outside;\n`;class Pg extends n.PureComponent{render(){return 0===this.props.constraints.length?null:n.createElement(\"span\",null,\" \",this.props.constraints.map((e=>n.createElement(vg,{key:e},\" \",e,\" \"))))}}const Tg=n.memo((function({value:e,label:t,raw:r}){if(void 0===e)return null;const i=r?String(e):JSON.stringify(e);return n.createElement(\"div\",null,n.createElement(lg,null,\" \",t,\" \"),\" \",n.createElement(yg,null,i))})),Ig=45;function Rg(e){const t=e.schema.pattern,{hideSchemaPattern:r}=n.useContext(js),[i,o]=n.useState(!1),s=n.useCallback((()=>o(!i)),[i]);return!t||r?null:n.createElement(n.Fragment,null,n.createElement(gg,null,i||t.length<Ig?t:`${t.substr(0,Ig)}...`),t.length>Ig&&n.createElement(xg,{onClick:s},i?\"Hide pattern\":\"Show pattern\"))}function Ng({schema:e}){var t;const{hideSchemaPattern:r}=n.useContext(js);return e&&((null==e?void 0:e.pattern)&&!r||e.items||e.displayFormat||(null==(t=e.constraints)?void 0:t.length))?n.createElement($g,null,\"[ items\",e.displayFormat&&n.createElement(dg,null,\" <\",e.displayFormat,\" >\"),n.createElement(Pg,{constraints:e.constraints}),n.createElement(Rg,{schema:e}),e.items&&n.createElement(Ng,{schema:e.items}),\" ]\"):null}const $g=xs(cg)`\n  margin: 0 5px;\n  vertical-align: text-top;\n`;var Lg=Object.defineProperty,Dg=Object.getOwnPropertySymbols,Mg=Object.prototype.hasOwnProperty,Fg=Object.prototype.propertyIsEnumerable,zg=(e,t,n)=>t in e?Lg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Bg=(e,t)=>{for(var n in t||(t={}))Mg.call(t,n)&&zg(e,n,t[n]);if(Dg)for(var n of Dg(t))Fg.call(t,n)&&zg(e,n,t[n]);return e};const Ug=sg((e=>{const{enumSkipQuotes:t,hideSchemaTitles:r}=n.useContext(js),{showExamples:i,field:o,renderDiscriminatorSwitch:s}=e,{schema:a,description:l,deprecated:c,extensions:u,in:p,const:d}=o,f=\"array\"===a.type||mi(a.type)&&a.type.includes(\"array\"),h=t||\"header\"===p,m=n.useMemo((()=>!i||void 0===o.example&&void 0===o.examples?null:void 0!==o.examples?n.createElement(Cg,{field:o}):n.createElement(Tg,{label:bi(\"example\")+\":\",value:ua(o,o.example),raw:Boolean(o.in)})),[o,i]),g=ui(a.default)&&o.in?ua(o,a.default).replace(`${o.name}=`,\"\"):a.default;return n.createElement(\"div\",null,n.createElement(\"div\",null,n.createElement(cg,null,a.typePrefix),n.createElement(ug,null,a.displayType),a.displayFormat&&n.createElement(dg,null,\" \",\"<\",a.displayFormat,\">\",\" \"),a.contentEncoding&&n.createElement(dg,null,\" \",\"<\",a.contentEncoding,\">\",\" \"),a.contentMediaType&&n.createElement(dg,null,\" \",\"<\",a.contentMediaType,\">\",\" \"),a.title&&!r&&n.createElement(pg,null,\" (\",a.title,\") \"),n.createElement(Pg,{constraints:a.constraints}),n.createElement(Rg,{schema:a}),a.isCircular&&n.createElement(mg,null,\" \",bi(\"recursive\"),\" \"),f&&a.items&&n.createElement(Ng,{schema:a.items})),c&&n.createElement(\"div\",null,n.createElement(op,{type:\"warning\"},\" \",bi(\"deprecated\"),\" \")),n.createElement(Tg,{raw:h,label:bi(\"default\")+\":\",value:g}),!s&&n.createElement(Eg,{type:a.type,values:a[\"x-enumDescriptions\"]||a.enum}),\" \",m,n.createElement(Ag,{extensions:Bg(Bg({},u),a.extensions)}),n.createElement(\"div\",null,n.createElement(Kh,{compact:!0,source:l})),a.externalDocs&&n.createElement(kg,{externalDocs:a.externalDocs,compact:!0}),s&&s(e)||null,d&&n.createElement(Tg,{label:bi(\"const\")+\":\",value:d})||null)})),qg=n.memo(Ug);var Vg=Object.defineProperty,Wg=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),Hg=Object.prototype.hasOwnProperty,Yg=Object.prototype.propertyIsEnumerable,Gg=(e,t,n)=>t in e?Vg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Qg=class extends n.Component{constructor(){super(...arguments),this.toggle=()=>{void 0===this.props.field.expanded&&this.props.expandByDefault?this.props.field.collapse():this.props.field.toggle()},this.handleKeyPress=e=>{\"Enter\"===e.key&&(e.preventDefault(),this.toggle())}}render(){const{hidePropertiesPrefix:e}=this.context,{className:t=\"\",field:r,isLast:i,expandByDefault:o,fieldParentsName:s=[]}=this.props,{name:a,deprecated:l,required:c,kind:u}=r,p=!r.schema.isPrimitive&&!r.schema.isCircular,d=void 0===r.expanded?o:r.expanded,f=n.createElement(n.Fragment,null,\"additionalProperties\"===u&&n.createElement(hg,null,\"additional property\"),\"patternProperties\"===u&&n.createElement(hg,null,\"pattern property\"),c&&n.createElement(fg,null,\"required\")),h=p?n.createElement(ag,{className:l?\"deprecated\":\"\",kind:u,title:a},n.createElement(dp,null),n.createElement(\"button\",{onClick:this.toggle,onKeyPress:this.handleKeyPress,\"aria-label\":`expand ${a}`},!e&&s.map((e=>e+\".​\")),n.createElement(\"span\",{className:\"property-name\"},a),n.createElement(ip,{direction:d?\"down\":\"right\"})),f):n.createElement(up,{className:l?\"deprecated\":void 0,kind:u,title:a},n.createElement(dp,null),!e&&s.map((e=>e+\".​\")),n.createElement(\"span\",{className:\"property-name\"},a),f);return n.createElement(n.Fragment,null,n.createElement(\"tr\",{className:i?\"last \"+t:t},h,n.createElement(pp,null,n.createElement(qg,((e,t)=>{for(var n in t||(t={}))Hg.call(t,n)&&Gg(e,n,t[n]);if(Wg)for(var n of Wg(t))Yg.call(t,n)&&Gg(e,n,t[n]);return e})({},this.props)))),d&&p&&n.createElement(\"tr\",{key:r.name+\"inner\"},n.createElement(cp,{colSpan:2},n.createElement(fp,null,n.createElement(Py,{schema:r.schema,fieldParentsName:[...s||[],r.name],skipReadOnly:this.props.skipReadOnly,skipWriteOnly:this.props.skipWriteOnly,showTitle:this.props.showTitle,level:this.props.level})))))}};Qg.contextType=js,Qg=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Qg);Object.defineProperty,Object.getOwnPropertyDescriptor;let Xg=class extends n.Component{constructor(){super(...arguments),this.changeActiveChild=e=>{void 0!==e.idx&&this.props.parent.activateOneOf(e.idx)}}sortOptions(e,t){if(0===t.length)return;const n={};t.forEach(((e,t)=>{n[e]=t})),e.sort(((e,t)=>n[e.value]>n[t.value]?1:-1))}render(){const{parent:e,enumValues:t}=this.props;if(void 0===e.oneOf)return null;const r=e.oneOf.map(((e,t)=>({value:e.title,idx:t}))),i=r[e.activeOneOf].value;return this.sortOptions(r,t),n.createElement(Md,{value:i,options:r,onChange:this.changeActiveChild,ariaLabel:\"Example\"})}};Xg=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Xg);const Kg=sg((({schema:{fields:e=[],title:t},showTitle:r,discriminator:i,skipReadOnly:o,skipWriteOnly:s,level:a,fieldParentsName:l})=>{const{expandSingleSchemaField:c,showObjectSchemaExamples:u,schemasExpansionLevel:p}=n.useContext(js),d=n.useMemo((()=>o||s?e.filter((e=>!(o&&e.schema.readOnly||s&&e.schema.writeOnly))):e),[o,s,e]),f=c&&1===d.length||p>=a;return n.createElement(hp,null,r&&n.createElement(ap,null,t),n.createElement(\"tbody\",null,oi(d,((e,t)=>n.createElement(Qg,{key:e.name,isLast:t,field:e,expandByDefault:f,fieldParentsName:Number(a)>1?l:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name?()=>n.createElement(Xg,{parent:i.parentSchema,enumValues:e.schema.enum}):void 0,className:e.expanded?\"expanded\":void 0,showExamples:u,skipReadOnly:o,skipWriteOnly:s,showTitle:r,level:a})))))}));var Zg=Object.defineProperty,Jg=Object.defineProperties,ey=Object.getOwnPropertyDescriptors,ty=Object.getOwnPropertySymbols,ny=Object.prototype.hasOwnProperty,ry=Object.prototype.propertyIsEnumerable,iy=(e,t,n)=>t in e?Zg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oy=(e,t)=>{for(var n in t||(t={}))ny.call(t,n)&&iy(e,n,t[n]);if(ty)for(var n of ty(t))ry.call(t,n)&&iy(e,n,t[n]);return e},sy=(e,t)=>Jg(e,ey(t));const ay=xs.div`\n  padding-left: ${({theme:e})=>2*e.spacing.unit}px;\n`;class ly extends n.PureComponent{render(){const e=this.props.schema,t=e.items,r=this.props.fieldParentsName,i=void 0===e.minItems&&void 0===e.maxItems?\"\":`(${ma(e)})`,o=r?[...r.slice(0,-1),r[r.length-1]+\"[]\"]:r;return e.fields?n.createElement(Kg,sy(oy({},this.props),{level:this.props.level,fieldParentsName:o})):!e.displayType||t||i.length?n.createElement(\"div\",null,n.createElement(bp,null,\" Array \",i),n.createElement(ay,null,n.createElement(Py,sy(oy({},this.props),{schema:t,fieldParentsName:o}))),n.createElement(vp,null)):n.createElement(\"div\",null,n.createElement(ug,null,e.displayType))}}var cy=Object.defineProperty,uy=Object.defineProperties,py=Object.getOwnPropertyDescriptor,dy=Object.getOwnPropertyDescriptors,fy=Object.getOwnPropertySymbols,hy=Object.prototype.hasOwnProperty,my=Object.prototype.propertyIsEnumerable,gy=(e,t,n)=>t in e?cy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yy=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?py(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&cy(t,n,o),o};let by=class extends n.Component{constructor(){super(...arguments),this.activateOneOf=()=>{this.props.schema.activateOneOf(this.props.idx)}}render(){const{idx:e,schema:t,subSchema:r}=this.props;return n.createElement(yp,{$deprecated:r.deprecated,$active:e===t.activeOneOf,onClick:this.activateOneOf},r.title||r.typePrefix+r.displayType)}};by=yy([sg],by);let vy=class extends n.Component{render(){const{schema:{oneOf:e},schema:t}=this.props;if(void 0===e)return null;const r=e[t.activeOneOf];return n.createElement(\"div\",null,n.createElement(gp,null,\" \",t.oneOfType,\" \"),n.createElement(mp,null,e.map(((e,r)=>n.createElement(by,{key:e.pointer,schema:t,subSchema:e,idx:r})))),n.createElement(\"div\",null,e[t.activeOneOf].deprecated&&n.createElement(op,{type:\"warning\"},\"Deprecated\")),n.createElement(Pg,{constraints:r.constraints}),n.createElement(Py,((e,t)=>uy(e,dy(t)))(((e,t)=>{for(var n in t||(t={}))hy.call(t,n)&&gy(e,n,t[n]);if(fy)for(var n of fy(t))my.call(t,n)&&gy(e,n,t[n]);return e})({},this.props),{schema:r})))}};vy=yy([sg],vy);const xy=sg((({schema:e})=>n.createElement(\"div\",null,n.createElement(ug,null,e.displayType),e.title&&n.createElement(pg,null,\" \",e.title,\" \"),n.createElement(mg,null,\" \",bi(\"recursive\"),\" \"))));var wy=Object.defineProperty,ky=Object.defineProperties,Sy=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Ey=Object.getOwnPropertySymbols,Oy=Object.prototype.hasOwnProperty,_y=Object.prototype.propertyIsEnumerable,Ay=(e,t,n)=>t in e?wy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cy=(e,t)=>{for(var n in t||(t={}))Oy.call(t,n)&&Ay(e,n,t[n]);if(Ey)for(var n of Ey(t))_y.call(t,n)&&Ay(e,n,t[n]);return e},jy=(e,t)=>ky(e,Sy(t));let Py=class extends n.Component{render(){var e;const t=this.props,{schema:r}=t,i=((e,t)=>{var n={};for(var r in e)Oy.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ey)for(var r of Ey(e))t.indexOf(r)<0&&_y.call(e,r)&&(n[r]=e[r]);return n})(t,[\"schema\"]),o=(i.level||0)+1;if(!r)return n.createElement(\"em\",null,\" Schema not provided \");const{type:s,oneOf:a,discriminatorProp:l,isCircular:c}=r;if(c)return n.createElement(xy,{schema:r});if(void 0!==l){if(!a||!a.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${r.title}`),null;const e=a[r.activeOneOf];return e.isCircular?n.createElement(xy,{schema:e}):n.createElement(Kg,jy(Cy({},i),{level:o,schema:e,discriminator:{fieldName:l,parentSchema:r}}))}if(void 0!==a)return n.createElement(vy,Cy({schema:r},i));const u=mi(s)?s:[s];if(u.includes(\"object\")){if(null==(e=r.fields)?void 0:e.length)return n.createElement(Kg,jy(Cy({},this.props),{level:o}))}else if(u.includes(\"array\"))return n.createElement(ly,jy(Cy({},this.props),{level:o}));const p={schema:r,name:\"\",required:!1,description:r.description,externalDocs:r.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return n.createElement(\"div\",null,n.createElement(qg,{field:p}))}};Py=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Py);var Ty=Object.defineProperty,Iy=Object.defineProperties,Ry=Object.getOwnPropertyDescriptors,Ny=Object.getOwnPropertySymbols,$y=Object.prototype.hasOwnProperty,Ly=Object.prototype.propertyIsEnumerable,Dy=(e,t,n)=>t in e?Ty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class My extends n.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Df,(t=((e,t)=>{for(var n in t||(t={}))$y.call(t,n)&&Dy(e,n,t[n]);if(Ny)for(var n of Ny(t))Ly.call(t,n)&&Dy(e,n,t[n]);return e})({Label:zd,Dropdown:_m},e),Iy(t,Ry({variant:\"dark\"}))));var t}}static getMediaType(e,t){if(!e)return{};const n={schema:{$ref:e}};return t&&(n.examples={example:{$ref:t}}),n}get mediaModel(){const{parser:e,schemaRef:t,exampleRef:n,options:r}=this.props;return this._mediaModel||(this._mediaModel=new gu(e,\"json\",!1,My.getMediaType(t,n),r)),this._mediaModel}render(){const{showReadOnly:e=!0,showWriteOnly:t=!1,showExample:r=!0}=this.props;return n.createElement(Fu,null,n.createElement(Uu,null,n.createElement(Mu,null,n.createElement(Py,{skipWriteOnly:!t,skipReadOnly:!e,schema:this.mediaModel.schema})),r&&n.createElement(Bu,null,n.createElement(Fy,null,n.createElement(Cm,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel})))))}}const Fy=xs.div`\n  background: ${({theme:e})=>e.codeBlock.backgroundColor};\n  & > div,\n  & > pre {\n    padding: ${e=>4*e.theme.spacing.unit}px;\n    margin: 0;\n  }\n\n  & > div > pre {\n    padding: 0;\n  }\n`,zy=(fs.div`\n  background-color: #e4e7eb;\n`,fs.ul`\n  display: inline;\n  list-style: none;\n  padding: 0;\n\n  li {\n    display: inherit;\n\n    &:after {\n      content: ',';\n    }\n    &:last-child:after {\n      content: none;\n    }\n  }\n`,fs.code`\n  font-size: ${e=>e.theme.typography.code.fontSize};\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  margin: 0 3px;\n  padding: 0.2em;\n  display: inline-block;\n  line-height: 1;\n\n  &:after {\n    content: ',';\n    font-weight: normal;\n  }\n\n  &:last-child:after {\n    content: none;\n  }\n`),By=fs.span`\n  &:after {\n    content: ' and ';\n    font-weight: normal;\n  }\n\n  &:last-child:after {\n    content: none;\n  }\n\n  ${Mh};\n`,Uy=fs.span`\n  ${e=>!e.$expanded&&\"white-space: nowrap;\"}\n  &:after {\n    content: ' or ';\n    ${e=>e.$expanded&&\"content: ' or \\\\a';\"}\n    white-space: pre;\n  }\n\n  &:last-child:after,\n  &:only-child:after {\n    content: none;\n  }\n\n  ${Mh};\n`,qy=fs.div`\n  flex: 1 1 auto;\n  cursor: pointer;\n`,Vy=fs.div`\n  width: ${e=>e.theme.schema.defaultDetailsWidth};\n  text-overflow: ellipsis;\n  border-radius: 4px;\n  overflow: hidden;\n  ${e=>e.$expanded&&`background: ${e.theme.colors.gray[100]};\\n     padding: 8px 9.6px;\\n     margin: 20px 0;\\n     width: 100%;\\n    `};\n  ${vs.lessThan(\"small\")`\n    margin-top: 10px;\n  `}\n`,Wy=fs(Qu)`\n  display: inline-block;\n  margin: 0;\n`,Hy=fs.div`\n  width: 100%;\n  display: flex;\n  margin: 1em 0;\n  flex-direction: ${e=>e.$expanded?\"column\":\"row\"};\n  ${vs.lessThan(\"small\")`\n    flex-direction: column;\n  `}\n`,Yy=fs.div`\n  margin: 0.5em 0;\n`,Gy=fs.div`\n  border-bottom: 1px solid ${({theme:e})=>e.colors.border.dark};\n  margin-bottom: 1.5em;\n  padding-bottom: 0.7em;\n\n  h5 {\n    line-height: 1em;\n    margin: 0 0 0.6em;\n    font-size: ${({theme:e})=>e.typography.fontSize};\n  }\n\n  .redoc-markdown p:first-child {\n    display: inline;\n  }\n`;function Qy({children:e,height:t}){const r=n.createRef(),[i,o]=n.useState(!1),[s,a]=n.useState(!1);return n.useEffect((()=>{r.current&&r.current.clientHeight+20<r.current.scrollHeight&&a(!0)}),[r]),n.createElement(n.Fragment,null,n.createElement(Xy,{ref:r,className:i?\"\":\"container\",style:{height:i?\"auto\":t}},e),n.createElement(Ky,{$dimmed:!i},s&&n.createElement(Zy,{onClick:()=>{o(!i)}},i?\"See less\":\"See more\")))}const Xy=fs.div`\n  overflow-y: hidden;\n`,Ky=fs.div`\n  text-align: center;\n  line-height: 1.5em;\n  ${({$dimmed:e})=>e&&\"background-image: linear-gradient(to bottom, transparent,rgb(255 255 255));\\n     position: relative;\\n     top: -0.5em;\\n     padding-top: 0.5em;\\n     background-position-y: -1em;\\n    \"}\n`,Zy=fs.a`\n  cursor: pointer;\n`,Jy=n.memo((function(e){const{type:t,flow:r,RequiredScopes:i}=e,o=Object.keys((null==r?void 0:r.scopes)||{});return n.createElement(n.Fragment,null,n.createElement(Yy,null,n.createElement(\"b\",null,\"Flow type: \"),n.createElement(\"code\",null,t,\" \")),(\"implicit\"===t||\"authorizationCode\"===t)&&n.createElement(Yy,null,n.createElement(\"strong\",null,\" Authorization URL: \"),n.createElement(\"code\",null,n.createElement(\"a\",{target:\"_blank\",rel:\"noopener noreferrer\",href:r.authorizationUrl},r.authorizationUrl))),(\"password\"===t||\"clientCredentials\"===t||\"authorizationCode\"===t)&&n.createElement(Yy,null,n.createElement(\"b\",null,\" Token URL: \"),n.createElement(\"code\",null,r.tokenUrl)),r.refreshUrl&&n.createElement(Yy,null,n.createElement(\"strong\",null,\" Refresh URL: \"),n.createElement(\"code\",null,r.refreshUrl)),!!o.length&&n.createElement(n.Fragment,null,i||null,n.createElement(Yy,null,n.createElement(\"b\",null,\" Scopes: \")),n.createElement(Qy,{height:\"4em\"},n.createElement(\"ul\",null,o.map((e=>n.createElement(\"li\",{key:e},n.createElement(\"code\",null,e),\" -\",\" \",n.createElement(Kh,{className:\"redoc-markdown\",inline:!0,source:r.scopes[e]||\"\"}))))))))}));function eb(e){const{RequiredScopes:t,scheme:r}=e;return n.createElement(Fh,null,r.apiKey?n.createElement(n.Fragment,null,n.createElement(Yy,null,n.createElement(\"b\",null,(i=r.apiKey.in||\"\").charAt(0).toUpperCase()+i.slice(1),\" parameter name: \"),n.createElement(\"code\",null,r.apiKey.name)),t):r.http?n.createElement(n.Fragment,null,n.createElement(Yy,null,n.createElement(\"b\",null,\"HTTP Authorization Scheme: \"),n.createElement(\"code\",null,r.http.scheme)),n.createElement(Yy,null,\"bearer\"===r.http.scheme&&r.http.bearerFormat&&n.createElement(n.Fragment,null,n.createElement(\"b\",null,\"Bearer format: \"),n.createElement(\"code\",null,r.http.bearerFormat))),t):r.openId?n.createElement(n.Fragment,null,n.createElement(Yy,null,n.createElement(\"b\",null,\"Connect URL: \"),n.createElement(\"code\",null,n.createElement(\"a\",{target:\"_blank\",rel:\"noopener noreferrer\",href:r.openId.connectUrl},r.openId.connectUrl))),t):r.flows?Object.keys(r.flows).map((e=>n.createElement(Jy,{key:e,type:e,RequiredScopes:t,flow:r.flows[e]}))):null);var i}const tb={oauth2:\"OAuth2\",apiKey:\"API Key\",http:\"HTTP\",openIdConnect:\"OpenID Connect\"};class nb extends n.PureComponent{render(){return this.props.securitySchemes.schemes.map((e=>n.createElement(Fu,{id:e.sectionId,key:e.id},n.createElement(Uu,null,n.createElement(Mu,null,n.createElement(Hu,null,n.createElement(np,{to:e.sectionId}),e.displayName),n.createElement(Kh,{source:e.description||\"\"}),n.createElement(Gy,null,n.createElement(Yy,null,n.createElement(\"b\",null,\"Security Scheme Type: \"),n.createElement(\"span\",null,tb[e.type]||e.type)),n.createElement(eb,{scheme:e})))))))}}class rb{constructor(e,t,n={},r=!0){var i,o,s,a;this.marker=new Ha,this.disposer=null,this.rawOptions=n,this.options=new Pi(n,ib),this.scroll=new jf(this.options),Of.updateOnHistory(Va.currentId,this.scroll),this.spec=new sf(e,t,this.options),this.menu=new Of(this.spec,this.scroll,Va),this.options.disableSearch||(this.search=new Pf,r&&this.search.indexItems(this.menu.items),this.disposer=(i=this.menu,o=\"activeItemIdx\",x(s=e=>{this.updateMarkOnMenu(e.newValue)})?function(e,t,n,r){return Xn(e,t).observe_(n,r)}(i,o,s,a):function(e,t,n){return Xn(e).observe_(t,n)}(i,o,s)))}static fromJS(e){const t=new rb(e.spec.data,e.spec.url,e.options,!1);return t.menu.activeItemIdx=e.menu.activeItemIdx||0,t.menu.activate(t.menu.flatItems[t.menu.activeItemIdx]),t.options.disableSearch||t.search.load(e.searchIndex),t}onDidMount(){this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx)}dispose(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),null!=this.disposer&&this.disposer()}toJS(){return e=this,t=null,n=function*(){return{menu:{activeItemIdx:this.menu.activeItemIdx},spec:{url:this.spec.parser.specUrl,data:this.spec.parser.spec},searchIndex:this.search?yield this.search.toJS():void 0,options:this.rawOptions}},new Promise(((r,i)=>{var o=e=>{try{a(n.next(e))}catch(e){i(e)}},s=e=>{try{a(n.throw(e))}catch(e){i(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,s);a((n=n.apply(e,t)).next())}));var e,t,n}updateMarkOnMenu(e){const t=Math.max(0,e),n=Math.min(this.menu.flatItems.length,t+5),r=[];for(let e=t;e<n;e++){const t=this.menu.getElementAt(e);t&&r.push(t)}if(-1===e&&ei){const e=document.querySelector('[data-role=\"redoc-description\"]'),t=document.querySelector('[data-role=\"redoc-summary\"]');e&&r.push(e),t&&r.push(t)}this.marker.addOnly(r),this.marker.mark()}}const ib={allowedMdComponents:{[va]:{component:nb,propsSelector:e=>({securitySchemes:e.spec.securitySchemes})},[xa]:{component:nb,propsSelector:e=>({securitySchemes:e.spec.securitySchemes})},[wa]:{component:My,propsSelector:e=>({parser:e.spec.parser,options:e.options})}}},ob=xs(Wu)`\n  margin-top: 0;\n  margin-bottom: 0.5em;\n\n  ${ws(\"ApiHeader\")};\n`,sb=xs.a`\n  border: 1px solid ${e=>e.theme.colors.primary.main};\n  color: ${e=>e.theme.colors.primary.main};\n  font-weight: normal;\n  margin-left: 0.5em;\n  padding: 4px 8px 4px;\n  display: inline-block;\n  text-decoration: none;\n  cursor: pointer;\n\n  ${ws(\"DownloadButton\")};\n`,ab=xs.span`\n  &::before {\n    content: '|';\n    display: inline-block;\n    opacity: 0.5;\n    width: ${15}px;\n    text-align: center;\n  }\n\n  &:last-child::after {\n    display: none;\n  }\n`,lb=xs.div`\n  overflow: hidden;\n`,cb=xs.div`\n  display: flex;\n  flex-wrap: wrap;\n  // hide separator on new lines: idea from https://stackoverflow.com/a/31732902/1749888\n  margin-left: -${15}px;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let ub=class extends n.Component{render(){const{store:e}=this.props,{info:t,externalDocs:r}=e.spec,i=e.options.hideDownloadButtons,o=t.downloadUrls,s=t.downloadFileName,a=t.license&&n.createElement(ab,null,\"License:\",\" \",t.license.identifier?t.license.identifier:n.createElement(\"a\",{href:t.license.url},t.license.name))||null,l=t.contact&&t.contact.url&&n.createElement(ab,null,\"URL: \",n.createElement(\"a\",{href:t.contact.url},t.contact.url))||null,c=t.contact&&t.contact.email&&n.createElement(ab,null,t.contact.name||\"E-mail\",\":\",\" \",n.createElement(\"a\",{href:\"mailto:\"+t.contact.email},t.contact.email))||null,u=t.termsOfService&&n.createElement(ab,null,n.createElement(\"a\",{href:t.termsOfService},\"Terms of Service\"))||null,p=t.version&&n.createElement(\"span\",null,\"(\",t.version,\")\")||null;return n.createElement(Fu,null,n.createElement(Uu,null,n.createElement(Mu,{className:\"api-info\"},n.createElement(ob,null,t.title,\" \",p),!i&&n.createElement(\"p\",null,bi(\"downloadSpecification\"),\":\",null==o?void 0:o.map((({title:e,url:t})=>n.createElement(sb,{download:s||!0,target:\"_blank\",href:t,rel:\"noreferrer\",key:t},e)))),n.createElement(Fh,null,(t.license||t.contact||t.termsOfService)&&n.createElement(lb,null,n.createElement(cb,null,c,\" \",l,\" \",a,\" \",u))||null),n.createElement(Kh,{source:e.spec.info.summary,\"data-role\":\"redoc-summary\"}),n.createElement(Kh,{source:e.spec.info.description,\"data-role\":\"redoc-description\"}),r&&n.createElement(kg,{externalDocs:r}))))}};ub=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],ub);const pb=xs.img`\n  max-height: ${e=>e.theme.logo.maxHeight};\n  max-width: ${e=>e.theme.logo.maxWidth};\n  padding: ${e=>e.theme.logo.gutter};\n  width: 100%;\n  display: block;\n`,db=xs.div`\n  text-align: center;\n`,fb=xs.a`\n  display: inline-block;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let hb=class extends n.Component{render(){const{info:e}=this.props,t=e[\"x-logo\"];if(!t||!t.url)return null;const r=t.href||e.contact&&e.contact.url,i=t.altText?t.altText:\"logo\",o=n.createElement(pb,{src:t.url,alt:i});return n.createElement(db,{style:{backgroundColor:t.backgroundColor}},r?(s=r,e=>n.createElement(fb,{href:s},e))(o):o);var s}};hb=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],hb);var mb=Object.defineProperty,gb=Object.getOwnPropertySymbols,yb=Object.prototype.hasOwnProperty,bb=Object.prototype.propertyIsEnumerable,vb=(e,t,n)=>t in e?mb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xb=(e,t)=>{for(var n in t||(t={}))yb.call(t,n)&&vb(e,n,t[n]);if(gb)for(var n of gb(t))bb.call(t,n)&&vb(e,n,t[n]);return e};class wb extends n.Component{render(){return n.createElement(Ts,null,(e=>n.createElement(Zu,null,(t=>this.renderWithOptionsAndStore(e,t)))))}renderWithOptionsAndStore(e,t){const{source:r,htmlWrap:i=e=>e}=this.props;if(!t)throw new Error(\"When using components in markdown, store prop must be provided\");const o=new Bl(e,this.props.parentId).renderMdWithComponents(r);return o.length?o.map(((e,r)=>{if(\"string\"==typeof e)return n.cloneElement(i(n.createElement(Xh,{html:e,inline:!1,compact:!1})),{key:r});const o=e.component;return n.createElement(o,xb({key:r},xb(xb({},e.props),e.propsSelector(t))))})):null}}var kb=r(2485);const Sb=xs.span.attrs((e=>({className:`operation-type ${e.type}`})))`\n  width: 9ex;\n  display: inline-block;\n  height: ${e=>e.theme.typography.code.fontSize};\n  line-height: ${e=>e.theme.typography.code.fontSize};\n  background-color: ${e=>e.color||\"#333\"};\n  border-radius: 3px;\n  background-repeat: no-repeat;\n  background-position: 6px 4px;\n  font-size: 7px;\n  font-family: Verdana, sans-serif; // web-safe\n  color: white;\n  text-transform: uppercase;\n  text-align: center;\n  font-weight: bold;\n  vertical-align: middle;\n  margin-right: 6px;\n  margin-top: 2px;\n\n  &.get {\n    background-color: ${({theme:e})=>e.colors.http.get};\n  }\n\n  &.post {\n    background-color: ${({theme:e})=>e.colors.http.post};\n  }\n\n  &.put {\n    background-color: ${({theme:e})=>e.colors.http.put};\n  }\n\n  &.options {\n    background-color: ${({theme:e})=>e.colors.http.options};\n  }\n\n  &.patch {\n    background-color: ${({theme:e})=>e.colors.http.patch};\n  }\n\n  &.delete {\n    background-color: ${({theme:e})=>e.colors.http.delete};\n  }\n\n  &.basic {\n    background-color: ${({theme:e})=>e.colors.http.basic};\n  }\n\n  &.link {\n    background-color: ${({theme:e})=>e.colors.http.link};\n  }\n\n  &.head {\n    background-color: ${({theme:e})=>e.colors.http.head};\n  }\n\n  &.hook {\n    background-color: ${({theme:e})=>e.colors.primary.main};\n  }\n\n  &.schema {\n    background-color: ${({theme:e})=>e.colors.http.basic};\n  }\n`;function Eb(e,{theme:t},n){return e>1?t.sidebar.level1Items[n]:1===e?t.sidebar.groupItems[n]:\"\"}const Ob=xs.ul`\n  margin: 0;\n  padding: 0;\n\n  &:first-child {\n    padding-bottom: 32px;\n  }\n\n  & & {\n    font-size: 0.929em;\n  }\n\n  ${e=>e.$expanded?\"\":\"display: none;\"};\n`,_b=xs.li`\n  list-style: none inside none;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  padding: 0;\n  ${e=>0===e.depth?\"margin-top: 15px\":\"\"};\n`,Ab={0:ms`\n    opacity: 0.7;\n    text-transform: ${({theme:e})=>e.sidebar.groupItems.textTransform};\n    font-size: 0.8em;\n    padding-bottom: 0;\n    cursor: default;\n  `,1:ms`\n    font-size: 0.929em;\n    text-transform: ${({theme:e})=>e.sidebar.level1Items.textTransform};\n  `},Cb=xs.label.attrs((e=>({className:kb(\"-depth\"+e.$depth,{active:e.$active})})))`\n  cursor: pointer;\n  color: ${e=>e.$active?Eb(e.$depth,e,\"activeTextColor\"):e.theme.sidebar.textColor};\n  margin: 0;\n  padding: 12.5px ${e=>4*e.theme.spacing.unit}px;\n  ${({$depth:e,$type:t,theme:n})=>\"section\"===t&&e>1&&\"padding-left: \"+8*n.spacing.unit+\"px;\"||\"\"}\n  display: flex;\n  justify-content: space-between;\n  font-family: ${e=>e.theme.typography.headings.fontFamily};\n  ${e=>Ab[e.$depth]};\n  background-color: ${e=>e.$active?Eb(e.$depth,e,\"activeBackgroundColor\"):e.theme.sidebar.backgroundColor};\n\n  ${e=>e.$deprecated&&sp||\"\"};\n\n  &:hover {\n    color: ${e=>Eb(e.$depth,e,\"activeTextColor\")};\n    background-color: ${e=>Eb(e.$depth,e,\"activeBackgroundColor\")};\n  }\n\n  ${ip} {\n    height: ${({theme:e})=>e.sidebar.arrow.size};\n    width: ${({theme:e})=>e.sidebar.arrow.size};\n    polygon {\n      fill: ${({theme:e})=>e.sidebar.arrow.color};\n    }\n  }\n`,jb=xs.span`\n  display: inline-block;\n  vertical-align: middle;\n  width: ${e=>e.width?e.width:\"auto\"};\n  overflow: hidden;\n  text-overflow: ellipsis;\n`,Pb=xs.div`\n  ${({theme:e})=>ms`\n    font-size: 0.8em;\n    margin-top: ${2*e.spacing.unit}px;\n    text-align: center;\n    position: fixed;\n    width: ${e.sidebar.width};\n    bottom: 0;\n    background: ${e.sidebar.backgroundColor};\n\n    a,\n    a:visited,\n    a:hover {\n      color: ${e.sidebar.textColor} !important;\n      padding: ${e.spacing.unit}px 0;\n      border-top: 1px solid ${Br(.1,e.sidebar.backgroundColor)};\n      text-decoration: none;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n    }\n  `};\n  img {\n    width: 15px;\n    margin-right: 5px;\n  }\n\n  ${vs.lessThan(\"small\")`\n    width: 100%;\n  `};\n`,Tb=xs.button`\n  border: 0;\n  width: 100%;\n  text-align: left;\n  & > * {\n    vertical-align: middle;\n  }\n\n  ${ip} {\n    polygon {\n      fill: ${({theme:e})=>Br(e.colors.tonalOffset,e.colors.gray[100])};\n    }\n  }\n`,Ib=xs.span`\n  text-decoration: ${e=>e.$deprecated?\"line-through\":\"none\"};\n  margin-right: 8px;\n`,Rb=xs(Sb)`\n  margin: 0 5px 0 0;\n`,Nb=xs((e=>{const{name:t,opened:r,className:i,onClick:o,httpVerb:s,deprecated:a}=e;return n.createElement(Tb,{className:i,onClick:o||void 0},n.createElement(Rb,{type:s},Sa(s)),n.createElement(ip,{size:\"1.5em\",direction:r?\"down\":\"right\",float:\"left\"}),n.createElement(Ib,{$deprecated:a},t),a?n.createElement(op,{type:\"warning\"},\" \",bi(\"deprecated\"),\" \"):null)}))`\n  padding: 10px;\n  border-radius: 2px;\n  margin-bottom: 4px;\n  line-height: 1.5em;\n  background-color: ${({theme:e})=>e.colors.gray[100]};\n  cursor: pointer;\n  outline-color: ${({theme:e})=>Br(e.colors.tonalOffset,e.colors.gray[100])};\n`,$b=xs.div`\n  padding: 10px 25px;\n  background-color: ${({theme:e})=>e.colors.gray[50]};\n  margin-bottom: 5px;\n  margin-top: 5px;\n`;class Lb extends n.PureComponent{constructor(){super(...arguments),this.selectElement=()=>{om.selectElement(this.child)}}render(){const{children:e}=this.props;return n.createElement(\"div\",{ref:e=>this.child=e,onClick:this.selectElement,onFocus:this.selectElement,tabIndex:0,role:\"button\"},e)}}const Db=xs.div`\n  cursor: pointer;\n  position: relative;\n  margin-bottom: 5px;\n`,Mb=xs.span`\n  font-family: ${e=>e.theme.typography.code.fontFamily};\n  margin-left: 10px;\n  flex: 1;\n  overflow-x: hidden;\n  text-overflow: ellipsis;\n`,Fb=xs.button`\n  outline: 0;\n  color: inherit;\n  width: 100%;\n  text-align: left;\n  cursor: pointer;\n  padding: 10px 30px 10px ${e=>e.$inverted?\"10px\":\"20px\"};\n  border-radius: ${e=>e.$inverted?\"0\":\"4px 4px 0 0\"};\n  background-color: ${e=>e.$inverted?\"transparent\":e.theme.codeBlock.backgroundColor};\n  display: flex;\n  white-space: nowrap;\n  align-items: center;\n  border: ${e=>e.$inverted?\"0\":\"1px solid transparent\"};\n  border-bottom: ${e=>e.$inverted?\"1px solid #ccc\":\"0\"};\n  transition: border-color 0.25s ease;\n\n  ${e=>e.$expanded&&!e.$inverted&&`border-color: ${e.theme.colors.border.dark};`||\"\"}\n\n  .${Mb} {\n    color: ${e=>e.$inverted?e.theme.colors.text.primary:\"#ffffff\"};\n  }\n  &:focus {\n    box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25);\n  }\n`,zb=xs.span.attrs((e=>({className:`http-verb ${e.type}`})))`\n  font-size: ${e=>e.$compact?\"0.8em\":\"0.929em\"};\n  line-height: ${e=>e.$compact?\"18px\":\"20px\"};\n  background-color: ${e=>e.theme.colors.http[e.type]||\"#999999\"};\n  color: #ffffff;\n  padding: ${e=>e.$compact?\"2px 8px\":\"3px 10px\"};\n  text-transform: uppercase;\n  font-family: ${e=>e.theme.typography.headings.fontFamily};\n  margin: 0;\n`,Bb=xs.div`\n  position: absolute;\n  width: 100%;\n  z-index: 100;\n  background: ${e=>e.theme.rightPanel.servers.overlay.backgroundColor};\n  color: ${e=>e.theme.rightPanel.servers.overlay.textColor};\n  box-sizing: border-box;\n  box-shadow: 0 0 6px rgba(0, 0, 0, 0.33);\n  overflow: hidden;\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n  transition: all 0.25s ease;\n  visibility: hidden;\n  ${e=>e.$expanded?\"visibility: visible;\":\"transform: translateY(-50%) scaleY(0);\"}\n`,Ub=xs.div`\n  padding: 10px;\n`,qb=xs.div`\n  padding: 5px;\n  border: 1px solid #ccc;\n  background: ${e=>e.theme.rightPanel.servers.url.backgroundColor};\n  word-break: break-all;\n  color: ${e=>e.theme.colors.primary.main};\n  > span {\n    color: ${e=>e.theme.colors.text.primary};\n  }\n`;class Vb extends n.Component{constructor(e){super(e),this.toggle=()=>{this.setState({expanded:!this.state.expanded})},this.state={expanded:!1}}render(){const{operation:e,inverted:t,hideHostname:r}=this.props,{expanded:i}=this.state;return n.createElement(js.Consumer,null,(o=>n.createElement(Db,null,n.createElement(Fb,{onClick:this.toggle,$expanded:i,$inverted:t},n.createElement(zb,{type:e.httpVerb,$compact:this.props.compact},e.httpVerb),n.createElement(Mb,null,e.path),n.createElement(ip,{float:\"right\",color:t?\"black\":\"white\",size:\"20px\",direction:i?\"up\":\"down\",style:{marginRight:\"-25px\"}})),n.createElement(Bb,{$expanded:i,\"aria-hidden\":!i},e.servers.map((t=>{const i=o.expandDefaultServerVariables?function(e,t={}){return e.replace(/(?:{)([\\w-.]+)(?:})/g,((e,n)=>t[n]&&t[n].default||e))}(t.url,t.variables):t.url,s=function(e){try{return fi(e).pathname}catch(t){return e}}(i);return n.createElement(Ub,{key:i},n.createElement(Kh,{source:t.description||\"\",compact:!0}),n.createElement(Lb,null,n.createElement(qb,null,n.createElement(\"span\",null,r||o.hideHostname?\"/\"===s?\"\":s:i),e.path)))}))))))}}class Wb extends n.PureComponent{render(){const{place:e,parameters:t}=this.props;return t&&t.length?n.createElement(\"div\",{key:e},n.createElement(Qu,null,e,\" Parameters\"),n.createElement(hp,null,n.createElement(\"tbody\",null,oi(t,((e,t)=>n.createElement(Qg,{key:e.name,isLast:t,field:e,showExamples:!0})))))):null}}Object.defineProperty,Object.getOwnPropertyDescriptor;let Hb=class extends n.Component{constructor(){super(...arguments),this.switchMedia=({idx:e})=>{this.props.content&&void 0!==e&&this.props.content.activate(e)}}render(){const{content:e}=this.props;if(!e||!e.mediaTypes||!e.mediaTypes.length)return null;const t=e.activeMimeIdx,r=e.mediaTypes.map(((e,t)=>({value:e.name,idx:t}))),i=({children:e})=>this.props.withLabel?n.createElement(Om,null,n.createElement(Em,null,\"Content type\"),e):e;return n.createElement(n.Fragment,null,n.createElement(i,null,this.props.renderDropdown({value:r[t].value,options:r,onChange:this.switchMedia,ariaLabel:\"Content type\"})),this.props.children(e.active))}};Hb=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Hb);var Yb=Object.defineProperty,Gb=Object.getOwnPropertySymbols,Qb=Object.prototype.hasOwnProperty,Xb=Object.prototype.propertyIsEnumerable,Kb=(e,t,n)=>t in e?Yb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zb=(e,t)=>{for(var n in t||(t={}))Qb.call(t,n)&&Kb(e,n,t[n]);if(Gb)for(var n of Gb(t))Xb.call(t,n)&&Kb(e,n,t[n]);return e},Jb=(e,t)=>{var n={};for(var r in e)Qb.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Gb)for(var r of Gb(e))t.indexOf(r)<0&&Xb.call(e,r)&&(n[r]=e[r]);return n};const ev=[\"path\",\"query\",\"cookie\",\"header\"];class tv extends n.PureComponent{orderParams(e){const t={};return e.forEach((e=>{var n,r,i;i=e,(n=t)[r=e.in]||(n[r]=[]),n[r].push(i)})),t}render(){const{body:e,parameters:t=[]}=this.props;if(void 0===e&&void 0===t)return null;const r=this.orderParams(t),i=t.length>0?ev:[],o=e&&e.content,s=e&&e.description,a=e&&e.required;return n.createElement(n.Fragment,null,i.map((e=>n.createElement(Wb,{key:e,place:e,parameters:r[e]}))),o&&n.createElement(rv,{content:o,description:s,bodyRequired:a}))}}function nv(e){var t=e,{bodyRequired:r}=t,i=Jb(t,[\"bodyRequired\"]);const o=\"boolean\"==typeof r&&!!r,s=\"boolean\"==typeof r&&!r;return n.createElement(Qu,{key:\"header\"},\"Request Body schema: \",n.createElement(Df,Zb({},i)),o&&n.createElement(ov,null,\"required\"),s&&n.createElement(sv,null,\"optional\"))}function rv(e){const{content:t,description:r,bodyRequired:i}=e,{isRequestType:o}=t;return n.createElement(Hb,{content:t,renderDropdown:e=>n.createElement(nv,Zb({bodyRequired:i},e))},(({schema:e})=>n.createElement(n.Fragment,null,void 0!==r&&n.createElement(Kh,{source:r}),\"object\"===(null==e?void 0:e.type)&&n.createElement(Pg,{constraints:(null==e?void 0:e.constraints)||[]}),n.createElement(Py,{skipReadOnly:o,skipWriteOnly:!o,key:\"schema\",schema:e}))))}const iv=\"\\n  text-transform: lowercase;\\n  margin-left: 0;\\n  line-height: 1.5em;\\n\",ov=xs(fg)`\n  ${iv}\n`,sv=xs(\"div\")`\n  ${iv}\n  color: ${({theme:e})=>e.colors.text.secondary};\n  font-size: ${e=>e.theme.schema.labelsTextSize};\n`,av=xs(n.memo((function({title:e,type:t,empty:r,code:i,opened:o,className:s,onClick:a}){return n.createElement(\"button\",{className:s,onClick:!r&&a||void 0,\"aria-expanded\":o,disabled:r},!r&&n.createElement(ip,{size:\"1.5em\",color:t,direction:o?\"down\":\"right\",float:\"left\"}),n.createElement(uv,null,i,\" \"),n.createElement(Kh,{compact:!0,inline:!0,source:e}))})))`\n  display: block;\n  border: 0;\n  width: 100%;\n  text-align: left;\n  padding: 10px;\n  border-radius: 2px;\n  margin-bottom: 4px;\n  line-height: 1.5em;\n  cursor: pointer;\n\n  color: ${e=>e.theme.colors.responses[e.type].color};\n  background-color: ${e=>e.theme.colors.responses[e.type].backgroundColor};\n  &:focus {\n    outline: auto ${e=>e.theme.colors.responses[e.type].color};\n  }\n  ${e=>e.empty?'\\ncursor: default;\\n&::before {\\n  content: \"—\";\\n  font-weight: bold;\\n  width: 1.5em;\\n  text-align: center;\\n  display: inline-block;\\n  vertical-align: top;\\n}\\n&:focus {\\n  outline: 0;\\n}\\n':\"\"};\n`,lv=xs.div`\n  padding: 10px;\n`,cv=xs(Qu).attrs({as:\"caption\"})`\n  text-align: left;\n  margin-top: 1em;\n  caption-side: top;\n`,uv=xs.strong`\n  vertical-align: top;\n`;class pv extends n.PureComponent{render(){const{headers:e}=this.props;return void 0===e||0===e.length?null:n.createElement(hp,null,n.createElement(cv,null,\" Response Headers \"),n.createElement(\"tbody\",null,oi(e,((e,t)=>n.createElement(Qg,{isLast:t,key:e.name,field:e,showExamples:!0})))))}}var dv=Object.defineProperty,fv=Object.getOwnPropertySymbols,hv=Object.prototype.hasOwnProperty,mv=Object.prototype.propertyIsEnumerable,gv=(e,t,n)=>t in e?dv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class yv extends n.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>n.createElement(Qu,{key:\"header\"},\"Response Schema: \",n.createElement(Df,((e,t)=>{for(var n in t||(t={}))hv.call(t,n)&&gv(e,n,t[n]);if(fv)for(var n of fv(t))mv.call(t,n)&&gv(e,n,t[n]);return e})({},e)))}render(){const{description:e,extensions:t,headers:r,content:i}=this.props.response;return n.createElement(n.Fragment,null,e&&n.createElement(Kh,{source:e}),n.createElement(Ag,{extensions:t}),n.createElement(pv,{headers:r}),n.createElement(Hb,{content:i,renderDropdown:this.renderDropdown},(({schema:e})=>n.createElement(n.Fragment,null,\"object\"===(null==e?void 0:e.type)&&n.createElement(Pg,{constraints:(null==e?void 0:e.constraints)||[]}),n.createElement(Py,{skipWriteOnly:!0,key:\"schema\",schema:e})))))}}const bv=sg((({response:e})=>{const{extensions:t,headers:r,type:i,summary:o,description:s,code:a,expanded:l,content:c}=e,u=n.useMemo((()=>void 0===c?[]:c.mediaTypes.filter((e=>void 0!==e.schema))),[c]),p=n.useMemo((()=>!(t&&0!==Object.keys(t).length||0!==r.length||0!==u.length||s)),[t,r,u,s]);return n.createElement(\"div\",null,n.createElement(av,{onClick:()=>e.toggle(),type:i,empty:p,title:o||\"\",code:a,opened:l}),l&&!p&&n.createElement(lv,null,n.createElement(yv,{response:e})))})),vv=xs.h3`\n  font-size: 1.3em;\n  padding: 0.2em 0;\n  margin: 3em 0 1.1em;\n  color: ${({theme:e})=>e.colors.text.primary};\n  font-weight: normal;\n`;class xv extends n.PureComponent{render(){const{responses:e,isCallback:t}=this.props;return e&&0!==e.length?n.createElement(\"div\",null,n.createElement(vv,null,bi(t?\"callbackResponses\":\"responses\")),e.map((e=>n.createElement(bv,{key:e.code,response:e})))):null}}function wv(e){const{security:t,showSecuritySchemeType:r,expanded:i}=e,o=t.schemes.length>1;return 0===t.schemes.length?n.createElement(Uy,{$expanded:i},\"None\"):n.createElement(Uy,{$expanded:i},o&&\"(\",t.schemes.map((e=>n.createElement(By,{key:e.id},r&&`${tb[e.type]||e.type}: `,n.createElement(\"i\",null,e.displayName),i&&e.scopes.length?[\" (\",e.scopes.map((e=>n.createElement(zy,{key:e},e))),\") \"]:null))),o&&\") \")}const kv=({scopes:e})=>e.length?n.createElement(\"div\",null,n.createElement(\"b\",null,\"Required scopes: \"),e.map(((e,t)=>n.createElement(n.Fragment,{key:t},n.createElement(\"code\",null,e),\" \")))):null;function Sv(e){const t=(0,n.useContext)(Xu),r=null==t?void 0:t.options.showSecuritySchemeType,[i,o]=(0,n.useState)(!1),{securities:s}=e;if(!(null==s?void 0:s.length)||(null==t?void 0:t.options.hideSecuritySection))return null;const a=null==t?void 0:t.spec.securitySchemes.schemes.filter((({id:e})=>s.find((t=>t.schemes.find((t=>t.id===e))))));return n.createElement(n.Fragment,null,n.createElement(Hy,{$expanded:i},n.createElement(qy,{onClick:()=>o(!i)},n.createElement(Wy,null,\"Authorizations:\"),n.createElement(ip,{size:\"1.3em\",direction:i?\"down\":\"right\"})),n.createElement(Vy,{$expanded:i},s.map(((e,t)=>n.createElement(wv,{key:t,expanded:i,showSecuritySchemeType:r,security:e}))))),i&&!!(null==a?void 0:a.length)&&a.map(((e,t)=>n.createElement(Gy,{key:t},n.createElement(\"h5\",null,n.createElement(Ev,null),\" \",tb[e.type]||e.type,\": \",e.id),n.createElement(Kh,{source:e.description||\"\"}),n.createElement(eb,{key:e.id,scheme:e,RequiredScopes:n.createElement(kv,{scopes:Ov(e.id,s)})})))))}const Ev=()=>n.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",width:\"11\",height:\"11\"},n.createElement(\"path\",{fill:\"currentColor\",d:\"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z\"}));function Ov(e,t){const n=[];let r=t.length;for(;r--;){const i=t[r];let o=i.schemes.length;for(;o--;){const t=i.schemes[o];t.id===e&&Array.isArray(t.scopes)&&n.push(...t.scopes)}}return Array.from(new Set(n))}Object.defineProperty,Object.getOwnPropertyDescriptor;let _v=class extends n.Component{render(){const{operation:e}=this.props,{description:t,externalDocs:r}=e,i=!(!t&&!r);return n.createElement($b,null,i&&n.createElement(Av,null,void 0!==t&&n.createElement(Kh,{source:t}),r&&n.createElement(kg,{externalDocs:r})),n.createElement(Vb,{operation:this.props.operation,inverted:!0,compact:!0}),n.createElement(Ag,{extensions:e.extensions}),n.createElement(Sv,{securities:e.security}),n.createElement(tv,{parameters:e.parameters,body:e.requestBody}),n.createElement(xv,{responses:e.responses,isCallback:e.isCallback}))}};_v=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],_v);const Av=xs.div`\n  margin-bottom: ${({theme:e})=>3*e.spacing.unit}px;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Cv=class extends n.Component{constructor(){super(...arguments),this.toggle=()=>{this.props.callbackOperation.toggle()}}render(){const{name:e,expanded:t,httpVerb:r,deprecated:i}=this.props.callbackOperation;return n.createElement(n.Fragment,null,n.createElement(Nb,{onClick:this.toggle,name:e,opened:t,httpVerb:r,deprecated:i}),t&&n.createElement(_v,{operation:this.props.callbackOperation}))}};Cv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Cv);class jv extends n.PureComponent{render(){const{callbacks:e}=this.props;return e&&0!==e.length?n.createElement(\"div\",null,n.createElement(Pv,null,\" Callbacks \"),e.map((e=>e.operations.map(((t,r)=>n.createElement(Cv,{key:`${e.name}_${r}`,callbackOperation:t})))))):null}}const Pv=xs.h3`\n  font-size: 1.3em;\n  padding: 0.2em 0;\n  margin: 3em 0 1.1em;\n  color: ${({theme:e})=>e.colors.text.primary};\n  font-weight: normal;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Tv=class extends n.Component{constructor(e){super(e),this.switchItem=({idx:e})=>{this.props.items&&void 0!==e&&this.setState({activeItemIdx:e})},this.state={activeItemIdx:0}}render(){const{items:e}=this.props;if(!e||!e.length)return null;const t=({children:e})=>this.props.label?n.createElement(Om,null,n.createElement(Em,null,this.props.label),e):e;return n.createElement(n.Fragment,null,n.createElement(t,null,this.props.renderDropdown({value:this.props.options[this.state.activeItemIdx].value,options:this.props.options,onChange:this.switchItem,ariaLabel:this.props.label||\"Callback\"})),this.props.children(e[this.state.activeItemIdx]))}};Tv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Tv);var Iv=Object.defineProperty,Rv=Object.defineProperties,Nv=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),$v=Object.getOwnPropertySymbols,Lv=Object.prototype.hasOwnProperty,Dv=Object.prototype.propertyIsEnumerable,Mv=(e,t,n)=>t in e?Iv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Fv=class extends n.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Df,(t=((e,t)=>{for(var n in t||(t={}))Lv.call(t,n)&&Mv(e,n,t[n]);if($v)for(var n of $v(t))Dv.call(t,n)&&Mv(e,n,t[n]);return e})({Label:Sm,Dropdown:_m},e),Rv(t,Nv({variant:\"dark\"}))));var t}}render(){const e=this.props.content;return void 0===e?null:n.createElement(Hb,{content:e,renderDropdown:this.renderDropdown,withLabel:!0},(e=>n.createElement(Cm,{key:\"samples\",mediaType:e,renderDropdown:this.renderDropdown})))}};Fv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Fv);class zv extends n.Component{render(){const e=this.props.callback.codeSamples.find((e=>$u(e)));return e?n.createElement(Bv,null,n.createElement(Fv,{content:e.requestBodyContent})):null}}const Bv=xs.div`\n  margin-top: 15px;\n`;var Uv=Object.defineProperty,qv=Object.defineProperties,Vv=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Wv=Object.getOwnPropertySymbols,Hv=Object.prototype.hasOwnProperty,Yv=Object.prototype.propertyIsEnumerable,Gv=(e,t,n)=>t in e?Uv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Qv=class extends n.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Df,(t=((e,t)=>{for(var n in t||(t={}))Hv.call(t,n)&&Gv(e,n,t[n]);if(Wv)for(var n of Wv(t))Yv.call(t,n)&&Gv(e,n,t[n]);return e})({Label:Sm,Dropdown:_m},e),qv(t,Vv({variant:\"dark\"}))));var t}}render(){const{callbacks:e}=this.props;if(!e||0===e.length)return null;const t=e.map((e=>e.operations.map((e=>e)))).reduce(((e,t)=>e.concat(t)),[]);if(!t.some((e=>e.codeSamples.length>0)))return null;const r=t.map(((e,t)=>({value:`${e.httpVerb.toUpperCase()}: ${e.name}`,idx:t})));return n.createElement(\"div\",null,n.createElement(Gu,null,\" Callback payload samples \"),n.createElement(Xv,null,n.createElement(Tv,{items:t,renderDropdown:this.renderDropdown,label:\"Callback\",options:r},(e=>n.createElement(zv,{key:\"callbackPayloadSample\",callback:e,renderDropdown:this.renderDropdown})))))}};Qv.contextType=js,Qv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Qv);const Xv=xs.div`\n  background: ${({theme:e})=>e.codeBlock.backgroundColor};\n  padding: ${e=>4*e.theme.spacing.unit}px;\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Kv=class extends n.Component{render(){const{operation:e}=this.props,t=e.codeSamples,r=t.length>0,i=1===t.length&&this.context.hideSingleRequestSampleTab;return r&&n.createElement(\"div\",null,n.createElement(Gu,null,\" \",bi(\"requestSamples\"),\" \"),n.createElement(Xp,{defaultIndex:0},n.createElement(Bp,{hidden:i},t.map((e=>n.createElement(Wp,{key:e.lang+\"_\"+(e.label||\"\")},void 0!==e.label?e.label:e.lang)))),t.map((e=>n.createElement(Qp,{key:e.lang+\"_\"+(e.label||\"\")},$u(e)?n.createElement(\"div\",null,n.createElement(Fv,{content:e.requestBodyContent})):n.createElement(bm,{lang:e.lang,source:e.source}))))))||null}};Kv.contextType=js,Kv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Kv);Object.defineProperty,Object.getOwnPropertyDescriptor;let Zv=class extends n.Component{render(){const{operation:e}=this.props,t=e.responses.filter((e=>e.content&&e.content.hasSample));return t.length>0&&n.createElement(\"div\",null,n.createElement(Gu,null,\" \",bi(\"responseSamples\"),\" \"),n.createElement(Xp,{defaultIndex:0},n.createElement(Bp,null,t.map((e=>n.createElement(Wp,{className:\"tab-\"+e.type,key:e.code},e.code)))),t.map((e=>n.createElement(Qp,{key:e.code},n.createElement(\"div\",null,n.createElement(Fv,{content:e.content})))))))||null}};Zv=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Zv);var Jv=Object.defineProperty,ex=Object.defineProperties,tx=Object.getOwnPropertyDescriptors,nx=Object.getOwnPropertySymbols,rx=Object.prototype.hasOwnProperty,ix=Object.prototype.propertyIsEnumerable,ox=(e,t,n)=>t in e?Jv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const sx=xs.div`\n  margin-bottom: ${({theme:e})=>6*e.spacing.unit}px;\n`,ax=sg((({operation:e})=>{const{name:t,description:r,deprecated:i,externalDocs:o,isWebhook:s,httpVerb:a,badges:l}=e,c=!(!r&&!o),{showWebhookVerb:u}=n.useContext(js),p=l.filter((({position:e})=>\"before\"===e)),d=l.filter((({position:e})=>\"after\"===e));return n.createElement(js.Consumer,null,(l=>n.createElement(Uu,((e,t)=>ex(e,tx(t)))(((e,t)=>{for(var n in t||(t={}))rx.call(t,n)&&ox(e,n,t[n]);if(nx)for(var n of nx(t))ix.call(t,n)&&ox(e,n,t[n]);return e})({},{[Ef]:e.operationHash}),{id:e.operationHash}),n.createElement(Mu,null,n.createElement(Hu,null,n.createElement(np,{to:e.id}),p.map((({name:e,color:t})=>n.createElement(op,{type:\"primary\",key:e,color:t},e))),t,\" \",i&&n.createElement(op,{type:\"warning\"},\" Deprecated \"),s&&n.createElement(op,{type:\"primary\"},\" \",\"Webhook \",u&&a&&\"| \"+a.toUpperCase()),d.map((({name:e,color:t})=>n.createElement(op,{type:\"primary\",key:e,color:t},e)))),l.pathInMiddlePanel&&!s&&n.createElement(Vb,{operation:e,inverted:!0}),c&&n.createElement(sx,null,void 0!==r&&n.createElement(Kh,{source:r}),o&&n.createElement(kg,{externalDocs:o})),n.createElement(Ag,{extensions:e.extensions}),n.createElement(Sv,{securities:e.security}),n.createElement(tv,{parameters:e.parameters,body:e.requestBody}),n.createElement(xv,{responses:e.responses}),n.createElement(jv,{callbacks:e.callbacks})),n.createElement(Bu,null,!l.pathInMiddlePanel&&!s&&n.createElement(Vb,{operation:e}),n.createElement(Kv,{operation:e}),n.createElement(Zv,{operation:e}),n.createElement(Qv,{callbacks:e.callbacks})))))}));var lx=Object.defineProperty,cx=Object.getOwnPropertyDescriptor,ux=Object.getOwnPropertySymbols,px=Object.prototype.hasOwnProperty,dx=Object.prototype.propertyIsEnumerable,fx=(e,t,n)=>t in e?lx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hx=(e,t,n,r)=>{for(var i,o=r>1?void 0:r?cx(t,n):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(r?i(t,n,o):i(o))||o);return r&&o&&lx(t,n,o),o};let mx=class extends n.Component{render(){const e=this.props.items;return 0===e.length?null:e.map((e=>n.createElement(gx,{key:e.id,item:e})))}};mx=hx([sg],mx);let gx=class extends n.Component{render(){const e=this.props.item;let t;const{type:r}=e;switch(r){case\"group\":t=null;break;case\"tag\":case\"section\":default:t=n.createElement(bx,((e,t)=>{for(var n in t||(t={}))px.call(t,n)&&fx(e,n,t[n]);if(ux)for(var n of ux(t))dx.call(t,n)&&fx(e,n,t[n]);return e})({},this.props));break;case\"operation\":t=n.createElement(vx,{item:e})}return n.createElement(n.Fragment,null,t&&n.createElement(Fu,{id:e.id,$underlined:\"operation\"===e.type},t),e.items&&n.createElement(mx,{items:e.items}))}};gx=hx([sg],gx);const yx=e=>n.createElement(Mu,{$compact:!0},e);let bx=class extends n.Component{render(){const{name:e,description:t,externalDocs:r,level:i}=this.props.item,o=2===i?Yu:Hu;return n.createElement(n.Fragment,null,n.createElement(Uu,null,n.createElement(Mu,{$compact:!1},n.createElement(o,null,n.createElement(np,{to:this.props.item.id}),e))),n.createElement(wb,{parentId:this.props.item.id,source:t||\"\",htmlWrap:yx}),r&&n.createElement(Uu,null,n.createElement(Mu,null,n.createElement(kg,{externalDocs:r}))))}};bx=hx([sg],bx);let vx=class extends n.Component{render(){return n.createElement(ax,{operation:this.props.item})}};vx=hx([sg],vx);var xx=Object.defineProperty,wx=Object.defineProperties,kx=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Sx=Object.getOwnPropertySymbols,Ex=Object.prototype.hasOwnProperty,Ox=Object.prototype.propertyIsEnumerable,_x=(e,t,n)=>t in e?xx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Ax=class extends n.Component{constructor(){super(...arguments),this.ref=n.createRef(),this.activate=e=>{this.props.onActivate(this.props.item),e.stopPropagation()}}componentDidMount(){this.scrollIntoViewIfActive()}componentDidUpdate(){this.scrollIntoViewIfActive()}scrollIntoViewIfActive(){this.props.item.active&&this.ref.current&&ni(this.ref.current)}render(){const{item:e,withoutChildren:t}=this.props;return n.createElement(_b,{tabIndex:0,onClick:this.activate,onKeyDown:e=>{\"Enter\"!==e.key&&\" \"!==e.key||(this.props.onActivate(this.props.item),e.stopPropagation())},depth:e.depth,\"data-item-id\":e.id,role:\"menuitem\",\"aria-label\":e.sidebarLabel,\"aria-expanded\":e.expanded},\"operation\"===e.type?n.createElement(Cx,((e,t)=>wx(e,kx(t)))(((e,t)=>{for(var n in t||(t={}))Ex.call(t,n)&&_x(e,n,t[n]);if(Sx)for(var n of Sx(t))Ox.call(t,n)&&_x(e,n,t[n]);return e})({},this.props),{item:e})):n.createElement(Cb,{$depth:e.depth,$active:e.active,$type:e.type,ref:this.ref},\"schema\"===e.type&&n.createElement(Sb,{type:\"schema\"},\"schema\"),n.createElement(jb,{width:\"calc(100% - 38px)\",title:e.sidebarLabel},e.sidebarLabel,this.props.children),e.depth>0&&e.items.length>0&&n.createElement(ip,{float:\"right\",direction:e.expanded?\"down\":\"right\"})||null),!t&&e.items&&e.items.length>0&&n.createElement(Nx,{expanded:e.expanded,items:e.items,onActivate:this.props.onActivate}))}};Ax=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Ax);const Cx=sg((e=>{var t;const{item:r}=e,i=n.createRef(),{showWebhookVerb:o}=n.useContext(js);return n.useEffect((()=>{e.item.active&&i.current&&ni(i.current)}),[e.item.active,i]),n.createElement(Cb,{$depth:r.depth,$active:r.active,$deprecated:r.deprecated,ref:i},r.badges&&(null==(t=r.badges)?void 0:t.map((({name:e,color:t})=>n.createElement(Sb,{type:\"badge\",color:t,key:e},e)))),r.isWebhook?n.createElement(Sb,{type:\"hook\"},o?r.httpVerb:bi(\"webhook\")):n.createElement(Sb,{type:r.httpVerb},Sa(r.httpVerb)),n.createElement(jb,{tabIndex:0,width:\"calc(100% - 38px)\"},r.sidebarLabel,e.children))}));var jx=Object.defineProperty,Px=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),Tx=Object.prototype.hasOwnProperty,Ix=Object.prototype.propertyIsEnumerable,Rx=(e,t,n)=>t in e?jx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Nx=class extends n.Component{render(){const{items:e,root:t,className:r}=this.props,i=null==this.props.expanded||this.props.expanded;return n.createElement(Ob,((e,t)=>{for(var n in t||(t={}))Tx.call(t,n)&&Rx(e,n,t[n]);if(Px)for(var n of Px(t))Ix.call(t,n)&&Rx(e,n,t[n]);return e})({className:r,style:this.props.style,$expanded:i},t?{role:\"menu\"}:{}),e.map(((e,t)=>n.createElement(Ax,{key:t,item:e,onActivate:this.props.onActivate}))))}};function $x(){const[e,t]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{t(!0)}),[]),e?n.createElement(\"img\",{alt:\"redocly logo\",onError:()=>t(!1),src:\"https://cdn.redoc.ly/redoc/logo-mini.svg\"}):null}Nx=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Nx);Object.defineProperty,Object.getOwnPropertyDescriptor;let Lx=class extends n.Component{constructor(){super(...arguments),this.activate=e=>{if(e&&e.active&&this.context.menuToggle)return e.expanded?e.collapse():e.expand();this.props.menu.activateAndScroll(e,!0),setTimeout((()=>{this._updateScroll&&this._updateScroll()}))},this.saveScrollUpdate=e=>{this._updateScroll=e}}render(){const e=this.props.menu;return n.createElement($d,{updateFn:this.saveScrollUpdate,className:this.props.className,options:{wheelPropagation:!1}},n.createElement(Nx,{items:e.items,onActivate:this.activate,root:!0}),n.createElement(Pb,null,n.createElement(\"a\",{target:\"_blank\",rel:\"noopener noreferrer\",href:\"https://redocly.com/redoc/\"},n.createElement($x,null),\"API docs by Redocly\")))}};Lx.contextType=js,Lx=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Lx);const Dx=({open:e})=>{const t=e?8:-4;return n.createElement(Fx,null,n.createElement(Mx,{size:15,style:{transform:`translate(2px, ${t}px) rotate(180deg)`,transition:\"transform 0.2s ease\"}}),n.createElement(Mx,{size:15,style:{transform:`translate(2px, ${0-t}px)`,transition:\"transform 0.2s ease\"}}))},Mx=({size:e=10,className:t=\"\",style:r})=>n.createElement(\"svg\",{className:t,style:r||{},viewBox:\"0 0 926.23699 573.74994\",version:\"1.1\",x:\"0px\",y:\"0px\",width:e,height:e},n.createElement(\"g\",{transform:\"translate(904.92214,-879.1482)\"},n.createElement(\"path\",{d:\"\\n          m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,\\n          -55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,\\n          0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,\\n          -174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,\\n          -174.68583 0.6895,0 26.281,25.03215 56.8701,\\n          55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864\\n          -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,\\n          -104.0616 -231.873,-231.248 z\\n        \",fill:\"currentColor\"}))),Fx=xs.div`\n  user-select: none;\n  width: 20px;\n  height: 20px;\n  align-self: center;\n  display: flex;\n  flex-direction: column;\n  color: ${e=>e.theme.colors.primary.main};\n`;Object.defineProperty,Object.getOwnPropertyDescriptor;let zx;ei&&(zx=r(227));const Bx=zx&&zx(),Ux=xs.div`\n  width: ${e=>e.theme.sidebar.width};\n  background-color: ${e=>e.theme.sidebar.backgroundColor};\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n\n  backface-visibility: hidden;\n  /* contain: strict; TODO: breaks layout since Chrome 80*/\n\n  height: 100vh;\n  position: sticky;\n  position: -webkit-sticky;\n  top: 0;\n\n  ${vs.lessThan(\"small\")`\n    position: fixed;\n    z-index: 20;\n    width: 100%;\n    background: ${({theme:e})=>e.sidebar.backgroundColor};\n    display: ${e=>e.$open?\"flex\":\"none\"};\n  `};\n\n  @media print {\n    display: none;\n  }\n`,qx=xs.div`\n  outline: none;\n  user-select: none;\n  background-color: ${({theme:e})=>e.fab.backgroundColor};\n  color: ${e=>e.theme.colors.primary.main};\n  display: none;\n  cursor: pointer;\n  position: fixed;\n  right: 20px;\n  z-index: 100;\n  border-radius: 50%;\n  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n  ${vs.lessThan(\"small\")`\n    display: flex;\n  `};\n\n  bottom: 44px;\n\n  width: 60px;\n  height: 60px;\n  padding: 0 20px;\n  svg {\n    color: ${({theme:e})=>e.fab.color};\n  }\n\n  @media print {\n    display: none;\n  }\n`;let Vx=class extends n.Component{constructor(){super(...arguments),this.state={offsetTop:\"0px\"},this.toggleNavMenu=()=>{this.props.menu.toggleSidebar()}}componentDidMount(){Bx&&Bx.add(this.stickyElement),this.setState({offsetTop:this.getScrollYOffset(this.context)})}componentWillUnmount(){Bx&&Bx.remove(this.stickyElement)}getScrollYOffset(e){let t;return t=void 0!==this.props.scrollYOffset?Pi.normalizeScrollYOffset(this.props.scrollYOffset)():e.scrollYOffset(),t+\"px\"}render(){const e=this.props.menu.sideBarOpened,t=this.state.offsetTop;return n.createElement(n.Fragment,null,n.createElement(Ux,{$open:e,className:this.props.className,style:{top:t,height:`calc(100vh - ${t})`},ref:e=>{this.stickyElement=e}},this.props.children),!this.context.hideFab&&n.createElement(qx,{onClick:this.toggleNavMenu},n.createElement(Dx,{open:e})))}};Vx.contextType=js,Vx=((e,t)=>{for(var n,r=t,i=e.length-1;i>=0;i--)(n=e[i])&&(r=n(r)||r);return r})([sg],Vx);const Wx=xs.div`\n  ${({theme:e})=>`\\n  font-family: ${e.typography.fontFamily};\\n  font-size: ${e.typography.fontSize};\\n  font-weight: ${e.typography.fontWeightRegular};\\n  line-height: ${e.typography.lineHeight};\\n  color: ${e.colors.text.primary};\\n  display: flex;\\n  position: relative;\\n  text-align: left;\\n\\n  -webkit-font-smoothing: ${e.typography.smoothing};\\n  font-smoothing: ${e.typography.smoothing};\\n  ${e.typography.optimizeSpeed?\"text-rendering: optimizeSpeed !important\":\"\"};\\n\\n  tap-highlight-color: rgba(0, 0, 0, 0);\\n  text-size-adjust: 100%;\\n\\n  * {\\n    box-sizing: border-box;\\n    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\\n  }\\n`};\n`,Hx=xs.div`\n  z-index: 1;\n  position: relative;\n  overflow: hidden;\n  width: calc(100% - ${e=>e.theme.sidebar.width});\n  ${vs.lessThan(\"small\",!0)`\n    width: 100%;\n  `};\n\n  contain: layout;\n`,Yx=xs.div`\n  background: ${({theme:e})=>e.rightPanel.backgroundColor};\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  width: ${({theme:e})=>{if(e.rightPanel.width.endsWith(\"%\")){const t=parseInt(e.rightPanel.width,10);return`calc((100% - ${e.sidebar.width}) * ${t/100})`}return e.rightPanel.width}};\n  ${vs.lessThan(\"medium\",!0)`\n    display: none;\n  `};\n`,Gx=xs.div`\n  padding: 5px 0;\n`,Qx=xs.input.attrs((()=>({className:\"search-input\"})))`\n  width: calc(100% - ${e=>8*e.theme.spacing.unit}px);\n  box-sizing: border-box;\n  margin: 0 ${e=>4*e.theme.spacing.unit}px;\n  padding: 5px ${e=>2*e.theme.spacing.unit}px 5px\n    ${e=>4*e.theme.spacing.unit}px;\n  border: 0;\n  border-bottom: 1px solid\n    ${({theme:e})=>(Vr(e.sidebar.backgroundColor)>.5?Br:Hr)(.1,e.sidebar.backgroundColor)};\n  font-family: ${({theme:e})=>e.typography.fontFamily};\n  font-weight: bold;\n  font-size: 13px;\n  color: ${e=>e.theme.sidebar.textColor};\n  background-color: transparent;\n  outline: none;\n`,Xx=xs((e=>n.createElement(\"svg\",{className:e.className,version:\"1.1\",viewBox:\"0 0 1000 1000\",x:\"0px\",xmlns:\"http://www.w3.org/2000/svg\",y:\"0px\"},n.createElement(\"path\",{d:\"M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z\"})))).attrs({className:\"search-icon\"})`\n  position: absolute;\n  left: ${e=>4*e.theme.spacing.unit}px;\n  height: 1.8em;\n  width: 0.9em;\n\n  path {\n    fill: ${e=>e.theme.sidebar.textColor};\n  }\n`,Kx=xs.div`\n  padding: ${e=>e.theme.spacing.unit}px 0;\n  background-color: ${({theme:e})=>Br(.05,e.sidebar.backgroundColor)}};\n  color: ${e=>e.theme.sidebar.textColor};\n  min-height: 150px;\n  max-height: 250px;\n  border-top: ${({theme:e})=>Br(.1,e.sidebar.backgroundColor)}};\n  border-bottom: ${({theme:e})=>Br(.1,e.sidebar.backgroundColor)}};\n  margin-top: 10px;\n  line-height: 1.4;\n  font-size: 0.9em;\n  \n  li {\n    background-color: inherit;\n  }\n\n  ${Cb} {\n    padding-top: 6px;\n    padding-bottom: 6px;\n\n    &:hover,\n    &.active {\n      background-color: ${({theme:e})=>Br(.1,e.sidebar.backgroundColor)};\n    }\n\n    > svg {\n      display: none;\n    }\n  }\n`,Zx=xs.i`\n  position: absolute;\n  display: inline-block;\n  width: ${e=>2*e.theme.spacing.unit}px;\n  text-align: center;\n  right: ${e=>4*e.theme.spacing.unit}px;\n  line-height: 2em;\n  vertical-align: middle;\n  margin-right: 2px;\n  cursor: pointer;\n  font-style: normal;\n  color: '#666';\n`;var Jx=Object.defineProperty,ew=Object.getOwnPropertyDescriptor;class tw extends n.PureComponent{constructor(e){super(e),this.activeItemRef=null,this.clear=()=>{this.setState({results:[],noResults:!1,term:\"\",activeItemIdx:-1}),this.props.marker.unmark()},this.handleKeyDown=e=>{if(27===e.keyCode&&this.clear(),40===e.keyCode&&(this.setState({activeItemIdx:Math.min(this.state.activeItemIdx+1,this.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(this.setState({activeItemIdx:Math.max(0,this.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode){const e=this.state.results[this.state.activeItemIdx];if(e){const t=this.props.getItemById(e.meta);t&&this.props.onActivate(t)}}},this.search=e=>{const{minCharacterLengthToInitSearch:t}=this.context,n=e.target.value;n.length<t?this.clearResults(n):this.setState({term:n},(()=>this.searchCallback(this.state.term)))},this.state={results:[],noResults:!1,term:\"\",activeItemIdx:-1}}clearResults(e){this.setState({results:[],noResults:!1,term:e}),this.props.marker.unmark()}setResults(e,t){this.setState({results:e,noResults:0===e.length}),this.props.marker.mark(t)}searchCallback(e){this.props.search.search(e).then((t=>{this.setResults(t,e)}))}render(){const{activeItemIdx:e}=this.state,t=this.state.results.filter((e=>this.props.getItemById(e.meta))).map((e=>({item:this.props.getItemById(e.meta),score:e.score}))).sort(((e,t)=>t.score-e.score));return n.createElement(Gx,{role:\"search\"},this.state.term&&n.createElement(Zx,{onClick:this.clear},\"×\"),n.createElement(Xx,null),n.createElement(Qx,{value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:\"Search...\",\"aria-label\":\"Search\",type:\"text\",onChange:this.search}),t.length>0&&n.createElement($d,{options:{wheelPropagation:!1}},n.createElement(Kx,{\"data-role\":\"search:results\"},t.map(((t,r)=>n.createElement(Ax,{item:Object.create(t.item,{active:{value:r===e}}),onActivate:this.props.onActivate,withoutChildren:!0,key:t.item.id,\"data-role\":\"search:result\"}))))),this.state.term&&this.state.noResults?n.createElement(Kx,{\"data-role\":\"search:results\"},bi(\"noResultsFound\")):null)}}tw.contextType=js,((e,t,n)=>{for(var r,i=ew(t,n),o=e.length-1;o>=0;o--)(r=e[o])&&(i=r(t,n,i)||i);i&&Jx(t,n,i)})([Ls.bind,(0,Ls.debounce)(400)],tw.prototype,\"searchCallback\");class nw extends n.Component{componentDidMount(){this.props.store.onDidMount()}componentWillUnmount(){this.props.store.dispose()}render(){const{store:{spec:e,menu:t,options:r,search:i,marker:o}}=this.props,s=this.props.store;return n.createElement(bs,{theme:r.theme},n.createElement(Ku,{value:s},n.createElement(Ps,{value:r},n.createElement(Wx,{className:\"redoc-wrap\"},n.createElement(Vx,{menu:t,className:\"menu-content\"},n.createElement(hb,{info:e.info}),!r.disableSearch&&n.createElement(tw,{search:i,marker:o,getItemById:t.getItemById,onActivate:t.activateAndScroll})||null,n.createElement(Lx,{menu:t})),n.createElement(Hx,{className:\"api-content\"},n.createElement(ub,{store:s}),n.createElement(mx,{items:t.items})),n.createElement(Yx,null)))))}}nw.propTypes={store:Cs.instanceOf(rb).isRequired};var rw=Object.defineProperty,iw=Object.getOwnPropertySymbols,ow=Object.prototype.hasOwnProperty,sw=Object.prototype.propertyIsEnumerable,aw=(e,t,n)=>t in e?rw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lw=(e,t)=>{for(var n in t||(t={}))ow.call(t,n)&&aw(e,n,t[n]);if(iw)for(var n of iw(t))sw.call(t,n)&&aw(e,n,t[n]);return e};const cw=function(e){const{spec:t,specUrl:i,options:o={},onLoaded:s}=e,a=Ci(o.hideLoading,!1),l=new Pi(o);if(void 0!==l.nonce)try{r.nc=l.nonce}catch(e){}return n.createElement(Ss,null,n.createElement(Ju,{spec:t?lw({},t):void 0,specUrl:i,options:o,onLoaded:s},(({loading:e,store:t})=>e?a?null:n.createElement(As,{color:l.theme.colors.primary.main}):n.createElement(nw,{store:t}))))};var uw=Object.defineProperty,pw=Object.getOwnPropertySymbols,dw=Object.prototype.hasOwnProperty,fw=Object.prototype.propertyIsEnumerable,hw=(e,t,n)=>t in e?uw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,mw=(e,t)=>{for(var n in t||(t={}))dw.call(t,n)&&hw(e,n,t[n]);if(pw)for(var n of pw(t))fw.call(t,n)&&hw(e,n,t[n]);return e};Ft({useProxies:\"ifavailable\"});const gw=\"2.5.2\",yw=\"3462357\";function bw(e){const t=function(e){const t={},n=e.attributes;for(let e=0;e<n.length;e++){const r=n[e];t[r.name]=r.value}return t}(e),n={};for(const e in t){const r=e.replace(/-(.)/g,((e,t)=>t.toUpperCase())),i=t[e];n[r]=\"theme\"===e?JSON.parse(i):i}return n}function vw(e,t={},r=ti(\"redoc\"),i){if(null===r)throw new Error('\"element\" argument is not provided and <redoc> tag is not found on the page');let s,a;\"string\"==typeof e?s=e:\"object\"==typeof e&&(a=e),(0,o.H)(r).render(n.createElement(cw,{spec:a,onLoaded:i,specUrl:s,options:mw(mw({},t),bw(r))},[\"Loading...\"]))}function xw(e=ti(\"redoc\")){e&&(0,o.H)(e).unmount()}function ww(e,t=ti(\"redoc\"),r){const i=rb.fromJS(e);setTimeout((()=>{(0,o.c)(t,n.createElement(nw,{store:i}),{onRecoverableError:r})}),0)}!function(){const e=ti(\"redoc\");if(!e)return;const t=e.getAttribute(\"spec-url\");t&&vw(t,{},e)}()}(),i}()}));\n//# sourceMappingURL=redoc.standalone.js.map"
  },
  {
    "path": "ninja/static/ninja/swagger-ui-bundle.js",
    "content": "/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */\n!function webpackUniversalModuleDefinition(s,o){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define([],o):\"object\"==typeof exports?exports.SwaggerUIBundle=o():s.SwaggerUIBundle=o()}(this,(()=>(()=>{var s={251:(s,o)=>{o.read=function(s,o,i,a,u){var _,w,x=8*u-a-1,C=(1<<x)-1,j=C>>1,L=-7,B=i?u-1:0,$=i?-1:1,U=s[o+B];for(B+=$,_=U&(1<<-L)-1,U>>=-L,L+=x;L>0;_=256*_+s[o+B],B+=$,L-=8);for(w=_&(1<<-L)-1,_>>=-L,L+=a;L>0;w=256*w+s[o+B],B+=$,L-=8);if(0===_)_=1-j;else{if(_===C)return w?NaN:1/0*(U?-1:1);w+=Math.pow(2,a),_-=j}return(U?-1:1)*w*Math.pow(2,_-a)},o.write=function(s,o,i,a,u,_){var w,x,C,j=8*_-u-1,L=(1<<j)-1,B=L>>1,$=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,U=a?0:_-1,V=a?1:-1,z=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(x=isNaN(o)?1:0,w=L):(w=Math.floor(Math.log(o)/Math.LN2),o*(C=Math.pow(2,-w))<1&&(w--,C*=2),(o+=w+B>=1?$/C:$*Math.pow(2,1-B))*C>=2&&(w++,C/=2),w+B>=L?(x=0,w=L):w+B>=1?(x=(o*C-1)*Math.pow(2,u),w+=B):(x=o*Math.pow(2,B-1)*Math.pow(2,u),w=0));u>=8;s[i+U]=255&x,U+=V,x/=256,u-=8);for(w=w<<u|x,j+=u;j>0;s[i+U]=255&w,U+=V,w/=256,j-=8);s[i+U-V]|=128*z}},462:(s,o,i)=>{\"use strict\";var a=i(40975);s.exports=a},659:(s,o,i)=>{var a=i(51873),u=Object.prototype,_=u.hasOwnProperty,w=u.toString,x=a?a.toStringTag:void 0;s.exports=function getRawTag(s){var o=_.call(s,x),i=s[x];try{s[x]=void 0;var a=!0}catch(s){}var u=w.call(s);return a&&(o?s[x]=i:delete s[x]),u}},694:(s,o,i)=>{\"use strict\";i(91599);var a=i(37257);i(12560),s.exports=a},953:(s,o,i)=>{\"use strict\";s.exports=i(53375)},1733:s=>{var o=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;s.exports=function asciiWords(s){return s.match(o)||[]}},1882:(s,o,i)=>{var a=i(72552),u=i(23805);s.exports=function isFunction(s){if(!u(s))return!1;var o=a(s);return\"[object Function]\"==o||\"[object GeneratorFunction]\"==o||\"[object AsyncFunction]\"==o||\"[object Proxy]\"==o}},1907:(s,o,i)=>{\"use strict\";var a=i(41505),u=Function.prototype,_=u.call,w=a&&u.bind.bind(_,_);s.exports=a?w:function(s){return function(){return _.apply(s,arguments)}}},2205:function(s,o,i){var a;a=void 0!==i.g?i.g:this,s.exports=function(s){if(s.CSS&&s.CSS.escape)return s.CSS.escape;var cssEscape=function(s){if(0==arguments.length)throw new TypeError(\"`CSS.escape` requires an argument.\");for(var o,i=String(s),a=i.length,u=-1,_=\"\",w=i.charCodeAt(0);++u<a;)0!=(o=i.charCodeAt(u))?_+=o>=1&&o<=31||127==o||0==u&&o>=48&&o<=57||1==u&&o>=48&&o<=57&&45==w?\"\\\\\"+o.toString(16)+\" \":0==u&&1==a&&45==o||!(o>=128||45==o||95==o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122)?\"\\\\\"+i.charAt(u):i.charAt(u):_+=\"�\";return _};return s.CSS||(s.CSS={}),s.CSS.escape=cssEscape,cssEscape}(a)},2209:(s,o,i)=>{\"use strict\";var a,u=i(9404),_=function productionTypeChecker(){invariant(!1,\"ImmutablePropTypes type checking code is stripped in production.\")};_.isRequired=_;var w=function getProductionTypeChecker(){return _};function getPropType(s){var o=typeof s;return Array.isArray(s)?\"array\":s instanceof RegExp?\"object\":s instanceof u.Iterable?\"Immutable.\"+s.toSource().split(\" \")[0]:o}function createChainableTypeChecker(s){function checkType(o,i,a,u,_,w){for(var x=arguments.length,C=Array(x>6?x-6:0),j=6;j<x;j++)C[j-6]=arguments[j];return w=w||a,u=u||\"<<anonymous>>\",null!=i[a]?s.apply(void 0,[i,a,u,_,w].concat(C)):o?new Error(\"Required \"+_+\" `\"+w+\"` was not specified in `\"+u+\"`.\"):void 0}var o=checkType.bind(null,!1);return o.isRequired=checkType.bind(null,!0),o}function createIterableSubclassTypeChecker(s,o){return function createImmutableTypeChecker(s,o){return createChainableTypeChecker((function validate(i,a,u,_,w){var x=i[a];if(!o(x)){var C=getPropType(x);return new Error(\"Invalid \"+_+\" `\"+w+\"` of type `\"+C+\"` supplied to `\"+u+\"`, expected `\"+s+\"`.\")}return null}))}(\"Iterable.\"+s,(function(s){return u.Iterable.isIterable(s)&&o(s)}))}(a={listOf:w,mapOf:w,orderedMapOf:w,setOf:w,orderedSetOf:w,stackOf:w,iterableOf:w,recordOf:w,shape:w,contains:w,mapContains:w,orderedMapContains:w,list:_,map:_,orderedMap:_,set:_,orderedSet:_,stack:_,seq:_,record:_,iterable:_}).iterable.indexed=createIterableSubclassTypeChecker(\"Indexed\",u.Iterable.isIndexed),a.iterable.keyed=createIterableSubclassTypeChecker(\"Keyed\",u.Iterable.isKeyed),s.exports=a},2404:(s,o,i)=>{var a=i(60270);s.exports=function isEqual(s,o){return a(s,o)}},2523:s=>{s.exports=function baseFindIndex(s,o,i,a){for(var u=s.length,_=i+(a?1:-1);a?_--:++_<u;)if(o(s[_],_,s))return _;return-1}},2532:(s,o,i)=>{\"use strict\";var a=i(45951),u=Object.defineProperty;s.exports=function(s,o){try{u(a,s,{value:o,configurable:!0,writable:!0})}catch(i){a[s]=o}return o}},2694:(s,o,i)=>{\"use strict\";var a=i(6925);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,s.exports=function(){function shim(s,o,i,u,_,w){if(w!==a){var x=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw x.name=\"Invariant Violation\",x}}function getShim(){return shim}shim.isRequired=shim;var s={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return s.PropTypes=s,s}},2874:s=>{s.exports={}},2875:(s,o,i)=>{\"use strict\";var a=i(23045),u=i(80376);s.exports=Object.keys||function keys(s){return a(s,u)}},2955:(s,o,i)=>{\"use strict\";var a,u=i(65606);function _defineProperty(s,o,i){return(o=function _toPropertyKey(s){var o=function _toPrimitive(s,o){if(\"object\"!=typeof s||null===s)return s;var i=s[Symbol.toPrimitive];if(void 0!==i){var a=i.call(s,o||\"default\");if(\"object\"!=typeof a)return a;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===o?String:Number)(s)}(s,\"string\");return\"symbol\"==typeof o?o:String(o)}(o))in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}var _=i(86238),w=Symbol(\"lastResolve\"),x=Symbol(\"lastReject\"),C=Symbol(\"error\"),j=Symbol(\"ended\"),L=Symbol(\"lastPromise\"),B=Symbol(\"handlePromise\"),$=Symbol(\"stream\");function createIterResult(s,o){return{value:s,done:o}}function readAndResolve(s){var o=s[w];if(null!==o){var i=s[$].read();null!==i&&(s[L]=null,s[w]=null,s[x]=null,o(createIterResult(i,!1)))}}function onReadable(s){u.nextTick(readAndResolve,s)}var U=Object.getPrototypeOf((function(){})),V=Object.setPrototypeOf((_defineProperty(a={get stream(){return this[$]},next:function next(){var s=this,o=this[C];if(null!==o)return Promise.reject(o);if(this[j])return Promise.resolve(createIterResult(void 0,!0));if(this[$].destroyed)return new Promise((function(o,i){u.nextTick((function(){s[C]?i(s[C]):o(createIterResult(void 0,!0))}))}));var i,a=this[L];if(a)i=new Promise(function wrapForNext(s,o){return function(i,a){s.then((function(){o[j]?i(createIterResult(void 0,!0)):o[B](i,a)}),a)}}(a,this));else{var _=this[$].read();if(null!==_)return Promise.resolve(createIterResult(_,!1));i=new Promise(this[B])}return this[L]=i,i}},Symbol.asyncIterator,(function(){return this})),_defineProperty(a,\"return\",(function _return(){var s=this;return new Promise((function(o,i){s[$].destroy(null,(function(s){s?i(s):o(createIterResult(void 0,!0))}))}))})),a),U);s.exports=function createReadableStreamAsyncIterator(s){var o,i=Object.create(V,(_defineProperty(o={},$,{value:s,writable:!0}),_defineProperty(o,w,{value:null,writable:!0}),_defineProperty(o,x,{value:null,writable:!0}),_defineProperty(o,C,{value:null,writable:!0}),_defineProperty(o,j,{value:s._readableState.endEmitted,writable:!0}),_defineProperty(o,B,{value:function value(s,o){var a=i[$].read();a?(i[L]=null,i[w]=null,i[x]=null,s(createIterResult(a,!1))):(i[w]=s,i[x]=o)},writable:!0}),o));return i[L]=null,_(s,(function(s){if(s&&\"ERR_STREAM_PREMATURE_CLOSE\"!==s.code){var o=i[x];return null!==o&&(i[L]=null,i[w]=null,i[x]=null,o(s)),void(i[C]=s)}var a=i[w];null!==a&&(i[L]=null,i[w]=null,i[x]=null,a(createIterResult(void 0,!0))),i[j]=!0})),s.on(\"readable\",onReadable.bind(null,i)),i}},3110:(s,o,i)=>{const a=i(5187),u=i(85015),_=i(98023),w=i(53812),x=i(23805),C=i(85105),j=i(86804);class Namespace{constructor(s){this.elementMap={},this.elementDetection=[],this.Element=j.Element,this.KeyValuePair=j.KeyValuePair,s&&s.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(s){return s.namespace&&s.namespace({base:this}),s.load&&s.load({base:this}),this}useDefault(){return this.register(\"null\",j.NullElement).register(\"string\",j.StringElement).register(\"number\",j.NumberElement).register(\"boolean\",j.BooleanElement).register(\"array\",j.ArrayElement).register(\"object\",j.ObjectElement).register(\"member\",j.MemberElement).register(\"ref\",j.RefElement).register(\"link\",j.LinkElement),this.detect(a,j.NullElement,!1).detect(u,j.StringElement,!1).detect(_,j.NumberElement,!1).detect(w,j.BooleanElement,!1).detect(Array.isArray,j.ArrayElement,!1).detect(x,j.ObjectElement,!1),this}register(s,o){return this._elements=void 0,this.elementMap[s]=o,this}unregister(s){return this._elements=void 0,delete this.elementMap[s],this}detect(s,o,i){return void 0===i||i?this.elementDetection.unshift([s,o]):this.elementDetection.push([s,o]),this}toElement(s){if(s instanceof this.Element)return s;let o;for(let i=0;i<this.elementDetection.length;i+=1){const a=this.elementDetection[i][0],u=this.elementDetection[i][1];if(a(s)){o=new u(s);break}}return o}getElementClass(s){const o=this.elementMap[s];return void 0===o?this.Element:o}fromRefract(s){return this.serialiser.deserialise(s)}toRefract(s){return this.serialiser.serialise(s)}get elements(){return void 0===this._elements&&(this._elements={Element:this.Element},Object.keys(this.elementMap).forEach((s=>{const o=s[0].toUpperCase()+s.substr(1);this._elements[o]=this.elementMap[s]}))),this._elements}get serialiser(){return new C(this)}}C.prototype.Namespace=Namespace,s.exports=Namespace},3121:(s,o,i)=>{\"use strict\";var a=i(65482),u=Math.min;s.exports=function(s){var o=a(s);return o>0?u(o,9007199254740991):0}},3209:(s,o,i)=>{var a=i(91596),u=i(53320),_=i(36306),w=\"__lodash_placeholder__\",x=128,C=Math.min;s.exports=function mergeData(s,o){var i=s[1],j=o[1],L=i|j,B=L<131,$=j==x&&8==i||j==x&&256==i&&s[7].length<=o[8]||384==j&&o[7].length<=o[8]&&8==i;if(!B&&!$)return s;1&j&&(s[2]=o[2],L|=1&i?0:4);var U=o[3];if(U){var V=s[3];s[3]=V?a(V,U,o[4]):U,s[4]=V?_(s[3],w):o[4]}return(U=o[5])&&(V=s[5],s[5]=V?u(V,U,o[6]):U,s[6]=V?_(s[5],w):o[6]),(U=o[7])&&(s[7]=U),j&x&&(s[8]=null==s[8]?o[8]:C(s[8],o[8])),null==s[9]&&(s[9]=o[9]),s[0]=o[0],s[1]=L,s}},3650:(s,o,i)=>{var a=i(74335)(Object.keys,Object);s.exports=a},3656:(s,o,i)=>{s=i.nmd(s);var a=i(9325),u=i(89935),_=o&&!o.nodeType&&o,w=_&&s&&!s.nodeType&&s,x=w&&w.exports===_?a.Buffer:void 0,C=(x?x.isBuffer:void 0)||u;s.exports=C},4509:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheHas(s){return a(this,s).has(s)}},4640:s=>{\"use strict\";var o=String;s.exports=function(s){try{return o(s)}catch(s){return\"Object\"}}},4664:(s,o,i)=>{var a=i(79770),u=i(63345),_=Object.prototype.propertyIsEnumerable,w=Object.getOwnPropertySymbols,x=w?function(s){return null==s?[]:(s=Object(s),a(w(s),(function(o){return _.call(s,o)})))}:u;s.exports=x},4901:(s,o,i)=>{var a=i(72552),u=i(30294),_=i(40346),w={};w[\"[object Float32Array]\"]=w[\"[object Float64Array]\"]=w[\"[object Int8Array]\"]=w[\"[object Int16Array]\"]=w[\"[object Int32Array]\"]=w[\"[object Uint8Array]\"]=w[\"[object Uint8ClampedArray]\"]=w[\"[object Uint16Array]\"]=w[\"[object Uint32Array]\"]=!0,w[\"[object Arguments]\"]=w[\"[object Array]\"]=w[\"[object ArrayBuffer]\"]=w[\"[object Boolean]\"]=w[\"[object DataView]\"]=w[\"[object Date]\"]=w[\"[object Error]\"]=w[\"[object Function]\"]=w[\"[object Map]\"]=w[\"[object Number]\"]=w[\"[object Object]\"]=w[\"[object RegExp]\"]=w[\"[object Set]\"]=w[\"[object String]\"]=w[\"[object WeakMap]\"]=!1,s.exports=function baseIsTypedArray(s){return _(s)&&u(s.length)&&!!w[a(s)]}},4993:(s,o,i)=>{\"use strict\";var a=i(16946),u=i(74239);s.exports=function(s){return a(u(s))}},5187:s=>{s.exports=function isNull(s){return null===s}},5419:s=>{s.exports=function(s,o,i,a){var u=new Blob(void 0!==a?[a,s]:[s],{type:i||\"application/octet-stream\"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(u,o);else{var _=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(u):window.webkitURL.createObjectURL(u),w=document.createElement(\"a\");w.style.display=\"none\",w.href=_,w.setAttribute(\"download\",o),void 0===w.download&&w.setAttribute(\"target\",\"_blank\"),document.body.appendChild(w),w.click(),setTimeout((function(){document.body.removeChild(w),window.URL.revokeObjectURL(_)}),200)}}},5556:(s,o,i)=>{s.exports=i(2694)()},5861:(s,o,i)=>{var a=i(55580),u=i(68223),_=i(32804),w=i(76545),x=i(28303),C=i(72552),j=i(47473),L=\"[object Map]\",B=\"[object Promise]\",$=\"[object Set]\",U=\"[object WeakMap]\",V=\"[object DataView]\",z=j(a),Y=j(u),Z=j(_),ee=j(w),ie=j(x),ae=C;(a&&ae(new a(new ArrayBuffer(1)))!=V||u&&ae(new u)!=L||_&&ae(_.resolve())!=B||w&&ae(new w)!=$||x&&ae(new x)!=U)&&(ae=function(s){var o=C(s),i=\"[object Object]\"==o?s.constructor:void 0,a=i?j(i):\"\";if(a)switch(a){case z:return V;case Y:return L;case Z:return B;case ee:return $;case ie:return U}return o}),s.exports=ae},6048:s=>{s.exports=function negate(s){if(\"function\"!=typeof s)throw new TypeError(\"Expected a function\");return function(){var o=arguments;switch(o.length){case 0:return!s.call(this);case 1:return!s.call(this,o[0]);case 2:return!s.call(this,o[0],o[1]);case 3:return!s.call(this,o[0],o[1],o[2])}return!s.apply(this,o)}}},6188:s=>{\"use strict\";s.exports=Math.max},6205:s=>{s.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},6233:(s,o,i)=>{const a=i(6048),u=i(10316),_=i(92340);class ArrayElement extends u{constructor(s,o,i){super(s||[],o,i),this.element=\"array\"}primitive(){return\"array\"}get(s){return this.content[s]}getValue(s){const o=this.get(s);if(o)return o.toValue()}getIndex(s){return this.content[s]}set(s,o){return this.content[s]=this.refract(o),this}remove(s){const o=this.content.splice(s,1);return o.length?o[0]:null}map(s,o){return this.content.map(s,o)}flatMap(s,o){return this.map(s,o).reduce(((s,o)=>s.concat(o)),[])}compactMap(s,o){const i=[];return this.forEach((a=>{const u=s.bind(o)(a);u&&i.push(u)})),i}filter(s,o){return new _(this.content.filter(s,o))}reject(s,o){return this.filter(a(s),o)}reduce(s,o){let i,a;void 0!==o?(i=0,a=this.refract(o)):(i=1,a=\"object\"===this.primitive()?this.first.value:this.first);for(let o=i;o<this.length;o+=1){const i=this.content[o];a=\"object\"===this.primitive()?this.refract(s(a,i.value,i.key,i,this)):this.refract(s(a,i,o,this))}return a}forEach(s,o){this.content.forEach(((i,a)=>{s.bind(o)(i,this.refract(a))}))}shift(){return this.content.shift()}unshift(s){this.content.unshift(this.refract(s))}push(s){return this.content.push(this.refract(s)),this}add(s){this.push(s)}findElements(s,o){const i=o||{},a=!!i.recursive,u=void 0===i.results?[]:i.results;return this.forEach(((o,i,_)=>{a&&void 0!==o.findElements&&o.findElements(s,{results:u,recursive:a}),s(o,i,_)&&u.push(o)})),u}find(s){return new _(this.findElements(s,{recursive:!0}))}findByElement(s){return this.find((o=>o.element===s))}findByClass(s){return this.find((o=>o.classes.includes(s)))}getById(s){return this.find((o=>o.id.toValue()===s)).first}includes(s){return this.content.some((o=>o.equals(s)))}contains(s){return this.includes(s)}empty(){return new this.constructor([])}\"fantasy-land/empty\"(){return this.empty()}concat(s){return new this.constructor(this.content.concat(s.content))}\"fantasy-land/concat\"(s){return this.concat(s)}\"fantasy-land/map\"(s){return new this.constructor(this.map(s))}\"fantasy-land/chain\"(s){return this.map((o=>s(o)),this).reduce(((s,o)=>s.concat(o)),this.empty())}\"fantasy-land/filter\"(s){return new this.constructor(this.content.filter(s))}\"fantasy-land/reduce\"(s,o){return this.content.reduce(s,o)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement[\"fantasy-land/empty\"]=ArrayElement.empty,\"undefined\"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),s.exports=ArrayElement},6499:(s,o,i)=>{\"use strict\";var a=i(1907),u=0,_=Math.random(),w=a(1..toString);s.exports=function(s){return\"Symbol(\"+(void 0===s?\"\":s)+\")_\"+w(++u+_,36)}},6549:s=>{\"use strict\";s.exports=Object.getOwnPropertyDescriptor},6925:s=>{\"use strict\";s.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},7057:(s,o,i)=>{\"use strict\";var a=i(11470).charAt,u=i(90160),_=i(64932),w=i(60183),x=i(59550),C=\"String Iterator\",j=_.set,L=_.getterFor(C);w(String,\"String\",(function(s){j(this,{type:C,string:u(s),index:0})}),(function next(){var s,o=L(this),i=o.string,u=o.index;return u>=i.length?x(void 0,!0):(s=a(i,u),o.index+=s.length,x(s,!1))}))},7176:(s,o,i)=>{\"use strict\";var a,u=i(73126),_=i(75795);try{a=[].__proto__===Array.prototype}catch(s){if(!s||\"object\"!=typeof s||!(\"code\"in s)||\"ERR_PROTO_ACCESS\"!==s.code)throw s}var w=!!a&&_&&_(Object.prototype,\"__proto__\"),x=Object,C=x.getPrototypeOf;s.exports=w&&\"function\"==typeof w.get?u([w.get]):\"function\"==typeof C&&function getDunder(s){return C(null==s?s:x(s))}},7309:(s,o,i)=>{var a=i(62006)(i(24713));s.exports=a},7376:s=>{\"use strict\";s.exports=!0},7463:(s,o,i)=>{\"use strict\";var a=i(98828),u=i(62250),_=/#|\\.prototype\\./,isForced=function(s,o){var i=x[w(s)];return i===j||i!==C&&(u(o)?a(o):!!o)},w=isForced.normalize=function(s){return String(s).replace(_,\".\").toLowerCase()},x=isForced.data={},C=isForced.NATIVE=\"N\",j=isForced.POLYFILL=\"P\";s.exports=isForced},7666:(s,o,i)=>{var a=i(84851),u=i(953);function _extends(){var o;return s.exports=_extends=a?u(o=a).call(o):function(s){for(var o=1;o<arguments.length;o++){var i=arguments[o];for(var a in i)({}).hasOwnProperty.call(i,a)&&(s[a]=i[a])}return s},s.exports.__esModule=!0,s.exports.default=s.exports,_extends.apply(null,arguments)}s.exports=_extends,s.exports.__esModule=!0,s.exports.default=s.exports},8048:(s,o,i)=>{const a=i(6205);o.wordBoundary=()=>({type:a.POSITION,value:\"b\"}),o.nonWordBoundary=()=>({type:a.POSITION,value:\"B\"}),o.begin=()=>({type:a.POSITION,value:\"^\"}),o.end=()=>({type:a.POSITION,value:\"$\"})},8068:s=>{\"use strict\";var o=(()=>{var s=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,i,a)=>i in o?s(o,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[i]=a,__spreadValues=(s,o)=>{for(var i in o||(o={}))u.call(o,i)&&__defNormalProp(s,i,o[i]);if(a)for(var i of a(o))_.call(o,i)&&__defNormalProp(s,i,o[i]);return s},__publicField=(s,o,i)=>__defNormalProp(s,\"symbol\"!=typeof o?o+\"\":o,i),w={};((o,i)=>{for(var a in i)s(o,a,{get:i[a],enumerable:!0})})(w,{DEFAULT_OPTIONS:()=>C,DEFAULT_UUID_LENGTH:()=>x,default:()=>B});var x=6,C={dictionary:\"alphanum\",shuffle:!0,debug:!1,length:x,counter:0},j=class _ShortUniqueId{constructor(s={}){__publicField(this,\"counter\"),__publicField(this,\"debug\"),__publicField(this,\"dict\"),__publicField(this,\"version\"),__publicField(this,\"dictIndex\",0),__publicField(this,\"dictRange\",[]),__publicField(this,\"lowerBound\",0),__publicField(this,\"upperBound\",0),__publicField(this,\"dictLength\",0),__publicField(this,\"uuidLength\"),__publicField(this,\"_digit_first_ascii\",48),__publicField(this,\"_digit_last_ascii\",58),__publicField(this,\"_alpha_lower_first_ascii\",97),__publicField(this,\"_alpha_lower_last_ascii\",123),__publicField(this,\"_hex_last_ascii\",103),__publicField(this,\"_alpha_upper_first_ascii\",65),__publicField(this,\"_alpha_upper_last_ascii\",91),__publicField(this,\"_number_dict_ranges\",{digits:[this._digit_first_ascii,this._digit_last_ascii]}),__publicField(this,\"_alpha_dict_ranges\",{lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,\"_alpha_lower_dict_ranges\",{lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]}),__publicField(this,\"_alpha_upper_dict_ranges\",{upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,\"_alphanum_dict_ranges\",{digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,\"_alphanum_lower_dict_ranges\",{digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]}),__publicField(this,\"_alphanum_upper_dict_ranges\",{digits:[this._digit_first_ascii,this._digit_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,\"_hex_dict_ranges\",{decDigits:[this._digit_first_ascii,this._digit_last_ascii],alphaDigits:[this._alpha_lower_first_ascii,this._hex_last_ascii]}),__publicField(this,\"_dict_ranges\",{_number_dict_ranges:this._number_dict_ranges,_alpha_dict_ranges:this._alpha_dict_ranges,_alpha_lower_dict_ranges:this._alpha_lower_dict_ranges,_alpha_upper_dict_ranges:this._alpha_upper_dict_ranges,_alphanum_dict_ranges:this._alphanum_dict_ranges,_alphanum_lower_dict_ranges:this._alphanum_lower_dict_ranges,_alphanum_upper_dict_ranges:this._alphanum_upper_dict_ranges,_hex_dict_ranges:this._hex_dict_ranges}),__publicField(this,\"log\",((...s)=>{const o=[...s];o[0]=\"[short-unique-id] \".concat(s[0]),!0!==this.debug||\"undefined\"==typeof console||null===console||console.log(...o)})),__publicField(this,\"_normalizeDictionary\",((s,o)=>{let i;if(s&&Array.isArray(s)&&s.length>1)i=s;else{i=[],this.dictIndex=0;const o=\"_\".concat(s,\"_dict_ranges\"),a=this._dict_ranges[o];let u=0;for(const[,s]of Object.entries(a)){const[o,i]=s;u+=Math.abs(i-o)}i=new Array(u);let _=0;for(const[,s]of Object.entries(a)){this.dictRange=s,this.lowerBound=this.dictRange[0],this.upperBound=this.dictRange[1];const o=this.lowerBound<=this.upperBound,a=this.lowerBound,u=this.upperBound;if(o)for(let s=a;s<u;s++)i[_++]=String.fromCharCode(s),this.dictIndex=s;else for(let s=a;s>u;s--)i[_++]=String.fromCharCode(s),this.dictIndex=s}i.length=_}if(o){for(let s=i.length-1;s>0;s--){const o=Math.floor(Math.random()*(s+1));[i[s],i[o]]=[i[o],i[s]]}}return i})),__publicField(this,\"setDictionary\",((s,o)=>{this.dict=this._normalizeDictionary(s,o),this.dictLength=this.dict.length,this.setCounter(0)})),__publicField(this,\"seq\",(()=>this.sequentialUUID())),__publicField(this,\"sequentialUUID\",(()=>{const s=this.dictLength,o=this.dict;let i=this.counter;const a=[];do{const u=i%s;i=Math.trunc(i/s),a.push(o[u])}while(0!==i);const u=a.join(\"\");return this.counter+=1,u})),__publicField(this,\"rnd\",((s=this.uuidLength||x)=>this.randomUUID(s))),__publicField(this,\"randomUUID\",((s=this.uuidLength||x)=>{if(null==s||s<1)throw new Error(\"Invalid UUID Length Provided\");const o=new Array(s),i=this.dictLength,a=this.dict;for(let u=0;u<s;u++){const s=Math.floor(Math.random()*i);o[u]=a[s]}return o.join(\"\")})),__publicField(this,\"fmt\",((s,o)=>this.formattedUUID(s,o))),__publicField(this,\"formattedUUID\",((s,o)=>{const i={$r:this.randomUUID,$s:this.sequentialUUID,$t:this.stamp};return s.replace(/\\$[rs]\\d{0,}|\\$t0|\\$t[1-9]\\d{1,}/g,(s=>{const a=s.slice(0,2),u=Number.parseInt(s.slice(2),10);return\"$s\"===a?i[a]().padStart(u,\"0\"):\"$t\"===a&&o?i[a](u,o):i[a](u)}))})),__publicField(this,\"availableUUIDs\",((s=this.uuidLength)=>Number.parseFloat(([...new Set(this.dict)].length**s).toFixed(0)))),__publicField(this,\"_collisionCache\",new Map),__publicField(this,\"approxMaxBeforeCollision\",((s=this.availableUUIDs(this.uuidLength))=>{const o=s,i=this._collisionCache.get(o);if(void 0!==i)return i;const a=Number.parseFloat(Math.sqrt(Math.PI/2*s).toFixed(20));return this._collisionCache.set(o,a),a})),__publicField(this,\"collisionProbability\",((s=this.availableUUIDs(this.uuidLength),o=this.uuidLength)=>Number.parseFloat((this.approxMaxBeforeCollision(s)/this.availableUUIDs(o)).toFixed(20)))),__publicField(this,\"uniqueness\",((s=this.availableUUIDs(this.uuidLength))=>{const o=Number.parseFloat((1-this.approxMaxBeforeCollision(s)/s).toFixed(20));return o>1?1:o<0?0:o})),__publicField(this,\"getVersion\",(()=>this.version)),__publicField(this,\"stamp\",((s,o)=>{const i=Math.floor(+(o||new Date)/1e3).toString(16);if(\"number\"==typeof s&&0===s)return i;if(\"number\"!=typeof s||s<10)throw new Error([\"Param finalLength must be a number greater than or equal to 10,\",\"or 0 if you want the raw hexadecimal timestamp\"].join(\"\\n\"));const a=s-9,u=Math.round(Math.random()*(a>15?15:a)),_=this.randomUUID(a);return\"\".concat(_.substring(0,u)).concat(i).concat(_.substring(u)).concat(u.toString(16))})),__publicField(this,\"parseStamp\",((s,o)=>{if(o&&!/t0|t[1-9]\\d{1,}/.test(o))throw new Error(\"Cannot extract date from a formated UUID with no timestamp in the format\");const i=o?o.replace(/\\$[rs]\\d{0,}|\\$t0|\\$t[1-9]\\d{1,}/g,(s=>{const o={$r:s=>[...Array(s)].map((()=>\"r\")).join(\"\"),$s:s=>[...Array(s)].map((()=>\"s\")).join(\"\"),$t:s=>[...Array(s)].map((()=>\"t\")).join(\"\")},i=s.slice(0,2),a=Number.parseInt(s.slice(2),10);return o[i](a)})).replace(/^(.*?)(t{8,})(.*)$/g,((o,i,a)=>s.substring(i.length,i.length+a.length))):s;if(8===i.length)return new Date(1e3*Number.parseInt(i,16));if(i.length<10)throw new Error(\"Stamp length invalid\");const a=Number.parseInt(i.substring(i.length-1),16);return new Date(1e3*Number.parseInt(i.substring(a,a+8),16))})),__publicField(this,\"setCounter\",(s=>{this.counter=s})),__publicField(this,\"validate\",((s,o)=>{const i=o?this._normalizeDictionary(o):this.dict;return s.split(\"\").every((s=>i.includes(s)))}));const o=__spreadValues(__spreadValues({},C),s);this.counter=0,this.debug=!1,this.dict=[],this.version=\"5.3.2\";const{dictionary:i,shuffle:a,length:u,counter:_}=o;this.uuidLength=u,this.setDictionary(i,a),this.setCounter(_),this.debug=o.debug,this.log(this.dict),this.log(\"Generator instantiated with Dictionary Size \".concat(this.dictLength,\" and counter set to \").concat(this.counter)),this.log=this.log.bind(this),this.setDictionary=this.setDictionary.bind(this),this.setCounter=this.setCounter.bind(this),this.seq=this.seq.bind(this),this.sequentialUUID=this.sequentialUUID.bind(this),this.rnd=this.rnd.bind(this),this.randomUUID=this.randomUUID.bind(this),this.fmt=this.fmt.bind(this),this.formattedUUID=this.formattedUUID.bind(this),this.availableUUIDs=this.availableUUIDs.bind(this),this.approxMaxBeforeCollision=this.approxMaxBeforeCollision.bind(this),this.collisionProbability=this.collisionProbability.bind(this),this.uniqueness=this.uniqueness.bind(this),this.getVersion=this.getVersion.bind(this),this.stamp=this.stamp.bind(this),this.parseStamp=this.parseStamp.bind(this)}};__publicField(j,\"default\",j);var L,B=j;return L=w,((a,_,w,x)=>{if(_&&\"object\"==typeof _||\"function\"==typeof _)for(let C of i(_))u.call(a,C)||C===w||s(a,C,{get:()=>_[C],enumerable:!(x=o(_,C))||x.enumerable});return a})(s({},\"__esModule\",{value:!0}),L)})();s.exports=o.default,\"undefined\"!=typeof window&&(o=o.default)},9325:(s,o,i)=>{var a=i(34840),u=\"object\"==typeof self&&self&&self.Object===Object&&self,_=a||u||Function(\"return this\")();s.exports=_},9404:function(s){s.exports=function(){\"use strict\";var s=Array.prototype.slice;function createClass(s,o){o&&(s.prototype=Object.create(o.prototype)),s.prototype.constructor=s}function Iterable(s){return isIterable(s)?s:Seq(s)}function KeyedIterable(s){return isKeyed(s)?s:KeyedSeq(s)}function IndexedIterable(s){return isIndexed(s)?s:IndexedSeq(s)}function SetIterable(s){return isIterable(s)&&!isAssociative(s)?s:SetSeq(s)}function isIterable(s){return!(!s||!s[o])}function isKeyed(s){return!(!s||!s[i])}function isIndexed(s){return!(!s||!s[a])}function isAssociative(s){return isKeyed(s)||isIndexed(s)}function isOrdered(s){return!(!s||!s[u])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var o=\"@@__IMMUTABLE_ITERABLE__@@\",i=\"@@__IMMUTABLE_KEYED__@@\",a=\"@@__IMMUTABLE_INDEXED__@@\",u=\"@@__IMMUTABLE_ORDERED__@@\",_=\"delete\",w=5,x=1<<w,C=x-1,j={},L={value:!1},B={value:!1};function MakeRef(s){return s.value=!1,s}function SetRef(s){s&&(s.value=!0)}function OwnerID(){}function arrCopy(s,o){o=o||0;for(var i=Math.max(0,s.length-o),a=new Array(i),u=0;u<i;u++)a[u]=s[u+o];return a}function ensureSize(s){return void 0===s.size&&(s.size=s.__iterate(returnTrue)),s.size}function wrapIndex(s,o){if(\"number\"!=typeof o){var i=o>>>0;if(\"\"+i!==o||4294967295===i)return NaN;o=i}return o<0?ensureSize(s)+o:o}function returnTrue(){return!0}function wholeSlice(s,o,i){return(0===s||void 0!==i&&s<=-i)&&(void 0===o||void 0!==i&&o>=i)}function resolveBegin(s,o){return resolveIndex(s,o,0)}function resolveEnd(s,o){return resolveIndex(s,o,o)}function resolveIndex(s,o,i){return void 0===s?i:s<0?Math.max(0,o+s):void 0===o?s:Math.min(o,s)}var $=0,U=1,V=2,z=\"function\"==typeof Symbol&&Symbol.iterator,Y=\"@@iterator\",Z=z||Y;function Iterator(s){this.next=s}function iteratorValue(s,o,i,a){var u=0===s?o:1===s?i:[o,i];return a?a.value=u:a={value:u,done:!1},a}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(s){return!!getIteratorFn(s)}function isIterator(s){return s&&\"function\"==typeof s.next}function getIterator(s){var o=getIteratorFn(s);return o&&o.call(s)}function getIteratorFn(s){var o=s&&(z&&s[z]||s[Y]);if(\"function\"==typeof o)return o}function isArrayLike(s){return s&&\"number\"==typeof s.length}function Seq(s){return null==s?emptySequence():isIterable(s)?s.toSeq():seqFromValue(s)}function KeyedSeq(s){return null==s?emptySequence().toKeyedSeq():isIterable(s)?isKeyed(s)?s.toSeq():s.fromEntrySeq():keyedSeqFromValue(s)}function IndexedSeq(s){return null==s?emptySequence():isIterable(s)?isKeyed(s)?s.entrySeq():s.toIndexedSeq():indexedSeqFromValue(s)}function SetSeq(s){return(null==s?emptySequence():isIterable(s)?isKeyed(s)?s.entrySeq():s:indexedSeqFromValue(s)).toSetSeq()}Iterator.prototype.toString=function(){return\"[Iterator]\"},Iterator.KEYS=$,Iterator.VALUES=U,Iterator.ENTRIES=V,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[Z]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString(\"Seq {\",\"}\")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(s,o){return seqIterate(this,s,o,!0)},Seq.prototype.__iterator=function(s,o){return seqIterator(this,s,o,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString(\"Seq [\",\"]\")},IndexedSeq.prototype.__iterate=function(s,o){return seqIterate(this,s,o,!1)},IndexedSeq.prototype.__iterator=function(s,o){return seqIterator(this,s,o,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var ee,ie,ae,ce=\"@@__IMMUTABLE_SEQ__@@\";function ArraySeq(s){this._array=s,this.size=s.length}function ObjectSeq(s){var o=Object.keys(s);this._object=s,this._keys=o,this.size=o.length}function IterableSeq(s){this._iterable=s,this.size=s.length||s.size}function IteratorSeq(s){this._iterator=s,this._iteratorCache=[]}function isSeq(s){return!(!s||!s[ce])}function emptySequence(){return ee||(ee=new ArraySeq([]))}function keyedSeqFromValue(s){var o=Array.isArray(s)?new ArraySeq(s).fromEntrySeq():isIterator(s)?new IteratorSeq(s).fromEntrySeq():hasIterator(s)?new IterableSeq(s).fromEntrySeq():\"object\"==typeof s?new ObjectSeq(s):void 0;if(!o)throw new TypeError(\"Expected Array or iterable object of [k, v] entries, or keyed object: \"+s);return o}function indexedSeqFromValue(s){var o=maybeIndexedSeqFromValue(s);if(!o)throw new TypeError(\"Expected Array or iterable object of values: \"+s);return o}function seqFromValue(s){var o=maybeIndexedSeqFromValue(s)||\"object\"==typeof s&&new ObjectSeq(s);if(!o)throw new TypeError(\"Expected Array or iterable object of values, or keyed object: \"+s);return o}function maybeIndexedSeqFromValue(s){return isArrayLike(s)?new ArraySeq(s):isIterator(s)?new IteratorSeq(s):hasIterator(s)?new IterableSeq(s):void 0}function seqIterate(s,o,i,a){var u=s._cache;if(u){for(var _=u.length-1,w=0;w<=_;w++){var x=u[i?_-w:w];if(!1===o(x[1],a?x[0]:w,s))return w+1}return w}return s.__iterateUncached(o,i)}function seqIterator(s,o,i,a){var u=s._cache;if(u){var _=u.length-1,w=0;return new Iterator((function(){var s=u[i?_-w:w];return w++>_?iteratorDone():iteratorValue(o,a?s[0]:w-1,s[1])}))}return s.__iteratorUncached(o,i)}function fromJS(s,o){return o?fromJSWith(o,s,\"\",{\"\":s}):fromJSDefault(s)}function fromJSWith(s,o,i,a){return Array.isArray(o)?s.call(a,i,IndexedSeq(o).map((function(i,a){return fromJSWith(s,i,a,o)}))):isPlainObj(o)?s.call(a,i,KeyedSeq(o).map((function(i,a){return fromJSWith(s,i,a,o)}))):o}function fromJSDefault(s){return Array.isArray(s)?IndexedSeq(s).map(fromJSDefault).toList():isPlainObj(s)?KeyedSeq(s).map(fromJSDefault).toMap():s}function isPlainObj(s){return s&&(s.constructor===Object||void 0===s.constructor)}function is(s,o){if(s===o||s!=s&&o!=o)return!0;if(!s||!o)return!1;if(\"function\"==typeof s.valueOf&&\"function\"==typeof o.valueOf){if((s=s.valueOf())===(o=o.valueOf())||s!=s&&o!=o)return!0;if(!s||!o)return!1}return!(\"function\"!=typeof s.equals||\"function\"!=typeof o.equals||!s.equals(o))}function deepEqual(s,o){if(s===o)return!0;if(!isIterable(o)||void 0!==s.size&&void 0!==o.size&&s.size!==o.size||void 0!==s.__hash&&void 0!==o.__hash&&s.__hash!==o.__hash||isKeyed(s)!==isKeyed(o)||isIndexed(s)!==isIndexed(o)||isOrdered(s)!==isOrdered(o))return!1;if(0===s.size&&0===o.size)return!0;var i=!isAssociative(s);if(isOrdered(s)){var a=s.entries();return o.every((function(s,o){var u=a.next().value;return u&&is(u[1],s)&&(i||is(u[0],o))}))&&a.next().done}var u=!1;if(void 0===s.size)if(void 0===o.size)\"function\"==typeof s.cacheResult&&s.cacheResult();else{u=!0;var _=s;s=o,o=_}var w=!0,x=o.__iterate((function(o,a){if(i?!s.has(o):u?!is(o,s.get(a,j)):!is(s.get(a,j),o))return w=!1,!1}));return w&&s.size===x}function Repeat(s,o){if(!(this instanceof Repeat))return new Repeat(s,o);if(this._value=s,this.size=void 0===o?1/0:Math.max(0,o),0===this.size){if(ie)return ie;ie=this}}function invariant(s,o){if(!s)throw new Error(o)}function Range(s,o,i){if(!(this instanceof Range))return new Range(s,o,i);if(invariant(0!==i,\"Cannot step a Range by 0\"),s=s||0,void 0===o&&(o=1/0),i=void 0===i?1:Math.abs(i),o<s&&(i=-i),this._start=s,this._end=o,this._step=i,this.size=Math.max(0,Math.ceil((o-s)/i-1)+1),0===this.size){if(ae)return ae;ae=this}}function Collection(){throw TypeError(\"Abstract\")}function KeyedCollection(){}function IndexedCollection(){}function SetCollection(){}Seq.prototype[ce]=!0,createClass(ArraySeq,IndexedSeq),ArraySeq.prototype.get=function(s,o){return this.has(s)?this._array[wrapIndex(this,s)]:o},ArraySeq.prototype.__iterate=function(s,o){for(var i=this._array,a=i.length-1,u=0;u<=a;u++)if(!1===s(i[o?a-u:u],u,this))return u+1;return u},ArraySeq.prototype.__iterator=function(s,o){var i=this._array,a=i.length-1,u=0;return new Iterator((function(){return u>a?iteratorDone():iteratorValue(s,u,i[o?a-u++:u++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(s,o){return void 0===o||this.has(s)?this._object[s]:o},ObjectSeq.prototype.has=function(s){return this._object.hasOwnProperty(s)},ObjectSeq.prototype.__iterate=function(s,o){for(var i=this._object,a=this._keys,u=a.length-1,_=0;_<=u;_++){var w=a[o?u-_:_];if(!1===s(i[w],w,this))return _+1}return _},ObjectSeq.prototype.__iterator=function(s,o){var i=this._object,a=this._keys,u=a.length-1,_=0;return new Iterator((function(){var w=a[o?u-_:_];return _++>u?iteratorDone():iteratorValue(s,w,i[w])}))},ObjectSeq.prototype[u]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(s,o){if(o)return this.cacheResult().__iterate(s,o);var i=getIterator(this._iterable),a=0;if(isIterator(i))for(var u;!(u=i.next()).done&&!1!==s(u.value,a++,this););return a},IterableSeq.prototype.__iteratorUncached=function(s,o){if(o)return this.cacheResult().__iterator(s,o);var i=getIterator(this._iterable);if(!isIterator(i))return new Iterator(iteratorDone);var a=0;return new Iterator((function(){var o=i.next();return o.done?o:iteratorValue(s,a++,o.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(s,o){if(o)return this.cacheResult().__iterate(s,o);for(var i,a=this._iterator,u=this._iteratorCache,_=0;_<u.length;)if(!1===s(u[_],_++,this))return _;for(;!(i=a.next()).done;){var w=i.value;if(u[_]=w,!1===s(w,_++,this))break}return _},IteratorSeq.prototype.__iteratorUncached=function(s,o){if(o)return this.cacheResult().__iterator(s,o);var i=this._iterator,a=this._iteratorCache,u=0;return new Iterator((function(){if(u>=a.length){var o=i.next();if(o.done)return o;a[u]=o.value}return iteratorValue(s,u,a[u++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?\"Repeat []\":\"Repeat [ \"+this._value+\" \"+this.size+\" times ]\"},Repeat.prototype.get=function(s,o){return this.has(s)?this._value:o},Repeat.prototype.includes=function(s){return is(this._value,s)},Repeat.prototype.slice=function(s,o){var i=this.size;return wholeSlice(s,o,i)?this:new Repeat(this._value,resolveEnd(o,i)-resolveBegin(s,i))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(s){return is(this._value,s)?0:-1},Repeat.prototype.lastIndexOf=function(s){return is(this._value,s)?this.size:-1},Repeat.prototype.__iterate=function(s,o){for(var i=0;i<this.size;i++)if(!1===s(this._value,i,this))return i+1;return i},Repeat.prototype.__iterator=function(s,o){var i=this,a=0;return new Iterator((function(){return a<i.size?iteratorValue(s,a++,i._value):iteratorDone()}))},Repeat.prototype.equals=function(s){return s instanceof Repeat?is(this._value,s._value):deepEqual(s)},createClass(Range,IndexedSeq),Range.prototype.toString=function(){return 0===this.size?\"Range []\":\"Range [ \"+this._start+\"...\"+this._end+(1!==this._step?\" by \"+this._step:\"\")+\" ]\"},Range.prototype.get=function(s,o){return this.has(s)?this._start+wrapIndex(this,s)*this._step:o},Range.prototype.includes=function(s){var o=(s-this._start)/this._step;return o>=0&&o<this.size&&o===Math.floor(o)},Range.prototype.slice=function(s,o){return wholeSlice(s,o,this.size)?this:(s=resolveBegin(s,this.size),(o=resolveEnd(o,this.size))<=s?new Range(0,0):new Range(this.get(s,this._end),this.get(o,this._end),this._step))},Range.prototype.indexOf=function(s){var o=s-this._start;if(o%this._step==0){var i=o/this._step;if(i>=0&&i<this.size)return i}return-1},Range.prototype.lastIndexOf=function(s){return this.indexOf(s)},Range.prototype.__iterate=function(s,o){for(var i=this.size-1,a=this._step,u=o?this._start+i*a:this._start,_=0;_<=i;_++){if(!1===s(u,_,this))return _+1;u+=o?-a:a}return _},Range.prototype.__iterator=function(s,o){var i=this.size-1,a=this._step,u=o?this._start+i*a:this._start,_=0;return new Iterator((function(){var w=u;return u+=o?-a:a,_>i?iteratorDone():iteratorValue(s,_++,w)}))},Range.prototype.equals=function(s){return s instanceof Range?this._start===s._start&&this._end===s._end&&this._step===s._step:deepEqual(this,s)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var le=\"function\"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(s,o){var i=65535&(s|=0),a=65535&(o|=0);return i*a+((s>>>16)*a+i*(o>>>16)<<16>>>0)|0};function smi(s){return s>>>1&1073741824|3221225471&s}function hash(s){if(!1===s||null==s)return 0;if(\"function\"==typeof s.valueOf&&(!1===(s=s.valueOf())||null==s))return 0;if(!0===s)return 1;var o=typeof s;if(\"number\"===o){if(s!=s||s===1/0)return 0;var i=0|s;for(i!==s&&(i^=4294967295*s);s>4294967295;)i^=s/=4294967295;return smi(i)}if(\"string\"===o)return s.length>Se?cachedHashString(s):hashString(s);if(\"function\"==typeof s.hashCode)return s.hashCode();if(\"object\"===o)return hashJSObj(s);if(\"function\"==typeof s.toString)return hashString(s.toString());throw new Error(\"Value type \"+o+\" cannot be hashed.\")}function cachedHashString(s){var o=Pe[s];return void 0===o&&(o=hashString(s),xe===we&&(xe=0,Pe={}),xe++,Pe[s]=o),o}function hashString(s){for(var o=0,i=0;i<s.length;i++)o=31*o+s.charCodeAt(i)|0;return smi(o)}function hashJSObj(s){var o;if(ye&&void 0!==(o=fe.get(s)))return o;if(void 0!==(o=s[_e]))return o;if(!de){if(void 0!==(o=s.propertyIsEnumerable&&s.propertyIsEnumerable[_e]))return o;if(void 0!==(o=getIENodeHash(s)))return o}if(o=++be,1073741824&be&&(be=0),ye)fe.set(s,o);else{if(void 0!==pe&&!1===pe(s))throw new Error(\"Non-extensible objects are not allowed as keys.\");if(de)Object.defineProperty(s,_e,{enumerable:!1,configurable:!1,writable:!1,value:o});else if(void 0!==s.propertyIsEnumerable&&s.propertyIsEnumerable===s.constructor.prototype.propertyIsEnumerable)s.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},s.propertyIsEnumerable[_e]=o;else{if(void 0===s.nodeType)throw new Error(\"Unable to set a non-enumerable property on object.\");s[_e]=o}}return o}var pe=Object.isExtensible,de=function(){try{return Object.defineProperty({},\"@\",{}),!0}catch(s){return!1}}();function getIENodeHash(s){if(s&&s.nodeType>0)switch(s.nodeType){case 1:return s.uniqueID;case 9:return s.documentElement&&s.documentElement.uniqueID}}var fe,ye=\"function\"==typeof WeakMap;ye&&(fe=new WeakMap);var be=0,_e=\"__immutablehash__\";\"function\"==typeof Symbol&&(_e=Symbol(_e));var Se=16,we=255,xe=0,Pe={};function assertNotInfinite(s){invariant(s!==1/0,\"Cannot perform this action with an infinite size.\")}function Map(s){return null==s?emptyMap():isMap(s)&&!isOrdered(s)?s:emptyMap().withMutations((function(o){var i=KeyedIterable(s);assertNotInfinite(i.size),i.forEach((function(s,i){return o.set(i,s)}))}))}function isMap(s){return!(!s||!s[Re])}createClass(Map,KeyedCollection),Map.of=function(){var o=s.call(arguments,0);return emptyMap().withMutations((function(s){for(var i=0;i<o.length;i+=2){if(i+1>=o.length)throw new Error(\"Missing value for key: \"+o[i]);s.set(o[i],o[i+1])}}))},Map.prototype.toString=function(){return this.__toString(\"Map {\",\"}\")},Map.prototype.get=function(s,o){return this._root?this._root.get(0,void 0,s,o):o},Map.prototype.set=function(s,o){return updateMap(this,s,o)},Map.prototype.setIn=function(s,o){return this.updateIn(s,j,(function(){return o}))},Map.prototype.remove=function(s){return updateMap(this,s,j)},Map.prototype.deleteIn=function(s){return this.updateIn(s,(function(){return j}))},Map.prototype.update=function(s,o,i){return 1===arguments.length?s(this):this.updateIn([s],o,i)},Map.prototype.updateIn=function(s,o,i){i||(i=o,o=void 0);var a=updateInDeepMap(this,forceIterator(s),o,i);return a===j?void 0:a},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(o){return mergeIntoMapWith(this,o,s.call(arguments,1))},Map.prototype.mergeIn=function(o){var i=s.call(arguments,1);return this.updateIn(o,emptyMap(),(function(s){return\"function\"==typeof s.merge?s.merge.apply(s,i):i[i.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(o){var i=s.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(o),i)},Map.prototype.mergeDeepIn=function(o){var i=s.call(arguments,1);return this.updateIn(o,emptyMap(),(function(s){return\"function\"==typeof s.mergeDeep?s.mergeDeep.apply(s,i):i[i.length-1]}))},Map.prototype.sort=function(s){return OrderedMap(sortFactory(this,s))},Map.prototype.sortBy=function(s,o){return OrderedMap(sortFactory(this,o,s))},Map.prototype.withMutations=function(s){var o=this.asMutable();return s(o),o.wasAltered()?o.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(s,o){return new MapIterator(this,s,o)},Map.prototype.__iterate=function(s,o){var i=this,a=0;return this._root&&this._root.iterate((function(o){return a++,s(o[1],o[0],i)}),o),a},Map.prototype.__ensureOwner=function(s){return s===this.__ownerID?this:s?makeMap(this.size,this._root,s,this.__hash):(this.__ownerID=s,this.__altered=!1,this)},Map.isMap=isMap;var Te,Re=\"@@__IMMUTABLE_MAP__@@\",$e=Map.prototype;function ArrayMapNode(s,o){this.ownerID=s,this.entries=o}function BitmapIndexedNode(s,o,i){this.ownerID=s,this.bitmap=o,this.nodes=i}function HashArrayMapNode(s,o,i){this.ownerID=s,this.count=o,this.nodes=i}function HashCollisionNode(s,o,i){this.ownerID=s,this.keyHash=o,this.entries=i}function ValueNode(s,o,i){this.ownerID=s,this.keyHash=o,this.entry=i}function MapIterator(s,o,i){this._type=o,this._reverse=i,this._stack=s._root&&mapIteratorFrame(s._root)}function mapIteratorValue(s,o){return iteratorValue(s,o[0],o[1])}function mapIteratorFrame(s,o){return{node:s,index:0,__prev:o}}function makeMap(s,o,i,a){var u=Object.create($e);return u.size=s,u._root=o,u.__ownerID=i,u.__hash=a,u.__altered=!1,u}function emptyMap(){return Te||(Te=makeMap(0))}function updateMap(s,o,i){var a,u;if(s._root){var _=MakeRef(L),w=MakeRef(B);if(a=updateNode(s._root,s.__ownerID,0,void 0,o,i,_,w),!w.value)return s;u=s.size+(_.value?i===j?-1:1:0)}else{if(i===j)return s;u=1,a=new ArrayMapNode(s.__ownerID,[[o,i]])}return s.__ownerID?(s.size=u,s._root=a,s.__hash=void 0,s.__altered=!0,s):a?makeMap(u,a):emptyMap()}function updateNode(s,o,i,a,u,_,w,x){return s?s.update(o,i,a,u,_,w,x):_===j?s:(SetRef(x),SetRef(w),new ValueNode(o,a,[u,_]))}function isLeafNode(s){return s.constructor===ValueNode||s.constructor===HashCollisionNode}function mergeIntoNode(s,o,i,a,u){if(s.keyHash===a)return new HashCollisionNode(o,a,[s.entry,u]);var _,x=(0===i?s.keyHash:s.keyHash>>>i)&C,j=(0===i?a:a>>>i)&C;return new BitmapIndexedNode(o,1<<x|1<<j,x===j?[mergeIntoNode(s,o,i+w,a,u)]:(_=new ValueNode(o,a,u),x<j?[s,_]:[_,s]))}function createNodes(s,o,i,a){s||(s=new OwnerID);for(var u=new ValueNode(s,hash(i),[i,a]),_=0;_<o.length;_++){var w=o[_];u=u.update(s,0,void 0,w[0],w[1])}return u}function packNodes(s,o,i,a){for(var u=0,_=0,w=new Array(i),x=0,C=1,j=o.length;x<j;x++,C<<=1){var L=o[x];void 0!==L&&x!==a&&(u|=C,w[_++]=L)}return new BitmapIndexedNode(s,u,w)}function expandNodes(s,o,i,a,u){for(var _=0,w=new Array(x),C=0;0!==i;C++,i>>>=1)w[C]=1&i?o[_++]:void 0;return w[a]=u,new HashArrayMapNode(s,_+1,w)}function mergeIntoMapWith(s,o,i){for(var a=[],u=0;u<i.length;u++){var _=i[u],w=KeyedIterable(_);isIterable(_)||(w=w.map((function(s){return fromJS(s)}))),a.push(w)}return mergeIntoCollectionWith(s,o,a)}function deepMerger(s,o,i){return s&&s.mergeDeep&&isIterable(o)?s.mergeDeep(o):is(s,o)?s:o}function deepMergerWith(s){return function(o,i,a){if(o&&o.mergeDeepWith&&isIterable(i))return o.mergeDeepWith(s,i);var u=s(o,i,a);return is(o,u)?o:u}}function mergeIntoCollectionWith(s,o,i){return 0===(i=i.filter((function(s){return 0!==s.size}))).length?s:0!==s.size||s.__ownerID||1!==i.length?s.withMutations((function(s){for(var a=o?function(i,a){s.update(a,j,(function(s){return s===j?i:o(s,i,a)}))}:function(o,i){s.set(i,o)},u=0;u<i.length;u++)i[u].forEach(a)})):s.constructor(i[0])}function updateInDeepMap(s,o,i,a){var u=s===j,_=o.next();if(_.done){var w=u?i:s,x=a(w);return x===w?s:x}invariant(u||s&&s.set,\"invalid keyPath\");var C=_.value,L=u?j:s.get(C,j),B=updateInDeepMap(L,o,i,a);return B===L?s:B===j?s.remove(C):(u?emptyMap():s).set(C,B)}function popCount(s){return s=(s=(858993459&(s-=s>>1&1431655765))+(s>>2&858993459))+(s>>4)&252645135,s+=s>>8,127&(s+=s>>16)}function setIn(s,o,i,a){var u=a?s:arrCopy(s);return u[o]=i,u}function spliceIn(s,o,i,a){var u=s.length+1;if(a&&o+1===u)return s[o]=i,s;for(var _=new Array(u),w=0,x=0;x<u;x++)x===o?(_[x]=i,w=-1):_[x]=s[x+w];return _}function spliceOut(s,o,i){var a=s.length-1;if(i&&o===a)return s.pop(),s;for(var u=new Array(a),_=0,w=0;w<a;w++)w===o&&(_=1),u[w]=s[w+_];return u}$e[Re]=!0,$e[_]=$e.remove,$e.removeIn=$e.deleteIn,ArrayMapNode.prototype.get=function(s,o,i,a){for(var u=this.entries,_=0,w=u.length;_<w;_++)if(is(i,u[_][0]))return u[_][1];return a},ArrayMapNode.prototype.update=function(s,o,i,a,u,_,w){for(var x=u===j,C=this.entries,L=0,B=C.length;L<B&&!is(a,C[L][0]);L++);var $=L<B;if($?C[L][1]===u:x)return this;if(SetRef(w),(x||!$)&&SetRef(_),!x||1!==C.length){if(!$&&!x&&C.length>=qe)return createNodes(s,C,a,u);var U=s&&s===this.ownerID,V=U?C:arrCopy(C);return $?x?L===B-1?V.pop():V[L]=V.pop():V[L]=[a,u]:V.push([a,u]),U?(this.entries=V,this):new ArrayMapNode(s,V)}},BitmapIndexedNode.prototype.get=function(s,o,i,a){void 0===o&&(o=hash(i));var u=1<<((0===s?o:o>>>s)&C),_=this.bitmap;return _&u?this.nodes[popCount(_&u-1)].get(s+w,o,i,a):a},BitmapIndexedNode.prototype.update=function(s,o,i,a,u,_,x){void 0===i&&(i=hash(a));var L=(0===o?i:i>>>o)&C,B=1<<L,$=this.bitmap,U=!!($&B);if(!U&&u===j)return this;var V=popCount($&B-1),z=this.nodes,Y=U?z[V]:void 0,Z=updateNode(Y,s,o+w,i,a,u,_,x);if(Z===Y)return this;if(!U&&Z&&z.length>=ze)return expandNodes(s,z,$,L,Z);if(U&&!Z&&2===z.length&&isLeafNode(z[1^V]))return z[1^V];if(U&&Z&&1===z.length&&isLeafNode(Z))return Z;var ee=s&&s===this.ownerID,ie=U?Z?$:$^B:$|B,ae=U?Z?setIn(z,V,Z,ee):spliceOut(z,V,ee):spliceIn(z,V,Z,ee);return ee?(this.bitmap=ie,this.nodes=ae,this):new BitmapIndexedNode(s,ie,ae)},HashArrayMapNode.prototype.get=function(s,o,i,a){void 0===o&&(o=hash(i));var u=(0===s?o:o>>>s)&C,_=this.nodes[u];return _?_.get(s+w,o,i,a):a},HashArrayMapNode.prototype.update=function(s,o,i,a,u,_,x){void 0===i&&(i=hash(a));var L=(0===o?i:i>>>o)&C,B=u===j,$=this.nodes,U=$[L];if(B&&!U)return this;var V=updateNode(U,s,o+w,i,a,u,_,x);if(V===U)return this;var z=this.count;if(U){if(!V&&--z<We)return packNodes(s,$,z,L)}else z++;var Y=s&&s===this.ownerID,Z=setIn($,L,V,Y);return Y?(this.count=z,this.nodes=Z,this):new HashArrayMapNode(s,z,Z)},HashCollisionNode.prototype.get=function(s,o,i,a){for(var u=this.entries,_=0,w=u.length;_<w;_++)if(is(i,u[_][0]))return u[_][1];return a},HashCollisionNode.prototype.update=function(s,o,i,a,u,_,w){void 0===i&&(i=hash(a));var x=u===j;if(i!==this.keyHash)return x?this:(SetRef(w),SetRef(_),mergeIntoNode(this,s,o,i,[a,u]));for(var C=this.entries,L=0,B=C.length;L<B&&!is(a,C[L][0]);L++);var $=L<B;if($?C[L][1]===u:x)return this;if(SetRef(w),(x||!$)&&SetRef(_),x&&2===B)return new ValueNode(s,this.keyHash,C[1^L]);var U=s&&s===this.ownerID,V=U?C:arrCopy(C);return $?x?L===B-1?V.pop():V[L]=V.pop():V[L]=[a,u]:V.push([a,u]),U?(this.entries=V,this):new HashCollisionNode(s,this.keyHash,V)},ValueNode.prototype.get=function(s,o,i,a){return is(i,this.entry[0])?this.entry[1]:a},ValueNode.prototype.update=function(s,o,i,a,u,_,w){var x=u===j,C=is(a,this.entry[0]);return(C?u===this.entry[1]:x)?this:(SetRef(w),x?void SetRef(_):C?s&&s===this.ownerID?(this.entry[1]=u,this):new ValueNode(s,this.keyHash,[a,u]):(SetRef(_),mergeIntoNode(this,s,o,hash(a),[a,u])))},ArrayMapNode.prototype.iterate=HashCollisionNode.prototype.iterate=function(s,o){for(var i=this.entries,a=0,u=i.length-1;a<=u;a++)if(!1===s(i[o?u-a:a]))return!1},BitmapIndexedNode.prototype.iterate=HashArrayMapNode.prototype.iterate=function(s,o){for(var i=this.nodes,a=0,u=i.length-1;a<=u;a++){var _=i[o?u-a:a];if(_&&!1===_.iterate(s,o))return!1}},ValueNode.prototype.iterate=function(s,o){return s(this.entry)},createClass(MapIterator,Iterator),MapIterator.prototype.next=function(){for(var s=this._type,o=this._stack;o;){var i,a=o.node,u=o.index++;if(a.entry){if(0===u)return mapIteratorValue(s,a.entry)}else if(a.entries){if(u<=(i=a.entries.length-1))return mapIteratorValue(s,a.entries[this._reverse?i-u:u])}else if(u<=(i=a.nodes.length-1)){var _=a.nodes[this._reverse?i-u:u];if(_){if(_.entry)return mapIteratorValue(s,_.entry);o=this._stack=mapIteratorFrame(_,o)}continue}o=this._stack=this._stack.__prev}return iteratorDone()};var qe=x/4,ze=x/2,We=x/4;function List(s){var o=emptyList();if(null==s)return o;if(isList(s))return s;var i=IndexedIterable(s),a=i.size;return 0===a?o:(assertNotInfinite(a),a>0&&a<x?makeList(0,a,w,null,new VNode(i.toArray())):o.withMutations((function(s){s.setSize(a),i.forEach((function(o,i){return s.set(i,o)}))})))}function isList(s){return!(!s||!s[He])}createClass(List,IndexedCollection),List.of=function(){return this(arguments)},List.prototype.toString=function(){return this.__toString(\"List [\",\"]\")},List.prototype.get=function(s,o){if((s=wrapIndex(this,s))>=0&&s<this.size){var i=listNodeFor(this,s+=this._origin);return i&&i.array[s&C]}return o},List.prototype.set=function(s,o){return updateList(this,s,o)},List.prototype.remove=function(s){return this.has(s)?0===s?this.shift():s===this.size-1?this.pop():this.splice(s,1):this},List.prototype.insert=function(s,o){return this.splice(s,0,o)},List.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=w,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):emptyList()},List.prototype.push=function(){var s=arguments,o=this.size;return this.withMutations((function(i){setListBounds(i,0,o+s.length);for(var a=0;a<s.length;a++)i.set(o+a,s[a])}))},List.prototype.pop=function(){return setListBounds(this,0,-1)},List.prototype.unshift=function(){var s=arguments;return this.withMutations((function(o){setListBounds(o,-s.length);for(var i=0;i<s.length;i++)o.set(i,s[i])}))},List.prototype.shift=function(){return setListBounds(this,1)},List.prototype.merge=function(){return mergeIntoListWith(this,void 0,arguments)},List.prototype.mergeWith=function(o){return mergeIntoListWith(this,o,s.call(arguments,1))},List.prototype.mergeDeep=function(){return mergeIntoListWith(this,deepMerger,arguments)},List.prototype.mergeDeepWith=function(o){var i=s.call(arguments,1);return mergeIntoListWith(this,deepMergerWith(o),i)},List.prototype.setSize=function(s){return setListBounds(this,0,s)},List.prototype.slice=function(s,o){var i=this.size;return wholeSlice(s,o,i)?this:setListBounds(this,resolveBegin(s,i),resolveEnd(o,i))},List.prototype.__iterator=function(s,o){var i=0,a=iterateList(this,o);return new Iterator((function(){var o=a();return o===et?iteratorDone():iteratorValue(s,i++,o)}))},List.prototype.__iterate=function(s,o){for(var i,a=0,u=iterateList(this,o);(i=u())!==et&&!1!==s(i,a++,this););return a},List.prototype.__ensureOwner=function(s){return s===this.__ownerID?this:s?makeList(this._origin,this._capacity,this._level,this._root,this._tail,s,this.__hash):(this.__ownerID=s,this)},List.isList=isList;var He=\"@@__IMMUTABLE_LIST__@@\",Ye=List.prototype;function VNode(s,o){this.array=s,this.ownerID=o}Ye[He]=!0,Ye[_]=Ye.remove,Ye.setIn=$e.setIn,Ye.deleteIn=Ye.removeIn=$e.removeIn,Ye.update=$e.update,Ye.updateIn=$e.updateIn,Ye.mergeIn=$e.mergeIn,Ye.mergeDeepIn=$e.mergeDeepIn,Ye.withMutations=$e.withMutations,Ye.asMutable=$e.asMutable,Ye.asImmutable=$e.asImmutable,Ye.wasAltered=$e.wasAltered,VNode.prototype.removeBefore=function(s,o,i){if(i===o?1<<o:0===this.array.length)return this;var a=i>>>o&C;if(a>=this.array.length)return new VNode([],s);var u,_=0===a;if(o>0){var x=this.array[a];if((u=x&&x.removeBefore(s,o-w,i))===x&&_)return this}if(_&&!u)return this;var j=editableVNode(this,s);if(!_)for(var L=0;L<a;L++)j.array[L]=void 0;return u&&(j.array[a]=u),j},VNode.prototype.removeAfter=function(s,o,i){if(i===(o?1<<o:0)||0===this.array.length)return this;var a,u=i-1>>>o&C;if(u>=this.array.length)return this;if(o>0){var _=this.array[u];if((a=_&&_.removeAfter(s,o-w,i))===_&&u===this.array.length-1)return this}var x=editableVNode(this,s);return x.array.splice(u+1),a&&(x.array[u]=a),x};var Xe,Qe,et={};function iterateList(s,o){var i=s._origin,a=s._capacity,u=getTailOffset(a),_=s._tail;return iterateNodeOrLeaf(s._root,s._level,0);function iterateNodeOrLeaf(s,o,i){return 0===o?iterateLeaf(s,i):iterateNode(s,o,i)}function iterateLeaf(s,w){var C=w===u?_&&_.array:s&&s.array,j=w>i?0:i-w,L=a-w;return L>x&&(L=x),function(){if(j===L)return et;var s=o?--L:j++;return C&&C[s]}}function iterateNode(s,u,_){var C,j=s&&s.array,L=_>i?0:i-_>>u,B=1+(a-_>>u);return B>x&&(B=x),function(){for(;;){if(C){var s=C();if(s!==et)return s;C=null}if(L===B)return et;var i=o?--B:L++;C=iterateNodeOrLeaf(j&&j[i],u-w,_+(i<<u))}}}}function makeList(s,o,i,a,u,_,w){var x=Object.create(Ye);return x.size=o-s,x._origin=s,x._capacity=o,x._level=i,x._root=a,x._tail=u,x.__ownerID=_,x.__hash=w,x.__altered=!1,x}function emptyList(){return Xe||(Xe=makeList(0,0,w))}function updateList(s,o,i){if((o=wrapIndex(s,o))!=o)return s;if(o>=s.size||o<0)return s.withMutations((function(s){o<0?setListBounds(s,o).set(0,i):setListBounds(s,0,o+1).set(o,i)}));o+=s._origin;var a=s._tail,u=s._root,_=MakeRef(B);return o>=getTailOffset(s._capacity)?a=updateVNode(a,s.__ownerID,0,o,i,_):u=updateVNode(u,s.__ownerID,s._level,o,i,_),_.value?s.__ownerID?(s._root=u,s._tail=a,s.__hash=void 0,s.__altered=!0,s):makeList(s._origin,s._capacity,s._level,u,a):s}function updateVNode(s,o,i,a,u,_){var x,j=a>>>i&C,L=s&&j<s.array.length;if(!L&&void 0===u)return s;if(i>0){var B=s&&s.array[j],$=updateVNode(B,o,i-w,a,u,_);return $===B?s:((x=editableVNode(s,o)).array[j]=$,x)}return L&&s.array[j]===u?s:(SetRef(_),x=editableVNode(s,o),void 0===u&&j===x.array.length-1?x.array.pop():x.array[j]=u,x)}function editableVNode(s,o){return o&&s&&o===s.ownerID?s:new VNode(s?s.array.slice():[],o)}function listNodeFor(s,o){if(o>=getTailOffset(s._capacity))return s._tail;if(o<1<<s._level+w){for(var i=s._root,a=s._level;i&&a>0;)i=i.array[o>>>a&C],a-=w;return i}}function setListBounds(s,o,i){void 0!==o&&(o|=0),void 0!==i&&(i|=0);var a=s.__ownerID||new OwnerID,u=s._origin,_=s._capacity,x=u+o,j=void 0===i?_:i<0?_+i:u+i;if(x===u&&j===_)return s;if(x>=j)return s.clear();for(var L=s._level,B=s._root,$=0;x+$<0;)B=new VNode(B&&B.array.length?[void 0,B]:[],a),$+=1<<(L+=w);$&&(x+=$,u+=$,j+=$,_+=$);for(var U=getTailOffset(_),V=getTailOffset(j);V>=1<<L+w;)B=new VNode(B&&B.array.length?[B]:[],a),L+=w;var z=s._tail,Y=V<U?listNodeFor(s,j-1):V>U?new VNode([],a):z;if(z&&V>U&&x<_&&z.array.length){for(var Z=B=editableVNode(B,a),ee=L;ee>w;ee-=w){var ie=U>>>ee&C;Z=Z.array[ie]=editableVNode(Z.array[ie],a)}Z.array[U>>>w&C]=z}if(j<_&&(Y=Y&&Y.removeAfter(a,0,j)),x>=V)x-=V,j-=V,L=w,B=null,Y=Y&&Y.removeBefore(a,0,x);else if(x>u||V<U){for($=0;B;){var ae=x>>>L&C;if(ae!==V>>>L&C)break;ae&&($+=(1<<L)*ae),L-=w,B=B.array[ae]}B&&x>u&&(B=B.removeBefore(a,L,x-$)),B&&V<U&&(B=B.removeAfter(a,L,V-$)),$&&(x-=$,j-=$)}return s.__ownerID?(s.size=j-x,s._origin=x,s._capacity=j,s._level=L,s._root=B,s._tail=Y,s.__hash=void 0,s.__altered=!0,s):makeList(x,j,L,B,Y)}function mergeIntoListWith(s,o,i){for(var a=[],u=0,_=0;_<i.length;_++){var w=i[_],x=IndexedIterable(w);x.size>u&&(u=x.size),isIterable(w)||(x=x.map((function(s){return fromJS(s)}))),a.push(x)}return u>s.size&&(s=s.setSize(u)),mergeIntoCollectionWith(s,o,a)}function getTailOffset(s){return s<x?0:s-1>>>w<<w}function OrderedMap(s){return null==s?emptyOrderedMap():isOrderedMap(s)?s:emptyOrderedMap().withMutations((function(o){var i=KeyedIterable(s);assertNotInfinite(i.size),i.forEach((function(s,i){return o.set(i,s)}))}))}function isOrderedMap(s){return isMap(s)&&isOrdered(s)}function makeOrderedMap(s,o,i,a){var u=Object.create(OrderedMap.prototype);return u.size=s?s.size:0,u._map=s,u._list=o,u.__ownerID=i,u.__hash=a,u}function emptyOrderedMap(){return Qe||(Qe=makeOrderedMap(emptyMap(),emptyList()))}function updateOrderedMap(s,o,i){var a,u,_=s._map,w=s._list,C=_.get(o),L=void 0!==C;if(i===j){if(!L)return s;w.size>=x&&w.size>=2*_.size?(a=(u=w.filter((function(s,o){return void 0!==s&&C!==o}))).toKeyedSeq().map((function(s){return s[0]})).flip().toMap(),s.__ownerID&&(a.__ownerID=u.__ownerID=s.__ownerID)):(a=_.remove(o),u=C===w.size-1?w.pop():w.set(C,void 0))}else if(L){if(i===w.get(C)[1])return s;a=_,u=w.set(C,[o,i])}else a=_.set(o,w.size),u=w.set(w.size,[o,i]);return s.__ownerID?(s.size=a.size,s._map=a,s._list=u,s.__hash=void 0,s):makeOrderedMap(a,u)}function ToKeyedSequence(s,o){this._iter=s,this._useKeys=o,this.size=s.size}function ToIndexedSequence(s){this._iter=s,this.size=s.size}function ToSetSequence(s){this._iter=s,this.size=s.size}function FromEntriesSequence(s){this._iter=s,this.size=s.size}function flipFactory(s){var o=makeSequence(s);return o._iter=s,o.size=s.size,o.flip=function(){return s},o.reverse=function(){var o=s.reverse.apply(this);return o.flip=function(){return s.reverse()},o},o.has=function(o){return s.includes(o)},o.includes=function(o){return s.has(o)},o.cacheResult=cacheResultThrough,o.__iterateUncached=function(o,i){var a=this;return s.__iterate((function(s,i){return!1!==o(i,s,a)}),i)},o.__iteratorUncached=function(o,i){if(o===V){var a=s.__iterator(o,i);return new Iterator((function(){var s=a.next();if(!s.done){var o=s.value[0];s.value[0]=s.value[1],s.value[1]=o}return s}))}return s.__iterator(o===U?$:U,i)},o}function mapFactory(s,o,i){var a=makeSequence(s);return a.size=s.size,a.has=function(o){return s.has(o)},a.get=function(a,u){var _=s.get(a,j);return _===j?u:o.call(i,_,a,s)},a.__iterateUncached=function(a,u){var _=this;return s.__iterate((function(s,u,w){return!1!==a(o.call(i,s,u,w),u,_)}),u)},a.__iteratorUncached=function(a,u){var _=s.__iterator(V,u);return new Iterator((function(){var u=_.next();if(u.done)return u;var w=u.value,x=w[0];return iteratorValue(a,x,o.call(i,w[1],x,s),u)}))},a}function reverseFactory(s,o){var i=makeSequence(s);return i._iter=s,i.size=s.size,i.reverse=function(){return s},s.flip&&(i.flip=function(){var o=flipFactory(s);return o.reverse=function(){return s.flip()},o}),i.get=function(i,a){return s.get(o?i:-1-i,a)},i.has=function(i){return s.has(o?i:-1-i)},i.includes=function(o){return s.includes(o)},i.cacheResult=cacheResultThrough,i.__iterate=function(o,i){var a=this;return s.__iterate((function(s,i){return o(s,i,a)}),!i)},i.__iterator=function(o,i){return s.__iterator(o,!i)},i}function filterFactory(s,o,i,a){var u=makeSequence(s);return a&&(u.has=function(a){var u=s.get(a,j);return u!==j&&!!o.call(i,u,a,s)},u.get=function(a,u){var _=s.get(a,j);return _!==j&&o.call(i,_,a,s)?_:u}),u.__iterateUncached=function(u,_){var w=this,x=0;return s.__iterate((function(s,_,C){if(o.call(i,s,_,C))return x++,u(s,a?_:x-1,w)}),_),x},u.__iteratorUncached=function(u,_){var w=s.__iterator(V,_),x=0;return new Iterator((function(){for(;;){var _=w.next();if(_.done)return _;var C=_.value,j=C[0],L=C[1];if(o.call(i,L,j,s))return iteratorValue(u,a?j:x++,L,_)}}))},u}function countByFactory(s,o,i){var a=Map().asMutable();return s.__iterate((function(u,_){a.update(o.call(i,u,_,s),0,(function(s){return s+1}))})),a.asImmutable()}function groupByFactory(s,o,i){var a=isKeyed(s),u=(isOrdered(s)?OrderedMap():Map()).asMutable();s.__iterate((function(_,w){u.update(o.call(i,_,w,s),(function(s){return(s=s||[]).push(a?[w,_]:_),s}))}));var _=iterableClass(s);return u.map((function(o){return reify(s,_(o))}))}function sliceFactory(s,o,i,a){var u=s.size;if(void 0!==o&&(o|=0),void 0!==i&&(i===1/0?i=u:i|=0),wholeSlice(o,i,u))return s;var _=resolveBegin(o,u),w=resolveEnd(i,u);if(_!=_||w!=w)return sliceFactory(s.toSeq().cacheResult(),o,i,a);var x,C=w-_;C==C&&(x=C<0?0:C);var j=makeSequence(s);return j.size=0===x?x:s.size&&x||void 0,!a&&isSeq(s)&&x>=0&&(j.get=function(o,i){return(o=wrapIndex(this,o))>=0&&o<x?s.get(o+_,i):i}),j.__iterateUncached=function(o,i){var u=this;if(0===x)return 0;if(i)return this.cacheResult().__iterate(o,i);var w=0,C=!0,j=0;return s.__iterate((function(s,i){if(!C||!(C=w++<_))return j++,!1!==o(s,a?i:j-1,u)&&j!==x})),j},j.__iteratorUncached=function(o,i){if(0!==x&&i)return this.cacheResult().__iterator(o,i);var u=0!==x&&s.__iterator(o,i),w=0,C=0;return new Iterator((function(){for(;w++<_;)u.next();if(++C>x)return iteratorDone();var s=u.next();return a||o===U?s:iteratorValue(o,C-1,o===$?void 0:s.value[1],s)}))},j}function takeWhileFactory(s,o,i){var a=makeSequence(s);return a.__iterateUncached=function(a,u){var _=this;if(u)return this.cacheResult().__iterate(a,u);var w=0;return s.__iterate((function(s,u,x){return o.call(i,s,u,x)&&++w&&a(s,u,_)})),w},a.__iteratorUncached=function(a,u){var _=this;if(u)return this.cacheResult().__iterator(a,u);var w=s.__iterator(V,u),x=!0;return new Iterator((function(){if(!x)return iteratorDone();var s=w.next();if(s.done)return s;var u=s.value,C=u[0],j=u[1];return o.call(i,j,C,_)?a===V?s:iteratorValue(a,C,j,s):(x=!1,iteratorDone())}))},a}function skipWhileFactory(s,o,i,a){var u=makeSequence(s);return u.__iterateUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterate(u,_);var x=!0,C=0;return s.__iterate((function(s,_,j){if(!x||!(x=o.call(i,s,_,j)))return C++,u(s,a?_:C-1,w)})),C},u.__iteratorUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterator(u,_);var x=s.__iterator(V,_),C=!0,j=0;return new Iterator((function(){var s,_,L;do{if((s=x.next()).done)return a||u===U?s:iteratorValue(u,j++,u===$?void 0:s.value[1],s);var B=s.value;_=B[0],L=B[1],C&&(C=o.call(i,L,_,w))}while(C);return u===V?s:iteratorValue(u,_,L,s)}))},u}function concatFactory(s,o){var i=isKeyed(s),a=[s].concat(o).map((function(s){return isIterable(s)?i&&(s=KeyedIterable(s)):s=i?keyedSeqFromValue(s):indexedSeqFromValue(Array.isArray(s)?s:[s]),s})).filter((function(s){return 0!==s.size}));if(0===a.length)return s;if(1===a.length){var u=a[0];if(u===s||i&&isKeyed(u)||isIndexed(s)&&isIndexed(u))return u}var _=new ArraySeq(a);return i?_=_.toKeyedSeq():isIndexed(s)||(_=_.toSetSeq()),(_=_.flatten(!0)).size=a.reduce((function(s,o){if(void 0!==s){var i=o.size;if(void 0!==i)return s+i}}),0),_}function flattenFactory(s,o,i){var a=makeSequence(s);return a.__iterateUncached=function(a,u){var _=0,w=!1;function flatDeep(s,x){var C=this;s.__iterate((function(s,u){return(!o||x<o)&&isIterable(s)?flatDeep(s,x+1):!1===a(s,i?u:_++,C)&&(w=!0),!w}),u)}return flatDeep(s,0),_},a.__iteratorUncached=function(a,u){var _=s.__iterator(a,u),w=[],x=0;return new Iterator((function(){for(;_;){var s=_.next();if(!1===s.done){var C=s.value;if(a===V&&(C=C[1]),o&&!(w.length<o)||!isIterable(C))return i?s:iteratorValue(a,x++,C,s);w.push(_),_=C.__iterator(a,u)}else _=w.pop()}return iteratorDone()}))},a}function flatMapFactory(s,o,i){var a=iterableClass(s);return s.toSeq().map((function(u,_){return a(o.call(i,u,_,s))})).flatten(!0)}function interposeFactory(s,o){var i=makeSequence(s);return i.size=s.size&&2*s.size-1,i.__iterateUncached=function(i,a){var u=this,_=0;return s.__iterate((function(s,a){return(!_||!1!==i(o,_++,u))&&!1!==i(s,_++,u)}),a),_},i.__iteratorUncached=function(i,a){var u,_=s.__iterator(U,a),w=0;return new Iterator((function(){return(!u||w%2)&&(u=_.next()).done?u:w%2?iteratorValue(i,w++,o):iteratorValue(i,w++,u.value,u)}))},i}function sortFactory(s,o,i){o||(o=defaultComparator);var a=isKeyed(s),u=0,_=s.toSeq().map((function(o,a){return[a,o,u++,i?i(o,a,s):o]})).toArray();return _.sort((function(s,i){return o(s[3],i[3])||s[2]-i[2]})).forEach(a?function(s,o){_[o].length=2}:function(s,o){_[o]=s[1]}),a?KeyedSeq(_):isIndexed(s)?IndexedSeq(_):SetSeq(_)}function maxFactory(s,o,i){if(o||(o=defaultComparator),i){var a=s.toSeq().map((function(o,a){return[o,i(o,a,s)]})).reduce((function(s,i){return maxCompare(o,s[1],i[1])?i:s}));return a&&a[0]}return s.reduce((function(s,i){return maxCompare(o,s,i)?i:s}))}function maxCompare(s,o,i){var a=s(i,o);return 0===a&&i!==o&&(null==i||i!=i)||a>0}function zipWithFactory(s,o,i){var a=makeSequence(s);return a.size=new ArraySeq(i).map((function(s){return s.size})).min(),a.__iterate=function(s,o){for(var i,a=this.__iterator(U,o),u=0;!(i=a.next()).done&&!1!==s(i.value,u++,this););return u},a.__iteratorUncached=function(s,a){var u=i.map((function(s){return s=Iterable(s),getIterator(a?s.reverse():s)})),_=0,w=!1;return new Iterator((function(){var i;return w||(i=u.map((function(s){return s.next()})),w=i.some((function(s){return s.done}))),w?iteratorDone():iteratorValue(s,_++,o.apply(null,i.map((function(s){return s.value}))))}))},a}function reify(s,o){return isSeq(s)?o:s.constructor(o)}function validateEntry(s){if(s!==Object(s))throw new TypeError(\"Expected [K, V] tuple: \"+s)}function resolveSize(s){return assertNotInfinite(s.size),ensureSize(s)}function iterableClass(s){return isKeyed(s)?KeyedIterable:isIndexed(s)?IndexedIterable:SetIterable}function makeSequence(s){return Object.create((isKeyed(s)?KeyedSeq:isIndexed(s)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(s,o){return s>o?1:s<o?-1:0}function forceIterator(s){var o=getIterator(s);if(!o){if(!isArrayLike(s))throw new TypeError(\"Expected iterable or array-like: \"+s);o=getIterator(Iterable(s))}return o}function Record(s,o){var i,a=function Record(_){if(_ instanceof a)return _;if(!(this instanceof a))return new a(_);if(!i){i=!0;var w=Object.keys(s);setProps(u,w),u.size=w.length,u._name=o,u._keys=w,u._defaultValues=s}this._map=Map(_)},u=a.prototype=Object.create(tt);return u.constructor=a,a}createClass(OrderedMap,Map),OrderedMap.of=function(){return this(arguments)},OrderedMap.prototype.toString=function(){return this.__toString(\"OrderedMap {\",\"}\")},OrderedMap.prototype.get=function(s,o){var i=this._map.get(s);return void 0!==i?this._list.get(i)[1]:o},OrderedMap.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):emptyOrderedMap()},OrderedMap.prototype.set=function(s,o){return updateOrderedMap(this,s,o)},OrderedMap.prototype.remove=function(s){return updateOrderedMap(this,s,j)},OrderedMap.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},OrderedMap.prototype.__iterate=function(s,o){var i=this;return this._list.__iterate((function(o){return o&&s(o[1],o[0],i)}),o)},OrderedMap.prototype.__iterator=function(s,o){return this._list.fromEntrySeq().__iterator(s,o)},OrderedMap.prototype.__ensureOwner=function(s){if(s===this.__ownerID)return this;var o=this._map.__ensureOwner(s),i=this._list.__ensureOwner(s);return s?makeOrderedMap(o,i,s,this.__hash):(this.__ownerID=s,this._map=o,this._list=i,this)},OrderedMap.isOrderedMap=isOrderedMap,OrderedMap.prototype[u]=!0,OrderedMap.prototype[_]=OrderedMap.prototype.remove,createClass(ToKeyedSequence,KeyedSeq),ToKeyedSequence.prototype.get=function(s,o){return this._iter.get(s,o)},ToKeyedSequence.prototype.has=function(s){return this._iter.has(s)},ToKeyedSequence.prototype.valueSeq=function(){return this._iter.valueSeq()},ToKeyedSequence.prototype.reverse=function(){var s=this,o=reverseFactory(this,!0);return this._useKeys||(o.valueSeq=function(){return s._iter.toSeq().reverse()}),o},ToKeyedSequence.prototype.map=function(s,o){var i=this,a=mapFactory(this,s,o);return this._useKeys||(a.valueSeq=function(){return i._iter.toSeq().map(s,o)}),a},ToKeyedSequence.prototype.__iterate=function(s,o){var i,a=this;return this._iter.__iterate(this._useKeys?function(o,i){return s(o,i,a)}:(i=o?resolveSize(this):0,function(u){return s(u,o?--i:i++,a)}),o)},ToKeyedSequence.prototype.__iterator=function(s,o){if(this._useKeys)return this._iter.__iterator(s,o);var i=this._iter.__iterator(U,o),a=o?resolveSize(this):0;return new Iterator((function(){var u=i.next();return u.done?u:iteratorValue(s,o?--a:a++,u.value,u)}))},ToKeyedSequence.prototype[u]=!0,createClass(ToIndexedSequence,IndexedSeq),ToIndexedSequence.prototype.includes=function(s){return this._iter.includes(s)},ToIndexedSequence.prototype.__iterate=function(s,o){var i=this,a=0;return this._iter.__iterate((function(o){return s(o,a++,i)}),o)},ToIndexedSequence.prototype.__iterator=function(s,o){var i=this._iter.__iterator(U,o),a=0;return new Iterator((function(){var o=i.next();return o.done?o:iteratorValue(s,a++,o.value,o)}))},createClass(ToSetSequence,SetSeq),ToSetSequence.prototype.has=function(s){return this._iter.includes(s)},ToSetSequence.prototype.__iterate=function(s,o){var i=this;return this._iter.__iterate((function(o){return s(o,o,i)}),o)},ToSetSequence.prototype.__iterator=function(s,o){var i=this._iter.__iterator(U,o);return new Iterator((function(){var o=i.next();return o.done?o:iteratorValue(s,o.value,o.value,o)}))},createClass(FromEntriesSequence,KeyedSeq),FromEntriesSequence.prototype.entrySeq=function(){return this._iter.toSeq()},FromEntriesSequence.prototype.__iterate=function(s,o){var i=this;return this._iter.__iterate((function(o){if(o){validateEntry(o);var a=isIterable(o);return s(a?o.get(1):o[1],a?o.get(0):o[0],i)}}),o)},FromEntriesSequence.prototype.__iterator=function(s,o){var i=this._iter.__iterator(U,o);return new Iterator((function(){for(;;){var o=i.next();if(o.done)return o;var a=o.value;if(a){validateEntry(a);var u=isIterable(a);return iteratorValue(s,u?a.get(0):a[0],u?a.get(1):a[1],o)}}}))},ToIndexedSequence.prototype.cacheResult=ToKeyedSequence.prototype.cacheResult=ToSetSequence.prototype.cacheResult=FromEntriesSequence.prototype.cacheResult=cacheResultThrough,createClass(Record,KeyedCollection),Record.prototype.toString=function(){return this.__toString(recordName(this)+\" {\",\"}\")},Record.prototype.has=function(s){return this._defaultValues.hasOwnProperty(s)},Record.prototype.get=function(s,o){if(!this.has(s))return o;var i=this._defaultValues[s];return this._map?this._map.get(s,i):i},Record.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var s=this.constructor;return s._empty||(s._empty=makeRecord(this,emptyMap()))},Record.prototype.set=function(s,o){if(!this.has(s))throw new Error('Cannot set unknown key \"'+s+'\" on '+recordName(this));if(this._map&&!this._map.has(s)&&o===this._defaultValues[s])return this;var i=this._map&&this._map.set(s,o);return this.__ownerID||i===this._map?this:makeRecord(this,i)},Record.prototype.remove=function(s){if(!this.has(s))return this;var o=this._map&&this._map.remove(s);return this.__ownerID||o===this._map?this:makeRecord(this,o)},Record.prototype.wasAltered=function(){return this._map.wasAltered()},Record.prototype.__iterator=function(s,o){var i=this;return KeyedIterable(this._defaultValues).map((function(s,o){return i.get(o)})).__iterator(s,o)},Record.prototype.__iterate=function(s,o){var i=this;return KeyedIterable(this._defaultValues).map((function(s,o){return i.get(o)})).__iterate(s,o)},Record.prototype.__ensureOwner=function(s){if(s===this.__ownerID)return this;var o=this._map&&this._map.__ensureOwner(s);return s?makeRecord(this,o,s):(this.__ownerID=s,this._map=o,this)};var tt=Record.prototype;function makeRecord(s,o,i){var a=Object.create(Object.getPrototypeOf(s));return a._map=o,a.__ownerID=i,a}function recordName(s){return s._name||s.constructor.name||\"Record\"}function setProps(s,o){try{o.forEach(setProp.bind(void 0,s))}catch(s){}}function setProp(s,o){Object.defineProperty(s,o,{get:function(){return this.get(o)},set:function(s){invariant(this.__ownerID,\"Cannot set on an immutable record.\"),this.set(o,s)}})}function Set(s){return null==s?emptySet():isSet(s)&&!isOrdered(s)?s:emptySet().withMutations((function(o){var i=SetIterable(s);assertNotInfinite(i.size),i.forEach((function(s){return o.add(s)}))}))}function isSet(s){return!(!s||!s[nt])}tt[_]=tt.remove,tt.deleteIn=tt.removeIn=$e.removeIn,tt.merge=$e.merge,tt.mergeWith=$e.mergeWith,tt.mergeIn=$e.mergeIn,tt.mergeDeep=$e.mergeDeep,tt.mergeDeepWith=$e.mergeDeepWith,tt.mergeDeepIn=$e.mergeDeepIn,tt.setIn=$e.setIn,tt.update=$e.update,tt.updateIn=$e.updateIn,tt.withMutations=$e.withMutations,tt.asMutable=$e.asMutable,tt.asImmutable=$e.asImmutable,createClass(Set,SetCollection),Set.of=function(){return this(arguments)},Set.fromKeys=function(s){return this(KeyedIterable(s).keySeq())},Set.prototype.toString=function(){return this.__toString(\"Set {\",\"}\")},Set.prototype.has=function(s){return this._map.has(s)},Set.prototype.add=function(s){return updateSet(this,this._map.set(s,!0))},Set.prototype.remove=function(s){return updateSet(this,this._map.remove(s))},Set.prototype.clear=function(){return updateSet(this,this._map.clear())},Set.prototype.union=function(){var o=s.call(arguments,0);return 0===(o=o.filter((function(s){return 0!==s.size}))).length?this:0!==this.size||this.__ownerID||1!==o.length?this.withMutations((function(s){for(var i=0;i<o.length;i++)SetIterable(o[i]).forEach((function(o){return s.add(o)}))})):this.constructor(o[0])},Set.prototype.intersect=function(){var o=s.call(arguments,0);if(0===o.length)return this;o=o.map((function(s){return SetIterable(s)}));var i=this;return this.withMutations((function(s){i.forEach((function(i){o.every((function(s){return s.includes(i)}))||s.remove(i)}))}))},Set.prototype.subtract=function(){var o=s.call(arguments,0);if(0===o.length)return this;o=o.map((function(s){return SetIterable(s)}));var i=this;return this.withMutations((function(s){i.forEach((function(i){o.some((function(s){return s.includes(i)}))&&s.remove(i)}))}))},Set.prototype.merge=function(){return this.union.apply(this,arguments)},Set.prototype.mergeWith=function(o){var i=s.call(arguments,1);return this.union.apply(this,i)},Set.prototype.sort=function(s){return OrderedSet(sortFactory(this,s))},Set.prototype.sortBy=function(s,o){return OrderedSet(sortFactory(this,o,s))},Set.prototype.wasAltered=function(){return this._map.wasAltered()},Set.prototype.__iterate=function(s,o){var i=this;return this._map.__iterate((function(o,a){return s(a,a,i)}),o)},Set.prototype.__iterator=function(s,o){return this._map.map((function(s,o){return o})).__iterator(s,o)},Set.prototype.__ensureOwner=function(s){if(s===this.__ownerID)return this;var o=this._map.__ensureOwner(s);return s?this.__make(o,s):(this.__ownerID=s,this._map=o,this)},Set.isSet=isSet;var rt,nt=\"@@__IMMUTABLE_SET__@@\",st=Set.prototype;function updateSet(s,o){return s.__ownerID?(s.size=o.size,s._map=o,s):o===s._map?s:0===o.size?s.__empty():s.__make(o)}function makeSet(s,o){var i=Object.create(st);return i.size=s?s.size:0,i._map=s,i.__ownerID=o,i}function emptySet(){return rt||(rt=makeSet(emptyMap()))}function OrderedSet(s){return null==s?emptyOrderedSet():isOrderedSet(s)?s:emptyOrderedSet().withMutations((function(o){var i=SetIterable(s);assertNotInfinite(i.size),i.forEach((function(s){return o.add(s)}))}))}function isOrderedSet(s){return isSet(s)&&isOrdered(s)}st[nt]=!0,st[_]=st.remove,st.mergeDeep=st.merge,st.mergeDeepWith=st.mergeWith,st.withMutations=$e.withMutations,st.asMutable=$e.asMutable,st.asImmutable=$e.asImmutable,st.__empty=emptySet,st.__make=makeSet,createClass(OrderedSet,Set),OrderedSet.of=function(){return this(arguments)},OrderedSet.fromKeys=function(s){return this(KeyedIterable(s).keySeq())},OrderedSet.prototype.toString=function(){return this.__toString(\"OrderedSet {\",\"}\")},OrderedSet.isOrderedSet=isOrderedSet;var ot,it=OrderedSet.prototype;function makeOrderedSet(s,o){var i=Object.create(it);return i.size=s?s.size:0,i._map=s,i.__ownerID=o,i}function emptyOrderedSet(){return ot||(ot=makeOrderedSet(emptyOrderedMap()))}function Stack(s){return null==s?emptyStack():isStack(s)?s:emptyStack().unshiftAll(s)}function isStack(s){return!(!s||!s[ct])}it[u]=!0,it.__empty=emptyOrderedSet,it.__make=makeOrderedSet,createClass(Stack,IndexedCollection),Stack.of=function(){return this(arguments)},Stack.prototype.toString=function(){return this.__toString(\"Stack [\",\"]\")},Stack.prototype.get=function(s,o){var i=this._head;for(s=wrapIndex(this,s);i&&s--;)i=i.next;return i?i.value:o},Stack.prototype.peek=function(){return this._head&&this._head.value},Stack.prototype.push=function(){if(0===arguments.length)return this;for(var s=this.size+arguments.length,o=this._head,i=arguments.length-1;i>=0;i--)o={value:arguments[i],next:o};return this.__ownerID?(this.size=s,this._head=o,this.__hash=void 0,this.__altered=!0,this):makeStack(s,o)},Stack.prototype.pushAll=function(s){if(0===(s=IndexedIterable(s)).size)return this;assertNotInfinite(s.size);var o=this.size,i=this._head;return s.reverse().forEach((function(s){o++,i={value:s,next:i}})),this.__ownerID?(this.size=o,this._head=i,this.__hash=void 0,this.__altered=!0,this):makeStack(o,i)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(s){return this.pushAll(s)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(s,o){if(wholeSlice(s,o,this.size))return this;var i=resolveBegin(s,this.size);if(resolveEnd(o,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,s,o);for(var a=this.size-i,u=this._head;i--;)u=u.next;return this.__ownerID?(this.size=a,this._head=u,this.__hash=void 0,this.__altered=!0,this):makeStack(a,u)},Stack.prototype.__ensureOwner=function(s){return s===this.__ownerID?this:s?makeStack(this.size,this._head,s,this.__hash):(this.__ownerID=s,this.__altered=!1,this)},Stack.prototype.__iterate=function(s,o){if(o)return this.reverse().__iterate(s);for(var i=0,a=this._head;a&&!1!==s(a.value,i++,this);)a=a.next;return i},Stack.prototype.__iterator=function(s,o){if(o)return this.reverse().__iterator(s);var i=0,a=this._head;return new Iterator((function(){if(a){var o=a.value;return a=a.next,iteratorValue(s,i++,o)}return iteratorDone()}))},Stack.isStack=isStack;var at,ct=\"@@__IMMUTABLE_STACK__@@\",lt=Stack.prototype;function makeStack(s,o,i,a){var u=Object.create(lt);return u.size=s,u._head=o,u.__ownerID=i,u.__hash=a,u.__altered=!1,u}function emptyStack(){return at||(at=makeStack(0))}function mixin(s,o){var keyCopier=function(i){s.prototype[i]=o[i]};return Object.keys(o).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(o).forEach(keyCopier),s}lt[ct]=!0,lt.withMutations=$e.withMutations,lt.asMutable=$e.asMutable,lt.asImmutable=$e.asImmutable,lt.wasAltered=$e.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var s=new Array(this.size||0);return this.valueSeq().__iterate((function(o,i){s[i]=o})),s},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(s){return s&&\"function\"==typeof s.toJS?s.toJS():s})).__toJS()},toJSON:function(){return this.toSeq().map((function(s){return s&&\"function\"==typeof s.toJSON?s.toJSON():s})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var s={};return this.__iterate((function(o,i){s[i]=o})),s},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return\"[Iterable]\"},__toString:function(s,o){return 0===this.size?s+o:s+\" \"+this.toSeq().map(this.__toStringMapper).join(\", \")+\" \"+o},concat:function(){return reify(this,concatFactory(this,s.call(arguments,0)))},includes:function(s){return this.some((function(o){return is(o,s)}))},entries:function(){return this.__iterator(V)},every:function(s,o){assertNotInfinite(this.size);var i=!0;return this.__iterate((function(a,u,_){if(!s.call(o,a,u,_))return i=!1,!1})),i},filter:function(s,o){return reify(this,filterFactory(this,s,o,!0))},find:function(s,o,i){var a=this.findEntry(s,o);return a?a[1]:i},forEach:function(s,o){return assertNotInfinite(this.size),this.__iterate(o?s.bind(o):s)},join:function(s){assertNotInfinite(this.size),s=void 0!==s?\"\"+s:\",\";var o=\"\",i=!0;return this.__iterate((function(a){i?i=!1:o+=s,o+=null!=a?a.toString():\"\"})),o},keys:function(){return this.__iterator($)},map:function(s,o){return reify(this,mapFactory(this,s,o))},reduce:function(s,o,i){var a,u;return assertNotInfinite(this.size),arguments.length<2?u=!0:a=o,this.__iterate((function(o,_,w){u?(u=!1,a=o):a=s.call(i,a,o,_,w)})),a},reduceRight:function(s,o,i){var a=this.toKeyedSeq().reverse();return a.reduce.apply(a,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(s,o){return reify(this,sliceFactory(this,s,o,!0))},some:function(s,o){return!this.every(not(s),o)},sort:function(s){return reify(this,sortFactory(this,s))},values:function(){return this.__iterator(U)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(s,o){return ensureSize(s?this.toSeq().filter(s,o):this)},countBy:function(s,o){return countByFactory(this,s,o)},equals:function(s){return deepEqual(this,s)},entrySeq:function(){var s=this;if(s._cache)return new ArraySeq(s._cache);var o=s.toSeq().map(entryMapper).toIndexedSeq();return o.fromEntrySeq=function(){return s.toSeq()},o},filterNot:function(s,o){return this.filter(not(s),o)},findEntry:function(s,o,i){var a=i;return this.__iterate((function(i,u,_){if(s.call(o,i,u,_))return a=[u,i],!1})),a},findKey:function(s,o){var i=this.findEntry(s,o);return i&&i[0]},findLast:function(s,o,i){return this.toKeyedSeq().reverse().find(s,o,i)},findLastEntry:function(s,o,i){return this.toKeyedSeq().reverse().findEntry(s,o,i)},findLastKey:function(s,o){return this.toKeyedSeq().reverse().findKey(s,o)},first:function(){return this.find(returnTrue)},flatMap:function(s,o){return reify(this,flatMapFactory(this,s,o))},flatten:function(s){return reify(this,flattenFactory(this,s,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(s,o){return this.find((function(o,i){return is(i,s)}),void 0,o)},getIn:function(s,o){for(var i,a=this,u=forceIterator(s);!(i=u.next()).done;){var _=i.value;if((a=a&&a.get?a.get(_,j):j)===j)return o}return a},groupBy:function(s,o){return groupByFactory(this,s,o)},has:function(s){return this.get(s,j)!==j},hasIn:function(s){return this.getIn(s,j)!==j},isSubset:function(s){return s=\"function\"==typeof s.includes?s:Iterable(s),this.every((function(o){return s.includes(o)}))},isSuperset:function(s){return(s=\"function\"==typeof s.isSubset?s:Iterable(s)).isSubset(this)},keyOf:function(s){return this.findKey((function(o){return is(o,s)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(s){return this.toKeyedSeq().reverse().keyOf(s)},max:function(s){return maxFactory(this,s)},maxBy:function(s,o){return maxFactory(this,o,s)},min:function(s){return maxFactory(this,s?neg(s):defaultNegComparator)},minBy:function(s,o){return maxFactory(this,o?neg(o):defaultNegComparator,s)},rest:function(){return this.slice(1)},skip:function(s){return this.slice(Math.max(0,s))},skipLast:function(s){return reify(this,this.toSeq().reverse().skip(s).reverse())},skipWhile:function(s,o){return reify(this,skipWhileFactory(this,s,o,!0))},skipUntil:function(s,o){return this.skipWhile(not(s),o)},sortBy:function(s,o){return reify(this,sortFactory(this,o,s))},take:function(s){return this.slice(0,Math.max(0,s))},takeLast:function(s){return reify(this,this.toSeq().reverse().take(s).reverse())},takeWhile:function(s,o){return reify(this,takeWhileFactory(this,s,o))},takeUntil:function(s,o){return this.takeWhile(not(s),o)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var ut=Iterable.prototype;ut[o]=!0,ut[Z]=ut.values,ut.__toJS=ut.toArray,ut.__toStringMapper=quoteString,ut.inspect=ut.toSource=function(){return this.toString()},ut.chain=ut.flatMap,ut.contains=ut.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(s,o){var i=this,a=0;return reify(this,this.toSeq().map((function(u,_){return s.call(o,[_,u],a++,i)})).fromEntrySeq())},mapKeys:function(s,o){var i=this;return reify(this,this.toSeq().flip().map((function(a,u){return s.call(o,a,u,i)})).flip())}});var pt=KeyedIterable.prototype;function keyMapper(s,o){return o}function entryMapper(s,o){return[o,s]}function not(s){return function(){return!s.apply(this,arguments)}}function neg(s){return function(){return-s.apply(this,arguments)}}function quoteString(s){return\"string\"==typeof s?JSON.stringify(s):String(s)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(s,o){return s<o?1:s>o?-1:0}function hashIterable(s){if(s.size===1/0)return 0;var o=isOrdered(s),i=isKeyed(s),a=o?1:0;return murmurHashOfSize(s.__iterate(i?o?function(s,o){a=31*a+hashMerge(hash(s),hash(o))|0}:function(s,o){a=a+hashMerge(hash(s),hash(o))|0}:o?function(s){a=31*a+hash(s)|0}:function(s){a=a+hash(s)|0}),a)}function murmurHashOfSize(s,o){return o=le(o,3432918353),o=le(o<<15|o>>>-15,461845907),o=le(o<<13|o>>>-13,5),o=le((o=o+3864292196^s)^o>>>16,2246822507),o=smi((o=le(o^o>>>13,3266489909))^o>>>16)}function hashMerge(s,o){return s^o+2654435769+(s<<6)+(s>>2)}return pt[i]=!0,pt[Z]=ut.entries,pt.__toJS=ut.toObject,pt.__toStringMapper=function(s,o){return JSON.stringify(o)+\": \"+quoteString(s)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(s,o){return reify(this,filterFactory(this,s,o,!1))},findIndex:function(s,o){var i=this.findEntry(s,o);return i?i[0]:-1},indexOf:function(s){var o=this.keyOf(s);return void 0===o?-1:o},lastIndexOf:function(s){var o=this.lastKeyOf(s);return void 0===o?-1:o},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(s,o){return reify(this,sliceFactory(this,s,o,!1))},splice:function(s,o){var i=arguments.length;if(o=Math.max(0|o,0),0===i||2===i&&!o)return this;s=resolveBegin(s,s<0?this.count():this.size);var a=this.slice(0,s);return reify(this,1===i?a:a.concat(arrCopy(arguments,2),this.slice(s+o)))},findLastIndex:function(s,o){var i=this.findLastEntry(s,o);return i?i[0]:-1},first:function(){return this.get(0)},flatten:function(s){return reify(this,flattenFactory(this,s,!1))},get:function(s,o){return(s=wrapIndex(this,s))<0||this.size===1/0||void 0!==this.size&&s>this.size?o:this.find((function(o,i){return i===s}),void 0,o)},has:function(s){return(s=wrapIndex(this,s))>=0&&(void 0!==this.size?this.size===1/0||s<this.size:-1!==this.indexOf(s))},interpose:function(s){return reify(this,interposeFactory(this,s))},interleave:function(){var s=[this].concat(arrCopy(arguments)),o=zipWithFactory(this.toSeq(),IndexedSeq.of,s),i=o.flatten(!0);return o.size&&(i.size=o.size*s.length),reify(this,i)},keySeq:function(){return Range(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(s,o){return reify(this,skipWhileFactory(this,s,o,!1))},zip:function(){return reify(this,zipWithFactory(this,defaultZipper,[this].concat(arrCopy(arguments))))},zipWith:function(s){var o=arrCopy(arguments);return o[0]=this,reify(this,zipWithFactory(this,s,o))}}),IndexedIterable.prototype[a]=!0,IndexedIterable.prototype[u]=!0,mixin(SetIterable,{get:function(s,o){return this.has(s)?s:o},includes:function(s){return this.has(s)},keySeq:function(){return this.valueSeq()}}),SetIterable.prototype.has=ut.includes,SetIterable.prototype.contains=SetIterable.prototype.includes,mixin(KeyedSeq,KeyedIterable.prototype),mixin(IndexedSeq,IndexedIterable.prototype),mixin(SetSeq,SetIterable.prototype),mixin(KeyedCollection,KeyedIterable.prototype),mixin(IndexedCollection,IndexedIterable.prototype),mixin(SetCollection,SetIterable.prototype),{Iterable,Seq,Collection,Map,OrderedMap,List,Stack,Set,OrderedSet,Record,Range,Repeat,is,fromJS}}()},9748:(s,o,i)=>{\"use strict\";i(71340);var a=i(92046);s.exports=a.Object.assign},9957:(s,o,i)=>{\"use strict\";var a=Function.prototype.call,u=Object.prototype.hasOwnProperty,_=i(66743);s.exports=_.call(a,u)},9999:(s,o,i)=>{var a=i(37217),u=i(83729),_=i(16547),w=i(74733),x=i(43838),C=i(93290),j=i(23007),L=i(92271),B=i(48948),$=i(50002),U=i(83349),V=i(5861),z=i(76189),Y=i(77199),Z=i(35529),ee=i(56449),ie=i(3656),ae=i(87730),ce=i(23805),le=i(38440),pe=i(95950),de=i(37241),fe=\"[object Arguments]\",ye=\"[object Function]\",be=\"[object Object]\",_e={};_e[fe]=_e[\"[object Array]\"]=_e[\"[object ArrayBuffer]\"]=_e[\"[object DataView]\"]=_e[\"[object Boolean]\"]=_e[\"[object Date]\"]=_e[\"[object Float32Array]\"]=_e[\"[object Float64Array]\"]=_e[\"[object Int8Array]\"]=_e[\"[object Int16Array]\"]=_e[\"[object Int32Array]\"]=_e[\"[object Map]\"]=_e[\"[object Number]\"]=_e[be]=_e[\"[object RegExp]\"]=_e[\"[object Set]\"]=_e[\"[object String]\"]=_e[\"[object Symbol]\"]=_e[\"[object Uint8Array]\"]=_e[\"[object Uint8ClampedArray]\"]=_e[\"[object Uint16Array]\"]=_e[\"[object Uint32Array]\"]=!0,_e[\"[object Error]\"]=_e[ye]=_e[\"[object WeakMap]\"]=!1,s.exports=function baseClone(s,o,i,Se,we,xe){var Pe,Te=1&o,Re=2&o,$e=4&o;if(i&&(Pe=we?i(s,Se,we,xe):i(s)),void 0!==Pe)return Pe;if(!ce(s))return s;var qe=ee(s);if(qe){if(Pe=z(s),!Te)return j(s,Pe)}else{var ze=V(s),We=ze==ye||\"[object GeneratorFunction]\"==ze;if(ie(s))return C(s,Te);if(ze==be||ze==fe||We&&!we){if(Pe=Re||We?{}:Z(s),!Te)return Re?B(s,x(Pe,s)):L(s,w(Pe,s))}else{if(!_e[ze])return we?s:{};Pe=Y(s,ze,Te)}}xe||(xe=new a);var He=xe.get(s);if(He)return He;xe.set(s,Pe),le(s)?s.forEach((function(a){Pe.add(baseClone(a,o,i,a,s,xe))})):ae(s)&&s.forEach((function(a,u){Pe.set(u,baseClone(a,o,i,u,s,xe))}));var Ye=qe?void 0:($e?Re?U:$:Re?de:pe)(s);return u(Ye||s,(function(a,u){Ye&&(a=s[u=a]),_(Pe,u,baseClone(a,o,i,u,s,xe))})),Pe}},10023:(s,o,i)=>{const a=i(6205),INTS=()=>[{type:a.RANGE,from:48,to:57}],WORDS=()=>[{type:a.CHAR,value:95},{type:a.RANGE,from:97,to:122},{type:a.RANGE,from:65,to:90}].concat(INTS()),WHITESPACE=()=>[{type:a.CHAR,value:9},{type:a.CHAR,value:10},{type:a.CHAR,value:11},{type:a.CHAR,value:12},{type:a.CHAR,value:13},{type:a.CHAR,value:32},{type:a.CHAR,value:160},{type:a.CHAR,value:5760},{type:a.RANGE,from:8192,to:8202},{type:a.CHAR,value:8232},{type:a.CHAR,value:8233},{type:a.CHAR,value:8239},{type:a.CHAR,value:8287},{type:a.CHAR,value:12288},{type:a.CHAR,value:65279}];o.words=()=>({type:a.SET,set:WORDS(),not:!1}),o.notWords=()=>({type:a.SET,set:WORDS(),not:!0}),o.ints=()=>({type:a.SET,set:INTS(),not:!1}),o.notInts=()=>({type:a.SET,set:INTS(),not:!0}),o.whitespace=()=>({type:a.SET,set:WHITESPACE(),not:!1}),o.notWhitespace=()=>({type:a.SET,set:WHITESPACE(),not:!0}),o.anyChar=()=>({type:a.SET,set:[{type:a.CHAR,value:10},{type:a.CHAR,value:13},{type:a.CHAR,value:8232},{type:a.CHAR,value:8233}],not:!0})},10043:(s,o,i)=>{\"use strict\";var a=i(54018),u=String,_=TypeError;s.exports=function(s){if(a(s))return s;throw new _(\"Can't set \"+u(s)+\" as a prototype\")}},10076:s=>{\"use strict\";s.exports=Function.prototype.call},10124:(s,o,i)=>{var a=i(9325);s.exports=function(){return a.Date.now()}},10300:(s,o,i)=>{\"use strict\";var a=i(13930),u=i(82159),_=i(36624),w=i(4640),x=i(73448),C=TypeError;s.exports=function(s,o){var i=arguments.length<2?x(s):o;if(u(i))return _(a(i,s));throw new C(w(s)+\" is not iterable\")}},10316:(s,o,i)=>{const a=i(2404),u=i(55973),_=i(92340);class Element{constructor(s,o,i){o&&(this.meta=o),i&&(this.attributes=i),this.content=s}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((s=>{s.parent=this,s.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const s=new this.constructor;return s.element=this.element,this.meta.length&&(s._meta=this.meta.clone()),this.attributes.length&&(s._attributes=this.attributes.clone()),this.content?this.content.clone?s.content=this.content.clone():Array.isArray(this.content)?s.content=this.content.map((s=>s.clone())):s.content=this.content:s.content=this.content,s}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof u?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((s=>s.toValue()),this):this.content}toRef(s){if(\"\"===this.id.toValue())throw Error(\"Cannot create reference to an element that does not contain an ID\");const o=new this.RefElement(this.id.toValue());return s&&(o.path=s),o}findRecursive(...s){if(arguments.length>1&&!this.isFrozen)throw new Error(\"Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`\");const o=s.pop();let i=new _;const append=(s,o)=>(s.push(o),s),checkElement=(s,i)=>{i.element===o&&s.push(i);const a=i.findRecursive(o);return a&&a.reduce(append,s),i.content instanceof u&&(i.content.key&&checkElement(s,i.content.key),i.content.value&&checkElement(s,i.content.value)),s};return this.content&&(this.content.element&&checkElement(i,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,i)),s.isEmpty||(i=i.filter((o=>{let i=o.parents.map((s=>s.element));for(const o in s){const a=s[o],u=i.indexOf(a);if(-1===u)return!1;i=i.splice(0,u)}return!0}))),i}set(s){return this.content=s,this}equals(s){return a(this.toValue(),s)}getMetaProperty(s,o){if(!this.meta.hasKey(s)){if(this.isFrozen){const s=this.refract(o);return s.freeze(),s}this.meta.set(s,o)}return this.meta.get(s)}setMetaProperty(s,o){this.meta.set(s,o)}get element(){return this._storedElement||\"element\"}set element(s){this._storedElement=s}get content(){return this._content}set content(s){if(s instanceof Element)this._content=s;else if(s instanceof _)this.content=s.elements;else if(\"string\"==typeof s||\"number\"==typeof s||\"boolean\"==typeof s||\"null\"===s||null==s)this._content=s;else if(s instanceof u)this._content=s;else if(Array.isArray(s))this._content=s.map(this.refract);else{if(\"object\"!=typeof s)throw new Error(\"Cannot set content to given value\");this._content=Object.keys(s).map((o=>new this.MemberElement(o,s[o])))}}get meta(){if(!this._meta){if(this.isFrozen){const s=new this.ObjectElement;return s.freeze(),s}this._meta=new this.ObjectElement}return this._meta}set meta(s){s instanceof this.ObjectElement?this._meta=s:this.meta.set(s||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const s=new this.ObjectElement;return s.freeze(),s}this._attributes=new this.ObjectElement}return this._attributes}set attributes(s){s instanceof this.ObjectElement?this._attributes=s:this.attributes.set(s||{})}get id(){return this.getMetaProperty(\"id\",\"\")}set id(s){this.setMetaProperty(\"id\",s)}get classes(){return this.getMetaProperty(\"classes\",[])}set classes(s){this.setMetaProperty(\"classes\",s)}get title(){return this.getMetaProperty(\"title\",\"\")}set title(s){this.setMetaProperty(\"title\",s)}get description(){return this.getMetaProperty(\"description\",\"\")}set description(s){this.setMetaProperty(\"description\",s)}get links(){return this.getMetaProperty(\"links\",[])}set links(s){this.setMetaProperty(\"links\",s)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:s}=this;const o=new _;for(;s;)o.push(s),s=s.parent;return o}get children(){if(Array.isArray(this.content))return new _(this.content);if(this.content instanceof u){const s=new _([this.content.key]);return this.content.value&&s.push(this.content.value),s}return this.content instanceof Element?new _([this.content]):new _}get recursiveChildren(){const s=new _;return this.children.forEach((o=>{s.push(o),o.recursiveChildren.forEach((o=>{s.push(o)}))})),s}}s.exports=Element},10392:s=>{s.exports=function getValue(s,o){return null==s?void 0:s[o]}},10487:(s,o,i)=>{\"use strict\";var a=i(96897),u=i(30655),_=i(73126),w=i(12205);s.exports=function callBind(s){var o=_(arguments),i=s.length-(arguments.length-1);return a(o,1+(i>0?i:0),!0)},u?u(s.exports,\"apply\",{value:w}):s.exports.apply=w},10776:(s,o,i)=>{var a=i(30756),u=i(95950);s.exports=function getMatchData(s){for(var o=u(s),i=o.length;i--;){var _=o[i],w=s[_];o[i]=[_,w,a(w)]}return o}},10866:(s,o,i)=>{const a=i(6048),u=i(92340);class ObjectSlice extends u{map(s,o){return this.elements.map((i=>s.bind(o)(i.value,i.key,i)))}filter(s,o){return new ObjectSlice(this.elements.filter((i=>s.bind(o)(i.value,i.key,i))))}reject(s,o){return this.filter(a(s.bind(o)))}forEach(s,o){return this.elements.forEach(((i,a)=>{s.bind(o)(i.value,i.key,i,a)}))}keys(){return this.map(((s,o)=>o.toValue()))}values(){return this.map((s=>s.toValue()))}}s.exports=ObjectSlice},11002:s=>{\"use strict\";s.exports=Function.prototype.apply},11042:(s,o,i)=>{\"use strict\";var a=i(85582),u=i(1907),_=i(24443),w=i(87170),x=i(36624),C=u([].concat);s.exports=a(\"Reflect\",\"ownKeys\")||function ownKeys(s){var o=_.f(x(s)),i=w.f;return i?C(o,i(s)):o}},11091:(s,o,i)=>{\"use strict\";var a=i(45951),u=i(76024),_=i(92361),w=i(62250),x=i(13846).f,C=i(7463),j=i(92046),L=i(28311),B=i(61626),$=i(49724);i(36128);var wrapConstructor=function(s){var Wrapper=function(o,i,a){if(this instanceof Wrapper){switch(arguments.length){case 0:return new s;case 1:return new s(o);case 2:return new s(o,i)}return new s(o,i,a)}return u(s,this,arguments)};return Wrapper.prototype=s.prototype,Wrapper};s.exports=function(s,o){var i,u,U,V,z,Y,Z,ee,ie,ae=s.target,ce=s.global,le=s.stat,pe=s.proto,de=ce?a:le?a[ae]:a[ae]&&a[ae].prototype,fe=ce?j:j[ae]||B(j,ae,{})[ae],ye=fe.prototype;for(V in o)u=!(i=C(ce?V:ae+(le?\".\":\"#\")+V,s.forced))&&de&&$(de,V),Y=fe[V],u&&(Z=s.dontCallGetSet?(ie=x(de,V))&&ie.value:de[V]),z=u&&Z?Z:o[V],(i||pe||typeof Y!=typeof z)&&(ee=s.bind&&u?L(z,a):s.wrap&&u?wrapConstructor(z):pe&&w(z)?_(z):z,(s.sham||z&&z.sham||Y&&Y.sham)&&B(ee,\"sham\",!0),B(fe,V,ee),pe&&($(j,U=ae+\"Prototype\")||B(j,U,{}),B(j[U],V,z),s.real&&ye&&(i||!ye[V])&&B(ye,V,z)))}},11287:s=>{s.exports=function getHolder(s){return s.placeholder}},11331:(s,o,i)=>{var a=i(72552),u=i(28879),_=i(40346),w=Function.prototype,x=Object.prototype,C=w.toString,j=x.hasOwnProperty,L=C.call(Object);s.exports=function isPlainObject(s){if(!_(s)||\"[object Object]\"!=a(s))return!1;var o=u(s);if(null===o)return!0;var i=j.call(o,\"constructor\")&&o.constructor;return\"function\"==typeof i&&i instanceof i&&C.call(i)==L}},11470:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(65482),_=i(90160),w=i(74239),x=a(\"\".charAt),C=a(\"\".charCodeAt),j=a(\"\".slice),createMethod=function(s){return function(o,i){var a,L,B=_(w(o)),$=u(i),U=B.length;return $<0||$>=U?s?\"\":void 0:(a=C(B,$))<55296||a>56319||$+1===U||(L=C(B,$+1))<56320||L>57343?s?x(B,$):a:s?j(B,$,$+2):L-56320+(a-55296<<10)+65536}};s.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},11842:(s,o,i)=>{var a=i(82819),u=i(9325);s.exports=function createBind(s,o,i){var _=1&o,w=a(s);return function wrapper(){return(this&&this!==u&&this instanceof wrapper?w:s).apply(_?i:this,arguments)}}},12205:(s,o,i)=>{\"use strict\";var a=i(66743),u=i(11002),_=i(13144);s.exports=function applyBind(){return _(a,u,arguments)}},12242:(s,o,i)=>{const a=i(10316);s.exports=class BooleanElement extends a{constructor(s,o,i){super(s,o,i),this.element=\"boolean\"}primitive(){return\"boolean\"}}},12507:(s,o,i)=>{var a=i(28754),u=i(49698),_=i(63912),w=i(13222);s.exports=function createCaseFirst(s){return function(o){o=w(o);var i=u(o)?_(o):void 0,x=i?i[0]:o.charAt(0),C=i?a(i,1).join(\"\"):o.slice(1);return x[s]()+C}}},12560:(s,o,i)=>{\"use strict\";i(99363);var a=i(19287),u=i(45951),_=i(14840),w=i(93742);for(var x in a)_(u[x],x),w[x]=w.Array},12651:(s,o,i)=>{var a=i(74218);s.exports=function getMapData(s,o){var i=s.__data__;return a(o)?i[\"string\"==typeof o?\"string\":\"hash\"]:i.map}},12749:(s,o,i)=>{var a=i(81042),u=Object.prototype.hasOwnProperty;s.exports=function hashHas(s){var o=this.__data__;return a?void 0!==o[s]:u.call(o,s)}},13144:(s,o,i)=>{\"use strict\";var a=i(66743),u=i(11002),_=i(10076),w=i(47119);s.exports=w||a.call(_,u)},13222:(s,o,i)=>{var a=i(77556);s.exports=function toString(s){return null==s?\"\":a(s)}},13846:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(13930),_=i(22574),w=i(75817),x=i(4993),C=i(70470),j=i(49724),L=i(73648),B=Object.getOwnPropertyDescriptor;o.f=a?B:function getOwnPropertyDescriptor(s,o){if(s=x(s),o=C(o),L)try{return B(s,o)}catch(s){}if(j(s,o))return w(!u(_.f,s,o),s[o])}},13930:(s,o,i)=>{\"use strict\";var a=i(41505),u=Function.prototype.call;s.exports=a?u.bind(u):function(){return u.apply(u,arguments)}},14248:s=>{s.exports=function arraySome(s,o){for(var i=-1,a=null==s?0:s.length;++i<a;)if(o(s[i],i,s))return!0;return!1}},14528:s=>{s.exports=function arrayPush(s,o){for(var i=-1,a=o.length,u=s.length;++i<a;)s[u+i]=o[i];return s}},14540:(s,o,i)=>{const a=i(10316);s.exports=class RefElement extends a{constructor(s,o,i){super(s||[],o,i),this.element=\"ref\",this.path||(this.path=\"element\")}get path(){return this.attributes.get(\"path\")}set path(s){this.attributes.set(\"path\",s)}}},14744:s=>{\"use strict\";var o=function isMergeableObject(s){return function isNonNullObject(s){return!!s&&\"object\"==typeof s}(s)&&!function isSpecial(s){var o=Object.prototype.toString.call(s);return\"[object RegExp]\"===o||\"[object Date]\"===o||function isReactElement(s){return s.$$typeof===i}(s)}(s)};var i=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function cloneUnlessOtherwiseSpecified(s,o){return!1!==o.clone&&o.isMergeableObject(s)?deepmerge(function emptyTarget(s){return Array.isArray(s)?[]:{}}(s),s,o):s}function defaultArrayMerge(s,o,i){return s.concat(o).map((function(s){return cloneUnlessOtherwiseSpecified(s,i)}))}function getKeys(s){return Object.keys(s).concat(function getEnumerableOwnPropertySymbols(s){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(s).filter((function(o){return Object.propertyIsEnumerable.call(s,o)})):[]}(s))}function propertyIsOnObject(s,o){try{return o in s}catch(s){return!1}}function mergeObject(s,o,i){var a={};return i.isMergeableObject(s)&&getKeys(s).forEach((function(o){a[o]=cloneUnlessOtherwiseSpecified(s[o],i)})),getKeys(o).forEach((function(u){(function propertyIsUnsafe(s,o){return propertyIsOnObject(s,o)&&!(Object.hasOwnProperty.call(s,o)&&Object.propertyIsEnumerable.call(s,o))})(s,u)||(propertyIsOnObject(s,u)&&i.isMergeableObject(o[u])?a[u]=function getMergeFunction(s,o){if(!o.customMerge)return deepmerge;var i=o.customMerge(s);return\"function\"==typeof i?i:deepmerge}(u,i)(s[u],o[u],i):a[u]=cloneUnlessOtherwiseSpecified(o[u],i))})),a}function deepmerge(s,i,a){(a=a||{}).arrayMerge=a.arrayMerge||defaultArrayMerge,a.isMergeableObject=a.isMergeableObject||o,a.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var u=Array.isArray(i);return u===Array.isArray(s)?u?a.arrayMerge(s,i,a):mergeObject(s,i,a):cloneUnlessOtherwiseSpecified(i,a)}deepmerge.all=function deepmergeAll(s,o){if(!Array.isArray(s))throw new Error(\"first argument should be an array\");return s.reduce((function(s,i){return deepmerge(s,i,o)}),{})};var a=deepmerge;s.exports=a},14792:(s,o,i)=>{var a=i(13222),u=i(55808);s.exports=function capitalize(s){return u(a(s).toLowerCase())}},14840:(s,o,i)=>{\"use strict\";var a=i(52623),u=i(74284).f,_=i(61626),w=i(49724),x=i(54878),C=i(76264)(\"toStringTag\");s.exports=function(s,o,i,j){var L=i?s:s&&s.prototype;L&&(w(L,C)||u(L,C,{configurable:!0,value:o}),j&&!a&&_(L,\"toString\",x))}},14974:s=>{s.exports=function safeGet(s,o){if((\"constructor\"!==o||\"function\"!=typeof s[o])&&\"__proto__\"!=o)return s[o]}},15287:(s,o)=>{\"use strict\";var i=Symbol.for(\"react.element\"),a=Symbol.for(\"react.portal\"),u=Symbol.for(\"react.fragment\"),_=Symbol.for(\"react.strict_mode\"),w=Symbol.for(\"react.profiler\"),x=Symbol.for(\"react.provider\"),C=Symbol.for(\"react.context\"),j=Symbol.for(\"react.forward_ref\"),L=Symbol.for(\"react.suspense\"),B=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),U=Symbol.iterator;var V={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},z=Object.assign,Y={};function E(s,o,i){this.props=s,this.context=o,this.refs=Y,this.updater=i||V}function F(){}function G(s,o,i){this.props=s,this.context=o,this.refs=Y,this.updater=i||V}E.prototype.isReactComponent={},E.prototype.setState=function(s,o){if(\"object\"!=typeof s&&\"function\"!=typeof s&&null!=s)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,s,o,\"setState\")},E.prototype.forceUpdate=function(s){this.updater.enqueueForceUpdate(this,s,\"forceUpdate\")},F.prototype=E.prototype;var Z=G.prototype=new F;Z.constructor=G,z(Z,E.prototype),Z.isPureReactComponent=!0;var ee=Array.isArray,ie=Object.prototype.hasOwnProperty,ae={current:null},ce={key:!0,ref:!0,__self:!0,__source:!0};function M(s,o,a){var u,_={},w=null,x=null;if(null!=o)for(u in void 0!==o.ref&&(x=o.ref),void 0!==o.key&&(w=\"\"+o.key),o)ie.call(o,u)&&!ce.hasOwnProperty(u)&&(_[u]=o[u]);var C=arguments.length-2;if(1===C)_.children=a;else if(1<C){for(var j=Array(C),L=0;L<C;L++)j[L]=arguments[L+2];_.children=j}if(s&&s.defaultProps)for(u in C=s.defaultProps)void 0===_[u]&&(_[u]=C[u]);return{$$typeof:i,type:s,key:w,ref:x,props:_,_owner:ae.current}}function O(s){return\"object\"==typeof s&&null!==s&&s.$$typeof===i}var le=/\\/+/g;function Q(s,o){return\"object\"==typeof s&&null!==s&&null!=s.key?function escape(s){var o={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+s.replace(/[=:]/g,(function(s){return o[s]}))}(\"\"+s.key):o.toString(36)}function R(s,o,u,_,w){var x=typeof s;\"undefined\"!==x&&\"boolean\"!==x||(s=null);var C=!1;if(null===s)C=!0;else switch(x){case\"string\":case\"number\":C=!0;break;case\"object\":switch(s.$$typeof){case i:case a:C=!0}}if(C)return w=w(C=s),s=\"\"===_?\".\"+Q(C,0):_,ee(w)?(u=\"\",null!=s&&(u=s.replace(le,\"$&/\")+\"/\"),R(w,o,u,\"\",(function(s){return s}))):null!=w&&(O(w)&&(w=function N(s,o){return{$$typeof:i,type:s.type,key:o,ref:s.ref,props:s.props,_owner:s._owner}}(w,u+(!w.key||C&&C.key===w.key?\"\":(\"\"+w.key).replace(le,\"$&/\")+\"/\")+s)),o.push(w)),1;if(C=0,_=\"\"===_?\".\":_+\":\",ee(s))for(var j=0;j<s.length;j++){var L=_+Q(x=s[j],j);C+=R(x,o,u,L,w)}else if(L=function A(s){return null===s||\"object\"!=typeof s?null:\"function\"==typeof(s=U&&s[U]||s[\"@@iterator\"])?s:null}(s),\"function\"==typeof L)for(s=L.call(s),j=0;!(x=s.next()).done;)C+=R(x=x.value,o,u,L=_+Q(x,j++),w);else if(\"object\"===x)throw o=String(s),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===o?\"object with keys {\"+Object.keys(s).join(\", \")+\"}\":o)+\"). If you meant to render a collection of children, use an array instead.\");return C}function S(s,o,i){if(null==s)return s;var a=[],u=0;return R(s,a,\"\",\"\",(function(s){return o.call(i,s,u++)})),a}function T(s){if(-1===s._status){var o=s._result;(o=o()).then((function(o){0!==s._status&&-1!==s._status||(s._status=1,s._result=o)}),(function(o){0!==s._status&&-1!==s._status||(s._status=2,s._result=o)})),-1===s._status&&(s._status=0,s._result=o)}if(1===s._status)return s._result.default;throw s._result}var pe={current:null},de={transition:null},fe={ReactCurrentDispatcher:pe,ReactCurrentBatchConfig:de,ReactCurrentOwner:ae};function X(){throw Error(\"act(...) is not supported in production builds of React.\")}o.Children={map:S,forEach:function(s,o,i){S(s,(function(){o.apply(this,arguments)}),i)},count:function(s){var o=0;return S(s,(function(){o++})),o},toArray:function(s){return S(s,(function(s){return s}))||[]},only:function(s){if(!O(s))throw Error(\"React.Children.only expected to receive a single React element child.\");return s}},o.Component=E,o.Fragment=u,o.Profiler=w,o.PureComponent=G,o.StrictMode=_,o.Suspense=L,o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=fe,o.act=X,o.cloneElement=function(s,o,a){if(null==s)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+s+\".\");var u=z({},s.props),_=s.key,w=s.ref,x=s._owner;if(null!=o){if(void 0!==o.ref&&(w=o.ref,x=ae.current),void 0!==o.key&&(_=\"\"+o.key),s.type&&s.type.defaultProps)var C=s.type.defaultProps;for(j in o)ie.call(o,j)&&!ce.hasOwnProperty(j)&&(u[j]=void 0===o[j]&&void 0!==C?C[j]:o[j])}var j=arguments.length-2;if(1===j)u.children=a;else if(1<j){C=Array(j);for(var L=0;L<j;L++)C[L]=arguments[L+2];u.children=C}return{$$typeof:i,type:s.type,key:_,ref:w,props:u,_owner:x}},o.createContext=function(s){return(s={$$typeof:C,_currentValue:s,_currentValue2:s,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:x,_context:s},s.Consumer=s},o.createElement=M,o.createFactory=function(s){var o=M.bind(null,s);return o.type=s,o},o.createRef=function(){return{current:null}},o.forwardRef=function(s){return{$$typeof:j,render:s}},o.isValidElement=O,o.lazy=function(s){return{$$typeof:$,_payload:{_status:-1,_result:s},_init:T}},o.memo=function(s,o){return{$$typeof:B,type:s,compare:void 0===o?null:o}},o.startTransition=function(s){var o=de.transition;de.transition={};try{s()}finally{de.transition=o}},o.unstable_act=X,o.useCallback=function(s,o){return pe.current.useCallback(s,o)},o.useContext=function(s){return pe.current.useContext(s)},o.useDebugValue=function(){},o.useDeferredValue=function(s){return pe.current.useDeferredValue(s)},o.useEffect=function(s,o){return pe.current.useEffect(s,o)},o.useId=function(){return pe.current.useId()},o.useImperativeHandle=function(s,o,i){return pe.current.useImperativeHandle(s,o,i)},o.useInsertionEffect=function(s,o){return pe.current.useInsertionEffect(s,o)},o.useLayoutEffect=function(s,o){return pe.current.useLayoutEffect(s,o)},o.useMemo=function(s,o){return pe.current.useMemo(s,o)},o.useReducer=function(s,o,i){return pe.current.useReducer(s,o,i)},o.useRef=function(s){return pe.current.useRef(s)},o.useState=function(s){return pe.current.useState(s)},o.useSyncExternalStore=function(s,o,i){return pe.current.useSyncExternalStore(s,o,i)},o.useTransition=function(){return pe.current.useTransition()},o.version=\"18.3.1\"},15325:(s,o,i)=>{var a=i(96131);s.exports=function arrayIncludes(s,o){return!!(null==s?0:s.length)&&a(s,o,0)>-1}},15340:()=>{},15377:(s,o,i)=>{\"use strict\";var a=i(92861).Buffer,u=i(64634),_=i(74372),w=ArrayBuffer.isView||function isView(s){try{return _(s),!0}catch(s){return!1}},x=\"undefined\"!=typeof Uint8Array,C=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array,j=C&&(a.prototype instanceof Uint8Array||a.TYPED_ARRAY_SUPPORT);s.exports=function toBuffer(s,o){if(s instanceof a)return s;if(\"string\"==typeof s)return a.from(s,o);if(C&&w(s)){if(0===s.byteLength)return a.alloc(0);if(j){var i=a.from(s.buffer,s.byteOffset,s.byteLength);if(i.byteLength===s.byteLength)return i}var _=s instanceof Uint8Array?s:new Uint8Array(s.buffer,s.byteOffset,s.byteLength),L=a.from(_);if(L.length===s.byteLength)return L}if(x&&s instanceof Uint8Array)return a.from(s);var B=u(s);if(B)for(var $=0;$<s.length;$+=1){var U=s[$];if(\"number\"!=typeof U||U<0||U>255||~~U!==U)throw new RangeError(\"Array items must be numbers in the range 0-255.\")}if(B||a.isBuffer(s)&&s.constructor&&\"function\"==typeof s.constructor.isBuffer&&s.constructor.isBuffer(s))return a.from(s);throw new TypeError('The \"data\" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}},15389:(s,o,i)=>{var a=i(93663),u=i(87978),_=i(83488),w=i(56449),x=i(50583);s.exports=function baseIteratee(s){return\"function\"==typeof s?s:null==s?_:\"object\"==typeof s?w(s)?u(s[0],s[1]):a(s):x(s)}},15972:(s,o,i)=>{\"use strict\";var a=i(49724),u=i(62250),_=i(39298),w=i(92522),x=i(57382),C=w(\"IE_PROTO\"),j=Object,L=j.prototype;s.exports=x?j.getPrototypeOf:function(s){var o=_(s);if(a(o,C))return o[C];var i=o.constructor;return u(i)&&o instanceof i?i.prototype:o instanceof j?L:null}},16038:(s,o,i)=>{var a=i(5861),u=i(40346);s.exports=function baseIsSet(s){return u(s)&&\"[object Set]\"==a(s)}},16426:s=>{s.exports=function(){var s=document.getSelection();if(!s.rangeCount)return function(){};for(var o=document.activeElement,i=[],a=0;a<s.rangeCount;a++)i.push(s.getRangeAt(a));switch(o.tagName.toUpperCase()){case\"INPUT\":case\"TEXTAREA\":o.blur();break;default:o=null}return s.removeAllRanges(),function(){\"Caret\"===s.type&&s.removeAllRanges(),s.rangeCount||i.forEach((function(o){s.addRange(o)})),o&&o.focus()}}},16547:(s,o,i)=>{var a=i(43360),u=i(75288),_=Object.prototype.hasOwnProperty;s.exports=function assignValue(s,o,i){var w=s[o];_.call(s,o)&&u(w,i)&&(void 0!==i||o in s)||a(s,o,i)}},16708:(s,o,i)=>{\"use strict\";var a,u=i(65606);function CorkedRequest(s){var o=this;this.next=null,this.entry=null,this.finish=function(){!function onCorkedFinish(s,o,i){var a=s.entry;s.entry=null;for(;a;){var u=a.callback;o.pendingcb--,u(i),a=a.next}o.corkedRequestsFree.next=s}(o,s)}}s.exports=Writable,Writable.WritableState=WritableState;var _={deprecate:i(94643)},w=i(40345),x=i(48287).Buffer,C=(void 0!==i.g?i.g:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var j,L=i(75896),B=i(65291).getHighWaterMark,$=i(86048).F,U=$.ERR_INVALID_ARG_TYPE,V=$.ERR_METHOD_NOT_IMPLEMENTED,z=$.ERR_MULTIPLE_CALLBACK,Y=$.ERR_STREAM_CANNOT_PIPE,Z=$.ERR_STREAM_DESTROYED,ee=$.ERR_STREAM_NULL_VALUES,ie=$.ERR_STREAM_WRITE_AFTER_END,ae=$.ERR_UNKNOWN_ENCODING,ce=L.errorOrDestroy;function nop(){}function WritableState(s,o,_){a=a||i(25382),s=s||{},\"boolean\"!=typeof _&&(_=o instanceof a),this.objectMode=!!s.objectMode,_&&(this.objectMode=this.objectMode||!!s.writableObjectMode),this.highWaterMark=B(this,s,\"writableHighWaterMark\",_),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var w=!1===s.decodeStrings;this.decodeStrings=!w,this.defaultEncoding=s.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(s){!function onwrite(s,o){var i=s._writableState,a=i.sync,_=i.writecb;if(\"function\"!=typeof _)throw new z;if(function onwriteStateUpdate(s){s.writing=!1,s.writecb=null,s.length-=s.writelen,s.writelen=0}(i),o)!function onwriteError(s,o,i,a,_){--o.pendingcb,i?(u.nextTick(_,a),u.nextTick(finishMaybe,s,o),s._writableState.errorEmitted=!0,ce(s,a)):(_(a),s._writableState.errorEmitted=!0,ce(s,a),finishMaybe(s,o))}(s,i,a,o,_);else{var w=needFinish(i)||s.destroyed;w||i.corked||i.bufferProcessing||!i.bufferedRequest||clearBuffer(s,i),a?u.nextTick(afterWrite,s,i,w,_):afterWrite(s,i,w,_)}}(o,s)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==s.emitClose,this.autoDestroy=!!s.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(s){var o=this instanceof(a=a||i(25382));if(!o&&!j.call(Writable,this))return new Writable(s);this._writableState=new WritableState(s,this,o),this.writable=!0,s&&(\"function\"==typeof s.write&&(this._write=s.write),\"function\"==typeof s.writev&&(this._writev=s.writev),\"function\"==typeof s.destroy&&(this._destroy=s.destroy),\"function\"==typeof s.final&&(this._final=s.final)),w.call(this)}function doWrite(s,o,i,a,u,_,w){o.writelen=a,o.writecb=w,o.writing=!0,o.sync=!0,o.destroyed?o.onwrite(new Z(\"write\")):i?s._writev(u,o.onwrite):s._write(u,_,o.onwrite),o.sync=!1}function afterWrite(s,o,i,a){i||function onwriteDrain(s,o){0===o.length&&o.needDrain&&(o.needDrain=!1,s.emit(\"drain\"))}(s,o),o.pendingcb--,a(),finishMaybe(s,o)}function clearBuffer(s,o){o.bufferProcessing=!0;var i=o.bufferedRequest;if(s._writev&&i&&i.next){var a=o.bufferedRequestCount,u=new Array(a),_=o.corkedRequestsFree;_.entry=i;for(var w=0,x=!0;i;)u[w]=i,i.isBuf||(x=!1),i=i.next,w+=1;u.allBuffers=x,doWrite(s,o,!0,o.length,u,\"\",_.finish),o.pendingcb++,o.lastBufferedRequest=null,_.next?(o.corkedRequestsFree=_.next,_.next=null):o.corkedRequestsFree=new CorkedRequest(o),o.bufferedRequestCount=0}else{for(;i;){var C=i.chunk,j=i.encoding,L=i.callback;if(doWrite(s,o,!1,o.objectMode?1:C.length,C,j,L),i=i.next,o.bufferedRequestCount--,o.writing)break}null===i&&(o.lastBufferedRequest=null)}o.bufferedRequest=i,o.bufferProcessing=!1}function needFinish(s){return s.ending&&0===s.length&&null===s.bufferedRequest&&!s.finished&&!s.writing}function callFinal(s,o){s._final((function(i){o.pendingcb--,i&&ce(s,i),o.prefinished=!0,s.emit(\"prefinish\"),finishMaybe(s,o)}))}function finishMaybe(s,o){var i=needFinish(o);if(i&&(function prefinish(s,o){o.prefinished||o.finalCalled||(\"function\"!=typeof s._final||o.destroyed?(o.prefinished=!0,s.emit(\"prefinish\")):(o.pendingcb++,o.finalCalled=!0,u.nextTick(callFinal,s,o)))}(s,o),0===o.pendingcb&&(o.finished=!0,s.emit(\"finish\"),o.autoDestroy))){var a=s._readableState;(!a||a.autoDestroy&&a.endEmitted)&&s.destroy()}return i}i(56698)(Writable,w),WritableState.prototype.getBuffer=function getBuffer(){for(var s=this.bufferedRequest,o=[];s;)o.push(s),s=s.next;return o},function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:_.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(s){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(s){return!!j.call(this,s)||this===Writable&&(s&&s._writableState instanceof WritableState)}})):j=function realHasInstance(s){return s instanceof this},Writable.prototype.pipe=function(){ce(this,new Y)},Writable.prototype.write=function(s,o,i){var a=this._writableState,_=!1,w=!a.objectMode&&function _isUint8Array(s){return x.isBuffer(s)||s instanceof C}(s);return w&&!x.isBuffer(s)&&(s=function _uint8ArrayToBuffer(s){return x.from(s)}(s)),\"function\"==typeof o&&(i=o,o=null),w?o=\"buffer\":o||(o=a.defaultEncoding),\"function\"!=typeof i&&(i=nop),a.ending?function writeAfterEnd(s,o){var i=new ie;ce(s,i),u.nextTick(o,i)}(this,i):(w||function validChunk(s,o,i,a){var _;return null===i?_=new ee:\"string\"==typeof i||o.objectMode||(_=new U(\"chunk\",[\"string\",\"Buffer\"],i)),!_||(ce(s,_),u.nextTick(a,_),!1)}(this,a,s,i))&&(a.pendingcb++,_=function writeOrBuffer(s,o,i,a,u,_){if(!i){var w=function decodeChunk(s,o,i){s.objectMode||!1===s.decodeStrings||\"string\"!=typeof o||(o=x.from(o,i));return o}(o,a,u);a!==w&&(i=!0,u=\"buffer\",a=w)}var C=o.objectMode?1:a.length;o.length+=C;var j=o.length<o.highWaterMark;j||(o.needDrain=!0);if(o.writing||o.corked){var L=o.lastBufferedRequest;o.lastBufferedRequest={chunk:a,encoding:u,isBuf:i,callback:_,next:null},L?L.next=o.lastBufferedRequest:o.bufferedRequest=o.lastBufferedRequest,o.bufferedRequestCount+=1}else doWrite(s,o,!1,C,a,u,_);return j}(this,a,w,s,o,i)),_},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var s=this._writableState;s.corked&&(s.corked--,s.writing||s.corked||s.bufferProcessing||!s.bufferedRequest||clearBuffer(this,s))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(s){if(\"string\"==typeof s&&(s=s.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((s+\"\").toLowerCase())>-1))throw new ae(s);return this._writableState.defaultEncoding=s,this},Object.defineProperty(Writable.prototype,\"writableBuffer\",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(s,o,i){i(new V(\"_write()\"))},Writable.prototype._writev=null,Writable.prototype.end=function(s,o,i){var a=this._writableState;return\"function\"==typeof s?(i=s,s=null,o=null):\"function\"==typeof o&&(i=o,o=null),null!=s&&this.write(s,o),a.corked&&(a.corked=1,this.uncork()),a.ending||function endWritable(s,o,i){o.ending=!0,finishMaybe(s,o),i&&(o.finished?u.nextTick(i):s.once(\"finish\",i));o.ended=!0,s.writable=!1}(this,a,i),this},Object.defineProperty(Writable.prototype,\"writableLength\",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,\"destroyed\",{enumerable:!1,get:function get(){return void 0!==this._writableState&&this._writableState.destroyed},set:function set(s){this._writableState&&(this._writableState.destroyed=s)}}),Writable.prototype.destroy=L.destroy,Writable.prototype._undestroy=L.undestroy,Writable.prototype._destroy=function(s,o){o(s)}},16946:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(98828),_=i(45807),w=Object,x=a(\"\".split);s.exports=u((function(){return!w(\"z\").propertyIsEnumerable(0)}))?function(s){return\"String\"===_(s)?x(s,\"\"):w(s)}:w},16962:(s,o)=>{o.aliasToReal={each:\"forEach\",eachRight:\"forEachRight\",entries:\"toPairs\",entriesIn:\"toPairsIn\",extend:\"assignIn\",extendAll:\"assignInAll\",extendAllWith:\"assignInAllWith\",extendWith:\"assignInWith\",first:\"head\",conforms:\"conformsTo\",matches:\"isMatch\",property:\"get\",__:\"placeholder\",F:\"stubFalse\",T:\"stubTrue\",all:\"every\",allPass:\"overEvery\",always:\"constant\",any:\"some\",anyPass:\"overSome\",apply:\"spread\",assoc:\"set\",assocPath:\"set\",complement:\"negate\",compose:\"flowRight\",contains:\"includes\",dissoc:\"unset\",dissocPath:\"unset\",dropLast:\"dropRight\",dropLastWhile:\"dropRightWhile\",equals:\"isEqual\",identical:\"eq\",indexBy:\"keyBy\",init:\"initial\",invertObj:\"invert\",juxt:\"over\",omitAll:\"omit\",nAry:\"ary\",path:\"get\",pathEq:\"matchesProperty\",pathOr:\"getOr\",paths:\"at\",pickAll:\"pick\",pipe:\"flow\",pluck:\"map\",prop:\"get\",propEq:\"matchesProperty\",propOr:\"getOr\",props:\"at\",symmetricDifference:\"xor\",symmetricDifferenceBy:\"xorBy\",symmetricDifferenceWith:\"xorWith\",takeLast:\"takeRight\",takeLastWhile:\"takeRightWhile\",unapply:\"rest\",unnest:\"flatten\",useWith:\"overArgs\",where:\"conformsTo\",whereEq:\"isMatch\",zipObj:\"zipObject\"},o.aryMethod={1:[\"assignAll\",\"assignInAll\",\"attempt\",\"castArray\",\"ceil\",\"create\",\"curry\",\"curryRight\",\"defaultsAll\",\"defaultsDeepAll\",\"floor\",\"flow\",\"flowRight\",\"fromPairs\",\"invert\",\"iteratee\",\"memoize\",\"method\",\"mergeAll\",\"methodOf\",\"mixin\",\"nthArg\",\"over\",\"overEvery\",\"overSome\",\"rest\",\"reverse\",\"round\",\"runInContext\",\"spread\",\"template\",\"trim\",\"trimEnd\",\"trimStart\",\"uniqueId\",\"words\",\"zipAll\"],2:[\"add\",\"after\",\"ary\",\"assign\",\"assignAllWith\",\"assignIn\",\"assignInAllWith\",\"at\",\"before\",\"bind\",\"bindAll\",\"bindKey\",\"chunk\",\"cloneDeepWith\",\"cloneWith\",\"concat\",\"conformsTo\",\"countBy\",\"curryN\",\"curryRightN\",\"debounce\",\"defaults\",\"defaultsDeep\",\"defaultTo\",\"delay\",\"difference\",\"divide\",\"drop\",\"dropRight\",\"dropRightWhile\",\"dropWhile\",\"endsWith\",\"eq\",\"every\",\"filter\",\"find\",\"findIndex\",\"findKey\",\"findLast\",\"findLastIndex\",\"findLastKey\",\"flatMap\",\"flatMapDeep\",\"flattenDepth\",\"forEach\",\"forEachRight\",\"forIn\",\"forInRight\",\"forOwn\",\"forOwnRight\",\"get\",\"groupBy\",\"gt\",\"gte\",\"has\",\"hasIn\",\"includes\",\"indexOf\",\"intersection\",\"invertBy\",\"invoke\",\"invokeMap\",\"isEqual\",\"isMatch\",\"join\",\"keyBy\",\"lastIndexOf\",\"lt\",\"lte\",\"map\",\"mapKeys\",\"mapValues\",\"matchesProperty\",\"maxBy\",\"meanBy\",\"merge\",\"mergeAllWith\",\"minBy\",\"multiply\",\"nth\",\"omit\",\"omitBy\",\"overArgs\",\"pad\",\"padEnd\",\"padStart\",\"parseInt\",\"partial\",\"partialRight\",\"partition\",\"pick\",\"pickBy\",\"propertyOf\",\"pull\",\"pullAll\",\"pullAt\",\"random\",\"range\",\"rangeRight\",\"rearg\",\"reject\",\"remove\",\"repeat\",\"restFrom\",\"result\",\"sampleSize\",\"some\",\"sortBy\",\"sortedIndex\",\"sortedIndexOf\",\"sortedLastIndex\",\"sortedLastIndexOf\",\"sortedUniqBy\",\"split\",\"spreadFrom\",\"startsWith\",\"subtract\",\"sumBy\",\"take\",\"takeRight\",\"takeRightWhile\",\"takeWhile\",\"tap\",\"throttle\",\"thru\",\"times\",\"trimChars\",\"trimCharsEnd\",\"trimCharsStart\",\"truncate\",\"union\",\"uniqBy\",\"uniqWith\",\"unset\",\"unzipWith\",\"without\",\"wrap\",\"xor\",\"zip\",\"zipObject\",\"zipObjectDeep\"],3:[\"assignInWith\",\"assignWith\",\"clamp\",\"differenceBy\",\"differenceWith\",\"findFrom\",\"findIndexFrom\",\"findLastFrom\",\"findLastIndexFrom\",\"getOr\",\"includesFrom\",\"indexOfFrom\",\"inRange\",\"intersectionBy\",\"intersectionWith\",\"invokeArgs\",\"invokeArgsMap\",\"isEqualWith\",\"isMatchWith\",\"flatMapDepth\",\"lastIndexOfFrom\",\"mergeWith\",\"orderBy\",\"padChars\",\"padCharsEnd\",\"padCharsStart\",\"pullAllBy\",\"pullAllWith\",\"rangeStep\",\"rangeStepRight\",\"reduce\",\"reduceRight\",\"replace\",\"set\",\"slice\",\"sortedIndexBy\",\"sortedLastIndexBy\",\"transform\",\"unionBy\",\"unionWith\",\"update\",\"xorBy\",\"xorWith\",\"zipWith\"],4:[\"fill\",\"setWith\",\"updateWith\"]},o.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},o.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},o.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},o.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},o.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},o.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},o.realToAlias=function(){var s=Object.prototype.hasOwnProperty,i=o.aliasToReal,a={};for(var u in i){var _=i[u];s.call(a,_)?a[_].push(u):a[_]=[u]}return a}(),o.remap={assignAll:\"assign\",assignAllWith:\"assignWith\",assignInAll:\"assignIn\",assignInAllWith:\"assignInWith\",curryN:\"curry\",curryRightN:\"curryRight\",defaultsAll:\"defaults\",defaultsDeepAll:\"defaultsDeep\",findFrom:\"find\",findIndexFrom:\"findIndex\",findLastFrom:\"findLast\",findLastIndexFrom:\"findLastIndex\",getOr:\"get\",includesFrom:\"includes\",indexOfFrom:\"indexOf\",invokeArgs:\"invoke\",invokeArgsMap:\"invokeMap\",lastIndexOfFrom:\"lastIndexOf\",mergeAll:\"merge\",mergeAllWith:\"mergeWith\",padChars:\"pad\",padCharsEnd:\"padEnd\",padCharsStart:\"padStart\",propertyOf:\"get\",rangeStep:\"range\",rangeStepRight:\"rangeRight\",restFrom:\"rest\",spreadFrom:\"spread\",trimChars:\"trim\",trimCharsEnd:\"trimEnd\",trimCharsStart:\"trimStart\",zipAll:\"zip\"},o.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},o.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},17255:(s,o,i)=>{var a=i(47422);s.exports=function basePropertyDeep(s){return function(o){return a(o,s)}}},17285:s=>{function source(s){return s?\"string\"==typeof s?s:s.source:null}function lookahead(s){return concat(\"(?=\",s,\")\")}function concat(...s){return s.map((s=>source(s))).join(\"\")}function either(...s){return\"(\"+s.map((s=>source(s))).join(\"|\")+\")\"}s.exports=function xml(s){const o=concat(/[A-Z_]/,function optional(s){return concat(\"(\",s,\")?\")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:\"symbol\",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\\s/,contains:[{className:\"meta-keyword\",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\\n/}]},u=s.inherit(a,{begin:/\\(/,end:/\\)/}),_=s.inherit(s.APOS_STRING_MODE,{className:\"meta-string\"}),w=s.inherit(s.QUOTE_STRING_MODE,{className:\"meta-string\"}),x={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:\"attr\",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\\s*/,relevance:0,contains:[{className:\"string\",endsParent:!0,variants:[{begin:/\"/,end:/\"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\\s\"'=<>`]+/}]}]}]};return{name:\"HTML, XML\",aliases:[\"html\",\"xhtml\",\"rss\",\"atom\",\"xjb\",\"xsd\",\"xsl\",\"plist\",\"wsf\",\"svg\"],case_insensitive:!0,contains:[{className:\"meta\",begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,w,_,u,{begin:/\\[/,end:/\\]/,contains:[{className:\"meta\",begin:/<![a-z]/,end:/>/,contains:[a,u,w,_]}]}]},s.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\\[CDATA\\[/,end:/\\]\\]>/,relevance:10},i,{className:\"meta\",begin:/<\\?xml/,end:/\\?>/,relevance:10},{className:\"tag\",begin:/<style(?=\\s|>)/,end:/>/,keywords:{name:\"style\"},contains:[x],starts:{end:/<\\/style>/,returnEnd:!0,subLanguage:[\"css\",\"xml\"]}},{className:\"tag\",begin:/<script(?=\\s|>)/,end:/>/,keywords:{name:\"script\"},contains:[x],starts:{end:/<\\/script>/,returnEnd:!0,subLanguage:[\"javascript\",\"handlebars\",\"xml\"]}},{className:\"tag\",begin:/<>|<\\/>/},{className:\"tag\",begin:concat(/</,lookahead(concat(o,either(/\\/>/,/>/,/\\s/)))),end:/\\/?>/,contains:[{className:\"name\",begin:o,relevance:0,starts:x}]},{className:\"tag\",begin:concat(/<\\//,lookahead(concat(o,/>/))),contains:[{className:\"name\",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},17400:(s,o,i)=>{var a=i(99374),u=1/0;s.exports=function toFinite(s){return s?(s=a(s))===u||s===-1/0?17976931348623157e292*(s<0?-1:1):s==s?s:0:0===s?s:0}},17533:s=>{s.exports=function yaml(s){var o=\"true false yes no null\",i=\"[\\\\w#;/?:@&=+$,.~*'()[\\\\]]+\",a={className:\"string\",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/\"/,end:/\"/},{begin:/\\S+/}],contains:[s.BACKSLASH_ESCAPE,{className:\"template-variable\",variants:[{begin:/\\{\\{/,end:/\\}\\}/},{begin:/%\\{/,end:/\\}/}]}]},u=s.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/\"/,end:/\"/},{begin:/[^\\s,{}[\\]]+/}]}),_={className:\"number\",begin:\"\\\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\\\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\\\.[0-9]*)?([ \\\\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\\\b\"},w={end:\",\",endsWithParent:!0,excludeEnd:!0,keywords:o,relevance:0},x={begin:/\\{/,end:/\\}/,contains:[w],illegal:\"\\\\n\",relevance:0},C={begin:\"\\\\[\",end:\"\\\\]\",contains:[w],illegal:\"\\\\n\",relevance:0},j=[{className:\"attr\",variants:[{begin:\"\\\\w[\\\\w :\\\\/.-]*:(?=[ \\t]|$)\"},{begin:'\"\\\\w[\\\\w :\\\\/.-]*\":(?=[ \\t]|$)'},{begin:\"'\\\\w[\\\\w :\\\\/.-]*':(?=[ \\t]|$)\"}]},{className:\"meta\",begin:\"^---\\\\s*$\",relevance:10},{className:\"string\",begin:\"[\\\\|>]([1-9]?[+-])?[ ]*\\\\n( +)[^ ][^\\\\n]*\\\\n(\\\\2[^\\\\n]+\\\\n?)*\"},{begin:\"<%[%=-]?\",end:\"[%-]?%>\",subLanguage:\"ruby\",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:\"type\",begin:\"!\\\\w+!\"+i},{className:\"type\",begin:\"!<\"+i+\">\"},{className:\"type\",begin:\"!\"+i},{className:\"type\",begin:\"!!\"+i},{className:\"meta\",begin:\"&\"+s.UNDERSCORE_IDENT_RE+\"$\"},{className:\"meta\",begin:\"\\\\*\"+s.UNDERSCORE_IDENT_RE+\"$\"},{className:\"bullet\",begin:\"-(?=[ ]|$)\",relevance:0},s.HASH_COMMENT_MODE,{beginKeywords:o,keywords:{literal:o}},_,{className:\"number\",begin:s.C_NUMBER_RE+\"\\\\b\",relevance:0},x,C,a],L=[...j];return L.pop(),L.push(u),w.contains=L,{name:\"YAML\",case_insensitive:!0,aliases:[\"yml\"],contains:j}}},17670:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheDelete(s){var o=a(this,s).delete(s);return this.size-=o?1:0,o}},17965:(s,o,i)=>{\"use strict\";var a=i(16426),u={\"text/plain\":\"Text\",\"text/html\":\"Url\",default:\"Text\"};s.exports=function copy(s,o){var i,_,w,x,C,j,L=!1;o||(o={}),i=o.debug||!1;try{if(w=a(),x=document.createRange(),C=document.getSelection(),(j=document.createElement(\"span\")).textContent=s,j.ariaHidden=\"true\",j.style.all=\"unset\",j.style.position=\"fixed\",j.style.top=0,j.style.clip=\"rect(0, 0, 0, 0)\",j.style.whiteSpace=\"pre\",j.style.webkitUserSelect=\"text\",j.style.MozUserSelect=\"text\",j.style.msUserSelect=\"text\",j.style.userSelect=\"text\",j.addEventListener(\"copy\",(function(a){if(a.stopPropagation(),o.format)if(a.preventDefault(),void 0===a.clipboardData){i&&console.warn(\"unable to use e.clipboardData\"),i&&console.warn(\"trying IE specific stuff\"),window.clipboardData.clearData();var _=u[o.format]||u.default;window.clipboardData.setData(_,s)}else a.clipboardData.clearData(),a.clipboardData.setData(o.format,s);o.onCopy&&(a.preventDefault(),o.onCopy(a.clipboardData))})),document.body.appendChild(j),x.selectNodeContents(j),C.addRange(x),!document.execCommand(\"copy\"))throw new Error(\"copy command was unsuccessful\");L=!0}catch(a){i&&console.error(\"unable to copy using execCommand: \",a),i&&console.warn(\"trying IE specific stuff\");try{window.clipboardData.setData(o.format||\"text\",s),o.onCopy&&o.onCopy(window.clipboardData),L=!0}catch(a){i&&console.error(\"unable to copy using clipboardData: \",a),i&&console.error(\"falling back to prompt\"),_=function format(s){var o=(/mac os x/i.test(navigator.userAgent)?\"⌘\":\"Ctrl\")+\"+C\";return s.replace(/#{\\s*key\\s*}/g,o)}(\"message\"in o?o.message:\"Copy to clipboard: #{key}, Enter\"),window.prompt(_,s)}}finally{C&&(\"function\"==typeof C.removeRange?C.removeRange(x):C.removeAllRanges()),j&&document.body.removeChild(j),w()}return L}},18073:(s,o,i)=>{var a=i(85087),u=i(54641),_=i(70981);s.exports=function createRecurry(s,o,i,w,x,C,j,L,B,$){var U=8&o;o|=U?32:64,4&(o&=~(U?64:32))||(o&=-4);var V=[s,o,x,U?C:void 0,U?j:void 0,U?void 0:C,U?void 0:j,L,B,$],z=i.apply(void 0,V);return a(s)&&u(z,V),z.placeholder=w,_(z,s,o)}},19123:(s,o,i)=>{var a=i(65606),u=i(31499),_=i(88310).Stream;function resolve(s,o,i){var a,_=function create_indent(s,o){return new Array(o||0).join(s||\"\")}(o,i=i||0),w=s;if(\"object\"==typeof s&&((w=s[a=Object.keys(s)[0]])&&w._elem))return w._elem.name=a,w._elem.icount=i,w._elem.indent=o,w._elem.indents=_,w._elem.interrupt=w,w._elem;var x,C=[],j=[];function get_attributes(s){Object.keys(s).forEach((function(o){C.push(function attribute(s,o){return s+'=\"'+u(o)+'\"'}(o,s[o]))}))}switch(typeof w){case\"object\":if(null===w)break;w._attr&&get_attributes(w._attr),w._cdata&&j.push((\"<![CDATA[\"+w._cdata).replace(/\\]\\]>/g,\"]]]]><![CDATA[>\")+\"]]>\"),w.forEach&&(x=!1,j.push(\"\"),w.forEach((function(s){\"object\"==typeof s?\"_attr\"==Object.keys(s)[0]?get_attributes(s._attr):j.push(resolve(s,o,i+1)):(j.pop(),x=!0,j.push(u(s)))})),x||j.push(\"\"));break;default:j.push(u(w))}return{name:a,interrupt:!1,attributes:C,content:j,icount:i,indents:_,indent:o}}function format(s,o,i){if(\"object\"!=typeof o)return s(!1,o);var a=o.interrupt?1:o.content.length;function proceed(){for(;o.content.length;){var u=o.content.shift();if(void 0!==u){if(interrupt(u))return;format(s,u)}}s(!1,(a>1?o.indents:\"\")+(o.name?\"</\"+o.name+\">\":\"\")+(o.indent&&!i?\"\\n\":\"\")),i&&i()}function interrupt(o){return!!o.interrupt&&(o.interrupt.append=s,o.interrupt.end=proceed,o.interrupt=!1,s(!0),!0)}if(s(!1,o.indents+(o.name?\"<\"+o.name:\"\")+(o.attributes.length?\" \"+o.attributes.join(\" \"):\"\")+(a?o.name?\">\":\"\":o.name?\"/>\":\"\")+(o.indent&&a>1?\"\\n\":\"\")),!a)return s(!1,o.indent?\"\\n\":\"\");interrupt(o)||proceed()}s.exports=function xml(s,o){\"object\"!=typeof o&&(o={indent:o});var i=o.stream?new _:null,u=\"\",w=!1,x=o.indent?!0===o.indent?\"    \":o.indent:\"\",C=!0;function delay(s){C?a.nextTick(s):s()}function append(s,o){if(void 0!==o&&(u+=o),s&&!w&&(i=i||new _,w=!0),s&&w){var a=u;delay((function(){i.emit(\"data\",a)})),u=\"\"}}function add(s,o){format(append,resolve(s,x,x?1:0),o)}function end(){if(i){var s=u;delay((function(){i.emit(\"data\",s),i.emit(\"end\"),i.readable=!1,i.emit(\"close\")}))}}return delay((function(){C=!1})),o.declaration&&function addXmlDeclaration(s){var o={version:\"1.0\",encoding:s.encoding||\"UTF-8\"};s.standalone&&(o.standalone=s.standalone),add({\"?xml\":{_attr:o}}),u=u.replace(\"/>\",\"?>\")}(o.declaration),s&&s.forEach?s.forEach((function(o,i){var a;i+1===s.length&&(a=end),add(o,a)})):add(s,end),i?(i.readable=!0,i):u},s.exports.element=s.exports.Element=function element(){var s={_elem:resolve(Array.prototype.slice.call(arguments)),push:function(s){if(!this.append)throw new Error(\"not assigned to a parent!\");var o=this,i=this._elem.indent;format(this.append,resolve(s,i,this._elem.icount+(i?1:0)),(function(){o.append(!0)}))},close:function(s){void 0!==s&&this.push(s),this.end&&this.end()}};return s}},19219:s=>{s.exports=function cacheHas(s,o){return s.has(o)}},19287:s=>{\"use strict\";s.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},19358:(s,o,i)=>{\"use strict\";var a=i(85582),u=i(49724),_=i(61626),w=i(88280),x=i(79192),C=i(19595),j=i(54829),L=i(34084),B=i(32096),$=i(39259),U=i(85884),V=i(39447),z=i(7376);s.exports=function(s,o,i,Y){var Z=\"stackTraceLimit\",ee=Y?2:1,ie=s.split(\".\"),ae=ie[ie.length-1],ce=a.apply(null,ie);if(ce){var le=ce.prototype;if(!z&&u(le,\"cause\")&&delete le.cause,!i)return ce;var pe=a(\"Error\"),de=o((function(s,o){var i=B(Y?o:s,void 0),a=Y?new ce(s):new ce;return void 0!==i&&_(a,\"message\",i),U(a,de,a.stack,2),this&&w(le,this)&&L(a,this,de),arguments.length>ee&&$(a,arguments[ee]),a}));if(de.prototype=le,\"Error\"!==ae?x?x(de,pe):C(de,pe,{name:!0}):V&&Z in ce&&(j(de,ce,Z),j(de,ce,\"prepareStackTrace\")),C(de,ce),!z)try{le.name!==ae&&_(le,\"name\",ae),le.constructor=de}catch(s){}return de}}},19570:(s,o,i)=>{var a=i(37334),u=i(93243),_=i(83488),w=u?function(s,o){return u(s,\"toString\",{configurable:!0,enumerable:!1,value:a(o),writable:!0})}:_;s.exports=w},19595:(s,o,i)=>{\"use strict\";var a=i(49724),u=i(11042),_=i(13846),w=i(74284);s.exports=function(s,o,i){for(var x=u(o),C=w.f,j=_.f,L=0;L<x.length;L++){var B=x[L];a(s,B)||i&&a(i,B)||C(s,B,j(o,B))}}},19709:(s,o,i)=>{\"use strict\";var a=i(23034);s.exports=a},19846:(s,o,i)=>{\"use strict\";var a=i(20798),u=i(98828),_=i(45951).String;s.exports=!!Object.getOwnPropertySymbols&&!u((function(){var s=Symbol(\"symbol detection\");return!_(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},19931:(s,o,i)=>{var a=i(31769),u=i(68090),_=i(68969),w=i(77797);s.exports=function baseUnset(s,o){return o=a(o,s),null==(s=_(s,o))||delete s[w(u(o))]}},20181:(s,o,i)=>{var a=/^\\s+|\\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,w=/^0o[0-7]+$/i,x=parseInt,C=\"object\"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,j=\"object\"==typeof self&&self&&self.Object===Object&&self,L=C||j||Function(\"return this\")(),B=Object.prototype.toString,$=Math.max,U=Math.min,now=function(){return L.Date.now()};function isObject(s){var o=typeof s;return!!s&&(\"object\"==o||\"function\"==o)}function toNumber(s){if(\"number\"==typeof s)return s;if(function isSymbol(s){return\"symbol\"==typeof s||function isObjectLike(s){return!!s&&\"object\"==typeof s}(s)&&\"[object Symbol]\"==B.call(s)}(s))return NaN;if(isObject(s)){var o=\"function\"==typeof s.valueOf?s.valueOf():s;s=isObject(o)?o+\"\":o}if(\"string\"!=typeof s)return 0===s?s:+s;s=s.replace(a,\"\");var i=_.test(s);return i||w.test(s)?x(s.slice(2),i?2:8):u.test(s)?NaN:+s}s.exports=function debounce(s,o,i){var a,u,_,w,x,C,j=0,L=!1,B=!1,V=!0;if(\"function\"!=typeof s)throw new TypeError(\"Expected a function\");function invokeFunc(o){var i=a,_=u;return a=u=void 0,j=o,w=s.apply(_,i)}function shouldInvoke(s){var i=s-C;return void 0===C||i>=o||i<0||B&&s-j>=_}function timerExpired(){var s=now();if(shouldInvoke(s))return trailingEdge(s);x=setTimeout(timerExpired,function remainingWait(s){var i=o-(s-C);return B?U(i,_-(s-j)):i}(s))}function trailingEdge(s){return x=void 0,V&&a?invokeFunc(s):(a=u=void 0,w)}function debounced(){var s=now(),i=shouldInvoke(s);if(a=arguments,u=this,C=s,i){if(void 0===x)return function leadingEdge(s){return j=s,x=setTimeout(timerExpired,o),L?invokeFunc(s):w}(C);if(B)return x=setTimeout(timerExpired,o),invokeFunc(C)}return void 0===x&&(x=setTimeout(timerExpired,o)),w}return o=toNumber(o)||0,isObject(i)&&(L=!!i.leading,_=(B=\"maxWait\"in i)?$(toNumber(i.maxWait)||0,o):_,V=\"trailing\"in i?!!i.trailing:V),debounced.cancel=function cancel(){void 0!==x&&clearTimeout(x),j=0,a=C=u=x=void 0},debounced.flush=function flush(){return void 0===x?w:trailingEdge(now())},debounced}},20317:s=>{s.exports=function mapToArray(s){var o=-1,i=Array(s.size);return s.forEach((function(s,a){i[++o]=[a,s]})),i}},20334:(s,o,i)=>{\"use strict\";var a=i(48287).Buffer;class NonError extends Error{constructor(s){super(NonError._prepareSuperMessage(s)),Object.defineProperty(this,\"name\",{value:\"NonError\",configurable:!0,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(this,NonError)}static _prepareSuperMessage(s){try{return JSON.stringify(s)}catch{return String(s)}}}const u=[{property:\"name\",enumerable:!1},{property:\"message\",enumerable:!1},{property:\"stack\",enumerable:!1},{property:\"code\",enumerable:!0}],_=Symbol(\".toJSON called\"),destroyCircular=({from:s,seen:o,to_:i,forceEnumerable:w,maxDepth:x,depth:C})=>{const j=i||(Array.isArray(s)?[]:{});if(o.push(s),C>=x)return j;if(\"function\"==typeof s.toJSON&&!0!==s[_])return(s=>{s[_]=!0;const o=s.toJSON();return delete s[_],o})(s);for(const[i,u]of Object.entries(s))\"function\"==typeof a&&a.isBuffer(u)?j[i]=\"[object Buffer]\":\"function\"!=typeof u&&(u&&\"object\"==typeof u?o.includes(s[i])?j[i]=\"[Circular]\":(C++,j[i]=destroyCircular({from:s[i],seen:o.slice(),forceEnumerable:w,maxDepth:x,depth:C})):j[i]=u);for(const{property:o,enumerable:i}of u)\"string\"==typeof s[o]&&Object.defineProperty(j,o,{value:s[o],enumerable:!!w||i,configurable:!0,writable:!0});return j};s.exports={serializeError:(s,o={})=>{const{maxDepth:i=Number.POSITIVE_INFINITY}=o;return\"object\"==typeof s&&null!==s?destroyCircular({from:s,seen:[],forceEnumerable:!0,maxDepth:i,depth:0}):\"function\"==typeof s?`[Function: ${s.name||\"anonymous\"}]`:s},deserializeError:(s,o={})=>{const{maxDepth:i=Number.POSITIVE_INFINITY}=o;if(s instanceof Error)return s;if(\"object\"==typeof s&&null!==s&&!Array.isArray(s)){const o=new Error;return destroyCircular({from:s,seen:[],to_:o,maxDepth:i,depth:0}),o}return new NonError(s)}}},20426:s=>{var o=Object.prototype.hasOwnProperty;s.exports=function baseHas(s,i){return null!=s&&o.call(s,i)}},20575:(s,o,i)=>{\"use strict\";var a=i(3121);s.exports=function(s){return a(s.length)}},20798:(s,o,i)=>{\"use strict\";var a,u,_=i(45951),w=i(96794),x=_.process,C=_.Deno,j=x&&x.versions||C&&C.version,L=j&&j.v8;L&&(u=(a=L.split(\".\"))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!u&&w&&(!(a=w.match(/Edge\\/(\\d+)/))||a[1]>=74)&&(a=w.match(/Chrome\\/(\\d+)/))&&(u=+a[1]),s.exports=u},20850:(s,o,i)=>{\"use strict\";s.exports=i(46076)},20999:(s,o,i)=>{var a=i(69302),u=i(36800);s.exports=function createAssigner(s){return a((function(o,i){var a=-1,_=i.length,w=_>1?i[_-1]:void 0,x=_>2?i[2]:void 0;for(w=s.length>3&&\"function\"==typeof w?(_--,w):void 0,x&&u(i[0],i[1],x)&&(w=_<3?void 0:w,_=1),o=Object(o);++a<_;){var C=i[a];C&&s(o,C,a,w)}return o}))}},21549:(s,o,i)=>{var a=i(22032),u=i(63862),_=i(66721),w=i(12749),x=i(35749);function Hash(s){var o=-1,i=null==s?0:s.length;for(this.clear();++o<i;){var a=s[o];this.set(a[0],a[1])}}Hash.prototype.clear=a,Hash.prototype.delete=u,Hash.prototype.get=_,Hash.prototype.has=w,Hash.prototype.set=x,s.exports=Hash},21791:(s,o,i)=>{var a=i(16547),u=i(43360);s.exports=function copyObject(s,o,i,_){var w=!i;i||(i={});for(var x=-1,C=o.length;++x<C;){var j=o[x],L=_?_(i[j],s[j],j,i,s):void 0;void 0===L&&(L=s[j]),w?u(i,j,L):a(i,j,L)}return i}},21986:(s,o,i)=>{var a=i(51873),u=i(37828),_=i(75288),w=i(25911),x=i(20317),C=i(84247),j=a?a.prototype:void 0,L=j?j.valueOf:void 0;s.exports=function equalByTag(s,o,i,a,j,B,$){switch(i){case\"[object DataView]\":if(s.byteLength!=o.byteLength||s.byteOffset!=o.byteOffset)return!1;s=s.buffer,o=o.buffer;case\"[object ArrayBuffer]\":return!(s.byteLength!=o.byteLength||!B(new u(s),new u(o)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return _(+s,+o);case\"[object Error]\":return s.name==o.name&&s.message==o.message;case\"[object RegExp]\":case\"[object String]\":return s==o+\"\";case\"[object Map]\":var U=x;case\"[object Set]\":var V=1&a;if(U||(U=C),s.size!=o.size&&!V)return!1;var z=$.get(s);if(z)return z==o;a|=2,$.set(s,o);var Y=w(U(s),U(o),a,j,B,$);return $.delete(s),Y;case\"[object Symbol]\":if(L)return L.call(s)==L.call(o)}return!1}},22032:(s,o,i)=>{var a=i(81042);s.exports=function hashClear(){this.__data__=a?a(null):{},this.size=0}},22225:s=>{var o=\"\\\\ud800-\\\\udfff\",i=\"\\\\u2700-\\\\u27bf\",a=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",u=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",_=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",w=\"[\"+_+\"]\",x=\"\\\\d+\",C=\"[\"+i+\"]\",j=\"[\"+a+\"]\",L=\"[^\"+o+_+x+i+a+u+\"]\",B=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",$=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",U=\"[\"+u+\"]\",V=\"(?:\"+j+\"|\"+L+\")\",z=\"(?:\"+U+\"|\"+L+\")\",Y=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",Z=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",ee=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",ie=\"[\\\\ufe0e\\\\ufe0f]?\",ae=ie+ee+(\"(?:\\\\u200d(?:\"+[\"[^\"+o+\"]\",B,$].join(\"|\")+\")\"+ie+ee+\")*\"),ce=\"(?:\"+[C,B,$].join(\"|\")+\")\"+ae,le=RegExp([U+\"?\"+j+\"+\"+Y+\"(?=\"+[w,U,\"$\"].join(\"|\")+\")\",z+\"+\"+Z+\"(?=\"+[w,U+V,\"$\"].join(\"|\")+\")\",U+\"?\"+V+\"+\"+Y,U+\"+\"+Z,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",x,ce].join(\"|\"),\"g\");s.exports=function unicodeWords(s){return s.match(le)||[]}},22551:(s,o,i)=>{\"use strict\";var a=i(96540),u=i(69982);function p(s){for(var o=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+s,i=1;i<arguments.length;i++)o+=\"&args[]=\"+encodeURIComponent(arguments[i]);return\"Minified React error #\"+s+\"; visit \"+o+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var _=new Set,w={};function fa(s,o){ha(s,o),ha(s+\"Capture\",o)}function ha(s,o){for(w[s]=o,s=0;s<o.length;s++)_.add(o[s])}var x=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),C=Object.prototype.hasOwnProperty,j=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,L={},B={};function v(s,o,i,a,u,_,w){this.acceptsBooleans=2===o||3===o||4===o,this.attributeName=a,this.attributeNamespace=u,this.mustUseProperty=i,this.propertyName=s,this.type=o,this.sanitizeURL=_,this.removeEmptyString=w}var $={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(s){$[s]=new v(s,0,!1,s,null,!1,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(s){var o=s[0];$[o]=new v(o,1,!1,s[1],null,!1,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(s){$[s]=new v(s,2,!1,s.toLowerCase(),null,!1,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(s){$[s]=new v(s,2,!1,s,null,!1,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(s){$[s]=new v(s,3,!1,s.toLowerCase(),null,!1,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(s){$[s]=new v(s,3,!0,s,null,!1,!1)})),[\"capture\",\"download\"].forEach((function(s){$[s]=new v(s,4,!1,s,null,!1,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(s){$[s]=new v(s,6,!1,s,null,!1,!1)})),[\"rowSpan\",\"start\"].forEach((function(s){$[s]=new v(s,5,!1,s.toLowerCase(),null,!1,!1)}));var U=/[\\-:]([a-z])/g;function sa(s){return s[1].toUpperCase()}function ta(s,o,i,a){var u=$.hasOwnProperty(o)?$[o]:null;(null!==u?0!==u.type:a||!(2<o.length)||\"o\"!==o[0]&&\"O\"!==o[0]||\"n\"!==o[1]&&\"N\"!==o[1])&&(function qa(s,o,i,a){if(null==o||function pa(s,o,i,a){if(null!==i&&0===i.type)return!1;switch(typeof o){case\"function\":case\"symbol\":return!0;case\"boolean\":return!a&&(null!==i?!i.acceptsBooleans:\"data-\"!==(s=s.toLowerCase().slice(0,5))&&\"aria-\"!==s);default:return!1}}(s,o,i,a))return!0;if(a)return!1;if(null!==i)switch(i.type){case 3:return!o;case 4:return!1===o;case 5:return isNaN(o);case 6:return isNaN(o)||1>o}return!1}(o,i,u,a)&&(i=null),a||null===u?function oa(s){return!!C.call(B,s)||!C.call(L,s)&&(j.test(s)?B[s]=!0:(L[s]=!0,!1))}(o)&&(null===i?s.removeAttribute(o):s.setAttribute(o,\"\"+i)):u.mustUseProperty?s[u.propertyName]=null===i?3!==u.type&&\"\":i:(o=u.attributeName,a=u.attributeNamespace,null===i?s.removeAttribute(o):(i=3===(u=u.type)||4===u&&!0===i?\"\":\"\"+i,a?s.setAttributeNS(a,o,i):s.setAttribute(o,i))))}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(s){var o=s.replace(U,sa);$[o]=new v(o,1,!1,s,null,!1,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(s){var o=s.replace(U,sa);$[o]=new v(o,1,!1,s,\"http://www.w3.org/1999/xlink\",!1,!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(s){var o=s.replace(U,sa);$[o]=new v(o,1,!1,s,\"http://www.w3.org/XML/1998/namespace\",!1,!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(s){$[s]=new v(s,1,!1,s.toLowerCase(),null,!1,!1)})),$.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(s){$[s]=new v(s,1,!1,s.toLowerCase(),null,!0,!0)}));var V=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,z=Symbol.for(\"react.element\"),Y=Symbol.for(\"react.portal\"),Z=Symbol.for(\"react.fragment\"),ee=Symbol.for(\"react.strict_mode\"),ie=Symbol.for(\"react.profiler\"),ae=Symbol.for(\"react.provider\"),ce=Symbol.for(\"react.context\"),le=Symbol.for(\"react.forward_ref\"),pe=Symbol.for(\"react.suspense\"),de=Symbol.for(\"react.suspense_list\"),fe=Symbol.for(\"react.memo\"),ye=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\"),Symbol.for(\"react.debug_trace_mode\");var be=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\"),Symbol.for(\"react.cache\"),Symbol.for(\"react.tracing_marker\");var _e=Symbol.iterator;function Ka(s){return null===s||\"object\"!=typeof s?null:\"function\"==typeof(s=_e&&s[_e]||s[\"@@iterator\"])?s:null}var Se,we=Object.assign;function Ma(s){if(void 0===Se)try{throw Error()}catch(s){var o=s.stack.trim().match(/\\n( *(at )?)/);Se=o&&o[1]||\"\"}return\"\\n\"+Se+s}var xe=!1;function Oa(s,o){if(!s||xe)return\"\";xe=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(o)if(o=function(){throw Error()},Object.defineProperty(o.prototype,\"props\",{set:function(){throw Error()}}),\"object\"==typeof Reflect&&Reflect.construct){try{Reflect.construct(o,[])}catch(s){var a=s}Reflect.construct(s,[],o)}else{try{o.call()}catch(s){a=s}s.call(o.prototype)}else{try{throw Error()}catch(s){a=s}s()}}catch(o){if(o&&a&&\"string\"==typeof o.stack){for(var u=o.stack.split(\"\\n\"),_=a.stack.split(\"\\n\"),w=u.length-1,x=_.length-1;1<=w&&0<=x&&u[w]!==_[x];)x--;for(;1<=w&&0<=x;w--,x--)if(u[w]!==_[x]){if(1!==w||1!==x)do{if(w--,0>--x||u[w]!==_[x]){var C=\"\\n\"+u[w].replace(\" at new \",\" at \");return s.displayName&&C.includes(\"<anonymous>\")&&(C=C.replace(\"<anonymous>\",s.displayName)),C}}while(1<=w&&0<=x);break}}}finally{xe=!1,Error.prepareStackTrace=i}return(s=s?s.displayName||s.name:\"\")?Ma(s):\"\"}function Pa(s){switch(s.tag){case 5:return Ma(s.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return s=Oa(s.type,!1);case 11:return s=Oa(s.type.render,!1);case 1:return s=Oa(s.type,!0);default:return\"\"}}function Qa(s){if(null==s)return null;if(\"function\"==typeof s)return s.displayName||s.name||null;if(\"string\"==typeof s)return s;switch(s){case Z:return\"Fragment\";case Y:return\"Portal\";case ie:return\"Profiler\";case ee:return\"StrictMode\";case pe:return\"Suspense\";case de:return\"SuspenseList\"}if(\"object\"==typeof s)switch(s.$$typeof){case ce:return(s.displayName||\"Context\")+\".Consumer\";case ae:return(s._context.displayName||\"Context\")+\".Provider\";case le:var o=s.render;return(s=s.displayName)||(s=\"\"!==(s=o.displayName||o.name||\"\")?\"ForwardRef(\"+s+\")\":\"ForwardRef\"),s;case fe:return null!==(o=s.displayName||null)?o:Qa(s.type)||\"Memo\";case ye:o=s._payload,s=s._init;try{return Qa(s(o))}catch(s){}}return null}function Ra(s){var o=s.type;switch(s.tag){case 24:return\"Cache\";case 9:return(o.displayName||\"Context\")+\".Consumer\";case 10:return(o._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return s=(s=o.render).displayName||s.name||\"\",o.displayName||(\"\"!==s?\"ForwardRef(\"+s+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return o;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(o);case 8:return o===ee?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"==typeof o)return o.displayName||o.name||null;if(\"string\"==typeof o)return o}return null}function Sa(s){switch(typeof s){case\"boolean\":case\"number\":case\"string\":case\"undefined\":case\"object\":return s;default:return\"\"}}function Ta(s){var o=s.type;return(s=s.nodeName)&&\"input\"===s.toLowerCase()&&(\"checkbox\"===o||\"radio\"===o)}function Va(s){s._valueTracker||(s._valueTracker=function Ua(s){var o=Ta(s)?\"checked\":\"value\",i=Object.getOwnPropertyDescriptor(s.constructor.prototype,o),a=\"\"+s[o];if(!s.hasOwnProperty(o)&&void 0!==i&&\"function\"==typeof i.get&&\"function\"==typeof i.set){var u=i.get,_=i.set;return Object.defineProperty(s,o,{configurable:!0,get:function(){return u.call(this)},set:function(s){a=\"\"+s,_.call(this,s)}}),Object.defineProperty(s,o,{enumerable:i.enumerable}),{getValue:function(){return a},setValue:function(s){a=\"\"+s},stopTracking:function(){s._valueTracker=null,delete s[o]}}}}(s))}function Wa(s){if(!s)return!1;var o=s._valueTracker;if(!o)return!0;var i=o.getValue(),a=\"\";return s&&(a=Ta(s)?s.checked?\"true\":\"false\":s.value),(s=a)!==i&&(o.setValue(s),!0)}function Xa(s){if(void 0===(s=s||(\"undefined\"!=typeof document?document:void 0)))return null;try{return s.activeElement||s.body}catch(o){return s.body}}function Ya(s,o){var i=o.checked;return we({},o,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=i?i:s._wrapperState.initialChecked})}function Za(s,o){var i=null==o.defaultValue?\"\":o.defaultValue,a=null!=o.checked?o.checked:o.defaultChecked;i=Sa(null!=o.value?o.value:i),s._wrapperState={initialChecked:a,initialValue:i,controlled:\"checkbox\"===o.type||\"radio\"===o.type?null!=o.checked:null!=o.value}}function ab(s,o){null!=(o=o.checked)&&ta(s,\"checked\",o,!1)}function bb(s,o){ab(s,o);var i=Sa(o.value),a=o.type;if(null!=i)\"number\"===a?(0===i&&\"\"===s.value||s.value!=i)&&(s.value=\"\"+i):s.value!==\"\"+i&&(s.value=\"\"+i);else if(\"submit\"===a||\"reset\"===a)return void s.removeAttribute(\"value\");o.hasOwnProperty(\"value\")?cb(s,o.type,i):o.hasOwnProperty(\"defaultValue\")&&cb(s,o.type,Sa(o.defaultValue)),null==o.checked&&null!=o.defaultChecked&&(s.defaultChecked=!!o.defaultChecked)}function db(s,o,i){if(o.hasOwnProperty(\"value\")||o.hasOwnProperty(\"defaultValue\")){var a=o.type;if(!(\"submit\"!==a&&\"reset\"!==a||void 0!==o.value&&null!==o.value))return;o=\"\"+s._wrapperState.initialValue,i||o===s.value||(s.value=o),s.defaultValue=o}\"\"!==(i=s.name)&&(s.name=\"\"),s.defaultChecked=!!s._wrapperState.initialChecked,\"\"!==i&&(s.name=i)}function cb(s,o,i){\"number\"===o&&Xa(s.ownerDocument)===s||(null==i?s.defaultValue=\"\"+s._wrapperState.initialValue:s.defaultValue!==\"\"+i&&(s.defaultValue=\"\"+i))}var Pe=Array.isArray;function fb(s,o,i,a){if(s=s.options,o){o={};for(var u=0;u<i.length;u++)o[\"$\"+i[u]]=!0;for(i=0;i<s.length;i++)u=o.hasOwnProperty(\"$\"+s[i].value),s[i].selected!==u&&(s[i].selected=u),u&&a&&(s[i].defaultSelected=!0)}else{for(i=\"\"+Sa(i),o=null,u=0;u<s.length;u++){if(s[u].value===i)return s[u].selected=!0,void(a&&(s[u].defaultSelected=!0));null!==o||s[u].disabled||(o=s[u])}null!==o&&(o.selected=!0)}}function gb(s,o){if(null!=o.dangerouslySetInnerHTML)throw Error(p(91));return we({},o,{value:void 0,defaultValue:void 0,children:\"\"+s._wrapperState.initialValue})}function hb(s,o){var i=o.value;if(null==i){if(i=o.children,o=o.defaultValue,null!=i){if(null!=o)throw Error(p(92));if(Pe(i)){if(1<i.length)throw Error(p(93));i=i[0]}o=i}null==o&&(o=\"\"),i=o}s._wrapperState={initialValue:Sa(i)}}function ib(s,o){var i=Sa(o.value),a=Sa(o.defaultValue);null!=i&&((i=\"\"+i)!==s.value&&(s.value=i),null==o.defaultValue&&s.defaultValue!==i&&(s.defaultValue=i)),null!=a&&(s.defaultValue=\"\"+a)}function jb(s){var o=s.textContent;o===s._wrapperState.initialValue&&\"\"!==o&&null!==o&&(s.value=o)}function kb(s){switch(s){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function lb(s,o){return null==s||\"http://www.w3.org/1999/xhtml\"===s?kb(o):\"http://www.w3.org/2000/svg\"===s&&\"foreignObject\"===o?\"http://www.w3.org/1999/xhtml\":s}var Te,Re,$e=(Re=function(s,o){if(\"http://www.w3.org/2000/svg\"!==s.namespaceURI||\"innerHTML\"in s)s.innerHTML=o;else{for((Te=Te||document.createElement(\"div\")).innerHTML=\"<svg>\"+o.valueOf().toString()+\"</svg>\",o=Te.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;o.firstChild;)s.appendChild(o.firstChild)}},\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(s,o,i,a){MSApp.execUnsafeLocalFunction((function(){return Re(s,o)}))}:Re);function ob(s,o){if(o){var i=s.firstChild;if(i&&i===s.lastChild&&3===i.nodeType)return void(i.nodeValue=o)}s.textContent=o}var qe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ze=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function rb(s,o,i){return null==o||\"boolean\"==typeof o||\"\"===o?\"\":i||\"number\"!=typeof o||0===o||qe.hasOwnProperty(s)&&qe[s]?(\"\"+o).trim():o+\"px\"}function sb(s,o){for(var i in s=s.style,o)if(o.hasOwnProperty(i)){var a=0===i.indexOf(\"--\"),u=rb(i,o[i],a);\"float\"===i&&(i=\"cssFloat\"),a?s.setProperty(i,u):s[i]=u}}Object.keys(qe).forEach((function(s){ze.forEach((function(o){o=o+s.charAt(0).toUpperCase()+s.substring(1),qe[o]=qe[s]}))}));var We=we({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(s,o){if(o){if(We[s]&&(null!=o.children||null!=o.dangerouslySetInnerHTML))throw Error(p(137,s));if(null!=o.dangerouslySetInnerHTML){if(null!=o.children)throw Error(p(60));if(\"object\"!=typeof o.dangerouslySetInnerHTML||!(\"__html\"in o.dangerouslySetInnerHTML))throw Error(p(61))}if(null!=o.style&&\"object\"!=typeof o.style)throw Error(p(62))}}function vb(s,o){if(-1===s.indexOf(\"-\"))return\"string\"==typeof o.is;switch(s){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var He=null;function xb(s){return(s=s.target||s.srcElement||window).correspondingUseElement&&(s=s.correspondingUseElement),3===s.nodeType?s.parentNode:s}var Ye=null,Xe=null,Qe=null;function Bb(s){if(s=Cb(s)){if(\"function\"!=typeof Ye)throw Error(p(280));var o=s.stateNode;o&&(o=Db(o),Ye(s.stateNode,s.type,o))}}function Eb(s){Xe?Qe?Qe.push(s):Qe=[s]:Xe=s}function Fb(){if(Xe){var s=Xe,o=Qe;if(Qe=Xe=null,Bb(s),o)for(s=0;s<o.length;s++)Bb(o[s])}}function Gb(s,o){return s(o)}function Hb(){}var et=!1;function Jb(s,o,i){if(et)return s(o,i);et=!0;try{return Gb(s,o,i)}finally{et=!1,(null!==Xe||null!==Qe)&&(Hb(),Fb())}}function Kb(s,o){var i=s.stateNode;if(null===i)return null;var a=Db(i);if(null===a)return null;i=a[o];e:switch(o){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(a=!a.disabled)||(a=!(\"button\"===(s=s.type)||\"input\"===s||\"select\"===s||\"textarea\"===s)),s=!a;break e;default:s=!1}if(s)return null;if(i&&\"function\"!=typeof i)throw Error(p(231,o,typeof i));return i}var tt=!1;if(x)try{var rt={};Object.defineProperty(rt,\"passive\",{get:function(){tt=!0}}),window.addEventListener(\"test\",rt,rt),window.removeEventListener(\"test\",rt,rt)}catch(Re){tt=!1}function Nb(s,o,i,a,u,_,w,x,C){var j=Array.prototype.slice.call(arguments,3);try{o.apply(i,j)}catch(s){this.onError(s)}}var nt=!1,st=null,ot=!1,it=null,at={onError:function(s){nt=!0,st=s}};function Tb(s,o,i,a,u,_,w,x,C){nt=!1,st=null,Nb.apply(at,arguments)}function Vb(s){var o=s,i=s;if(s.alternate)for(;o.return;)o=o.return;else{s=o;do{!!(4098&(o=s).flags)&&(i=o.return),s=o.return}while(s)}return 3===o.tag?i:null}function Wb(s){if(13===s.tag){var o=s.memoizedState;if(null===o&&(null!==(s=s.alternate)&&(o=s.memoizedState)),null!==o)return o.dehydrated}return null}function Xb(s){if(Vb(s)!==s)throw Error(p(188))}function Zb(s){return null!==(s=function Yb(s){var o=s.alternate;if(!o){if(null===(o=Vb(s)))throw Error(p(188));return o!==s?null:s}for(var i=s,a=o;;){var u=i.return;if(null===u)break;var _=u.alternate;if(null===_){if(null!==(a=u.return)){i=a;continue}break}if(u.child===_.child){for(_=u.child;_;){if(_===i)return Xb(u),s;if(_===a)return Xb(u),o;_=_.sibling}throw Error(p(188))}if(i.return!==a.return)i=u,a=_;else{for(var w=!1,x=u.child;x;){if(x===i){w=!0,i=u,a=_;break}if(x===a){w=!0,a=u,i=_;break}x=x.sibling}if(!w){for(x=_.child;x;){if(x===i){w=!0,i=_,a=u;break}if(x===a){w=!0,a=_,i=u;break}x=x.sibling}if(!w)throw Error(p(189))}}if(i.alternate!==a)throw Error(p(190))}if(3!==i.tag)throw Error(p(188));return i.stateNode.current===i?s:o}(s))?$b(s):null}function $b(s){if(5===s.tag||6===s.tag)return s;for(s=s.child;null!==s;){var o=$b(s);if(null!==o)return o;s=s.sibling}return null}var ct=u.unstable_scheduleCallback,lt=u.unstable_cancelCallback,ut=u.unstable_shouldYield,pt=u.unstable_requestPaint,ht=u.unstable_now,dt=u.unstable_getCurrentPriorityLevel,mt=u.unstable_ImmediatePriority,gt=u.unstable_UserBlockingPriority,yt=u.unstable_NormalPriority,vt=u.unstable_LowPriority,bt=u.unstable_IdlePriority,_t=null,St=null;var Et=Math.clz32?Math.clz32:function nc(s){return s>>>=0,0===s?32:31-(wt(s)/xt|0)|0},wt=Math.log,xt=Math.LN2;var kt=64,Ot=4194304;function tc(s){switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&s;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&s;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return s}}function uc(s,o){var i=s.pendingLanes;if(0===i)return 0;var a=0,u=s.suspendedLanes,_=s.pingedLanes,w=268435455&i;if(0!==w){var x=w&~u;0!==x?a=tc(x):0!==(_&=w)&&(a=tc(_))}else 0!==(w=i&~u)?a=tc(w):0!==_&&(a=tc(_));if(0===a)return 0;if(0!==o&&o!==a&&!(o&u)&&((u=a&-a)>=(_=o&-o)||16===u&&4194240&_))return o;if(4&a&&(a|=16&i),0!==(o=s.entangledLanes))for(s=s.entanglements,o&=a;0<o;)u=1<<(i=31-Et(o)),a|=s[i],o&=~u;return a}function vc(s,o){switch(s){case 1:case 2:case 4:return o+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o+5e3;default:return-1}}function xc(s){return 0!==(s=-1073741825&s.pendingLanes)?s:1073741824&s?1073741824:0}function yc(){var s=kt;return!(4194240&(kt<<=1))&&(kt=64),s}function zc(s){for(var o=[],i=0;31>i;i++)o.push(s);return o}function Ac(s,o,i){s.pendingLanes|=o,536870912!==o&&(s.suspendedLanes=0,s.pingedLanes=0),(s=s.eventTimes)[o=31-Et(o)]=i}function Cc(s,o){var i=s.entangledLanes|=o;for(s=s.entanglements;i;){var a=31-Et(i),u=1<<a;u&o|s[a]&o&&(s[a]|=o),i&=~u}}var At=0;function Dc(s){return 1<(s&=-s)?4<s?268435455&s?16:536870912:4:1}var Ct,jt,Pt,It,Tt,Nt=!1,Mt=[],Rt=null,Dt=null,Lt=null,Ft=new Map,Bt=new Map,$t=[],qt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");function Sc(s,o){switch(s){case\"focusin\":case\"focusout\":Rt=null;break;case\"dragenter\":case\"dragleave\":Dt=null;break;case\"mouseover\":case\"mouseout\":Lt=null;break;case\"pointerover\":case\"pointerout\":Ft.delete(o.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":Bt.delete(o.pointerId)}}function Tc(s,o,i,a,u,_){return null===s||s.nativeEvent!==_?(s={blockedOn:o,domEventName:i,eventSystemFlags:a,nativeEvent:_,targetContainers:[u]},null!==o&&(null!==(o=Cb(o))&&jt(o)),s):(s.eventSystemFlags|=a,o=s.targetContainers,null!==u&&-1===o.indexOf(u)&&o.push(u),s)}function Vc(s){var o=Wc(s.target);if(null!==o){var i=Vb(o);if(null!==i)if(13===(o=i.tag)){if(null!==(o=Wb(i)))return s.blockedOn=o,void Tt(s.priority,(function(){Pt(i)}))}else if(3===o&&i.stateNode.current.memoizedState.isDehydrated)return void(s.blockedOn=3===i.tag?i.stateNode.containerInfo:null)}s.blockedOn=null}function Xc(s){if(null!==s.blockedOn)return!1;for(var o=s.targetContainers;0<o.length;){var i=Yc(s.domEventName,s.eventSystemFlags,o[0],s.nativeEvent);if(null!==i)return null!==(o=Cb(i))&&jt(o),s.blockedOn=i,!1;var a=new(i=s.nativeEvent).constructor(i.type,i);He=a,i.target.dispatchEvent(a),He=null,o.shift()}return!0}function Zc(s,o,i){Xc(s)&&i.delete(o)}function $c(){Nt=!1,null!==Rt&&Xc(Rt)&&(Rt=null),null!==Dt&&Xc(Dt)&&(Dt=null),null!==Lt&&Xc(Lt)&&(Lt=null),Ft.forEach(Zc),Bt.forEach(Zc)}function ad(s,o){s.blockedOn===o&&(s.blockedOn=null,Nt||(Nt=!0,u.unstable_scheduleCallback(u.unstable_NormalPriority,$c)))}function bd(s){function b(o){return ad(o,s)}if(0<Mt.length){ad(Mt[0],s);for(var o=1;o<Mt.length;o++){var i=Mt[o];i.blockedOn===s&&(i.blockedOn=null)}}for(null!==Rt&&ad(Rt,s),null!==Dt&&ad(Dt,s),null!==Lt&&ad(Lt,s),Ft.forEach(b),Bt.forEach(b),o=0;o<$t.length;o++)(i=$t[o]).blockedOn===s&&(i.blockedOn=null);for(;0<$t.length&&null===(o=$t[0]).blockedOn;)Vc(o),null===o.blockedOn&&$t.shift()}var Ut=V.ReactCurrentBatchConfig,Vt=!0;function ed(s,o,i,a){var u=At,_=Ut.transition;Ut.transition=null;try{At=1,fd(s,o,i,a)}finally{At=u,Ut.transition=_}}function gd(s,o,i,a){var u=At,_=Ut.transition;Ut.transition=null;try{At=4,fd(s,o,i,a)}finally{At=u,Ut.transition=_}}function fd(s,o,i,a){if(Vt){var u=Yc(s,o,i,a);if(null===u)hd(s,o,a,zt,i),Sc(s,a);else if(function Uc(s,o,i,a,u){switch(o){case\"focusin\":return Rt=Tc(Rt,s,o,i,a,u),!0;case\"dragenter\":return Dt=Tc(Dt,s,o,i,a,u),!0;case\"mouseover\":return Lt=Tc(Lt,s,o,i,a,u),!0;case\"pointerover\":var _=u.pointerId;return Ft.set(_,Tc(Ft.get(_)||null,s,o,i,a,u)),!0;case\"gotpointercapture\":return _=u.pointerId,Bt.set(_,Tc(Bt.get(_)||null,s,o,i,a,u)),!0}return!1}(u,s,o,i,a))a.stopPropagation();else if(Sc(s,a),4&o&&-1<qt.indexOf(s)){for(;null!==u;){var _=Cb(u);if(null!==_&&Ct(_),null===(_=Yc(s,o,i,a))&&hd(s,o,a,zt,i),_===u)break;u=_}null!==u&&a.stopPropagation()}else hd(s,o,a,null,i)}}var zt=null;function Yc(s,o,i,a){if(zt=null,null!==(s=Wc(s=xb(a))))if(null===(o=Vb(s)))s=null;else if(13===(i=o.tag)){if(null!==(s=Wb(o)))return s;s=null}else if(3===i){if(o.stateNode.current.memoizedState.isDehydrated)return 3===o.tag?o.stateNode.containerInfo:null;s=null}else o!==s&&(s=null);return zt=s,null}function jd(s){switch(s){case\"cancel\":case\"click\":case\"close\":case\"contextmenu\":case\"copy\":case\"cut\":case\"auxclick\":case\"dblclick\":case\"dragend\":case\"dragstart\":case\"drop\":case\"focusin\":case\"focusout\":case\"input\":case\"invalid\":case\"keydown\":case\"keypress\":case\"keyup\":case\"mousedown\":case\"mouseup\":case\"paste\":case\"pause\":case\"play\":case\"pointercancel\":case\"pointerdown\":case\"pointerup\":case\"ratechange\":case\"reset\":case\"resize\":case\"seeked\":case\"submit\":case\"touchcancel\":case\"touchend\":case\"touchstart\":case\"volumechange\":case\"change\":case\"selectionchange\":case\"textInput\":case\"compositionstart\":case\"compositionend\":case\"compositionupdate\":case\"beforeblur\":case\"afterblur\":case\"beforeinput\":case\"blur\":case\"fullscreenchange\":case\"focus\":case\"hashchange\":case\"popstate\":case\"select\":case\"selectstart\":return 1;case\"drag\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"mousemove\":case\"mouseout\":case\"mouseover\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"scroll\":case\"toggle\":case\"touchmove\":case\"wheel\":case\"mouseenter\":case\"mouseleave\":case\"pointerenter\":case\"pointerleave\":return 4;case\"message\":switch(dt()){case mt:return 1;case gt:return 4;case yt:case vt:return 16;case bt:return 536870912;default:return 16}default:return 16}}var Wt=null,Jt=null,Ht=null;function nd(){if(Ht)return Ht;var s,o,i=Jt,a=i.length,u=\"value\"in Wt?Wt.value:Wt.textContent,_=u.length;for(s=0;s<a&&i[s]===u[s];s++);var w=a-s;for(o=1;o<=w&&i[a-o]===u[_-o];o++);return Ht=u.slice(s,1<o?1-o:void 0)}function od(s){var o=s.keyCode;return\"charCode\"in s?0===(s=s.charCode)&&13===o&&(s=13):s=o,10===s&&(s=13),32<=s||13===s?s:0}function pd(){return!0}function qd(){return!1}function rd(s){function b(o,i,a,u,_){for(var w in this._reactName=o,this._targetInst=a,this.type=i,this.nativeEvent=u,this.target=_,this.currentTarget=null,s)s.hasOwnProperty(w)&&(o=s[w],this[w]=o?o(u):u[w]);return this.isDefaultPrevented=(null!=u.defaultPrevented?u.defaultPrevented:!1===u.returnValue)?pd:qd,this.isPropagationStopped=qd,this}return we(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var s=this.nativeEvent;s&&(s.preventDefault?s.preventDefault():\"unknown\"!=typeof s.returnValue&&(s.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var s=this.nativeEvent;s&&(s.stopPropagation?s.stopPropagation():\"unknown\"!=typeof s.cancelBubble&&(s.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd}),b}var Kt,Gt,Yt,Xt={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(s){return s.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Qt=rd(Xt),Zt=we({},Xt,{view:0,detail:0}),er=rd(Zt),tr=we({},Zt,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(s){return void 0===s.relatedTarget?s.fromElement===s.srcElement?s.toElement:s.fromElement:s.relatedTarget},movementX:function(s){return\"movementX\"in s?s.movementX:(s!==Yt&&(Yt&&\"mousemove\"===s.type?(Kt=s.screenX-Yt.screenX,Gt=s.screenY-Yt.screenY):Gt=Kt=0,Yt=s),Kt)},movementY:function(s){return\"movementY\"in s?s.movementY:Gt}}),rr=rd(tr),nr=rd(we({},tr,{dataTransfer:0})),sr=rd(we({},Zt,{relatedTarget:0})),ir=rd(we({},Xt,{animationName:0,elapsedTime:0,pseudoElement:0})),ar=we({},Xt,{clipboardData:function(s){return\"clipboardData\"in s?s.clipboardData:window.clipboardData}}),cr=rd(ar),lr=rd(we({},Xt,{data:0})),ur={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},pr={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},dr={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(s){var o=this.nativeEvent;return o.getModifierState?o.getModifierState(s):!!(s=dr[s])&&!!o[s]}function zd(){return Pd}var fr=we({},Zt,{key:function(s){if(s.key){var o=ur[s.key]||s.key;if(\"Unidentified\"!==o)return o}return\"keypress\"===s.type?13===(s=od(s))?\"Enter\":String.fromCharCode(s):\"keydown\"===s.type||\"keyup\"===s.type?pr[s.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(s){return\"keypress\"===s.type?od(s):0},keyCode:function(s){return\"keydown\"===s.type||\"keyup\"===s.type?s.keyCode:0},which:function(s){return\"keypress\"===s.type?od(s):\"keydown\"===s.type||\"keyup\"===s.type?s.keyCode:0}}),mr=rd(fr),gr=rd(we({},tr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),yr=rd(we({},Zt,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd})),vr=rd(we({},Xt,{propertyName:0,elapsedTime:0,pseudoElement:0})),br=we({},tr,{deltaX:function(s){return\"deltaX\"in s?s.deltaX:\"wheelDeltaX\"in s?-s.wheelDeltaX:0},deltaY:function(s){return\"deltaY\"in s?s.deltaY:\"wheelDeltaY\"in s?-s.wheelDeltaY:\"wheelDelta\"in s?-s.wheelDelta:0},deltaZ:0,deltaMode:0}),_r=rd(br),Sr=[9,13,27,32],Er=x&&\"CompositionEvent\"in window,wr=null;x&&\"documentMode\"in document&&(wr=document.documentMode);var xr=x&&\"TextEvent\"in window&&!wr,kr=x&&(!Er||wr&&8<wr&&11>=wr),Or=String.fromCharCode(32),Ar=!1;function ge(s,o){switch(s){case\"keyup\":return-1!==Sr.indexOf(o.keyCode);case\"keydown\":return 229!==o.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function he(s){return\"object\"==typeof(s=s.detail)&&\"data\"in s?s.data:null}var Cr=!1;var jr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(s){var o=s&&s.nodeName&&s.nodeName.toLowerCase();return\"input\"===o?!!jr[s.type]:\"textarea\"===o}function ne(s,o,i,a){Eb(a),0<(o=oe(o,\"onChange\")).length&&(i=new Qt(\"onChange\",\"change\",null,i,a),s.push({event:i,listeners:o}))}var Pr=null,Ir=null;function re(s){se(s,0)}function te(s){if(Wa(ue(s)))return s}function ve(s,o){if(\"change\"===s)return o}var Tr=!1;if(x){var Nr;if(x){var Mr=\"oninput\"in document;if(!Mr){var Rr=document.createElement(\"div\");Rr.setAttribute(\"oninput\",\"return;\"),Mr=\"function\"==typeof Rr.oninput}Nr=Mr}else Nr=!1;Tr=Nr&&(!document.documentMode||9<document.documentMode)}function Ae(){Pr&&(Pr.detachEvent(\"onpropertychange\",Be),Ir=Pr=null)}function Be(s){if(\"value\"===s.propertyName&&te(Ir)){var o=[];ne(o,Ir,s,xb(s)),Jb(re,o)}}function Ce(s,o,i){\"focusin\"===s?(Ae(),Ir=i,(Pr=o).attachEvent(\"onpropertychange\",Be)):\"focusout\"===s&&Ae()}function De(s){if(\"selectionchange\"===s||\"keyup\"===s||\"keydown\"===s)return te(Ir)}function Ee(s,o){if(\"click\"===s)return te(o)}function Fe(s,o){if(\"input\"===s||\"change\"===s)return te(o)}var Dr=\"function\"==typeof Object.is?Object.is:function Ge(s,o){return s===o&&(0!==s||1/s==1/o)||s!=s&&o!=o};function Ie(s,o){if(Dr(s,o))return!0;if(\"object\"!=typeof s||null===s||\"object\"!=typeof o||null===o)return!1;var i=Object.keys(s),a=Object.keys(o);if(i.length!==a.length)return!1;for(a=0;a<i.length;a++){var u=i[a];if(!C.call(o,u)||!Dr(s[u],o[u]))return!1}return!0}function Je(s){for(;s&&s.firstChild;)s=s.firstChild;return s}function Ke(s,o){var i,a=Je(s);for(s=0;a;){if(3===a.nodeType){if(i=s+a.textContent.length,s<=o&&i>=o)return{node:a,offset:o-s};s=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Je(a)}}function Le(s,o){return!(!s||!o)&&(s===o||(!s||3!==s.nodeType)&&(o&&3===o.nodeType?Le(s,o.parentNode):\"contains\"in s?s.contains(o):!!s.compareDocumentPosition&&!!(16&s.compareDocumentPosition(o))))}function Me(){for(var s=window,o=Xa();o instanceof s.HTMLIFrameElement;){try{var i=\"string\"==typeof o.contentWindow.location.href}catch(s){i=!1}if(!i)break;o=Xa((s=o.contentWindow).document)}return o}function Ne(s){var o=s&&s.nodeName&&s.nodeName.toLowerCase();return o&&(\"input\"===o&&(\"text\"===s.type||\"search\"===s.type||\"tel\"===s.type||\"url\"===s.type||\"password\"===s.type)||\"textarea\"===o||\"true\"===s.contentEditable)}function Oe(s){var o=Me(),i=s.focusedElem,a=s.selectionRange;if(o!==i&&i&&i.ownerDocument&&Le(i.ownerDocument.documentElement,i)){if(null!==a&&Ne(i))if(o=a.start,void 0===(s=a.end)&&(s=o),\"selectionStart\"in i)i.selectionStart=o,i.selectionEnd=Math.min(s,i.value.length);else if((s=(o=i.ownerDocument||document)&&o.defaultView||window).getSelection){s=s.getSelection();var u=i.textContent.length,_=Math.min(a.start,u);a=void 0===a.end?_:Math.min(a.end,u),!s.extend&&_>a&&(u=a,a=_,_=u),u=Ke(i,_);var w=Ke(i,a);u&&w&&(1!==s.rangeCount||s.anchorNode!==u.node||s.anchorOffset!==u.offset||s.focusNode!==w.node||s.focusOffset!==w.offset)&&((o=o.createRange()).setStart(u.node,u.offset),s.removeAllRanges(),_>a?(s.addRange(o),s.extend(w.node,w.offset)):(o.setEnd(w.node,w.offset),s.addRange(o)))}for(o=[],s=i;s=s.parentNode;)1===s.nodeType&&o.push({element:s,left:s.scrollLeft,top:s.scrollTop});for(\"function\"==typeof i.focus&&i.focus(),i=0;i<o.length;i++)(s=o[i]).element.scrollLeft=s.left,s.element.scrollTop=s.top}}var Lr=x&&\"documentMode\"in document&&11>=document.documentMode,Fr=null,Br=null,$r=null,qr=!1;function Ue(s,o,i){var a=i.window===i?i.document:9===i.nodeType?i:i.ownerDocument;qr||null==Fr||Fr!==Xa(a)||(\"selectionStart\"in(a=Fr)&&Ne(a)?a={start:a.selectionStart,end:a.selectionEnd}:a={anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},$r&&Ie($r,a)||($r=a,0<(a=oe(Br,\"onSelect\")).length&&(o=new Qt(\"onSelect\",\"select\",null,o,i),s.push({event:o,listeners:a}),o.target=Fr)))}function Ve(s,o){var i={};return i[s.toLowerCase()]=o.toLowerCase(),i[\"Webkit\"+s]=\"webkit\"+o,i[\"Moz\"+s]=\"moz\"+o,i}var Ur={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Vr={},zr={};function Ze(s){if(Vr[s])return Vr[s];if(!Ur[s])return s;var o,i=Ur[s];for(o in i)if(i.hasOwnProperty(o)&&o in zr)return Vr[s]=i[o];return s}x&&(zr=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),\"TransitionEvent\"in window||delete Ur.transitionend.transition);var Wr=Ze(\"animationend\"),Jr=Ze(\"animationiteration\"),Hr=Ze(\"animationstart\"),Kr=Ze(\"transitionend\"),Gr=new Map,Yr=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function ff(s,o){Gr.set(s,o),fa(o,[s])}for(var Xr=0;Xr<Yr.length;Xr++){var Qr=Yr[Xr];ff(Qr.toLowerCase(),\"on\"+(Qr[0].toUpperCase()+Qr.slice(1)))}ff(Wr,\"onAnimationEnd\"),ff(Jr,\"onAnimationIteration\"),ff(Hr,\"onAnimationStart\"),ff(\"dblclick\",\"onDoubleClick\"),ff(\"focusin\",\"onFocus\"),ff(\"focusout\",\"onBlur\"),ff(Kr,\"onTransitionEnd\"),ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]),ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]),ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]),ha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]),fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \")),fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \")),fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]),fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \")),fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")),fa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var Zr=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),en=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(Zr));function nf(s,o,i){var a=s.type||\"unknown-event\";s.currentTarget=i,function Ub(s,o,i,a,u,_,w,x,C){if(Tb.apply(this,arguments),nt){if(!nt)throw Error(p(198));var j=st;nt=!1,st=null,ot||(ot=!0,it=j)}}(a,o,void 0,s),s.currentTarget=null}function se(s,o){o=!!(4&o);for(var i=0;i<s.length;i++){var a=s[i],u=a.event;a=a.listeners;e:{var _=void 0;if(o)for(var w=a.length-1;0<=w;w--){var x=a[w],C=x.instance,j=x.currentTarget;if(x=x.listener,C!==_&&u.isPropagationStopped())break e;nf(u,x,j),_=C}else for(w=0;w<a.length;w++){if(C=(x=a[w]).instance,j=x.currentTarget,x=x.listener,C!==_&&u.isPropagationStopped())break e;nf(u,x,j),_=C}}}if(ot)throw s=it,ot=!1,it=null,s}function D(s,o){var i=o[mn];void 0===i&&(i=o[mn]=new Set);var a=s+\"__bubble\";i.has(a)||(pf(o,s,2,!1),i.add(a))}function qf(s,o,i){var a=0;o&&(a|=4),pf(i,s,a,o)}var tn=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(s){if(!s[tn]){s[tn]=!0,_.forEach((function(o){\"selectionchange\"!==o&&(en.has(o)||qf(o,!1,s),qf(o,!0,s))}));var o=9===s.nodeType?s:s.ownerDocument;null===o||o[tn]||(o[tn]=!0,qf(\"selectionchange\",!1,o))}}function pf(s,o,i,a){switch(jd(o)){case 1:var u=ed;break;case 4:u=gd;break;default:u=fd}i=u.bind(null,o,i,s),u=void 0,!tt||\"touchstart\"!==o&&\"touchmove\"!==o&&\"wheel\"!==o||(u=!0),a?void 0!==u?s.addEventListener(o,i,{capture:!0,passive:u}):s.addEventListener(o,i,!0):void 0!==u?s.addEventListener(o,i,{passive:u}):s.addEventListener(o,i,!1)}function hd(s,o,i,a,u){var _=a;if(!(1&o||2&o||null===a))e:for(;;){if(null===a)return;var w=a.tag;if(3===w||4===w){var x=a.stateNode.containerInfo;if(x===u||8===x.nodeType&&x.parentNode===u)break;if(4===w)for(w=a.return;null!==w;){var C=w.tag;if((3===C||4===C)&&((C=w.stateNode.containerInfo)===u||8===C.nodeType&&C.parentNode===u))return;w=w.return}for(;null!==x;){if(null===(w=Wc(x)))return;if(5===(C=w.tag)||6===C){a=_=w;continue e}x=x.parentNode}}a=a.return}Jb((function(){var a=_,u=xb(i),w=[];e:{var x=Gr.get(s);if(void 0!==x){var C=Qt,j=s;switch(s){case\"keypress\":if(0===od(i))break e;case\"keydown\":case\"keyup\":C=mr;break;case\"focusin\":j=\"focus\",C=sr;break;case\"focusout\":j=\"blur\",C=sr;break;case\"beforeblur\":case\"afterblur\":C=sr;break;case\"click\":if(2===i.button)break e;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":C=rr;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":C=nr;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":C=yr;break;case Wr:case Jr:case Hr:C=ir;break;case Kr:C=vr;break;case\"scroll\":C=er;break;case\"wheel\":C=_r;break;case\"copy\":case\"cut\":case\"paste\":C=cr;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":C=gr}var L=!!(4&o),B=!L&&\"scroll\"===s,$=L?null!==x?x+\"Capture\":null:x;L=[];for(var U,V=a;null!==V;){var z=(U=V).stateNode;if(5===U.tag&&null!==z&&(U=z,null!==$&&(null!=(z=Kb(V,$))&&L.push(tf(V,z,U)))),B)break;V=V.return}0<L.length&&(x=new C(x,j,null,i,u),w.push({event:x,listeners:L}))}}if(!(7&o)){if(C=\"mouseout\"===s||\"pointerout\"===s,(!(x=\"mouseover\"===s||\"pointerover\"===s)||i===He||!(j=i.relatedTarget||i.fromElement)||!Wc(j)&&!j[fn])&&(C||x)&&(x=u.window===u?u:(x=u.ownerDocument)?x.defaultView||x.parentWindow:window,C?(C=a,null!==(j=(j=i.relatedTarget||i.toElement)?Wc(j):null)&&(j!==(B=Vb(j))||5!==j.tag&&6!==j.tag)&&(j=null)):(C=null,j=a),C!==j)){if(L=rr,z=\"onMouseLeave\",$=\"onMouseEnter\",V=\"mouse\",\"pointerout\"!==s&&\"pointerover\"!==s||(L=gr,z=\"onPointerLeave\",$=\"onPointerEnter\",V=\"pointer\"),B=null==C?x:ue(C),U=null==j?x:ue(j),(x=new L(z,V+\"leave\",C,i,u)).target=B,x.relatedTarget=U,z=null,Wc(u)===a&&((L=new L($,V+\"enter\",j,i,u)).target=U,L.relatedTarget=B,z=L),B=z,C&&j)e:{for($=j,V=0,U=L=C;U;U=vf(U))V++;for(U=0,z=$;z;z=vf(z))U++;for(;0<V-U;)L=vf(L),V--;for(;0<U-V;)$=vf($),U--;for(;V--;){if(L===$||null!==$&&L===$.alternate)break e;L=vf(L),$=vf($)}L=null}else L=null;null!==C&&wf(w,x,C,L,!1),null!==j&&null!==B&&wf(w,B,j,L,!0)}if(\"select\"===(C=(x=a?ue(a):window).nodeName&&x.nodeName.toLowerCase())||\"input\"===C&&\"file\"===x.type)var Y=ve;else if(me(x))if(Tr)Y=Fe;else{Y=De;var Z=Ce}else(C=x.nodeName)&&\"input\"===C.toLowerCase()&&(\"checkbox\"===x.type||\"radio\"===x.type)&&(Y=Ee);switch(Y&&(Y=Y(s,a))?ne(w,Y,i,u):(Z&&Z(s,x,a),\"focusout\"===s&&(Z=x._wrapperState)&&Z.controlled&&\"number\"===x.type&&cb(x,\"number\",x.value)),Z=a?ue(a):window,s){case\"focusin\":(me(Z)||\"true\"===Z.contentEditable)&&(Fr=Z,Br=a,$r=null);break;case\"focusout\":$r=Br=Fr=null;break;case\"mousedown\":qr=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":qr=!1,Ue(w,i,u);break;case\"selectionchange\":if(Lr)break;case\"keydown\":case\"keyup\":Ue(w,i,u)}var ee;if(Er)e:{switch(s){case\"compositionstart\":var ie=\"onCompositionStart\";break e;case\"compositionend\":ie=\"onCompositionEnd\";break e;case\"compositionupdate\":ie=\"onCompositionUpdate\";break e}ie=void 0}else Cr?ge(s,i)&&(ie=\"onCompositionEnd\"):\"keydown\"===s&&229===i.keyCode&&(ie=\"onCompositionStart\");ie&&(kr&&\"ko\"!==i.locale&&(Cr||\"onCompositionStart\"!==ie?\"onCompositionEnd\"===ie&&Cr&&(ee=nd()):(Jt=\"value\"in(Wt=u)?Wt.value:Wt.textContent,Cr=!0)),0<(Z=oe(a,ie)).length&&(ie=new lr(ie,s,null,i,u),w.push({event:ie,listeners:Z}),ee?ie.data=ee:null!==(ee=he(i))&&(ie.data=ee))),(ee=xr?function je(s,o){switch(s){case\"compositionend\":return he(o);case\"keypress\":return 32!==o.which?null:(Ar=!0,Or);case\"textInput\":return(s=o.data)===Or&&Ar?null:s;default:return null}}(s,i):function ke(s,o){if(Cr)return\"compositionend\"===s||!Er&&ge(s,o)?(s=nd(),Ht=Jt=Wt=null,Cr=!1,s):null;switch(s){case\"paste\":default:return null;case\"keypress\":if(!(o.ctrlKey||o.altKey||o.metaKey)||o.ctrlKey&&o.altKey){if(o.char&&1<o.char.length)return o.char;if(o.which)return String.fromCharCode(o.which)}return null;case\"compositionend\":return kr&&\"ko\"!==o.locale?null:o.data}}(s,i))&&(0<(a=oe(a,\"onBeforeInput\")).length&&(u=new lr(\"onBeforeInput\",\"beforeinput\",null,i,u),w.push({event:u,listeners:a}),u.data=ee))}se(w,o)}))}function tf(s,o,i){return{instance:s,listener:o,currentTarget:i}}function oe(s,o){for(var i=o+\"Capture\",a=[];null!==s;){var u=s,_=u.stateNode;5===u.tag&&null!==_&&(u=_,null!=(_=Kb(s,i))&&a.unshift(tf(s,_,u)),null!=(_=Kb(s,o))&&a.push(tf(s,_,u))),s=s.return}return a}function vf(s){if(null===s)return null;do{s=s.return}while(s&&5!==s.tag);return s||null}function wf(s,o,i,a,u){for(var _=o._reactName,w=[];null!==i&&i!==a;){var x=i,C=x.alternate,j=x.stateNode;if(null!==C&&C===a)break;5===x.tag&&null!==j&&(x=j,u?null!=(C=Kb(i,_))&&w.unshift(tf(i,C,x)):u||null!=(C=Kb(i,_))&&w.push(tf(i,C,x))),i=i.return}0!==w.length&&s.push({event:o,listeners:w})}var rn=/\\r\\n?/g,nn=/\\u0000|\\uFFFD/g;function zf(s){return(\"string\"==typeof s?s:\"\"+s).replace(rn,\"\\n\").replace(nn,\"\")}function Af(s,o,i){if(o=zf(o),zf(s)!==o&&i)throw Error(p(425))}function Bf(){}var sn=null,on=null;function Ef(s,o){return\"textarea\"===s||\"noscript\"===s||\"string\"==typeof o.children||\"number\"==typeof o.children||\"object\"==typeof o.dangerouslySetInnerHTML&&null!==o.dangerouslySetInnerHTML&&null!=o.dangerouslySetInnerHTML.__html}var an=\"function\"==typeof setTimeout?setTimeout:void 0,cn=\"function\"==typeof clearTimeout?clearTimeout:void 0,ln=\"function\"==typeof Promise?Promise:void 0,un=\"function\"==typeof queueMicrotask?queueMicrotask:void 0!==ln?function(s){return ln.resolve(null).then(s).catch(If)}:an;function If(s){setTimeout((function(){throw s}))}function Kf(s,o){var i=o,a=0;do{var u=i.nextSibling;if(s.removeChild(i),u&&8===u.nodeType)if(\"/$\"===(i=u.data)){if(0===a)return s.removeChild(u),void bd(o);a--}else\"$\"!==i&&\"$?\"!==i&&\"$!\"!==i||a++;i=u}while(i);bd(o)}function Lf(s){for(;null!=s;s=s.nextSibling){var o=s.nodeType;if(1===o||3===o)break;if(8===o){if(\"$\"===(o=s.data)||\"$!\"===o||\"$?\"===o)break;if(\"/$\"===o)return null}}return s}function Mf(s){s=s.previousSibling;for(var o=0;s;){if(8===s.nodeType){var i=s.data;if(\"$\"===i||\"$!\"===i||\"$?\"===i){if(0===o)return s;o--}else\"/$\"===i&&o++}s=s.previousSibling}return null}var pn=Math.random().toString(36).slice(2),hn=\"__reactFiber$\"+pn,dn=\"__reactProps$\"+pn,fn=\"__reactContainer$\"+pn,mn=\"__reactEvents$\"+pn,gn=\"__reactListeners$\"+pn,yn=\"__reactHandles$\"+pn;function Wc(s){var o=s[hn];if(o)return o;for(var i=s.parentNode;i;){if(o=i[fn]||i[hn]){if(i=o.alternate,null!==o.child||null!==i&&null!==i.child)for(s=Mf(s);null!==s;){if(i=s[hn])return i;s=Mf(s)}return o}i=(s=i).parentNode}return null}function Cb(s){return!(s=s[hn]||s[fn])||5!==s.tag&&6!==s.tag&&13!==s.tag&&3!==s.tag?null:s}function ue(s){if(5===s.tag||6===s.tag)return s.stateNode;throw Error(p(33))}function Db(s){return s[dn]||null}var vn=[],bn=-1;function Uf(s){return{current:s}}function E(s){0>bn||(s.current=vn[bn],vn[bn]=null,bn--)}function G(s,o){bn++,vn[bn]=s.current,s.current=o}var _n={},Sn=Uf(_n),En=Uf(!1),wn=_n;function Yf(s,o){var i=s.type.contextTypes;if(!i)return _n;var a=s.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===o)return a.__reactInternalMemoizedMaskedChildContext;var u,_={};for(u in i)_[u]=o[u];return a&&((s=s.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,s.__reactInternalMemoizedMaskedChildContext=_),_}function Zf(s){return null!=(s=s.childContextTypes)}function $f(){E(En),E(Sn)}function ag(s,o,i){if(Sn.current!==_n)throw Error(p(168));G(Sn,o),G(En,i)}function bg(s,o,i){var a=s.stateNode;if(o=o.childContextTypes,\"function\"!=typeof a.getChildContext)return i;for(var u in a=a.getChildContext())if(!(u in o))throw Error(p(108,Ra(s)||\"Unknown\",u));return we({},i,a)}function cg(s){return s=(s=s.stateNode)&&s.__reactInternalMemoizedMergedChildContext||_n,wn=Sn.current,G(Sn,s),G(En,En.current),!0}function dg(s,o,i){var a=s.stateNode;if(!a)throw Error(p(169));i?(s=bg(s,o,wn),a.__reactInternalMemoizedMergedChildContext=s,E(En),E(Sn),G(Sn,s)):E(En),G(En,i)}var xn=null,kn=!1,On=!1;function hg(s){null===xn?xn=[s]:xn.push(s)}function jg(){if(!On&&null!==xn){On=!0;var s=0,o=At;try{var i=xn;for(At=1;s<i.length;s++){var a=i[s];do{a=a(!0)}while(null!==a)}xn=null,kn=!1}catch(o){throw null!==xn&&(xn=xn.slice(s+1)),ct(mt,jg),o}finally{At=o,On=!1}}return null}var An=[],Cn=0,jn=null,Pn=0,In=[],Tn=0,Nn=null,Mn=1,Rn=\"\";function tg(s,o){An[Cn++]=Pn,An[Cn++]=jn,jn=s,Pn=o}function ug(s,o,i){In[Tn++]=Mn,In[Tn++]=Rn,In[Tn++]=Nn,Nn=s;var a=Mn;s=Rn;var u=32-Et(a)-1;a&=~(1<<u),i+=1;var _=32-Et(o)+u;if(30<_){var w=u-u%5;_=(a&(1<<w)-1).toString(32),a>>=w,u-=w,Mn=1<<32-Et(o)+u|i<<u|a,Rn=_+s}else Mn=1<<_|i<<u|a,Rn=s}function vg(s){null!==s.return&&(tg(s,1),ug(s,1,0))}function wg(s){for(;s===jn;)jn=An[--Cn],An[Cn]=null,Pn=An[--Cn],An[Cn]=null;for(;s===Nn;)Nn=In[--Tn],In[Tn]=null,Rn=In[--Tn],In[Tn]=null,Mn=In[--Tn],In[Tn]=null}var Dn=null,Ln=null,Fn=!1,Bn=null;function Ag(s,o){var i=Bg(5,null,null,0);i.elementType=\"DELETED\",i.stateNode=o,i.return=s,null===(o=s.deletions)?(s.deletions=[i],s.flags|=16):o.push(i)}function Cg(s,o){switch(s.tag){case 5:var i=s.type;return null!==(o=1!==o.nodeType||i.toLowerCase()!==o.nodeName.toLowerCase()?null:o)&&(s.stateNode=o,Dn=s,Ln=Lf(o.firstChild),!0);case 6:return null!==(o=\"\"===s.pendingProps||3!==o.nodeType?null:o)&&(s.stateNode=o,Dn=s,Ln=null,!0);case 13:return null!==(o=8!==o.nodeType?null:o)&&(i=null!==Nn?{id:Mn,overflow:Rn}:null,s.memoizedState={dehydrated:o,treeContext:i,retryLane:1073741824},(i=Bg(18,null,null,0)).stateNode=o,i.return=s,s.child=i,Dn=s,Ln=null,!0);default:return!1}}function Dg(s){return!(!(1&s.mode)||128&s.flags)}function Eg(s){if(Fn){var o=Ln;if(o){var i=o;if(!Cg(s,o)){if(Dg(s))throw Error(p(418));o=Lf(i.nextSibling);var a=Dn;o&&Cg(s,o)?Ag(a,i):(s.flags=-4097&s.flags|2,Fn=!1,Dn=s)}}else{if(Dg(s))throw Error(p(418));s.flags=-4097&s.flags|2,Fn=!1,Dn=s}}}function Fg(s){for(s=s.return;null!==s&&5!==s.tag&&3!==s.tag&&13!==s.tag;)s=s.return;Dn=s}function Gg(s){if(s!==Dn)return!1;if(!Fn)return Fg(s),Fn=!0,!1;var o;if((o=3!==s.tag)&&!(o=5!==s.tag)&&(o=\"head\"!==(o=s.type)&&\"body\"!==o&&!Ef(s.type,s.memoizedProps)),o&&(o=Ln)){if(Dg(s))throw Hg(),Error(p(418));for(;o;)Ag(s,o),o=Lf(o.nextSibling)}if(Fg(s),13===s.tag){if(!(s=null!==(s=s.memoizedState)?s.dehydrated:null))throw Error(p(317));e:{for(s=s.nextSibling,o=0;s;){if(8===s.nodeType){var i=s.data;if(\"/$\"===i){if(0===o){Ln=Lf(s.nextSibling);break e}o--}else\"$\"!==i&&\"$!\"!==i&&\"$?\"!==i||o++}s=s.nextSibling}Ln=null}}else Ln=Dn?Lf(s.stateNode.nextSibling):null;return!0}function Hg(){for(var s=Ln;s;)s=Lf(s.nextSibling)}function Ig(){Ln=Dn=null,Fn=!1}function Jg(s){null===Bn?Bn=[s]:Bn.push(s)}var $n=V.ReactCurrentBatchConfig;function Lg(s,o,i){if(null!==(s=i.ref)&&\"function\"!=typeof s&&\"object\"!=typeof s){if(i._owner){if(i=i._owner){if(1!==i.tag)throw Error(p(309));var a=i.stateNode}if(!a)throw Error(p(147,s));var u=a,_=\"\"+s;return null!==o&&null!==o.ref&&\"function\"==typeof o.ref&&o.ref._stringRef===_?o.ref:(o=function(s){var o=u.refs;null===s?delete o[_]:o[_]=s},o._stringRef=_,o)}if(\"string\"!=typeof s)throw Error(p(284));if(!i._owner)throw Error(p(290,s))}return s}function Mg(s,o){throw s=Object.prototype.toString.call(o),Error(p(31,\"[object Object]\"===s?\"object with keys {\"+Object.keys(o).join(\", \")+\"}\":s))}function Ng(s){return(0,s._init)(s._payload)}function Og(s){function b(o,i){if(s){var a=o.deletions;null===a?(o.deletions=[i],o.flags|=16):a.push(i)}}function c(o,i){if(!s)return null;for(;null!==i;)b(o,i),i=i.sibling;return null}function d(s,o){for(s=new Map;null!==o;)null!==o.key?s.set(o.key,o):s.set(o.index,o),o=o.sibling;return s}function e(s,o){return(s=Pg(s,o)).index=0,s.sibling=null,s}function f(o,i,a){return o.index=a,s?null!==(a=o.alternate)?(a=a.index)<i?(o.flags|=2,i):a:(o.flags|=2,i):(o.flags|=1048576,i)}function g(o){return s&&null===o.alternate&&(o.flags|=2),o}function h(s,o,i,a){return null===o||6!==o.tag?((o=Qg(i,s.mode,a)).return=s,o):((o=e(o,i)).return=s,o)}function k(s,o,i,a){var u=i.type;return u===Z?m(s,o,i.props.children,a,i.key):null!==o&&(o.elementType===u||\"object\"==typeof u&&null!==u&&u.$$typeof===ye&&Ng(u)===o.type)?((a=e(o,i.props)).ref=Lg(s,o,i),a.return=s,a):((a=Rg(i.type,i.key,i.props,null,s.mode,a)).ref=Lg(s,o,i),a.return=s,a)}function l(s,o,i,a){return null===o||4!==o.tag||o.stateNode.containerInfo!==i.containerInfo||o.stateNode.implementation!==i.implementation?((o=Sg(i,s.mode,a)).return=s,o):((o=e(o,i.children||[])).return=s,o)}function m(s,o,i,a,u){return null===o||7!==o.tag?((o=Tg(i,s.mode,a,u)).return=s,o):((o=e(o,i)).return=s,o)}function q(s,o,i){if(\"string\"==typeof o&&\"\"!==o||\"number\"==typeof o)return(o=Qg(\"\"+o,s.mode,i)).return=s,o;if(\"object\"==typeof o&&null!==o){switch(o.$$typeof){case z:return(i=Rg(o.type,o.key,o.props,null,s.mode,i)).ref=Lg(s,null,o),i.return=s,i;case Y:return(o=Sg(o,s.mode,i)).return=s,o;case ye:return q(s,(0,o._init)(o._payload),i)}if(Pe(o)||Ka(o))return(o=Tg(o,s.mode,i,null)).return=s,o;Mg(s,o)}return null}function r(s,o,i,a){var u=null!==o?o.key:null;if(\"string\"==typeof i&&\"\"!==i||\"number\"==typeof i)return null!==u?null:h(s,o,\"\"+i,a);if(\"object\"==typeof i&&null!==i){switch(i.$$typeof){case z:return i.key===u?k(s,o,i,a):null;case Y:return i.key===u?l(s,o,i,a):null;case ye:return r(s,o,(u=i._init)(i._payload),a)}if(Pe(i)||Ka(i))return null!==u?null:m(s,o,i,a,null);Mg(s,i)}return null}function y(s,o,i,a,u){if(\"string\"==typeof a&&\"\"!==a||\"number\"==typeof a)return h(o,s=s.get(i)||null,\"\"+a,u);if(\"object\"==typeof a&&null!==a){switch(a.$$typeof){case z:return k(o,s=s.get(null===a.key?i:a.key)||null,a,u);case Y:return l(o,s=s.get(null===a.key?i:a.key)||null,a,u);case ye:return y(s,o,i,(0,a._init)(a._payload),u)}if(Pe(a)||Ka(a))return m(o,s=s.get(i)||null,a,u,null);Mg(o,a)}return null}function n(o,i,a,u){for(var _=null,w=null,x=i,C=i=0,j=null;null!==x&&C<a.length;C++){x.index>C?(j=x,x=null):j=x.sibling;var L=r(o,x,a[C],u);if(null===L){null===x&&(x=j);break}s&&x&&null===L.alternate&&b(o,x),i=f(L,i,C),null===w?_=L:w.sibling=L,w=L,x=j}if(C===a.length)return c(o,x),Fn&&tg(o,C),_;if(null===x){for(;C<a.length;C++)null!==(x=q(o,a[C],u))&&(i=f(x,i,C),null===w?_=x:w.sibling=x,w=x);return Fn&&tg(o,C),_}for(x=d(o,x);C<a.length;C++)null!==(j=y(x,o,C,a[C],u))&&(s&&null!==j.alternate&&x.delete(null===j.key?C:j.key),i=f(j,i,C),null===w?_=j:w.sibling=j,w=j);return s&&x.forEach((function(s){return b(o,s)})),Fn&&tg(o,C),_}function t(o,i,a,u){var _=Ka(a);if(\"function\"!=typeof _)throw Error(p(150));if(null==(a=_.call(a)))throw Error(p(151));for(var w=_=null,x=i,C=i=0,j=null,L=a.next();null!==x&&!L.done;C++,L=a.next()){x.index>C?(j=x,x=null):j=x.sibling;var B=r(o,x,L.value,u);if(null===B){null===x&&(x=j);break}s&&x&&null===B.alternate&&b(o,x),i=f(B,i,C),null===w?_=B:w.sibling=B,w=B,x=j}if(L.done)return c(o,x),Fn&&tg(o,C),_;if(null===x){for(;!L.done;C++,L=a.next())null!==(L=q(o,L.value,u))&&(i=f(L,i,C),null===w?_=L:w.sibling=L,w=L);return Fn&&tg(o,C),_}for(x=d(o,x);!L.done;C++,L=a.next())null!==(L=y(x,o,C,L.value,u))&&(s&&null!==L.alternate&&x.delete(null===L.key?C:L.key),i=f(L,i,C),null===w?_=L:w.sibling=L,w=L);return s&&x.forEach((function(s){return b(o,s)})),Fn&&tg(o,C),_}return function J(s,o,i,a){if(\"object\"==typeof i&&null!==i&&i.type===Z&&null===i.key&&(i=i.props.children),\"object\"==typeof i&&null!==i){switch(i.$$typeof){case z:e:{for(var u=i.key,_=o;null!==_;){if(_.key===u){if((u=i.type)===Z){if(7===_.tag){c(s,_.sibling),(o=e(_,i.props.children)).return=s,s=o;break e}}else if(_.elementType===u||\"object\"==typeof u&&null!==u&&u.$$typeof===ye&&Ng(u)===_.type){c(s,_.sibling),(o=e(_,i.props)).ref=Lg(s,_,i),o.return=s,s=o;break e}c(s,_);break}b(s,_),_=_.sibling}i.type===Z?((o=Tg(i.props.children,s.mode,a,i.key)).return=s,s=o):((a=Rg(i.type,i.key,i.props,null,s.mode,a)).ref=Lg(s,o,i),a.return=s,s=a)}return g(s);case Y:e:{for(_=i.key;null!==o;){if(o.key===_){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){c(s,o.sibling),(o=e(o,i.children||[])).return=s,s=o;break e}c(s,o);break}b(s,o),o=o.sibling}(o=Sg(i,s.mode,a)).return=s,s=o}return g(s);case ye:return J(s,o,(_=i._init)(i._payload),a)}if(Pe(i))return n(s,o,i,a);if(Ka(i))return t(s,o,i,a);Mg(s,i)}return\"string\"==typeof i&&\"\"!==i||\"number\"==typeof i?(i=\"\"+i,null!==o&&6===o.tag?(c(s,o.sibling),(o=e(o,i)).return=s,s=o):(c(s,o),(o=Qg(i,s.mode,a)).return=s,s=o),g(s)):c(s,o)}}var qn=Og(!0),Un=Og(!1),Vn=Uf(null),zn=null,Wn=null,Jn=null;function $g(){Jn=Wn=zn=null}function ah(s){var o=Vn.current;E(Vn),s._currentValue=o}function bh(s,o,i){for(;null!==s;){var a=s.alternate;if((s.childLanes&o)!==o?(s.childLanes|=o,null!==a&&(a.childLanes|=o)):null!==a&&(a.childLanes&o)!==o&&(a.childLanes|=o),s===i)break;s=s.return}}function ch(s,o){zn=s,Jn=Wn=null,null!==(s=s.dependencies)&&null!==s.firstContext&&(!!(s.lanes&o)&&(bs=!0),s.firstContext=null)}function eh(s){var o=s._currentValue;if(Jn!==s)if(s={context:s,memoizedValue:o,next:null},null===Wn){if(null===zn)throw Error(p(308));Wn=s,zn.dependencies={lanes:0,firstContext:s}}else Wn=Wn.next=s;return o}var Hn=null;function gh(s){null===Hn?Hn=[s]:Hn.push(s)}function hh(s,o,i,a){var u=o.interleaved;return null===u?(i.next=i,gh(o)):(i.next=u.next,u.next=i),o.interleaved=i,ih(s,a)}function ih(s,o){s.lanes|=o;var i=s.alternate;for(null!==i&&(i.lanes|=o),i=s,s=s.return;null!==s;)s.childLanes|=o,null!==(i=s.alternate)&&(i.childLanes|=o),i=s,s=s.return;return 3===i.tag?i.stateNode:null}var Kn=!1;function kh(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lh(s,o){s=s.updateQueue,o.updateQueue===s&&(o.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,effects:s.effects})}function mh(s,o){return{eventTime:s,lane:o,tag:0,payload:null,callback:null,next:null}}function nh(s,o,i){var a=s.updateQueue;if(null===a)return null;if(a=a.shared,2&Ls){var u=a.pending;return null===u?o.next=o:(o.next=u.next,u.next=o),a.pending=o,ih(s,i)}return null===(u=a.interleaved)?(o.next=o,gh(a)):(o.next=u.next,u.next=o),a.interleaved=o,ih(s,i)}function oh(s,o,i){if(null!==(o=o.updateQueue)&&(o=o.shared,4194240&i)){var a=o.lanes;i|=a&=s.pendingLanes,o.lanes=i,Cc(s,i)}}function ph(s,o){var i=s.updateQueue,a=s.alternate;if(null!==a&&i===(a=a.updateQueue)){var u=null,_=null;if(null!==(i=i.firstBaseUpdate)){do{var w={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};null===_?u=_=w:_=_.next=w,i=i.next}while(null!==i);null===_?u=_=o:_=_.next=o}else u=_=o;return i={baseState:a.baseState,firstBaseUpdate:u,lastBaseUpdate:_,shared:a.shared,effects:a.effects},void(s.updateQueue=i)}null===(s=i.lastBaseUpdate)?i.firstBaseUpdate=o:s.next=o,i.lastBaseUpdate=o}function qh(s,o,i,a){var u=s.updateQueue;Kn=!1;var _=u.firstBaseUpdate,w=u.lastBaseUpdate,x=u.shared.pending;if(null!==x){u.shared.pending=null;var C=x,j=C.next;C.next=null,null===w?_=j:w.next=j,w=C;var L=s.alternate;null!==L&&((x=(L=L.updateQueue).lastBaseUpdate)!==w&&(null===x?L.firstBaseUpdate=j:x.next=j,L.lastBaseUpdate=C))}if(null!==_){var B=u.baseState;for(w=0,L=j=C=null,x=_;;){var $=x.lane,U=x.eventTime;if((a&$)===$){null!==L&&(L=L.next={eventTime:U,lane:0,tag:x.tag,payload:x.payload,callback:x.callback,next:null});e:{var V=s,z=x;switch($=o,U=i,z.tag){case 1:if(\"function\"==typeof(V=z.payload)){B=V.call(U,B,$);break e}B=V;break e;case 3:V.flags=-65537&V.flags|128;case 0:if(null==($=\"function\"==typeof(V=z.payload)?V.call(U,B,$):V))break e;B=we({},B,$);break e;case 2:Kn=!0}}null!==x.callback&&0!==x.lane&&(s.flags|=64,null===($=u.effects)?u.effects=[x]:$.push(x))}else U={eventTime:U,lane:$,tag:x.tag,payload:x.payload,callback:x.callback,next:null},null===L?(j=L=U,C=B):L=L.next=U,w|=$;if(null===(x=x.next)){if(null===(x=u.shared.pending))break;x=($=x).next,$.next=null,u.lastBaseUpdate=$,u.shared.pending=null}}if(null===L&&(C=B),u.baseState=C,u.firstBaseUpdate=j,u.lastBaseUpdate=L,null!==(o=u.shared.interleaved)){u=o;do{w|=u.lane,u=u.next}while(u!==o)}else null===_&&(u.shared.lanes=0);Ws|=w,s.lanes=w,s.memoizedState=B}}function sh(s,o,i){if(s=o.effects,o.effects=null,null!==s)for(o=0;o<s.length;o++){var a=s[o],u=a.callback;if(null!==u){if(a.callback=null,a=i,\"function\"!=typeof u)throw Error(p(191,u));u.call(a)}}}var Gn={},Yn=Uf(Gn),Xn=Uf(Gn),Qn=Uf(Gn);function xh(s){if(s===Gn)throw Error(p(174));return s}function yh(s,o){switch(G(Qn,o),G(Xn,s),G(Yn,Gn),s=o.nodeType){case 9:case 11:o=(o=o.documentElement)?o.namespaceURI:lb(null,\"\");break;default:o=lb(o=(s=8===s?o.parentNode:o).namespaceURI||null,s=s.tagName)}E(Yn),G(Yn,o)}function zh(){E(Yn),E(Xn),E(Qn)}function Ah(s){xh(Qn.current);var o=xh(Yn.current),i=lb(o,s.type);o!==i&&(G(Xn,s),G(Yn,i))}function Bh(s){Xn.current===s&&(E(Yn),E(Xn))}var Zn=Uf(0);function Ch(s){for(var o=s;null!==o;){if(13===o.tag){var i=o.memoizedState;if(null!==i&&(null===(i=i.dehydrated)||\"$?\"===i.data||\"$!\"===i.data))return o}else if(19===o.tag&&void 0!==o.memoizedProps.revealOrder){if(128&o.flags)return o}else if(null!==o.child){o.child.return=o,o=o.child;continue}if(o===s)break;for(;null===o.sibling;){if(null===o.return||o.return===s)return null;o=o.return}o.sibling.return=o.return,o=o.sibling}return null}var es=[];function Eh(){for(var s=0;s<es.length;s++)es[s]._workInProgressVersionPrimary=null;es.length=0}var ts=V.ReactCurrentDispatcher,rs=V.ReactCurrentBatchConfig,ns=0,ss=null,os=null,as=null,cs=!1,ls=!1,us=0,ps=0;function P(){throw Error(p(321))}function Mh(s,o){if(null===o)return!1;for(var i=0;i<o.length&&i<s.length;i++)if(!Dr(s[i],o[i]))return!1;return!0}function Nh(s,o,i,a,u,_){if(ns=_,ss=o,o.memoizedState=null,o.updateQueue=null,o.lanes=0,ts.current=null===s||null===s.memoizedState?ds:fs,s=i(a,u),ls){_=0;do{if(ls=!1,us=0,25<=_)throw Error(p(301));_+=1,as=os=null,o.updateQueue=null,ts.current=ms,s=i(a,u)}while(ls)}if(ts.current=hs,o=null!==os&&null!==os.next,ns=0,as=os=ss=null,cs=!1,o)throw Error(p(300));return s}function Sh(){var s=0!==us;return us=0,s}function Th(){var s={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===as?ss.memoizedState=as=s:as=as.next=s,as}function Uh(){if(null===os){var s=ss.alternate;s=null!==s?s.memoizedState:null}else s=os.next;var o=null===as?ss.memoizedState:as.next;if(null!==o)as=o,os=s;else{if(null===s)throw Error(p(310));s={memoizedState:(os=s).memoizedState,baseState:os.baseState,baseQueue:os.baseQueue,queue:os.queue,next:null},null===as?ss.memoizedState=as=s:as=as.next=s}return as}function Vh(s,o){return\"function\"==typeof o?o(s):o}function Wh(s){var o=Uh(),i=o.queue;if(null===i)throw Error(p(311));i.lastRenderedReducer=s;var a=os,u=a.baseQueue,_=i.pending;if(null!==_){if(null!==u){var w=u.next;u.next=_.next,_.next=w}a.baseQueue=u=_,i.pending=null}if(null!==u){_=u.next,a=a.baseState;var x=w=null,C=null,j=_;do{var L=j.lane;if((ns&L)===L)null!==C&&(C=C.next={lane:0,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null}),a=j.hasEagerState?j.eagerState:s(a,j.action);else{var B={lane:L,action:j.action,hasEagerState:j.hasEagerState,eagerState:j.eagerState,next:null};null===C?(x=C=B,w=a):C=C.next=B,ss.lanes|=L,Ws|=L}j=j.next}while(null!==j&&j!==_);null===C?w=a:C.next=x,Dr(a,o.memoizedState)||(bs=!0),o.memoizedState=a,o.baseState=w,o.baseQueue=C,i.lastRenderedState=a}if(null!==(s=i.interleaved)){u=s;do{_=u.lane,ss.lanes|=_,Ws|=_,u=u.next}while(u!==s)}else null===u&&(i.lanes=0);return[o.memoizedState,i.dispatch]}function Xh(s){var o=Uh(),i=o.queue;if(null===i)throw Error(p(311));i.lastRenderedReducer=s;var a=i.dispatch,u=i.pending,_=o.memoizedState;if(null!==u){i.pending=null;var w=u=u.next;do{_=s(_,w.action),w=w.next}while(w!==u);Dr(_,o.memoizedState)||(bs=!0),o.memoizedState=_,null===o.baseQueue&&(o.baseState=_),i.lastRenderedState=_}return[_,a]}function Yh(){}function Zh(s,o){var i=ss,a=Uh(),u=o(),_=!Dr(a.memoizedState,u);if(_&&(a.memoizedState=u,bs=!0),a=a.queue,$h(ai.bind(null,i,a,s),[s]),a.getSnapshot!==o||_||null!==as&&1&as.memoizedState.tag){if(i.flags|=2048,bi(9,ci.bind(null,i,a,u,o),void 0,null),null===Fs)throw Error(p(349));30&ns||di(i,o,u)}return u}function di(s,o,i){s.flags|=16384,s={getSnapshot:o,value:i},null===(o=ss.updateQueue)?(o={lastEffect:null,stores:null},ss.updateQueue=o,o.stores=[s]):null===(i=o.stores)?o.stores=[s]:i.push(s)}function ci(s,o,i,a){o.value=i,o.getSnapshot=a,ei(o)&&fi(s)}function ai(s,o,i){return i((function(){ei(o)&&fi(s)}))}function ei(s){var o=s.getSnapshot;s=s.value;try{var i=o();return!Dr(s,i)}catch(s){return!0}}function fi(s){var o=ih(s,1);null!==o&&gi(o,s,1,-1)}function hi(s){var o=Th();return\"function\"==typeof s&&(s=s()),o.memoizedState=o.baseState=s,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:s},o.queue=s,s=s.dispatch=ii.bind(null,ss,s),[o.memoizedState,s]}function bi(s,o,i,a){return s={tag:s,create:o,destroy:i,deps:a,next:null},null===(o=ss.updateQueue)?(o={lastEffect:null,stores:null},ss.updateQueue=o,o.lastEffect=s.next=s):null===(i=o.lastEffect)?o.lastEffect=s.next=s:(a=i.next,i.next=s,s.next=a,o.lastEffect=s),s}function ji(){return Uh().memoizedState}function ki(s,o,i,a){var u=Th();ss.flags|=s,u.memoizedState=bi(1|o,i,void 0,void 0===a?null:a)}function li(s,o,i,a){var u=Uh();a=void 0===a?null:a;var _=void 0;if(null!==os){var w=os.memoizedState;if(_=w.destroy,null!==a&&Mh(a,w.deps))return void(u.memoizedState=bi(o,i,_,a))}ss.flags|=s,u.memoizedState=bi(1|o,i,_,a)}function mi(s,o){return ki(8390656,8,s,o)}function $h(s,o){return li(2048,8,s,o)}function ni(s,o){return li(4,2,s,o)}function oi(s,o){return li(4,4,s,o)}function pi(s,o){return\"function\"==typeof o?(s=s(),o(s),function(){o(null)}):null!=o?(s=s(),o.current=s,function(){o.current=null}):void 0}function qi(s,o,i){return i=null!=i?i.concat([s]):null,li(4,4,pi.bind(null,o,s),i)}function ri(){}function si(s,o){var i=Uh();o=void 0===o?null:o;var a=i.memoizedState;return null!==a&&null!==o&&Mh(o,a[1])?a[0]:(i.memoizedState=[s,o],s)}function ti(s,o){var i=Uh();o=void 0===o?null:o;var a=i.memoizedState;return null!==a&&null!==o&&Mh(o,a[1])?a[0]:(s=s(),i.memoizedState=[s,o],s)}function ui(s,o,i){return 21&ns?(Dr(i,o)||(i=yc(),ss.lanes|=i,Ws|=i,s.baseState=!0),o):(s.baseState&&(s.baseState=!1,bs=!0),s.memoizedState=i)}function vi(s,o){var i=At;At=0!==i&&4>i?i:4,s(!0);var a=rs.transition;rs.transition={};try{s(!1),o()}finally{At=i,rs.transition=a}}function wi(){return Uh().memoizedState}function xi(s,o,i){var a=yi(s);if(i={lane:a,action:i,hasEagerState:!1,eagerState:null,next:null},zi(s))Ai(o,i);else if(null!==(i=hh(s,o,i,a))){gi(i,s,a,R()),Bi(i,o,a)}}function ii(s,o,i){var a=yi(s),u={lane:a,action:i,hasEagerState:!1,eagerState:null,next:null};if(zi(s))Ai(o,u);else{var _=s.alternate;if(0===s.lanes&&(null===_||0===_.lanes)&&null!==(_=o.lastRenderedReducer))try{var w=o.lastRenderedState,x=_(w,i);if(u.hasEagerState=!0,u.eagerState=x,Dr(x,w)){var C=o.interleaved;return null===C?(u.next=u,gh(o)):(u.next=C.next,C.next=u),void(o.interleaved=u)}}catch(s){}null!==(i=hh(s,o,u,a))&&(gi(i,s,a,u=R()),Bi(i,o,a))}}function zi(s){var o=s.alternate;return s===ss||null!==o&&o===ss}function Ai(s,o){ls=cs=!0;var i=s.pending;null===i?o.next=o:(o.next=i.next,i.next=o),s.pending=o}function Bi(s,o,i){if(4194240&i){var a=o.lanes;i|=a&=s.pendingLanes,o.lanes=i,Cc(s,i)}}var hs={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},ds={readContext:eh,useCallback:function(s,o){return Th().memoizedState=[s,void 0===o?null:o],s},useContext:eh,useEffect:mi,useImperativeHandle:function(s,o,i){return i=null!=i?i.concat([s]):null,ki(4194308,4,pi.bind(null,o,s),i)},useLayoutEffect:function(s,o){return ki(4194308,4,s,o)},useInsertionEffect:function(s,o){return ki(4,2,s,o)},useMemo:function(s,o){var i=Th();return o=void 0===o?null:o,s=s(),i.memoizedState=[s,o],s},useReducer:function(s,o,i){var a=Th();return o=void 0!==i?i(o):o,a.memoizedState=a.baseState=o,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:o},a.queue=s,s=s.dispatch=xi.bind(null,ss,s),[a.memoizedState,s]},useRef:function(s){return s={current:s},Th().memoizedState=s},useState:hi,useDebugValue:ri,useDeferredValue:function(s){return Th().memoizedState=s},useTransition:function(){var s=hi(!1),o=s[0];return s=vi.bind(null,s[1]),Th().memoizedState=s,[o,s]},useMutableSource:function(){},useSyncExternalStore:function(s,o,i){var a=ss,u=Th();if(Fn){if(void 0===i)throw Error(p(407));i=i()}else{if(i=o(),null===Fs)throw Error(p(349));30&ns||di(a,o,i)}u.memoizedState=i;var _={value:i,getSnapshot:o};return u.queue=_,mi(ai.bind(null,a,_,s),[s]),a.flags|=2048,bi(9,ci.bind(null,a,_,i,o),void 0,null),i},useId:function(){var s=Th(),o=Fs.identifierPrefix;if(Fn){var i=Rn;o=\":\"+o+\"R\"+(i=(Mn&~(1<<32-Et(Mn)-1)).toString(32)+i),0<(i=us++)&&(o+=\"H\"+i.toString(32)),o+=\":\"}else o=\":\"+o+\"r\"+(i=ps++).toString(32)+\":\";return s.memoizedState=o},unstable_isNewReconciler:!1},fs={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},useDebugValue:ri,useDeferredValue:function(s){return ui(Uh(),os.memoizedState,s)},useTransition:function(){return[Wh(Vh)[0],Uh().memoizedState]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},ms={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(s){var o=Uh();return null===os?o.memoizedState=s:ui(o,os.memoizedState,s)},useTransition:function(){return[Xh(Vh)[0],Uh().memoizedState]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(s,o){if(s&&s.defaultProps){for(var i in o=we({},o),s=s.defaultProps)void 0===o[i]&&(o[i]=s[i]);return o}return o}function Di(s,o,i,a){i=null==(i=i(a,o=s.memoizedState))?o:we({},o,i),s.memoizedState=i,0===s.lanes&&(s.updateQueue.baseState=i)}var gs={isMounted:function(s){return!!(s=s._reactInternals)&&Vb(s)===s},enqueueSetState:function(s,o,i){s=s._reactInternals;var a=R(),u=yi(s),_=mh(a,u);_.payload=o,null!=i&&(_.callback=i),null!==(o=nh(s,_,u))&&(gi(o,s,u,a),oh(o,s,u))},enqueueReplaceState:function(s,o,i){s=s._reactInternals;var a=R(),u=yi(s),_=mh(a,u);_.tag=1,_.payload=o,null!=i&&(_.callback=i),null!==(o=nh(s,_,u))&&(gi(o,s,u,a),oh(o,s,u))},enqueueForceUpdate:function(s,o){s=s._reactInternals;var i=R(),a=yi(s),u=mh(i,a);u.tag=2,null!=o&&(u.callback=o),null!==(o=nh(s,u,a))&&(gi(o,s,a,i),oh(o,s,a))}};function Fi(s,o,i,a,u,_,w){return\"function\"==typeof(s=s.stateNode).shouldComponentUpdate?s.shouldComponentUpdate(a,_,w):!o.prototype||!o.prototype.isPureReactComponent||(!Ie(i,a)||!Ie(u,_))}function Gi(s,o,i){var a=!1,u=_n,_=o.contextType;return\"object\"==typeof _&&null!==_?_=eh(_):(u=Zf(o)?wn:Sn.current,_=(a=null!=(a=o.contextTypes))?Yf(s,u):_n),o=new o(i,_),s.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,o.updater=gs,s.stateNode=o,o._reactInternals=s,a&&((s=s.stateNode).__reactInternalMemoizedUnmaskedChildContext=u,s.__reactInternalMemoizedMaskedChildContext=_),o}function Hi(s,o,i,a){s=o.state,\"function\"==typeof o.componentWillReceiveProps&&o.componentWillReceiveProps(i,a),\"function\"==typeof o.UNSAFE_componentWillReceiveProps&&o.UNSAFE_componentWillReceiveProps(i,a),o.state!==s&&gs.enqueueReplaceState(o,o.state,null)}function Ii(s,o,i,a){var u=s.stateNode;u.props=i,u.state=s.memoizedState,u.refs={},kh(s);var _=o.contextType;\"object\"==typeof _&&null!==_?u.context=eh(_):(_=Zf(o)?wn:Sn.current,u.context=Yf(s,_)),u.state=s.memoizedState,\"function\"==typeof(_=o.getDerivedStateFromProps)&&(Di(s,o,_,i),u.state=s.memoizedState),\"function\"==typeof o.getDerivedStateFromProps||\"function\"==typeof u.getSnapshotBeforeUpdate||\"function\"!=typeof u.UNSAFE_componentWillMount&&\"function\"!=typeof u.componentWillMount||(o=u.state,\"function\"==typeof u.componentWillMount&&u.componentWillMount(),\"function\"==typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount(),o!==u.state&&gs.enqueueReplaceState(u,u.state,null),qh(s,i,u,a),u.state=s.memoizedState),\"function\"==typeof u.componentDidMount&&(s.flags|=4194308)}function Ji(s,o){try{var i=\"\",a=o;do{i+=Pa(a),a=a.return}while(a);var u=i}catch(s){u=\"\\nError generating stack: \"+s.message+\"\\n\"+s.stack}return{value:s,source:o,stack:u,digest:null}}function Ki(s,o,i){return{value:s,source:null,stack:null!=i?i:null,digest:null!=o?o:null}}function Li(s,o){try{console.error(o.value)}catch(s){setTimeout((function(){throw s}))}}var ys=\"function\"==typeof WeakMap?WeakMap:Map;function Ni(s,o,i){(i=mh(-1,i)).tag=3,i.payload={element:null};var a=o.value;return i.callback=function(){Zs||(Zs=!0,eo=a),Li(0,o)},i}function Qi(s,o,i){(i=mh(-1,i)).tag=3;var a=s.type.getDerivedStateFromError;if(\"function\"==typeof a){var u=o.value;i.payload=function(){return a(u)},i.callback=function(){Li(0,o)}}var _=s.stateNode;return null!==_&&\"function\"==typeof _.componentDidCatch&&(i.callback=function(){Li(0,o),\"function\"!=typeof a&&(null===to?to=new Set([this]):to.add(this));var s=o.stack;this.componentDidCatch(o.value,{componentStack:null!==s?s:\"\"})}),i}function Si(s,o,i){var a=s.pingCache;if(null===a){a=s.pingCache=new ys;var u=new Set;a.set(o,u)}else void 0===(u=a.get(o))&&(u=new Set,a.set(o,u));u.has(i)||(u.add(i),s=Ti.bind(null,s,o,i),o.then(s,s))}function Ui(s){do{var o;if((o=13===s.tag)&&(o=null===(o=s.memoizedState)||null!==o.dehydrated),o)return s;s=s.return}while(null!==s);return null}function Vi(s,o,i,a,u){return 1&s.mode?(s.flags|=65536,s.lanes=u,s):(s===o?s.flags|=65536:(s.flags|=128,i.flags|=131072,i.flags&=-52805,1===i.tag&&(null===i.alternate?i.tag=17:((o=mh(-1,1)).tag=2,nh(i,o,1))),i.lanes|=1),s)}var vs=V.ReactCurrentOwner,bs=!1;function Xi(s,o,i,a){o.child=null===s?Un(o,null,i,a):qn(o,s.child,i,a)}function Yi(s,o,i,a,u){i=i.render;var _=o.ref;return ch(o,u),a=Nh(s,o,i,a,_,u),i=Sh(),null===s||bs?(Fn&&i&&vg(o),o.flags|=1,Xi(s,o,a,u),o.child):(o.updateQueue=s.updateQueue,o.flags&=-2053,s.lanes&=~u,Zi(s,o,u))}function $i(s,o,i,a,u){if(null===s){var _=i.type;return\"function\"!=typeof _||aj(_)||void 0!==_.defaultProps||null!==i.compare||void 0!==i.defaultProps?((s=Rg(i.type,null,a,o,o.mode,u)).ref=o.ref,s.return=o,o.child=s):(o.tag=15,o.type=_,bj(s,o,_,a,u))}if(_=s.child,!(s.lanes&u)){var w=_.memoizedProps;if((i=null!==(i=i.compare)?i:Ie)(w,a)&&s.ref===o.ref)return Zi(s,o,u)}return o.flags|=1,(s=Pg(_,a)).ref=o.ref,s.return=o,o.child=s}function bj(s,o,i,a,u){if(null!==s){var _=s.memoizedProps;if(Ie(_,a)&&s.ref===o.ref){if(bs=!1,o.pendingProps=a=_,!(s.lanes&u))return o.lanes=s.lanes,Zi(s,o,u);131072&s.flags&&(bs=!0)}}return cj(s,o,i,a,u)}function dj(s,o,i){var a=o.pendingProps,u=a.children,_=null!==s?s.memoizedState:null;if(\"hidden\"===a.mode)if(1&o.mode){if(!(1073741824&i))return s=null!==_?_.baseLanes|i:i,o.lanes=o.childLanes=1073741824,o.memoizedState={baseLanes:s,cachePool:null,transitions:null},o.updateQueue=null,G(Us,qs),qs|=s,null;o.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==_?_.baseLanes:i,G(Us,qs),qs|=a}else o.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(Us,qs),qs|=i;else null!==_?(a=_.baseLanes|i,o.memoizedState=null):a=i,G(Us,qs),qs|=a;return Xi(s,o,u,i),o.child}function gj(s,o){var i=o.ref;(null===s&&null!==i||null!==s&&s.ref!==i)&&(o.flags|=512,o.flags|=2097152)}function cj(s,o,i,a,u){var _=Zf(i)?wn:Sn.current;return _=Yf(o,_),ch(o,u),i=Nh(s,o,i,a,_,u),a=Sh(),null===s||bs?(Fn&&a&&vg(o),o.flags|=1,Xi(s,o,i,u),o.child):(o.updateQueue=s.updateQueue,o.flags&=-2053,s.lanes&=~u,Zi(s,o,u))}function hj(s,o,i,a,u){if(Zf(i)){var _=!0;cg(o)}else _=!1;if(ch(o,u),null===o.stateNode)ij(s,o),Gi(o,i,a),Ii(o,i,a,u),a=!0;else if(null===s){var w=o.stateNode,x=o.memoizedProps;w.props=x;var C=w.context,j=i.contextType;\"object\"==typeof j&&null!==j?j=eh(j):j=Yf(o,j=Zf(i)?wn:Sn.current);var L=i.getDerivedStateFromProps,B=\"function\"==typeof L||\"function\"==typeof w.getSnapshotBeforeUpdate;B||\"function\"!=typeof w.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof w.componentWillReceiveProps||(x!==a||C!==j)&&Hi(o,w,a,j),Kn=!1;var $=o.memoizedState;w.state=$,qh(o,a,w,u),C=o.memoizedState,x!==a||$!==C||En.current||Kn?(\"function\"==typeof L&&(Di(o,i,L,a),C=o.memoizedState),(x=Kn||Fi(o,i,x,a,$,C,j))?(B||\"function\"!=typeof w.UNSAFE_componentWillMount&&\"function\"!=typeof w.componentWillMount||(\"function\"==typeof w.componentWillMount&&w.componentWillMount(),\"function\"==typeof w.UNSAFE_componentWillMount&&w.UNSAFE_componentWillMount()),\"function\"==typeof w.componentDidMount&&(o.flags|=4194308)):(\"function\"==typeof w.componentDidMount&&(o.flags|=4194308),o.memoizedProps=a,o.memoizedState=C),w.props=a,w.state=C,w.context=j,a=x):(\"function\"==typeof w.componentDidMount&&(o.flags|=4194308),a=!1)}else{w=o.stateNode,lh(s,o),x=o.memoizedProps,j=o.type===o.elementType?x:Ci(o.type,x),w.props=j,B=o.pendingProps,$=w.context,\"object\"==typeof(C=i.contextType)&&null!==C?C=eh(C):C=Yf(o,C=Zf(i)?wn:Sn.current);var U=i.getDerivedStateFromProps;(L=\"function\"==typeof U||\"function\"==typeof w.getSnapshotBeforeUpdate)||\"function\"!=typeof w.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof w.componentWillReceiveProps||(x!==B||$!==C)&&Hi(o,w,a,C),Kn=!1,$=o.memoizedState,w.state=$,qh(o,a,w,u);var V=o.memoizedState;x!==B||$!==V||En.current||Kn?(\"function\"==typeof U&&(Di(o,i,U,a),V=o.memoizedState),(j=Kn||Fi(o,i,j,a,$,V,C)||!1)?(L||\"function\"!=typeof w.UNSAFE_componentWillUpdate&&\"function\"!=typeof w.componentWillUpdate||(\"function\"==typeof w.componentWillUpdate&&w.componentWillUpdate(a,V,C),\"function\"==typeof w.UNSAFE_componentWillUpdate&&w.UNSAFE_componentWillUpdate(a,V,C)),\"function\"==typeof w.componentDidUpdate&&(o.flags|=4),\"function\"==typeof w.getSnapshotBeforeUpdate&&(o.flags|=1024)):(\"function\"!=typeof w.componentDidUpdate||x===s.memoizedProps&&$===s.memoizedState||(o.flags|=4),\"function\"!=typeof w.getSnapshotBeforeUpdate||x===s.memoizedProps&&$===s.memoizedState||(o.flags|=1024),o.memoizedProps=a,o.memoizedState=V),w.props=a,w.state=V,w.context=C,a=j):(\"function\"!=typeof w.componentDidUpdate||x===s.memoizedProps&&$===s.memoizedState||(o.flags|=4),\"function\"!=typeof w.getSnapshotBeforeUpdate||x===s.memoizedProps&&$===s.memoizedState||(o.flags|=1024),a=!1)}return jj(s,o,i,a,_,u)}function jj(s,o,i,a,u,_){gj(s,o);var w=!!(128&o.flags);if(!a&&!w)return u&&dg(o,i,!1),Zi(s,o,_);a=o.stateNode,vs.current=o;var x=w&&\"function\"!=typeof i.getDerivedStateFromError?null:a.render();return o.flags|=1,null!==s&&w?(o.child=qn(o,s.child,null,_),o.child=qn(o,null,x,_)):Xi(s,o,x,_),o.memoizedState=a.state,u&&dg(o,i,!0),o.child}function kj(s){var o=s.stateNode;o.pendingContext?ag(0,o.pendingContext,o.pendingContext!==o.context):o.context&&ag(0,o.context,!1),yh(s,o.containerInfo)}function lj(s,o,i,a,u){return Ig(),Jg(u),o.flags|=256,Xi(s,o,i,a),o.child}var _s,Ss,Es,ws,xs={dehydrated:null,treeContext:null,retryLane:0};function nj(s){return{baseLanes:s,cachePool:null,transitions:null}}function oj(s,o,i){var a,u=o.pendingProps,_=Zn.current,w=!1,x=!!(128&o.flags);if((a=x)||(a=(null===s||null!==s.memoizedState)&&!!(2&_)),a?(w=!0,o.flags&=-129):null!==s&&null===s.memoizedState||(_|=1),G(Zn,1&_),null===s)return Eg(o),null!==(s=o.memoizedState)&&null!==(s=s.dehydrated)?(1&o.mode?\"$!\"===s.data?o.lanes=8:o.lanes=1073741824:o.lanes=1,null):(x=u.children,s=u.fallback,w?(u=o.mode,w=o.child,x={mode:\"hidden\",children:x},1&u||null===w?w=pj(x,u,0,null):(w.childLanes=0,w.pendingProps=x),s=Tg(s,u,i,null),w.return=o,s.return=o,w.sibling=s,o.child=w,o.child.memoizedState=nj(i),o.memoizedState=xs,s):qj(o,x));if(null!==(_=s.memoizedState)&&null!==(a=_.dehydrated))return function rj(s,o,i,a,u,_,w){if(i)return 256&o.flags?(o.flags&=-257,sj(s,o,w,a=Ki(Error(p(422))))):null!==o.memoizedState?(o.child=s.child,o.flags|=128,null):(_=a.fallback,u=o.mode,a=pj({mode:\"visible\",children:a.children},u,0,null),(_=Tg(_,u,w,null)).flags|=2,a.return=o,_.return=o,a.sibling=_,o.child=a,1&o.mode&&qn(o,s.child,null,w),o.child.memoizedState=nj(w),o.memoizedState=xs,_);if(!(1&o.mode))return sj(s,o,w,null);if(\"$!\"===u.data){if(a=u.nextSibling&&u.nextSibling.dataset)var x=a.dgst;return a=x,sj(s,o,w,a=Ki(_=Error(p(419)),a,void 0))}if(x=!!(w&s.childLanes),bs||x){if(null!==(a=Fs)){switch(w&-w){case 4:u=2;break;case 16:u=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:u=32;break;case 536870912:u=268435456;break;default:u=0}0!==(u=u&(a.suspendedLanes|w)?0:u)&&u!==_.retryLane&&(_.retryLane=u,ih(s,u),gi(a,s,u,-1))}return tj(),sj(s,o,w,a=Ki(Error(p(421))))}return\"$?\"===u.data?(o.flags|=128,o.child=s.child,o=uj.bind(null,s),u._reactRetry=o,null):(s=_.treeContext,Ln=Lf(u.nextSibling),Dn=o,Fn=!0,Bn=null,null!==s&&(In[Tn++]=Mn,In[Tn++]=Rn,In[Tn++]=Nn,Mn=s.id,Rn=s.overflow,Nn=o),o=qj(o,a.children),o.flags|=4096,o)}(s,o,x,u,a,_,i);if(w){w=u.fallback,x=o.mode,a=(_=s.child).sibling;var C={mode:\"hidden\",children:u.children};return 1&x||o.child===_?(u=Pg(_,C)).subtreeFlags=14680064&_.subtreeFlags:((u=o.child).childLanes=0,u.pendingProps=C,o.deletions=null),null!==a?w=Pg(a,w):(w=Tg(w,x,i,null)).flags|=2,w.return=o,u.return=o,u.sibling=w,o.child=u,u=w,w=o.child,x=null===(x=s.child.memoizedState)?nj(i):{baseLanes:x.baseLanes|i,cachePool:null,transitions:x.transitions},w.memoizedState=x,w.childLanes=s.childLanes&~i,o.memoizedState=xs,u}return s=(w=s.child).sibling,u=Pg(w,{mode:\"visible\",children:u.children}),!(1&o.mode)&&(u.lanes=i),u.return=o,u.sibling=null,null!==s&&(null===(i=o.deletions)?(o.deletions=[s],o.flags|=16):i.push(s)),o.child=u,o.memoizedState=null,u}function qj(s,o){return(o=pj({mode:\"visible\",children:o},s.mode,0,null)).return=s,s.child=o}function sj(s,o,i,a){return null!==a&&Jg(a),qn(o,s.child,null,i),(s=qj(o,o.pendingProps.children)).flags|=2,o.memoizedState=null,s}function vj(s,o,i){s.lanes|=o;var a=s.alternate;null!==a&&(a.lanes|=o),bh(s.return,o,i)}function wj(s,o,i,a,u){var _=s.memoizedState;null===_?s.memoizedState={isBackwards:o,rendering:null,renderingStartTime:0,last:a,tail:i,tailMode:u}:(_.isBackwards=o,_.rendering=null,_.renderingStartTime=0,_.last=a,_.tail=i,_.tailMode=u)}function xj(s,o,i){var a=o.pendingProps,u=a.revealOrder,_=a.tail;if(Xi(s,o,a.children,i),2&(a=Zn.current))a=1&a|2,o.flags|=128;else{if(null!==s&&128&s.flags)e:for(s=o.child;null!==s;){if(13===s.tag)null!==s.memoizedState&&vj(s,i,o);else if(19===s.tag)vj(s,i,o);else if(null!==s.child){s.child.return=s,s=s.child;continue}if(s===o)break e;for(;null===s.sibling;){if(null===s.return||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}a&=1}if(G(Zn,a),1&o.mode)switch(u){case\"forwards\":for(i=o.child,u=null;null!==i;)null!==(s=i.alternate)&&null===Ch(s)&&(u=i),i=i.sibling;null===(i=u)?(u=o.child,o.child=null):(u=i.sibling,i.sibling=null),wj(o,!1,u,i,_);break;case\"backwards\":for(i=null,u=o.child,o.child=null;null!==u;){if(null!==(s=u.alternate)&&null===Ch(s)){o.child=u;break}s=u.sibling,u.sibling=i,i=u,u=s}wj(o,!0,i,null,_);break;case\"together\":wj(o,!1,null,null,void 0);break;default:o.memoizedState=null}else o.memoizedState=null;return o.child}function ij(s,o){!(1&o.mode)&&null!==s&&(s.alternate=null,o.alternate=null,o.flags|=2)}function Zi(s,o,i){if(null!==s&&(o.dependencies=s.dependencies),Ws|=o.lanes,!(i&o.childLanes))return null;if(null!==s&&o.child!==s.child)throw Error(p(153));if(null!==o.child){for(i=Pg(s=o.child,s.pendingProps),o.child=i,i.return=o;null!==s.sibling;)s=s.sibling,(i=i.sibling=Pg(s,s.pendingProps)).return=o;i.sibling=null}return o.child}function Dj(s,o){if(!Fn)switch(s.tailMode){case\"hidden\":o=s.tail;for(var i=null;null!==o;)null!==o.alternate&&(i=o),o=o.sibling;null===i?s.tail=null:i.sibling=null;break;case\"collapsed\":i=s.tail;for(var a=null;null!==i;)null!==i.alternate&&(a=i),i=i.sibling;null===a?o||null===s.tail?s.tail=null:s.tail.sibling=null:a.sibling=null}}function S(s){var o=null!==s.alternate&&s.alternate.child===s.child,i=0,a=0;if(o)for(var u=s.child;null!==u;)i|=u.lanes|u.childLanes,a|=14680064&u.subtreeFlags,a|=14680064&u.flags,u.return=s,u=u.sibling;else for(u=s.child;null!==u;)i|=u.lanes|u.childLanes,a|=u.subtreeFlags,a|=u.flags,u.return=s,u=u.sibling;return s.subtreeFlags|=a,s.childLanes=i,o}function Ej(s,o,i){var a=o.pendingProps;switch(wg(o),o.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(o),null;case 1:case 17:return Zf(o.type)&&$f(),S(o),null;case 3:return a=o.stateNode,zh(),E(En),E(Sn),Eh(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==s&&null!==s.child||(Gg(o)?o.flags|=4:null===s||s.memoizedState.isDehydrated&&!(256&o.flags)||(o.flags|=1024,null!==Bn&&(Fj(Bn),Bn=null))),Ss(s,o),S(o),null;case 5:Bh(o);var u=xh(Qn.current);if(i=o.type,null!==s&&null!=o.stateNode)Es(s,o,i,a,u),s.ref!==o.ref&&(o.flags|=512,o.flags|=2097152);else{if(!a){if(null===o.stateNode)throw Error(p(166));return S(o),null}if(s=xh(Yn.current),Gg(o)){a=o.stateNode,i=o.type;var _=o.memoizedProps;switch(a[hn]=o,a[dn]=_,s=!!(1&o.mode),i){case\"dialog\":D(\"cancel\",a),D(\"close\",a);break;case\"iframe\":case\"object\":case\"embed\":D(\"load\",a);break;case\"video\":case\"audio\":for(u=0;u<Zr.length;u++)D(Zr[u],a);break;case\"source\":D(\"error\",a);break;case\"img\":case\"image\":case\"link\":D(\"error\",a),D(\"load\",a);break;case\"details\":D(\"toggle\",a);break;case\"input\":Za(a,_),D(\"invalid\",a);break;case\"select\":a._wrapperState={wasMultiple:!!_.multiple},D(\"invalid\",a);break;case\"textarea\":hb(a,_),D(\"invalid\",a)}for(var x in ub(i,_),u=null,_)if(_.hasOwnProperty(x)){var C=_[x];\"children\"===x?\"string\"==typeof C?a.textContent!==C&&(!0!==_.suppressHydrationWarning&&Af(a.textContent,C,s),u=[\"children\",C]):\"number\"==typeof C&&a.textContent!==\"\"+C&&(!0!==_.suppressHydrationWarning&&Af(a.textContent,C,s),u=[\"children\",\"\"+C]):w.hasOwnProperty(x)&&null!=C&&\"onScroll\"===x&&D(\"scroll\",a)}switch(i){case\"input\":Va(a),db(a,_,!0);break;case\"textarea\":Va(a),jb(a);break;case\"select\":case\"option\":break;default:\"function\"==typeof _.onClick&&(a.onclick=Bf)}a=u,o.updateQueue=a,null!==a&&(o.flags|=4)}else{x=9===u.nodeType?u:u.ownerDocument,\"http://www.w3.org/1999/xhtml\"===s&&(s=kb(i)),\"http://www.w3.org/1999/xhtml\"===s?\"script\"===i?((s=x.createElement(\"div\")).innerHTML=\"<script><\\/script>\",s=s.removeChild(s.firstChild)):\"string\"==typeof a.is?s=x.createElement(i,{is:a.is}):(s=x.createElement(i),\"select\"===i&&(x=s,a.multiple?x.multiple=!0:a.size&&(x.size=a.size))):s=x.createElementNS(s,i),s[hn]=o,s[dn]=a,_s(s,o,!1,!1),o.stateNode=s;e:{switch(x=vb(i,a),i){case\"dialog\":D(\"cancel\",s),D(\"close\",s),u=a;break;case\"iframe\":case\"object\":case\"embed\":D(\"load\",s),u=a;break;case\"video\":case\"audio\":for(u=0;u<Zr.length;u++)D(Zr[u],s);u=a;break;case\"source\":D(\"error\",s),u=a;break;case\"img\":case\"image\":case\"link\":D(\"error\",s),D(\"load\",s),u=a;break;case\"details\":D(\"toggle\",s),u=a;break;case\"input\":Za(s,a),u=Ya(s,a),D(\"invalid\",s);break;case\"option\":default:u=a;break;case\"select\":s._wrapperState={wasMultiple:!!a.multiple},u=we({},a,{value:void 0}),D(\"invalid\",s);break;case\"textarea\":hb(s,a),u=gb(s,a),D(\"invalid\",s)}for(_ in ub(i,u),C=u)if(C.hasOwnProperty(_)){var j=C[_];\"style\"===_?sb(s,j):\"dangerouslySetInnerHTML\"===_?null!=(j=j?j.__html:void 0)&&$e(s,j):\"children\"===_?\"string\"==typeof j?(\"textarea\"!==i||\"\"!==j)&&ob(s,j):\"number\"==typeof j&&ob(s,\"\"+j):\"suppressContentEditableWarning\"!==_&&\"suppressHydrationWarning\"!==_&&\"autoFocus\"!==_&&(w.hasOwnProperty(_)?null!=j&&\"onScroll\"===_&&D(\"scroll\",s):null!=j&&ta(s,_,j,x))}switch(i){case\"input\":Va(s),db(s,a,!1);break;case\"textarea\":Va(s),jb(s);break;case\"option\":null!=a.value&&s.setAttribute(\"value\",\"\"+Sa(a.value));break;case\"select\":s.multiple=!!a.multiple,null!=(_=a.value)?fb(s,!!a.multiple,_,!1):null!=a.defaultValue&&fb(s,!!a.multiple,a.defaultValue,!0);break;default:\"function\"==typeof u.onClick&&(s.onclick=Bf)}switch(i){case\"button\":case\"input\":case\"select\":case\"textarea\":a=!!a.autoFocus;break e;case\"img\":a=!0;break e;default:a=!1}}a&&(o.flags|=4)}null!==o.ref&&(o.flags|=512,o.flags|=2097152)}return S(o),null;case 6:if(s&&null!=o.stateNode)ws(s,o,s.memoizedProps,a);else{if(\"string\"!=typeof a&&null===o.stateNode)throw Error(p(166));if(i=xh(Qn.current),xh(Yn.current),Gg(o)){if(a=o.stateNode,i=o.memoizedProps,a[hn]=o,(_=a.nodeValue!==i)&&null!==(s=Dn))switch(s.tag){case 3:Af(a.nodeValue,i,!!(1&s.mode));break;case 5:!0!==s.memoizedProps.suppressHydrationWarning&&Af(a.nodeValue,i,!!(1&s.mode))}_&&(o.flags|=4)}else(a=(9===i.nodeType?i:i.ownerDocument).createTextNode(a))[hn]=o,o.stateNode=a}return S(o),null;case 13:if(E(Zn),a=o.memoizedState,null===s||null!==s.memoizedState&&null!==s.memoizedState.dehydrated){if(Fn&&null!==Ln&&1&o.mode&&!(128&o.flags))Hg(),Ig(),o.flags|=98560,_=!1;else if(_=Gg(o),null!==a&&null!==a.dehydrated){if(null===s){if(!_)throw Error(p(318));if(!(_=null!==(_=o.memoizedState)?_.dehydrated:null))throw Error(p(317));_[hn]=o}else Ig(),!(128&o.flags)&&(o.memoizedState=null),o.flags|=4;S(o),_=!1}else null!==Bn&&(Fj(Bn),Bn=null),_=!0;if(!_)return 65536&o.flags?o:null}return 128&o.flags?(o.lanes=i,o):((a=null!==a)!==(null!==s&&null!==s.memoizedState)&&a&&(o.child.flags|=8192,1&o.mode&&(null===s||1&Zn.current?0===Vs&&(Vs=3):tj())),null!==o.updateQueue&&(o.flags|=4),S(o),null);case 4:return zh(),Ss(s,o),null===s&&sf(o.stateNode.containerInfo),S(o),null;case 10:return ah(o.type._context),S(o),null;case 19:if(E(Zn),null===(_=o.memoizedState))return S(o),null;if(a=!!(128&o.flags),null===(x=_.rendering))if(a)Dj(_,!1);else{if(0!==Vs||null!==s&&128&s.flags)for(s=o.child;null!==s;){if(null!==(x=Ch(s))){for(o.flags|=128,Dj(_,!1),null!==(a=x.updateQueue)&&(o.updateQueue=a,o.flags|=4),o.subtreeFlags=0,a=i,i=o.child;null!==i;)s=a,(_=i).flags&=14680066,null===(x=_.alternate)?(_.childLanes=0,_.lanes=s,_.child=null,_.subtreeFlags=0,_.memoizedProps=null,_.memoizedState=null,_.updateQueue=null,_.dependencies=null,_.stateNode=null):(_.childLanes=x.childLanes,_.lanes=x.lanes,_.child=x.child,_.subtreeFlags=0,_.deletions=null,_.memoizedProps=x.memoizedProps,_.memoizedState=x.memoizedState,_.updateQueue=x.updateQueue,_.type=x.type,s=x.dependencies,_.dependencies=null===s?null:{lanes:s.lanes,firstContext:s.firstContext}),i=i.sibling;return G(Zn,1&Zn.current|2),o.child}s=s.sibling}null!==_.tail&&ht()>Xs&&(o.flags|=128,a=!0,Dj(_,!1),o.lanes=4194304)}else{if(!a)if(null!==(s=Ch(x))){if(o.flags|=128,a=!0,null!==(i=s.updateQueue)&&(o.updateQueue=i,o.flags|=4),Dj(_,!0),null===_.tail&&\"hidden\"===_.tailMode&&!x.alternate&&!Fn)return S(o),null}else 2*ht()-_.renderingStartTime>Xs&&1073741824!==i&&(o.flags|=128,a=!0,Dj(_,!1),o.lanes=4194304);_.isBackwards?(x.sibling=o.child,o.child=x):(null!==(i=_.last)?i.sibling=x:o.child=x,_.last=x)}return null!==_.tail?(o=_.tail,_.rendering=o,_.tail=o.sibling,_.renderingStartTime=ht(),o.sibling=null,i=Zn.current,G(Zn,a?1&i|2:1&i),o):(S(o),null);case 22:case 23:return Hj(),a=null!==o.memoizedState,null!==s&&null!==s.memoizedState!==a&&(o.flags|=8192),a&&1&o.mode?!!(1073741824&qs)&&(S(o),6&o.subtreeFlags&&(o.flags|=8192)):S(o),null;case 24:case 25:return null}throw Error(p(156,o.tag))}function Ij(s,o){switch(wg(o),o.tag){case 1:return Zf(o.type)&&$f(),65536&(s=o.flags)?(o.flags=-65537&s|128,o):null;case 3:return zh(),E(En),E(Sn),Eh(),65536&(s=o.flags)&&!(128&s)?(o.flags=-65537&s|128,o):null;case 5:return Bh(o),null;case 13:if(E(Zn),null!==(s=o.memoizedState)&&null!==s.dehydrated){if(null===o.alternate)throw Error(p(340));Ig()}return 65536&(s=o.flags)?(o.flags=-65537&s|128,o):null;case 19:return E(Zn),null;case 4:return zh(),null;case 10:return ah(o.type._context),null;case 22:case 23:return Hj(),null;default:return null}}_s=function(s,o){for(var i=o.child;null!==i;){if(5===i.tag||6===i.tag)s.appendChild(i.stateNode);else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===o)break;for(;null===i.sibling;){if(null===i.return||i.return===o)return;i=i.return}i.sibling.return=i.return,i=i.sibling}},Ss=function(){},Es=function(s,o,i,a){var u=s.memoizedProps;if(u!==a){s=o.stateNode,xh(Yn.current);var _,x=null;switch(i){case\"input\":u=Ya(s,u),a=Ya(s,a),x=[];break;case\"select\":u=we({},u,{value:void 0}),a=we({},a,{value:void 0}),x=[];break;case\"textarea\":u=gb(s,u),a=gb(s,a),x=[];break;default:\"function\"!=typeof u.onClick&&\"function\"==typeof a.onClick&&(s.onclick=Bf)}for(L in ub(i,a),i=null,u)if(!a.hasOwnProperty(L)&&u.hasOwnProperty(L)&&null!=u[L])if(\"style\"===L){var C=u[L];for(_ in C)C.hasOwnProperty(_)&&(i||(i={}),i[_]=\"\")}else\"dangerouslySetInnerHTML\"!==L&&\"children\"!==L&&\"suppressContentEditableWarning\"!==L&&\"suppressHydrationWarning\"!==L&&\"autoFocus\"!==L&&(w.hasOwnProperty(L)?x||(x=[]):(x=x||[]).push(L,null));for(L in a){var j=a[L];if(C=null!=u?u[L]:void 0,a.hasOwnProperty(L)&&j!==C&&(null!=j||null!=C))if(\"style\"===L)if(C){for(_ in C)!C.hasOwnProperty(_)||j&&j.hasOwnProperty(_)||(i||(i={}),i[_]=\"\");for(_ in j)j.hasOwnProperty(_)&&C[_]!==j[_]&&(i||(i={}),i[_]=j[_])}else i||(x||(x=[]),x.push(L,i)),i=j;else\"dangerouslySetInnerHTML\"===L?(j=j?j.__html:void 0,C=C?C.__html:void 0,null!=j&&C!==j&&(x=x||[]).push(L,j)):\"children\"===L?\"string\"!=typeof j&&\"number\"!=typeof j||(x=x||[]).push(L,\"\"+j):\"suppressContentEditableWarning\"!==L&&\"suppressHydrationWarning\"!==L&&(w.hasOwnProperty(L)?(null!=j&&\"onScroll\"===L&&D(\"scroll\",s),x||C===j||(x=[])):(x=x||[]).push(L,j))}i&&(x=x||[]).push(\"style\",i);var L=x;(o.updateQueue=L)&&(o.flags|=4)}},ws=function(s,o,i,a){i!==a&&(o.flags|=4)};var ks=!1,Os=!1,As=\"function\"==typeof WeakSet?WeakSet:Set,Cs=null;function Lj(s,o){var i=s.ref;if(null!==i)if(\"function\"==typeof i)try{i(null)}catch(i){W(s,o,i)}else i.current=null}function Mj(s,o,i){try{i()}catch(i){W(s,o,i)}}var js=!1;function Pj(s,o,i){var a=o.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var u=a=a.next;do{if((u.tag&s)===s){var _=u.destroy;u.destroy=void 0,void 0!==_&&Mj(o,i,_)}u=u.next}while(u!==a)}}function Qj(s,o){if(null!==(o=null!==(o=o.updateQueue)?o.lastEffect:null)){var i=o=o.next;do{if((i.tag&s)===s){var a=i.create;i.destroy=a()}i=i.next}while(i!==o)}}function Rj(s){var o=s.ref;if(null!==o){var i=s.stateNode;s.tag,s=i,\"function\"==typeof o?o(s):o.current=s}}function Sj(s){var o=s.alternate;null!==o&&(s.alternate=null,Sj(o)),s.child=null,s.deletions=null,s.sibling=null,5===s.tag&&(null!==(o=s.stateNode)&&(delete o[hn],delete o[dn],delete o[mn],delete o[gn],delete o[yn])),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function Tj(s){return 5===s.tag||3===s.tag||4===s.tag}function Uj(s){e:for(;;){for(;null===s.sibling;){if(null===s.return||Tj(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;5!==s.tag&&6!==s.tag&&18!==s.tag;){if(2&s.flags)continue e;if(null===s.child||4===s.tag)continue e;s.child.return=s,s=s.child}if(!(2&s.flags))return s.stateNode}}function Vj(s,o,i){var a=s.tag;if(5===a||6===a)s=s.stateNode,o?8===i.nodeType?i.parentNode.insertBefore(s,o):i.insertBefore(s,o):(8===i.nodeType?(o=i.parentNode).insertBefore(s,i):(o=i).appendChild(s),null!=(i=i._reactRootContainer)||null!==o.onclick||(o.onclick=Bf));else if(4!==a&&null!==(s=s.child))for(Vj(s,o,i),s=s.sibling;null!==s;)Vj(s,o,i),s=s.sibling}function Wj(s,o,i){var a=s.tag;if(5===a||6===a)s=s.stateNode,o?i.insertBefore(s,o):i.appendChild(s);else if(4!==a&&null!==(s=s.child))for(Wj(s,o,i),s=s.sibling;null!==s;)Wj(s,o,i),s=s.sibling}var Ps=null,Is=!1;function Yj(s,o,i){for(i=i.child;null!==i;)Zj(s,o,i),i=i.sibling}function Zj(s,o,i){if(St&&\"function\"==typeof St.onCommitFiberUnmount)try{St.onCommitFiberUnmount(_t,i)}catch(s){}switch(i.tag){case 5:Os||Lj(i,o);case 6:var a=Ps,u=Is;Ps=null,Yj(s,o,i),Is=u,null!==(Ps=a)&&(Is?(s=Ps,i=i.stateNode,8===s.nodeType?s.parentNode.removeChild(i):s.removeChild(i)):Ps.removeChild(i.stateNode));break;case 18:null!==Ps&&(Is?(s=Ps,i=i.stateNode,8===s.nodeType?Kf(s.parentNode,i):1===s.nodeType&&Kf(s,i),bd(s)):Kf(Ps,i.stateNode));break;case 4:a=Ps,u=Is,Ps=i.stateNode.containerInfo,Is=!0,Yj(s,o,i),Ps=a,Is=u;break;case 0:case 11:case 14:case 15:if(!Os&&(null!==(a=i.updateQueue)&&null!==(a=a.lastEffect))){u=a=a.next;do{var _=u,w=_.destroy;_=_.tag,void 0!==w&&(2&_||4&_)&&Mj(i,o,w),u=u.next}while(u!==a)}Yj(s,o,i);break;case 1:if(!Os&&(Lj(i,o),\"function\"==typeof(a=i.stateNode).componentWillUnmount))try{a.props=i.memoizedProps,a.state=i.memoizedState,a.componentWillUnmount()}catch(s){W(i,o,s)}Yj(s,o,i);break;case 21:Yj(s,o,i);break;case 22:1&i.mode?(Os=(a=Os)||null!==i.memoizedState,Yj(s,o,i),Os=a):Yj(s,o,i);break;default:Yj(s,o,i)}}function ak(s){var o=s.updateQueue;if(null!==o){s.updateQueue=null;var i=s.stateNode;null===i&&(i=s.stateNode=new As),o.forEach((function(o){var a=bk.bind(null,s,o);i.has(o)||(i.add(o),o.then(a,a))}))}}function ck(s,o){var i=o.deletions;if(null!==i)for(var a=0;a<i.length;a++){var u=i[a];try{var _=s,w=o,x=w;e:for(;null!==x;){switch(x.tag){case 5:Ps=x.stateNode,Is=!1;break e;case 3:case 4:Ps=x.stateNode.containerInfo,Is=!0;break e}x=x.return}if(null===Ps)throw Error(p(160));Zj(_,w,u),Ps=null,Is=!1;var C=u.alternate;null!==C&&(C.return=null),u.return=null}catch(s){W(u,o,s)}}if(12854&o.subtreeFlags)for(o=o.child;null!==o;)dk(o,s),o=o.sibling}function dk(s,o){var i=s.alternate,a=s.flags;switch(s.tag){case 0:case 11:case 14:case 15:if(ck(o,s),ek(s),4&a){try{Pj(3,s,s.return),Qj(3,s)}catch(o){W(s,s.return,o)}try{Pj(5,s,s.return)}catch(o){W(s,s.return,o)}}break;case 1:ck(o,s),ek(s),512&a&&null!==i&&Lj(i,i.return);break;case 5:if(ck(o,s),ek(s),512&a&&null!==i&&Lj(i,i.return),32&s.flags){var u=s.stateNode;try{ob(u,\"\")}catch(o){W(s,s.return,o)}}if(4&a&&null!=(u=s.stateNode)){var _=s.memoizedProps,w=null!==i?i.memoizedProps:_,x=s.type,C=s.updateQueue;if(s.updateQueue=null,null!==C)try{\"input\"===x&&\"radio\"===_.type&&null!=_.name&&ab(u,_),vb(x,w);var j=vb(x,_);for(w=0;w<C.length;w+=2){var L=C[w],B=C[w+1];\"style\"===L?sb(u,B):\"dangerouslySetInnerHTML\"===L?$e(u,B):\"children\"===L?ob(u,B):ta(u,L,B,j)}switch(x){case\"input\":bb(u,_);break;case\"textarea\":ib(u,_);break;case\"select\":var $=u._wrapperState.wasMultiple;u._wrapperState.wasMultiple=!!_.multiple;var U=_.value;null!=U?fb(u,!!_.multiple,U,!1):$!==!!_.multiple&&(null!=_.defaultValue?fb(u,!!_.multiple,_.defaultValue,!0):fb(u,!!_.multiple,_.multiple?[]:\"\",!1))}u[dn]=_}catch(o){W(s,s.return,o)}}break;case 6:if(ck(o,s),ek(s),4&a){if(null===s.stateNode)throw Error(p(162));u=s.stateNode,_=s.memoizedProps;try{u.nodeValue=_}catch(o){W(s,s.return,o)}}break;case 3:if(ck(o,s),ek(s),4&a&&null!==i&&i.memoizedState.isDehydrated)try{bd(o.containerInfo)}catch(o){W(s,s.return,o)}break;case 4:default:ck(o,s),ek(s);break;case 13:ck(o,s),ek(s),8192&(u=s.child).flags&&(_=null!==u.memoizedState,u.stateNode.isHidden=_,!_||null!==u.alternate&&null!==u.alternate.memoizedState||(Ys=ht())),4&a&&ak(s);break;case 22:if(L=null!==i&&null!==i.memoizedState,1&s.mode?(Os=(j=Os)||L,ck(o,s),Os=j):ck(o,s),ek(s),8192&a){if(j=null!==s.memoizedState,(s.stateNode.isHidden=j)&&!L&&1&s.mode)for(Cs=s,L=s.child;null!==L;){for(B=Cs=L;null!==Cs;){switch(U=($=Cs).child,$.tag){case 0:case 11:case 14:case 15:Pj(4,$,$.return);break;case 1:Lj($,$.return);var V=$.stateNode;if(\"function\"==typeof V.componentWillUnmount){a=$,i=$.return;try{o=a,V.props=o.memoizedProps,V.state=o.memoizedState,V.componentWillUnmount()}catch(s){W(a,i,s)}}break;case 5:Lj($,$.return);break;case 22:if(null!==$.memoizedState){gk(B);continue}}null!==U?(U.return=$,Cs=U):gk(B)}L=L.sibling}e:for(L=null,B=s;;){if(5===B.tag){if(null===L){L=B;try{u=B.stateNode,j?\"function\"==typeof(_=u.style).setProperty?_.setProperty(\"display\",\"none\",\"important\"):_.display=\"none\":(x=B.stateNode,w=null!=(C=B.memoizedProps.style)&&C.hasOwnProperty(\"display\")?C.display:null,x.style.display=rb(\"display\",w))}catch(o){W(s,s.return,o)}}}else if(6===B.tag){if(null===L)try{B.stateNode.nodeValue=j?\"\":B.memoizedProps}catch(o){W(s,s.return,o)}}else if((22!==B.tag&&23!==B.tag||null===B.memoizedState||B===s)&&null!==B.child){B.child.return=B,B=B.child;continue}if(B===s)break e;for(;null===B.sibling;){if(null===B.return||B.return===s)break e;L===B&&(L=null),B=B.return}L===B&&(L=null),B.sibling.return=B.return,B=B.sibling}}break;case 19:ck(o,s),ek(s),4&a&&ak(s);case 21:}}function ek(s){var o=s.flags;if(2&o){try{e:{for(var i=s.return;null!==i;){if(Tj(i)){var a=i;break e}i=i.return}throw Error(p(160))}switch(a.tag){case 5:var u=a.stateNode;32&a.flags&&(ob(u,\"\"),a.flags&=-33),Wj(s,Uj(s),u);break;case 3:case 4:var _=a.stateNode.containerInfo;Vj(s,Uj(s),_);break;default:throw Error(p(161))}}catch(o){W(s,s.return,o)}s.flags&=-3}4096&o&&(s.flags&=-4097)}function hk(s,o,i){Cs=s,ik(s,o,i)}function ik(s,o,i){for(var a=!!(1&s.mode);null!==Cs;){var u=Cs,_=u.child;if(22===u.tag&&a){var w=null!==u.memoizedState||ks;if(!w){var x=u.alternate,C=null!==x&&null!==x.memoizedState||Os;x=ks;var j=Os;if(ks=w,(Os=C)&&!j)for(Cs=u;null!==Cs;)C=(w=Cs).child,22===w.tag&&null!==w.memoizedState?jk(u):null!==C?(C.return=w,Cs=C):jk(u);for(;null!==_;)Cs=_,ik(_,o,i),_=_.sibling;Cs=u,ks=x,Os=j}kk(s)}else 8772&u.subtreeFlags&&null!==_?(_.return=u,Cs=_):kk(s)}}function kk(s){for(;null!==Cs;){var o=Cs;if(8772&o.flags){var i=o.alternate;try{if(8772&o.flags)switch(o.tag){case 0:case 11:case 15:Os||Qj(5,o);break;case 1:var a=o.stateNode;if(4&o.flags&&!Os)if(null===i)a.componentDidMount();else{var u=o.elementType===o.type?i.memoizedProps:Ci(o.type,i.memoizedProps);a.componentDidUpdate(u,i.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var _=o.updateQueue;null!==_&&sh(o,_,a);break;case 3:var w=o.updateQueue;if(null!==w){if(i=null,null!==o.child)switch(o.child.tag){case 5:case 1:i=o.child.stateNode}sh(o,w,i)}break;case 5:var x=o.stateNode;if(null===i&&4&o.flags){i=x;var C=o.memoizedProps;switch(o.type){case\"button\":case\"input\":case\"select\":case\"textarea\":C.autoFocus&&i.focus();break;case\"img\":C.src&&(i.src=C.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===o.memoizedState){var j=o.alternate;if(null!==j){var L=j.memoizedState;if(null!==L){var B=L.dehydrated;null!==B&&bd(B)}}}break;default:throw Error(p(163))}Os||512&o.flags&&Rj(o)}catch(s){W(o,o.return,s)}}if(o===s){Cs=null;break}if(null!==(i=o.sibling)){i.return=o.return,Cs=i;break}Cs=o.return}}function gk(s){for(;null!==Cs;){var o=Cs;if(o===s){Cs=null;break}var i=o.sibling;if(null!==i){i.return=o.return,Cs=i;break}Cs=o.return}}function jk(s){for(;null!==Cs;){var o=Cs;try{switch(o.tag){case 0:case 11:case 15:var i=o.return;try{Qj(4,o)}catch(s){W(o,i,s)}break;case 1:var a=o.stateNode;if(\"function\"==typeof a.componentDidMount){var u=o.return;try{a.componentDidMount()}catch(s){W(o,u,s)}}var _=o.return;try{Rj(o)}catch(s){W(o,_,s)}break;case 5:var w=o.return;try{Rj(o)}catch(s){W(o,w,s)}}}catch(s){W(o,o.return,s)}if(o===s){Cs=null;break}var x=o.sibling;if(null!==x){x.return=o.return,Cs=x;break}Cs=o.return}}var Ts,Ns=Math.ceil,Ms=V.ReactCurrentDispatcher,Rs=V.ReactCurrentOwner,Ds=V.ReactCurrentBatchConfig,Ls=0,Fs=null,Bs=null,$s=0,qs=0,Us=Uf(0),Vs=0,zs=null,Ws=0,Js=0,Hs=0,Ks=null,Gs=null,Ys=0,Xs=1/0,Qs=null,Zs=!1,eo=null,to=null,ro=!1,no=null,so=0,oo=0,io=null,ao=-1,co=0;function R(){return 6&Ls?ht():-1!==ao?ao:ao=ht()}function yi(s){return 1&s.mode?2&Ls&&0!==$s?$s&-$s:null!==$n.transition?(0===co&&(co=yc()),co):0!==(s=At)?s:s=void 0===(s=window.event)?16:jd(s.type):1}function gi(s,o,i,a){if(50<oo)throw oo=0,io=null,Error(p(185));Ac(s,i,a),2&Ls&&s===Fs||(s===Fs&&(!(2&Ls)&&(Js|=i),4===Vs&&Ck(s,$s)),Dk(s,a),1===i&&0===Ls&&!(1&o.mode)&&(Xs=ht()+500,kn&&jg()))}function Dk(s,o){var i=s.callbackNode;!function wc(s,o){for(var i=s.suspendedLanes,a=s.pingedLanes,u=s.expirationTimes,_=s.pendingLanes;0<_;){var w=31-Et(_),x=1<<w,C=u[w];-1===C?x&i&&!(x&a)||(u[w]=vc(x,o)):C<=o&&(s.expiredLanes|=x),_&=~x}}(s,o);var a=uc(s,s===Fs?$s:0);if(0===a)null!==i&&lt(i),s.callbackNode=null,s.callbackPriority=0;else if(o=a&-a,s.callbackPriority!==o){if(null!=i&&lt(i),1===o)0===s.tag?function ig(s){kn=!0,hg(s)}(Ek.bind(null,s)):hg(Ek.bind(null,s)),un((function(){!(6&Ls)&&jg()})),i=null;else{switch(Dc(a)){case 1:i=mt;break;case 4:i=gt;break;case 16:default:i=yt;break;case 536870912:i=bt}i=Fk(i,Gk.bind(null,s))}s.callbackPriority=o,s.callbackNode=i}}function Gk(s,o){if(ao=-1,co=0,6&Ls)throw Error(p(327));var i=s.callbackNode;if(Hk()&&s.callbackNode!==i)return null;var a=uc(s,s===Fs?$s:0);if(0===a)return null;if(30&a||a&s.expiredLanes||o)o=Ik(s,a);else{o=a;var u=Ls;Ls|=2;var _=Jk();for(Fs===s&&$s===o||(Qs=null,Xs=ht()+500,Kk(s,o));;)try{Lk();break}catch(o){Mk(s,o)}$g(),Ms.current=_,Ls=u,null!==Bs?o=0:(Fs=null,$s=0,o=Vs)}if(0!==o){if(2===o&&(0!==(u=xc(s))&&(a=u,o=Nk(s,u))),1===o)throw i=zs,Kk(s,0),Ck(s,a),Dk(s,ht()),i;if(6===o)Ck(s,a);else{if(u=s.current.alternate,!(30&a||function Ok(s){for(var o=s;;){if(16384&o.flags){var i=o.updateQueue;if(null!==i&&null!==(i=i.stores))for(var a=0;a<i.length;a++){var u=i[a],_=u.getSnapshot;u=u.value;try{if(!Dr(_(),u))return!1}catch(s){return!1}}}if(i=o.child,16384&o.subtreeFlags&&null!==i)i.return=o,o=i;else{if(o===s)break;for(;null===o.sibling;){if(null===o.return||o.return===s)return!0;o=o.return}o.sibling.return=o.return,o=o.sibling}}return!0}(u)||(o=Ik(s,a),2===o&&(_=xc(s),0!==_&&(a=_,o=Nk(s,_))),1!==o)))throw i=zs,Kk(s,0),Ck(s,a),Dk(s,ht()),i;switch(s.finishedWork=u,s.finishedLanes=a,o){case 0:case 1:throw Error(p(345));case 2:case 5:Pk(s,Gs,Qs);break;case 3:if(Ck(s,a),(130023424&a)===a&&10<(o=Ys+500-ht())){if(0!==uc(s,0))break;if(((u=s.suspendedLanes)&a)!==a){R(),s.pingedLanes|=s.suspendedLanes&u;break}s.timeoutHandle=an(Pk.bind(null,s,Gs,Qs),o);break}Pk(s,Gs,Qs);break;case 4:if(Ck(s,a),(4194240&a)===a)break;for(o=s.eventTimes,u=-1;0<a;){var w=31-Et(a);_=1<<w,(w=o[w])>u&&(u=w),a&=~_}if(a=u,10<(a=(120>(a=ht()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*Ns(a/1960))-a)){s.timeoutHandle=an(Pk.bind(null,s,Gs,Qs),a);break}Pk(s,Gs,Qs);break;default:throw Error(p(329))}}}return Dk(s,ht()),s.callbackNode===i?Gk.bind(null,s):null}function Nk(s,o){var i=Ks;return s.current.memoizedState.isDehydrated&&(Kk(s,o).flags|=256),2!==(s=Ik(s,o))&&(o=Gs,Gs=i,null!==o&&Fj(o)),s}function Fj(s){null===Gs?Gs=s:Gs.push.apply(Gs,s)}function Ck(s,o){for(o&=~Hs,o&=~Js,s.suspendedLanes|=o,s.pingedLanes&=~o,s=s.expirationTimes;0<o;){var i=31-Et(o),a=1<<i;s[i]=-1,o&=~a}}function Ek(s){if(6&Ls)throw Error(p(327));Hk();var o=uc(s,0);if(!(1&o))return Dk(s,ht()),null;var i=Ik(s,o);if(0!==s.tag&&2===i){var a=xc(s);0!==a&&(o=a,i=Nk(s,a))}if(1===i)throw i=zs,Kk(s,0),Ck(s,o),Dk(s,ht()),i;if(6===i)throw Error(p(345));return s.finishedWork=s.current.alternate,s.finishedLanes=o,Pk(s,Gs,Qs),Dk(s,ht()),null}function Qk(s,o){var i=Ls;Ls|=1;try{return s(o)}finally{0===(Ls=i)&&(Xs=ht()+500,kn&&jg())}}function Rk(s){null!==no&&0===no.tag&&!(6&Ls)&&Hk();var o=Ls;Ls|=1;var i=Ds.transition,a=At;try{if(Ds.transition=null,At=1,s)return s()}finally{At=a,Ds.transition=i,!(6&(Ls=o))&&jg()}}function Hj(){qs=Us.current,E(Us)}function Kk(s,o){s.finishedWork=null,s.finishedLanes=0;var i=s.timeoutHandle;if(-1!==i&&(s.timeoutHandle=-1,cn(i)),null!==Bs)for(i=Bs.return;null!==i;){var a=i;switch(wg(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&$f();break;case 3:zh(),E(En),E(Sn),Eh();break;case 5:Bh(a);break;case 4:zh();break;case 13:case 19:E(Zn);break;case 10:ah(a.type._context);break;case 22:case 23:Hj()}i=i.return}if(Fs=s,Bs=s=Pg(s.current,null),$s=qs=o,Vs=0,zs=null,Hs=Js=Ws=0,Gs=Ks=null,null!==Hn){for(o=0;o<Hn.length;o++)if(null!==(a=(i=Hn[o]).interleaved)){i.interleaved=null;var u=a.next,_=i.pending;if(null!==_){var w=_.next;_.next=u,a.next=w}i.pending=a}Hn=null}return s}function Mk(s,o){for(;;){var i=Bs;try{if($g(),ts.current=hs,cs){for(var a=ss.memoizedState;null!==a;){var u=a.queue;null!==u&&(u.pending=null),a=a.next}cs=!1}if(ns=0,as=os=ss=null,ls=!1,us=0,Rs.current=null,null===i||null===i.return){Vs=1,zs=o,Bs=null;break}e:{var _=s,w=i.return,x=i,C=o;if(o=$s,x.flags|=32768,null!==C&&\"object\"==typeof C&&\"function\"==typeof C.then){var j=C,L=x,B=L.tag;if(!(1&L.mode||0!==B&&11!==B&&15!==B)){var $=L.alternate;$?(L.updateQueue=$.updateQueue,L.memoizedState=$.memoizedState,L.lanes=$.lanes):(L.updateQueue=null,L.memoizedState=null)}var U=Ui(w);if(null!==U){U.flags&=-257,Vi(U,w,x,0,o),1&U.mode&&Si(_,j,o),C=j;var V=(o=U).updateQueue;if(null===V){var z=new Set;z.add(C),o.updateQueue=z}else V.add(C);break e}if(!(1&o)){Si(_,j,o),tj();break e}C=Error(p(426))}else if(Fn&&1&x.mode){var Y=Ui(w);if(null!==Y){!(65536&Y.flags)&&(Y.flags|=256),Vi(Y,w,x,0,o),Jg(Ji(C,x));break e}}_=C=Ji(C,x),4!==Vs&&(Vs=2),null===Ks?Ks=[_]:Ks.push(_),_=w;do{switch(_.tag){case 3:_.flags|=65536,o&=-o,_.lanes|=o,ph(_,Ni(0,C,o));break e;case 1:x=C;var Z=_.type,ee=_.stateNode;if(!(128&_.flags||\"function\"!=typeof Z.getDerivedStateFromError&&(null===ee||\"function\"!=typeof ee.componentDidCatch||null!==to&&to.has(ee)))){_.flags|=65536,o&=-o,_.lanes|=o,ph(_,Qi(_,x,o));break e}}_=_.return}while(null!==_)}Sk(i)}catch(s){o=s,Bs===i&&null!==i&&(Bs=i=i.return);continue}break}}function Jk(){var s=Ms.current;return Ms.current=hs,null===s?hs:s}function tj(){0!==Vs&&3!==Vs&&2!==Vs||(Vs=4),null===Fs||!(268435455&Ws)&&!(268435455&Js)||Ck(Fs,$s)}function Ik(s,o){var i=Ls;Ls|=2;var a=Jk();for(Fs===s&&$s===o||(Qs=null,Kk(s,o));;)try{Tk();break}catch(o){Mk(s,o)}if($g(),Ls=i,Ms.current=a,null!==Bs)throw Error(p(261));return Fs=null,$s=0,Vs}function Tk(){for(;null!==Bs;)Uk(Bs)}function Lk(){for(;null!==Bs&&!ut();)Uk(Bs)}function Uk(s){var o=Ts(s.alternate,s,qs);s.memoizedProps=s.pendingProps,null===o?Sk(s):Bs=o,Rs.current=null}function Sk(s){var o=s;do{var i=o.alternate;if(s=o.return,32768&o.flags){if(null!==(i=Ij(i,o)))return i.flags&=32767,void(Bs=i);if(null===s)return Vs=6,void(Bs=null);s.flags|=32768,s.subtreeFlags=0,s.deletions=null}else if(null!==(i=Ej(i,o,qs)))return void(Bs=i);if(null!==(o=o.sibling))return void(Bs=o);Bs=o=s}while(null!==o);0===Vs&&(Vs=5)}function Pk(s,o,i){var a=At,u=Ds.transition;try{Ds.transition=null,At=1,function Wk(s,o,i,a){do{Hk()}while(null!==no);if(6&Ls)throw Error(p(327));i=s.finishedWork;var u=s.finishedLanes;if(null===i)return null;if(s.finishedWork=null,s.finishedLanes=0,i===s.current)throw Error(p(177));s.callbackNode=null,s.callbackPriority=0;var _=i.lanes|i.childLanes;if(function Bc(s,o){var i=s.pendingLanes&~o;s.pendingLanes=o,s.suspendedLanes=0,s.pingedLanes=0,s.expiredLanes&=o,s.mutableReadLanes&=o,s.entangledLanes&=o,o=s.entanglements;var a=s.eventTimes;for(s=s.expirationTimes;0<i;){var u=31-Et(i),_=1<<u;o[u]=0,a[u]=-1,s[u]=-1,i&=~_}}(s,_),s===Fs&&(Bs=Fs=null,$s=0),!(2064&i.subtreeFlags)&&!(2064&i.flags)||ro||(ro=!0,Fk(yt,(function(){return Hk(),null}))),_=!!(15990&i.flags),!!(15990&i.subtreeFlags)||_){_=Ds.transition,Ds.transition=null;var w=At;At=1;var x=Ls;Ls|=4,Rs.current=null,function Oj(s,o){if(sn=Vt,Ne(s=Me())){if(\"selectionStart\"in s)var i={start:s.selectionStart,end:s.selectionEnd};else e:{var a=(i=(i=s.ownerDocument)&&i.defaultView||window).getSelection&&i.getSelection();if(a&&0!==a.rangeCount){i=a.anchorNode;var u=a.anchorOffset,_=a.focusNode;a=a.focusOffset;try{i.nodeType,_.nodeType}catch(s){i=null;break e}var w=0,x=-1,C=-1,j=0,L=0,B=s,$=null;t:for(;;){for(var U;B!==i||0!==u&&3!==B.nodeType||(x=w+u),B!==_||0!==a&&3!==B.nodeType||(C=w+a),3===B.nodeType&&(w+=B.nodeValue.length),null!==(U=B.firstChild);)$=B,B=U;for(;;){if(B===s)break t;if($===i&&++j===u&&(x=w),$===_&&++L===a&&(C=w),null!==(U=B.nextSibling))break;$=(B=$).parentNode}B=U}i=-1===x||-1===C?null:{start:x,end:C}}else i=null}i=i||{start:0,end:0}}else i=null;for(on={focusedElem:s,selectionRange:i},Vt=!1,Cs=o;null!==Cs;)if(s=(o=Cs).child,1028&o.subtreeFlags&&null!==s)s.return=o,Cs=s;else for(;null!==Cs;){o=Cs;try{var V=o.alternate;if(1024&o.flags)switch(o.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==V){var z=V.memoizedProps,Y=V.memoizedState,Z=o.stateNode,ee=Z.getSnapshotBeforeUpdate(o.elementType===o.type?z:Ci(o.type,z),Y);Z.__reactInternalSnapshotBeforeUpdate=ee}break;case 3:var ie=o.stateNode.containerInfo;1===ie.nodeType?ie.textContent=\"\":9===ie.nodeType&&ie.documentElement&&ie.removeChild(ie.documentElement);break;default:throw Error(p(163))}}catch(s){W(o,o.return,s)}if(null!==(s=o.sibling)){s.return=o.return,Cs=s;break}Cs=o.return}return V=js,js=!1,V}(s,i),dk(i,s),Oe(on),Vt=!!sn,on=sn=null,s.current=i,hk(i,s,u),pt(),Ls=x,At=w,Ds.transition=_}else s.current=i;if(ro&&(ro=!1,no=s,so=u),_=s.pendingLanes,0===_&&(to=null),function mc(s){if(St&&\"function\"==typeof St.onCommitFiberRoot)try{St.onCommitFiberRoot(_t,s,void 0,!(128&~s.current.flags))}catch(s){}}(i.stateNode),Dk(s,ht()),null!==o)for(a=s.onRecoverableError,i=0;i<o.length;i++)u=o[i],a(u.value,{componentStack:u.stack,digest:u.digest});if(Zs)throw Zs=!1,s=eo,eo=null,s;return!!(1&so)&&0!==s.tag&&Hk(),_=s.pendingLanes,1&_?s===io?oo++:(oo=0,io=s):oo=0,jg(),null}(s,o,i,a)}finally{Ds.transition=u,At=a}return null}function Hk(){if(null!==no){var s=Dc(so),o=Ds.transition,i=At;try{if(Ds.transition=null,At=16>s?16:s,null===no)var a=!1;else{if(s=no,no=null,so=0,6&Ls)throw Error(p(331));var u=Ls;for(Ls|=4,Cs=s.current;null!==Cs;){var _=Cs,w=_.child;if(16&Cs.flags){var x=_.deletions;if(null!==x){for(var C=0;C<x.length;C++){var j=x[C];for(Cs=j;null!==Cs;){var L=Cs;switch(L.tag){case 0:case 11:case 15:Pj(8,L,_)}var B=L.child;if(null!==B)B.return=L,Cs=B;else for(;null!==Cs;){var $=(L=Cs).sibling,U=L.return;if(Sj(L),L===j){Cs=null;break}if(null!==$){$.return=U,Cs=$;break}Cs=U}}}var V=_.alternate;if(null!==V){var z=V.child;if(null!==z){V.child=null;do{var Y=z.sibling;z.sibling=null,z=Y}while(null!==z)}}Cs=_}}if(2064&_.subtreeFlags&&null!==w)w.return=_,Cs=w;else e:for(;null!==Cs;){if(2048&(_=Cs).flags)switch(_.tag){case 0:case 11:case 15:Pj(9,_,_.return)}var Z=_.sibling;if(null!==Z){Z.return=_.return,Cs=Z;break e}Cs=_.return}}var ee=s.current;for(Cs=ee;null!==Cs;){var ie=(w=Cs).child;if(2064&w.subtreeFlags&&null!==ie)ie.return=w,Cs=ie;else e:for(w=ee;null!==Cs;){if(2048&(x=Cs).flags)try{switch(x.tag){case 0:case 11:case 15:Qj(9,x)}}catch(s){W(x,x.return,s)}if(x===w){Cs=null;break e}var ae=x.sibling;if(null!==ae){ae.return=x.return,Cs=ae;break e}Cs=x.return}}if(Ls=u,jg(),St&&\"function\"==typeof St.onPostCommitFiberRoot)try{St.onPostCommitFiberRoot(_t,s)}catch(s){}a=!0}return a}finally{At=i,Ds.transition=o}}return!1}function Xk(s,o,i){s=nh(s,o=Ni(0,o=Ji(i,o),1),1),o=R(),null!==s&&(Ac(s,1,o),Dk(s,o))}function W(s,o,i){if(3===s.tag)Xk(s,s,i);else for(;null!==o;){if(3===o.tag){Xk(o,s,i);break}if(1===o.tag){var a=o.stateNode;if(\"function\"==typeof o.type.getDerivedStateFromError||\"function\"==typeof a.componentDidCatch&&(null===to||!to.has(a))){o=nh(o,s=Qi(o,s=Ji(i,s),1),1),s=R(),null!==o&&(Ac(o,1,s),Dk(o,s));break}}o=o.return}}function Ti(s,o,i){var a=s.pingCache;null!==a&&a.delete(o),o=R(),s.pingedLanes|=s.suspendedLanes&i,Fs===s&&($s&i)===i&&(4===Vs||3===Vs&&(130023424&$s)===$s&&500>ht()-Ys?Kk(s,0):Hs|=i),Dk(s,o)}function Yk(s,o){0===o&&(1&s.mode?(o=Ot,!(130023424&(Ot<<=1))&&(Ot=4194304)):o=1);var i=R();null!==(s=ih(s,o))&&(Ac(s,o,i),Dk(s,i))}function uj(s){var o=s.memoizedState,i=0;null!==o&&(i=o.retryLane),Yk(s,i)}function bk(s,o){var i=0;switch(s.tag){case 13:var a=s.stateNode,u=s.memoizedState;null!==u&&(i=u.retryLane);break;case 19:a=s.stateNode;break;default:throw Error(p(314))}null!==a&&a.delete(o),Yk(s,i)}function Fk(s,o){return ct(s,o)}function $k(s,o,i,a){this.tag=s,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=o,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(s,o,i,a){return new $k(s,o,i,a)}function aj(s){return!(!(s=s.prototype)||!s.isReactComponent)}function Pg(s,o){var i=s.alternate;return null===i?((i=Bg(s.tag,o,s.key,s.mode)).elementType=s.elementType,i.type=s.type,i.stateNode=s.stateNode,i.alternate=s,s.alternate=i):(i.pendingProps=o,i.type=s.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=14680064&s.flags,i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,o=s.dependencies,i.dependencies=null===o?null:{lanes:o.lanes,firstContext:o.firstContext},i.sibling=s.sibling,i.index=s.index,i.ref=s.ref,i}function Rg(s,o,i,a,u,_){var w=2;if(a=s,\"function\"==typeof s)aj(s)&&(w=1);else if(\"string\"==typeof s)w=5;else e:switch(s){case Z:return Tg(i.children,u,_,o);case ee:w=8,u|=8;break;case ie:return(s=Bg(12,i,o,2|u)).elementType=ie,s.lanes=_,s;case pe:return(s=Bg(13,i,o,u)).elementType=pe,s.lanes=_,s;case de:return(s=Bg(19,i,o,u)).elementType=de,s.lanes=_,s;case be:return pj(i,u,_,o);default:if(\"object\"==typeof s&&null!==s)switch(s.$$typeof){case ae:w=10;break e;case ce:w=9;break e;case le:w=11;break e;case fe:w=14;break e;case ye:w=16,a=null;break e}throw Error(p(130,null==s?s:typeof s,\"\"))}return(o=Bg(w,i,o,u)).elementType=s,o.type=a,o.lanes=_,o}function Tg(s,o,i,a){return(s=Bg(7,s,a,o)).lanes=i,s}function pj(s,o,i,a){return(s=Bg(22,s,a,o)).elementType=be,s.lanes=i,s.stateNode={isHidden:!1},s}function Qg(s,o,i){return(s=Bg(6,s,null,o)).lanes=i,s}function Sg(s,o,i){return(o=Bg(4,null!==s.children?s.children:[],s.key,o)).lanes=i,o.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},o}function al(s,o,i,a,u){this.tag=o,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=a,this.onRecoverableError=u,this.mutableSourceEagerHydrationData=null}function bl(s,o,i,a,u,_,w,x,C){return s=new al(s,o,i,x,C),1===o?(o=1,!0===_&&(o|=8)):o=0,_=Bg(3,null,null,o),s.current=_,_.stateNode=s,_.memoizedState={element:a,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},kh(_),s}function dl(s){if(!s)return _n;e:{if(Vb(s=s._reactInternals)!==s||1!==s.tag)throw Error(p(170));var o=s;do{switch(o.tag){case 3:o=o.stateNode.context;break e;case 1:if(Zf(o.type)){o=o.stateNode.__reactInternalMemoizedMergedChildContext;break e}}o=o.return}while(null!==o);throw Error(p(171))}if(1===s.tag){var i=s.type;if(Zf(i))return bg(s,i,o)}return o}function el(s,o,i,a,u,_,w,x,C){return(s=bl(i,a,!0,s,0,_,0,x,C)).context=dl(null),i=s.current,(_=mh(a=R(),u=yi(i))).callback=null!=o?o:null,nh(i,_,u),s.current.lanes=u,Ac(s,u,a),Dk(s,a),s}function fl(s,o,i,a){var u=o.current,_=R(),w=yi(u);return i=dl(i),null===o.context?o.context=i:o.pendingContext=i,(o=mh(_,w)).payload={element:s},null!==(a=void 0===a?null:a)&&(o.callback=a),null!==(s=nh(u,o,w))&&(gi(s,u,w,_),oh(s,u,w)),w}function gl(s){return(s=s.current).child?(s.child.tag,s.child.stateNode):null}function hl(s,o){if(null!==(s=s.memoizedState)&&null!==s.dehydrated){var i=s.retryLane;s.retryLane=0!==i&&i<o?i:o}}function il(s,o){hl(s,o),(s=s.alternate)&&hl(s,o)}Ts=function(s,o,i){if(null!==s)if(s.memoizedProps!==o.pendingProps||En.current)bs=!0;else{if(!(s.lanes&i||128&o.flags))return bs=!1,function yj(s,o,i){switch(o.tag){case 3:kj(o),Ig();break;case 5:Ah(o);break;case 1:Zf(o.type)&&cg(o);break;case 4:yh(o,o.stateNode.containerInfo);break;case 10:var a=o.type._context,u=o.memoizedProps.value;G(Vn,a._currentValue),a._currentValue=u;break;case 13:if(null!==(a=o.memoizedState))return null!==a.dehydrated?(G(Zn,1&Zn.current),o.flags|=128,null):i&o.child.childLanes?oj(s,o,i):(G(Zn,1&Zn.current),null!==(s=Zi(s,o,i))?s.sibling:null);G(Zn,1&Zn.current);break;case 19:if(a=!!(i&o.childLanes),128&s.flags){if(a)return xj(s,o,i);o.flags|=128}if(null!==(u=o.memoizedState)&&(u.rendering=null,u.tail=null,u.lastEffect=null),G(Zn,Zn.current),a)break;return null;case 22:case 23:return o.lanes=0,dj(s,o,i)}return Zi(s,o,i)}(s,o,i);bs=!!(131072&s.flags)}else bs=!1,Fn&&1048576&o.flags&&ug(o,Pn,o.index);switch(o.lanes=0,o.tag){case 2:var a=o.type;ij(s,o),s=o.pendingProps;var u=Yf(o,Sn.current);ch(o,i),u=Nh(null,o,a,s,u,i);var _=Sh();return o.flags|=1,\"object\"==typeof u&&null!==u&&\"function\"==typeof u.render&&void 0===u.$$typeof?(o.tag=1,o.memoizedState=null,o.updateQueue=null,Zf(a)?(_=!0,cg(o)):_=!1,o.memoizedState=null!==u.state&&void 0!==u.state?u.state:null,kh(o),u.updater=gs,o.stateNode=u,u._reactInternals=o,Ii(o,a,s,i),o=jj(null,o,a,!0,_,i)):(o.tag=0,Fn&&_&&vg(o),Xi(null,o,u,i),o=o.child),o;case 16:a=o.elementType;e:{switch(ij(s,o),s=o.pendingProps,a=(u=a._init)(a._payload),o.type=a,u=o.tag=function Zk(s){if(\"function\"==typeof s)return aj(s)?1:0;if(null!=s){if((s=s.$$typeof)===le)return 11;if(s===fe)return 14}return 2}(a),s=Ci(a,s),u){case 0:o=cj(null,o,a,s,i);break e;case 1:o=hj(null,o,a,s,i);break e;case 11:o=Yi(null,o,a,s,i);break e;case 14:o=$i(null,o,a,Ci(a.type,s),i);break e}throw Error(p(306,a,\"\"))}return o;case 0:return a=o.type,u=o.pendingProps,cj(s,o,a,u=o.elementType===a?u:Ci(a,u),i);case 1:return a=o.type,u=o.pendingProps,hj(s,o,a,u=o.elementType===a?u:Ci(a,u),i);case 3:e:{if(kj(o),null===s)throw Error(p(387));a=o.pendingProps,u=(_=o.memoizedState).element,lh(s,o),qh(o,a,null,i);var w=o.memoizedState;if(a=w.element,_.isDehydrated){if(_={element:a,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},o.updateQueue.baseState=_,o.memoizedState=_,256&o.flags){o=lj(s,o,a,i,u=Ji(Error(p(423)),o));break e}if(a!==u){o=lj(s,o,a,i,u=Ji(Error(p(424)),o));break e}for(Ln=Lf(o.stateNode.containerInfo.firstChild),Dn=o,Fn=!0,Bn=null,i=Un(o,null,a,i),o.child=i;i;)i.flags=-3&i.flags|4096,i=i.sibling}else{if(Ig(),a===u){o=Zi(s,o,i);break e}Xi(s,o,a,i)}o=o.child}return o;case 5:return Ah(o),null===s&&Eg(o),a=o.type,u=o.pendingProps,_=null!==s?s.memoizedProps:null,w=u.children,Ef(a,u)?w=null:null!==_&&Ef(a,_)&&(o.flags|=32),gj(s,o),Xi(s,o,w,i),o.child;case 6:return null===s&&Eg(o),null;case 13:return oj(s,o,i);case 4:return yh(o,o.stateNode.containerInfo),a=o.pendingProps,null===s?o.child=qn(o,null,a,i):Xi(s,o,a,i),o.child;case 11:return a=o.type,u=o.pendingProps,Yi(s,o,a,u=o.elementType===a?u:Ci(a,u),i);case 7:return Xi(s,o,o.pendingProps,i),o.child;case 8:case 12:return Xi(s,o,o.pendingProps.children,i),o.child;case 10:e:{if(a=o.type._context,u=o.pendingProps,_=o.memoizedProps,w=u.value,G(Vn,a._currentValue),a._currentValue=w,null!==_)if(Dr(_.value,w)){if(_.children===u.children&&!En.current){o=Zi(s,o,i);break e}}else for(null!==(_=o.child)&&(_.return=o);null!==_;){var x=_.dependencies;if(null!==x){w=_.child;for(var C=x.firstContext;null!==C;){if(C.context===a){if(1===_.tag){(C=mh(-1,i&-i)).tag=2;var j=_.updateQueue;if(null!==j){var L=(j=j.shared).pending;null===L?C.next=C:(C.next=L.next,L.next=C),j.pending=C}}_.lanes|=i,null!==(C=_.alternate)&&(C.lanes|=i),bh(_.return,i,o),x.lanes|=i;break}C=C.next}}else if(10===_.tag)w=_.type===o.type?null:_.child;else if(18===_.tag){if(null===(w=_.return))throw Error(p(341));w.lanes|=i,null!==(x=w.alternate)&&(x.lanes|=i),bh(w,i,o),w=_.sibling}else w=_.child;if(null!==w)w.return=_;else for(w=_;null!==w;){if(w===o){w=null;break}if(null!==(_=w.sibling)){_.return=w.return,w=_;break}w=w.return}_=w}Xi(s,o,u.children,i),o=o.child}return o;case 9:return u=o.type,a=o.pendingProps.children,ch(o,i),a=a(u=eh(u)),o.flags|=1,Xi(s,o,a,i),o.child;case 14:return u=Ci(a=o.type,o.pendingProps),$i(s,o,a,u=Ci(a.type,u),i);case 15:return bj(s,o,o.type,o.pendingProps,i);case 17:return a=o.type,u=o.pendingProps,u=o.elementType===a?u:Ci(a,u),ij(s,o),o.tag=1,Zf(a)?(s=!0,cg(o)):s=!1,ch(o,i),Gi(o,a,u),Ii(o,a,u,i),jj(null,o,a,!0,s,i);case 19:return xj(s,o,i);case 22:return dj(s,o,i)}throw Error(p(156,o.tag))};var lo=\"function\"==typeof reportError?reportError:function(s){console.error(s)};function ll(s){this._internalRoot=s}function ml(s){this._internalRoot=s}function nl(s){return!(!s||1!==s.nodeType&&9!==s.nodeType&&11!==s.nodeType)}function ol(s){return!(!s||1!==s.nodeType&&9!==s.nodeType&&11!==s.nodeType&&(8!==s.nodeType||\" react-mount-point-unstable \"!==s.nodeValue))}function pl(){}function rl(s,o,i,a,u){var _=i._reactRootContainer;if(_){var w=_;if(\"function\"==typeof u){var x=u;u=function(){var s=gl(w);x.call(s)}}fl(o,w,s,u)}else w=function ql(s,o,i,a,u){if(u){if(\"function\"==typeof a){var _=a;a=function(){var s=gl(w);_.call(s)}}var w=el(o,a,s,0,null,!1,0,\"\",pl);return s._reactRootContainer=w,s[fn]=w.current,sf(8===s.nodeType?s.parentNode:s),Rk(),w}for(;u=s.lastChild;)s.removeChild(u);if(\"function\"==typeof a){var x=a;a=function(){var s=gl(C);x.call(s)}}var C=bl(s,0,!1,null,0,!1,0,\"\",pl);return s._reactRootContainer=C,s[fn]=C.current,sf(8===s.nodeType?s.parentNode:s),Rk((function(){fl(o,C,i,a)})),C}(i,o,s,u,a);return gl(w)}ml.prototype.render=ll.prototype.render=function(s){var o=this._internalRoot;if(null===o)throw Error(p(409));fl(s,o,null,null)},ml.prototype.unmount=ll.prototype.unmount=function(){var s=this._internalRoot;if(null!==s){this._internalRoot=null;var o=s.containerInfo;Rk((function(){fl(null,s,null,null)})),o[fn]=null}},ml.prototype.unstable_scheduleHydration=function(s){if(s){var o=It();s={blockedOn:null,target:s,priority:o};for(var i=0;i<$t.length&&0!==o&&o<$t[i].priority;i++);$t.splice(i,0,s),0===i&&Vc(s)}},Ct=function(s){switch(s.tag){case 3:var o=s.stateNode;if(o.current.memoizedState.isDehydrated){var i=tc(o.pendingLanes);0!==i&&(Cc(o,1|i),Dk(o,ht()),!(6&Ls)&&(Xs=ht()+500,jg()))}break;case 13:Rk((function(){var o=ih(s,1);if(null!==o){var i=R();gi(o,s,1,i)}})),il(s,1)}},jt=function(s){if(13===s.tag){var o=ih(s,134217728);if(null!==o)gi(o,s,134217728,R());il(s,134217728)}},Pt=function(s){if(13===s.tag){var o=yi(s),i=ih(s,o);if(null!==i)gi(i,s,o,R());il(s,o)}},It=function(){return At},Tt=function(s,o){var i=At;try{return At=s,o()}finally{At=i}},Ye=function(s,o,i){switch(o){case\"input\":if(bb(s,i),o=i.name,\"radio\"===i.type&&null!=o){for(i=s;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+o)+'][type=\"radio\"]'),o=0;o<i.length;o++){var a=i[o];if(a!==s&&a.form===s.form){var u=Db(a);if(!u)throw Error(p(90));Wa(a),bb(a,u)}}}break;case\"textarea\":ib(s,i);break;case\"select\":null!=(o=i.value)&&fb(s,!!i.multiple,o,!1)}},Gb=Qk,Hb=Rk;var uo={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},po={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"},ho={bundleType:po.bundleType,version:po.version,rendererPackageName:po.rendererPackageName,rendererConfig:po.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:V.ReactCurrentDispatcher,findHostInstanceByFiber:function(s){return null===(s=Zb(s))?null:s.stateNode},findFiberByHostInstance:po.findFiberByHostInstance||function jl(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var fo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!fo.isDisabled&&fo.supportsFiber)try{_t=fo.inject(ho),St=fo}catch(Re){}}o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=uo,o.createPortal=function(s,o){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(o))throw Error(p(200));return function cl(s,o,i){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Y,key:null==a?null:\"\"+a,children:s,containerInfo:o,implementation:i}}(s,o,null,i)},o.createRoot=function(s,o){if(!nl(s))throw Error(p(299));var i=!1,a=\"\",u=lo;return null!=o&&(!0===o.unstable_strictMode&&(i=!0),void 0!==o.identifierPrefix&&(a=o.identifierPrefix),void 0!==o.onRecoverableError&&(u=o.onRecoverableError)),o=bl(s,1,!1,null,0,i,0,a,u),s[fn]=o.current,sf(8===s.nodeType?s.parentNode:s),new ll(o)},o.findDOMNode=function(s){if(null==s)return null;if(1===s.nodeType)return s;var o=s._reactInternals;if(void 0===o){if(\"function\"==typeof s.render)throw Error(p(188));throw s=Object.keys(s).join(\",\"),Error(p(268,s))}return s=null===(s=Zb(o))?null:s.stateNode},o.flushSync=function(s){return Rk(s)},o.hydrate=function(s,o,i){if(!ol(o))throw Error(p(200));return rl(null,s,o,!0,i)},o.hydrateRoot=function(s,o,i){if(!nl(s))throw Error(p(405));var a=null!=i&&i.hydratedSources||null,u=!1,_=\"\",w=lo;if(null!=i&&(!0===i.unstable_strictMode&&(u=!0),void 0!==i.identifierPrefix&&(_=i.identifierPrefix),void 0!==i.onRecoverableError&&(w=i.onRecoverableError)),o=el(o,null,s,1,null!=i?i:null,u,0,_,w),s[fn]=o.current,sf(s),a)for(s=0;s<a.length;s++)u=(u=(i=a[s])._getVersion)(i._source),null==o.mutableSourceEagerHydrationData?o.mutableSourceEagerHydrationData=[i,u]:o.mutableSourceEagerHydrationData.push(i,u);return new ml(o)},o.render=function(s,o,i){if(!ol(o))throw Error(p(200));return rl(null,s,o,!1,i)},o.unmountComponentAtNode=function(s){if(!ol(s))throw Error(p(40));return!!s._reactRootContainer&&(Rk((function(){rl(null,null,s,!1,(function(){s._reactRootContainer=null,s[fn]=null}))})),!0)},o.unstable_batchedUpdates=Qk,o.unstable_renderSubtreeIntoContainer=function(s,o,i,a){if(!ol(i))throw Error(p(200));if(null==s||void 0===s._reactInternals)throw Error(p(38));return rl(s,o,i,!1,a)},o.version=\"18.3.1-next-f1338f8080-20240426\"},22574:(s,o)=>{\"use strict\";var i={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,u=a&&!i.call({1:2},1);o.f=u?function propertyIsEnumerable(s){var o=a(this,s);return!!o&&o.enumerable}:i},23007:s=>{s.exports=function copyArray(s,o){var i=-1,a=s.length;for(o||(o=Array(a));++i<a;)o[i]=s[i];return o}},23034:(s,o,i)=>{\"use strict\";var a=i(88280),u=i(32567),_=Function.prototype;s.exports=function(s){var o=s.bind;return s===_||a(_,s)&&o===_.bind?u:o}},23045:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(49724),_=i(4993),w=i(74436).indexOf,x=i(38530),C=a([].push);s.exports=function(s,o){var i,a=_(s),j=0,L=[];for(i in a)!u(x,i)&&u(a,i)&&C(L,i);for(;o.length>j;)u(a,i=o[j++])&&(~w(L,i)||C(L,i));return L}},23546:(s,o,i)=>{var a=i(72552),u=i(40346),_=i(11331);s.exports=function isError(s){if(!u(s))return!1;var o=a(s);return\"[object Error]\"==o||\"[object DOMException]\"==o||\"string\"==typeof s.message&&\"string\"==typeof s.name&&!_(s)}},23805:s=>{s.exports=function isObject(s){var o=typeof s;return null!=s&&(\"object\"==o||\"function\"==o)}},23888:(s,o,i)=>{\"use strict\";var a=i(98828),u=i(75817);s.exports=!a((function(){var s=new Error(\"a\");return!(\"stack\"in s)||(Object.defineProperty(s,\"stack\",u(1,7)),7!==s.stack)}))},24107:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(90392),_=i(92861).Buffer,w=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],x=new Array(64);function Sha256(){this.init(),this._w=x,u.call(this,64,56)}function ch(s,o,i){return i^s&(o^i)}function maj(s,o,i){return s&o|i&(s|o)}function sigma0(s){return(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10)}function sigma1(s){return(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7)}function gamma0(s){return(s>>>7|s<<25)^(s>>>18|s<<14)^s>>>3}a(Sha256,u),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(s){for(var o,i=this._w,a=0|this._a,u=0|this._b,_=0|this._c,x=0|this._d,C=0|this._e,j=0|this._f,L=0|this._g,B=0|this._h,$=0;$<16;++$)i[$]=s.readInt32BE(4*$);for(;$<64;++$)i[$]=0|(((o=i[$-2])>>>17|o<<15)^(o>>>19|o<<13)^o>>>10)+i[$-7]+gamma0(i[$-15])+i[$-16];for(var U=0;U<64;++U){var V=B+sigma1(C)+ch(C,j,L)+w[U]+i[U]|0,z=sigma0(a)+maj(a,u,_)|0;B=L,L=j,j=C,C=x+V|0,x=_,_=u,u=a,a=V+z|0}this._a=a+this._a|0,this._b=u+this._b|0,this._c=_+this._c|0,this._d=x+this._d|0,this._e=C+this._e|0,this._f=j+this._f|0,this._g=L+this._g|0,this._h=B+this._h|0},Sha256.prototype._hash=function(){var s=_.allocUnsafe(32);return s.writeInt32BE(this._a,0),s.writeInt32BE(this._b,4),s.writeInt32BE(this._c,8),s.writeInt32BE(this._d,12),s.writeInt32BE(this._e,16),s.writeInt32BE(this._f,20),s.writeInt32BE(this._g,24),s.writeInt32BE(this._h,28),s},s.exports=Sha256},24168:(s,o,i)=>{var a=i(91033),u=i(82819),_=i(9325);s.exports=function createPartial(s,o,i,w){var x=1&o,C=u(s);return function wrapper(){for(var o=-1,u=arguments.length,j=-1,L=w.length,B=Array(L+u),$=this&&this!==_&&this instanceof wrapper?C:s;++j<L;)B[j]=w[j];for(;u--;)B[j++]=arguments[++o];return a($,x?i:this,B)}}},24443:(s,o,i)=>{\"use strict\";var a=i(23045),u=i(80376).concat(\"length\",\"prototype\");o.f=Object.getOwnPropertyNames||function getOwnPropertyNames(s){return a(s,u)}},24647:(s,o,i)=>{var a=i(54552)({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"});s.exports=a},24677:(s,o,i)=>{\"use strict\";var a=i(81214).DebounceInput;a.DebounceInput=a,s.exports=a},24713:(s,o,i)=>{var a=i(2523),u=i(15389),_=i(61489),w=Math.max;s.exports=function findIndex(s,o,i){var x=null==s?0:s.length;if(!x)return-1;var C=null==i?0:_(i);return C<0&&(C=w(x+C,0)),a(s,u(o,3),C)}},24739:(s,o,i)=>{var a=i(26025);s.exports=function listCacheGet(s){var o=this.__data__,i=a(o,s);return i<0?void 0:o[i][1]}},24823:(s,o,i)=>{\"use strict\";var a=i(28311),u=i(13930),_=i(36624),w=i(4640),x=i(37812),C=i(20575),j=i(88280),L=i(10300),B=i(73448),$=i(40154),U=TypeError,Result=function(s,o){this.stopped=s,this.result=o},V=Result.prototype;s.exports=function(s,o,i){var z,Y,Z,ee,ie,ae,ce,le=i&&i.that,pe=!(!i||!i.AS_ENTRIES),de=!(!i||!i.IS_RECORD),fe=!(!i||!i.IS_ITERATOR),ye=!(!i||!i.INTERRUPTED),be=a(o,le),stop=function(s){return z&&$(z,\"normal\",s),new Result(!0,s)},callFn=function(s){return pe?(_(s),ye?be(s[0],s[1],stop):be(s[0],s[1])):ye?be(s,stop):be(s)};if(de)z=s.iterator;else if(fe)z=s;else{if(!(Y=B(s)))throw new U(w(s)+\" is not iterable\");if(x(Y)){for(Z=0,ee=C(s);ee>Z;Z++)if((ie=callFn(s[Z]))&&j(V,ie))return ie;return new Result(!1)}z=L(s,Y)}for(ae=de?s.next:z.next;!(ce=u(ae,z)).done;){try{ie=callFn(ce.value)}catch(s){$(z,\"throw\",s)}if(\"object\"==typeof ie&&ie&&j(V,ie))return ie}return new Result(!1)}},25160:s=>{s.exports=function baseSlice(s,o,i){var a=-1,u=s.length;o<0&&(o=-o>u?0:u+o),(i=i>u?u:i)<0&&(i+=u),u=o>i?0:i-o>>>0,o>>>=0;for(var _=Array(u);++a<u;)_[a]=s[a+o];return _}},25264:(s,o,i)=>{\"use strict\";function _typeof(s){return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(s){return typeof s}:function(s){return s&&\"function\"==typeof Symbol&&s.constructor===Symbol&&s!==Symbol.prototype?\"symbol\":typeof s},_typeof(s)}Object.defineProperty(o,\"__esModule\",{value:!0}),o.CopyToClipboard=void 0;var a=_interopRequireDefault(i(96540)),u=_interopRequireDefault(i(17965)),_=[\"text\",\"onCopy\",\"options\",\"children\"];function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}function ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?ownKeys(Object(i),!0).forEach((function(o){_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}function _objectWithoutProperties(s,o){if(null==s)return{};var i,a,u=function _objectWithoutPropertiesLoose(s,o){if(null==s)return{};var i,a,u={},_=Object.keys(s);for(a=0;a<_.length;a++)i=_[a],o.indexOf(i)>=0||(u[i]=s[i]);return u}(s,o);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(s);for(a=0;a<_.length;a++)i=_[a],o.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(s,i)&&(u[i]=s[i])}return u}function _defineProperties(s,o){for(var i=0;i<o.length;i++){var a=o[i];a.enumerable=a.enumerable||!1,a.configurable=!0,\"value\"in a&&(a.writable=!0),Object.defineProperty(s,a.key,a)}}function _setPrototypeOf(s,o){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(s,o){return s.__proto__=o,s},_setPrototypeOf(s,o)}function _createSuper(s){var o=function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(s){return!1}}();return function _createSuperInternal(){var i,a=_getPrototypeOf(s);if(o){var u=_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,u)}else i=a.apply(this,arguments);return function _possibleConstructorReturn(s,o){if(o&&(\"object\"===_typeof(o)||\"function\"==typeof o))return o;if(void 0!==o)throw new TypeError(\"Derived constructors may only return object or undefined\");return _assertThisInitialized(s)}(this,i)}}function _assertThisInitialized(s){if(void 0===s)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return s}function _getPrototypeOf(s){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(s){return s.__proto__||Object.getPrototypeOf(s)},_getPrototypeOf(s)}function _defineProperty(s,o,i){return o in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}var w=function(s){!function _inherits(s,o){if(\"function\"!=typeof o&&null!==o)throw new TypeError(\"Super expression must either be null or a function\");s.prototype=Object.create(o&&o.prototype,{constructor:{value:s,writable:!0,configurable:!0}}),Object.defineProperty(s,\"prototype\",{writable:!1}),o&&_setPrototypeOf(s,o)}(CopyToClipboard,s);var o=_createSuper(CopyToClipboard);function CopyToClipboard(){var s;!function _classCallCheck(s,o){if(!(s instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this,CopyToClipboard);for(var i=arguments.length,_=new Array(i),w=0;w<i;w++)_[w]=arguments[w];return _defineProperty(_assertThisInitialized(s=o.call.apply(o,[this].concat(_))),\"onClick\",(function(o){var i=s.props,_=i.text,w=i.onCopy,x=i.children,C=i.options,j=a.default.Children.only(x),L=(0,u.default)(_,C);w&&w(_,L),j&&j.props&&\"function\"==typeof j.props.onClick&&j.props.onClick(o)})),s}return function _createClass(s,o,i){return o&&_defineProperties(s.prototype,o),i&&_defineProperties(s,i),Object.defineProperty(s,\"prototype\",{writable:!1}),s}(CopyToClipboard,[{key:\"render\",value:function render(){var s=this.props,o=(s.text,s.onCopy,s.options,s.children),i=_objectWithoutProperties(s,_),u=a.default.Children.only(o);return a.default.cloneElement(u,_objectSpread(_objectSpread({},i),{},{onClick:this.onClick}))}}]),CopyToClipboard}(a.default.PureComponent);o.CopyToClipboard=w,_defineProperty(w,\"defaultProps\",{onCopy:void 0,options:void 0})},25382:(s,o,i)=>{\"use strict\";var a=i(65606),u=Object.keys||function(s){var o=[];for(var i in s)o.push(i);return o};s.exports=Duplex;var _=i(45412),w=i(16708);i(56698)(Duplex,_);for(var x=u(w.prototype),C=0;C<x.length;C++){var j=x[C];Duplex.prototype[j]||(Duplex.prototype[j]=w.prototype[j])}function Duplex(s){if(!(this instanceof Duplex))return new Duplex(s);_.call(this,s),w.call(this,s),this.allowHalfOpen=!0,s&&(!1===s.readable&&(this.readable=!1),!1===s.writable&&(this.writable=!1),!1===s.allowHalfOpen&&(this.allowHalfOpen=!1,this.once(\"end\",onend)))}function onend(){this._writableState.ended||a.nextTick(onEndNT,this)}function onEndNT(s){s.end()}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,\"writableBuffer\",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,\"writableLength\",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,\"destroyed\",{enumerable:!1,get:function get(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function set(s){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=s,this._writableState.destroyed=s)}})},25594:(s,o,i)=>{\"use strict\";var a=i(85582),u=i(62250),_=i(88280),w=i(51175),x=Object;s.exports=w?function(s){return\"symbol\"==typeof s}:function(s){var o=a(\"Symbol\");return u(o)&&_(o.prototype,x(s))}},25767:(s,o,i)=>{\"use strict\";var a=i(82682),u=i(39209),_=i(10487),w=i(36556),x=i(75795),C=w(\"Object.prototype.toString\"),j=i(49092)(),L=\"undefined\"==typeof globalThis?i.g:globalThis,B=u(),$=w(\"String.prototype.slice\"),U=Object.getPrototypeOf,V=w(\"Array.prototype.indexOf\",!0)||function indexOf(s,o){for(var i=0;i<s.length;i+=1)if(s[i]===o)return i;return-1},z={__proto__:null};a(B,j&&x&&U?function(s){var o=new L[s];if(Symbol.toStringTag in o){var i=U(o),a=x(i,Symbol.toStringTag);if(!a){var u=U(i);a=x(u,Symbol.toStringTag)}z[\"$\"+s]=_(a.get)}}:function(s){var o=new L[s],i=o.slice||o.set;i&&(z[\"$\"+s]=_(i))});s.exports=function whichTypedArray(s){if(!s||\"object\"!=typeof s)return!1;if(!j){var o=$(C(s),8,-1);return V(B,o)>-1?o:\"Object\"===o&&function tryAllSlices(s){var o=!1;return a(z,(function(i,a){if(!o)try{i(s),o=$(a,1)}catch(s){}})),o}(s)}return x?function tryAllTypedArrays(s){var o=!1;return a(z,(function(i,a){if(!o)try{\"$\"+i(s)===a&&(o=$(a,1))}catch(s){}})),o}(s):null}},25911:(s,o,i)=>{var a=i(38859),u=i(14248),_=i(19219);s.exports=function equalArrays(s,o,i,w,x,C){var j=1&i,L=s.length,B=o.length;if(L!=B&&!(j&&B>L))return!1;var $=C.get(s),U=C.get(o);if($&&U)return $==o&&U==s;var V=-1,z=!0,Y=2&i?new a:void 0;for(C.set(s,o),C.set(o,s);++V<L;){var Z=s[V],ee=o[V];if(w)var ie=j?w(ee,Z,V,o,s,C):w(Z,ee,V,s,o,C);if(void 0!==ie){if(ie)continue;z=!1;break}if(Y){if(!u(o,(function(s,o){if(!_(Y,o)&&(Z===s||x(Z,s,i,w,C)))return Y.push(o)}))){z=!1;break}}else if(Z!==ee&&!x(Z,ee,i,w,C)){z=!1;break}}return C.delete(s),C.delete(o),z}},26025:(s,o,i)=>{var a=i(75288);s.exports=function assocIndexOf(s,o){for(var i=s.length;i--;)if(a(s[i][0],o))return i;return-1}},26311:s=>{!function(){var o;function format(s){for(var o,i,a,u,_=1,w=[].slice.call(arguments),x=0,C=s.length,j=\"\",L=!1,B=!1,nextArg=function(){return w[_++]},slurpNumber=function(){for(var i=\"\";/\\d/.test(s[x]);)i+=s[x++],o=s[x];return i.length>0?parseInt(i):null};x<C;++x)if(o=s[x],L)switch(L=!1,\".\"==o?(B=!1,o=s[++x]):\"0\"==o&&\".\"==s[x+1]?(B=!0,o=s[x+=2]):B=!0,u=slurpNumber(),o){case\"b\":j+=parseInt(nextArg(),10).toString(2);break;case\"c\":j+=\"string\"==typeof(i=nextArg())||i instanceof String?i:String.fromCharCode(parseInt(i,10));break;case\"d\":j+=parseInt(nextArg(),10);break;case\"f\":a=String(parseFloat(nextArg()).toFixed(u||6)),j+=B?a:a.replace(/^0/,\"\");break;case\"j\":j+=JSON.stringify(nextArg());break;case\"o\":j+=\"0\"+parseInt(nextArg(),10).toString(8);break;case\"s\":j+=nextArg();break;case\"x\":j+=\"0x\"+parseInt(nextArg(),10).toString(16);break;case\"X\":j+=\"0x\"+parseInt(nextArg(),10).toString(16).toUpperCase();break;default:j+=o}else\"%\"===o?L=!0:j+=o;return j}(o=s.exports=format).format=format,o.vsprintf=function vsprintf(s,o){return format.apply(null,[s].concat(o))},\"undefined\"!=typeof console&&\"function\"==typeof console.log&&(o.printf=function printf(){console.log(format.apply(null,arguments))})}()},26571:s=>{s.exports=function powershell(s){const o={$pattern:/-?[A-z\\.\\-]+\\b/,keyword:\"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter\",built_in:\"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write\"},i={begin:\"`[\\\\s\\\\S]\",relevance:0},a={className:\"variable\",variants:[{begin:/\\$\\B/},{className:\"keyword\",begin:/\\$this/},{begin:/\\$[\\w\\d][\\w\\d_:]*/}]},u={className:\"string\",variants:[{begin:/\"/,end:/\"/},{begin:/@\"/,end:/^\"@/}],contains:[i,a,{className:\"variable\",begin:/\\$[A-z]/,end:/[^A-z]/}]},_={className:\"string\",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},w=s.inherit(s.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:\"doctag\",variants:[{begin:/\\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\\s+\\S+/}]}]}),x={className:\"built_in\",variants:[{begin:\"(\".concat(\"Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where\",\")+(-)[\\\\w\\\\d]+\")}]},C={className:\"class\",beginKeywords:\"class enum\",end:/\\s*[{]/,excludeEnd:!0,relevance:0,contains:[s.TITLE_MODE]},j={className:\"function\",begin:/function\\s+/,end:/\\s*\\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:\"function\",relevance:0,className:\"keyword\"},{className:\"title\",begin:/\\w[\\w\\d]*((-)[\\w\\d]+)*/,relevance:0},{begin:/\\(/,end:/\\)/,className:\"params\",relevance:0,contains:[a]}]},L={begin:/using\\s/,end:/$/,returnBegin:!0,contains:[u,_,{className:\"keyword\",begin:/(using|assembly|command|module|namespace|type)/}]},B={variants:[{className:\"operator\",begin:\"(\".concat(\"-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor\",\")\\\\b\")},{className:\"literal\",begin:/(-)[\\w\\d]+/,relevance:0}]},$={className:\"function\",begin:/\\[.*\\]\\s*[\\w]+[ ]??\\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:\"keyword\",begin:\"(\".concat(o.keyword.toString().replace(/\\s/g,\"|\"),\")\\\\b\"),endsParent:!0,relevance:0},s.inherit(s.TITLE_MODE,{endsParent:!0})]},U=[$,w,i,s.NUMBER_MODE,u,_,x,a,{className:\"literal\",begin:/\\$(null|true|false)\\b/},{className:\"selector-tag\",begin:/@\\B/,relevance:0}],V={begin:/\\[/,end:/\\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat(\"self\",U,{begin:\"(\"+[\"string\",\"char\",\"byte\",\"int\",\"long\",\"bool\",\"decimal\",\"single\",\"double\",\"DateTime\",\"xml\",\"array\",\"hashtable\",\"void\"].join(\"|\")+\")\",className:\"built_in\",relevance:0},{className:\"type\",begin:/[\\.\\w\\d]+/,relevance:0})};return $.contains.unshift(V),{name:\"PowerShell\",aliases:[\"ps\",\"ps1\"],case_insensitive:!0,keywords:o,contains:U.concat(C,j,L,B,V)}}},26657:(s,o,i)=>{\"use strict\";var a=i(75208),u=function isClosingTag(s){return/<\\/+[^>]+>/.test(s)},_=function isSelfClosingTag(s){return/<[^>]+\\/>/.test(s)};function getType(s){return u(s)?\"ClosingTag\":function isOpeningTag(s){return function isTag(s){return/<[^>!]+>/.test(s)}(s)&&!u(s)&&!_(s)}(s)?\"OpeningTag\":_(s)?\"SelfClosingTag\":\"Text\"}s.exports=function(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=o.indentor,u=o.textNodesOnSameLine,_=0,w=[];i=i||\"    \";var x=function lexer(s){return function splitOnTags(s){return s.split(/(<\\/?[^>]+>)/g).filter((function(s){return\"\"!==s.trim()}))}(s).map((function(s){return{value:s,type:getType(s)}}))}(s).map((function(s,o,x){var C=s.value,j=s.type;\"ClosingTag\"===j&&_--;var L=a(i,_),B=L+C;if(\"OpeningTag\"===j&&_++,u){var $=x[o-1],U=x[o-2];\"ClosingTag\"===j&&\"Text\"===$.type&&\"OpeningTag\"===U.type&&(B=\"\"+L+U.value+$.value+C,w.push(o-2,o-1))}return B}));return w.forEach((function(s){return x[s]=null})),x.filter((function(s){return!!s})).join(\"\\n\")}},26710:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(24107),_=i(90392),w=i(92861).Buffer,x=new Array(64);function Sha224(){this.init(),this._w=x,_.call(this,64,56)}a(Sha224,u),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var s=w.allocUnsafe(28);return s.writeInt32BE(this._a,0),s.writeInt32BE(this._b,4),s.writeInt32BE(this._c,8),s.writeInt32BE(this._d,12),s.writeInt32BE(this._e,16),s.writeInt32BE(this._f,20),s.writeInt32BE(this._g,24),s},s.exports=Sha224},27096:(s,o,i)=>{const a=i(87586),u=i(6205),_=i(10023),w=i(8048);s.exports=s=>{var o,i,x=0,C={type:u.ROOT,stack:[]},j=C,L=C.stack,B=[],repeatErr=o=>{a.error(s,\"Nothing to repeat at column \"+(o-1))},$=a.strToChars(s);for(o=$.length;x<o;)switch(i=$[x++]){case\"\\\\\":switch(i=$[x++]){case\"b\":L.push(w.wordBoundary());break;case\"B\":L.push(w.nonWordBoundary());break;case\"w\":L.push(_.words());break;case\"W\":L.push(_.notWords());break;case\"d\":L.push(_.ints());break;case\"D\":L.push(_.notInts());break;case\"s\":L.push(_.whitespace());break;case\"S\":L.push(_.notWhitespace());break;default:/\\d/.test(i)?L.push({type:u.REFERENCE,value:parseInt(i,10)}):L.push({type:u.CHAR,value:i.charCodeAt(0)})}break;case\"^\":L.push(w.begin());break;case\"$\":L.push(w.end());break;case\"[\":var U;\"^\"===$[x]?(U=!0,x++):U=!1;var V=a.tokenizeClass($.slice(x),s);x+=V[1],L.push({type:u.SET,set:V[0],not:U});break;case\".\":L.push(_.anyChar());break;case\"(\":var z={type:u.GROUP,stack:[],remember:!0};\"?\"===(i=$[x])&&(i=$[x+1],x+=2,\"=\"===i?z.followedBy=!0:\"!\"===i?z.notFollowedBy=!0:\":\"!==i&&a.error(s,`Invalid group, character '${i}' after '?' at column `+(x-1)),z.remember=!1),L.push(z),B.push(j),j=z,L=z.stack;break;case\")\":0===B.length&&a.error(s,\"Unmatched ) at column \"+(x-1)),L=(j=B.pop()).options?j.options[j.options.length-1]:j.stack;break;case\"|\":j.options||(j.options=[j.stack],delete j.stack);var Y=[];j.options.push(Y),L=Y;break;case\"{\":var Z,ee,ie=/^(\\d+)(,(\\d+)?)?\\}/.exec($.slice(x));null!==ie?(0===L.length&&repeatErr(x),Z=parseInt(ie[1],10),ee=ie[2]?ie[3]?parseInt(ie[3],10):1/0:Z,x+=ie[0].length,L.push({type:u.REPETITION,min:Z,max:ee,value:L.pop()})):L.push({type:u.CHAR,value:123});break;case\"?\":0===L.length&&repeatErr(x),L.push({type:u.REPETITION,min:0,max:1,value:L.pop()});break;case\"+\":0===L.length&&repeatErr(x),L.push({type:u.REPETITION,min:1,max:1/0,value:L.pop()});break;case\"*\":0===L.length&&repeatErr(x),L.push({type:u.REPETITION,min:0,max:1/0,value:L.pop()});break;default:L.push({type:u.CHAR,value:i.charCodeAt(0)})}return 0!==B.length&&a.error(s,\"Unterminated group\"),C},s.exports.types=u},27301:s=>{s.exports=function baseUnary(s){return function(o){return s(o)}}},27374:(s,o)=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0}),o.default=function(s,o,i){if(void 0===s)throw new Error('Reducer \"'+o+'\" returned undefined when handling \"'+i.type+'\" action. To ignore an action, you must explicitly return the previous state.')},s.exports=o.default},27534:(s,o,i)=>{var a=i(72552),u=i(40346);s.exports=function baseIsArguments(s){return u(s)&&\"[object Arguments]\"==a(s)}},27816:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(90392),_=i(92861).Buffer,w=[1518500249,1859775393,-1894007588,-899497514],x=new Array(80);function Sha(){this.init(),this._w=x,u.call(this,64,56)}function rotl30(s){return s<<30|s>>>2}function ft(s,o,i,a){return 0===s?o&i|~o&a:2===s?o&i|o&a|i&a:o^i^a}a(Sha,u),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(s){for(var o,i=this._w,a=0|this._a,u=0|this._b,_=0|this._c,x=0|this._d,C=0|this._e,j=0;j<16;++j)i[j]=s.readInt32BE(4*j);for(;j<80;++j)i[j]=i[j-3]^i[j-8]^i[j-14]^i[j-16];for(var L=0;L<80;++L){var B=~~(L/20),$=0|((o=a)<<5|o>>>27)+ft(B,u,_,x)+C+i[L]+w[B];C=x,x=_,_=rotl30(u),u=a,a=$}this._a=a+this._a|0,this._b=u+this._b|0,this._c=_+this._c|0,this._d=x+this._d|0,this._e=C+this._e|0},Sha.prototype._hash=function(){var s=_.allocUnsafe(20);return s.writeInt32BE(0|this._a,0),s.writeInt32BE(0|this._b,4),s.writeInt32BE(0|this._c,8),s.writeInt32BE(0|this._d,12),s.writeInt32BE(0|this._e,16),s},s.exports=Sha},28077:s=>{s.exports=function baseHasIn(s,o){return null!=s&&o in Object(s)}},28303:(s,o,i)=>{var a=i(56110)(i(9325),\"WeakMap\");s.exports=a},28311:(s,o,i)=>{\"use strict\";var a=i(92361),u=i(82159),_=i(41505),w=a(a.bind);s.exports=function(s,o){return u(s),void 0===o?s:_?w(s,o):function(){return s.apply(o,arguments)}}},28586:(s,o,i)=>{var a=i(56449),u=i(44394),_=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,w=/^\\w*$/;s.exports=function isKey(s,o){if(a(s))return!1;var i=typeof s;return!(\"number\"!=i&&\"symbol\"!=i&&\"boolean\"!=i&&null!=s&&!u(s))||(w.test(s)||!_.test(s)||null!=o&&s in Object(o))}},28754:(s,o,i)=>{var a=i(25160);s.exports=function castSlice(s,o,i){var u=s.length;return i=void 0===i?u:i,!o&&i>=u?s:a(s,o,i)}},28879:(s,o,i)=>{var a=i(74335)(Object.getPrototypeOf,Object);s.exports=a},29172:(s,o,i)=>{var a=i(5861),u=i(40346);s.exports=function baseIsMap(s){return u(s)&&\"[object Map]\"==a(s)}},29367:(s,o,i)=>{\"use strict\";var a=i(82159),u=i(87136);s.exports=function(s,o){var i=s[o];return u(i)?void 0:a(i)}},29538:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(1907),_=i(13930),w=i(98828),x=i(2875),C=i(87170),j=i(22574),L=i(39298),B=i(16946),$=Object.assign,U=Object.defineProperty,V=u([].concat);s.exports=!$||w((function(){if(a&&1!==$({b:1},$(U({},\"a\",{enumerable:!0,get:function(){U(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var s={},o={},i=Symbol(\"assign detection\"),u=\"abcdefghijklmnopqrst\";return s[i]=7,u.split(\"\").forEach((function(s){o[s]=s})),7!==$({},s)[i]||x($({},o)).join(\"\")!==u}))?function assign(s,o){for(var i=L(s),u=arguments.length,w=1,$=C.f,U=j.f;u>w;)for(var z,Y=B(arguments[w++]),Z=$?V(x(Y),$(Y)):x(Y),ee=Z.length,ie=0;ee>ie;)z=Z[ie++],a&&!_(U,Y,z)||(i[z]=Y[z]);return i}:$},29817:s=>{s.exports=function stackHas(s){return this.__data__.has(s)}},29844:(s,o)=>{\"use strict\";function f(s,o){var i=s.length;s.push(o);e:for(;0<i;){var a=i-1>>>1,u=s[a];if(!(0<g(u,o)))break e;s[a]=o,s[i]=u,i=a}}function h(s){return 0===s.length?null:s[0]}function k(s){if(0===s.length)return null;var o=s[0],i=s.pop();if(i!==o){s[0]=i;e:for(var a=0,u=s.length,_=u>>>1;a<_;){var w=2*(a+1)-1,x=s[w],C=w+1,j=s[C];if(0>g(x,i))C<u&&0>g(j,x)?(s[a]=j,s[C]=i,a=C):(s[a]=x,s[w]=i,a=w);else{if(!(C<u&&0>g(j,i)))break e;s[a]=j,s[C]=i,a=C}}}return o}function g(s,o){var i=s.sortIndex-o.sortIndex;return 0!==i?i:s.id-o.id}if(\"object\"==typeof performance&&\"function\"==typeof performance.now){var i=performance;o.unstable_now=function(){return i.now()}}else{var a=Date,u=a.now();o.unstable_now=function(){return a.now()-u}}var _=[],w=[],x=1,C=null,j=3,L=!1,B=!1,$=!1,U=\"function\"==typeof setTimeout?setTimeout:null,V=\"function\"==typeof clearTimeout?clearTimeout:null,z=\"undefined\"!=typeof setImmediate?setImmediate:null;function G(s){for(var o=h(w);null!==o;){if(null===o.callback)k(w);else{if(!(o.startTime<=s))break;k(w),o.sortIndex=o.expirationTime,f(_,o)}o=h(w)}}function H(s){if($=!1,G(s),!B)if(null!==h(_))B=!0,I(J);else{var o=h(w);null!==o&&K(H,o.startTime-s)}}function J(s,i){B=!1,$&&($=!1,V(ie),ie=-1),L=!0;var a=j;try{for(G(i),C=h(_);null!==C&&(!(C.expirationTime>i)||s&&!M());){var u=C.callback;if(\"function\"==typeof u){C.callback=null,j=C.priorityLevel;var x=u(C.expirationTime<=i);i=o.unstable_now(),\"function\"==typeof x?C.callback=x:C===h(_)&&k(_),G(i)}else k(_);C=h(_)}if(null!==C)var U=!0;else{var z=h(w);null!==z&&K(H,z.startTime-i),U=!1}return U}finally{C=null,j=a,L=!1}}\"undefined\"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var Y,Z=!1,ee=null,ie=-1,ae=5,ce=-1;function M(){return!(o.unstable_now()-ce<ae)}function R(){if(null!==ee){var s=o.unstable_now();ce=s;var i=!0;try{i=ee(!0,s)}finally{i?Y():(Z=!1,ee=null)}}else Z=!1}if(\"function\"==typeof z)Y=function(){z(R)};else if(\"undefined\"!=typeof MessageChannel){var le=new MessageChannel,pe=le.port2;le.port1.onmessage=R,Y=function(){pe.postMessage(null)}}else Y=function(){U(R,0)};function I(s){ee=s,Z||(Z=!0,Y())}function K(s,i){ie=U((function(){s(o.unstable_now())}),i)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(s){s.callback=null},o.unstable_continueExecution=function(){B||L||(B=!0,I(J))},o.unstable_forceFrameRate=function(s){0>s||125<s?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):ae=0<s?Math.floor(1e3/s):5},o.unstable_getCurrentPriorityLevel=function(){return j},o.unstable_getFirstCallbackNode=function(){return h(_)},o.unstable_next=function(s){switch(j){case 1:case 2:case 3:var o=3;break;default:o=j}var i=j;j=o;try{return s()}finally{j=i}},o.unstable_pauseExecution=function(){},o.unstable_requestPaint=function(){},o.unstable_runWithPriority=function(s,o){switch(s){case 1:case 2:case 3:case 4:case 5:break;default:s=3}var i=j;j=s;try{return o()}finally{j=i}},o.unstable_scheduleCallback=function(s,i,a){var u=o.unstable_now();switch(\"object\"==typeof a&&null!==a?a=\"number\"==typeof(a=a.delay)&&0<a?u+a:u:a=u,s){case 1:var C=-1;break;case 2:C=250;break;case 5:C=1073741823;break;case 4:C=1e4;break;default:C=5e3}return s={id:x++,callback:i,priorityLevel:s,startTime:a,expirationTime:C=a+C,sortIndex:-1},a>u?(s.sortIndex=a,f(w,s),null===h(_)&&s===h(w)&&($?(V(ie),ie=-1):$=!0,K(H,a-u))):(s.sortIndex=C,f(_,s),B||L||(B=!0,I(J))),s},o.unstable_shouldYield=M,o.unstable_wrapCallback=function(s){var o=j;return function(){var i=j;j=o;try{return s.apply(this,arguments)}finally{j=i}}}},30041:(s,o,i)=>{\"use strict\";var a=i(30655),u=i(58068),_=i(69675),w=i(75795);s.exports=function defineDataProperty(s,o,i){if(!s||\"object\"!=typeof s&&\"function\"!=typeof s)throw new _(\"`obj` must be an object or a function`\");if(\"string\"!=typeof o&&\"symbol\"!=typeof o)throw new _(\"`property` must be a string or a symbol`\");if(arguments.length>3&&\"boolean\"!=typeof arguments[3]&&null!==arguments[3])throw new _(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&\"boolean\"!=typeof arguments[4]&&null!==arguments[4])throw new _(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&\"boolean\"!=typeof arguments[5]&&null!==arguments[5])throw new _(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&\"boolean\"!=typeof arguments[6])throw new _(\"`loose`, if provided, must be a boolean\");var x=arguments.length>3?arguments[3]:null,C=arguments.length>4?arguments[4]:null,j=arguments.length>5?arguments[5]:null,L=arguments.length>6&&arguments[6],B=!!w&&w(s,o);if(a)a(s,o,{configurable:null===j&&B?B.configurable:!j,enumerable:null===x&&B?B.enumerable:!x,value:i,writable:null===C&&B?B.writable:!C});else{if(!L&&(x||C||j))throw new u(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\");s[o]=i}}},30294:s=>{s.exports=function isLength(s){return\"number\"==typeof s&&s>-1&&s%1==0&&s<=9007199254740991}},30361:s=>{var o=/^(?:0|[1-9]\\d*)$/;s.exports=function isIndex(s,i){var a=typeof s;return!!(i=null==i?9007199254740991:i)&&(\"number\"==a||\"symbol\"!=a&&o.test(s))&&s>-1&&s%1==0&&s<i}},30592:(s,o,i)=>{\"use strict\";var a=i(30655),u=function hasPropertyDescriptors(){return!!a};u.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!a)return null;try{return 1!==a([],\"length\",{value:1}).length}catch(s){return!0}},s.exports=u},30641:(s,o,i)=>{var a=i(86649),u=i(95950);s.exports=function baseForOwn(s,o){return s&&a(s,o,u)}},30655:s=>{\"use strict\";var o=Object.defineProperty||!1;if(o)try{o({},\"a\",{value:1})}catch(s){o=!1}s.exports=o},30756:(s,o,i)=>{var a=i(23805);s.exports=function isStrictComparable(s){return s==s&&!a(s)}},30980:(s,o,i)=>{var a=i(39344),u=i(94033);function LazyWrapper(s){this.__wrapped__=s,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}LazyWrapper.prototype=a(u.prototype),LazyWrapper.prototype.constructor=LazyWrapper,s.exports=LazyWrapper},31175:(s,o,i)=>{var a=i(26025);s.exports=function listCacheSet(s,o){var i=this.__data__,u=a(i,s);return u<0?(++this.size,i.push([s,o])):i[u][1]=o,this}},31380:s=>{s.exports=function setCacheAdd(s){return this.__data__.set(s,\"__lodash_hash_undefined__\"),this}},31499:s=>{var o={\"&\":\"&amp;\",'\"':\"&quot;\",\"'\":\"&apos;\",\"<\":\"&lt;\",\">\":\"&gt;\"};s.exports=function escapeForXML(s){return s&&s.replace?s.replace(/([&\"<>'])/g,(function(s,i){return o[i]})):s}},31769:(s,o,i)=>{var a=i(56449),u=i(28586),_=i(61802),w=i(13222);s.exports=function castPath(s,o){return a(s)?s:u(s,o)?[s]:_(w(s))}},31800:s=>{var o=/\\s/;s.exports=function trimmedEndIndex(s){for(var i=s.length;i--&&o.test(s.charAt(i)););return i}},32096:(s,o,i)=>{\"use strict\";var a=i(90160);s.exports=function(s,o){return void 0===s?arguments.length<2?\"\":o:a(s)}},32567:(s,o,i)=>{\"use strict\";i(79307);var a=i(61747);s.exports=a(\"Function\",\"bind\")},32629:(s,o,i)=>{var a=i(9999);s.exports=function clone(s){return a(s,4)}},32804:(s,o,i)=>{var a=i(56110)(i(9325),\"Promise\");s.exports=a},32827:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(82890),_=i(90392),w=i(92861).Buffer,x=new Array(160);function Sha384(){this.init(),this._w=x,_.call(this,128,112)}a(Sha384,u),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var s=w.allocUnsafe(48);function writeInt64BE(o,i,a){s.writeInt32BE(o,a),s.writeInt32BE(i,a+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),s},s.exports=Sha384},32865:(s,o,i)=>{var a=i(19570),u=i(51811)(a);s.exports=u},33855:(s,o,i)=>{var a=i(9999),u=i(15389);s.exports=function iteratee(s){return u(\"function\"==typeof s?s:a(s,1))}},34035:(s,o,i)=>{const a=i(3110),u=i(86804);o.g$=a,o.KeyValuePair=i(55973),o.G6=u.ArraySlice,o.ot=u.ObjectSlice,o.Hg=u.Element,o.Om=u.StringElement,o.kT=u.NumberElement,o.bd=u.BooleanElement,o.Os=u.NullElement,o.wE=u.ArrayElement,o.Sh=u.ObjectElement,o.Pr=u.MemberElement,o.sI=u.RefElement,o.Ft=u.LinkElement,o.e=u.refract,i(85105),i(75147)},34084:(s,o,i)=>{\"use strict\";var a=i(62250),u=i(46285),_=i(79192);s.exports=function(s,o,i){var w,x;return _&&a(w=o.constructor)&&w!==i&&u(x=w.prototype)&&x!==i.prototype&&_(s,x),s}},34840:(s,o,i)=>{var a=\"object\"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;s.exports=a},34849:(s,o,i)=>{\"use strict\";var a=i(65482),u=Math.max,_=Math.min;s.exports=function(s,o){var i=a(s);return i<0?u(i+o,0):_(i,o)}},34932:s=>{s.exports=function arrayMap(s,o){for(var i=-1,a=null==s?0:s.length,u=Array(a);++i<a;)u[i]=o(s[i],i,s);return u}},35344:s=>{function concat(...s){return s.map((s=>function source(s){return s?\"string\"==typeof s?s:s.source:null}(s))).join(\"\")}s.exports=function bash(s){const o={},i={begin:/\\$\\{/,end:/\\}/,contains:[\"self\",{begin:/:-/,contains:[o]}]};Object.assign(o,{className:\"variable\",variants:[{begin:concat(/\\$[\\w\\d#@][\\w\\d_]*/,\"(?![\\\\w\\\\d])(?![$])\")},i]});const a={className:\"subst\",begin:/\\$\\(/,end:/\\)/,contains:[s.BACKSLASH_ESCAPE]},u={begin:/<<-?\\s*(?=\\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\\w+)/,end:/(\\w+)/,className:\"string\"})]}},_={className:\"string\",begin:/\"/,end:/\"/,contains:[s.BACKSLASH_ESCAPE,o,a]};a.contains.push(_);const w={begin:/\\$\\(\\(/,end:/\\)\\)/,contains:[{begin:/\\d+#[0-9a-f]+/,className:\"number\"},s.NUMBER_MODE,o]},x=s.SHEBANG({binary:`(${[\"fish\",\"bash\",\"zsh\",\"sh\",\"csh\",\"ksh\",\"tcsh\",\"dash\",\"scsh\"].join(\"|\")})`,relevance:10}),C={className:\"function\",begin:/\\w[\\w\\d_]*\\s*\\(\\s*\\)\\s*\\{/,returnBegin:!0,contains:[s.inherit(s.TITLE_MODE,{begin:/\\w[\\w\\d_]*/})],relevance:0};return{name:\"Bash\",aliases:[\"sh\",\"zsh\"],keywords:{$pattern:/\\b[a-z._-]+\\b/,keyword:\"if then else elif fi for while in do done case esac function\",literal:\"true false\",built_in:\"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp\"},contains:[x,s.SHEBANG(),C,w,s.HASH_COMMENT_MODE,u,_,{className:\"\",begin:/\\\\\"/},{className:\"string\",begin:/'/,end:/'/},o]}}},35345:s=>{\"use strict\";s.exports=URIError},35529:(s,o,i)=>{var a=i(39344),u=i(28879),_=i(55527);s.exports=function initCloneObject(s){return\"function\"!=typeof s.constructor||_(s)?{}:a(u(s))}},35680:(s,o,i)=>{\"use strict\";var a=i(25767);s.exports=function isTypedArray(s){return!!a(s)}},35749:(s,o,i)=>{var a=i(81042);s.exports=function hashSet(s,o){var i=this.__data__;return this.size+=this.has(s)?0:1,i[s]=a&&void 0===o?\"__lodash_hash_undefined__\":o,this}},35970:(s,o,i)=>{var a=i(83120);s.exports=function flatten(s){return(null==s?0:s.length)?a(s,1):[]}},36128:(s,o,i)=>{\"use strict\";var a=i(7376),u=i(45951),_=i(2532),w=\"__core-js_shared__\",x=s.exports=u[w]||_(w,{});(x.versions||(x.versions=[])).push({version:\"3.40.0\",mode:a?\"pure\":\"global\",copyright:\"© 2014-2025 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE\",source:\"https://github.com/zloirock/core-js\"})},36306:s=>{var o=\"__lodash_placeholder__\";s.exports=function replaceHolders(s,i){for(var a=-1,u=s.length,_=0,w=[];++a<u;){var x=s[a];x!==i&&x!==o||(s[a]=o,w[_++]=a)}return w}},36371:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(85582),_=i(76024),w=i(98828),x=i(19358),C=\"AggregateError\",j=u(C),L=!w((function(){return 1!==j([1]).errors[0]}))&&w((function(){return 7!==j([1],C,{cause:7}).cause}));a({global:!0,constructor:!0,arity:2,forced:L},{AggregateError:x(C,(function(s){return function AggregateError(o,i){return _(s,this,arguments)}}),L,!0)})},36556:(s,o,i)=>{\"use strict\";var a=i(70453),u=i(73126),_=u([a(\"%String.prototype.indexOf%\")]);s.exports=function callBoundIntrinsic(s,o){var i=a(s,!!o);return\"function\"==typeof i&&_(s,\".prototype.\")>-1?u([i]):i}},36624:(s,o,i)=>{\"use strict\";var a=i(46285),u=String,_=TypeError;s.exports=function(s){if(a(s))return s;throw new _(u(s)+\" is not an object\")}},36800:(s,o,i)=>{var a=i(75288),u=i(64894),_=i(30361),w=i(23805);s.exports=function isIterateeCall(s,o,i){if(!w(i))return!1;var x=typeof o;return!!(\"number\"==x?u(i)&&_(o,i.length):\"string\"==x&&o in i)&&a(i[o],s)}},36833:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(49724),_=Function.prototype,w=a&&Object.getOwnPropertyDescriptor,x=u(_,\"name\"),C=x&&\"something\"===function something(){}.name,j=x&&(!a||a&&w(_,\"name\").configurable);s.exports={EXISTS:x,PROPER:C,CONFIGURABLE:j}},37007:s=>{\"use strict\";var o,i=\"object\"==typeof Reflect?Reflect:null,a=i&&\"function\"==typeof i.apply?i.apply:function ReflectApply(s,o,i){return Function.prototype.apply.call(s,o,i)};o=i&&\"function\"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(s){return Object.getOwnPropertyNames(s).concat(Object.getOwnPropertySymbols(s))}:function ReflectOwnKeys(s){return Object.getOwnPropertyNames(s)};var u=Number.isNaN||function NumberIsNaN(s){return s!=s};function EventEmitter(){EventEmitter.init.call(this)}s.exports=EventEmitter,s.exports.once=function once(s,o){return new Promise((function(i,a){function errorListener(i){s.removeListener(o,resolver),a(i)}function resolver(){\"function\"==typeof s.removeListener&&s.removeListener(\"error\",errorListener),i([].slice.call(arguments))}eventTargetAgnosticAddListener(s,o,resolver,{once:!0}),\"error\"!==o&&function addErrorHandlerIfEventEmitter(s,o,i){\"function\"==typeof s.on&&eventTargetAgnosticAddListener(s,\"error\",o,i)}(s,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var _=10;function checkListener(s){if(\"function\"!=typeof s)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof s)}function _getMaxListeners(s){return void 0===s._maxListeners?EventEmitter.defaultMaxListeners:s._maxListeners}function _addListener(s,o,i,a){var u,_,w;if(checkListener(i),void 0===(_=s._events)?(_=s._events=Object.create(null),s._eventsCount=0):(void 0!==_.newListener&&(s.emit(\"newListener\",o,i.listener?i.listener:i),_=s._events),w=_[o]),void 0===w)w=_[o]=i,++s._eventsCount;else if(\"function\"==typeof w?w=_[o]=a?[i,w]:[w,i]:a?w.unshift(i):w.push(i),(u=_getMaxListeners(s))>0&&w.length>u&&!w.warned){w.warned=!0;var x=new Error(\"Possible EventEmitter memory leak detected. \"+w.length+\" \"+String(o)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");x.name=\"MaxListenersExceededWarning\",x.emitter=s,x.type=o,x.count=w.length,function ProcessEmitWarning(s){console&&console.warn&&console.warn(s)}(x)}return s}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(s,o,i){var a={fired:!1,wrapFn:void 0,target:s,type:o,listener:i},u=onceWrapper.bind(a);return u.listener=i,a.wrapFn=u,u}function _listeners(s,o,i){var a=s._events;if(void 0===a)return[];var u=a[o];return void 0===u?[]:\"function\"==typeof u?i?[u.listener||u]:[u]:i?function unwrapListeners(s){for(var o=new Array(s.length),i=0;i<o.length;++i)o[i]=s[i].listener||s[i];return o}(u):arrayClone(u,u.length)}function listenerCount(s){var o=this._events;if(void 0!==o){var i=o[s];if(\"function\"==typeof i)return 1;if(void 0!==i)return i.length}return 0}function arrayClone(s,o){for(var i=new Array(o),a=0;a<o;++a)i[a]=s[a];return i}function eventTargetAgnosticAddListener(s,o,i,a){if(\"function\"==typeof s.on)a.once?s.once(o,i):s.on(o,i);else{if(\"function\"!=typeof s.addEventListener)throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof s);s.addEventListener(o,(function wrapListener(u){a.once&&s.removeEventListener(o,wrapListener),i(u)}))}}Object.defineProperty(EventEmitter,\"defaultMaxListeners\",{enumerable:!0,get:function(){return _},set:function(s){if(\"number\"!=typeof s||s<0||u(s))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+s+\".\");_=s}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function setMaxListeners(s){if(\"number\"!=typeof s||s<0||u(s))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+s+\".\");return this._maxListeners=s,this},EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function emit(s){for(var o=[],i=1;i<arguments.length;i++)o.push(arguments[i]);var u=\"error\"===s,_=this._events;if(void 0!==_)u=u&&void 0===_.error;else if(!u)return!1;if(u){var w;if(o.length>0&&(w=o[0]),w instanceof Error)throw w;var x=new Error(\"Unhandled error.\"+(w?\" (\"+w.message+\")\":\"\"));throw x.context=w,x}var C=_[s];if(void 0===C)return!1;if(\"function\"==typeof C)a(C,this,o);else{var j=C.length,L=arrayClone(C,j);for(i=0;i<j;++i)a(L[i],this,o)}return!0},EventEmitter.prototype.addListener=function addListener(s,o){return _addListener(this,s,o,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function prependListener(s,o){return _addListener(this,s,o,!0)},EventEmitter.prototype.once=function once(s,o){return checkListener(o),this.on(s,_onceWrap(this,s,o)),this},EventEmitter.prototype.prependOnceListener=function prependOnceListener(s,o){return checkListener(o),this.prependListener(s,_onceWrap(this,s,o)),this},EventEmitter.prototype.removeListener=function removeListener(s,o){var i,a,u,_,w;if(checkListener(o),void 0===(a=this._events))return this;if(void 0===(i=a[s]))return this;if(i===o||i.listener===o)0==--this._eventsCount?this._events=Object.create(null):(delete a[s],a.removeListener&&this.emit(\"removeListener\",s,i.listener||o));else if(\"function\"!=typeof i){for(u=-1,_=i.length-1;_>=0;_--)if(i[_]===o||i[_].listener===o){w=i[_].listener,u=_;break}if(u<0)return this;0===u?i.shift():function spliceOne(s,o){for(;o+1<s.length;o++)s[o]=s[o+1];s.pop()}(i,u),1===i.length&&(a[s]=i[0]),void 0!==a.removeListener&&this.emit(\"removeListener\",s,w||o)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function removeAllListeners(s){var o,i,a;if(void 0===(i=this._events))return this;if(void 0===i.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==i[s]&&(0==--this._eventsCount?this._events=Object.create(null):delete i[s]),this;if(0===arguments.length){var u,_=Object.keys(i);for(a=0;a<_.length;++a)\"removeListener\"!==(u=_[a])&&this.removeAllListeners(u);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(\"function\"==typeof(o=i[s]))this.removeListener(s,o);else if(void 0!==o)for(a=o.length-1;a>=0;a--)this.removeListener(s,o[a]);return this},EventEmitter.prototype.listeners=function listeners(s){return _listeners(this,s,!0)},EventEmitter.prototype.rawListeners=function rawListeners(s){return _listeners(this,s,!1)},EventEmitter.listenerCount=function(s,o){return\"function\"==typeof s.listenerCount?s.listenerCount(o):listenerCount.call(s,o)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?o(this._events):[]}},37167:(s,o,i)=>{var a=i(4901),u=i(27301),_=i(86009),w=_&&_.isTypedArray,x=w?u(w):a;s.exports=x},37217:(s,o,i)=>{var a=i(80079),u=i(51420),_=i(90938),w=i(63605),x=i(29817),C=i(80945);function Stack(s){var o=this.__data__=new a(s);this.size=o.size}Stack.prototype.clear=u,Stack.prototype.delete=_,Stack.prototype.get=w,Stack.prototype.has=x,Stack.prototype.set=C,s.exports=Stack},37241:(s,o,i)=>{var a=i(70695),u=i(72903),_=i(64894);s.exports=function keysIn(s){return _(s)?a(s,!0):u(s)}},37257:(s,o,i)=>{\"use strict\";i(96605),i(64502),i(36371),i(99363),i(7057);var a=i(92046);s.exports=a.AggregateError},37334:s=>{s.exports=function constant(s){return function(){return s}}},37381:(s,o,i)=>{var a=i(48152),u=i(63950),_=a?function(s){return a.get(s)}:u;s.exports=_},37471:(s,o,i)=>{var a=i(91596),u=i(53320),_=i(58523),w=i(82819),x=i(18073),C=i(11287),j=i(68294),L=i(36306),B=i(9325);s.exports=function createHybrid(s,o,i,$,U,V,z,Y,Z,ee){var ie=128&o,ae=1&o,ce=2&o,le=24&o,pe=512&o,de=ce?void 0:w(s);return function wrapper(){for(var fe=arguments.length,ye=Array(fe),be=fe;be--;)ye[be]=arguments[be];if(le)var _e=C(wrapper),Se=_(ye,_e);if($&&(ye=a(ye,$,U,le)),V&&(ye=u(ye,V,z,le)),fe-=Se,le&&fe<ee){var we=L(ye,_e);return x(s,o,createHybrid,wrapper.placeholder,i,ye,we,Y,Z,ee-fe)}var xe=ae?i:this,Pe=ce?xe[s]:s;return fe=ye.length,Y?ye=j(ye,Y):pe&&fe>1&&ye.reverse(),ie&&Z<fe&&(ye.length=Z),this&&this!==B&&this instanceof wrapper&&(Pe=de||w(Pe)),Pe.apply(xe,ye)}}},37812:(s,o,i)=>{\"use strict\";var a=i(76264),u=i(93742),_=a(\"iterator\"),w=Array.prototype;s.exports=function(s){return void 0!==s&&(u.Array===s||w[_]===s)}},37828:(s,o,i)=>{var a=i(9325).Uint8Array;s.exports=a},38221:(s,o,i)=>{var a=i(23805),u=i(10124),_=i(99374),w=Math.max,x=Math.min;s.exports=function debounce(s,o,i){var C,j,L,B,$,U,V=0,z=!1,Y=!1,Z=!0;if(\"function\"!=typeof s)throw new TypeError(\"Expected a function\");function invokeFunc(o){var i=C,a=j;return C=j=void 0,V=o,B=s.apply(a,i)}function shouldInvoke(s){var i=s-U;return void 0===U||i>=o||i<0||Y&&s-V>=L}function timerExpired(){var s=u();if(shouldInvoke(s))return trailingEdge(s);$=setTimeout(timerExpired,function remainingWait(s){var i=o-(s-U);return Y?x(i,L-(s-V)):i}(s))}function trailingEdge(s){return $=void 0,Z&&C?invokeFunc(s):(C=j=void 0,B)}function debounced(){var s=u(),i=shouldInvoke(s);if(C=arguments,j=this,U=s,i){if(void 0===$)return function leadingEdge(s){return V=s,$=setTimeout(timerExpired,o),z?invokeFunc(s):B}(U);if(Y)return clearTimeout($),$=setTimeout(timerExpired,o),invokeFunc(U)}return void 0===$&&($=setTimeout(timerExpired,o)),B}return o=_(o)||0,a(i)&&(z=!!i.leading,L=(Y=\"maxWait\"in i)?w(_(i.maxWait)||0,o):L,Z=\"trailing\"in i?!!i.trailing:Z),debounced.cancel=function cancel(){void 0!==$&&clearTimeout($),V=0,C=U=j=$=void 0},debounced.flush=function flush(){return void 0===$?B:trailingEdge(u())},debounced}},38329:(s,o,i)=>{var a=i(64894);s.exports=function createBaseEach(s,o){return function(i,u){if(null==i)return i;if(!a(i))return s(i,u);for(var _=i.length,w=o?_:-1,x=Object(i);(o?w--:++w<_)&&!1!==u(x[w],w,x););return i}}},38440:(s,o,i)=>{var a=i(16038),u=i(27301),_=i(86009),w=_&&_.isSet,x=w?u(w):a;s.exports=x},38530:s=>{\"use strict\";s.exports={}},38816:(s,o,i)=>{var a=i(35970),u=i(56757),_=i(32865);s.exports=function flatRest(s){return _(u(s,void 0,a),s+\"\")}},38859:(s,o,i)=>{var a=i(53661),u=i(31380),_=i(51459);function SetCache(s){var o=-1,i=null==s?0:s.length;for(this.__data__=new a;++o<i;)this.add(s[o])}SetCache.prototype.add=SetCache.prototype.push=u,SetCache.prototype.has=_,s.exports=SetCache},39209:(s,o,i)=>{\"use strict\";var a=i(76578),u=\"undefined\"==typeof globalThis?i.g:globalThis;s.exports=function availableTypedArrays(){for(var s=[],o=0;o<a.length;o++)\"function\"==typeof u[a[o]]&&(s[s.length]=a[o]);return s}},39259:(s,o,i)=>{\"use strict\";var a=i(46285),u=i(61626);s.exports=function(s,o){a(o)&&\"cause\"in o&&u(s,\"cause\",o.cause)}},39298:(s,o,i)=>{\"use strict\";var a=i(74239),u=Object;s.exports=function(s){return u(a(s))}},39344:(s,o,i)=>{var a=i(23805),u=Object.create,_=function(){function object(){}return function(s){if(!a(s))return{};if(u)return u(s);object.prototype=s;var o=new object;return object.prototype=void 0,o}}();s.exports=_},39447:(s,o,i)=>{\"use strict\";var a=i(98828);s.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},40154:(s,o,i)=>{\"use strict\";var a=i(13930),u=i(36624),_=i(29367);s.exports=function(s,o,i){var w,x;u(s);try{if(!(w=_(s,\"return\"))){if(\"throw\"===o)throw i;return i}w=a(w,s)}catch(s){x=!0,w=s}if(\"throw\"===o)throw i;if(x)throw w;return u(w),i}},40239:(s,o,i)=>{const a=i(10316);s.exports=class NumberElement extends a{constructor(s,o,i){super(s,o,i),this.element=\"number\"}primitive(){return\"number\"}}},40345:(s,o,i)=>{s.exports=i(37007).EventEmitter},40346:s=>{s.exports=function isObjectLike(s){return null!=s&&\"object\"==typeof s}},40551:(s,o,i)=>{\"use strict\";var a=i(45951),u=i(62250),_=a.WeakMap;s.exports=u(_)&&/native code/.test(String(_))},40860:(s,o,i)=>{var a=i(40882),u=i(80909),_=i(15389),w=i(85558),x=i(56449);s.exports=function reduce(s,o,i){var C=x(s)?a:w,j=arguments.length<3;return C(s,_(o,4),i,j,u)}},40882:s=>{s.exports=function arrayReduce(s,o,i,a){var u=-1,_=null==s?0:s.length;for(a&&_&&(i=s[++u]);++u<_;)i=o(i,s[u],u,s);return i}},40961:(s,o,i)=>{\"use strict\";!function checkDCE(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(s){console.error(s)}}(),s.exports=i(22551)},40975:(s,o,i)=>{\"use strict\";var a=i(9748);s.exports=a},41067:(s,o,i)=>{const a=i(10316);s.exports=class NullElement extends a{constructor(s,o,i){super(s||null,o,i),this.element=\"null\"}primitive(){return\"null\"}set(){return new Error(\"Cannot set the value of null\")}}},41176:s=>{\"use strict\";var o=Math.ceil,i=Math.floor;s.exports=Math.trunc||function trunc(s){var a=+s;return(a>0?i:o)(a)}},41237:s=>{\"use strict\";s.exports=EvalError},41333:s=>{\"use strict\";s.exports=function hasSymbols(){if(\"function\"!=typeof Symbol||\"function\"!=typeof Object.getOwnPropertySymbols)return!1;if(\"symbol\"==typeof Symbol.iterator)return!0;var s={},o=Symbol(\"test\"),i=Object(o);if(\"string\"==typeof o)return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(o))return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(i))return!1;for(var a in s[o]=42,s)return!1;if(\"function\"==typeof Object.keys&&0!==Object.keys(s).length)return!1;if(\"function\"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(s).length)return!1;var u=Object.getOwnPropertySymbols(s);if(1!==u.length||u[0]!==o)return!1;if(!Object.prototype.propertyIsEnumerable.call(s,o))return!1;if(\"function\"==typeof Object.getOwnPropertyDescriptor){var _=Object.getOwnPropertyDescriptor(s,o);if(42!==_.value||!0!==_.enumerable)return!1}return!0}},41505:(s,o,i)=>{\"use strict\";var a=i(98828);s.exports=!a((function(){var s=function(){}.bind();return\"function\"!=typeof s||s.hasOwnProperty(\"prototype\")}))},41799:(s,o,i)=>{var a=i(37217),u=i(60270);s.exports=function baseIsMatch(s,o,i,_){var w=i.length,x=w,C=!_;if(null==s)return!x;for(s=Object(s);w--;){var j=i[w];if(C&&j[2]?j[1]!==s[j[0]]:!(j[0]in s))return!1}for(;++w<x;){var L=(j=i[w])[0],B=s[L],$=j[1];if(C&&j[2]){if(void 0===B&&!(L in s))return!1}else{var U=new a;if(_)var V=_(B,$,L,s,o,U);if(!(void 0===V?u($,B,3,_,U):V))return!1}}return!0}},41859:(s,o,i)=>{const a=i(27096),u=i(78004),_=a.types;s.exports=class RandExp{constructor(s,o){if(this._setDefaults(s),s instanceof RegExp)this.ignoreCase=s.ignoreCase,this.multiline=s.multiline,s=s.source;else{if(\"string\"!=typeof s)throw new Error(\"Expected a regexp or string\");this.ignoreCase=o&&-1!==o.indexOf(\"i\"),this.multiline=o&&-1!==o.indexOf(\"m\")}this.tokens=a(s)}_setDefaults(s){this.max=null!=s.max?s.max:null!=RandExp.prototype.max?RandExp.prototype.max:100,this.defaultRange=s.defaultRange?s.defaultRange:this.defaultRange.clone(),s.randInt&&(this.randInt=s.randInt)}gen(){return this._gen(this.tokens,[])}_gen(s,o){var i,a,u,w,x;switch(s.type){case _.ROOT:case _.GROUP:if(s.followedBy||s.notFollowedBy)return\"\";for(s.remember&&void 0===s.groupNumber&&(s.groupNumber=o.push(null)-1),a=\"\",w=0,x=(i=s.options?this._randSelect(s.options):s.stack).length;w<x;w++)a+=this._gen(i[w],o);return s.remember&&(o[s.groupNumber]=a),a;case _.POSITION:return\"\";case _.SET:var C=this._expand(s);return C.length?String.fromCharCode(this._randSelect(C)):\"\";case _.REPETITION:for(u=this.randInt(s.min,s.max===1/0?s.min+this.max:s.max),a=\"\",w=0;w<u;w++)a+=this._gen(s.value,o);return a;case _.REFERENCE:return o[s.value-1]||\"\";case _.CHAR:var j=this.ignoreCase&&this._randBool()?this._toOtherCase(s.value):s.value;return String.fromCharCode(j)}}_toOtherCase(s){return s+(97<=s&&s<=122?-32:65<=s&&s<=90?32:0)}_randBool(){return!this.randInt(0,1)}_randSelect(s){return s instanceof u?s.index(this.randInt(0,s.length-1)):s[this.randInt(0,s.length-1)]}_expand(s){if(s.type===a.types.CHAR)return new u(s.value);if(s.type===a.types.RANGE)return new u(s.from,s.to);{let o=new u;for(let i=0;i<s.set.length;i++){let a=this._expand(s.set[i]);if(o.add(a),this.ignoreCase)for(let s=0;s<a.length;s++){let i=a.index(s),u=this._toOtherCase(i);i!==u&&o.add(u)}}return s.not?this.defaultRange.clone().subtract(o):this.defaultRange.clone().intersect(o)}}randInt(s,o){return s+Math.floor(Math.random()*(1+o-s))}get defaultRange(){return this._range=this._range||new u(32,126)}set defaultRange(s){this._range=s}static randexp(s,o){var i;return\"string\"==typeof s&&(s=new RegExp(s,o)),void 0===s._randexp?(i=new RandExp(s,o),s._randexp=i):(i=s._randexp)._setDefaults(s),i.gen()}static sugar(){RegExp.prototype.gen=function(){return RandExp.randexp(this)}}}},42054:s=>{var o=\"\\\\ud800-\\\\udfff\",i=\"[\"+o+\"]\",a=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",u=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",_=\"[^\"+o+\"]\",w=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",x=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",C=\"(?:\"+a+\"|\"+u+\")\"+\"?\",j=\"[\\\\ufe0e\\\\ufe0f]?\",L=j+C+(\"(?:\\\\u200d(?:\"+[_,w,x].join(\"|\")+\")\"+j+C+\")*\"),B=\"(?:\"+[_+a+\"?\",a,w,x,i].join(\"|\")+\")\",$=RegExp(u+\"(?=\"+u+\")|\"+B+L,\"g\");s.exports=function unicodeToArray(s){return s.match($)||[]}},42072:(s,o,i)=>{var a=i(34932),u=i(23007),_=i(56449),w=i(44394),x=i(61802),C=i(77797),j=i(13222);s.exports=function toPath(s){return _(s)?a(s,C):w(s)?[s]:u(x(j(s)))}},42156:s=>{\"use strict\";s.exports=function(){}},42220:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(58661),_=i(74284),w=i(36624),x=i(4993),C=i(2875);o.f=a&&!u?Object.defineProperties:function defineProperties(s,o){w(s);for(var i,a=x(o),u=C(o),j=u.length,L=0;j>L;)_.f(s,i=u[L++],a[i]);return s}},42426:(s,o,i)=>{var a=i(14248),u=i(15389),_=i(90916),w=i(56449),x=i(36800);s.exports=function some(s,o,i){var C=w(s)?a:_;return i&&x(s,o,i)&&(o=void 0),C(s,u(o,3))}},42824:(s,o,i)=>{var a=i(87805),u=i(93290),_=i(71961),w=i(23007),x=i(35529),C=i(72428),j=i(56449),L=i(83693),B=i(3656),$=i(1882),U=i(23805),V=i(11331),z=i(37167),Y=i(14974),Z=i(69884);s.exports=function baseMergeDeep(s,o,i,ee,ie,ae,ce){var le=Y(s,i),pe=Y(o,i),de=ce.get(pe);if(de)a(s,i,de);else{var fe=ae?ae(le,pe,i+\"\",s,o,ce):void 0,ye=void 0===fe;if(ye){var be=j(pe),_e=!be&&B(pe),Se=!be&&!_e&&z(pe);fe=pe,be||_e||Se?j(le)?fe=le:L(le)?fe=w(le):_e?(ye=!1,fe=u(pe,!0)):Se?(ye=!1,fe=_(pe,!0)):fe=[]:V(pe)||C(pe)?(fe=le,C(le)?fe=Z(le):U(le)&&!$(le)||(fe=x(pe))):ye=!1}ye&&(ce.set(pe,fe),ie(fe,pe,ee,ae,ce),ce.delete(pe)),a(s,i,fe)}}},43360:(s,o,i)=>{var a=i(93243);s.exports=function baseAssignValue(s,o,i){\"__proto__\"==o&&a?a(s,o,{configurable:!0,enumerable:!0,value:i,writable:!0}):s[o]=i}},43768:(s,o,i)=>{\"use strict\";var a=i(45981),u=i(85587);o.highlight=highlight,o.highlightAuto=function highlightAuto(s,o){var i,w,x,C,j=o||{},L=j.subset||a.listLanguages(),B=j.prefix,$=L.length,U=-1;null==B&&(B=_);if(\"string\"!=typeof s)throw u(\"Expected `string` for value, got `%s`\",s);w={relevance:0,language:null,value:[]},i={relevance:0,language:null,value:[]};for(;++U<$;)C=L[U],a.getLanguage(C)&&((x=highlight(C,s,o)).language=C,x.relevance>w.relevance&&(w=x),x.relevance>i.relevance&&(w=i,i=x));w.language&&(i.secondBest=w);return i},o.registerLanguage=function registerLanguage(s,o){a.registerLanguage(s,o)},o.listLanguages=function listLanguages(){return a.listLanguages()},o.registerAlias=function registerAlias(s,o){var i,u=s;o&&((u={})[s]=o);for(i in u)a.registerAliases(u[i],{languageName:i})},Emitter.prototype.addText=function text(s){var o,i,a=this.stack;if(\"\"===s)return;o=a[a.length-1],(i=o.children[o.children.length-1])&&\"text\"===i.type?i.value+=s:o.children.push({type:\"text\",value:s})},Emitter.prototype.addKeyword=function addKeyword(s,o){this.openNode(o),this.addText(s),this.closeNode()},Emitter.prototype.addSublanguage=function addSublanguage(s,o){var i=this.stack,a=i[i.length-1],u=s.rootNode.children,_=o?{type:\"element\",tagName:\"span\",properties:{className:[o]},children:u}:u;a.children=a.children.concat(_)},Emitter.prototype.openNode=function open(s){var o=this.stack,i=this.options.classPrefix+s,a=o[o.length-1],u={type:\"element\",tagName:\"span\",properties:{className:[i]},children:[]};a.children.push(u),o.push(u)},Emitter.prototype.closeNode=function close(){this.stack.pop()},Emitter.prototype.closeAllNodes=noop,Emitter.prototype.finalize=noop,Emitter.prototype.toHTML=function toHtmlNoop(){return\"\"};var _=\"hljs-\";function highlight(s,o,i){var w,x=a.configure({}),C=(i||{}).prefix;if(\"string\"!=typeof s)throw u(\"Expected `string` for name, got `%s`\",s);if(!a.getLanguage(s))throw u(\"Unknown language: `%s` is not registered\",s);if(\"string\"!=typeof o)throw u(\"Expected `string` for value, got `%s`\",o);if(null==C&&(C=_),a.configure({__emitter:Emitter,classPrefix:C}),w=a.highlight(o,{language:s,ignoreIllegals:!0}),a.configure(x||{}),w.errorRaised)throw w.errorRaised;return{relevance:w.relevance,language:w.language,value:w.emitter.rootNode.children}}function Emitter(s){this.options=s,this.rootNode={children:[]},this.stack=[this.rootNode]}function noop(){}},43838:(s,o,i)=>{var a=i(21791),u=i(37241);s.exports=function baseAssignIn(s,o){return s&&a(o,u(o),s)}},44394:(s,o,i)=>{var a=i(72552),u=i(40346);s.exports=function isSymbol(s){return\"symbol\"==typeof s||u(s)&&\"[object Symbol]\"==a(s)}},44673:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(82159),_=i(46285),w=i(49724),x=i(93427),C=i(41505),j=Function,L=a([].concat),B=a([].join),$={};s.exports=C?j.bind:function bind(s){var o=u(this),i=o.prototype,a=x(arguments,1),C=function bound(){var i=L(a,x(arguments));return this instanceof C?function(s,o,i){if(!w($,o)){for(var a=[],u=0;u<o;u++)a[u]=\"a[\"+u+\"]\";$[o]=j(\"C,a\",\"return new C(\"+B(a,\",\")+\")\")}return $[o](s,i)}(o,i.length,i):o.apply(s,i)};return _(i)&&(C.prototype=i),C}},45083:(s,o,i)=>{var a=i(1882),u=i(87296),_=i(23805),w=i(47473),x=/^\\[object .+?Constructor\\]$/,C=Function.prototype,j=Object.prototype,L=C.toString,B=j.hasOwnProperty,$=RegExp(\"^\"+L.call(B).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");s.exports=function baseIsNative(s){return!(!_(s)||u(s))&&(a(s)?$:x).test(w(s))}},45412:(s,o,i)=>{\"use strict\";var a,u=i(65606);s.exports=Readable,Readable.ReadableState=ReadableState;i(37007).EventEmitter;var _=function EElistenerCount(s,o){return s.listeners(o).length},w=i(40345),x=i(48287).Buffer,C=(void 0!==i.g?i.g:\"undefined\"!=typeof window?window:\"undefined\"!=typeof self?self:{}).Uint8Array||function(){};var j,L=i(79838);j=L&&L.debuglog?L.debuglog(\"stream\"):function debug(){};var B,$,U,V=i(80345),z=i(75896),Y=i(65291).getHighWaterMark,Z=i(86048).F,ee=Z.ERR_INVALID_ARG_TYPE,ie=Z.ERR_STREAM_PUSH_AFTER_EOF,ae=Z.ERR_METHOD_NOT_IMPLEMENTED,ce=Z.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;i(56698)(Readable,w);var le=z.errorOrDestroy,pe=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function ReadableState(s,o,u){a=a||i(25382),s=s||{},\"boolean\"!=typeof u&&(u=o instanceof a),this.objectMode=!!s.objectMode,u&&(this.objectMode=this.objectMode||!!s.readableObjectMode),this.highWaterMark=Y(this,s,\"readableHighWaterMark\",u),this.buffer=new V,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==s.emitClose,this.autoDestroy=!!s.autoDestroy,this.destroyed=!1,this.defaultEncoding=s.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,s.encoding&&(B||(B=i(83141).I),this.decoder=new B(s.encoding),this.encoding=s.encoding)}function Readable(s){if(a=a||i(25382),!(this instanceof Readable))return new Readable(s);var o=this instanceof a;this._readableState=new ReadableState(s,this,o),this.readable=!0,s&&(\"function\"==typeof s.read&&(this._read=s.read),\"function\"==typeof s.destroy&&(this._destroy=s.destroy)),w.call(this)}function readableAddChunk(s,o,i,a,u){j(\"readableAddChunk\",o);var _,w=s._readableState;if(null===o)w.reading=!1,function onEofChunk(s,o){if(j(\"onEofChunk\"),o.ended)return;if(o.decoder){var i=o.decoder.end();i&&i.length&&(o.buffer.push(i),o.length+=o.objectMode?1:i.length)}o.ended=!0,o.sync?emitReadable(s):(o.needReadable=!1,o.emittedReadable||(o.emittedReadable=!0,emitReadable_(s)))}(s,w);else if(u||(_=function chunkInvalid(s,o){var i;(function _isUint8Array(s){return x.isBuffer(s)||s instanceof C})(o)||\"string\"==typeof o||void 0===o||s.objectMode||(i=new ee(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],o));return i}(w,o)),_)le(s,_);else if(w.objectMode||o&&o.length>0)if(\"string\"==typeof o||w.objectMode||Object.getPrototypeOf(o)===x.prototype||(o=function _uint8ArrayToBuffer(s){return x.from(s)}(o)),a)w.endEmitted?le(s,new ce):addChunk(s,w,o,!0);else if(w.ended)le(s,new ie);else{if(w.destroyed)return!1;w.reading=!1,w.decoder&&!i?(o=w.decoder.write(o),w.objectMode||0!==o.length?addChunk(s,w,o,!1):maybeReadMore(s,w)):addChunk(s,w,o,!1)}else a||(w.reading=!1,maybeReadMore(s,w));return!w.ended&&(w.length<w.highWaterMark||0===w.length)}function addChunk(s,o,i,a){o.flowing&&0===o.length&&!o.sync?(o.awaitDrain=0,s.emit(\"data\",i)):(o.length+=o.objectMode?1:i.length,a?o.buffer.unshift(i):o.buffer.push(i),o.needReadable&&emitReadable(s)),maybeReadMore(s,o)}Object.defineProperty(Readable.prototype,\"destroyed\",{enumerable:!1,get:function get(){return void 0!==this._readableState&&this._readableState.destroyed},set:function set(s){this._readableState&&(this._readableState.destroyed=s)}}),Readable.prototype.destroy=z.destroy,Readable.prototype._undestroy=z.undestroy,Readable.prototype._destroy=function(s,o){o(s)},Readable.prototype.push=function(s,o){var i,a=this._readableState;return a.objectMode?i=!0:\"string\"==typeof s&&((o=o||a.defaultEncoding)!==a.encoding&&(s=x.from(s,o),o=\"\"),i=!0),readableAddChunk(this,s,o,!1,i)},Readable.prototype.unshift=function(s){return readableAddChunk(this,s,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(s){B||(B=i(83141).I);var o=new B(s);this._readableState.decoder=o,this._readableState.encoding=this._readableState.decoder.encoding;for(var a=this._readableState.buffer.head,u=\"\";null!==a;)u+=o.write(a.data),a=a.next;return this._readableState.buffer.clear(),\"\"!==u&&this._readableState.buffer.push(u),this._readableState.length=u.length,this};var de=1073741824;function howMuchToRead(s,o){return s<=0||0===o.length&&o.ended?0:o.objectMode?1:s!=s?o.flowing&&o.length?o.buffer.head.data.length:o.length:(s>o.highWaterMark&&(o.highWaterMark=function computeNewHighWaterMark(s){return s>=de?s=de:(s--,s|=s>>>1,s|=s>>>2,s|=s>>>4,s|=s>>>8,s|=s>>>16,s++),s}(s)),s<=o.length?s:o.ended?o.length:(o.needReadable=!0,0))}function emitReadable(s){var o=s._readableState;j(\"emitReadable\",o.needReadable,o.emittedReadable),o.needReadable=!1,o.emittedReadable||(j(\"emitReadable\",o.flowing),o.emittedReadable=!0,u.nextTick(emitReadable_,s))}function emitReadable_(s){var o=s._readableState;j(\"emitReadable_\",o.destroyed,o.length,o.ended),o.destroyed||!o.length&&!o.ended||(s.emit(\"readable\"),o.emittedReadable=!1),o.needReadable=!o.flowing&&!o.ended&&o.length<=o.highWaterMark,flow(s)}function maybeReadMore(s,o){o.readingMore||(o.readingMore=!0,u.nextTick(maybeReadMore_,s,o))}function maybeReadMore_(s,o){for(;!o.reading&&!o.ended&&(o.length<o.highWaterMark||o.flowing&&0===o.length);){var i=o.length;if(j(\"maybeReadMore read 0\"),s.read(0),i===o.length)break}o.readingMore=!1}function updateReadableListening(s){var o=s._readableState;o.readableListening=s.listenerCount(\"readable\")>0,o.resumeScheduled&&!o.paused?o.flowing=!0:s.listenerCount(\"data\")>0&&s.resume()}function nReadingNextTick(s){j(\"readable nexttick read 0\"),s.read(0)}function resume_(s,o){j(\"resume\",o.reading),o.reading||s.read(0),o.resumeScheduled=!1,s.emit(\"resume\"),flow(s),o.flowing&&!o.reading&&s.read(0)}function flow(s){var o=s._readableState;for(j(\"flow\",o.flowing);o.flowing&&null!==s.read(););}function fromList(s,o){return 0===o.length?null:(o.objectMode?i=o.buffer.shift():!s||s>=o.length?(i=o.decoder?o.buffer.join(\"\"):1===o.buffer.length?o.buffer.first():o.buffer.concat(o.length),o.buffer.clear()):i=o.buffer.consume(s,o.decoder),i);var i}function endReadable(s){var o=s._readableState;j(\"endReadable\",o.endEmitted),o.endEmitted||(o.ended=!0,u.nextTick(endReadableNT,o,s))}function endReadableNT(s,o){if(j(\"endReadableNT\",s.endEmitted,s.length),!s.endEmitted&&0===s.length&&(s.endEmitted=!0,o.readable=!1,o.emit(\"end\"),s.autoDestroy)){var i=o._writableState;(!i||i.autoDestroy&&i.finished)&&o.destroy()}}function indexOf(s,o){for(var i=0,a=s.length;i<a;i++)if(s[i]===o)return i;return-1}Readable.prototype.read=function(s){j(\"read\",s),s=parseInt(s,10);var o=this._readableState,i=s;if(0!==s&&(o.emittedReadable=!1),0===s&&o.needReadable&&((0!==o.highWaterMark?o.length>=o.highWaterMark:o.length>0)||o.ended))return j(\"read: emitReadable\",o.length,o.ended),0===o.length&&o.ended?endReadable(this):emitReadable(this),null;if(0===(s=howMuchToRead(s,o))&&o.ended)return 0===o.length&&endReadable(this),null;var a,u=o.needReadable;return j(\"need readable\",u),(0===o.length||o.length-s<o.highWaterMark)&&j(\"length less than watermark\",u=!0),o.ended||o.reading?j(\"reading or ended\",u=!1):u&&(j(\"do read\"),o.reading=!0,o.sync=!0,0===o.length&&(o.needReadable=!0),this._read(o.highWaterMark),o.sync=!1,o.reading||(s=howMuchToRead(i,o))),null===(a=s>0?fromList(s,o):null)?(o.needReadable=o.length<=o.highWaterMark,s=0):(o.length-=s,o.awaitDrain=0),0===o.length&&(o.ended||(o.needReadable=!0),i!==s&&o.ended&&endReadable(this)),null!==a&&this.emit(\"data\",a),a},Readable.prototype._read=function(s){le(this,new ae(\"_read()\"))},Readable.prototype.pipe=function(s,o){var i=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=s;break;case 1:a.pipes=[a.pipes,s];break;default:a.pipes.push(s)}a.pipesCount+=1,j(\"pipe count=%d opts=%j\",a.pipesCount,o);var w=(!o||!1!==o.end)&&s!==u.stdout&&s!==u.stderr?onend:unpipe;function onunpipe(o,u){j(\"onunpipe\"),o===i&&u&&!1===u.hasUnpiped&&(u.hasUnpiped=!0,function cleanup(){j(\"cleanup\"),s.removeListener(\"close\",onclose),s.removeListener(\"finish\",onfinish),s.removeListener(\"drain\",x),s.removeListener(\"error\",onerror),s.removeListener(\"unpipe\",onunpipe),i.removeListener(\"end\",onend),i.removeListener(\"end\",unpipe),i.removeListener(\"data\",ondata),C=!0,!a.awaitDrain||s._writableState&&!s._writableState.needDrain||x()}())}function onend(){j(\"onend\"),s.end()}a.endEmitted?u.nextTick(w):i.once(\"end\",w),s.on(\"unpipe\",onunpipe);var x=function pipeOnDrain(s){return function pipeOnDrainFunctionResult(){var o=s._readableState;j(\"pipeOnDrain\",o.awaitDrain),o.awaitDrain&&o.awaitDrain--,0===o.awaitDrain&&_(s,\"data\")&&(o.flowing=!0,flow(s))}}(i);s.on(\"drain\",x);var C=!1;function ondata(o){j(\"ondata\");var u=s.write(o);j(\"dest.write\",u),!1===u&&((1===a.pipesCount&&a.pipes===s||a.pipesCount>1&&-1!==indexOf(a.pipes,s))&&!C&&(j(\"false write response, pause\",a.awaitDrain),a.awaitDrain++),i.pause())}function onerror(o){j(\"onerror\",o),unpipe(),s.removeListener(\"error\",onerror),0===_(s,\"error\")&&le(s,o)}function onclose(){s.removeListener(\"finish\",onfinish),unpipe()}function onfinish(){j(\"onfinish\"),s.removeListener(\"close\",onclose),unpipe()}function unpipe(){j(\"unpipe\"),i.unpipe(s)}return i.on(\"data\",ondata),function prependListener(s,o,i){if(\"function\"==typeof s.prependListener)return s.prependListener(o,i);s._events&&s._events[o]?Array.isArray(s._events[o])?s._events[o].unshift(i):s._events[o]=[i,s._events[o]]:s.on(o,i)}(s,\"error\",onerror),s.once(\"close\",onclose),s.once(\"finish\",onfinish),s.emit(\"pipe\",i),a.flowing||(j(\"pipe resume\"),i.resume()),s},Readable.prototype.unpipe=function(s){var o=this._readableState,i={hasUnpiped:!1};if(0===o.pipesCount)return this;if(1===o.pipesCount)return s&&s!==o.pipes||(s||(s=o.pipes),o.pipes=null,o.pipesCount=0,o.flowing=!1,s&&s.emit(\"unpipe\",this,i)),this;if(!s){var a=o.pipes,u=o.pipesCount;o.pipes=null,o.pipesCount=0,o.flowing=!1;for(var _=0;_<u;_++)a[_].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var w=indexOf(o.pipes,s);return-1===w||(o.pipes.splice(w,1),o.pipesCount-=1,1===o.pipesCount&&(o.pipes=o.pipes[0]),s.emit(\"unpipe\",this,i)),this},Readable.prototype.on=function(s,o){var i=w.prototype.on.call(this,s,o),a=this._readableState;return\"data\"===s?(a.readableListening=this.listenerCount(\"readable\")>0,!1!==a.flowing&&this.resume()):\"readable\"===s&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,j(\"on readable\",a.length,a.reading),a.length?emitReadable(this):a.reading||u.nextTick(nReadingNextTick,this))),i},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(s,o){var i=w.prototype.removeListener.call(this,s,o);return\"readable\"===s&&u.nextTick(updateReadableListening,this),i},Readable.prototype.removeAllListeners=function(s){var o=w.prototype.removeAllListeners.apply(this,arguments);return\"readable\"!==s&&void 0!==s||u.nextTick(updateReadableListening,this),o},Readable.prototype.resume=function(){var s=this._readableState;return s.flowing||(j(\"resume\"),s.flowing=!s.readableListening,function resume(s,o){o.resumeScheduled||(o.resumeScheduled=!0,u.nextTick(resume_,s,o))}(this,s)),s.paused=!1,this},Readable.prototype.pause=function(){return j(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(j(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(s){var o=this,i=this._readableState,a=!1;for(var u in s.on(\"end\",(function(){if(j(\"wrapped end\"),i.decoder&&!i.ended){var s=i.decoder.end();s&&s.length&&o.push(s)}o.push(null)})),s.on(\"data\",(function(u){(j(\"wrapped data\"),i.decoder&&(u=i.decoder.write(u)),i.objectMode&&null==u)||(i.objectMode||u&&u.length)&&(o.push(u)||(a=!0,s.pause()))})),s)void 0===this[u]&&\"function\"==typeof s[u]&&(this[u]=function methodWrap(o){return function methodWrapReturnFunction(){return s[o].apply(s,arguments)}}(u));for(var _=0;_<pe.length;_++)s.on(pe[_],this.emit.bind(this,pe[_]));return this._read=function(o){j(\"wrapped _read\",o),a&&(a=!1,s.resume())},this},\"function\"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===$&&($=i(2955)),$(this)}),Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function get(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,\"readableBuffer\",{enumerable:!1,get:function get(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,\"readableFlowing\",{enumerable:!1,get:function get(){return this._readableState.flowing},set:function set(s){this._readableState&&(this._readableState.flowing=s)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,\"readableLength\",{enumerable:!1,get:function get(){return this._readableState.length}}),\"function\"==typeof Symbol&&(Readable.from=function(s,o){return void 0===U&&(U=i(55157)),U(Readable,s,o)})},45434:s=>{var o=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;s.exports=function hasUnicodeWord(s){return o.test(s)}},45539:(s,o,i)=>{var a=i(40882),u=i(50828),_=i(66645),w=RegExp(\"['’]\",\"g\");s.exports=function createCompounder(s){return function(o){return a(_(u(o).replace(w,\"\")),s,\"\")}}},45807:(s,o,i)=>{\"use strict\";var a=i(1907),u=a({}.toString),_=a(\"\".slice);s.exports=function(s){return _(u(s),8,-1)}},45891:(s,o,i)=>{var a=i(51873),u=i(72428),_=i(56449),w=a?a.isConcatSpreadable:void 0;s.exports=function isFlattenable(s){return _(s)||u(s)||!!(w&&s&&s[w])}},45951:function(s,o,i){\"use strict\";var check=function(s){return s&&s.Math===Math&&s};s.exports=check(\"object\"==typeof globalThis&&globalThis)||check(\"object\"==typeof window&&window)||check(\"object\"==typeof self&&self)||check(\"object\"==typeof i.g&&i.g)||check(\"object\"==typeof this&&this)||function(){return this}()||Function(\"return this\")()},45981:s=>{function deepFreeze(s){return s instanceof Map?s.clear=s.delete=s.set=function(){throw new Error(\"map is read-only\")}:s instanceof Set&&(s.add=s.clear=s.delete=function(){throw new Error(\"set is read-only\")}),Object.freeze(s),Object.getOwnPropertyNames(s).forEach((function(o){var i=s[o];\"object\"!=typeof i||Object.isFrozen(i)||deepFreeze(i)})),s}var o=deepFreeze,i=deepFreeze;o.default=i;class Response{constructor(s){void 0===s.data&&(s.data={}),this.data=s.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(s){return s.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#x27;\")}function inherit(s,...o){const i=Object.create(null);for(const o in s)i[o]=s[o];return o.forEach((function(s){for(const o in s)i[o]=s[o]})),i}const emitsWrappingTags=s=>!!s.kind;class HTMLRenderer{constructor(s,o){this.buffer=\"\",this.classPrefix=o.classPrefix,s.walk(this)}addText(s){this.buffer+=escapeHTML(s)}openNode(s){if(!emitsWrappingTags(s))return;let o=s.kind;s.sublanguage||(o=`${this.classPrefix}${o}`),this.span(o)}closeNode(s){emitsWrappingTags(s)&&(this.buffer+=\"</span>\")}value(){return this.buffer}span(s){this.buffer+=`<span class=\"${s}\">`}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(s){this.top.children.push(s)}openNode(s){const o={kind:s,children:[]};this.add(o),this.stack.push(o)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(s){return this.constructor._walk(s,this.rootNode)}static _walk(s,o){return\"string\"==typeof o?s.addText(o):o.children&&(s.openNode(o),o.children.forEach((o=>this._walk(s,o))),s.closeNode(o)),s}static _collapse(s){\"string\"!=typeof s&&s.children&&(s.children.every((s=>\"string\"==typeof s))?s.children=[s.children.join(\"\")]:s.children.forEach((s=>{TokenTree._collapse(s)})))}}class TokenTreeEmitter extends TokenTree{constructor(s){super(),this.options=s}addKeyword(s,o){\"\"!==s&&(this.openNode(o),this.addText(s),this.closeNode())}addText(s){\"\"!==s&&this.add(s)}addSublanguage(s,o){const i=s.root;i.kind=o,i.sublanguage=!0,this.add(i)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(s){return s?\"string\"==typeof s?s:s.source:null}const a=/\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;const u=\"[a-zA-Z]\\\\w*\",_=\"[a-zA-Z_]\\\\w*\",w=\"\\\\b\\\\d+(\\\\.\\\\d+)?\",x=\"(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)\",C=\"\\\\b(0b[01]+)\",j={begin:\"\\\\\\\\[\\\\s\\\\S]\",relevance:0},L={className:\"string\",begin:\"'\",end:\"'\",illegal:\"\\\\n\",contains:[j]},B={className:\"string\",begin:'\"',end:'\"',illegal:\"\\\\n\",contains:[j]},$={begin:/\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/},COMMENT=function(s,o,i={}){const a=inherit({className:\"comment\",begin:s,end:o,contains:[]},i);return a.contains.push($),a.contains.push({className:\"doctag\",begin:\"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):\",relevance:0}),a},U=COMMENT(\"//\",\"$\"),V=COMMENT(\"/\\\\*\",\"\\\\*/\"),z=COMMENT(\"#\",\"$\"),Y={className:\"number\",begin:w,relevance:0},Z={className:\"number\",begin:x,relevance:0},ee={className:\"number\",begin:C,relevance:0},ie={className:\"number\",begin:w+\"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\",relevance:0},ae={begin:/(?=\\/[^/\\n]*\\/)/,contains:[{className:\"regexp\",begin:/\\//,end:/\\/[gimuy]*/,illegal:/\\n/,contains:[j,{begin:/\\[/,end:/\\]/,relevance:0,contains:[j]}]}]},ce={className:\"title\",begin:u,relevance:0},le={className:\"title\",begin:_,relevance:0},pe={begin:\"\\\\.\\\\s*\"+_,relevance:0};var de=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\\b\\B/,IDENT_RE:u,UNDERSCORE_IDENT_RE:_,NUMBER_RE:w,C_NUMBER_RE:x,BINARY_NUMBER_RE:C,RE_STARTERS_RE:\"!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~\",SHEBANG:(s={})=>{const o=/^#![ ]*\\//;return s.binary&&(s.begin=function concat(...s){return s.map((s=>source(s))).join(\"\")}(o,/.*\\b/,s.binary,/\\b.*/)),inherit({className:\"meta\",begin:o,end:/$/,relevance:0,\"on:begin\":(s,o)=>{0!==s.index&&o.ignoreMatch()}},s)},BACKSLASH_ESCAPE:j,APOS_STRING_MODE:L,QUOTE_STRING_MODE:B,PHRASAL_WORDS_MODE:$,COMMENT,C_LINE_COMMENT_MODE:U,C_BLOCK_COMMENT_MODE:V,HASH_COMMENT_MODE:z,NUMBER_MODE:Y,C_NUMBER_MODE:Z,BINARY_NUMBER_MODE:ee,CSS_NUMBER_MODE:ie,REGEXP_MODE:ae,TITLE_MODE:ce,UNDERSCORE_TITLE_MODE:le,METHOD_GUARD:pe,END_SAME_AS_BEGIN:function(s){return Object.assign(s,{\"on:begin\":(s,o)=>{o.data._beginMatch=s[1]},\"on:end\":(s,o)=>{o.data._beginMatch!==s[1]&&o.ignoreMatch()}})}});function skipIfhasPrecedingDot(s,o){\".\"===s.input[s.index-1]&&o.ignoreMatch()}function beginKeywords(s,o){o&&s.beginKeywords&&(s.begin=\"\\\\b(\"+s.beginKeywords.split(\" \").join(\"|\")+\")(?!\\\\.)(?=\\\\b|\\\\s)\",s.__beforeBegin=skipIfhasPrecedingDot,s.keywords=s.keywords||s.beginKeywords,delete s.beginKeywords,void 0===s.relevance&&(s.relevance=0))}function compileIllegal(s,o){Array.isArray(s.illegal)&&(s.illegal=function either(...s){return\"(\"+s.map((s=>source(s))).join(\"|\")+\")\"}(...s.illegal))}function compileMatch(s,o){if(s.match){if(s.begin||s.end)throw new Error(\"begin & end are not supported with match\");s.begin=s.match,delete s.match}}function compileRelevance(s,o){void 0===s.relevance&&(s.relevance=1)}const fe=[\"of\",\"and\",\"for\",\"in\",\"not\",\"or\",\"if\",\"then\",\"parent\",\"list\",\"value\"];function compileKeywords(s,o,i=\"keyword\"){const a={};return\"string\"==typeof s?compileList(i,s.split(\" \")):Array.isArray(s)?compileList(i,s):Object.keys(s).forEach((function(i){Object.assign(a,compileKeywords(s[i],o,i))})),a;function compileList(s,i){o&&(i=i.map((s=>s.toLowerCase()))),i.forEach((function(o){const i=o.split(\"|\");a[i[0]]=[s,scoreForKeyword(i[0],i[1])]}))}}function scoreForKeyword(s,o){return o?Number(o):function commonKeyword(s){return fe.includes(s.toLowerCase())}(s)?0:1}function compileLanguage(s,{plugins:o}){function langRe(o,i){return new RegExp(source(o),\"m\"+(s.case_insensitive?\"i\":\"\")+(i?\"g\":\"\"))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(s,o){o.position=this.position++,this.matchIndexes[this.matchAt]=o,this.regexes.push([o,s]),this.matchAt+=function countMatchGroups(s){return new RegExp(s.toString()+\"|\").exec(\"\").length-1}(s)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const s=this.regexes.map((s=>s[1]));this.matcherRe=langRe(function join(s,o=\"|\"){let i=0;return s.map((s=>{i+=1;const o=i;let u=source(s),_=\"\";for(;u.length>0;){const s=a.exec(u);if(!s){_+=u;break}_+=u.substring(0,s.index),u=u.substring(s.index+s[0].length),\"\\\\\"===s[0][0]&&s[1]?_+=\"\\\\\"+String(Number(s[1])+o):(_+=s[0],\"(\"===s[0]&&i++)}return _})).map((s=>`(${s})`)).join(o)}(s),!0),this.lastIndex=0}exec(s){this.matcherRe.lastIndex=this.lastIndex;const o=this.matcherRe.exec(s);if(!o)return null;const i=o.findIndex(((s,o)=>o>0&&void 0!==s)),a=this.matchIndexes[i];return o.splice(0,i),Object.assign(o,a)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(s){if(this.multiRegexes[s])return this.multiRegexes[s];const o=new MultiRegex;return this.rules.slice(s).forEach((([s,i])=>o.addRule(s,i))),o.compile(),this.multiRegexes[s]=o,o}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(s,o){this.rules.push([s,o]),\"begin\"===o.type&&this.count++}exec(s){const o=this.getMatcher(this.regexIndex);o.lastIndex=this.lastIndex;let i=o.exec(s);if(this.resumingScanAtSamePosition())if(i&&i.index===this.lastIndex);else{const o=this.getMatcher(0);o.lastIndex=this.lastIndex+1,i=o.exec(s)}return i&&(this.regexIndex+=i.position+1,this.regexIndex===this.count&&this.considerAll()),i}}if(s.compilerExtensions||(s.compilerExtensions=[]),s.contains&&s.contains.includes(\"self\"))throw new Error(\"ERR: contains `self` is not supported at the top-level of a language.  See documentation.\");return s.classNameAliases=inherit(s.classNameAliases||{}),function compileMode(o,i){const a=o;if(o.isCompiled)return a;[compileMatch].forEach((s=>s(o,i))),s.compilerExtensions.forEach((s=>s(o,i))),o.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((s=>s(o,i))),o.isCompiled=!0;let u=null;if(\"object\"==typeof o.keywords&&(u=o.keywords.$pattern,delete o.keywords.$pattern),o.keywords&&(o.keywords=compileKeywords(o.keywords,s.case_insensitive)),o.lexemes&&u)throw new Error(\"ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) \");return u=u||o.lexemes||/\\w+/,a.keywordPatternRe=langRe(u,!0),i&&(o.begin||(o.begin=/\\B|\\b/),a.beginRe=langRe(o.begin),o.endSameAsBegin&&(o.end=o.begin),o.end||o.endsWithParent||(o.end=/\\B|\\b/),o.end&&(a.endRe=langRe(o.end)),a.terminatorEnd=source(o.end)||\"\",o.endsWithParent&&i.terminatorEnd&&(a.terminatorEnd+=(o.end?\"|\":\"\")+i.terminatorEnd)),o.illegal&&(a.illegalRe=langRe(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map((function(s){return function expandOrCloneMode(s){s.variants&&!s.cachedVariants&&(s.cachedVariants=s.variants.map((function(o){return inherit(s,{variants:null},o)})));if(s.cachedVariants)return s.cachedVariants;if(dependencyOnParent(s))return inherit(s,{starts:s.starts?inherit(s.starts):null});if(Object.isFrozen(s))return inherit(s);return s}(\"self\"===s?o:s)}))),o.contains.forEach((function(s){compileMode(s,a)})),o.starts&&compileMode(o.starts,i),a.matcher=function buildModeRegex(s){const o=new ResumableMultiRegex;return s.contains.forEach((s=>o.addRule(s.begin,{rule:s,type:\"begin\"}))),s.terminatorEnd&&o.addRule(s.terminatorEnd,{type:\"end\"}),s.illegal&&o.addRule(s.illegal,{type:\"illegal\"}),o}(a),a}(s)}function dependencyOnParent(s){return!!s&&(s.endsWithParent||dependencyOnParent(s.starts))}function BuildVuePlugin(s){const o={props:[\"language\",\"code\",\"autodetect\"],data:function(){return{detectedLanguage:\"\",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?\"\":\"hljs \"+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!s.getLanguage(this.language))return console.warn(`The language \"${this.language}\" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let o={};return this.autoDetect?(o=s.highlightAuto(this.code),this.detectedLanguage=o.language):(o=s.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),o.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(s){return Boolean(s||\"\"===s)}(this.autodetect)},ignoreIllegals:()=>!0},render(s){return s(\"pre\",{},[s(\"code\",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:o,VuePlugin:{install(s){s.component(\"highlightjs\",o)}}}}const ye={\"after:highlightElement\":({el:s,result:o,text:i})=>{const a=nodeStream(s);if(!a.length)return;const u=document.createElement(\"div\");u.innerHTML=o.value,o.value=function mergeStreams(s,o,i){let a=0,u=\"\";const _=[];function selectStream(){return s.length&&o.length?s[0].offset!==o[0].offset?s[0].offset<o[0].offset?s:o:\"start\"===o[0].event?s:o:s.length?s:o}function open(s){function attributeString(s){return\" \"+s.nodeName+'=\"'+escapeHTML(s.value)+'\"'}u+=\"<\"+tag(s)+[].map.call(s.attributes,attributeString).join(\"\")+\">\"}function close(s){u+=\"</\"+tag(s)+\">\"}function render(s){(\"start\"===s.event?open:close)(s.node)}for(;s.length||o.length;){let o=selectStream();if(u+=escapeHTML(i.substring(a,o[0].offset)),a=o[0].offset,o===s){_.reverse().forEach(close);do{render(o.splice(0,1)[0]),o=selectStream()}while(o===s&&o.length&&o[0].offset===a);_.reverse().forEach(open)}else\"start\"===o[0].event?_.push(o[0].node):_.pop(),render(o.splice(0,1)[0])}return u+escapeHTML(i.substr(a))}(a,nodeStream(u),i)}};function tag(s){return s.nodeName.toLowerCase()}function nodeStream(s){const o=[];return function _nodeStream(s,i){for(let a=s.firstChild;a;a=a.nextSibling)3===a.nodeType?i+=a.nodeValue.length:1===a.nodeType&&(o.push({event:\"start\",offset:i,node:a}),i=_nodeStream(a,i),tag(a).match(/br|hr|img|input/)||o.push({event:\"stop\",offset:i,node:a}));return i}(s,0),o}const be={},error=s=>{console.error(s)},warn=(s,...o)=>{console.log(`WARN: ${s}`,...o)},deprecated=(s,o)=>{be[`${s}/${o}`]||(console.log(`Deprecated as of ${s}. ${o}`),be[`${s}/${o}`]=!0)},_e=escapeHTML,Se=inherit,we=Symbol(\"nomatch\");var xe=function(s){const i=Object.create(null),a=Object.create(null),u=[];let _=!0;const w=/(^(<[^>]+>|\\t|)+|\\n)/gm,x=\"Could not find the language '{}', did you forget to load/include a language module?\",C={disableAutodetect:!0,name:\"Plain text\",contains:[]};let j={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\\blang(?:uage)?-([\\w-]+)\\b/i,classPrefix:\"hljs-\",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(s){return j.noHighlightRe.test(s)}function highlight(s,o,i,a){let u=\"\",_=\"\";\"object\"==typeof o?(u=s,i=o.ignoreIllegals,_=o.language,a=void 0):(deprecated(\"10.7.0\",\"highlight(lang, code, ...args) has been deprecated.\"),deprecated(\"10.7.0\",\"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\"),_=s,u=o);const w={code:u,language:_};fire(\"before:highlight\",w);const x=w.result?w.result:_highlight(w.language,w.code,i,a);return x.code=w.code,fire(\"after:highlight\",x),x}function _highlight(s,o,a,w){function keywordData(s,o){const i=L.case_insensitive?o[0].toLowerCase():o[0];return Object.prototype.hasOwnProperty.call(s.keywords,i)&&s.keywords[i]}function processBuffer(){null!=U.subLanguage?function processSubLanguage(){if(\"\"===Y)return;let s=null;if(\"string\"==typeof U.subLanguage){if(!i[U.subLanguage])return void z.addText(Y);s=_highlight(U.subLanguage,Y,!0,V[U.subLanguage]),V[U.subLanguage]=s.top}else s=highlightAuto(Y,U.subLanguage.length?U.subLanguage:null);U.relevance>0&&(Z+=s.relevance),z.addSublanguage(s.emitter,s.language)}():function processKeywords(){if(!U.keywords)return void z.addText(Y);let s=0;U.keywordPatternRe.lastIndex=0;let o=U.keywordPatternRe.exec(Y),i=\"\";for(;o;){i+=Y.substring(s,o.index);const a=keywordData(U,o);if(a){const[s,u]=a;if(z.addText(i),i=\"\",Z+=u,s.startsWith(\"_\"))i+=o[0];else{const i=L.classNameAliases[s]||s;z.addKeyword(o[0],i)}}else i+=o[0];s=U.keywordPatternRe.lastIndex,o=U.keywordPatternRe.exec(Y)}i+=Y.substr(s),z.addText(i)}(),Y=\"\"}function startNewMode(s){return s.className&&z.openNode(L.classNameAliases[s.className]||s.className),U=Object.create(s,{parent:{value:U}}),U}function endOfMode(s,o,i){let a=function startsWith(s,o){const i=s&&s.exec(o);return i&&0===i.index}(s.endRe,i);if(a){if(s[\"on:end\"]){const i=new Response(s);s[\"on:end\"](o,i),i.isMatchIgnored&&(a=!1)}if(a){for(;s.endsParent&&s.parent;)s=s.parent;return s}}if(s.endsWithParent)return endOfMode(s.parent,o,i)}function doIgnore(s){return 0===U.matcher.regexIndex?(Y+=s[0],1):(ae=!0,0)}function doBeginMatch(s){const o=s[0],i=s.rule,a=new Response(i),u=[i.__beforeBegin,i[\"on:begin\"]];for(const i of u)if(i&&(i(s,a),a.isMatchIgnored))return doIgnore(o);return i&&i.endSameAsBegin&&(i.endRe=function escape(s){return new RegExp(s.replace(/[-/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"),\"m\")}(o)),i.skip?Y+=o:(i.excludeBegin&&(Y+=o),processBuffer(),i.returnBegin||i.excludeBegin||(Y=o)),startNewMode(i),i.returnBegin?0:o.length}function doEndMatch(s){const i=s[0],a=o.substr(s.index),u=endOfMode(U,s,a);if(!u)return we;const _=U;_.skip?Y+=i:(_.returnEnd||_.excludeEnd||(Y+=i),processBuffer(),_.excludeEnd&&(Y=i));do{U.className&&z.closeNode(),U.skip||U.subLanguage||(Z+=U.relevance),U=U.parent}while(U!==u.parent);return u.starts&&(u.endSameAsBegin&&(u.starts.endRe=u.endRe),startNewMode(u.starts)),_.returnEnd?0:i.length}let C={};function processLexeme(i,u){const w=u&&u[0];if(Y+=i,null==w)return processBuffer(),0;if(\"begin\"===C.type&&\"end\"===u.type&&C.index===u.index&&\"\"===w){if(Y+=o.slice(u.index,u.index+1),!_){const o=new Error(\"0 width match regex\");throw o.languageName=s,o.badRule=C.rule,o}return 1}if(C=u,\"begin\"===u.type)return doBeginMatch(u);if(\"illegal\"===u.type&&!a){const s=new Error('Illegal lexeme \"'+w+'\" for mode \"'+(U.className||\"<unnamed>\")+'\"');throw s.mode=U,s}if(\"end\"===u.type){const s=doEndMatch(u);if(s!==we)return s}if(\"illegal\"===u.type&&\"\"===w)return 1;if(ie>1e5&&ie>3*u.index){throw new Error(\"potential infinite loop, way more iterations than matches\")}return Y+=w,w.length}const L=getLanguage(s);if(!L)throw error(x.replace(\"{}\",s)),new Error('Unknown language: \"'+s+'\"');const B=compileLanguage(L,{plugins:u});let $=\"\",U=w||B;const V={},z=new j.__emitter(j);!function processContinuations(){const s=[];for(let o=U;o!==L;o=o.parent)o.className&&s.unshift(o.className);s.forEach((s=>z.openNode(s)))}();let Y=\"\",Z=0,ee=0,ie=0,ae=!1;try{for(U.matcher.considerAll();;){ie++,ae?ae=!1:U.matcher.considerAll(),U.matcher.lastIndex=ee;const s=U.matcher.exec(o);if(!s)break;const i=processLexeme(o.substring(ee,s.index),s);ee=s.index+i}return processLexeme(o.substr(ee)),z.closeAllNodes(),z.finalize(),$=z.toHTML(),{relevance:Math.floor(Z),value:$,language:s,illegal:!1,emitter:z,top:U}}catch(i){if(i.message&&i.message.includes(\"Illegal\"))return{illegal:!0,illegalBy:{msg:i.message,context:o.slice(ee-100,ee+100),mode:i.mode},sofar:$,relevance:0,value:_e(o),emitter:z};if(_)return{illegal:!1,relevance:0,value:_e(o),emitter:z,language:s,top:U,errorRaised:i};throw i}}function highlightAuto(s,o){o=o||j.languages||Object.keys(i);const a=function justTextHighlightResult(s){const o={relevance:0,emitter:new j.__emitter(j),value:_e(s),illegal:!1,top:C};return o.emitter.addText(s),o}(s),u=o.filter(getLanguage).filter(autoDetection).map((o=>_highlight(o,s,!1)));u.unshift(a);const _=u.sort(((s,o)=>{if(s.relevance!==o.relevance)return o.relevance-s.relevance;if(s.language&&o.language){if(getLanguage(s.language).supersetOf===o.language)return 1;if(getLanguage(o.language).supersetOf===s.language)return-1}return 0})),[w,x]=_,L=w;return L.second_best=x,L}const L={\"before:highlightElement\":({el:s})=>{j.useBR&&(s.innerHTML=s.innerHTML.replace(/\\n/g,\"\").replace(/<br[ /]*>/g,\"\\n\"))},\"after:highlightElement\":({result:s})=>{j.useBR&&(s.value=s.value.replace(/\\n/g,\"<br>\"))}},B=/^(<[^>]+>|\\t)+/gm,$={\"after:highlightElement\":({result:s})=>{j.tabReplace&&(s.value=s.value.replace(B,(s=>s.replace(/\\t/g,j.tabReplace))))}};function highlightElement(s){let o=null;const i=function blockLanguage(s){let o=s.className+\" \";o+=s.parentNode?s.parentNode.className:\"\";const i=j.languageDetectRe.exec(o);if(i){const o=getLanguage(i[1]);return o||(warn(x.replace(\"{}\",i[1])),warn(\"Falling back to no-highlight mode for this block.\",s)),o?i[1]:\"no-highlight\"}return o.split(/\\s+/).find((s=>shouldNotHighlight(s)||getLanguage(s)))}(s);if(shouldNotHighlight(i))return;fire(\"before:highlightElement\",{el:s,language:i}),o=s;const u=o.textContent,_=i?highlight(u,{language:i,ignoreIllegals:!0}):highlightAuto(u);fire(\"after:highlightElement\",{el:s,result:_,text:u}),s.innerHTML=_.value,function updateClassName(s,o,i){const u=o?a[o]:i;s.classList.add(\"hljs\"),u&&s.classList.add(u)}(s,i,_.language),s.result={language:_.language,re:_.relevance,relavance:_.relevance},_.second_best&&(s.second_best={language:_.second_best.language,re:_.second_best.relevance,relavance:_.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated(\"10.6.0\",\"initHighlighting() is deprecated.  Use highlightAll() instead.\");document.querySelectorAll(\"pre code\").forEach(highlightElement)};let U=!1;function highlightAll(){if(\"loading\"===document.readyState)return void(U=!0);document.querySelectorAll(\"pre code\").forEach(highlightElement)}function getLanguage(s){return s=(s||\"\").toLowerCase(),i[s]||i[a[s]]}function registerAliases(s,{languageName:o}){\"string\"==typeof s&&(s=[s]),s.forEach((s=>{a[s.toLowerCase()]=o}))}function autoDetection(s){const o=getLanguage(s);return o&&!o.disableAutodetect}function fire(s,o){const i=s;u.forEach((function(s){s[i]&&s[i](o)}))}\"undefined\"!=typeof window&&window.addEventListener&&window.addEventListener(\"DOMContentLoaded\",(function boot(){U&&highlightAll()}),!1),Object.assign(s,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(s){return deprecated(\"10.2.0\",\"fixMarkup will be removed entirely in v11.0\"),deprecated(\"10.2.0\",\"Please see https://github.com/highlightjs/highlight.js/issues/2534\"),function fixMarkup(s){return j.tabReplace||j.useBR?s.replace(w,(s=>\"\\n\"===s?j.useBR?\"<br>\":s:j.tabReplace?s.replace(/\\t/g,j.tabReplace):s)):s}(s)},highlightElement,highlightBlock:function deprecateHighlightBlock(s){return deprecated(\"10.7.0\",\"highlightBlock will be removed entirely in v12.0\"),deprecated(\"10.7.0\",\"Please use highlightElement now.\"),highlightElement(s)},configure:function configure(s){s.useBR&&(deprecated(\"10.3.0\",\"'useBR' will be removed entirely in v11.0\"),deprecated(\"10.3.0\",\"Please see https://github.com/highlightjs/highlight.js/issues/2559\")),j=Se(j,s)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated(\"10.6.0\",\"initHighlightingOnLoad() is deprecated.  Use highlightAll() instead.\"),U=!0},registerLanguage:function registerLanguage(o,a){let u=null;try{u=a(s)}catch(s){if(error(\"Language definition for '{}' could not be registered.\".replace(\"{}\",o)),!_)throw s;error(s),u=C}u.name||(u.name=o),i[o]=u,u.rawDefinition=a.bind(null,s),u.aliases&&registerAliases(u.aliases,{languageName:o})},unregisterLanguage:function unregisterLanguage(s){delete i[s];for(const o of Object.keys(a))a[o]===s&&delete a[o]},listLanguages:function listLanguages(){return Object.keys(i)},getLanguage,registerAliases,requireLanguage:function requireLanguage(s){deprecated(\"10.4.0\",\"requireLanguage will be removed entirely in v11.\"),deprecated(\"10.4.0\",\"Please see https://github.com/highlightjs/highlight.js/pull/2844\");const o=getLanguage(s);if(o)return o;throw new Error(\"The '{}' language is required, but not loaded.\".replace(\"{}\",s))},autoDetection,inherit:Se,addPlugin:function addPlugin(s){!function upgradePluginAPI(s){s[\"before:highlightBlock\"]&&!s[\"before:highlightElement\"]&&(s[\"before:highlightElement\"]=o=>{s[\"before:highlightBlock\"](Object.assign({block:o.el},o))}),s[\"after:highlightBlock\"]&&!s[\"after:highlightElement\"]&&(s[\"after:highlightElement\"]=o=>{s[\"after:highlightBlock\"](Object.assign({block:o.el},o))})}(s),u.push(s)},vuePlugin:BuildVuePlugin(s).VuePlugin}),s.debugMode=function(){_=!1},s.safeMode=function(){_=!0},s.versionString=\"10.7.3\";for(const s in de)\"object\"==typeof de[s]&&o(de[s]);return Object.assign(s,de),s.addPlugin(L),s.addPlugin(ye),s.addPlugin($),s}({});s.exports=xe},46028:(s,o,i)=>{\"use strict\";var a=i(13930),u=i(46285),_=i(25594),w=i(29367),x=i(60581),C=i(76264),j=TypeError,L=C(\"toPrimitive\");s.exports=function(s,o){if(!u(s)||_(s))return s;var i,C=w(s,L);if(C){if(void 0===o&&(o=\"default\"),i=a(C,s,o),!u(i)||_(i))return i;throw new j(\"Can't convert object to primitive value\")}return void 0===o&&(o=\"number\"),x(s,o)}},46076:(s,o,i)=>{\"use strict\";i(91599);var a=i(68623);s.exports=a},46285:(s,o,i)=>{\"use strict\";var a=i(62250);s.exports=function(s){return\"object\"==typeof s?null!==s:a(s)}},46942:(s,o)=>{var i;!function(){\"use strict\";var a={}.hasOwnProperty;function classNames(){for(var s=\"\",o=0;o<arguments.length;o++){var i=arguments[o];i&&(s=appendClass(s,parseValue(i)))}return s}function parseValue(s){if(\"string\"==typeof s||\"number\"==typeof s)return s;if(\"object\"!=typeof s)return\"\";if(Array.isArray(s))return classNames.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes(\"[native code]\"))return s.toString();var o=\"\";for(var i in s)a.call(s,i)&&s[i]&&(o=appendClass(o,i));return o}function appendClass(s,o){return o?s?s+\" \"+o:s+o:s}s.exports?(classNames.default=classNames,s.exports=classNames):void 0===(i=function(){return classNames}.apply(o,[]))||(s.exports=i)}()},47119:s=>{\"use strict\";s.exports=\"undefined\"!=typeof Reflect&&Reflect&&Reflect.apply},47181:(s,o,i)=>{\"use strict\";var a=i(95116).IteratorPrototype,u=i(58075),_=i(75817),w=i(14840),x=i(93742),returnThis=function(){return this};s.exports=function(s,o,i,C){var j=o+\" Iterator\";return s.prototype=u(a,{next:_(+!C,i)}),w(s,j,!1,!0),x[j]=returnThis,s}},47237:s=>{s.exports=function baseProperty(s){return function(o){return null==o?void 0:o[s]}}},47248:(s,o,i)=>{var a=i(16547),u=i(51234);s.exports=function zipObject(s,o){return u(s||[],o||[],a)}},47422:(s,o,i)=>{var a=i(31769),u=i(77797);s.exports=function baseGet(s,o){for(var i=0,_=(o=a(o,s)).length;null!=s&&i<_;)s=s[u(o[i++])];return i&&i==_?s:void 0}},47473:s=>{var o=Function.prototype.toString;s.exports=function toSource(s){if(null!=s){try{return o.call(s)}catch(s){}try{return s+\"\"}catch(s){}}return\"\"}},47886:(s,o,i)=>{var a=i(5861),u=i(40346);s.exports=function isWeakMap(s){return u(s)&&\"[object WeakMap]\"==a(s)}},47934:(s,o,i)=>{s.exports={ary:i(64626),assign:i(74733),clone:i(32629),curry:i(49747),forEach:i(83729),isArray:i(56449),isError:i(23546),isFunction:i(1882),isWeakMap:i(47886),iteratee:i(33855),keys:i(88984),rearg:i(84195),toInteger:i(61489),toPath:i(42072)}},48152:(s,o,i)=>{var a=i(28303),u=a&&new a;s.exports=u},48287:(s,o,i)=>{\"use strict\";const a=i(67526),u=i(251),_=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;o.Buffer=Buffer,o.SlowBuffer=function SlowBuffer(s){+s!=s&&(s=0);return Buffer.alloc(+s)},o.INSPECT_MAX_BYTES=50;const w=2147483647;function createBuffer(s){if(s>w)throw new RangeError('The value \"'+s+'\" is invalid for option \"size\"');const o=new Uint8Array(s);return Object.setPrototypeOf(o,Buffer.prototype),o}function Buffer(s,o,i){if(\"number\"==typeof s){if(\"string\"==typeof o)throw new TypeError('The \"string\" argument must be of type string. Received type number');return allocUnsafe(s)}return from(s,o,i)}function from(s,o,i){if(\"string\"==typeof s)return function fromString(s,o){\"string\"==typeof o&&\"\"!==o||(o=\"utf8\");if(!Buffer.isEncoding(o))throw new TypeError(\"Unknown encoding: \"+o);const i=0|byteLength(s,o);let a=createBuffer(i);const u=a.write(s,o);u!==i&&(a=a.slice(0,u));return a}(s,o);if(ArrayBuffer.isView(s))return function fromArrayView(s){if(isInstance(s,Uint8Array)){const o=new Uint8Array(s);return fromArrayBuffer(o.buffer,o.byteOffset,o.byteLength)}return fromArrayLike(s)}(s);if(null==s)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof s);if(isInstance(s,ArrayBuffer)||s&&isInstance(s.buffer,ArrayBuffer))return fromArrayBuffer(s,o,i);if(\"undefined\"!=typeof SharedArrayBuffer&&(isInstance(s,SharedArrayBuffer)||s&&isInstance(s.buffer,SharedArrayBuffer)))return fromArrayBuffer(s,o,i);if(\"number\"==typeof s)throw new TypeError('The \"value\" argument must not be of type number. Received type number');const a=s.valueOf&&s.valueOf();if(null!=a&&a!==s)return Buffer.from(a,o,i);const u=function fromObject(s){if(Buffer.isBuffer(s)){const o=0|checked(s.length),i=createBuffer(o);return 0===i.length||s.copy(i,0,0,o),i}if(void 0!==s.length)return\"number\"!=typeof s.length||numberIsNaN(s.length)?createBuffer(0):fromArrayLike(s);if(\"Buffer\"===s.type&&Array.isArray(s.data))return fromArrayLike(s.data)}(s);if(u)return u;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof s[Symbol.toPrimitive])return Buffer.from(s[Symbol.toPrimitive](\"string\"),o,i);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof s)}function assertSize(s){if(\"number\"!=typeof s)throw new TypeError('\"size\" argument must be of type number');if(s<0)throw new RangeError('The value \"'+s+'\" is invalid for option \"size\"')}function allocUnsafe(s){return assertSize(s),createBuffer(s<0?0:0|checked(s))}function fromArrayLike(s){const o=s.length<0?0:0|checked(s.length),i=createBuffer(o);for(let a=0;a<o;a+=1)i[a]=255&s[a];return i}function fromArrayBuffer(s,o,i){if(o<0||s.byteLength<o)throw new RangeError('\"offset\" is outside of buffer bounds');if(s.byteLength<o+(i||0))throw new RangeError('\"length\" is outside of buffer bounds');let a;return a=void 0===o&&void 0===i?new Uint8Array(s):void 0===i?new Uint8Array(s,o):new Uint8Array(s,o,i),Object.setPrototypeOf(a,Buffer.prototype),a}function checked(s){if(s>=w)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+w.toString(16)+\" bytes\");return 0|s}function byteLength(s,o){if(Buffer.isBuffer(s))return s.length;if(ArrayBuffer.isView(s)||isInstance(s,ArrayBuffer))return s.byteLength;if(\"string\"!=typeof s)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof s);const i=s.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===i)return 0;let u=!1;for(;;)switch(o){case\"ascii\":case\"latin1\":case\"binary\":return i;case\"utf8\":case\"utf-8\":return utf8ToBytes(s).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*i;case\"hex\":return i>>>1;case\"base64\":return base64ToBytes(s).length;default:if(u)return a?-1:utf8ToBytes(s).length;o=(\"\"+o).toLowerCase(),u=!0}}function slowToString(s,o,i){let a=!1;if((void 0===o||o<0)&&(o=0),o>this.length)return\"\";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return\"\";if((i>>>=0)<=(o>>>=0))return\"\";for(s||(s=\"utf8\");;)switch(s){case\"hex\":return hexSlice(this,o,i);case\"utf8\":case\"utf-8\":return utf8Slice(this,o,i);case\"ascii\":return asciiSlice(this,o,i);case\"latin1\":case\"binary\":return latin1Slice(this,o,i);case\"base64\":return base64Slice(this,o,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return utf16leSlice(this,o,i);default:if(a)throw new TypeError(\"Unknown encoding: \"+s);s=(s+\"\").toLowerCase(),a=!0}}function swap(s,o,i){const a=s[o];s[o]=s[i],s[i]=a}function bidirectionalIndexOf(s,o,i,a,u){if(0===s.length)return-1;if(\"string\"==typeof i?(a=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),numberIsNaN(i=+i)&&(i=u?0:s.length-1),i<0&&(i=s.length+i),i>=s.length){if(u)return-1;i=s.length-1}else if(i<0){if(!u)return-1;i=0}if(\"string\"==typeof o&&(o=Buffer.from(o,a)),Buffer.isBuffer(o))return 0===o.length?-1:arrayIndexOf(s,o,i,a,u);if(\"number\"==typeof o)return o&=255,\"function\"==typeof Uint8Array.prototype.indexOf?u?Uint8Array.prototype.indexOf.call(s,o,i):Uint8Array.prototype.lastIndexOf.call(s,o,i):arrayIndexOf(s,[o],i,a,u);throw new TypeError(\"val must be string, number or Buffer\")}function arrayIndexOf(s,o,i,a,u){let _,w=1,x=s.length,C=o.length;if(void 0!==a&&(\"ucs2\"===(a=String(a).toLowerCase())||\"ucs-2\"===a||\"utf16le\"===a||\"utf-16le\"===a)){if(s.length<2||o.length<2)return-1;w=2,x/=2,C/=2,i/=2}function read(s,o){return 1===w?s[o]:s.readUInt16BE(o*w)}if(u){let a=-1;for(_=i;_<x;_++)if(read(s,_)===read(o,-1===a?0:_-a)){if(-1===a&&(a=_),_-a+1===C)return a*w}else-1!==a&&(_-=_-a),a=-1}else for(i+C>x&&(i=x-C),_=i;_>=0;_--){let i=!0;for(let a=0;a<C;a++)if(read(s,_+a)!==read(o,a)){i=!1;break}if(i)return _}return-1}function hexWrite(s,o,i,a){i=Number(i)||0;const u=s.length-i;a?(a=Number(a))>u&&(a=u):a=u;const _=o.length;let w;for(a>_/2&&(a=_/2),w=0;w<a;++w){const a=parseInt(o.substr(2*w,2),16);if(numberIsNaN(a))return w;s[i+w]=a}return w}function utf8Write(s,o,i,a){return blitBuffer(utf8ToBytes(o,s.length-i),s,i,a)}function asciiWrite(s,o,i,a){return blitBuffer(function asciiToBytes(s){const o=[];for(let i=0;i<s.length;++i)o.push(255&s.charCodeAt(i));return o}(o),s,i,a)}function base64Write(s,o,i,a){return blitBuffer(base64ToBytes(o),s,i,a)}function ucs2Write(s,o,i,a){return blitBuffer(function utf16leToBytes(s,o){let i,a,u;const _=[];for(let w=0;w<s.length&&!((o-=2)<0);++w)i=s.charCodeAt(w),a=i>>8,u=i%256,_.push(u),_.push(a);return _}(o,s.length-i),s,i,a)}function base64Slice(s,o,i){return 0===o&&i===s.length?a.fromByteArray(s):a.fromByteArray(s.slice(o,i))}function utf8Slice(s,o,i){i=Math.min(s.length,i);const a=[];let u=o;for(;u<i;){const o=s[u];let _=null,w=o>239?4:o>223?3:o>191?2:1;if(u+w<=i){let i,a,x,C;switch(w){case 1:o<128&&(_=o);break;case 2:i=s[u+1],128==(192&i)&&(C=(31&o)<<6|63&i,C>127&&(_=C));break;case 3:i=s[u+1],a=s[u+2],128==(192&i)&&128==(192&a)&&(C=(15&o)<<12|(63&i)<<6|63&a,C>2047&&(C<55296||C>57343)&&(_=C));break;case 4:i=s[u+1],a=s[u+2],x=s[u+3],128==(192&i)&&128==(192&a)&&128==(192&x)&&(C=(15&o)<<18|(63&i)<<12|(63&a)<<6|63&x,C>65535&&C<1114112&&(_=C))}}null===_?(_=65533,w=1):_>65535&&(_-=65536,a.push(_>>>10&1023|55296),_=56320|1023&_),a.push(_),u+=w}return function decodeCodePointsArray(s){const o=s.length;if(o<=x)return String.fromCharCode.apply(String,s);let i=\"\",a=0;for(;a<o;)i+=String.fromCharCode.apply(String,s.slice(a,a+=x));return i}(a)}o.kMaxLength=w,Buffer.TYPED_ARRAY_SUPPORT=function typedArraySupport(){try{const s=new Uint8Array(1),o={foo:function(){return 42}};return Object.setPrototypeOf(o,Uint8Array.prototype),Object.setPrototypeOf(s,o),42===s.foo()}catch(s){return!1}}(),Buffer.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(Buffer.prototype,\"parent\",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,\"offset\",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),Buffer.poolSize=8192,Buffer.from=function(s,o,i){return from(s,o,i)},Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype),Object.setPrototypeOf(Buffer,Uint8Array),Buffer.alloc=function(s,o,i){return function alloc(s,o,i){return assertSize(s),s<=0?createBuffer(s):void 0!==o?\"string\"==typeof i?createBuffer(s).fill(o,i):createBuffer(s).fill(o):createBuffer(s)}(s,o,i)},Buffer.allocUnsafe=function(s){return allocUnsafe(s)},Buffer.allocUnsafeSlow=function(s){return allocUnsafe(s)},Buffer.isBuffer=function isBuffer(s){return null!=s&&!0===s._isBuffer&&s!==Buffer.prototype},Buffer.compare=function compare(s,o){if(isInstance(s,Uint8Array)&&(s=Buffer.from(s,s.offset,s.byteLength)),isInstance(o,Uint8Array)&&(o=Buffer.from(o,o.offset,o.byteLength)),!Buffer.isBuffer(s)||!Buffer.isBuffer(o))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(s===o)return 0;let i=s.length,a=o.length;for(let u=0,_=Math.min(i,a);u<_;++u)if(s[u]!==o[u]){i=s[u],a=o[u];break}return i<a?-1:a<i?1:0},Buffer.isEncoding=function isEncoding(s){switch(String(s).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},Buffer.concat=function concat(s,o){if(!Array.isArray(s))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===s.length)return Buffer.alloc(0);let i;if(void 0===o)for(o=0,i=0;i<s.length;++i)o+=s[i].length;const a=Buffer.allocUnsafe(o);let u=0;for(i=0;i<s.length;++i){let o=s[i];if(isInstance(o,Uint8Array))u+o.length>a.length?(Buffer.isBuffer(o)||(o=Buffer.from(o)),o.copy(a,u)):Uint8Array.prototype.set.call(a,o,u);else{if(!Buffer.isBuffer(o))throw new TypeError('\"list\" argument must be an Array of Buffers');o.copy(a,u)}u+=o.length}return a},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const s=this.length;if(s%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let o=0;o<s;o+=2)swap(this,o,o+1);return this},Buffer.prototype.swap32=function swap32(){const s=this.length;if(s%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let o=0;o<s;o+=4)swap(this,o,o+3),swap(this,o+1,o+2);return this},Buffer.prototype.swap64=function swap64(){const s=this.length;if(s%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let o=0;o<s;o+=8)swap(this,o,o+7),swap(this,o+1,o+6),swap(this,o+2,o+5),swap(this,o+3,o+4);return this},Buffer.prototype.toString=function toString(){const s=this.length;return 0===s?\"\":0===arguments.length?utf8Slice(this,0,s):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function equals(s){if(!Buffer.isBuffer(s))throw new TypeError(\"Argument must be a Buffer\");return this===s||0===Buffer.compare(this,s)},Buffer.prototype.inspect=function inspect(){let s=\"\";const i=o.INSPECT_MAX_BYTES;return s=this.toString(\"hex\",0,i).replace(/(.{2})/g,\"$1 \").trim(),this.length>i&&(s+=\" ... \"),\"<Buffer \"+s+\">\"},_&&(Buffer.prototype[_]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(s,o,i,a,u){if(isInstance(s,Uint8Array)&&(s=Buffer.from(s,s.offset,s.byteLength)),!Buffer.isBuffer(s))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof s);if(void 0===o&&(o=0),void 0===i&&(i=s?s.length:0),void 0===a&&(a=0),void 0===u&&(u=this.length),o<0||i>s.length||a<0||u>this.length)throw new RangeError(\"out of range index\");if(a>=u&&o>=i)return 0;if(a>=u)return-1;if(o>=i)return 1;if(this===s)return 0;let _=(u>>>=0)-(a>>>=0),w=(i>>>=0)-(o>>>=0);const x=Math.min(_,w),C=this.slice(a,u),j=s.slice(o,i);for(let s=0;s<x;++s)if(C[s]!==j[s]){_=C[s],w=j[s];break}return _<w?-1:w<_?1:0},Buffer.prototype.includes=function includes(s,o,i){return-1!==this.indexOf(s,o,i)},Buffer.prototype.indexOf=function indexOf(s,o,i){return bidirectionalIndexOf(this,s,o,i,!0)},Buffer.prototype.lastIndexOf=function lastIndexOf(s,o,i){return bidirectionalIndexOf(this,s,o,i,!1)},Buffer.prototype.write=function write(s,o,i,a){if(void 0===o)a=\"utf8\",i=this.length,o=0;else if(void 0===i&&\"string\"==typeof o)a=o,i=this.length,o=0;else{if(!isFinite(o))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");o>>>=0,isFinite(i)?(i>>>=0,void 0===a&&(a=\"utf8\")):(a=i,i=void 0)}const u=this.length-o;if((void 0===i||i>u)&&(i=u),s.length>0&&(i<0||o<0)||o>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");a||(a=\"utf8\");let _=!1;for(;;)switch(a){case\"hex\":return hexWrite(this,s,o,i);case\"utf8\":case\"utf-8\":return utf8Write(this,s,o,i);case\"ascii\":case\"latin1\":case\"binary\":return asciiWrite(this,s,o,i);case\"base64\":return base64Write(this,s,o,i);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ucs2Write(this,s,o,i);default:if(_)throw new TypeError(\"Unknown encoding: \"+a);a=(\"\"+a).toLowerCase(),_=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};const x=4096;function asciiSlice(s,o,i){let a=\"\";i=Math.min(s.length,i);for(let u=o;u<i;++u)a+=String.fromCharCode(127&s[u]);return a}function latin1Slice(s,o,i){let a=\"\";i=Math.min(s.length,i);for(let u=o;u<i;++u)a+=String.fromCharCode(s[u]);return a}function hexSlice(s,o,i){const a=s.length;(!o||o<0)&&(o=0),(!i||i<0||i>a)&&(i=a);let u=\"\";for(let a=o;a<i;++a)u+=L[s[a]];return u}function utf16leSlice(s,o,i){const a=s.slice(o,i);let u=\"\";for(let s=0;s<a.length-1;s+=2)u+=String.fromCharCode(a[s]+256*a[s+1]);return u}function checkOffset(s,o,i){if(s%1!=0||s<0)throw new RangeError(\"offset is not uint\");if(s+o>i)throw new RangeError(\"Trying to access beyond buffer length\")}function checkInt(s,o,i,a,u,_){if(!Buffer.isBuffer(s))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(o>u||o<_)throw new RangeError('\"value\" argument is out of bounds');if(i+a>s.length)throw new RangeError(\"Index out of range\")}function wrtBigUInt64LE(s,o,i,a,u){checkIntBI(o,a,u,s,i,7);let _=Number(o&BigInt(4294967295));s[i++]=_,_>>=8,s[i++]=_,_>>=8,s[i++]=_,_>>=8,s[i++]=_;let w=Number(o>>BigInt(32)&BigInt(4294967295));return s[i++]=w,w>>=8,s[i++]=w,w>>=8,s[i++]=w,w>>=8,s[i++]=w,i}function wrtBigUInt64BE(s,o,i,a,u){checkIntBI(o,a,u,s,i,7);let _=Number(o&BigInt(4294967295));s[i+7]=_,_>>=8,s[i+6]=_,_>>=8,s[i+5]=_,_>>=8,s[i+4]=_;let w=Number(o>>BigInt(32)&BigInt(4294967295));return s[i+3]=w,w>>=8,s[i+2]=w,w>>=8,s[i+1]=w,w>>=8,s[i]=w,i+8}function checkIEEE754(s,o,i,a,u,_){if(i+a>s.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"Index out of range\")}function writeFloat(s,o,i,a,_){return o=+o,i>>>=0,_||checkIEEE754(s,0,i,4),u.write(s,o,i,a,23,4),i+4}function writeDouble(s,o,i,a,_){return o=+o,i>>>=0,_||checkIEEE754(s,0,i,8),u.write(s,o,i,a,52,8),i+8}Buffer.prototype.slice=function slice(s,o){const i=this.length;(s=~~s)<0?(s+=i)<0&&(s=0):s>i&&(s=i),(o=void 0===o?i:~~o)<0?(o+=i)<0&&(o=0):o>i&&(o=i),o<s&&(o=s);const a=this.subarray(s,o);return Object.setPrototypeOf(a,Buffer.prototype),a},Buffer.prototype.readUintLE=Buffer.prototype.readUIntLE=function readUIntLE(s,o,i){s>>>=0,o>>>=0,i||checkOffset(s,o,this.length);let a=this[s],u=1,_=0;for(;++_<o&&(u*=256);)a+=this[s+_]*u;return a},Buffer.prototype.readUintBE=Buffer.prototype.readUIntBE=function readUIntBE(s,o,i){s>>>=0,o>>>=0,i||checkOffset(s,o,this.length);let a=this[s+--o],u=1;for(;o>0&&(u*=256);)a+=this[s+--o]*u;return a},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(s,o){return s>>>=0,o||checkOffset(s,1,this.length),this[s]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(s,o){return s>>>=0,o||checkOffset(s,2,this.length),this[s]|this[s+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(s,o){return s>>>=0,o||checkOffset(s,2,this.length),this[s]<<8|this[s+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),(this[s]|this[s+1]<<8|this[s+2]<<16)+16777216*this[s+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),16777216*this[s]+(this[s+1]<<16|this[s+2]<<8|this[s+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(s){validateNumber(s>>>=0,\"offset\");const o=this[s],i=this[s+7];void 0!==o&&void 0!==i||boundsError(s,this.length-8);const a=o+256*this[++s]+65536*this[++s]+this[++s]*2**24,u=this[++s]+256*this[++s]+65536*this[++s]+i*2**24;return BigInt(a)+(BigInt(u)<<BigInt(32))})),Buffer.prototype.readBigUInt64BE=defineBigIntMethod((function readBigUInt64BE(s){validateNumber(s>>>=0,\"offset\");const o=this[s],i=this[s+7];void 0!==o&&void 0!==i||boundsError(s,this.length-8);const a=o*2**24+65536*this[++s]+256*this[++s]+this[++s],u=this[++s]*2**24+65536*this[++s]+256*this[++s]+i;return(BigInt(a)<<BigInt(32))+BigInt(u)})),Buffer.prototype.readIntLE=function readIntLE(s,o,i){s>>>=0,o>>>=0,i||checkOffset(s,o,this.length);let a=this[s],u=1,_=0;for(;++_<o&&(u*=256);)a+=this[s+_]*u;return u*=128,a>=u&&(a-=Math.pow(2,8*o)),a},Buffer.prototype.readIntBE=function readIntBE(s,o,i){s>>>=0,o>>>=0,i||checkOffset(s,o,this.length);let a=o,u=1,_=this[s+--a];for(;a>0&&(u*=256);)_+=this[s+--a]*u;return u*=128,_>=u&&(_-=Math.pow(2,8*o)),_},Buffer.prototype.readInt8=function readInt8(s,o){return s>>>=0,o||checkOffset(s,1,this.length),128&this[s]?-1*(255-this[s]+1):this[s]},Buffer.prototype.readInt16LE=function readInt16LE(s,o){s>>>=0,o||checkOffset(s,2,this.length);const i=this[s]|this[s+1]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt16BE=function readInt16BE(s,o){s>>>=0,o||checkOffset(s,2,this.length);const i=this[s+1]|this[s]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt32LE=function readInt32LE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),this[s]|this[s+1]<<8|this[s+2]<<16|this[s+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),this[s]<<24|this[s+1]<<16|this[s+2]<<8|this[s+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(s){validateNumber(s>>>=0,\"offset\");const o=this[s],i=this[s+7];void 0!==o&&void 0!==i||boundsError(s,this.length-8);const a=this[s+4]+256*this[s+5]+65536*this[s+6]+(i<<24);return(BigInt(a)<<BigInt(32))+BigInt(o+256*this[++s]+65536*this[++s]+this[++s]*2**24)})),Buffer.prototype.readBigInt64BE=defineBigIntMethod((function readBigInt64BE(s){validateNumber(s>>>=0,\"offset\");const o=this[s],i=this[s+7];void 0!==o&&void 0!==i||boundsError(s,this.length-8);const a=(o<<24)+65536*this[++s]+256*this[++s]+this[++s];return(BigInt(a)<<BigInt(32))+BigInt(this[++s]*2**24+65536*this[++s]+256*this[++s]+i)})),Buffer.prototype.readFloatLE=function readFloatLE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),u.read(this,s,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(s,o){return s>>>=0,o||checkOffset(s,4,this.length),u.read(this,s,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(s,o){return s>>>=0,o||checkOffset(s,8,this.length),u.read(this,s,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(s,o){return s>>>=0,o||checkOffset(s,8,this.length),u.read(this,s,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(s,o,i,a){if(s=+s,o>>>=0,i>>>=0,!a){checkInt(this,s,o,i,Math.pow(2,8*i)-1,0)}let u=1,_=0;for(this[o]=255&s;++_<i&&(u*=256);)this[o+_]=s/u&255;return o+i},Buffer.prototype.writeUintBE=Buffer.prototype.writeUIntBE=function writeUIntBE(s,o,i,a){if(s=+s,o>>>=0,i>>>=0,!a){checkInt(this,s,o,i,Math.pow(2,8*i)-1,0)}let u=i-1,_=1;for(this[o+u]=255&s;--u>=0&&(_*=256);)this[o+u]=s/_&255;return o+i},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,1,255,0),this[o]=255&s,o+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,2,65535,0),this[o]=255&s,this[o+1]=s>>>8,o+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,2,65535,0),this[o]=s>>>8,this[o+1]=255&s,o+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,4,4294967295,0),this[o+3]=s>>>24,this[o+2]=s>>>16,this[o+1]=s>>>8,this[o]=255&s,o+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,4,4294967295,0),this[o]=s>>>24,this[o+1]=s>>>16,this[o+2]=s>>>8,this[o+3]=255&s,o+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(s,o=0){return wrtBigUInt64LE(this,s,o,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(s,o=0){return wrtBigUInt64BE(this,s,o,BigInt(0),BigInt(\"0xffffffffffffffff\"))})),Buffer.prototype.writeIntLE=function writeIntLE(s,o,i,a){if(s=+s,o>>>=0,!a){const a=Math.pow(2,8*i-1);checkInt(this,s,o,i,a-1,-a)}let u=0,_=1,w=0;for(this[o]=255&s;++u<i&&(_*=256);)s<0&&0===w&&0!==this[o+u-1]&&(w=1),this[o+u]=(s/_|0)-w&255;return o+i},Buffer.prototype.writeIntBE=function writeIntBE(s,o,i,a){if(s=+s,o>>>=0,!a){const a=Math.pow(2,8*i-1);checkInt(this,s,o,i,a-1,-a)}let u=i-1,_=1,w=0;for(this[o+u]=255&s;--u>=0&&(_*=256);)s<0&&0===w&&0!==this[o+u+1]&&(w=1),this[o+u]=(s/_|0)-w&255;return o+i},Buffer.prototype.writeInt8=function writeInt8(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,1,127,-128),s<0&&(s=255+s+1),this[o]=255&s,o+1},Buffer.prototype.writeInt16LE=function writeInt16LE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,2,32767,-32768),this[o]=255&s,this[o+1]=s>>>8,o+2},Buffer.prototype.writeInt16BE=function writeInt16BE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,2,32767,-32768),this[o]=s>>>8,this[o+1]=255&s,o+2},Buffer.prototype.writeInt32LE=function writeInt32LE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,4,2147483647,-2147483648),this[o]=255&s,this[o+1]=s>>>8,this[o+2]=s>>>16,this[o+3]=s>>>24,o+4},Buffer.prototype.writeInt32BE=function writeInt32BE(s,o,i){return s=+s,o>>>=0,i||checkInt(this,s,o,4,2147483647,-2147483648),s<0&&(s=4294967295+s+1),this[o]=s>>>24,this[o+1]=s>>>16,this[o+2]=s>>>8,this[o+3]=255&s,o+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(s,o=0){return wrtBigUInt64LE(this,s,o,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(s,o=0){return wrtBigUInt64BE(this,s,o,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(s,o,i){return writeFloat(this,s,o,!0,i)},Buffer.prototype.writeFloatBE=function writeFloatBE(s,o,i){return writeFloat(this,s,o,!1,i)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(s,o,i){return writeDouble(this,s,o,!0,i)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(s,o,i){return writeDouble(this,s,o,!1,i)},Buffer.prototype.copy=function copy(s,o,i,a){if(!Buffer.isBuffer(s))throw new TypeError(\"argument should be a Buffer\");if(i||(i=0),a||0===a||(a=this.length),o>=s.length&&(o=s.length),o||(o=0),a>0&&a<i&&(a=i),a===i)return 0;if(0===s.length||0===this.length)return 0;if(o<0)throw new RangeError(\"targetStart out of bounds\");if(i<0||i>=this.length)throw new RangeError(\"Index out of range\");if(a<0)throw new RangeError(\"sourceEnd out of bounds\");a>this.length&&(a=this.length),s.length-o<a-i&&(a=s.length-o+i);const u=a-i;return this===s&&\"function\"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(o,i,a):Uint8Array.prototype.set.call(s,this.subarray(i,a),o),u},Buffer.prototype.fill=function fill(s,o,i,a){if(\"string\"==typeof s){if(\"string\"==typeof o?(a=o,o=0,i=this.length):\"string\"==typeof i&&(a=i,i=this.length),void 0!==a&&\"string\"!=typeof a)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof a&&!Buffer.isEncoding(a))throw new TypeError(\"Unknown encoding: \"+a);if(1===s.length){const o=s.charCodeAt(0);(\"utf8\"===a&&o<128||\"latin1\"===a)&&(s=o)}}else\"number\"==typeof s?s&=255:\"boolean\"==typeof s&&(s=Number(s));if(o<0||this.length<o||this.length<i)throw new RangeError(\"Out of range index\");if(i<=o)return this;let u;if(o>>>=0,i=void 0===i?this.length:i>>>0,s||(s=0),\"number\"==typeof s)for(u=o;u<i;++u)this[u]=s;else{const _=Buffer.isBuffer(s)?s:Buffer.from(s,a),w=_.length;if(0===w)throw new TypeError('The value \"'+s+'\" is invalid for argument \"value\"');for(u=0;u<i-o;++u)this[u+o]=_[u%w]}return this};const C={};function E(s,o,i){C[s]=class NodeError extends i{constructor(){super(),Object.defineProperty(this,\"message\",{value:o.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${s}]`,this.stack,delete this.name}get code(){return s}set code(s){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:s,writable:!0})}toString(){return`${this.name} [${s}]: ${this.message}`}}}function addNumericalSeparator(s){let o=\"\",i=s.length;const a=\"-\"===s[0]?1:0;for(;i>=a+4;i-=3)o=`_${s.slice(i-3,i)}${o}`;return`${s.slice(0,i)}${o}`}function checkIntBI(s,o,i,a,u,_){if(s>i||s<o){const a=\"bigint\"==typeof o?\"n\":\"\";let u;throw u=_>3?0===o||o===BigInt(0)?`>= 0${a} and < 2${a} ** ${8*(_+1)}${a}`:`>= -(2${a} ** ${8*(_+1)-1}${a}) and < 2 ** ${8*(_+1)-1}${a}`:`>= ${o}${a} and <= ${i}${a}`,new C.ERR_OUT_OF_RANGE(\"value\",u,s)}!function checkBounds(s,o,i){validateNumber(o,\"offset\"),void 0!==s[o]&&void 0!==s[o+i]||boundsError(o,s.length-(i+1))}(a,u,_)}function validateNumber(s,o){if(\"number\"!=typeof s)throw new C.ERR_INVALID_ARG_TYPE(o,\"number\",s)}function boundsError(s,o,i){if(Math.floor(s)!==s)throw validateNumber(s,i),new C.ERR_OUT_OF_RANGE(i||\"offset\",\"an integer\",s);if(o<0)throw new C.ERR_BUFFER_OUT_OF_BOUNDS;throw new C.ERR_OUT_OF_RANGE(i||\"offset\",`>= ${i?1:0} and <= ${o}`,s)}E(\"ERR_BUFFER_OUT_OF_BOUNDS\",(function(s){return s?`${s} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"}),RangeError),E(\"ERR_INVALID_ARG_TYPE\",(function(s,o){return`The \"${s}\" argument must be of type number. Received type ${typeof o}`}),TypeError),E(\"ERR_OUT_OF_RANGE\",(function(s,o,i){let a=`The value of \"${s}\" is out of range.`,u=i;return Number.isInteger(i)&&Math.abs(i)>2**32?u=addNumericalSeparator(String(i)):\"bigint\"==typeof i&&(u=String(i),(i>BigInt(2)**BigInt(32)||i<-(BigInt(2)**BigInt(32)))&&(u=addNumericalSeparator(u)),u+=\"n\"),a+=` It must be ${o}. Received ${u}`,a}),RangeError);const j=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(s,o){let i;o=o||1/0;const a=s.length;let u=null;const _=[];for(let w=0;w<a;++w){if(i=s.charCodeAt(w),i>55295&&i<57344){if(!u){if(i>56319){(o-=3)>-1&&_.push(239,191,189);continue}if(w+1===a){(o-=3)>-1&&_.push(239,191,189);continue}u=i;continue}if(i<56320){(o-=3)>-1&&_.push(239,191,189),u=i;continue}i=65536+(u-55296<<10|i-56320)}else u&&(o-=3)>-1&&_.push(239,191,189);if(u=null,i<128){if((o-=1)<0)break;_.push(i)}else if(i<2048){if((o-=2)<0)break;_.push(i>>6|192,63&i|128)}else if(i<65536){if((o-=3)<0)break;_.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error(\"Invalid code point\");if((o-=4)<0)break;_.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return _}function base64ToBytes(s){return a.toByteArray(function base64clean(s){if((s=(s=s.split(\"=\")[0]).trim().replace(j,\"\")).length<2)return\"\";for(;s.length%4!=0;)s+=\"=\";return s}(s))}function blitBuffer(s,o,i,a){let u;for(u=0;u<a&&!(u+i>=o.length||u>=s.length);++u)o[u+i]=s[u];return u}function isInstance(s,o){return s instanceof o||null!=s&&null!=s.constructor&&null!=s.constructor.name&&s.constructor.name===o.name}function numberIsNaN(s){return s!=s}const L=function(){const s=\"0123456789abcdef\",o=new Array(256);for(let i=0;i<16;++i){const a=16*i;for(let u=0;u<16;++u)o[a+u]=s[i]+s[u]}return o}();function defineBigIntMethod(s){return\"undefined\"==typeof BigInt?BufferBigIntNotDefined:s}function BufferBigIntNotDefined(){throw new Error(\"BigInt not supported\")}},48590:(s,o)=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0}),o.default=function(s){return s&&\"@@redux/INIT\"===s.type?\"initialState argument passed to createStore\":\"previous state received by the reducer\"},s.exports=o.default},48648:s=>{\"use strict\";s.exports=\"undefined\"!=typeof Reflect&&Reflect.getPrototypeOf||null},48655:(s,o,i)=>{var a=i(26025);s.exports=function listCacheHas(s){return a(this.__data__,s)>-1}},48675:(s,o,i)=>{s.exports=i(20850)},48948:(s,o,i)=>{var a=i(21791),u=i(86375);s.exports=function copySymbolsIn(s,o){return a(s,u(s),o)}},49092:(s,o,i)=>{\"use strict\";var a=i(41333);s.exports=function hasToStringTagShams(){return a()&&!!Symbol.toStringTag}},49326:(s,o,i)=>{var a=i(31769),u=i(72428),_=i(56449),w=i(30361),x=i(30294),C=i(77797);s.exports=function hasPath(s,o,i){for(var j=-1,L=(o=a(o,s)).length,B=!1;++j<L;){var $=C(o[j]);if(!(B=null!=s&&i(s,$)))break;s=s[$]}return B||++j!=L?B:!!(L=null==s?0:s.length)&&x(L)&&w($,L)&&(_(s)||u(s))}},49552:(s,o,i)=>{\"use strict\";var a=i(45951),u=i(46285),_=a.document,w=u(_)&&u(_.createElement);s.exports=function(s){return w?_.createElement(s):{}}},49653:(s,o,i)=>{var a=i(37828);s.exports=function cloneArrayBuffer(s){var o=new s.constructor(s.byteLength);return new a(o).set(new a(s)),o}},49698:s=>{var o=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");s.exports=function hasUnicode(s){return o.test(s)}},49724:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(39298),_=a({}.hasOwnProperty);s.exports=Object.hasOwn||function hasOwn(s,o){return _(u(s),o)}},49747:(s,o,i)=>{var a=i(66977);function curry(s,o,i){var u=a(s,8,void 0,void 0,void 0,void 0,void 0,o=i?void 0:o);return u.placeholder=curry.placeholder,u}curry.placeholder={},s.exports=curry},50002:(s,o,i)=>{var a=i(82199),u=i(4664),_=i(95950);s.exports=function getAllKeys(s){return a(s,_,u)}},50104:(s,o,i)=>{var a=i(53661);function memoize(s,o){if(\"function\"!=typeof s||null!=o&&\"function\"!=typeof o)throw new TypeError(\"Expected a function\");var memoized=function(){var i=arguments,a=o?o.apply(this,i):i[0],u=memoized.cache;if(u.has(a))return u.get(a);var _=s.apply(this,i);return memoized.cache=u.set(a,_)||u,_};return memoized.cache=new(memoize.Cache||a),memoized}memoize.Cache=a,s.exports=memoize},50583:(s,o,i)=>{var a=i(47237),u=i(17255),_=i(28586),w=i(77797);s.exports=function property(s){return _(s)?a(w(s)):u(s)}},50689:(s,o,i)=>{var a=i(50002),u=Object.prototype.hasOwnProperty;s.exports=function equalObjects(s,o,i,_,w,x){var C=1&i,j=a(s),L=j.length;if(L!=a(o).length&&!C)return!1;for(var B=L;B--;){var $=j[B];if(!(C?$ in o:u.call(o,$)))return!1}var U=x.get(s),V=x.get(o);if(U&&V)return U==o&&V==s;var z=!0;x.set(s,o),x.set(o,s);for(var Y=C;++B<L;){var Z=s[$=j[B]],ee=o[$];if(_)var ie=C?_(ee,Z,$,o,s,x):_(Z,ee,$,s,o,x);if(!(void 0===ie?Z===ee||w(Z,ee,i,_,x):ie)){z=!1;break}Y||(Y=\"constructor\"==$)}if(z&&!Y){var ae=s.constructor,ce=o.constructor;ae==ce||!(\"constructor\"in s)||!(\"constructor\"in o)||\"function\"==typeof ae&&ae instanceof ae&&\"function\"==typeof ce&&ce instanceof ce||(z=!1)}return x.delete(s),x.delete(o),z}},50828:(s,o,i)=>{var a=i(24647),u=i(13222),_=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,w=RegExp(\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\"g\");s.exports=function deburr(s){return(s=u(s))&&s.replace(_,a).replace(w,\"\")}},51175:(s,o,i)=>{\"use strict\";var a=i(19846);s.exports=a&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},51234:s=>{s.exports=function baseZipObject(s,o,i){for(var a=-1,u=s.length,_=o.length,w={};++a<u;){var x=a<_?o[a]:void 0;i(w,s[a],x)}return w}},51420:(s,o,i)=>{var a=i(80079);s.exports=function stackClear(){this.__data__=new a,this.size=0}},51459:s=>{s.exports=function setCacheHas(s){return this.__data__.has(s)}},51811:s=>{var o=Date.now;s.exports=function shortOut(s){var i=0,a=0;return function(){var u=o(),_=16-(u-a);if(a=u,_>0){if(++i>=800)return arguments[0]}else i=0;return s.apply(void 0,arguments)}}},51871:(s,o,i)=>{\"use strict\";var a=i(1907),u=i(82159);s.exports=function(s,o,i){try{return a(u(Object.getOwnPropertyDescriptor(s,o)[i]))}catch(s){}}},51873:(s,o,i)=>{var a=i(9325).Symbol;s.exports=a},52623:(s,o,i)=>{\"use strict\";var a={};a[i(76264)(\"toStringTag\")]=\"z\",s.exports=\"[object z]\"===String(a)},53138:(s,o,i)=>{var a=i(11331);s.exports=function customOmitClone(s){return a(s)?void 0:s}},53209:(s,o,i)=>{\"use strict\";var a=i(65606),u=65536,_=4294967295;var w=i(92861).Buffer,x=i.g.crypto||i.g.msCrypto;x&&x.getRandomValues?s.exports=function randomBytes(s,o){if(s>_)throw new RangeError(\"requested too many random bytes\");var i=w.allocUnsafe(s);if(s>0)if(s>u)for(var C=0;C<s;C+=u)x.getRandomValues(i.slice(C,C+u));else x.getRandomValues(i);if(\"function\"==typeof o)return a.nextTick((function(){o(null,i)}));return i}:s.exports=function oldBrowser(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}},53320:s=>{var o=Math.max;s.exports=function composeArgsRight(s,i,a,u){for(var _=-1,w=s.length,x=-1,C=a.length,j=-1,L=i.length,B=o(w-C,0),$=Array(B+L),U=!u;++_<B;)$[_]=s[_];for(var V=_;++j<L;)$[V+j]=i[j];for(;++x<C;)(U||_<w)&&($[V+a[x]]=s[_++]);return $}},53375:(s,o,i)=>{\"use strict\";var a=i(93700);s.exports=a},53661:(s,o,i)=>{var a=i(63040),u=i(17670),_=i(90289),w=i(4509),x=i(72949);function MapCache(s){var o=-1,i=null==s?0:s.length;for(this.clear();++o<i;){var a=s[o];this.set(a[0],a[1])}}MapCache.prototype.clear=a,MapCache.prototype.delete=u,MapCache.prototype.get=_,MapCache.prototype.has=w,MapCache.prototype.set=x,s.exports=MapCache},53758:(s,o,i)=>{var a=i(30980),u=i(56017),_=i(94033),w=i(56449),x=i(40346),C=i(80257),j=Object.prototype.hasOwnProperty;function lodash(s){if(x(s)&&!w(s)&&!(s instanceof a)){if(s instanceof u)return s;if(j.call(s,\"__wrapped__\"))return C(s)}return new u(s)}lodash.prototype=_.prototype,lodash.prototype.constructor=lodash,s.exports=lodash},53812:(s,o,i)=>{var a=i(72552),u=i(40346);s.exports=function isBoolean(s){return!0===s||!1===s||u(s)&&\"[object Boolean]\"==a(s)}},54018:(s,o,i)=>{\"use strict\";var a=i(46285);s.exports=function(s){return a(s)||null===s}},54128:(s,o,i)=>{var a=i(31800),u=/^\\s+/;s.exports=function baseTrim(s){return s?s.slice(0,a(s)+1).replace(u,\"\"):s}},54552:s=>{s.exports=function basePropertyOf(s){return function(o){return null==s?void 0:s[o]}}},54641:(s,o,i)=>{var a=i(68882),u=i(51811)(a);s.exports=u},54829:(s,o,i)=>{\"use strict\";var a=i(74284).f;s.exports=function(s,o,i){i in s||a(s,i,{configurable:!0,get:function(){return o[i]},set:function(s){o[i]=s}})}},54878:(s,o,i)=>{\"use strict\";var a=i(52623),u=i(73948);s.exports=a?{}.toString:function toString(){return\"[object \"+u(this)+\"]\"}},55157:s=>{s.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}},55364:(s,o,i)=>{var a=i(85250),u=i(20999)((function(s,o,i){a(s,o,i)}));s.exports=u},55481:(s,o,i)=>{var a=i(9325)[\"__core-js_shared__\"];s.exports=a},55527:s=>{var o=Object.prototype;s.exports=function isPrototype(s){var i=s&&s.constructor;return s===(\"function\"==typeof i&&i.prototype||o)}},55580:(s,o,i)=>{var a=i(56110)(i(9325),\"DataView\");s.exports=a},55674:(s,o,i)=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0}),o.validateNextState=o.getUnexpectedInvocationParameterMessage=o.getStateName=void 0;var a=_interopRequireDefault(i(48590)),u=_interopRequireDefault(i(82261)),_=_interopRequireDefault(i(27374));function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}o.getStateName=a.default,o.getUnexpectedInvocationParameterMessage=u.default,o.validateNextState=_.default},55808:(s,o,i)=>{var a=i(12507)(\"toUpperCase\");s.exports=a},55973:s=>{class KeyValuePair{constructor(s,o){this.key=s,this.value=o}clone(){const s=new KeyValuePair;return this.key&&(s.key=this.key.clone()),this.value&&(s.value=this.value.clone()),s}}s.exports=KeyValuePair},56017:(s,o,i)=>{var a=i(39344),u=i(94033);function LodashWrapper(s,o){this.__wrapped__=s,this.__actions__=[],this.__chain__=!!o,this.__index__=0,this.__values__=void 0}LodashWrapper.prototype=a(u.prototype),LodashWrapper.prototype.constructor=LodashWrapper,s.exports=LodashWrapper},56110:(s,o,i)=>{var a=i(45083),u=i(10392);s.exports=function getNative(s,o){var i=u(s,o);return a(i)?i:void 0}},56367:(s,o,i)=>{s.exports=i(77731)},56449:s=>{var o=Array.isArray;s.exports=o},56698:s=>{\"function\"==typeof Object.create?s.exports=function inherits(s,o){o&&(s.super_=o,s.prototype=Object.create(o.prototype,{constructor:{value:s,enumerable:!1,writable:!0,configurable:!0}}))}:s.exports=function inherits(s,o){if(o){s.super_=o;var TempCtor=function(){};TempCtor.prototype=o.prototype,s.prototype=new TempCtor,s.prototype.constructor=s}}},56757:(s,o,i)=>{var a=i(91033),u=Math.max;s.exports=function overRest(s,o,i){return o=u(void 0===o?s.length-1:o,0),function(){for(var _=arguments,w=-1,x=u(_.length-o,0),C=Array(x);++w<x;)C[w]=_[o+w];w=-1;for(var j=Array(o+1);++w<o;)j[w]=_[w];return j[o]=i(C),a(s,this,j)}}},57382:(s,o,i)=>{\"use strict\";var a=i(98828);s.exports=!a((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},57758:(s,o,i)=>{\"use strict\";var a;var u=i(86048).F,_=u.ERR_MISSING_ARGS,w=u.ERR_STREAM_DESTROYED;function noop(s){if(s)throw s}function call(s){s()}function pipe(s,o){return s.pipe(o)}s.exports=function pipeline(){for(var s=arguments.length,o=new Array(s),u=0;u<s;u++)o[u]=arguments[u];var x,C=function popCallback(s){return s.length?\"function\"!=typeof s[s.length-1]?noop:s.pop():noop}(o);if(Array.isArray(o[0])&&(o=o[0]),o.length<2)throw new _(\"streams\");var j=o.map((function(s,u){var _=u<o.length-1;return function destroyer(s,o,u,_){_=function once(s){var o=!1;return function(){o||(o=!0,s.apply(void 0,arguments))}}(_);var x=!1;s.on(\"close\",(function(){x=!0})),void 0===a&&(a=i(86238)),a(s,{readable:o,writable:u},(function(s){if(s)return _(s);x=!0,_()}));var C=!1;return function(o){if(!x&&!C)return C=!0,function isRequest(s){return s.setHeader&&\"function\"==typeof s.abort}(s)?s.abort():\"function\"==typeof s.destroy?s.destroy():void _(o||new w(\"pipe\"))}}(s,_,u>0,(function(s){x||(x=s),s&&j.forEach(call),_||(j.forEach(call),C(x))}))}));return o.reduce(pipe)}},58068:s=>{\"use strict\";s.exports=SyntaxError},58075:(s,o,i)=>{\"use strict\";var a,u=i(36624),_=i(42220),w=i(80376),x=i(38530),C=i(62416),j=i(49552),L=i(92522),B=\"prototype\",$=\"script\",U=L(\"IE_PROTO\"),EmptyConstructor=function(){},scriptTag=function(s){return\"<\"+$+\">\"+s+\"</\"+$+\">\"},NullProtoObjectViaActiveX=function(s){s.write(scriptTag(\"\")),s.close();var o=s.parentWindow.Object;return s=null,o},NullProtoObject=function(){try{a=new ActiveXObject(\"htmlfile\")}catch(s){}var s,o,i;NullProtoObject=\"undefined\"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):(o=j(\"iframe\"),i=\"java\"+$+\":\",o.style.display=\"none\",C.appendChild(o),o.src=String(i),(s=o.contentWindow.document).open(),s.write(scriptTag(\"document.F=Object\")),s.close(),s.F):NullProtoObjectViaActiveX(a);for(var u=w.length;u--;)delete NullProtoObject[B][w[u]];return NullProtoObject()};x[U]=!0,s.exports=Object.create||function create(s,o){var i;return null!==s?(EmptyConstructor[B]=u(s),i=new EmptyConstructor,EmptyConstructor[B]=null,i[U]=s):i=NullProtoObject(),void 0===o?i:_.f(i,o)}},58156:(s,o,i)=>{var a=i(47422);s.exports=function get(s,o,i){var u=null==s?void 0:a(s,o);return void 0===u?i:u}},58523:s=>{s.exports=function countHolders(s,o){for(var i=s.length,a=0;i--;)s[i]===o&&++a;return a}},58661:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(98828);s.exports=a&&u((function(){return 42!==Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype}))},58968:s=>{\"use strict\";s.exports=Math.floor},59350:s=>{var o=Object.prototype.toString;s.exports=function objectToString(s){return o.call(s)}},59399:(s,o,i)=>{\"use strict\";var a=i(25264).CopyToClipboard;a.CopyToClipboard=a,s.exports=a},59550:s=>{\"use strict\";s.exports=function(s,o){return{value:s,done:o}}},60183:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(13930),_=i(7376),w=i(36833),x=i(62250),C=i(47181),j=i(15972),L=i(79192),B=i(14840),$=i(61626),U=i(68055),V=i(76264),z=i(93742),Y=i(95116),Z=w.PROPER,ee=w.CONFIGURABLE,ie=Y.IteratorPrototype,ae=Y.BUGGY_SAFARI_ITERATORS,ce=V(\"iterator\"),le=\"keys\",pe=\"values\",de=\"entries\",returnThis=function(){return this};s.exports=function(s,o,i,w,V,Y,fe){C(i,o,w);var ye,be,_e,getIterationMethod=function(s){if(s===V&&Te)return Te;if(!ae&&s&&s in xe)return xe[s];switch(s){case le:return function keys(){return new i(this,s)};case pe:return function values(){return new i(this,s)};case de:return function entries(){return new i(this,s)}}return function(){return new i(this)}},Se=o+\" Iterator\",we=!1,xe=s.prototype,Pe=xe[ce]||xe[\"@@iterator\"]||V&&xe[V],Te=!ae&&Pe||getIterationMethod(V),Re=\"Array\"===o&&xe.entries||Pe;if(Re&&(ye=j(Re.call(new s)))!==Object.prototype&&ye.next&&(_||j(ye)===ie||(L?L(ye,ie):x(ye[ce])||U(ye,ce,returnThis)),B(ye,Se,!0,!0),_&&(z[Se]=returnThis)),Z&&V===pe&&Pe&&Pe.name!==pe&&(!_&&ee?$(xe,\"name\",pe):(we=!0,Te=function values(){return u(Pe,this)})),V)if(be={values:getIterationMethod(pe),keys:Y?Te:getIterationMethod(le),entries:getIterationMethod(de)},fe)for(_e in be)(ae||we||!(_e in xe))&&U(xe,_e,be[_e]);else a({target:o,proto:!0,forced:ae||we},be);return _&&!fe||xe[ce]===Te||U(xe,ce,Te,{name:V}),z[o]=Te,be}},60270:(s,o,i)=>{var a=i(87068),u=i(40346);s.exports=function baseIsEqual(s,o,i,_,w){return s===o||(null==s||null==o||!u(s)&&!u(o)?s!=s&&o!=o:a(s,o,i,_,baseIsEqual,w))}},60581:(s,o,i)=>{\"use strict\";var a=i(13930),u=i(62250),_=i(46285),w=TypeError;s.exports=function(s,o){var i,x;if(\"string\"===o&&u(i=s.toString)&&!_(x=a(i,s)))return x;if(u(i=s.valueOf)&&!_(x=a(i,s)))return x;if(\"string\"!==o&&u(i=s.toString)&&!_(x=a(i,s)))return x;throw new w(\"Can't convert object to primitive value\")}},60680:(s,o,i)=>{var a=i(13222),u=/[\\\\^$.*+?()[\\]{}|]/g,_=RegExp(u.source);s.exports=function escapeRegExp(s){return(s=a(s))&&_.test(s)?s.replace(u,\"\\\\$&\"):s}},61045:(s,o,i)=>{const a=i(6048),u=i(23805),_=i(6233),w=i(87726),x=i(10866);s.exports=class ObjectElement extends _{constructor(s,o,i){super(s||[],o,i),this.element=\"object\"}primitive(){return\"object\"}toValue(){return this.content.reduce(((s,o)=>(s[o.key.toValue()]=o.value?o.value.toValue():void 0,s)),{})}get(s){const o=this.getMember(s);if(o)return o.value}getMember(s){if(void 0!==s)return this.content.find((o=>o.key.toValue()===s))}remove(s){let o=null;return this.content=this.content.filter((i=>i.key.toValue()!==s||(o=i,!1))),o}getKey(s){const o=this.getMember(s);if(o)return o.key}set(s,o){if(u(s))return Object.keys(s).forEach((o=>{this.set(o,s[o])})),this;const i=s,a=this.getMember(i);return a?a.value=o:this.content.push(new w(i,o)),this}keys(){return this.content.map((s=>s.key.toValue()))}values(){return this.content.map((s=>s.value.toValue()))}hasKey(s){return this.content.some((o=>o.key.equals(s)))}items(){return this.content.map((s=>[s.key.toValue(),s.value.toValue()]))}map(s,o){return this.content.map((i=>s.bind(o)(i.value,i.key,i)))}compactMap(s,o){const i=[];return this.forEach(((a,u,_)=>{const w=s.bind(o)(a,u,_);w&&i.push(w)})),i}filter(s,o){return new x(this.content).filter(s,o)}reject(s,o){return this.filter(a(s),o)}forEach(s,o){return this.content.forEach((i=>s.bind(o)(i.value,i.key,i)))}}},61074:s=>{s.exports=function asciiToArray(s){return s.split(\"\")}},61160:(s,o,i)=>{\"use strict\";var a=i(92063),u=i(73992),_=/^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/,w=/[\\n\\r\\t]/g,x=/^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//,C=/:\\d+$/,j=/^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i,L=/^[a-zA-Z]:/;function trimLeft(s){return(s||\"\").toString().replace(_,\"\")}var B=[[\"#\",\"hash\"],[\"?\",\"query\"],function sanitize(s,o){return isSpecial(o.protocol)?s.replace(/\\\\/g,\"/\"):s},[\"/\",\"pathname\"],[\"@\",\"auth\",1],[NaN,\"host\",void 0,1,1],[/:(\\d*)$/,\"port\",void 0,1],[NaN,\"hostname\",void 0,1,1]],$={hash:1,query:1};function lolcation(s){var o,a=(\"undefined\"!=typeof window?window:void 0!==i.g?i.g:\"undefined\"!=typeof self?self:{}).location||{},u={},_=typeof(s=s||a);if(\"blob:\"===s.protocol)u=new Url(unescape(s.pathname),{});else if(\"string\"===_)for(o in u=new Url(s,{}),$)delete u[o];else if(\"object\"===_){for(o in s)o in $||(u[o]=s[o]);void 0===u.slashes&&(u.slashes=x.test(s.href))}return u}function isSpecial(s){return\"file:\"===s||\"ftp:\"===s||\"http:\"===s||\"https:\"===s||\"ws:\"===s||\"wss:\"===s}function extractProtocol(s,o){s=(s=trimLeft(s)).replace(w,\"\"),o=o||{};var i,a=j.exec(s),u=a[1]?a[1].toLowerCase():\"\",_=!!a[2],x=!!a[3],C=0;return _?x?(i=a[2]+a[3]+a[4],C=a[2].length+a[3].length):(i=a[2]+a[4],C=a[2].length):x?(i=a[3]+a[4],C=a[3].length):i=a[4],\"file:\"===u?C>=2&&(i=i.slice(2)):isSpecial(u)?i=a[4]:u?_&&(i=i.slice(2)):C>=2&&isSpecial(o.protocol)&&(i=a[4]),{protocol:u,slashes:_||isSpecial(u),slashesCount:C,rest:i}}function Url(s,o,i){if(s=(s=trimLeft(s)).replace(w,\"\"),!(this instanceof Url))return new Url(s,o,i);var _,x,C,j,$,U,V=B.slice(),z=typeof o,Y=this,Z=0;for(\"object\"!==z&&\"string\"!==z&&(i=o,o=null),i&&\"function\"!=typeof i&&(i=u.parse),_=!(x=extractProtocol(s||\"\",o=lolcation(o))).protocol&&!x.slashes,Y.slashes=x.slashes||_&&o.slashes,Y.protocol=x.protocol||o.protocol||\"\",s=x.rest,(\"file:\"===x.protocol&&(2!==x.slashesCount||L.test(s))||!x.slashes&&(x.protocol||x.slashesCount<2||!isSpecial(Y.protocol)))&&(V[3]=[/(.*)/,\"pathname\"]);Z<V.length;Z++)\"function\"!=typeof(j=V[Z])?(C=j[0],U=j[1],C!=C?Y[U]=s:\"string\"==typeof C?~($=\"@\"===C?s.lastIndexOf(C):s.indexOf(C))&&(\"number\"==typeof j[2]?(Y[U]=s.slice(0,$),s=s.slice($+j[2])):(Y[U]=s.slice($),s=s.slice(0,$))):($=C.exec(s))&&(Y[U]=$[1],s=s.slice(0,$.index)),Y[U]=Y[U]||_&&j[3]&&o[U]||\"\",j[4]&&(Y[U]=Y[U].toLowerCase())):s=j(s,Y);i&&(Y.query=i(Y.query)),_&&o.slashes&&\"/\"!==Y.pathname.charAt(0)&&(\"\"!==Y.pathname||\"\"!==o.pathname)&&(Y.pathname=function resolve(s,o){if(\"\"===s)return o;for(var i=(o||\"/\").split(\"/\").slice(0,-1).concat(s.split(\"/\")),a=i.length,u=i[a-1],_=!1,w=0;a--;)\".\"===i[a]?i.splice(a,1):\"..\"===i[a]?(i.splice(a,1),w++):w&&(0===a&&(_=!0),i.splice(a,1),w--);return _&&i.unshift(\"\"),\".\"!==u&&\"..\"!==u||i.push(\"\"),i.join(\"/\")}(Y.pathname,o.pathname)),\"/\"!==Y.pathname.charAt(0)&&isSpecial(Y.protocol)&&(Y.pathname=\"/\"+Y.pathname),a(Y.port,Y.protocol)||(Y.host=Y.hostname,Y.port=\"\"),Y.username=Y.password=\"\",Y.auth&&(~($=Y.auth.indexOf(\":\"))?(Y.username=Y.auth.slice(0,$),Y.username=encodeURIComponent(decodeURIComponent(Y.username)),Y.password=Y.auth.slice($+1),Y.password=encodeURIComponent(decodeURIComponent(Y.password))):Y.username=encodeURIComponent(decodeURIComponent(Y.auth)),Y.auth=Y.password?Y.username+\":\"+Y.password:Y.username),Y.origin=\"file:\"!==Y.protocol&&isSpecial(Y.protocol)&&Y.host?Y.protocol+\"//\"+Y.host:\"null\",Y.href=Y.toString()}Url.prototype={set:function set(s,o,i){var _=this;switch(s){case\"query\":\"string\"==typeof o&&o.length&&(o=(i||u.parse)(o)),_[s]=o;break;case\"port\":_[s]=o,a(o,_.protocol)?o&&(_.host=_.hostname+\":\"+o):(_.host=_.hostname,_[s]=\"\");break;case\"hostname\":_[s]=o,_.port&&(o+=\":\"+_.port),_.host=o;break;case\"host\":_[s]=o,C.test(o)?(o=o.split(\":\"),_.port=o.pop(),_.hostname=o.join(\":\")):(_.hostname=o,_.port=\"\");break;case\"protocol\":_.protocol=o.toLowerCase(),_.slashes=!i;break;case\"pathname\":case\"hash\":if(o){var w=\"pathname\"===s?\"/\":\"#\";_[s]=o.charAt(0)!==w?w+o:o}else _[s]=o;break;case\"username\":case\"password\":_[s]=encodeURIComponent(o);break;case\"auth\":var x=o.indexOf(\":\");~x?(_.username=o.slice(0,x),_.username=encodeURIComponent(decodeURIComponent(_.username)),_.password=o.slice(x+1),_.password=encodeURIComponent(decodeURIComponent(_.password))):_.username=encodeURIComponent(decodeURIComponent(o))}for(var j=0;j<B.length;j++){var L=B[j];L[4]&&(_[L[1]]=_[L[1]].toLowerCase())}return _.auth=_.password?_.username+\":\"+_.password:_.username,_.origin=\"file:\"!==_.protocol&&isSpecial(_.protocol)&&_.host?_.protocol+\"//\"+_.host:\"null\",_.href=_.toString(),_},toString:function toString(s){s&&\"function\"==typeof s||(s=u.stringify);var o,i=this,a=i.host,_=i.protocol;_&&\":\"!==_.charAt(_.length-1)&&(_+=\":\");var w=_+(i.protocol&&i.slashes||isSpecial(i.protocol)?\"//\":\"\");return i.username?(w+=i.username,i.password&&(w+=\":\"+i.password),w+=\"@\"):i.password?(w+=\":\"+i.password,w+=\"@\"):\"file:\"!==i.protocol&&isSpecial(i.protocol)&&!a&&\"/\"!==i.pathname&&(w+=\"@\"),(\":\"===a[a.length-1]||C.test(i.hostname)&&!i.port)&&(a+=\":\"),w+=a+i.pathname,(o=\"object\"==typeof i.query?s(i.query):i.query)&&(w+=\"?\"!==o.charAt(0)?\"?\"+o:o),i.hash&&(w+=i.hash),w}},Url.extractProtocol=extractProtocol,Url.location=lolcation,Url.trimLeft=trimLeft,Url.qs=u,s.exports=Url},61448:(s,o,i)=>{var a=i(20426),u=i(49326);s.exports=function has(s,o){return null!=s&&u(s,o,a)}},61489:(s,o,i)=>{var a=i(17400);s.exports=function toInteger(s){var o=a(s),i=o%1;return o==o?i?o-i:o:0}},61626:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(74284),_=i(75817);s.exports=a?function(s,o,i){return u.f(s,o,_(1,i))}:function(s,o,i){return s[o]=i,s}},61747:(s,o,i)=>{\"use strict\";var a=i(45951),u=i(92046);s.exports=function(s,o){var i=u[s+\"Prototype\"],_=i&&i[o];if(_)return _;var w=a[s],x=w&&w.prototype;return x&&x[o]}},61802:(s,o,i)=>{var a=i(62224),u=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,_=/\\\\(\\\\)?/g,w=a((function(s){var o=[];return 46===s.charCodeAt(0)&&o.push(\"\"),s.replace(u,(function(s,i,a,u){o.push(a?u.replace(_,\"$1\"):i||s)})),o}));s.exports=w},62006:(s,o,i)=>{var a=i(15389),u=i(64894),_=i(95950);s.exports=function createFind(s){return function(o,i,w){var x=Object(o);if(!u(o)){var C=a(i,3);o=_(o),i=function(s){return C(x[s],s,x)}}var j=s(o,i,w);return j>-1?x[C?o[j]:j]:void 0}}},62060:s=>{var o=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/;s.exports=function insertWrapDetails(s,i){var a=i.length;if(!a)return s;var u=a-1;return i[u]=(a>1?\"& \":\"\")+i[u],i=i.join(a>2?\", \":\" \"),s.replace(o,\"{\\n/* [wrapped with \"+i+\"] */\\n\")}},62193:(s,o,i)=>{var a=i(88984),u=i(5861),_=i(72428),w=i(56449),x=i(64894),C=i(3656),j=i(55527),L=i(37167),B=Object.prototype.hasOwnProperty;s.exports=function isEmpty(s){if(null==s)return!0;if(x(s)&&(w(s)||\"string\"==typeof s||\"function\"==typeof s.splice||C(s)||L(s)||_(s)))return!s.length;var o=u(s);if(\"[object Map]\"==o||\"[object Set]\"==o)return!s.size;if(j(s))return!a(s).length;for(var i in s)if(B.call(s,i))return!1;return!0}},62224:(s,o,i)=>{var a=i(50104);s.exports=function memoizeCapped(s){var o=a(s,(function(s){return 500===i.size&&i.clear(),s})),i=o.cache;return o}},62250:s=>{\"use strict\";var o=\"object\"==typeof document&&document.all;s.exports=void 0===o&&void 0!==o?function(s){return\"function\"==typeof s||s===o}:function(s){return\"function\"==typeof s}},62284:(s,o,i)=>{var a=i(84629),u=Object.prototype.hasOwnProperty;s.exports=function getFuncName(s){for(var o=s.name+\"\",i=a[o],_=u.call(a,o)?i.length:0;_--;){var w=i[_],x=w.func;if(null==x||x==s)return w.name}return o}},62416:(s,o,i)=>{\"use strict\";var a=i(85582);s.exports=a(\"document\",\"documentElement\")},62802:(s,o,i)=>{\"use strict\";s.exports=function SHA(o){var i=o.toLowerCase(),a=s.exports[i];if(!a)throw new Error(i+\" is not supported (we accept pull requests)\");return new a},s.exports.sha=i(27816),s.exports.sha1=i(63737),s.exports.sha224=i(26710),s.exports.sha256=i(24107),s.exports.sha384=i(32827),s.exports.sha512=i(82890)},63040:(s,o,i)=>{var a=i(21549),u=i(80079),_=i(68223);s.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new a,map:new(_||u),string:new a}}},63345:s=>{s.exports=function stubArray(){return[]}},63560:(s,o,i)=>{var a=i(73170);s.exports=function set(s,o,i){return null==s?s:a(s,o,i)}},63600:(s,o,i)=>{\"use strict\";s.exports=PassThrough;var a=i(74610);function PassThrough(s){if(!(this instanceof PassThrough))return new PassThrough(s);a.call(this,s)}i(56698)(PassThrough,a),PassThrough.prototype._transform=function(s,o,i){i(null,s)}},63605:s=>{s.exports=function stackGet(s){return this.__data__.get(s)}},63702:s=>{s.exports=function listCacheClear(){this.__data__=[],this.size=0}},63737:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(90392),_=i(92861).Buffer,w=[1518500249,1859775393,-1894007588,-899497514],x=new Array(80);function Sha1(){this.init(),this._w=x,u.call(this,64,56)}function rotl5(s){return s<<5|s>>>27}function rotl30(s){return s<<30|s>>>2}function ft(s,o,i,a){return 0===s?o&i|~o&a:2===s?o&i|o&a|i&a:o^i^a}a(Sha1,u),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(s){for(var o,i=this._w,a=0|this._a,u=0|this._b,_=0|this._c,x=0|this._d,C=0|this._e,j=0;j<16;++j)i[j]=s.readInt32BE(4*j);for(;j<80;++j)i[j]=(o=i[j-3]^i[j-8]^i[j-14]^i[j-16])<<1|o>>>31;for(var L=0;L<80;++L){var B=~~(L/20),$=rotl5(a)+ft(B,u,_,x)+C+i[L]+w[B]|0;C=x,x=_,_=rotl30(u),u=a,a=$}this._a=a+this._a|0,this._b=u+this._b|0,this._c=_+this._c|0,this._d=x+this._d|0,this._e=C+this._e|0},Sha1.prototype._hash=function(){var s=_.allocUnsafe(20);return s.writeInt32BE(0|this._a,0),s.writeInt32BE(0|this._b,4),s.writeInt32BE(0|this._c,8),s.writeInt32BE(0|this._d,12),s.writeInt32BE(0|this._e,16),s},s.exports=Sha1},63862:s=>{s.exports=function hashDelete(s){var o=this.has(s)&&delete this.__data__[s];return this.size-=o?1:0,o}},63912:(s,o,i)=>{var a=i(61074),u=i(49698),_=i(42054);s.exports=function stringToArray(s){return u(s)?_(s):a(s)}},63950:s=>{s.exports=function noop(){}},64039:(s,o,i)=>{\"use strict\";var a=\"undefined\"!=typeof Symbol&&Symbol,u=i(41333);s.exports=function hasNativeSymbols(){return\"function\"==typeof a&&(\"function\"==typeof Symbol&&(\"symbol\"==typeof a(\"foo\")&&(\"symbol\"==typeof Symbol(\"bar\")&&u())))}},64502:(s,o,i)=>{\"use strict\";i(82048)},64626:(s,o,i)=>{var a=i(66977);s.exports=function ary(s,o,i){return o=i?void 0:o,o=s&&null==o?s.length:o,a(s,128,void 0,void 0,void 0,void 0,o)}},64634:s=>{var o={}.toString;s.exports=Array.isArray||function(s){return\"[object Array]\"==o.call(s)}},64894:(s,o,i)=>{var a=i(1882),u=i(30294);s.exports=function isArrayLike(s){return null!=s&&u(s.length)&&!a(s)}},64932:(s,o,i)=>{\"use strict\";var a,u,_,w=i(40551),x=i(45951),C=i(46285),j=i(61626),L=i(49724),B=i(36128),$=i(92522),U=i(38530),V=\"Object already initialized\",z=x.TypeError,Y=x.WeakMap;if(w||B.state){var Z=B.state||(B.state=new Y);Z.get=Z.get,Z.has=Z.has,Z.set=Z.set,a=function(s,o){if(Z.has(s))throw new z(V);return o.facade=s,Z.set(s,o),o},u=function(s){return Z.get(s)||{}},_=function(s){return Z.has(s)}}else{var ee=$(\"state\");U[ee]=!0,a=function(s,o){if(L(s,ee))throw new z(V);return o.facade=s,j(s,ee,o),o},u=function(s){return L(s,ee)?s[ee]:{}},_=function(s){return L(s,ee)}}s.exports={set:a,get:u,has:_,enforce:function(s){return _(s)?u(s):a(s,{})},getterFor:function(s){return function(o){var i;if(!C(o)||(i=u(o)).type!==s)throw new z(\"Incompatible receiver, \"+s+\" required\");return i}}}},65291:(s,o,i)=>{\"use strict\";var a=i(86048).F.ERR_INVALID_OPT_VALUE;s.exports={getHighWaterMark:function getHighWaterMark(s,o,i,u){var _=function highWaterMarkFrom(s,o,i){return null!=s.highWaterMark?s.highWaterMark:o?s[i]:null}(o,u,i);if(null!=_){if(!isFinite(_)||Math.floor(_)!==_||_<0)throw new a(u?i:\"highWaterMark\",_);return Math.floor(_)}return s.objectMode?16:16384}}},65482:(s,o,i)=>{\"use strict\";var a=i(41176);s.exports=function(s){var o=+s;return o!=o||0===o?0:a(o)}},65606:s=>{var o,i,a=s.exports={};function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(s){if(o===setTimeout)return setTimeout(s,0);if((o===defaultSetTimout||!o)&&setTimeout)return o=setTimeout,setTimeout(s,0);try{return o(s,0)}catch(i){try{return o.call(null,s,0)}catch(i){return o.call(this,s,0)}}}!function(){try{o=\"function\"==typeof setTimeout?setTimeout:defaultSetTimout}catch(s){o=defaultSetTimout}try{i=\"function\"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(s){i=defaultClearTimeout}}();var u,_=[],w=!1,x=-1;function cleanUpNextTick(){w&&u&&(w=!1,u.length?_=u.concat(_):x=-1,_.length&&drainQueue())}function drainQueue(){if(!w){var s=runTimeout(cleanUpNextTick);w=!0;for(var o=_.length;o;){for(u=_,_=[];++x<o;)u&&u[x].run();x=-1,o=_.length}u=null,w=!1,function runClearTimeout(s){if(i===clearTimeout)return clearTimeout(s);if((i===defaultClearTimeout||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(s);try{return i(s)}catch(o){try{return i.call(null,s)}catch(o){return i.call(this,s)}}}(s)}}function Item(s,o){this.fun=s,this.array=o}function noop(){}a.nextTick=function(s){var o=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)o[i-1]=arguments[i];_.push(new Item(s,o)),1!==_.length||w||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\"browser\",a.browser=!0,a.env={},a.argv=[],a.version=\"\",a.versions={},a.on=noop,a.addListener=noop,a.once=noop,a.off=noop,a.removeListener=noop,a.removeAllListeners=noop,a.emit=noop,a.prependListener=noop,a.prependOnceListener=noop,a.listeners=function(s){return[]},a.binding=function(s){throw new Error(\"process.binding is not supported\")},a.cwd=function(){return\"/\"},a.chdir=function(s){throw new Error(\"process.chdir is not supported\")},a.umask=function(){return 0}},65772:s=>{s.exports=function json(s){const o={literal:\"true false null\"},i=[s.C_LINE_COMMENT_MODE,s.C_BLOCK_COMMENT_MODE],a=[s.QUOTE_STRING_MODE,s.C_NUMBER_MODE],u={end:\",\",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:o},_={begin:/\\{/,end:/\\}/,contains:[{className:\"attr\",begin:/\"/,end:/\"/,contains:[s.BACKSLASH_ESCAPE],illegal:\"\\\\n\"},s.inherit(u,{begin:/:/})].concat(i),illegal:\"\\\\S\"},w={begin:\"\\\\[\",end:\"\\\\]\",contains:[s.inherit(u)],illegal:\"\\\\S\"};return a.push(_,w),i.forEach((function(s){a.push(s)})),{name:\"JSON\",contains:a,keywords:o,illegal:\"\\\\S\"}}},66645:(s,o,i)=>{var a=i(1733),u=i(45434),_=i(13222),w=i(22225);s.exports=function words(s,o,i){return s=_(s),void 0===(o=i?void 0:o)?u(s)?w(s):a(s):s.match(o)||[]}},66721:(s,o,i)=>{var a=i(81042),u=Object.prototype.hasOwnProperty;s.exports=function hashGet(s){var o=this.__data__;if(a){var i=o[s];return\"__lodash_hash_undefined__\"===i?void 0:i}return u.call(o,s)?o[s]:void 0}},66743:(s,o,i)=>{\"use strict\";var a=i(89353);s.exports=Function.prototype.bind||a},66977:(s,o,i)=>{var a=i(68882),u=i(11842),_=i(77078),w=i(37471),x=i(24168),C=i(37381),j=i(3209),L=i(54641),B=i(70981),$=i(61489),U=Math.max;s.exports=function createWrap(s,o,i,V,z,Y,Z,ee){var ie=2&o;if(!ie&&\"function\"!=typeof s)throw new TypeError(\"Expected a function\");var ae=V?V.length:0;if(ae||(o&=-97,V=z=void 0),Z=void 0===Z?Z:U($(Z),0),ee=void 0===ee?ee:$(ee),ae-=z?z.length:0,64&o){var ce=V,le=z;V=z=void 0}var pe=ie?void 0:C(s),de=[s,o,i,V,z,ce,le,Y,Z,ee];if(pe&&j(de,pe),s=de[0],o=de[1],i=de[2],V=de[3],z=de[4],!(ee=de[9]=void 0===de[9]?ie?0:s.length:U(de[9]-ae,0))&&24&o&&(o&=-25),o&&1!=o)fe=8==o||16==o?_(s,o,ee):32!=o&&33!=o||z.length?w.apply(void 0,de):x(s,o,i,V);else var fe=u(s,o,i);return B((pe?a:L)(fe,de),s,o)}},67197:s=>{s.exports=function matchesStrictComparable(s,o){return function(i){return null!=i&&(i[s]===o&&(void 0!==o||s in Object(i)))}}},67526:(s,o)=>{\"use strict\";o.byteLength=function byteLength(s){var o=getLens(s),i=o[0],a=o[1];return 3*(i+a)/4-a},o.toByteArray=function toByteArray(s){var o,i,_=getLens(s),w=_[0],x=_[1],C=new u(function _byteLength(s,o,i){return 3*(o+i)/4-i}(0,w,x)),j=0,L=x>0?w-4:w;for(i=0;i<L;i+=4)o=a[s.charCodeAt(i)]<<18|a[s.charCodeAt(i+1)]<<12|a[s.charCodeAt(i+2)]<<6|a[s.charCodeAt(i+3)],C[j++]=o>>16&255,C[j++]=o>>8&255,C[j++]=255&o;2===x&&(o=a[s.charCodeAt(i)]<<2|a[s.charCodeAt(i+1)]>>4,C[j++]=255&o);1===x&&(o=a[s.charCodeAt(i)]<<10|a[s.charCodeAt(i+1)]<<4|a[s.charCodeAt(i+2)]>>2,C[j++]=o>>8&255,C[j++]=255&o);return C},o.fromByteArray=function fromByteArray(s){for(var o,a=s.length,u=a%3,_=[],w=16383,x=0,C=a-u;x<C;x+=w)_.push(encodeChunk(s,x,x+w>C?C:x+w));1===u?(o=s[a-1],_.push(i[o>>2]+i[o<<4&63]+\"==\")):2===u&&(o=(s[a-2]<<8)+s[a-1],_.push(i[o>>10]+i[o>>4&63]+i[o<<2&63]+\"=\"));return _.join(\"\")};for(var i=[],a=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,_=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",w=0;w<64;++w)i[w]=_[w],a[_.charCodeAt(w)]=w;function getLens(s){var o=s.length;if(o%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var i=s.indexOf(\"=\");return-1===i&&(i=o),[i,i===o?0:4-i%4]}function encodeChunk(s,o,a){for(var u,_,w=[],x=o;x<a;x+=3)u=(s[x]<<16&16711680)+(s[x+1]<<8&65280)+(255&s[x+2]),w.push(i[(_=u)>>18&63]+i[_>>12&63]+i[_>>6&63]+i[63&_]);return w.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},68002:s=>{\"use strict\";s.exports=Math.min},68055:(s,o,i)=>{\"use strict\";var a=i(61626);s.exports=function(s,o,i,u){return u&&u.enumerable?s[o]=i:a(s,o,i),s}},68090:s=>{s.exports=function last(s){var o=null==s?0:s.length;return o?s[o-1]:void 0}},68223:(s,o,i)=>{var a=i(56110)(i(9325),\"Map\");s.exports=a},68294:(s,o,i)=>{var a=i(23007),u=i(30361),_=Math.min;s.exports=function reorder(s,o){for(var i=s.length,w=_(o.length,i),x=a(s);w--;){var C=o[w];s[w]=u(C,i)?x[C]:void 0}return s}},68623:(s,o,i)=>{\"use strict\";var a=i(694);s.exports=a},68882:(s,o,i)=>{var a=i(83488),u=i(48152),_=u?function(s,o){return u.set(s,o),s}:a;s.exports=_},68969:(s,o,i)=>{var a=i(47422),u=i(25160);s.exports=function parent(s,o){return o.length<2?s:a(s,u(o,0,-1))}},69302:(s,o,i)=>{var a=i(83488),u=i(56757),_=i(32865);s.exports=function baseRest(s,o){return _(u(s,o,a),s+\"\")}},69383:s=>{\"use strict\";s.exports=Error},69600:s=>{\"use strict\";var o,i,a=Function.prototype.toString,u=\"object\"==typeof Reflect&&null!==Reflect&&Reflect.apply;if(\"function\"==typeof u&&\"function\"==typeof Object.defineProperty)try{o=Object.defineProperty({},\"length\",{get:function(){throw i}}),i={},u((function(){throw 42}),null,o)}catch(s){s!==i&&(u=null)}else u=null;var _=/^\\s*class\\b/,w=function isES6ClassFunction(s){try{var o=a.call(s);return _.test(o)}catch(s){return!1}},x=function tryFunctionToStr(s){try{return!w(s)&&(a.call(s),!0)}catch(s){return!1}},C=Object.prototype.toString,j=\"function\"==typeof Symbol&&!!Symbol.toStringTag,L=!(0 in[,]),B=function isDocumentDotAll(){return!1};if(\"object\"==typeof document){var $=document.all;C.call($)===C.call(document.all)&&(B=function isDocumentDotAll(s){if((L||!s)&&(void 0===s||\"object\"==typeof s))try{var o=C.call(s);return(\"[object HTMLAllCollection]\"===o||\"[object HTML document.all class]\"===o||\"[object HTMLCollection]\"===o||\"[object Object]\"===o)&&null==s(\"\")}catch(s){}return!1})}s.exports=u?function isCallable(s){if(B(s))return!0;if(!s)return!1;if(\"function\"!=typeof s&&\"object\"!=typeof s)return!1;try{u(s,null,o)}catch(s){if(s!==i)return!1}return!w(s)&&x(s)}:function isCallable(s){if(B(s))return!0;if(!s)return!1;if(\"function\"!=typeof s&&\"object\"!=typeof s)return!1;if(j)return x(s);if(w(s))return!1;var o=C.call(s);return!(\"[object Function]\"!==o&&\"[object GeneratorFunction]\"!==o&&!/^\\[object HTML/.test(o))&&x(s)}},69675:s=>{\"use strict\";s.exports=TypeError},69884:(s,o,i)=>{var a=i(21791),u=i(37241);s.exports=function toPlainObject(s){return a(s,u(s))}},69982:(s,o,i)=>{\"use strict\";s.exports=i(29844)},70080:(s,o,i)=>{var a=i(26025),u=Array.prototype.splice;s.exports=function listCacheDelete(s){var o=this.__data__,i=a(o,s);return!(i<0)&&(i==o.length-1?o.pop():u.call(o,i,1),--this.size,!0)}},70414:s=>{\"use strict\";s.exports=Math.round},70453:(s,o,i)=>{\"use strict\";var a,u=i(79612),_=i(69383),w=i(41237),x=i(79290),C=i(79538),j=i(58068),L=i(69675),B=i(35345),$=i(71514),U=i(58968),V=i(6188),z=i(68002),Y=i(75880),Z=i(70414),ee=i(73093),ie=Function,getEvalledConstructor=function(s){try{return ie('\"use strict\"; return ('+s+\").constructor;\")()}catch(s){}},ae=i(75795),ce=i(30655),throwTypeError=function(){throw new L},le=ae?function(){try{return throwTypeError}catch(s){try{return ae(arguments,\"callee\").get}catch(s){return throwTypeError}}}():throwTypeError,pe=i(64039)(),de=i(93628),fe=i(71064),ye=i(48648),be=i(11002),_e=i(10076),Se={},we=\"undefined\"!=typeof Uint8Array&&de?de(Uint8Array):a,xe={__proto__:null,\"%AggregateError%\":\"undefined\"==typeof AggregateError?a:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":\"undefined\"==typeof ArrayBuffer?a:ArrayBuffer,\"%ArrayIteratorPrototype%\":pe&&de?de([][Symbol.iterator]()):a,\"%AsyncFromSyncIteratorPrototype%\":a,\"%AsyncFunction%\":Se,\"%AsyncGenerator%\":Se,\"%AsyncGeneratorFunction%\":Se,\"%AsyncIteratorPrototype%\":Se,\"%Atomics%\":\"undefined\"==typeof Atomics?a:Atomics,\"%BigInt%\":\"undefined\"==typeof BigInt?a:BigInt,\"%BigInt64Array%\":\"undefined\"==typeof BigInt64Array?a:BigInt64Array,\"%BigUint64Array%\":\"undefined\"==typeof BigUint64Array?a:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":\"undefined\"==typeof DataView?a:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":_,\"%eval%\":eval,\"%EvalError%\":w,\"%Float32Array%\":\"undefined\"==typeof Float32Array?a:Float32Array,\"%Float64Array%\":\"undefined\"==typeof Float64Array?a:Float64Array,\"%FinalizationRegistry%\":\"undefined\"==typeof FinalizationRegistry?a:FinalizationRegistry,\"%Function%\":ie,\"%GeneratorFunction%\":Se,\"%Int8Array%\":\"undefined\"==typeof Int8Array?a:Int8Array,\"%Int16Array%\":\"undefined\"==typeof Int16Array?a:Int16Array,\"%Int32Array%\":\"undefined\"==typeof Int32Array?a:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":pe&&de?de(de([][Symbol.iterator]())):a,\"%JSON%\":\"object\"==typeof JSON?JSON:a,\"%Map%\":\"undefined\"==typeof Map?a:Map,\"%MapIteratorPrototype%\":\"undefined\"!=typeof Map&&pe&&de?de((new Map)[Symbol.iterator]()):a,\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":u,\"%Object.getOwnPropertyDescriptor%\":ae,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":\"undefined\"==typeof Promise?a:Promise,\"%Proxy%\":\"undefined\"==typeof Proxy?a:Proxy,\"%RangeError%\":x,\"%ReferenceError%\":C,\"%Reflect%\":\"undefined\"==typeof Reflect?a:Reflect,\"%RegExp%\":RegExp,\"%Set%\":\"undefined\"==typeof Set?a:Set,\"%SetIteratorPrototype%\":\"undefined\"!=typeof Set&&pe&&de?de((new Set)[Symbol.iterator]()):a,\"%SharedArrayBuffer%\":\"undefined\"==typeof SharedArrayBuffer?a:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":pe&&de?de(\"\"[Symbol.iterator]()):a,\"%Symbol%\":pe?Symbol:a,\"%SyntaxError%\":j,\"%ThrowTypeError%\":le,\"%TypedArray%\":we,\"%TypeError%\":L,\"%Uint8Array%\":\"undefined\"==typeof Uint8Array?a:Uint8Array,\"%Uint8ClampedArray%\":\"undefined\"==typeof Uint8ClampedArray?a:Uint8ClampedArray,\"%Uint16Array%\":\"undefined\"==typeof Uint16Array?a:Uint16Array,\"%Uint32Array%\":\"undefined\"==typeof Uint32Array?a:Uint32Array,\"%URIError%\":B,\"%WeakMap%\":\"undefined\"==typeof WeakMap?a:WeakMap,\"%WeakRef%\":\"undefined\"==typeof WeakRef?a:WeakRef,\"%WeakSet%\":\"undefined\"==typeof WeakSet?a:WeakSet,\"%Function.prototype.call%\":_e,\"%Function.prototype.apply%\":be,\"%Object.defineProperty%\":ce,\"%Object.getPrototypeOf%\":fe,\"%Math.abs%\":$,\"%Math.floor%\":U,\"%Math.max%\":V,\"%Math.min%\":z,\"%Math.pow%\":Y,\"%Math.round%\":Z,\"%Math.sign%\":ee,\"%Reflect.getPrototypeOf%\":ye};if(de)try{null.error}catch(s){var Pe=de(de(s));xe[\"%Error.prototype%\"]=Pe}var Te=function doEval(s){var o;if(\"%AsyncFunction%\"===s)o=getEvalledConstructor(\"async function () {}\");else if(\"%GeneratorFunction%\"===s)o=getEvalledConstructor(\"function* () {}\");else if(\"%AsyncGeneratorFunction%\"===s)o=getEvalledConstructor(\"async function* () {}\");else if(\"%AsyncGenerator%\"===s){var i=doEval(\"%AsyncGeneratorFunction%\");i&&(o=i.prototype)}else if(\"%AsyncIteratorPrototype%\"===s){var a=doEval(\"%AsyncGenerator%\");a&&de&&(o=de(a.prototype))}return xe[s]=o,o},Re={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},$e=i(66743),qe=i(9957),ze=$e.call(_e,Array.prototype.concat),We=$e.call(be,Array.prototype.splice),He=$e.call(_e,String.prototype.replace),Ye=$e.call(_e,String.prototype.slice),Xe=$e.call(_e,RegExp.prototype.exec),Qe=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,et=/\\\\(\\\\)?/g,tt=function getBaseIntrinsic(s,o){var i,a=s;if(qe(Re,a)&&(a=\"%\"+(i=Re[a])[0]+\"%\"),qe(xe,a)){var u=xe[a];if(u===Se&&(u=Te(a)),void 0===u&&!o)throw new L(\"intrinsic \"+s+\" exists, but is not available. Please file an issue!\");return{alias:i,name:a,value:u}}throw new j(\"intrinsic \"+s+\" does not exist!\")};s.exports=function GetIntrinsic(s,o){if(\"string\"!=typeof s||0===s.length)throw new L(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&\"boolean\"!=typeof o)throw new L('\"allowMissing\" argument must be a boolean');if(null===Xe(/^%?[^%]*%?$/,s))throw new j(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var i=function stringToPath(s){var o=Ye(s,0,1),i=Ye(s,-1);if(\"%\"===o&&\"%\"!==i)throw new j(\"invalid intrinsic syntax, expected closing `%`\");if(\"%\"===i&&\"%\"!==o)throw new j(\"invalid intrinsic syntax, expected opening `%`\");var a=[];return He(s,Qe,(function(s,o,i,u){a[a.length]=i?He(u,et,\"$1\"):o||s})),a}(s),a=i.length>0?i[0]:\"\",u=tt(\"%\"+a+\"%\",o),_=u.name,w=u.value,x=!1,C=u.alias;C&&(a=C[0],We(i,ze([0,1],C)));for(var B=1,$=!0;B<i.length;B+=1){var U=i[B],V=Ye(U,0,1),z=Ye(U,-1);if(('\"'===V||\"'\"===V||\"`\"===V||'\"'===z||\"'\"===z||\"`\"===z)&&V!==z)throw new j(\"property names with quotes must have matching quotes\");if(\"constructor\"!==U&&$||(x=!0),qe(xe,_=\"%\"+(a+=\".\"+U)+\"%\"))w=xe[_];else if(null!=w){if(!(U in w)){if(!o)throw new L(\"base intrinsic for \"+s+\" exists, but the property is not available.\");return}if(ae&&B+1>=i.length){var Y=ae(w,U);w=($=!!Y)&&\"get\"in Y&&!(\"originalValue\"in Y.get)?Y.get:w[U]}else $=qe(w,U),w=w[U];$&&!x&&(xe[_]=w)}}return w}},70470:(s,o,i)=>{\"use strict\";var a=i(46028),u=i(25594);s.exports=function(s){var o=a(s,\"string\");return u(o)?o:o+\"\"}},70695:(s,o,i)=>{var a=i(78096),u=i(72428),_=i(56449),w=i(3656),x=i(30361),C=i(37167),j=Object.prototype.hasOwnProperty;s.exports=function arrayLikeKeys(s,o){var i=_(s),L=!i&&u(s),B=!i&&!L&&w(s),$=!i&&!L&&!B&&C(s),U=i||L||B||$,V=U?a(s.length,String):[],z=V.length;for(var Y in s)!o&&!j.call(s,Y)||U&&(\"length\"==Y||B&&(\"offset\"==Y||\"parent\"==Y)||$&&(\"buffer\"==Y||\"byteLength\"==Y||\"byteOffset\"==Y)||x(Y,z))||V.push(Y);return V}},70981:(s,o,i)=>{var a=i(75251),u=i(62060),_=i(32865),w=i(75948);s.exports=function setWrapToString(s,o,i){var x=o+\"\";return _(s,u(x,w(a(x),i)))}},71064:(s,o,i)=>{\"use strict\";var a=i(79612);s.exports=a.getPrototypeOf||null},71167:(s,o,i)=>{const a=i(10316);s.exports=class StringElement extends a{constructor(s,o,i){super(s,o,i),this.element=\"string\"}primitive(){return\"string\"}get length(){return this.content.length}}},71340:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(29538);a({target:\"Object\",stat:!0,arity:2,forced:Object.assign!==u},{assign:u})},71514:s=>{\"use strict\";s.exports=Math.abs},71961:(s,o,i)=>{var a=i(49653);s.exports=function cloneTypedArray(s,o){var i=o?a(s.buffer):s.buffer;return new s.constructor(i,s.byteOffset,s.length)}},72428:(s,o,i)=>{var a=i(27534),u=i(40346),_=Object.prototype,w=_.hasOwnProperty,x=_.propertyIsEnumerable,C=a(function(){return arguments}())?a:function(s){return u(s)&&w.call(s,\"callee\")&&!x.call(s,\"callee\")};s.exports=C},72552:(s,o,i)=>{var a=i(51873),u=i(659),_=i(59350),w=a?a.toStringTag:void 0;s.exports=function baseGetTag(s){return null==s?void 0===s?\"[object Undefined]\":\"[object Null]\":w&&w in Object(s)?u(s):_(s)}},72903:(s,o,i)=>{var a=i(23805),u=i(55527),_=i(90181),w=Object.prototype.hasOwnProperty;s.exports=function baseKeysIn(s){if(!a(s))return _(s);var o=u(s),i=[];for(var x in s)(\"constructor\"!=x||!o&&w.call(s,x))&&i.push(x);return i}},72949:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheSet(s,o){var i=a(this,s),u=i.size;return i.set(s,o),this.size+=i.size==u?0:1,this}},73093:(s,o,i)=>{\"use strict\";var a=i(94459);s.exports=function sign(s){return a(s)||0===s?s:s<0?-1:1}},73126:(s,o,i)=>{\"use strict\";var a=i(66743),u=i(69675),_=i(10076),w=i(13144);s.exports=function callBindBasic(s){if(s.length<1||\"function\"!=typeof s[0])throw new u(\"a function is required\");return w(a,_,s)}},73170:(s,o,i)=>{var a=i(16547),u=i(31769),_=i(30361),w=i(23805),x=i(77797);s.exports=function baseSet(s,o,i,C){if(!w(s))return s;for(var j=-1,L=(o=u(o,s)).length,B=L-1,$=s;null!=$&&++j<L;){var U=x(o[j]),V=i;if(\"__proto__\"===U||\"constructor\"===U||\"prototype\"===U)return s;if(j!=B){var z=$[U];void 0===(V=C?C(z,U,$):void 0)&&(V=w(z)?z:_(o[j+1])?[]:{})}a($,U,V),$=$[U]}return s}},73201:s=>{var o=/\\w*$/;s.exports=function cloneRegExp(s){var i=new s.constructor(s.source,o.exec(s));return i.lastIndex=s.lastIndex,i}},73402:s=>{function concat(...s){return s.map((s=>function source(s){return s?\"string\"==typeof s?s:s.source:null}(s))).join(\"\")}s.exports=function http(s){const o=\"HTTP/(2|1\\\\.[01])\",i={className:\"attribute\",begin:concat(\"^\",/[A-Za-z][A-Za-z0-9-]*/,\"(?=\\\\:\\\\s)\"),starts:{contains:[{className:\"punctuation\",begin:/: /,relevance:0,starts:{end:\"$\",relevance:0}}]}},a=[i,{begin:\"\\\\n\\\\n\",starts:{subLanguage:[],endsWithParent:!0}}];return{name:\"HTTP\",aliases:[\"https\"],illegal:/\\S/,contains:[{begin:\"^(?=\"+o+\" \\\\d{3})\",end:/$/,contains:[{className:\"meta\",begin:o},{className:\"number\",begin:\"\\\\b\\\\d{3}\\\\b\"}],starts:{end:/\\b\\B/,illegal:/\\S/,contains:a}},{begin:\"(?=^[A-Z]+ (.*?) \"+o+\"$)\",end:/$/,contains:[{className:\"string\",begin:\" \",end:\" \",excludeBegin:!0,excludeEnd:!0},{className:\"meta\",begin:o},{className:\"keyword\",begin:\"[A-Z]+\"}],starts:{end:/\\b\\B/,illegal:/\\S/,contains:a}},s.inherit(i,{relevance:0})]}}},73424:(s,o,i)=>{var a=i(16962),u=i(2874),_=Array.prototype.push;function baseAry(s,o){return 2==o?function(o,i){return s(o,i)}:function(o){return s(o)}}function cloneArray(s){for(var o=s?s.length:0,i=Array(o);o--;)i[o]=s[o];return i}function wrapImmutable(s,o){return function(){var i=arguments.length;if(i){for(var a=Array(i);i--;)a[i]=arguments[i];var u=a[0]=o.apply(void 0,a);return s.apply(void 0,a),u}}}s.exports=function baseConvert(s,o,i,w){var x=\"function\"==typeof o,C=o===Object(o);if(C&&(w=i,i=o,o=void 0),null==i)throw new TypeError;w||(w={});var j=!(\"cap\"in w)||w.cap,L=!(\"curry\"in w)||w.curry,B=!(\"fixed\"in w)||w.fixed,$=!(\"immutable\"in w)||w.immutable,U=!(\"rearg\"in w)||w.rearg,V=x?i:u,z=\"curry\"in w&&w.curry,Y=\"fixed\"in w&&w.fixed,Z=\"rearg\"in w&&w.rearg,ee=x?i.runInContext():void 0,ie=x?i:{ary:s.ary,assign:s.assign,clone:s.clone,curry:s.curry,forEach:s.forEach,isArray:s.isArray,isError:s.isError,isFunction:s.isFunction,isWeakMap:s.isWeakMap,iteratee:s.iteratee,keys:s.keys,rearg:s.rearg,toInteger:s.toInteger,toPath:s.toPath},ae=ie.ary,ce=ie.assign,le=ie.clone,pe=ie.curry,de=ie.forEach,fe=ie.isArray,ye=ie.isError,be=ie.isFunction,_e=ie.isWeakMap,Se=ie.keys,we=ie.rearg,xe=ie.toInteger,Pe=ie.toPath,Te=Se(a.aryMethod),Re={castArray:function(s){return function(){var o=arguments[0];return fe(o)?s(cloneArray(o)):s.apply(void 0,arguments)}},iteratee:function(s){return function(){var o=arguments[1],i=s(arguments[0],o),a=i.length;return j&&\"number\"==typeof o?(o=o>2?o-2:1,a&&a<=o?i:baseAry(i,o)):i}},mixin:function(s){return function(o){var i=this;if(!be(i))return s(i,Object(o));var a=[];return de(Se(o),(function(s){be(o[s])&&a.push([s,i.prototype[s]])})),s(i,Object(o)),de(a,(function(s){var o=s[1];be(o)?i.prototype[s[0]]=o:delete i.prototype[s[0]]})),i}},nthArg:function(s){return function(o){var i=o<0?1:xe(o)+1;return pe(s(o),i)}},rearg:function(s){return function(o,i){var a=i?i.length:0;return pe(s(o,i),a)}},runInContext:function(o){return function(i){return baseConvert(s,o(i),w)}}};function castCap(s,o){if(j){var i=a.iterateeRearg[s];if(i)return function iterateeRearg(s,o){return overArg(s,(function(s){var i=o.length;return function baseArity(s,o){return 2==o?function(o,i){return s.apply(void 0,arguments)}:function(o){return s.apply(void 0,arguments)}}(we(baseAry(s,i),o),i)}))}(o,i);var u=!x&&a.iterateeAry[s];if(u)return function iterateeAry(s,o){return overArg(s,(function(s){return\"function\"==typeof s?baseAry(s,o):s}))}(o,u)}return o}function castFixed(s,o,i){if(B&&(Y||!a.skipFixed[s])){var u=a.methodSpread[s],w=u&&u.start;return void 0===w?ae(o,i):function flatSpread(s,o){return function(){for(var i=arguments.length,a=i-1,u=Array(i);i--;)u[i]=arguments[i];var w=u[o],x=u.slice(0,o);return w&&_.apply(x,w),o!=a&&_.apply(x,u.slice(o+1)),s.apply(this,x)}}(o,w)}return o}function castRearg(s,o,i){return U&&i>1&&(Z||!a.skipRearg[s])?we(o,a.methodRearg[s]||a.aryRearg[i]):o}function cloneByPath(s,o){for(var i=-1,a=(o=Pe(o)).length,u=a-1,_=le(Object(s)),w=_;null!=w&&++i<a;){var x=o[i],C=w[x];null==C||be(C)||ye(C)||_e(C)||(w[x]=le(i==u?C:Object(C))),w=w[x]}return _}function createConverter(s,o){var i=a.aliasToReal[s]||s,u=a.remap[i]||i,_=w;return function(s){var a=x?ee:ie,w=x?ee[u]:o,C=ce(ce({},_),s);return baseConvert(a,i,w,C)}}function overArg(s,o){return function(){var i=arguments.length;if(!i)return s();for(var a=Array(i);i--;)a[i]=arguments[i];var u=U?0:i-1;return a[u]=o(a[u]),s.apply(void 0,a)}}function wrap(s,o,i){var u,_=a.aliasToReal[s]||s,w=o,x=Re[_];return x?w=x(o):$&&(a.mutate.array[_]?w=wrapImmutable(o,cloneArray):a.mutate.object[_]?w=wrapImmutable(o,function createCloner(s){return function(o){return s({},o)}}(o)):a.mutate.set[_]&&(w=wrapImmutable(o,cloneByPath))),de(Te,(function(s){return de(a.aryMethod[s],(function(o){if(_==o){var i=a.methodSpread[_],x=i&&i.afterRearg;return u=x?castFixed(_,castRearg(_,w,s),s):castRearg(_,castFixed(_,w,s),s),u=function castCurry(s,o,i){return z||L&&i>1?pe(o,i):o}(0,u=castCap(_,u),s),!1}})),!u})),u||(u=w),u==o&&(u=z?pe(u,1):function(){return o.apply(this,arguments)}),u.convert=createConverter(_,o),u.placeholder=o.placeholder=i,u}if(!C)return wrap(o,i,V);var $e=i,qe=[];return de(Te,(function(s){de(a.aryMethod[s],(function(s){var o=$e[a.remap[s]||s];o&&qe.push([s,wrap(s,o,$e)])}))})),de(Se($e),(function(s){var o=$e[s];if(\"function\"==typeof o){for(var i=qe.length;i--;)if(qe[i][0]==s)return;o.convert=createConverter(s,o),qe.push([s,o])}})),de(qe,(function(s){$e[s[0]]=s[1]})),$e.convert=function convertLib(s){return $e.runInContext.convert(s)(void 0)},$e.placeholder=$e,de(Se($e),(function(s){de(a.realToAlias[s]||[],(function(o){$e[o]=$e[s]}))})),$e}},73448:(s,o,i)=>{\"use strict\";var a=i(73948),u=i(29367),_=i(87136),w=i(93742),x=i(76264)(\"iterator\");s.exports=function(s){if(!_(s))return u(s,x)||u(s,\"@@iterator\")||w[a(s)]}},73648:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(98828),_=i(49552);s.exports=!a&&!u((function(){return 7!==Object.defineProperty(_(\"div\"),\"a\",{get:function(){return 7}}).a}))},73948:(s,o,i)=>{\"use strict\";var a=i(52623),u=i(62250),_=i(45807),w=i(76264)(\"toStringTag\"),x=Object,C=\"Arguments\"===_(function(){return arguments}());s.exports=a?_:function(s){var o,i,a;return void 0===s?\"Undefined\":null===s?\"Null\":\"string\"==typeof(i=function(s,o){try{return s[o]}catch(s){}}(o=x(s),w))?i:C?_(o):\"Object\"===(a=_(o))&&u(o.callee)?\"Arguments\":a}},73992:(s,o)=>{\"use strict\";var i=Object.prototype.hasOwnProperty;function decode(s){try{return decodeURIComponent(s.replace(/\\+/g,\" \"))}catch(s){return null}}function encode(s){try{return encodeURIComponent(s)}catch(s){return null}}o.stringify=function querystringify(s,o){o=o||\"\";var a,u,_=[];for(u in\"string\"!=typeof o&&(o=\"?\"),s)if(i.call(s,u)){if((a=s[u])||null!=a&&!isNaN(a)||(a=\"\"),u=encode(u),a=encode(a),null===u||null===a)continue;_.push(u+\"=\"+a)}return _.length?o+_.join(\"&\"):\"\"},o.parse=function querystring(s){for(var o,i=/([^=?#&]+)=?([^&]*)/g,a={};o=i.exec(s);){var u=decode(o[1]),_=decode(o[2]);null===u||null===_||u in a||(a[u]=_)}return a}},74218:s=>{s.exports=function isKeyable(s){var o=typeof s;return\"string\"==o||\"number\"==o||\"symbol\"==o||\"boolean\"==o?\"__proto__\"!==s:null===s}},74239:(s,o,i)=>{\"use strict\";var a=i(87136),u=TypeError;s.exports=function(s){if(a(s))throw new u(\"Can't call method on \"+s);return s}},74284:(s,o,i)=>{\"use strict\";var a=i(39447),u=i(73648),_=i(58661),w=i(36624),x=i(70470),C=TypeError,j=Object.defineProperty,L=Object.getOwnPropertyDescriptor,B=\"enumerable\",$=\"configurable\",U=\"writable\";o.f=a?_?function defineProperty(s,o,i){if(w(s),o=x(o),w(i),\"function\"==typeof s&&\"prototype\"===o&&\"value\"in i&&U in i&&!i[U]){var a=L(s,o);a&&a[U]&&(s[o]=i.value,i={configurable:$ in i?i[$]:a[$],enumerable:B in i?i[B]:a[B],writable:!1})}return j(s,o,i)}:j:function defineProperty(s,o,i){if(w(s),o=x(o),w(i),u)try{return j(s,o,i)}catch(s){}if(\"get\"in i||\"set\"in i)throw new C(\"Accessors not supported\");return\"value\"in i&&(s[o]=i.value),s}},74335:s=>{s.exports=function overArg(s,o){return function(i){return s(o(i))}}},74372:(s,o,i)=>{\"use strict\";var a=i(69675),u=i(36556)(\"TypedArray.prototype.buffer\",!0),_=i(35680);s.exports=u||function typedArrayBuffer(s){if(!_(s))throw new a(\"Not a Typed Array\");return s.buffer}},74436:(s,o,i)=>{\"use strict\";var a=i(4993),u=i(34849),_=i(20575),createMethod=function(s){return function(o,i,w){var x=a(o),C=_(x);if(0===C)return!s&&-1;var j,L=u(w,C);if(s&&i!=i){for(;C>L;)if((j=x[L++])!=j)return!0}else for(;C>L;L++)if((s||L in x)&&x[L]===i)return s||L||0;return!s&&-1}};s.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},74610:(s,o,i)=>{\"use strict\";s.exports=Transform;var a=i(86048).F,u=a.ERR_METHOD_NOT_IMPLEMENTED,_=a.ERR_MULTIPLE_CALLBACK,w=a.ERR_TRANSFORM_ALREADY_TRANSFORMING,x=a.ERR_TRANSFORM_WITH_LENGTH_0,C=i(25382);function afterTransform(s,o){var i=this._transformState;i.transforming=!1;var a=i.writecb;if(null===a)return this.emit(\"error\",new _);i.writechunk=null,i.writecb=null,null!=o&&this.push(o),a(s);var u=this._readableState;u.reading=!1,(u.needReadable||u.length<u.highWaterMark)&&this._read(u.highWaterMark)}function Transform(s){if(!(this instanceof Transform))return new Transform(s);C.call(this,s),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,s&&(\"function\"==typeof s.transform&&(this._transform=s.transform),\"function\"==typeof s.flush&&(this._flush=s.flush)),this.on(\"prefinish\",prefinish)}function prefinish(){var s=this;\"function\"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush((function(o,i){done(s,o,i)}))}function done(s,o,i){if(o)return s.emit(\"error\",o);if(null!=i&&s.push(i),s._writableState.length)throw new x;if(s._transformState.transforming)throw new w;return s.push(null)}i(56698)(Transform,C),Transform.prototype.push=function(s,o){return this._transformState.needTransform=!1,C.prototype.push.call(this,s,o)},Transform.prototype._transform=function(s,o,i){i(new u(\"_transform()\"))},Transform.prototype._write=function(s,o,i){var a=this._transformState;if(a.writecb=i,a.writechunk=s,a.writeencoding=o,!a.transforming){var u=this._readableState;(a.needTransform||u.needReadable||u.length<u.highWaterMark)&&this._read(u.highWaterMark)}},Transform.prototype._read=function(s){var o=this._transformState;null===o.writechunk||o.transforming?o.needTransform=!0:(o.transforming=!0,this._transform(o.writechunk,o.writeencoding,o.afterTransform))},Transform.prototype._destroy=function(s,o){C.prototype._destroy.call(this,s,(function(s){o(s)}))}},74733:(s,o,i)=>{var a=i(21791),u=i(95950);s.exports=function baseAssign(s,o){return s&&a(o,u(o),s)}},75147:(s,o,i)=>{const a=i(85105);s.exports=class JSON06Serialiser extends a{serialise(s){if(!(s instanceof this.namespace.elements.Element))throw new TypeError(`Given element \\`${s}\\` is not an Element instance`);let o;s._attributes&&s.attributes.get(\"variable\")&&(o=s.attributes.get(\"variable\"));const i={element:s.element};s._meta&&s._meta.length>0&&(i.meta=this.serialiseObject(s.meta));const a=\"enum\"===s.element||-1!==s.attributes.keys().indexOf(\"enumerations\");if(a){const o=this.enumSerialiseAttributes(s);o&&(i.attributes=o)}else if(s._attributes&&s._attributes.length>0){let{attributes:a}=s;a.get(\"metadata\")&&(a=a.clone(),a.set(\"meta\",a.get(\"metadata\")),a.remove(\"metadata\")),\"member\"===s.element&&o&&(a=a.clone(),a.remove(\"variable\")),a.length>0&&(i.attributes=this.serialiseObject(a))}if(a)i.content=this.enumSerialiseContent(s,i);else if(this[`${s.element}SerialiseContent`])i.content=this[`${s.element}SerialiseContent`](s,i);else if(void 0!==s.content){let a;o&&s.content.key?(a=s.content.clone(),a.key.attributes.set(\"variable\",o),a=this.serialiseContent(a)):a=this.serialiseContent(s.content),this.shouldSerialiseContent(s,a)&&(i.content=a)}else this.shouldSerialiseContent(s,s.content)&&s instanceof this.namespace.elements.Array&&(i.content=[]);return i}shouldSerialiseContent(s,o){return\"parseResult\"===s.element||\"httpRequest\"===s.element||\"httpResponse\"===s.element||\"category\"===s.element||\"link\"===s.element||void 0!==o&&(!Array.isArray(o)||0!==o.length)}refSerialiseContent(s,o){return delete o.attributes,{href:s.toValue(),path:s.path.toValue()}}sourceMapSerialiseContent(s){return s.toValue()}dataStructureSerialiseContent(s){return[this.serialiseContent(s.content)]}enumSerialiseAttributes(s){const o=s.attributes.clone(),i=o.remove(\"enumerations\")||new this.namespace.elements.Array([]),a=o.get(\"default\");let u=o.get(\"samples\")||new this.namespace.elements.Array([]);if(a&&a.content&&(a.content.attributes&&a.content.attributes.remove(\"typeAttributes\"),o.set(\"default\",new this.namespace.elements.Array([a.content]))),u.forEach((s=>{s.content&&s.content.element&&s.content.attributes.remove(\"typeAttributes\")})),s.content&&0!==i.length&&u.unshift(s.content),u=u.map((s=>s instanceof this.namespace.elements.Array?[s]:new this.namespace.elements.Array([s.content]))),u.length&&o.set(\"samples\",u),o.length>0)return this.serialiseObject(o)}enumSerialiseContent(s){if(s._attributes){const o=s.attributes.get(\"enumerations\");if(o&&o.length>0)return o.content.map((s=>{const o=s.clone();return o.attributes.remove(\"typeAttributes\"),this.serialise(o)}))}if(s.content){const o=s.content.clone();return o.attributes.remove(\"typeAttributes\"),[this.serialise(o)]}return[]}deserialise(s){if(\"string\"==typeof s)return new this.namespace.elements.String(s);if(\"number\"==typeof s)return new this.namespace.elements.Number(s);if(\"boolean\"==typeof s)return new this.namespace.elements.Boolean(s);if(null===s)return new this.namespace.elements.Null;if(Array.isArray(s))return new this.namespace.elements.Array(s.map(this.deserialise,this));const o=this.namespace.getElementClass(s.element),i=new o;i.element!==s.element&&(i.element=s.element),s.meta&&this.deserialiseObject(s.meta,i.meta),s.attributes&&this.deserialiseObject(s.attributes,i.attributes);const a=this.deserialiseContent(s.content);if(void 0===a&&null!==i.content||(i.content=a),\"enum\"===i.element){i.content&&i.attributes.set(\"enumerations\",i.content);let s=i.attributes.get(\"samples\");if(i.attributes.remove(\"samples\"),s){const a=s;s=new this.namespace.elements.Array,a.forEach((a=>{a.forEach((a=>{const u=new o(a);u.element=i.element,s.push(u)}))}));const u=s.shift();i.content=u?u.content:void 0,i.attributes.set(\"samples\",s)}else i.content=void 0;let a=i.attributes.get(\"default\");if(a&&a.length>0){a=a.get(0);const s=new o(a);s.element=i.element,i.attributes.set(\"default\",s)}}else if(\"dataStructure\"===i.element&&Array.isArray(i.content))[i.content]=i.content;else if(\"category\"===i.element){const s=i.attributes.get(\"meta\");s&&(i.attributes.set(\"metadata\",s),i.attributes.remove(\"meta\"))}else\"member\"===i.element&&i.key&&i.key._attributes&&i.key._attributes.getValue(\"variable\")&&(i.attributes.set(\"variable\",i.key.attributes.get(\"variable\")),i.key.attributes.remove(\"variable\"));return i}serialiseContent(s){if(s instanceof this.namespace.elements.Element)return this.serialise(s);if(s instanceof this.namespace.KeyValuePair){const o={key:this.serialise(s.key)};return s.value&&(o.value=this.serialise(s.value)),o}return s&&s.map?s.map(this.serialise,this):s}deserialiseContent(s){if(s){if(s.element)return this.deserialise(s);if(s.key){const o=new this.namespace.KeyValuePair(this.deserialise(s.key));return s.value&&(o.value=this.deserialise(s.value)),o}if(s.map)return s.map(this.deserialise,this)}return s}shouldRefract(s){return!!(s._attributes&&s.attributes.keys().length||s._meta&&s.meta.keys().length)||\"enum\"!==s.element&&(s.element!==s.primitive()||\"member\"===s.element)}convertKeyToRefract(s,o){return this.shouldRefract(o)?this.serialise(o):\"enum\"===o.element?this.serialiseEnum(o):\"array\"===o.element?o.map((o=>this.shouldRefract(o)||\"default\"===s?this.serialise(o):\"array\"===o.element||\"object\"===o.element||\"enum\"===o.element?o.children.map((s=>this.serialise(s))):o.toValue())):\"object\"===o.element?(o.content||[]).map(this.serialise,this):o.toValue()}serialiseEnum(s){return s.children.map((s=>this.serialise(s)))}serialiseObject(s){const o={};return s.forEach(((s,i)=>{if(s){const a=i.toValue();o[a]=this.convertKeyToRefract(a,s)}})),o}deserialiseObject(s,o){Object.keys(s).forEach((i=>{o.set(i,this.deserialise(s[i]))}))}}},75208:s=>{\"use strict\";var o,i=\"\";s.exports=function repeat(s,a){if(\"string\"!=typeof s)throw new TypeError(\"expected a string\");if(1===a)return s;if(2===a)return s+s;var u=s.length*a;if(o!==s||void 0===o)o=s,i=\"\";else if(i.length>=u)return i.substr(0,u);for(;u>i.length&&a>1;)1&a&&(i+=s),a>>=1,s+=s;return i=(i+=s).substr(0,u)}},75251:s=>{var o=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,i=/,? & /;s.exports=function getWrapDetails(s){var a=s.match(o);return a?a[1].split(i):[]}},75288:s=>{s.exports=function eq(s,o){return s===o||s!=s&&o!=o}},75795:(s,o,i)=>{\"use strict\";var a=i(6549);if(a)try{a([],\"length\")}catch(s){a=null}s.exports=a},75817:s=>{\"use strict\";s.exports=function(s,o){return{enumerable:!(1&s),configurable:!(2&s),writable:!(4&s),value:o}}},75880:s=>{\"use strict\";s.exports=Math.pow},75896:(s,o,i)=>{\"use strict\";var a=i(65606);function emitErrorAndCloseNT(s,o){emitErrorNT(s,o),emitCloseNT(s)}function emitCloseNT(s){s._writableState&&!s._writableState.emitClose||s._readableState&&!s._readableState.emitClose||s.emit(\"close\")}function emitErrorNT(s,o){s.emit(\"error\",o)}s.exports={destroy:function destroy(s,o){var i=this,u=this._readableState&&this._readableState.destroyed,_=this._writableState&&this._writableState.destroyed;return u||_?(o?o(s):s&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,a.nextTick(emitErrorNT,this,s)):a.nextTick(emitErrorNT,this,s)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(s||null,(function(s){!o&&s?i._writableState?i._writableState.errorEmitted?a.nextTick(emitCloseNT,i):(i._writableState.errorEmitted=!0,a.nextTick(emitErrorAndCloseNT,i,s)):a.nextTick(emitErrorAndCloseNT,i,s):o?(a.nextTick(emitCloseNT,i),o(s)):a.nextTick(emitCloseNT,i)})),this)},undestroy:function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function errorOrDestroy(s,o){var i=s._readableState,a=s._writableState;i&&i.autoDestroy||a&&a.autoDestroy?s.destroy(o):s.emit(\"error\",o)}}},75948:(s,o,i)=>{var a=i(83729),u=i(15325),_=[[\"ary\",128],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",32],[\"partialRight\",64],[\"rearg\",256]];s.exports=function updateWrapDetails(s,o){return a(_,(function(i){var a=\"_.\"+i[0];o&i[1]&&!u(s,a)&&s.push(a)})),s.sort()}},76024:(s,o,i)=>{\"use strict\";var a=i(41505),u=Function.prototype,_=u.apply,w=u.call;s.exports=\"object\"==typeof Reflect&&Reflect.apply||(a?w.bind(_):function(){return w.apply(_,arguments)})},76169:(s,o,i)=>{var a=i(49653);s.exports=function cloneDataView(s,o){var i=o?a(s.buffer):s.buffer;return new s.constructor(i,s.byteOffset,s.byteLength)}},76189:s=>{var o=Object.prototype.hasOwnProperty;s.exports=function initCloneArray(s){var i=s.length,a=new s.constructor(i);return i&&\"string\"==typeof s[0]&&o.call(s,\"index\")&&(a.index=s.index,a.input=s.input),a}},76264:(s,o,i)=>{\"use strict\";var a=i(45951),u=i(85816),_=i(49724),w=i(6499),x=i(19846),C=i(51175),j=a.Symbol,L=u(\"wks\"),B=C?j.for||j:j&&j.withoutSetter||w;s.exports=function(s){return _(L,s)||(L[s]=x&&_(j,s)?j[s]:B(\"Symbol.\"+s)),L[s]}},76545:(s,o,i)=>{var a=i(56110)(i(9325),\"Set\");s.exports=a},76578:s=>{\"use strict\";s.exports=[\"Float16Array\",\"Float32Array\",\"Float64Array\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"BigInt64Array\",\"BigUint64Array\"]},76959:s=>{s.exports=function strictIndexOf(s,o,i){for(var a=i-1,u=s.length;++a<u;)if(s[a]===o)return a;return-1}},77078:(s,o,i)=>{var a=i(91033),u=i(82819),_=i(37471),w=i(18073),x=i(11287),C=i(36306),j=i(9325);s.exports=function createCurry(s,o,i){var L=u(s);return function wrapper(){for(var u=arguments.length,B=Array(u),$=u,U=x(wrapper);$--;)B[$]=arguments[$];var V=u<3&&B[0]!==U&&B[u-1]!==U?[]:C(B,U);return(u-=V.length)<i?w(s,o,_,wrapper.placeholder,void 0,B,V,void 0,void 0,i-u):a(this&&this!==j&&this instanceof wrapper?L:s,this,B)}}},77199:(s,o,i)=>{var a=i(49653),u=i(76169),_=i(73201),w=i(93736),x=i(71961);s.exports=function initCloneByTag(s,o,i){var C=s.constructor;switch(o){case\"[object ArrayBuffer]\":return a(s);case\"[object Boolean]\":case\"[object Date]\":return new C(+s);case\"[object DataView]\":return u(s,i);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return x(s,i);case\"[object Map]\":case\"[object Set]\":return new C;case\"[object Number]\":case\"[object String]\":return new C(s);case\"[object RegExp]\":return _(s);case\"[object Symbol]\":return w(s)}}},77556:(s,o,i)=>{var a=i(51873),u=i(34932),_=i(56449),w=i(44394),x=a?a.prototype:void 0,C=x?x.toString:void 0;s.exports=function baseToString(s){if(\"string\"==typeof s)return s;if(_(s))return u(s,baseToString)+\"\";if(w(s))return C?C.call(s):\"\";var o=s+\"\";return\"0\"==o&&1/s==-1/0?\"-0\":o}},77731:(s,o,i)=>{var a=i(79920)(\"set\",i(63560));a.placeholder=i(2874),s.exports=a},77797:(s,o,i)=>{var a=i(44394);s.exports=function toKey(s){if(\"string\"==typeof s||a(s))return s;var o=s+\"\";return\"0\"==o&&1/s==-1/0?\"-0\":o}},78004:s=>{\"use strict\";class SubRange{constructor(s,o){this.low=s,this.high=o,this.length=1+o-s}overlaps(s){return!(this.high<s.low||this.low>s.high)}touches(s){return!(this.high+1<s.low||this.low-1>s.high)}add(s){return new SubRange(Math.min(this.low,s.low),Math.max(this.high,s.high))}subtract(s){return s.low<=this.low&&s.high>=this.high?[]:s.low>this.low&&s.high<this.high?[new SubRange(this.low,s.low-1),new SubRange(s.high+1,this.high)]:s.low<=this.low?[new SubRange(s.high+1,this.high)]:[new SubRange(this.low,s.low-1)]}toString(){return this.low==this.high?this.low.toString():this.low+\"-\"+this.high}}class DRange{constructor(s,o){this.ranges=[],this.length=0,null!=s&&this.add(s,o)}_update_length(){this.length=this.ranges.reduce(((s,o)=>s+o.length),0)}add(s,o){var _add=s=>{for(var o=0;o<this.ranges.length&&!s.touches(this.ranges[o]);)o++;for(var i=this.ranges.slice(0,o);o<this.ranges.length&&s.touches(this.ranges[o]);)s=s.add(this.ranges[o]),o++;i.push(s),this.ranges=i.concat(this.ranges.slice(o)),this._update_length()};return s instanceof DRange?s.ranges.forEach(_add):(null==o&&(o=s),_add(new SubRange(s,o))),this}subtract(s,o){var _subtract=s=>{for(var o=0;o<this.ranges.length&&!s.overlaps(this.ranges[o]);)o++;for(var i=this.ranges.slice(0,o);o<this.ranges.length&&s.overlaps(this.ranges[o]);)i=i.concat(this.ranges[o].subtract(s)),o++;this.ranges=i.concat(this.ranges.slice(o)),this._update_length()};return s instanceof DRange?s.ranges.forEach(_subtract):(null==o&&(o=s),_subtract(new SubRange(s,o))),this}intersect(s,o){var i=[],_intersect=s=>{for(var o=0;o<this.ranges.length&&!s.overlaps(this.ranges[o]);)o++;for(;o<this.ranges.length&&s.overlaps(this.ranges[o]);){var a=Math.max(this.ranges[o].low,s.low),u=Math.min(this.ranges[o].high,s.high);i.push(new SubRange(a,u)),o++}};return s instanceof DRange?s.ranges.forEach(_intersect):(null==o&&(o=s),_intersect(new SubRange(s,o))),this.ranges=i,this._update_length(),this}index(s){for(var o=0;o<this.ranges.length&&this.ranges[o].length<=s;)s-=this.ranges[o].length,o++;return this.ranges[o].low+s}toString(){return\"[ \"+this.ranges.join(\", \")+\" ]\"}clone(){return new DRange(this)}numbers(){return this.ranges.reduce(((s,o)=>{for(var i=o.low;i<=o.high;)s.push(i),i++;return s}),[])}subranges(){return this.ranges.map((s=>({low:s.low,high:s.high,length:1+s.high-s.low})))}}s.exports=DRange},78096:s=>{s.exports=function baseTimes(s,o){for(var i=-1,a=Array(s);++i<s;)a[i]=o(i);return a}},78418:(s,o,i)=>{\"use strict\";i(85160)},79192:(s,o,i)=>{\"use strict\";var a=i(51871),u=i(46285),_=i(74239),w=i(10043);s.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var s,o=!1,i={};try{(s=a(Object.prototype,\"__proto__\",\"set\"))(i,[]),o=i instanceof Array}catch(s){}return function setPrototypeOf(i,a){return _(i),w(a),u(i)?(o?s(i,a):i.__proto__=a,i):i}}():void 0)},79290:s=>{\"use strict\";s.exports=RangeError},79307:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(44673);a({target:\"Function\",proto:!0,forced:Function.bind!==u},{bind:u})},79538:s=>{\"use strict\";s.exports=ReferenceError},79612:s=>{\"use strict\";s.exports=Object},79770:s=>{s.exports=function arrayFilter(s,o){for(var i=-1,a=null==s?0:s.length,u=0,_=[];++i<a;){var w=s[i];o(w,i,s)&&(_[u++]=w)}return _}},79838:()=>{},79920:(s,o,i)=>{var a=i(73424),u=i(47934);s.exports=function convert(s,o,i){return a(u,s,o,i)}},80079:(s,o,i)=>{var a=i(63702),u=i(70080),_=i(24739),w=i(48655),x=i(31175);function ListCache(s){var o=-1,i=null==s?0:s.length;for(this.clear();++o<i;){var a=s[o];this.set(a[0],a[1])}}ListCache.prototype.clear=a,ListCache.prototype.delete=u,ListCache.prototype.get=_,ListCache.prototype.has=w,ListCache.prototype.set=x,s.exports=ListCache},80218:(s,o,i)=>{var a=i(13222);s.exports=function toLower(s){return a(s).toLowerCase()}},80257:(s,o,i)=>{var a=i(30980),u=i(56017),_=i(23007);s.exports=function wrapperClone(s){if(s instanceof a)return s.clone();var o=new u(s.__wrapped__,s.__chain__);return o.__actions__=_(s.__actions__),o.__index__=s.__index__,o.__values__=s.__values__,o}},80345:(s,o,i)=>{\"use strict\";function ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?ownKeys(Object(i),!0).forEach((function(o){_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}function _defineProperty(s,o,i){return(o=_toPropertyKey(o))in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}function _defineProperties(s,o){for(var i=0;i<o.length;i++){var a=o[i];a.enumerable=a.enumerable||!1,a.configurable=!0,\"value\"in a&&(a.writable=!0),Object.defineProperty(s,_toPropertyKey(a.key),a)}}function _toPropertyKey(s){var o=function _toPrimitive(s,o){if(\"object\"!=typeof s||null===s)return s;var i=s[Symbol.toPrimitive];if(void 0!==i){var a=i.call(s,o||\"default\");if(\"object\"!=typeof a)return a;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===o?String:Number)(s)}(s,\"string\");return\"symbol\"==typeof o?o:String(o)}var a=i(48287).Buffer,u=i(15340).inspect,_=u&&u.custom||\"inspect\";s.exports=function(){function BufferList(){!function _classCallCheck(s,o){if(!(s instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this,BufferList),this.head=null,this.tail=null,this.length=0}return function _createClass(s,o,i){return o&&_defineProperties(s.prototype,o),i&&_defineProperties(s,i),Object.defineProperty(s,\"prototype\",{writable:!1}),s}(BufferList,[{key:\"push\",value:function push(s){var o={data:s,next:null};this.length>0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:\"unshift\",value:function unshift(s){var o={data:s,next:this.head};0===this.length&&(this.tail=o),this.head=o,++this.length}},{key:\"shift\",value:function shift(){if(0!==this.length){var s=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,s}}},{key:\"clear\",value:function clear(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function join(s){if(0===this.length)return\"\";for(var o=this.head,i=\"\"+o.data;o=o.next;)i+=s+o.data;return i}},{key:\"concat\",value:function concat(s){if(0===this.length)return a.alloc(0);for(var o,i,u,_=a.allocUnsafe(s>>>0),w=this.head,x=0;w;)o=w.data,i=_,u=x,a.prototype.copy.call(o,i,u),x+=w.data.length,w=w.next;return _}},{key:\"consume\",value:function consume(s,o){var i;return s<this.head.data.length?(i=this.head.data.slice(0,s),this.head.data=this.head.data.slice(s)):i=s===this.head.data.length?this.shift():o?this._getString(s):this._getBuffer(s),i}},{key:\"first\",value:function first(){return this.head.data}},{key:\"_getString\",value:function _getString(s){var o=this.head,i=1,a=o.data;for(s-=a.length;o=o.next;){var u=o.data,_=s>u.length?u.length:s;if(_===u.length?a+=u:a+=u.slice(0,s),0===(s-=_)){_===u.length?(++i,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(_));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function _getBuffer(s){var o=a.allocUnsafe(s),i=this.head,u=1;for(i.data.copy(o),s-=i.data.length;i=i.next;){var _=i.data,w=s>_.length?_.length:s;if(_.copy(o,o.length-s,0,w),0===(s-=w)){w===_.length?(++u,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=_.slice(w));break}++u}return this.length-=u,o}},{key:_,value:function value(s,o){return u(this,_objectSpread(_objectSpread({},o),{},{depth:0,customInspect:!1}))}}]),BufferList}()},80376:s=>{\"use strict\";s.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},80631:(s,o,i)=>{var a=i(28077),u=i(49326);s.exports=function hasIn(s,o){return null!=s&&u(s,o,a)}},80909:(s,o,i)=>{var a=i(30641),u=i(38329)(a);s.exports=u},80945:(s,o,i)=>{var a=i(80079),u=i(68223),_=i(53661);s.exports=function stackSet(s,o){var i=this.__data__;if(i instanceof a){var w=i.__data__;if(!u||w.length<199)return w.push([s,o]),this.size=++i.size,this;i=this.__data__=new _(w)}return i.set(s,o),this.size=i.size,this}},81042:(s,o,i)=>{var a=i(56110)(Object,\"create\");s.exports=a},81214:(s,o,i)=>{\"use strict\";function _typeof(s){return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(s){return typeof s}:function(s){return s&&\"function\"==typeof Symbol&&s.constructor===Symbol&&s!==Symbol.prototype?\"symbol\":typeof s},_typeof(s)}Object.defineProperty(o,\"__esModule\",{value:!0}),o.DebounceInput=void 0;var a=_interopRequireDefault(i(96540)),u=_interopRequireDefault(i(20181)),_=[\"element\",\"onChange\",\"value\",\"minLength\",\"debounceTimeout\",\"forceNotifyByEnter\",\"forceNotifyOnBlur\",\"onKeyDown\",\"onBlur\",\"inputRef\"];function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}function _objectWithoutProperties(s,o){if(null==s)return{};var i,a,u=function _objectWithoutPropertiesLoose(s,o){if(null==s)return{};var i,a,u={},_=Object.keys(s);for(a=0;a<_.length;a++)i=_[a],o.indexOf(i)>=0||(u[i]=s[i]);return u}(s,o);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(s);for(a=0;a<_.length;a++)i=_[a],o.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(s,i)&&(u[i]=s[i])}return u}function ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?ownKeys(Object(i),!0).forEach((function(o){_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}function _defineProperties(s,o){for(var i=0;i<o.length;i++){var a=o[i];a.enumerable=a.enumerable||!1,a.configurable=!0,\"value\"in a&&(a.writable=!0),Object.defineProperty(s,a.key,a)}}function _setPrototypeOf(s,o){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(s,o){return s.__proto__=o,s},_setPrototypeOf(s,o)}function _createSuper(s){var o=function _isNativeReflectConstruct(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(s){return!1}}();return function _createSuperInternal(){var i,a=_getPrototypeOf(s);if(o){var u=_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,u)}else i=a.apply(this,arguments);return function _possibleConstructorReturn(s,o){if(o&&(\"object\"===_typeof(o)||\"function\"==typeof o))return o;if(void 0!==o)throw new TypeError(\"Derived constructors may only return object or undefined\");return _assertThisInitialized(s)}(this,i)}}function _assertThisInitialized(s){if(void 0===s)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return s}function _getPrototypeOf(s){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(s){return s.__proto__||Object.getPrototypeOf(s)},_getPrototypeOf(s)}function _defineProperty(s,o,i){return o in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}var w=function(s){!function _inherits(s,o){if(\"function\"!=typeof o&&null!==o)throw new TypeError(\"Super expression must either be null or a function\");s.prototype=Object.create(o&&o.prototype,{constructor:{value:s,writable:!0,configurable:!0}}),Object.defineProperty(s,\"prototype\",{writable:!1}),o&&_setPrototypeOf(s,o)}(DebounceInput,s);var o=_createSuper(DebounceInput);function DebounceInput(s){var i;!function _classCallCheck(s,o){if(!(s instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this,DebounceInput),_defineProperty(_assertThisInitialized(i=o.call(this,s)),\"onChange\",(function(s){s.persist();var o=i.state.value,a=i.props.minLength;i.setState({value:s.target.value},(function(){var u=i.state.value;u.length>=a?i.notify(s):o.length>u.length&&i.notify(_objectSpread(_objectSpread({},s),{},{target:_objectSpread(_objectSpread({},s.target),{},{value:\"\"})}))}))})),_defineProperty(_assertThisInitialized(i),\"onKeyDown\",(function(s){\"Enter\"===s.key&&i.forceNotify(s);var o=i.props.onKeyDown;o&&(s.persist(),o(s))})),_defineProperty(_assertThisInitialized(i),\"onBlur\",(function(s){i.forceNotify(s);var o=i.props.onBlur;o&&(s.persist(),o(s))})),_defineProperty(_assertThisInitialized(i),\"createNotifier\",(function(s){if(s<0)i.notify=function(){return null};else if(0===s)i.notify=i.doNotify;else{var o=(0,u.default)((function(s){i.isDebouncing=!1,i.doNotify(s)}),s);i.notify=function(s){i.isDebouncing=!0,o(s)},i.flush=function(){return o.flush()},i.cancel=function(){i.isDebouncing=!1,o.cancel()}}})),_defineProperty(_assertThisInitialized(i),\"doNotify\",(function(){i.props.onChange.apply(void 0,arguments)})),_defineProperty(_assertThisInitialized(i),\"forceNotify\",(function(s){var o=i.props.debounceTimeout;if(i.isDebouncing||!(o>0)){i.cancel&&i.cancel();var a=i.state.value,u=i.props.minLength;a.length>=u?i.doNotify(s):i.doNotify(_objectSpread(_objectSpread({},s),{},{target:_objectSpread(_objectSpread({},s.target),{},{value:a})}))}})),i.isDebouncing=!1,i.state={value:void 0===s.value||null===s.value?\"\":s.value};var a=i.props.debounceTimeout;return i.createNotifier(a),i}return function _createClass(s,o,i){return o&&_defineProperties(s.prototype,o),i&&_defineProperties(s,i),Object.defineProperty(s,\"prototype\",{writable:!1}),s}(DebounceInput,[{key:\"componentDidUpdate\",value:function componentDidUpdate(s){if(!this.isDebouncing){var o=this.props,i=o.value,a=o.debounceTimeout,u=s.debounceTimeout,_=s.value,w=this.state.value;void 0!==i&&_!==i&&w!==i&&this.setState({value:i}),a!==u&&this.createNotifier(a)}}},{key:\"componentWillUnmount\",value:function componentWillUnmount(){this.flush&&this.flush()}},{key:\"render\",value:function render(){var s,o,i=this.props,u=i.element,w=(i.onChange,i.value,i.minLength,i.debounceTimeout,i.forceNotifyByEnter),x=i.forceNotifyOnBlur,C=i.onKeyDown,j=i.onBlur,L=i.inputRef,B=_objectWithoutProperties(i,_),$=this.state.value;s=w?{onKeyDown:this.onKeyDown}:C?{onKeyDown:C}:{},o=x?{onBlur:this.onBlur}:j?{onBlur:j}:{};var U=L?{ref:L}:{};return a.default.createElement(u,_objectSpread(_objectSpread(_objectSpread(_objectSpread({},B),{},{onChange:this.onChange,value:$},s),o),U))}}]),DebounceInput}(a.default.PureComponent);o.DebounceInput=w,_defineProperty(w,\"defaultProps\",{element:\"input\",type:\"text\",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},81919:(s,o,i)=>{\"use strict\";var a=i(48287).Buffer;function isSpecificValue(s){return s instanceof a||s instanceof Date||s instanceof RegExp}function cloneSpecificValue(s){if(s instanceof a){var o=a.alloc?a.alloc(s.length):new a(s.length);return s.copy(o),o}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp)return new RegExp(s);throw new Error(\"Unexpected situation\")}function deepCloneArray(s){var o=[];return s.forEach((function(s,i){\"object\"==typeof s&&null!==s?Array.isArray(s)?o[i]=deepCloneArray(s):isSpecificValue(s)?o[i]=cloneSpecificValue(s):o[i]=u({},s):o[i]=s})),o}function safeGetProperty(s,o){return\"__proto__\"===o?void 0:s[o]}var u=s.exports=function(){if(arguments.length<1||\"object\"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var s,o,i=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(a){\"object\"!=typeof a||null===a||Array.isArray(a)||Object.keys(a).forEach((function(_){return o=safeGetProperty(i,_),(s=safeGetProperty(a,_))===i?void 0:\"object\"!=typeof s||null===s?void(i[_]=s):Array.isArray(s)?void(i[_]=deepCloneArray(s)):isSpecificValue(s)?void(i[_]=cloneSpecificValue(s)):\"object\"!=typeof o||null===o||Array.isArray(o)?void(i[_]=u({},s)):void(i[_]=u(o,s))}))})),i}},82048:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(88280),_=i(15972),w=i(79192),x=i(19595),C=i(58075),j=i(61626),L=i(75817),B=i(39259),$=i(85884),U=i(24823),V=i(32096),z=i(76264)(\"toStringTag\"),Y=Error,Z=[].push,ee=function AggregateError(s,o){var i,a=u(ie,this);w?i=w(new Y,a?_(this):ie):(i=a?this:C(ie),j(i,z,\"Error\")),void 0!==o&&j(i,\"message\",V(o)),$(i,ee,i.stack,1),arguments.length>2&&B(i,arguments[2]);var x=[];return U(s,Z,{that:x}),j(i,\"errors\",x),i};w?w(ee,Y):x(ee,Y,{name:!0});var ie=ee.prototype=C(Y.prototype,{constructor:L(1,ee),message:L(1,\"\"),name:L(1,\"AggregateError\")});a({global:!0,constructor:!0,arity:2},{AggregateError:ee})},82159:(s,o,i)=>{\"use strict\";var a=i(62250),u=i(4640),_=TypeError;s.exports=function(s){if(a(s))return s;throw new _(u(s)+\" is not a function\")}},82199:(s,o,i)=>{var a=i(14528),u=i(56449);s.exports=function baseGetAllKeys(s,o,i){var _=o(s);return u(s)?_:a(_,i(s))}},82261:(s,o,i)=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0});var a=_interopRequireDefault(i(9404)),u=_interopRequireDefault(i(48590));function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}o.default=function(s,o,i){var _=Object.keys(o);if(!_.length)return\"Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.\";var w=(0,u.default)(i);if(a.default.isImmutable?!a.default.isImmutable(s):!a.default.Iterable.isIterable(s))return\"The \"+w+' is of unexpected type. Expected argument to be an instance of Immutable.Collection or Immutable.Record with the following properties: \"'+_.join('\", \"')+'\".';var x=s.toSeq().keySeq().toArray().filter((function(s){return!o.hasOwnProperty(s)}));return x.length>0?\"Unexpected \"+(1===x.length?\"property\":\"properties\")+' \"'+x.join('\", \"')+'\" found in '+w+'. Expected to find one of the known reducer property names instead: \"'+_.join('\", \"')+'\". Unexpected properties will be ignored.':null},s.exports=o.default},82682:(s,o,i)=>{\"use strict\";var a=i(69600),u=Object.prototype.toString,_=Object.prototype.hasOwnProperty;s.exports=function forEach(s,o,i){if(!a(o))throw new TypeError(\"iterator must be a function\");var w;arguments.length>=3&&(w=i),function isArray(s){return\"[object Array]\"===u.call(s)}(s)?function forEachArray(s,o,i){for(var a=0,u=s.length;a<u;a++)_.call(s,a)&&(null==i?o(s[a],a,s):o.call(i,s[a],a,s))}(s,o,w):\"string\"==typeof s?function forEachString(s,o,i){for(var a=0,u=s.length;a<u;a++)null==i?o(s.charAt(a),a,s):o.call(i,s.charAt(a),a,s)}(s,o,w):function forEachObject(s,o,i){for(var a in s)_.call(s,a)&&(null==i?o(s[a],a,s):o.call(i,s[a],a,s))}(s,o,w)}},82819:(s,o,i)=>{var a=i(39344),u=i(23805);s.exports=function createCtor(s){return function(){var o=arguments;switch(o.length){case 0:return new s;case 1:return new s(o[0]);case 2:return new s(o[0],o[1]);case 3:return new s(o[0],o[1],o[2]);case 4:return new s(o[0],o[1],o[2],o[3]);case 5:return new s(o[0],o[1],o[2],o[3],o[4]);case 6:return new s(o[0],o[1],o[2],o[3],o[4],o[5]);case 7:return new s(o[0],o[1],o[2],o[3],o[4],o[5],o[6])}var i=a(s.prototype),_=s.apply(i,o);return u(_)?_:i}}},82890:(s,o,i)=>{\"use strict\";var a=i(56698),u=i(90392),_=i(92861).Buffer,w=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],x=new Array(160);function Sha512(){this.init(),this._w=x,u.call(this,128,112)}function Ch(s,o,i){return i^s&(o^i)}function maj(s,o,i){return s&o|i&(s|o)}function sigma0(s,o){return(s>>>28|o<<4)^(o>>>2|s<<30)^(o>>>7|s<<25)}function sigma1(s,o){return(s>>>14|o<<18)^(s>>>18|o<<14)^(o>>>9|s<<23)}function Gamma0(s,o){return(s>>>1|o<<31)^(s>>>8|o<<24)^s>>>7}function Gamma0l(s,o){return(s>>>1|o<<31)^(s>>>8|o<<24)^(s>>>7|o<<25)}function Gamma1(s,o){return(s>>>19|o<<13)^(o>>>29|s<<3)^s>>>6}function Gamma1l(s,o){return(s>>>19|o<<13)^(o>>>29|s<<3)^(s>>>6|o<<26)}function getCarry(s,o){return s>>>0<o>>>0?1:0}a(Sha512,u),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(s){for(var o=this._w,i=0|this._ah,a=0|this._bh,u=0|this._ch,_=0|this._dh,x=0|this._eh,C=0|this._fh,j=0|this._gh,L=0|this._hh,B=0|this._al,$=0|this._bl,U=0|this._cl,V=0|this._dl,z=0|this._el,Y=0|this._fl,Z=0|this._gl,ee=0|this._hl,ie=0;ie<32;ie+=2)o[ie]=s.readInt32BE(4*ie),o[ie+1]=s.readInt32BE(4*ie+4);for(;ie<160;ie+=2){var ae=o[ie-30],ce=o[ie-30+1],le=Gamma0(ae,ce),pe=Gamma0l(ce,ae),de=Gamma1(ae=o[ie-4],ce=o[ie-4+1]),fe=Gamma1l(ce,ae),ye=o[ie-14],be=o[ie-14+1],_e=o[ie-32],Se=o[ie-32+1],we=pe+be|0,xe=le+ye+getCarry(we,pe)|0;xe=(xe=xe+de+getCarry(we=we+fe|0,fe)|0)+_e+getCarry(we=we+Se|0,Se)|0,o[ie]=xe,o[ie+1]=we}for(var Pe=0;Pe<160;Pe+=2){xe=o[Pe],we=o[Pe+1];var Te=maj(i,a,u),Re=maj(B,$,U),$e=sigma0(i,B),qe=sigma0(B,i),ze=sigma1(x,z),We=sigma1(z,x),He=w[Pe],Ye=w[Pe+1],Xe=Ch(x,C,j),Qe=Ch(z,Y,Z),et=ee+We|0,tt=L+ze+getCarry(et,ee)|0;tt=(tt=(tt=tt+Xe+getCarry(et=et+Qe|0,Qe)|0)+He+getCarry(et=et+Ye|0,Ye)|0)+xe+getCarry(et=et+we|0,we)|0;var rt=qe+Re|0,nt=$e+Te+getCarry(rt,qe)|0;L=j,ee=Z,j=C,Z=Y,C=x,Y=z,x=_+tt+getCarry(z=V+et|0,V)|0,_=u,V=U,u=a,U=$,a=i,$=B,i=tt+nt+getCarry(B=et+rt|0,et)|0}this._al=this._al+B|0,this._bl=this._bl+$|0,this._cl=this._cl+U|0,this._dl=this._dl+V|0,this._el=this._el+z|0,this._fl=this._fl+Y|0,this._gl=this._gl+Z|0,this._hl=this._hl+ee|0,this._ah=this._ah+i+getCarry(this._al,B)|0,this._bh=this._bh+a+getCarry(this._bl,$)|0,this._ch=this._ch+u+getCarry(this._cl,U)|0,this._dh=this._dh+_+getCarry(this._dl,V)|0,this._eh=this._eh+x+getCarry(this._el,z)|0,this._fh=this._fh+C+getCarry(this._fl,Y)|0,this._gh=this._gh+j+getCarry(this._gl,Z)|0,this._hh=this._hh+L+getCarry(this._hl,ee)|0},Sha512.prototype._hash=function(){var s=_.allocUnsafe(64);function writeInt64BE(o,i,a){s.writeInt32BE(o,a),s.writeInt32BE(i,a+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),s},s.exports=Sha512},83120:(s,o,i)=>{var a=i(14528),u=i(45891);s.exports=function baseFlatten(s,o,i,_,w){var x=-1,C=s.length;for(i||(i=u),w||(w=[]);++x<C;){var j=s[x];o>0&&i(j)?o>1?baseFlatten(j,o-1,i,_,w):a(w,j):_||(w[w.length]=j)}return w}},83141:(s,o,i)=>{\"use strict\";var a=i(92861).Buffer,u=a.isEncoding||function(s){switch((s=\"\"+s)&&s.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function StringDecoder(s){var o;switch(this.encoding=function normalizeEncoding(s){var o=function _normalizeEncoding(s){if(!s)return\"utf8\";for(var o;;)switch(s){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return s;default:if(o)return;s=(\"\"+s).toLowerCase(),o=!0}}(s);if(\"string\"!=typeof o&&(a.isEncoding===u||!u(s)))throw new Error(\"Unknown encoding: \"+s);return o||s}(s),this.encoding){case\"utf16le\":this.text=utf16Text,this.end=utf16End,o=4;break;case\"utf8\":this.fillLast=utf8FillLast,o=4;break;case\"base64\":this.text=base64Text,this.end=base64End,o=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=a.allocUnsafe(o)}function utf8CheckByte(s){return s<=127?0:s>>5==6?2:s>>4==14?3:s>>3==30?4:s>>6==2?-1:-2}function utf8FillLast(s){var o=this.lastTotal-this.lastNeed,i=function utf8CheckExtraBytes(s,o,i){if(128!=(192&o[0]))return s.lastNeed=0,\"�\";if(s.lastNeed>1&&o.length>1){if(128!=(192&o[1]))return s.lastNeed=1,\"�\";if(s.lastNeed>2&&o.length>2&&128!=(192&o[2]))return s.lastNeed=2,\"�\"}}(this,s);return void 0!==i?i:this.lastNeed<=s.length?(s.copy(this.lastChar,o,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(s.copy(this.lastChar,o,0,s.length),void(this.lastNeed-=s.length))}function utf16Text(s,o){if((s.length-o)%2==0){var i=s.toString(\"utf16le\",o);if(i){var a=i.charCodeAt(i.length-1);if(a>=55296&&a<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=s[s.length-2],this.lastChar[1]=s[s.length-1],i.slice(0,-1)}return i}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=s[s.length-1],s.toString(\"utf16le\",o,s.length-1)}function utf16End(s){var o=s&&s.length?this.write(s):\"\";if(this.lastNeed){var i=this.lastTotal-this.lastNeed;return o+this.lastChar.toString(\"utf16le\",0,i)}return o}function base64Text(s,o){var i=(s.length-o)%3;return 0===i?s.toString(\"base64\",o):(this.lastNeed=3-i,this.lastTotal=3,1===i?this.lastChar[0]=s[s.length-1]:(this.lastChar[0]=s[s.length-2],this.lastChar[1]=s[s.length-1]),s.toString(\"base64\",o,s.length-i))}function base64End(s){var o=s&&s.length?this.write(s):\"\";return this.lastNeed?o+this.lastChar.toString(\"base64\",0,3-this.lastNeed):o}function simpleWrite(s){return s.toString(this.encoding)}function simpleEnd(s){return s&&s.length?this.write(s):\"\"}o.I=StringDecoder,StringDecoder.prototype.write=function(s){if(0===s.length)return\"\";var o,i;if(this.lastNeed){if(void 0===(o=this.fillLast(s)))return\"\";i=this.lastNeed,this.lastNeed=0}else i=0;return i<s.length?o?o+this.text(s,i):this.text(s,i):o||\"\"},StringDecoder.prototype.end=function utf8End(s){var o=s&&s.length?this.write(s):\"\";return this.lastNeed?o+\"�\":o},StringDecoder.prototype.text=function utf8Text(s,o){var i=function utf8CheckIncomplete(s,o,i){var a=o.length-1;if(a<i)return 0;var u=utf8CheckByte(o[a]);if(u>=0)return u>0&&(s.lastNeed=u-1),u;if(--a<i||-2===u)return 0;if(u=utf8CheckByte(o[a]),u>=0)return u>0&&(s.lastNeed=u-2),u;if(--a<i||-2===u)return 0;if(u=utf8CheckByte(o[a]),u>=0)return u>0&&(2===u?u=0:s.lastNeed=u-3),u;return 0}(this,s,o);if(!this.lastNeed)return s.toString(\"utf8\",o);this.lastTotal=i;var a=s.length-(i-this.lastNeed);return s.copy(this.lastChar,0,a),s.toString(\"utf8\",o,a)},StringDecoder.prototype.fillLast=function(s){if(this.lastNeed<=s.length)return s.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);s.copy(this.lastChar,this.lastTotal-this.lastNeed,0,s.length),this.lastNeed-=s.length}},83221:s=>{s.exports=function createBaseFor(s){return function(o,i,a){for(var u=-1,_=Object(o),w=a(o),x=w.length;x--;){var C=w[s?x:++u];if(!1===i(_[C],C,_))break}return o}}},83349:(s,o,i)=>{var a=i(82199),u=i(86375),_=i(37241);s.exports=function getAllKeysIn(s){return a(s,_,u)}},83488:s=>{s.exports=function identity(s){return s}},83693:(s,o,i)=>{var a=i(64894),u=i(40346);s.exports=function isArrayLikeObject(s){return u(s)&&a(s)}},83729:s=>{s.exports=function arrayEach(s,o){for(var i=-1,a=null==s?0:s.length;++i<a&&!1!==o(s[i],i,s););return s}},84058:(s,o,i)=>{var a=i(14792),u=i(45539)((function(s,o,i){return o=o.toLowerCase(),s+(i?a(o):o)}));s.exports=u},84195:(s,o,i)=>{var a=i(66977),u=i(38816),_=u((function(s,o){return a(s,256,void 0,void 0,void 0,o)}));s.exports=_},84247:s=>{s.exports=function setToArray(s){var o=-1,i=Array(s.size);return s.forEach((function(s){i[++o]=s})),i}},84629:s=>{s.exports={}},84851:(s,o,i)=>{\"use strict\";s.exports=i(85401)},84977:(s,o,i)=>{\"use strict\";Object.defineProperty(o,\"__esModule\",{value:!0});var a=function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}(i(9404)),u=i(55674);o.default=function(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.default.Map,i=Object.keys(s);return function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o(),_=arguments[1];return a.withMutations((function(o){i.forEach((function(i){var a=(0,s[i])(o.get(i),_);(0,u.validateNextState)(a,i,_),o.set(i,a)}))}))}},s.exports=o.default},85015:(s,o,i)=>{var a=i(72552),u=i(56449),_=i(40346);s.exports=function isString(s){return\"string\"==typeof s||!u(s)&&_(s)&&\"[object String]\"==a(s)}},85087:(s,o,i)=>{var a=i(30980),u=i(37381),_=i(62284),w=i(53758);s.exports=function isLaziable(s){var o=_(s),i=w[o];if(\"function\"!=typeof i||!(o in a.prototype))return!1;if(s===i)return!0;var x=u(i);return!!x&&s===x[0]}},85105:s=>{s.exports=class JSONSerialiser{constructor(s){this.namespace=s||new this.Namespace}serialise(s){if(!(s instanceof this.namespace.elements.Element))throw new TypeError(`Given element \\`${s}\\` is not an Element instance`);const o={element:s.element};s._meta&&s._meta.length>0&&(o.meta=this.serialiseObject(s.meta)),s._attributes&&s._attributes.length>0&&(o.attributes=this.serialiseObject(s.attributes));const i=this.serialiseContent(s.content);return void 0!==i&&(o.content=i),o}deserialise(s){if(!s.element)throw new Error(\"Given value is not an object containing an element name\");const o=new(this.namespace.getElementClass(s.element));o.element!==s.element&&(o.element=s.element),s.meta&&this.deserialiseObject(s.meta,o.meta),s.attributes&&this.deserialiseObject(s.attributes,o.attributes);const i=this.deserialiseContent(s.content);return void 0===i&&null!==o.content||(o.content=i),o}serialiseContent(s){if(s instanceof this.namespace.elements.Element)return this.serialise(s);if(s instanceof this.namespace.KeyValuePair){const o={key:this.serialise(s.key)};return s.value&&(o.value=this.serialise(s.value)),o}if(s&&s.map){if(0===s.length)return;return s.map(this.serialise,this)}return s}deserialiseContent(s){if(s){if(s.element)return this.deserialise(s);if(s.key){const o=new this.namespace.KeyValuePair(this.deserialise(s.key));return s.value&&(o.value=this.deserialise(s.value)),o}if(s.map)return s.map(this.deserialise,this)}return s}serialiseObject(s){const o={};if(s.forEach(((s,i)=>{s&&(o[i.toValue()]=this.serialise(s))})),0!==Object.keys(o).length)return o}deserialiseObject(s,o){Object.keys(s).forEach((i=>{o.set(i,this.deserialise(s[i]))}))}}},85160:(s,o,i)=>{\"use strict\";var a=i(96540);var u=\"function\"==typeof Object.is?Object.is:function is(s,o){return s===o&&(0!==s||1/s==1/o)||s!=s&&o!=o},_=a.useSyncExternalStore,w=a.useRef,x=a.useEffect,C=a.useMemo,j=a.useDebugValue},85250:(s,o,i)=>{var a=i(37217),u=i(87805),_=i(86649),w=i(42824),x=i(23805),C=i(37241),j=i(14974);s.exports=function baseMerge(s,o,i,L,B){s!==o&&_(o,(function(_,C){if(B||(B=new a),x(_))w(s,o,C,i,baseMerge,L,B);else{var $=L?L(j(s,C),_,C+\"\",s,o,B):void 0;void 0===$&&($=_),u(s,C,$)}}),C)}},85401:(s,o,i)=>{\"use strict\";var a=i(462);s.exports=a},85463:s=>{s.exports=function baseIsNaN(s){return s!=s}},85558:s=>{s.exports=function baseReduce(s,o,i,a,u){return u(s,(function(s,u,_){i=a?(a=!1,s):o(i,s,u,_)})),i}},85582:(s,o,i)=>{\"use strict\";var a=i(92046),u=i(45951),_=i(62250),aFunction=function(s){return _(s)?s:void 0};s.exports=function(s,o){return arguments.length<2?aFunction(a[s])||aFunction(u[s]):a[s]&&a[s][o]||u[s]&&u[s][o]}},85587:(s,o,i)=>{\"use strict\";var a=i(26311),u=create(Error);function create(s){return FormattedError.displayName=s.displayName||s.name,FormattedError;function FormattedError(o){return o&&(o=a.apply(null,arguments)),new s(o)}}s.exports=u,u.eval=create(EvalError),u.range=create(RangeError),u.reference=create(ReferenceError),u.syntax=create(SyntaxError),u.type=create(TypeError),u.uri=create(URIError),u.create=create},85762:(s,o,i)=>{\"use strict\";var a=i(1907),u=Error,_=a(\"\".replace),w=String(new u(\"zxcasd\").stack),x=/\\n\\s*at [^:]*:[^\\n]*/,C=x.test(w);s.exports=function(s,o){if(C&&\"string\"==typeof s&&!u.prepareStackTrace)for(;o--;)s=_(s,x,\"\");return s}},85816:(s,o,i)=>{\"use strict\";var a=i(36128);s.exports=function(s,o){return a[s]||(a[s]=o||{})}},85884:(s,o,i)=>{\"use strict\";var a=i(61626),u=i(85762),_=i(23888),w=Error.captureStackTrace;s.exports=function(s,o,i,x){_&&(w?w(s,o):a(s,\"stack\",u(i,x)))}},86009:(s,o,i)=>{s=i.nmd(s);var a=i(34840),u=o&&!o.nodeType&&o,_=u&&s&&!s.nodeType&&s,w=_&&_.exports===u&&a.process,x=function(){try{var s=_&&_.require&&_.require(\"util\").types;return s||w&&w.binding&&w.binding(\"util\")}catch(s){}}();s.exports=x},86048:s=>{\"use strict\";var o={};function createErrorType(s,i,a){a||(a=Error);var u=function(s){function NodeError(o,a,u){return s.call(this,function getMessage(s,o,a){return\"string\"==typeof i?i:i(s,o,a)}(o,a,u))||this}return function _inheritsLoose(s,o){s.prototype=Object.create(o.prototype),s.prototype.constructor=s,s.__proto__=o}(NodeError,s),NodeError}(a);u.prototype.name=a.name,u.prototype.code=s,o[s]=u}function oneOf(s,o){if(Array.isArray(s)){var i=s.length;return s=s.map((function(s){return String(s)})),i>2?\"one of \".concat(o,\" \").concat(s.slice(0,i-1).join(\", \"),\", or \")+s[i-1]:2===i?\"one of \".concat(o,\" \").concat(s[0],\" or \").concat(s[1]):\"of \".concat(o,\" \").concat(s[0])}return\"of \".concat(o,\" \").concat(String(s))}createErrorType(\"ERR_INVALID_OPT_VALUE\",(function(s,o){return'The value \"'+o+'\" is invalid for option \"'+s+'\"'}),TypeError),createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(s,o,i){var a,u;if(\"string\"==typeof o&&function startsWith(s,o,i){return s.substr(!i||i<0?0:+i,o.length)===o}(o,\"not \")?(a=\"must not be\",o=o.replace(/^not /,\"\")):a=\"must be\",function endsWith(s,o,i){return(void 0===i||i>s.length)&&(i=s.length),s.substring(i-o.length,i)===o}(s,\" argument\"))u=\"The \".concat(s,\" \").concat(a,\" \").concat(oneOf(o,\"type\"));else{var _=function includes(s,o,i){return\"number\"!=typeof i&&(i=0),!(i+o.length>s.length)&&-1!==s.indexOf(o,i)}(s,\".\")?\"property\":\"argument\";u='The \"'.concat(s,'\" ').concat(_,\" \").concat(a,\" \").concat(oneOf(o,\"type\"))}return u+=\". Received type \".concat(typeof i)}),TypeError),createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\"),createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(s){return\"The \"+s+\" method is not implemented\"})),createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\"),createErrorType(\"ERR_STREAM_DESTROYED\",(function(s){return\"Cannot call \"+s+\" after a stream was destroyed\"})),createErrorType(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\"),createErrorType(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\"),createErrorType(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\"),createErrorType(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),createErrorType(\"ERR_UNKNOWN_ENCODING\",(function(s){return\"Unknown encoding: \"+s}),TypeError),createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\"),s.exports.F=o},86215:function(s,o){var i,a,u;a=[],i=function(){\"use strict\";var isNativeSmoothScrollEnabledOn=function(s){return s&&\"getComputedStyle\"in window&&\"smooth\"===window.getComputedStyle(s)[\"scroll-behavior\"]};if(\"undefined\"==typeof window||!(\"document\"in window))return{};var makeScroller=function(s,o,i){var a;o=o||999,i||0===i||(i=9);var setScrollTimeoutId=function(s){a=s},stopScroll=function(){clearTimeout(a),setScrollTimeoutId(0)},getTopWithEdgeOffset=function(o){return Math.max(0,s.getTopOf(o)-i)},scrollToY=function(i,a,u){if(stopScroll(),0===a||a&&a<0||isNativeSmoothScrollEnabledOn(s.body))s.toY(i),u&&u();else{var _=s.getY(),w=Math.max(0,i)-_,x=(new Date).getTime();a=a||Math.min(Math.abs(w),o),function loopScroll(){setScrollTimeoutId(setTimeout((function(){var o=Math.min(1,((new Date).getTime()-x)/a),i=Math.max(0,Math.floor(_+w*(o<.5?2*o*o:o*(4-2*o)-1)));s.toY(i),o<1&&s.getHeight()+i<s.body.scrollHeight?loopScroll():(setTimeout(stopScroll,99),u&&u())}),9))}()}},scrollToElem=function(s,o,i){scrollToY(getTopWithEdgeOffset(s),o,i)},scrollIntoView=function(o,a,u){var _=o.getBoundingClientRect().height,w=s.getTopOf(o)+_,x=s.getHeight(),C=s.getY(),j=C+x;getTopWithEdgeOffset(o)<C||_+i>x?scrollToElem(o,a,u):w+i>j?scrollToY(w-x+i,a,u):u&&u()},scrollToCenterOf=function(o,i,a,u){scrollToY(Math.max(0,s.getTopOf(o)-s.getHeight()/2+(a||o.getBoundingClientRect().height/2)),i,u)};return{setup:function(s,a){return(0===s||s)&&(o=s),(0===a||a)&&(i=a),{defaultDuration:o,edgeOffset:i}},to:scrollToElem,toY:scrollToY,intoView:scrollIntoView,center:scrollToCenterOf,stop:stopScroll,moving:function(){return!!a},getY:s.getY,getTopOf:s.getTopOf}},s=document.documentElement,getDocY=function(){return window.scrollY||s.scrollTop},o=makeScroller({body:document.scrollingElement||document.body,toY:function(s){window.scrollTo(0,s)},getY:getDocY,getHeight:function(){return window.innerHeight||s.clientHeight},getTopOf:function(o){return o.getBoundingClientRect().top+getDocY()-s.offsetTop}});if(o.createScroller=function(o,i,a){return makeScroller({body:o,toY:function(s){o.scrollTop=s},getY:function(){return o.scrollTop},getHeight:function(){return Math.min(o.clientHeight,window.innerHeight||s.clientHeight)},getTopOf:function(s){return s.offsetTop}},i,a)},\"addEventListener\"in window&&!window.noZensmooth&&!isNativeSmoothScrollEnabledOn(document.body)){var i=\"history\"in window&&\"pushState\"in history,a=i&&\"scrollRestoration\"in history;a&&(history.scrollRestoration=\"auto\"),window.addEventListener(\"load\",(function(){a&&(setTimeout((function(){history.scrollRestoration=\"manual\"}),9),window.addEventListener(\"popstate\",(function(s){s.state&&\"zenscrollY\"in s.state&&o.toY(s.state.zenscrollY)}),!1)),window.location.hash&&setTimeout((function(){var s=o.setup().edgeOffset;if(s){var i=document.getElementById(window.location.href.split(\"#\")[1]);if(i){var a=Math.max(0,o.getTopOf(i)-s),u=o.getY()-a;0<=u&&u<9&&window.scrollTo(0,a)}}}),9)}),!1);var u=new RegExp(\"(^|\\\\s)noZensmooth(\\\\s|$)\");window.addEventListener(\"click\",(function(s){for(var _=s.target;_&&\"A\"!==_.tagName;)_=_.parentNode;if(!(!_||1!==s.which||s.shiftKey||s.metaKey||s.ctrlKey||s.altKey)){if(a){var w=history.state&&\"object\"==typeof history.state?history.state:{};w.zenscrollY=o.getY();try{history.replaceState(w,\"\")}catch(s){}}var x=_.getAttribute(\"href\")||\"\";if(0===x.indexOf(\"#\")&&!u.test(_.className)){var C=0,j=document.getElementById(x.substring(1));if(\"#\"!==x){if(!j)return;C=o.getTopOf(j)}s.preventDefault();var onDone=function(){window.location=x},L=o.setup().edgeOffset;L&&(C=Math.max(0,C-L),i&&(onDone=function(){history.pushState({},\"\",x)})),o.toY(C,null,onDone)}}}),!1)}return o}(),void 0===(u=\"function\"==typeof i?i.apply(o,a):i)||(s.exports=u)},86238:(s,o,i)=>{\"use strict\";var a=i(86048).F.ERR_STREAM_PREMATURE_CLOSE;function noop(){}s.exports=function eos(s,o,i){if(\"function\"==typeof o)return eos(s,null,o);o||(o={}),i=function once(s){var o=!1;return function(){if(!o){o=!0;for(var i=arguments.length,a=new Array(i),u=0;u<i;u++)a[u]=arguments[u];s.apply(this,a)}}}(i||noop);var u=o.readable||!1!==o.readable&&s.readable,_=o.writable||!1!==o.writable&&s.writable,w=function onlegacyfinish(){s.writable||C()},x=s._writableState&&s._writableState.finished,C=function onfinish(){_=!1,x=!0,u||i.call(s)},j=s._readableState&&s._readableState.endEmitted,L=function onend(){u=!1,j=!0,_||i.call(s)},B=function onerror(o){i.call(s,o)},$=function onclose(){var o;return u&&!j?(s._readableState&&s._readableState.ended||(o=new a),i.call(s,o)):_&&!x?(s._writableState&&s._writableState.ended||(o=new a),i.call(s,o)):void 0},U=function onrequest(){s.req.on(\"finish\",C)};return!function isRequest(s){return s.setHeader&&\"function\"==typeof s.abort}(s)?_&&!s._writableState&&(s.on(\"end\",w),s.on(\"close\",w)):(s.on(\"complete\",C),s.on(\"abort\",$),s.req?U():s.on(\"request\",U)),s.on(\"end\",L),s.on(\"finish\",C),!1!==o.error&&s.on(\"error\",B),s.on(\"close\",$),function(){s.removeListener(\"complete\",C),s.removeListener(\"abort\",$),s.removeListener(\"request\",U),s.req&&s.req.removeListener(\"finish\",C),s.removeListener(\"end\",w),s.removeListener(\"close\",w),s.removeListener(\"finish\",C),s.removeListener(\"end\",L),s.removeListener(\"error\",B),s.removeListener(\"close\",$)}}},86303:(s,o,i)=>{const a=i(10316);s.exports=class LinkElement extends a{constructor(s,o,i){super(s||[],o,i),this.element=\"link\"}get relation(){return this.attributes.get(\"relation\")}set relation(s){this.attributes.set(\"relation\",s)}get href(){return this.attributes.get(\"href\")}set href(s){this.attributes.set(\"href\",s)}}},86375:(s,o,i)=>{var a=i(14528),u=i(28879),_=i(4664),w=i(63345),x=Object.getOwnPropertySymbols?function(s){for(var o=[];s;)a(o,_(s)),s=u(s);return o}:w;s.exports=x},86649:(s,o,i)=>{var a=i(83221)();s.exports=a},86804:(s,o,i)=>{const a=i(10316),u=i(41067),_=i(71167),w=i(40239),x=i(12242),C=i(6233),j=i(87726),L=i(61045),B=i(86303),$=i(14540),U=i(92340),V=i(10866),z=i(55973);function refract(s){if(s instanceof a)return s;if(\"string\"==typeof s)return new _(s);if(\"number\"==typeof s)return new w(s);if(\"boolean\"==typeof s)return new x(s);if(null===s)return new u;if(Array.isArray(s))return new C(s.map(refract));if(\"object\"==typeof s){return new L(s)}return s}a.prototype.ObjectElement=L,a.prototype.RefElement=$,a.prototype.MemberElement=j,a.prototype.refract=refract,U.prototype.refract=refract,s.exports={Element:a,NullElement:u,StringElement:_,NumberElement:w,BooleanElement:x,ArrayElement:C,MemberElement:j,ObjectElement:L,LinkElement:B,RefElement:$,refract,ArraySlice:U,ObjectSlice:V,KeyValuePair:z}},87068:(s,o,i)=>{var a=i(37217),u=i(25911),_=i(21986),w=i(50689),x=i(5861),C=i(56449),j=i(3656),L=i(37167),B=\"[object Arguments]\",$=\"[object Array]\",U=\"[object Object]\",V=Object.prototype.hasOwnProperty;s.exports=function baseIsEqualDeep(s,o,i,z,Y,Z){var ee=C(s),ie=C(o),ae=ee?$:x(s),ce=ie?$:x(o),le=(ae=ae==B?U:ae)==U,pe=(ce=ce==B?U:ce)==U,de=ae==ce;if(de&&j(s)){if(!j(o))return!1;ee=!0,le=!1}if(de&&!le)return Z||(Z=new a),ee||L(s)?u(s,o,i,z,Y,Z):_(s,o,ae,i,z,Y,Z);if(!(1&i)){var fe=le&&V.call(s,\"__wrapped__\"),ye=pe&&V.call(o,\"__wrapped__\");if(fe||ye){var be=fe?s.value():s,_e=ye?o.value():o;return Z||(Z=new a),Y(be,_e,i,z,Z)}}return!!de&&(Z||(Z=new a),w(s,o,i,z,Y,Z))}},87136:s=>{\"use strict\";s.exports=function(s){return null==s}},87170:(s,o)=>{\"use strict\";o.f=Object.getOwnPropertySymbols},87296:(s,o,i)=>{var a,u=i(55481),_=(a=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+a:\"\";s.exports=function isMasked(s){return!!_&&_ in s}},87586:(s,o,i)=>{const a=i(6205),u=i(10023),_={0:0,t:9,n:10,v:11,f:12,r:13};o.strToChars=function(s){return s=s.replace(/(\\[\\\\b\\])|(\\\\)?\\\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|(0?[0-7]{2})|c([@A-Z[\\\\\\]^?])|([0tnvfr]))/g,(function(s,o,i,a,u,w,x,C){if(i)return s;var j=o?8:a?parseInt(a,16):u?parseInt(u,16):w?parseInt(w,8):x?\"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^ ?\".indexOf(x):_[C],L=String.fromCharCode(j);return/[[\\]{}^$.|?*+()]/.test(L)&&(L=\"\\\\\"+L),L}))},o.tokenizeClass=(s,i)=>{for(var _,w,x=[],C=/\\\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\\\)(.)|([^\\]\\\\]))-(?:\\\\)?([^\\]]))|(\\])|(?:\\\\)?([^])/g;null!=(_=C.exec(s));)if(_[1])x.push(u.words());else if(_[2])x.push(u.ints());else if(_[3])x.push(u.whitespace());else if(_[4])x.push(u.notWords());else if(_[5])x.push(u.notInts());else if(_[6])x.push(u.notWhitespace());else if(_[7])x.push({type:a.RANGE,from:(_[8]||_[9]).charCodeAt(0),to:_[10].charCodeAt(0)});else{if(!(w=_[12]))return[x,C.lastIndex];x.push({type:a.CHAR,value:w.charCodeAt(0)})}o.error(i,\"Unterminated character class\")},o.error=(s,o)=>{throw new SyntaxError(\"Invalid regular expression: /\"+s+\"/: \"+o)}},87726:(s,o,i)=>{const a=i(55973),u=i(10316);s.exports=class MemberElement extends u{constructor(s,o,i,u){super(new a,i,u),this.element=\"member\",this.key=s,this.value=o}get key(){return this.content.key}set key(s){this.content.key=this.refract(s)}get value(){return this.content.value}set value(s){this.content.value=this.refract(s)}}},87730:(s,o,i)=>{var a=i(29172),u=i(27301),_=i(86009),w=_&&_.isMap,x=w?u(w):a;s.exports=x},87805:(s,o,i)=>{var a=i(43360),u=i(75288);s.exports=function assignMergeValue(s,o,i){(void 0!==i&&!u(s[o],i)||void 0===i&&!(o in s))&&a(s,o,i)}},87978:(s,o,i)=>{var a=i(60270),u=i(58156),_=i(80631),w=i(28586),x=i(30756),C=i(67197),j=i(77797);s.exports=function baseMatchesProperty(s,o){return w(s)&&x(o)?C(j(s),o):function(i){var w=u(i,s);return void 0===w&&w===o?_(i,s):a(o,w,3)}}},88280:(s,o,i)=>{\"use strict\";var a=i(1907);s.exports=a({}.isPrototypeOf)},88310:(s,o,i)=>{s.exports=Stream;var a=i(37007).EventEmitter;function Stream(){a.call(this)}i(56698)(Stream,a),Stream.Readable=i(45412),Stream.Writable=i(16708),Stream.Duplex=i(25382),Stream.Transform=i(74610),Stream.PassThrough=i(63600),Stream.finished=i(86238),Stream.pipeline=i(57758),Stream.Stream=Stream,Stream.prototype.pipe=function(s,o){var i=this;function ondata(o){s.writable&&!1===s.write(o)&&i.pause&&i.pause()}function ondrain(){i.readable&&i.resume&&i.resume()}i.on(\"data\",ondata),s.on(\"drain\",ondrain),s._isStdio||o&&!1===o.end||(i.on(\"end\",onend),i.on(\"close\",onclose));var u=!1;function onend(){u||(u=!0,s.end())}function onclose(){u||(u=!0,\"function\"==typeof s.destroy&&s.destroy())}function onerror(s){if(cleanup(),0===a.listenerCount(this,\"error\"))throw s}function cleanup(){i.removeListener(\"data\",ondata),s.removeListener(\"drain\",ondrain),i.removeListener(\"end\",onend),i.removeListener(\"close\",onclose),i.removeListener(\"error\",onerror),s.removeListener(\"error\",onerror),i.removeListener(\"end\",cleanup),i.removeListener(\"close\",cleanup),s.removeListener(\"close\",cleanup)}return i.on(\"error\",onerror),s.on(\"error\",onerror),i.on(\"end\",cleanup),i.on(\"close\",cleanup),s.on(\"close\",cleanup),s.emit(\"pipe\",i),s}},88984:(s,o,i)=>{var a=i(55527),u=i(3650),_=Object.prototype.hasOwnProperty;s.exports=function baseKeys(s){if(!a(s))return u(s);var o=[];for(var i in Object(s))_.call(s,i)&&\"constructor\"!=i&&o.push(i);return o}},89353:s=>{\"use strict\";var o=Object.prototype.toString,i=Math.max,a=function concatty(s,o){for(var i=[],a=0;a<s.length;a+=1)i[a]=s[a];for(var u=0;u<o.length;u+=1)i[u+s.length]=o[u];return i};s.exports=function bind(s){var u=this;if(\"function\"!=typeof u||\"[object Function]\"!==o.apply(u))throw new TypeError(\"Function.prototype.bind called on incompatible \"+u);for(var _,w=function slicy(s,o){for(var i=[],a=o||0,u=0;a<s.length;a+=1,u+=1)i[u]=s[a];return i}(arguments,1),x=i(0,u.length-w.length),C=[],j=0;j<x;j++)C[j]=\"$\"+j;if(_=Function(\"binder\",\"return function (\"+function(s,o){for(var i=\"\",a=0;a<s.length;a+=1)i+=s[a],a+1<s.length&&(i+=o);return i}(C,\",\")+\"){ return binder.apply(this,arguments); }\")((function(){if(this instanceof _){var o=u.apply(this,a(w,arguments));return Object(o)===o?o:this}return u.apply(s,a(w,arguments))})),u.prototype){var L=function Empty(){};L.prototype=u.prototype,_.prototype=new L,L.prototype=null}return _}},89593:(s,o,i)=>{\"use strict\";o.H=void 0;var a=function _interopRequireDefault(s){return s&&s.__esModule?s:{default:s}}(i(84977));o.H=a.default},89935:s=>{s.exports=function stubFalse(){return!1}},90160:(s,o,i)=>{\"use strict\";var a=i(73948),u=String;s.exports=function(s){if(\"Symbol\"===a(s))throw new TypeError(\"Cannot convert a Symbol value to a string\");return u(s)}},90179:(s,o,i)=>{var a=i(34932),u=i(9999),_=i(19931),w=i(31769),x=i(21791),C=i(53138),j=i(38816),L=i(83349),B=j((function(s,o){var i={};if(null==s)return i;var j=!1;o=a(o,(function(o){return o=w(o,s),j||(j=o.length>1),o})),x(s,L(s),i),j&&(i=u(i,7,C));for(var B=o.length;B--;)_(i,o[B]);return i}));s.exports=B},90181:s=>{s.exports=function nativeKeysIn(s){var o=[];if(null!=s)for(var i in Object(s))o.push(i);return o}},90289:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheGet(s){return a(this,s).get(s)}},90392:(s,o,i)=>{\"use strict\";var a=i(92861).Buffer,u=i(15377);function Hash(s,o){this._block=a.alloc(s),this._finalSize=o,this._blockSize=s,this._len=0}Hash.prototype.update=function(s,o){s=u(s,o||\"utf8\");for(var i=this._block,a=this._blockSize,_=s.length,w=this._len,x=0;x<_;){for(var C=w%a,j=Math.min(_-x,a-C),L=0;L<j;L++)i[C+L]=s[x+L];x+=j,(w+=j)%a==0&&this._update(i)}return this._len+=_,this},Hash.prototype.digest=function(s){var o=this._len%this._blockSize;this._block[o]=128,this._block.fill(0,o+1),o>=this._finalSize&&(this._update(this._block),this._block.fill(0));var i=8*this._len;if(i<=4294967295)this._block.writeUInt32BE(i,this._blockSize-4);else{var a=(4294967295&i)>>>0,u=(i-a)/4294967296;this._block.writeUInt32BE(u,this._blockSize-8),this._block.writeUInt32BE(a,this._blockSize-4)}this._update(this._block);var _=this._hash();return s?_.toString(s):_},Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},s.exports=Hash},90916:(s,o,i)=>{var a=i(80909);s.exports=function baseSome(s,o){var i;return a(s,(function(s,a,u){return!(i=o(s,a,u))})),!!i}},90938:s=>{s.exports=function stackDelete(s){var o=this.__data__,i=o.delete(s);return this.size=o.size,i}},91033:s=>{s.exports=function apply(s,o,i){switch(i.length){case 0:return s.call(o);case 1:return s.call(o,i[0]);case 2:return s.call(o,i[0],i[1]);case 3:return s.call(o,i[0],i[1],i[2])}return s.apply(o,i)}},91596:s=>{var o=Math.max;s.exports=function composeArgs(s,i,a,u){for(var _=-1,w=s.length,x=a.length,C=-1,j=i.length,L=o(w-x,0),B=Array(j+L),$=!u;++C<j;)B[C]=i[C];for(;++_<x;)($||_<w)&&(B[a[_]]=s[_]);for(;L--;)B[C++]=s[_++];return B}},91599:(s,o,i)=>{\"use strict\";i(64502)},92046:s=>{\"use strict\";s.exports={}},92063:s=>{\"use strict\";s.exports=function required(s,o){if(o=o.split(\":\")[0],!(s=+s))return!1;switch(o){case\"http\":case\"ws\":return 80!==s;case\"https\":case\"wss\":return 443!==s;case\"ftp\":return 21!==s;case\"gopher\":return 70!==s;case\"file\":return!1}return 0!==s}},92271:(s,o,i)=>{var a=i(21791),u=i(4664);s.exports=function copySymbols(s,o){return a(s,u(s),o)}},92340:(s,o,i)=>{const a=i(6048);function coerceElementMatchingCallback(s){return\"string\"==typeof s?o=>o.element===s:s.constructor&&s.extend?o=>o instanceof s:s}class ArraySlice{constructor(s){this.elements=s||[]}toValue(){return this.elements.map((s=>s.toValue()))}map(s,o){return this.elements.map(s,o)}flatMap(s,o){return this.map(s,o).reduce(((s,o)=>s.concat(o)),[])}compactMap(s,o){const i=[];return this.forEach((a=>{const u=s.bind(o)(a);u&&i.push(u)})),i}filter(s,o){return s=coerceElementMatchingCallback(s),new ArraySlice(this.elements.filter(s,o))}reject(s,o){return s=coerceElementMatchingCallback(s),new ArraySlice(this.elements.filter(a(s),o))}find(s,o){return s=coerceElementMatchingCallback(s),this.elements.find(s,o)}forEach(s,o){this.elements.forEach(s,o)}reduce(s,o){return this.elements.reduce(s,o)}includes(s){return this.elements.some((o=>o.equals(s)))}shift(){return this.elements.shift()}unshift(s){this.elements.unshift(this.refract(s))}push(s){return this.elements.push(this.refract(s)),this}add(s){this.push(s)}get(s){return this.elements[s]}getValue(s){const o=this.elements[s];if(o)return o.toValue()}get length(){return this.elements.length}get isEmpty(){return 0===this.elements.length}get first(){return this.elements[0]}}\"undefined\"!=typeof Symbol&&(ArraySlice.prototype[Symbol.iterator]=function symbol(){return this.elements[Symbol.iterator]()}),s.exports=ArraySlice},92361:(s,o,i)=>{\"use strict\";var a=i(45807),u=i(1907);s.exports=function(s){if(\"Function\"===a(s))return u(s)}},92522:(s,o,i)=>{\"use strict\";var a=i(85816),u=i(6499),_=a(\"keys\");s.exports=function(s){return _[s]||(_[s]=u(s))}},92861:(s,o,i)=>{var a=i(48287),u=a.Buffer;function copyProps(s,o){for(var i in s)o[i]=s[i]}function SafeBuffer(s,o,i){return u(s,o,i)}u.from&&u.alloc&&u.allocUnsafe&&u.allocUnsafeSlow?s.exports=a:(copyProps(a,o),o.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(u.prototype),copyProps(u,SafeBuffer),SafeBuffer.from=function(s,o,i){if(\"number\"==typeof s)throw new TypeError(\"Argument must not be a number\");return u(s,o,i)},SafeBuffer.alloc=function(s,o,i){if(\"number\"!=typeof s)throw new TypeError(\"Argument must be a number\");var a=u(s);return void 0!==o?\"string\"==typeof i?a.fill(o,i):a.fill(o):a.fill(0),a},SafeBuffer.allocUnsafe=function(s){if(\"number\"!=typeof s)throw new TypeError(\"Argument must be a number\");return u(s)},SafeBuffer.allocUnsafeSlow=function(s){if(\"number\"!=typeof s)throw new TypeError(\"Argument must be a number\");return a.SlowBuffer(s)}},93243:(s,o,i)=>{var a=i(56110),u=function(){try{var s=a(Object,\"defineProperty\");return s({},\"\",{}),s}catch(s){}}();s.exports=u},93290:(s,o,i)=>{s=i.nmd(s);var a=i(9325),u=o&&!o.nodeType&&o,_=u&&s&&!s.nodeType&&s,w=_&&_.exports===u?a.Buffer:void 0,x=w?w.allocUnsafe:void 0;s.exports=function cloneBuffer(s,o){if(o)return s.slice();var i=s.length,a=x?x(i):new s.constructor(i);return s.copy(a),a}},93427:(s,o,i)=>{\"use strict\";var a=i(1907);s.exports=a([].slice)},93628:(s,o,i)=>{\"use strict\";var a=i(48648),u=i(71064),_=i(7176);s.exports=a?function getProto(s){return a(s)}:u?function getProto(s){if(!s||\"object\"!=typeof s&&\"function\"!=typeof s)throw new TypeError(\"getProto: not an object\");return u(s)}:_?function getProto(s){return _(s)}:null},93663:(s,o,i)=>{var a=i(41799),u=i(10776),_=i(67197);s.exports=function baseMatches(s){var o=u(s);return 1==o.length&&o[0][2]?_(o[0][0],o[0][1]):function(i){return i===s||a(i,s,o)}}},93700:(s,o,i)=>{\"use strict\";var a=i(19709);s.exports=a},93736:(s,o,i)=>{var a=i(51873),u=a?a.prototype:void 0,_=u?u.valueOf:void 0;s.exports=function cloneSymbol(s){return _?Object(_.call(s)):{}}},93742:s=>{\"use strict\";s.exports={}},94033:s=>{s.exports=function baseLodash(){}},94459:s=>{\"use strict\";s.exports=Number.isNaN||function isNaN(s){return s!=s}},94643:(s,o,i)=>{function config(s){try{if(!i.g.localStorage)return!1}catch(s){return!1}var o=i.g.localStorage[s];return null!=o&&\"true\"===String(o).toLowerCase()}s.exports=function deprecate(s,o){if(config(\"noDeprecation\"))return s;var i=!1;return function deprecated(){if(!i){if(config(\"throwDeprecation\"))throw new Error(o);config(\"traceDeprecation\")?console.trace(o):console.warn(o),i=!0}return s.apply(this,arguments)}}},95089:s=>{const o=\"[A-Za-z$_][0-9A-Za-z$_]*\",i=[\"as\",\"in\",\"of\",\"if\",\"for\",\"while\",\"finally\",\"var\",\"new\",\"function\",\"do\",\"return\",\"void\",\"else\",\"break\",\"catch\",\"instanceof\",\"with\",\"throw\",\"case\",\"default\",\"try\",\"switch\",\"continue\",\"typeof\",\"delete\",\"let\",\"yield\",\"const\",\"class\",\"debugger\",\"async\",\"await\",\"static\",\"import\",\"from\",\"export\",\"extends\"],a=[\"true\",\"false\",\"null\",\"undefined\",\"NaN\",\"Infinity\"],u=[].concat([\"setInterval\",\"setTimeout\",\"clearInterval\",\"clearTimeout\",\"require\",\"exports\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"unescape\"],[\"arguments\",\"this\",\"super\",\"console\",\"window\",\"document\",\"localStorage\",\"module\",\"global\"],[\"Intl\",\"DataView\",\"Number\",\"Math\",\"Date\",\"String\",\"RegExp\",\"Object\",\"Function\",\"Boolean\",\"Error\",\"Symbol\",\"Set\",\"Map\",\"WeakSet\",\"WeakMap\",\"Proxy\",\"Reflect\",\"JSON\",\"Promise\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Float32Array\",\"Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"ArrayBuffer\",\"BigInt64Array\",\"BigUint64Array\",\"BigInt\"],[\"EvalError\",\"InternalError\",\"RangeError\",\"ReferenceError\",\"SyntaxError\",\"TypeError\",\"URIError\"]);function lookahead(s){return concat(\"(?=\",s,\")\")}function concat(...s){return s.map((s=>function source(s){return s?\"string\"==typeof s?s:s.source:null}(s))).join(\"\")}s.exports=function javascript(s){const _=o,w=\"<>\",x=\"</>\",C={begin:/<[A-Za-z0-9\\\\._:-]+/,end:/\\/[A-Za-z0-9\\\\._:-]+>|\\/>/,isTrulyOpeningTag:(s,o)=>{const i=s[0].length+s.index,a=s.input[i];\"<\"!==a?\">\"===a&&(((s,{after:o})=>{const i=\"</\"+s[0].slice(1);return-1!==s.input.indexOf(i,o)})(s,{after:i})||o.ignoreMatch()):o.ignoreMatch()}},j={$pattern:o,keyword:i,literal:a,built_in:u},L=\"[0-9](_?[0-9])*\",B=`\\\\.(${L})`,$=\"0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*\",U={className:\"number\",variants:[{begin:`(\\\\b(${$})((${B})|\\\\.)?|(${B}))[eE][+-]?(${L})\\\\b`},{begin:`\\\\b(${$})\\\\b((${B})\\\\b|\\\\.)?|(${B})\\\\b`},{begin:\"\\\\b(0|[1-9](_?[0-9])*)n\\\\b\"},{begin:\"\\\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\\\b\"},{begin:\"\\\\b0[bB][0-1](_?[0-1])*n?\\\\b\"},{begin:\"\\\\b0[oO][0-7](_?[0-7])*n?\\\\b\"},{begin:\"\\\\b0[0-7]+n?\\\\b\"}],relevance:0},V={className:\"subst\",begin:\"\\\\$\\\\{\",end:\"\\\\}\",keywords:j,contains:[]},z={begin:\"html`\",end:\"\",starts:{end:\"`\",returnEnd:!1,contains:[s.BACKSLASH_ESCAPE,V],subLanguage:\"xml\"}},Y={begin:\"css`\",end:\"\",starts:{end:\"`\",returnEnd:!1,contains:[s.BACKSLASH_ESCAPE,V],subLanguage:\"css\"}},Z={className:\"string\",begin:\"`\",end:\"`\",contains:[s.BACKSLASH_ESCAPE,V]},ee={className:\"comment\",variants:[s.COMMENT(/\\/\\*\\*(?!\\/)/,\"\\\\*/\",{relevance:0,contains:[{className:\"doctag\",begin:\"@[A-Za-z]+\",contains:[{className:\"type\",begin:\"\\\\{\",end:\"\\\\}\",relevance:0},{className:\"variable\",begin:_+\"(?=\\\\s*(-)|$)\",endsParent:!0,relevance:0},{begin:/(?=[^\\n])\\s/,relevance:0}]}]}),s.C_BLOCK_COMMENT_MODE,s.C_LINE_COMMENT_MODE]},ie=[s.APOS_STRING_MODE,s.QUOTE_STRING_MODE,z,Y,Z,U,s.REGEXP_MODE];V.contains=ie.concat({begin:/\\{/,end:/\\}/,keywords:j,contains:[\"self\"].concat(ie)});const ae=[].concat(ee,V.contains),ce=ae.concat([{begin:/\\(/,end:/\\)/,keywords:j,contains:[\"self\"].concat(ae)}]),le={className:\"params\",begin:/\\(/,end:/\\)/,excludeBegin:!0,excludeEnd:!0,keywords:j,contains:ce};return{name:\"Javascript\",aliases:[\"js\",\"jsx\",\"mjs\",\"cjs\"],keywords:j,exports:{PARAMS_CONTAINS:ce},illegal:/#(?![$_A-z])/,contains:[s.SHEBANG({label:\"shebang\",binary:\"node\",relevance:5}),{label:\"use_strict\",className:\"meta\",relevance:10,begin:/^\\s*['\"]use (strict|asm)['\"]/},s.APOS_STRING_MODE,s.QUOTE_STRING_MODE,z,Y,Z,ee,U,{begin:concat(/[{,\\n]\\s*/,lookahead(concat(/(((\\/\\/.*$)|(\\/\\*(\\*[^/]|[^*])*\\*\\/))\\s*)*/,_+\"\\\\s*:\"))),relevance:0,contains:[{className:\"attr\",begin:_+lookahead(\"\\\\s*:\"),relevance:0}]},{begin:\"(\"+s.RE_STARTERS_RE+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",keywords:\"return throw case\",contains:[ee,s.REGEXP_MODE,{className:\"function\",begin:\"(\\\\([^()]*(\\\\([^()]*(\\\\([^()]*\\\\)[^()]*)*\\\\)[^()]*)*\\\\)|\"+s.UNDERSCORE_IDENT_RE+\")\\\\s*=>\",returnBegin:!0,end:\"\\\\s*=>\",contains:[{className:\"params\",variants:[{begin:s.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\\(\\s*\\)/,skip:!0},{begin:/\\(/,end:/\\)/,excludeBegin:!0,excludeEnd:!0,keywords:j,contains:ce}]}]},{begin:/,/,relevance:0},{className:\"\",begin:/\\s/,end:/\\s*/,skip:!0},{variants:[{begin:w,end:x},{begin:C.begin,\"on:begin\":C.isTrulyOpeningTag,end:C.end}],subLanguage:\"xml\",contains:[{begin:C.begin,end:C.end,skip:!0,contains:[\"self\"]}]}],relevance:0},{className:\"function\",beginKeywords:\"function\",end:/[{;]/,excludeEnd:!0,keywords:j,contains:[\"self\",s.inherit(s.TITLE_MODE,{begin:_}),le],illegal:/%/},{beginKeywords:\"while if switch catch for\"},{className:\"function\",begin:s.UNDERSCORE_IDENT_RE+\"\\\\([^()]*(\\\\([^()]*(\\\\([^()]*\\\\)[^()]*)*\\\\)[^()]*)*\\\\)\\\\s*\\\\{\",returnBegin:!0,contains:[le,s.inherit(s.TITLE_MODE,{begin:_})]},{variants:[{begin:\"\\\\.\"+_},{begin:\"\\\\$\"+_}],relevance:0},{className:\"class\",beginKeywords:\"class\",end:/[{;=]/,excludeEnd:!0,illegal:/[:\"[\\]]/,contains:[{beginKeywords:\"extends\"},s.UNDERSCORE_TITLE_MODE]},{begin:/\\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[s.inherit(s.TITLE_MODE,{begin:_}),\"self\",le]},{begin:\"(get|set)\\\\s+(?=\"+_+\"\\\\()\",end:/\\{/,keywords:\"get set\",contains:[s.inherit(s.TITLE_MODE,{begin:_}),{begin:/\\(\\)/},le]},{begin:/\\$[(.]/}]}}},95116:(s,o,i)=>{\"use strict\";var a,u,_,w=i(98828),x=i(62250),C=i(46285),j=i(58075),L=i(15972),B=i(68055),$=i(76264),U=i(7376),V=$(\"iterator\"),z=!1;[].keys&&(\"next\"in(_=[].keys())?(u=L(L(_)))!==Object.prototype&&(a=u):z=!0),!C(a)||w((function(){var s={};return a[V].call(s)!==s}))?a={}:U&&(a=j(a)),x(a[V])||B(a,V,(function(){return this})),s.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:z}},95950:(s,o,i)=>{var a=i(70695),u=i(88984),_=i(64894);s.exports=function keys(s){return _(s)?a(s):u(s)}},96131:(s,o,i)=>{var a=i(2523),u=i(85463),_=i(76959);s.exports=function baseIndexOf(s,o,i){return o==o?_(s,o,i):a(s,u,i)}},96540:(s,o,i)=>{\"use strict\";s.exports=i(15287)},96605:(s,o,i)=>{\"use strict\";var a=i(11091),u=i(45951),_=i(76024),w=i(19358),x=\"WebAssembly\",C=u[x],j=7!==new Error(\"e\",{cause:7}).cause,exportGlobalErrorCauseWrapper=function(s,o){var i={};i[s]=w(s,o,j),a({global:!0,constructor:!0,arity:1,forced:j},i)},exportWebAssemblyErrorCauseWrapper=function(s,o){if(C&&C[s]){var i={};i[s]=w(x+\".\"+s,o,j),a({target:x,stat:!0,constructor:!0,arity:1,forced:j},i)}};exportGlobalErrorCauseWrapper(\"Error\",(function(s){return function Error(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"EvalError\",(function(s){return function EvalError(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"RangeError\",(function(s){return function RangeError(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"ReferenceError\",(function(s){return function ReferenceError(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"SyntaxError\",(function(s){return function SyntaxError(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"TypeError\",(function(s){return function TypeError(o){return _(s,this,arguments)}})),exportGlobalErrorCauseWrapper(\"URIError\",(function(s){return function URIError(o){return _(s,this,arguments)}})),exportWebAssemblyErrorCauseWrapper(\"CompileError\",(function(s){return function CompileError(o){return _(s,this,arguments)}})),exportWebAssemblyErrorCauseWrapper(\"LinkError\",(function(s){return function LinkError(o){return _(s,this,arguments)}})),exportWebAssemblyErrorCauseWrapper(\"RuntimeError\",(function(s){return function RuntimeError(o){return _(s,this,arguments)}}))},96794:(s,o,i)=>{\"use strict\";var a=i(45951).navigator,u=a&&a.userAgent;s.exports=u?String(u):\"\"},96897:(s,o,i)=>{\"use strict\";var a=i(70453),u=i(30041),_=i(30592)(),w=i(75795),x=i(69675),C=a(\"%Math.floor%\");s.exports=function setFunctionLength(s,o){if(\"function\"!=typeof s)throw new x(\"`fn` is not a function\");if(\"number\"!=typeof o||o<0||o>4294967295||C(o)!==o)throw new x(\"`length` must be a positive 32-bit integer\");var i=arguments.length>2&&!!arguments[2],a=!0,j=!0;if(\"length\"in s&&w){var L=w(s,\"length\");L&&!L.configurable&&(a=!1),L&&!L.writable&&(j=!1)}return(a||j||!i)&&(_?u(s,\"length\",o,!0,!0):u(s,\"length\",o)),s}},98023:(s,o,i)=>{var a=i(72552),u=i(40346);s.exports=function isNumber(s){return\"number\"==typeof s||u(s)&&\"[object Number]\"==a(s)}},98828:s=>{\"use strict\";s.exports=function(s){try{return!!s()}catch(s){return!0}}},99363:(s,o,i)=>{\"use strict\";var a=i(4993),u=i(42156),_=i(93742),w=i(64932),x=i(74284).f,C=i(60183),j=i(59550),L=i(7376),B=i(39447),$=\"Array Iterator\",U=w.set,V=w.getterFor($);s.exports=C(Array,\"Array\",(function(s,o){U(this,{type:$,target:a(s),index:0,kind:o})}),(function(){var s=V(this),o=s.target,i=s.index++;if(!o||i>=o.length)return s.target=null,j(void 0,!0);switch(s.kind){case\"keys\":return j(i,!1);case\"values\":return j(o[i],!1)}return j([i,o[i]],!1)}),\"values\");var z=_.Arguments=_.Array;if(u(\"keys\"),u(\"values\"),u(\"entries\"),!L&&B&&\"values\"!==z.name)try{x(z,\"name\",{value:\"values\"})}catch(s){}},99374:(s,o,i)=>{var a=i(54128),u=i(23805),_=i(44394),w=/^[-+]0x[0-9a-f]+$/i,x=/^0b[01]+$/i,C=/^0o[0-7]+$/i,j=parseInt;s.exports=function toNumber(s){if(\"number\"==typeof s)return s;if(_(s))return NaN;if(u(s)){var o=\"function\"==typeof s.valueOf?s.valueOf():s;s=u(o)?o+\"\":o}if(\"string\"!=typeof s)return 0===s?s:+s;s=a(s);var i=x.test(s);return i||C.test(s)?j(s.slice(2),i?2:8):w.test(s)?NaN:+s}}},o={};function __webpack_require__(i){var a=o[i];if(void 0!==a)return a.exports;var u=o[i]={id:i,loaded:!1,exports:{}};return s[i].call(u.exports,u,u.exports,__webpack_require__),u.loaded=!0,u.exports}__webpack_require__.n=s=>{var o=s&&s.__esModule?()=>s.default:()=>s;return __webpack_require__.d(o,{a:o}),o},__webpack_require__.d=(s,o)=>{for(var i in o)__webpack_require__.o(o,i)&&!__webpack_require__.o(s,i)&&Object.defineProperty(s,i,{enumerable:!0,get:o[i]})},__webpack_require__.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(s){if(\"object\"==typeof window)return window}}(),__webpack_require__.o=(s,o)=>Object.prototype.hasOwnProperty.call(s,o),__webpack_require__.r=s=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(s,\"__esModule\",{value:!0})},__webpack_require__.nmd=s=>(s.paths=[],s.children||(s.children=[]),s);var i={};return(()=>{\"use strict\";__webpack_require__.d(i,{default:()=>WT});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{CLEAR:()=>at,CLEAR_BY:()=>ct,NEW_AUTH_ERR:()=>it,NEW_SPEC_ERR:()=>st,NEW_SPEC_ERR_BATCH:()=>ot,NEW_THROWN_ERR:()=>rt,NEW_THROWN_ERR_BATCH:()=>nt,clear:()=>clear,clearBy:()=>clearBy,newAuthErr:()=>newAuthErr,newSpecErr:()=>newSpecErr,newSpecErrBatch:()=>newSpecErrBatch,newThrownErr:()=>newThrownErr,newThrownErrBatch:()=>newThrownErrBatch});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{AUTHORIZE:()=>Rt,AUTHORIZE_OAUTH2:()=>Lt,CONFIGURE_AUTH:()=>Ft,LOGOUT:()=>Dt,RESTORE_AUTHORIZATION:()=>Bt,SHOW_AUTH_POPUP:()=>Mt,authPopup:()=>authPopup,authorize:()=>authorize,authorizeAccessCodeWithBasicAuthentication:()=>authorizeAccessCodeWithBasicAuthentication,authorizeAccessCodeWithFormParams:()=>authorizeAccessCodeWithFormParams,authorizeApplication:()=>authorizeApplication,authorizeOauth2:()=>authorizeOauth2,authorizeOauth2WithPersistOption:()=>authorizeOauth2WithPersistOption,authorizePassword:()=>authorizePassword,authorizeRequest:()=>authorizeRequest,authorizeWithPersistOption:()=>authorizeWithPersistOption,configureAuth:()=>configureAuth,logout:()=>logout,logoutWithPersistOption:()=>logoutWithPersistOption,persistAuthorizationIfNeeded:()=>persistAuthorizationIfNeeded,preAuthorizeImplicit:()=>preAuthorizeImplicit,restoreAuthorization:()=>restoreAuthorization,showDefinitions:()=>showDefinitions});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{authorized:()=>Jt,definitionsForRequirements:()=>definitionsForRequirements,definitionsToAuthorize:()=>Wt,getConfigs:()=>Ht,getDefinitionsByNames:()=>getDefinitionsByNames,isAuthorized:()=>isAuthorized,selectAuthPath:()=>selectAuthPath,shownDefinitions:()=>zt});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{TOGGLE_CONFIGS:()=>gn,UPDATE_CONFIGS:()=>mn,downloadConfig:()=>downloadConfig,getConfigByUrl:()=>getConfigByUrl,loaded:()=>actions_loaded,toggle:()=>toggle,update:()=>update});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{get:()=>get});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{transform:()=>transform});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{transform:()=>parameter_oneof_transform});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{allErrors:()=>In,lastError:()=>Tn});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{SHOW:()=>Fn,UPDATE_FILTER:()=>Dn,UPDATE_LAYOUT:()=>Rn,UPDATE_MODE:()=>Ln,changeMode:()=>changeMode,show:()=>actions_show,updateFilter:()=>updateFilter,updateLayout:()=>updateLayout});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{current:()=>current,currentFilter:()=>currentFilter,isShown:()=>isShown,showSummary:()=>$n,whatMode:()=>whatMode});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{taggedOperations:()=>taggedOperations});var $={};__webpack_require__.r($),__webpack_require__.d($,{getActiveLanguage:()=>Vn,getDefaultExpanded:()=>zn,getGenerators:()=>Un,getSnippetGenerators:()=>getSnippetGenerators});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{JsonSchemaArrayItemFile:()=>JsonSchemaArrayItemFile,JsonSchemaArrayItemText:()=>JsonSchemaArrayItemText,JsonSchemaForm:()=>JsonSchemaForm,JsonSchema_array:()=>JsonSchema_array,JsonSchema_boolean:()=>JsonSchema_boolean,JsonSchema_object:()=>JsonSchema_object,JsonSchema_string:()=>JsonSchema_string});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{allowTryItOutFor:()=>allowTryItOutFor,basePath:()=>Hs,canExecuteScheme:()=>canExecuteScheme,consumes:()=>Us,consumesOptionsFor:()=>consumesOptionsFor,contentTypeValues:()=>contentTypeValues,currentProducesFor:()=>currentProducesFor,definitions:()=>Js,externalDocs:()=>Ds,findDefinition:()=>findDefinition,getOAS3RequiredRequestBodyContentType:()=>getOAS3RequiredRequestBodyContentType,getParameter:()=>getParameter,hasHost:()=>ro,host:()=>Ks,info:()=>Rs,isMediaTypeSchemaPropertiesEqual:()=>isMediaTypeSchemaPropertiesEqual,isOAS3:()=>Ms,lastError:()=>Os,mutatedRequestFor:()=>mutatedRequestFor,mutatedRequests:()=>to,operationScheme:()=>operationScheme,operationWithMeta:()=>operationWithMeta,operations:()=>qs,operationsWithRootInherited:()=>Ys,operationsWithTags:()=>Qs,parameterInclusionSettingFor:()=>parameterInclusionSettingFor,parameterValues:()=>parameterValues,parameterWithMeta:()=>parameterWithMeta,parameterWithMetaByIdentity:()=>parameterWithMetaByIdentity,parametersIncludeIn:()=>parametersIncludeIn,parametersIncludeType:()=>parametersIncludeType,paths:()=>Bs,produces:()=>Vs,producesOptionsFor:()=>producesOptionsFor,requestFor:()=>requestFor,requests:()=>eo,responseFor:()=>responseFor,responses:()=>Zs,schemes:()=>Gs,security:()=>zs,securityDefinitions:()=>Ws,semver:()=>Fs,spec:()=>spec,specJS:()=>Is,specJson:()=>Ps,specJsonWithResolvedSubtrees:()=>Ns,specResolved:()=>Ts,specResolvedSubtree:()=>specResolvedSubtree,specSource:()=>js,specStr:()=>Cs,tagDetails:()=>tagDetails,taggedOperations:()=>selectors_taggedOperations,tags:()=>Xs,url:()=>As,validOperationMethods:()=>$s,validateBeforeExecute:()=>validateBeforeExecute,validationErrors:()=>validationErrors,version:()=>Ls});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{CLEAR_REQUEST:()=>wo,CLEAR_RESPONSE:()=>Eo,CLEAR_VALIDATE_PARAMS:()=>xo,LOG_REQUEST:()=>So,SET_MUTATED_REQUEST:()=>_o,SET_REQUEST:()=>bo,SET_RESPONSE:()=>vo,SET_SCHEME:()=>Co,UPDATE_EMPTY_PARAM_INCLUSION:()=>go,UPDATE_JSON:()=>fo,UPDATE_OPERATION_META_VALUE:()=>ko,UPDATE_PARAM:()=>mo,UPDATE_RESOLVED:()=>Oo,UPDATE_RESOLVED_SUBTREE:()=>Ao,UPDATE_SPEC:()=>po,UPDATE_URL:()=>ho,VALIDATE_PARAMS:()=>yo,changeConsumesValue:()=>changeConsumesValue,changeParam:()=>changeParam,changeParamByIdentity:()=>changeParamByIdentity,changeProducesValue:()=>changeProducesValue,clearRequest:()=>clearRequest,clearResponse:()=>clearResponse,clearValidateParams:()=>clearValidateParams,execute:()=>actions_execute,executeRequest:()=>executeRequest,invalidateResolvedSubtreeCache:()=>invalidateResolvedSubtreeCache,logRequest:()=>logRequest,parseToJson:()=>parseToJson,requestResolvedSubtree:()=>requestResolvedSubtree,resolveSpec:()=>resolveSpec,setMutatedRequest:()=>setMutatedRequest,setRequest:()=>setRequest,setResponse:()=>setResponse,setScheme:()=>setScheme,updateEmptyParamInclusion:()=>updateEmptyParamInclusion,updateJsonSpec:()=>updateJsonSpec,updateResolved:()=>updateResolved,updateResolvedSubtree:()=>updateResolvedSubtree,updateSpec:()=>updateSpec,updateUrl:()=>updateUrl,validateParams:()=>validateParams});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{executeRequest:()=>wrap_actions_executeRequest,updateJsonSpec:()=>wrap_actions_updateJsonSpec,updateSpec:()=>wrap_actions_updateSpec,validateParams:()=>wrap_actions_validateParams});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{JsonPatchError:()=>Do,_areEquals:()=>_areEquals,applyOperation:()=>applyOperation,applyPatch:()=>applyPatch,applyReducer:()=>applyReducer,deepClone:()=>Lo,getValueByPointer:()=>getValueByPointer,validate:()=>validate,validator:()=>validator});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{compare:()=>compare,generate:()=>generate,observe:()=>observe,unobserve:()=>unobserve});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{hasElementSourceMap:()=>hasElementSourceMap,includesClasses:()=>includesClasses,includesSymbols:()=>includesSymbols,isAnnotationElement:()=>Fu,isArrayElement:()=>Mu,isBooleanElement:()=>Tu,isCommentElement:()=>Bu,isElement:()=>Cu,isLinkElement:()=>Du,isMemberElement:()=>Ru,isNullElement:()=>Iu,isNumberElement:()=>Pu,isObjectElement:()=>Nu,isParseResultElement:()=>$u,isPrimitiveElement:()=>isPrimitiveElement,isRefElement:()=>Lu,isStringElement:()=>ju});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{isJSONReferenceElement:()=>Ld,isJSONSchemaElement:()=>Dd,isLinkDescriptionElement:()=>Bd,isMediaElement:()=>Fd});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{isBooleanJsonSchemaElement:()=>isBooleanJsonSchemaElement,isCallbackElement:()=>Tm,isComponentsElement:()=>Nm,isContactElement:()=>Mm,isDiscriminatorElement:()=>og,isExampleElement:()=>Rm,isExternalDocumentationElement:()=>Dm,isHeaderElement:()=>Lm,isInfoElement:()=>Fm,isLicenseElement:()=>Bm,isLinkElement:()=>$m,isMediaTypeElement:()=>ng,isOpenApi3_0Element:()=>Um,isOpenapiElement:()=>qm,isOperationElement:()=>Vm,isParameterElement:()=>zm,isPathItemElement:()=>Wm,isPathsElement:()=>Jm,isReferenceElement:()=>Hm,isRequestBodyElement:()=>Km,isResponseElement:()=>Gm,isResponsesElement:()=>Ym,isSchemaElement:()=>Xm,isSecurityRequirementElement:()=>Qm,isSecuritySchemeElement:()=>Zm,isServerElement:()=>eg,isServerVariableElement:()=>rg,isServersElement:()=>sg});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{isJSONReferenceElement:()=>Ld,isJSONSchemaElement:()=>g_,isLinkDescriptionElement:()=>y_,isMediaElement:()=>Fd});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{isJSONReferenceElement:()=>Ld,isJSONSchemaElement:()=>A_,isLinkDescriptionElement:()=>C_});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{isJSONSchemaElement:()=>K_,isLinkDescriptionElement:()=>G_});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{isJSONSchemaElement:()=>oS,isLinkDescriptionElement:()=>iS});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{isBooleanJsonSchemaElement:()=>predicates_isBooleanJsonSchemaElement,isCallbackElement:()=>zS,isComponentsElement:()=>WS,isContactElement:()=>JS,isExampleElement:()=>HS,isExternalDocumentationElement:()=>KS,isHeaderElement:()=>GS,isInfoElement:()=>YS,isJsonSchemaDialectElement:()=>XS,isLicenseElement:()=>QS,isLinkElement:()=>ZS,isMediaTypeElement:()=>mE,isOpenApi3_1Element:()=>tE,isOpenapiElement:()=>eE,isOperationElement:()=>rE,isParameterElement:()=>nE,isPathItemElement:()=>sE,isPathItemElementExternal:()=>isPathItemElementExternal,isPathsElement:()=>oE,isReferenceElement:()=>iE,isReferenceElementExternal:()=>isReferenceElementExternal,isRequestBodyElement:()=>aE,isResponseElement:()=>cE,isResponsesElement:()=>lE,isSchemaElement:()=>uE,isSecurityRequirementElement:()=>pE,isSecuritySchemeElement:()=>hE,isServerElement:()=>dE,isServerVariableElement:()=>fE});var be={};__webpack_require__.r(be),__webpack_require__.d(be,{cookie:()=>cookie,header:()=>parameter_builders_header,path:()=>parameter_builders_path,query:()=>query});var _e={};__webpack_require__.r(_e),__webpack_require__.d(_e,{Button:()=>Button,Col:()=>Col,Collapse:()=>Collapse,Container:()=>Container,Input:()=>Input,Link:()=>layout_utils_Link,Row:()=>Row,Select:()=>Select,TextArea:()=>TextArea});var Se={};__webpack_require__.r(Se),__webpack_require__.d(Se,{basePath:()=>NP,consumes:()=>MP,definitions:()=>jP,findDefinition:()=>CP,hasHost:()=>PP,host:()=>TP,produces:()=>RP,schemes:()=>DP,securityDefinitions:()=>IP,validOperationMethods:()=>wrap_selectors_validOperationMethods});var we={};__webpack_require__.r(we),__webpack_require__.d(we,{definitionsToAuthorize:()=>LP});var xe={};__webpack_require__.r(xe),__webpack_require__.d(xe,{callbacksOperations:()=>$P,findSchema:()=>findSchema,isOAS3:()=>selectors_isOAS3,isOAS30:()=>selectors_isOAS30,isSwagger2:()=>selectors_isSwagger2,servers:()=>BP});var Pe={};__webpack_require__.r(Pe),__webpack_require__.d(Pe,{CLEAR_REQUEST_BODY_VALIDATE_ERROR:()=>iI,CLEAR_REQUEST_BODY_VALUE:()=>aI,SET_REQUEST_BODY_VALIDATE_ERROR:()=>oI,UPDATE_ACTIVE_EXAMPLES_MEMBER:()=>tI,UPDATE_REQUEST_BODY_INCLUSION:()=>eI,UPDATE_REQUEST_BODY_VALUE:()=>QP,UPDATE_REQUEST_BODY_VALUE_RETAIN_FLAG:()=>ZP,UPDATE_REQUEST_CONTENT_TYPE:()=>rI,UPDATE_RESPONSE_CONTENT_TYPE:()=>nI,UPDATE_SELECTED_SERVER:()=>XP,UPDATE_SERVER_VARIABLE_VALUE:()=>sI,clearRequestBodyValidateError:()=>clearRequestBodyValidateError,clearRequestBodyValue:()=>clearRequestBodyValue,initRequestBodyValidateError:()=>initRequestBodyValidateError,setActiveExamplesMember:()=>setActiveExamplesMember,setRequestBodyInclusion:()=>setRequestBodyInclusion,setRequestBodyValidateError:()=>setRequestBodyValidateError,setRequestBodyValue:()=>setRequestBodyValue,setRequestContentType:()=>setRequestContentType,setResponseContentType:()=>setResponseContentType,setRetainRequestBodyValueFlag:()=>setRetainRequestBodyValueFlag,setSelectedServer:()=>setSelectedServer,setServerVariableValue:()=>setServerVariableValue});var Te={};__webpack_require__.r(Te),__webpack_require__.d(Te,{activeExamplesMember:()=>gI,hasUserEditedBody:()=>dI,requestBodyErrors:()=>mI,requestBodyInclusionSetting:()=>fI,requestBodyValue:()=>pI,requestContentType:()=>yI,responseContentType:()=>vI,selectDefaultRequestBodyValue:()=>selectDefaultRequestBodyValue,selectedServer:()=>uI,serverEffectiveValue:()=>SI,serverVariableValue:()=>bI,serverVariables:()=>_I,shouldRetainRequestBodyValue:()=>hI,validOperationMethods:()=>wI,validateBeforeExecute:()=>EI,validateShallowRequired:()=>validateShallowRequired});var Re=__webpack_require__(96540);function formatProdErrorMessage(s){return`Minified Redux error #${s}; visit https://redux.js.org/Errors?code=${s} for the full message or use the non-minified dev environment for full errors. `}var $e=(()=>\"function\"==typeof Symbol&&Symbol.observable||\"@@observable\")(),randomString=()=>Math.random().toString(36).substring(7).split(\"\").join(\".\"),qe={INIT:`@@redux/INIT${randomString()}`,REPLACE:`@@redux/REPLACE${randomString()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${randomString()}`};function isPlainObject(s){if(\"object\"!=typeof s||null===s)return!1;let o=s;for(;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(s)===o||null===Object.getPrototypeOf(s)}function createStore(s,o,i){if(\"function\"!=typeof s)throw new Error(formatProdErrorMessage(2));if(\"function\"==typeof o&&\"function\"==typeof i||\"function\"==typeof i&&\"function\"==typeof arguments[3])throw new Error(formatProdErrorMessage(0));if(\"function\"==typeof o&&void 0===i&&(i=o,o=void 0),void 0!==i){if(\"function\"!=typeof i)throw new Error(formatProdErrorMessage(1));return i(createStore)(s,o)}let a=s,u=o,_=new Map,w=_,x=0,C=!1;function ensureCanMutateNextListeners(){w===_&&(w=new Map,_.forEach(((s,o)=>{w.set(o,s)})))}function getState(){if(C)throw new Error(formatProdErrorMessage(3));return u}function subscribe(s){if(\"function\"!=typeof s)throw new Error(formatProdErrorMessage(4));if(C)throw new Error(formatProdErrorMessage(5));let o=!0;ensureCanMutateNextListeners();const i=x++;return w.set(i,s),function unsubscribe(){if(o){if(C)throw new Error(formatProdErrorMessage(6));o=!1,ensureCanMutateNextListeners(),w.delete(i),_=null}}}function dispatch(s){if(!isPlainObject(s))throw new Error(formatProdErrorMessage(7));if(void 0===s.type)throw new Error(formatProdErrorMessage(8));if(\"string\"!=typeof s.type)throw new Error(formatProdErrorMessage(17));if(C)throw new Error(formatProdErrorMessage(9));try{C=!0,u=a(u,s)}finally{C=!1}return(_=w).forEach((s=>{s()})),s}dispatch({type:qe.INIT});return{dispatch,subscribe,getState,replaceReducer:function replaceReducer(s){if(\"function\"!=typeof s)throw new Error(formatProdErrorMessage(10));a=s,dispatch({type:qe.REPLACE})},[$e]:function observable(){const s=subscribe;return{subscribe(o){if(\"object\"!=typeof o||null===o)throw new Error(formatProdErrorMessage(11));function observeState(){const s=o;s.next&&s.next(getState())}observeState();return{unsubscribe:s(observeState)}},[$e](){return this}}}}}function bindActionCreator(s,o){return function(...i){return o(s.apply(this,i))}}function compose(...s){return 0===s.length?s=>s:1===s.length?s[0]:s.reduce(((s,o)=>(...i)=>s(o(...i))))}var ze=__webpack_require__(9404),We=__webpack_require__.n(ze),He=__webpack_require__(81919),Ye=__webpack_require__.n(He),Xe=__webpack_require__(89593),Qe=__webpack_require__(20334),et=__webpack_require__(55364),tt=__webpack_require__.n(et);const rt=\"err_new_thrown_err\",nt=\"err_new_thrown_err_batch\",st=\"err_new_spec_err\",ot=\"err_new_spec_err_batch\",it=\"err_new_auth_err\",at=\"err_clear\",ct=\"err_clear_by\";function newThrownErr(s){return{type:rt,payload:(0,Qe.serializeError)(s)}}function newThrownErrBatch(s){return{type:nt,payload:s}}function newSpecErr(s){return{type:st,payload:s}}function newSpecErrBatch(s){return{type:ot,payload:s}}function newAuthErr(s){return{type:it,payload:s}}function clear(s={}){return{type:at,payload:s}}function clearBy(s=()=>!0){return{type:ct,payload:s}}const lt=function makeWindow(){var s={location:{},history:{},open:()=>{},close:()=>{},File:function(){},FormData:function(){}};if(\"undefined\"==typeof window)return s;try{s=window;for(var o of[\"File\",\"Blob\",\"FormData\"])o in window&&(s[o]=window[o])}catch(s){console.error(s)}return s}();__webpack_require__(84058),__webpack_require__(55808);var ut=__webpack_require__(50104),pt=__webpack_require__.n(ut),ht=__webpack_require__(7309),dt=__webpack_require__.n(ht),mt=__webpack_require__(42426),gt=__webpack_require__.n(mt),yt=__webpack_require__(75288),vt=__webpack_require__.n(yt),bt=__webpack_require__(1882),_t=__webpack_require__.n(bt),St=__webpack_require__(2205),Et=__webpack_require__.n(St),wt=__webpack_require__(53209),xt=__webpack_require__.n(wt),kt=__webpack_require__(62802),Ot=__webpack_require__.n(kt);const At=We().Set.of(\"type\",\"format\",\"items\",\"default\",\"maximum\",\"exclusiveMaximum\",\"minimum\",\"exclusiveMinimum\",\"maxLength\",\"minLength\",\"pattern\",\"maxItems\",\"minItems\",\"uniqueItems\",\"enum\",\"multipleOf\");function getParameterSchema(s,{isOAS3:o}={}){if(!We().Map.isMap(s))return{schema:We().Map(),parameterContentMediaType:null};if(!o)return\"body\"===s.get(\"in\")?{schema:s.get(\"schema\",We().Map()),parameterContentMediaType:null}:{schema:s.filter(((s,o)=>At.includes(o))),parameterContentMediaType:null};if(s.get(\"content\")){const o=s.get(\"content\",We().Map({})).keySeq().first();return{schema:s.getIn([\"content\",o,\"schema\"],We().Map()),parameterContentMediaType:o}}return{schema:s.get(\"schema\")?s.get(\"schema\",We().Map()):We().Map(),parameterContentMediaType:null}}var Ct=__webpack_require__(48287).Buffer;const jt=\"default\",isImmutable=s=>We().Iterable.isIterable(s),immutableToJS=s=>isImmutable(s)?s.toJS():s;function objectify(s){return isObject(s)?immutableToJS(s):{}}function fromJSOrdered(s){if(isImmutable(s))return s;if(s instanceof lt.File)return s;if(!isObject(s))return s;if(Array.isArray(s))return We().Seq(s).map(fromJSOrdered).toList();if(_t()(s.entries)){const o=function createObjWithHashedKeys(s){if(!_t()(s.entries))return s;const o={},i=\"_**[]\",a={};for(let u of s.entries())if(o[u[0]]||a[u[0]]&&a[u[0]].containsMultiple){if(!a[u[0]]){a[u[0]]={containsMultiple:!0,length:1},o[`${u[0]}${i}${a[u[0]].length}`]=o[u[0]],delete o[u[0]]}a[u[0]].length+=1,o[`${u[0]}${i}${a[u[0]].length}`]=u[1]}else o[u[0]]=u[1];return o}(s);return We().OrderedMap(o).map(fromJSOrdered)}return We().OrderedMap(s).map(fromJSOrdered)}function normalizeArray(s){return Array.isArray(s)?s:[s]}function isFn(s){return\"function\"==typeof s}function isObject(s){return!!s&&\"object\"==typeof s}function isFunc(s){return\"function\"==typeof s}function isArray(s){return Array.isArray(s)}const Pt=pt();function objMap(s,o){return Object.keys(s).reduce(((i,a)=>(i[a]=o(s[a],a),i)),{})}function objReduce(s,o){return Object.keys(s).reduce(((i,a)=>{let u=o(s[a],a);return u&&\"object\"==typeof u&&Object.assign(i,u),i}),{})}function systemThunkMiddleware(s){return({dispatch:o,getState:i})=>o=>i=>\"function\"==typeof i?i(s()):o(i)}function validateValueBySchema(s,o,i,a,u){if(!o)return[];let _=[],w=o.get(\"nullable\"),x=o.get(\"required\"),C=o.get(\"maximum\"),j=o.get(\"minimum\"),L=o.get(\"type\"),B=o.get(\"format\"),$=o.get(\"maxLength\"),U=o.get(\"minLength\"),V=o.get(\"uniqueItems\"),z=o.get(\"maxItems\"),Y=o.get(\"minItems\"),Z=o.get(\"pattern\");const ee=i||!0===x,ie=null!=s,ae=ee||ie&&\"array\"===L||!(!ee&&!ie),ce=w&&null===s;if(ee&&!ie&&!ce&&!a&&!L)return _.push(\"Required field is not provided\"),_;if(ce||!L||!ae)return[];let le=\"string\"===L&&s,pe=\"array\"===L&&Array.isArray(s)&&s.length,de=\"array\"===L&&We().List.isList(s)&&s.count();const fe=[le,pe,de,\"array\"===L&&\"string\"==typeof s&&s,\"file\"===L&&s instanceof lt.File,\"boolean\"===L&&(s||!1===s),\"number\"===L&&(s||0===s),\"integer\"===L&&(s||0===s),\"object\"===L&&\"object\"==typeof s&&null!==s,\"object\"===L&&\"string\"==typeof s&&s].some((s=>!!s));if(ee&&!fe&&!a)return _.push(\"Required field is not provided\"),_;if(\"object\"===L&&(null===u||\"application/json\"===u)){let i=s;if(\"string\"==typeof s)try{i=JSON.parse(s)}catch(s){return _.push(\"Parameter string value must be valid JSON\"),_}o&&o.has(\"required\")&&isFunc(x.isList)&&x.isList()&&x.forEach((s=>{void 0===i[s]&&_.push({propKey:s,error:\"Required property not found\"})})),o&&o.has(\"properties\")&&o.get(\"properties\").forEach(((s,o)=>{const w=validateValueBySchema(i[o],s,!1,a,u);_.push(...w.map((s=>({propKey:o,error:s}))))}))}if(Z){let o=((s,o)=>{if(!new RegExp(o).test(s))return\"Value must follow pattern \"+o})(s,Z);o&&_.push(o)}if(Y&&\"array\"===L){let o=((s,o)=>{if(!s&&o>=1||s&&s.length<o)return`Array must contain at least ${o} item${1===o?\"\":\"s\"}`})(s,Y);o&&_.push(o)}if(z&&\"array\"===L){let o=((s,o)=>{if(s&&s.length>o)return`Array must not contain more then ${o} item${1===o?\"\":\"s\"}`})(s,z);o&&_.push({needRemove:!0,error:o})}if(V&&\"array\"===L){let o=((s,o)=>{if(s&&(\"true\"===o||!0===o)){const o=(0,ze.fromJS)(s),i=o.toSet();if(s.length>i.size){let s=(0,ze.Set)();if(o.forEach(((i,a)=>{o.filter((s=>isFunc(s.equals)?s.equals(i):s===i)).size>1&&(s=s.add(a))})),0!==s.size)return s.map((s=>({index:s,error:\"No duplicates allowed.\"}))).toArray()}}})(s,V);o&&_.push(...o)}if($||0===$){let o=((s,o)=>{if(s.length>o)return`Value must be no longer than ${o} character${1!==o?\"s\":\"\"}`})(s,$);o&&_.push(o)}if(U){let o=((s,o)=>{if(s.length<o)return`Value must be at least ${o} character${1!==o?\"s\":\"\"}`})(s,U);o&&_.push(o)}if(C||0===C){let o=((s,o)=>{if(s>o)return`Value must be less than or equal to ${o}`})(s,C);o&&_.push(o)}if(j||0===j){let o=((s,o)=>{if(s<o)return`Value must be greater than or equal to ${o}`})(s,j);o&&_.push(o)}if(\"string\"===L){let o;if(o=\"date-time\"===B?(s=>{if(isNaN(Date.parse(s)))return\"Value must be a DateTime\"})(s):\"uuid\"===B?(s=>{if(s=s.toString().toLowerCase(),!/^[{(]?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}[)}]?$/.test(s))return\"Value must be a Guid\"})(s):(s=>{if(s&&\"string\"!=typeof s)return\"Value must be a string\"})(s),!o)return _;_.push(o)}else if(\"boolean\"===L){let o=(s=>{if(\"true\"!==s&&\"false\"!==s&&!0!==s&&!1!==s)return\"Value must be a boolean\"})(s);if(!o)return _;_.push(o)}else if(\"number\"===L){let o=(s=>{if(!/^-?\\d+(\\.?\\d+)?$/.test(s))return\"Value must be a number\"})(s);if(!o)return _;_.push(o)}else if(\"integer\"===L){let o=(s=>{if(!/^-?\\d+$/.test(s))return\"Value must be an integer\"})(s);if(!o)return _;_.push(o)}else if(\"array\"===L){if(!pe&&!de)return _;s&&s.forEach(((s,i)=>{const w=validateValueBySchema(s,o.get(\"items\"),!1,a,u);_.push(...w.map((s=>({index:i,error:s}))))}))}else if(\"file\"===L){let o=(s=>{if(s&&!(s instanceof lt.File))return\"Value must be a file\"})(s);if(!o)return _;_.push(o)}return _}const utils_btoa=s=>{let o;return o=s instanceof Ct?s:Ct.from(s.toString(),\"utf-8\"),o.toString(\"base64\")},It={operationsSorter:{alpha:(s,o)=>s.get(\"path\").localeCompare(o.get(\"path\")),method:(s,o)=>s.get(\"method\").localeCompare(o.get(\"method\"))},tagsSorter:{alpha:(s,o)=>s.localeCompare(o)}},buildFormData=s=>{let o=[];for(let i in s){let a=s[i];void 0!==a&&\"\"!==a&&o.push([i,\"=\",encodeURIComponent(a).replace(/%20/g,\"+\")].join(\"\"))}return o.join(\"&\")},shallowEqualKeys=(s,o,i)=>!!dt()(i,(i=>vt()(s[i],o[i])));function requiresValidationURL(s){return!(!s||s.indexOf(\"localhost\")>=0||s.indexOf(\"127.0.0.1\")>=0||\"none\"===s)}const createDeepLinkPath=s=>\"string\"==typeof s||s instanceof String?s.trim().replace(/\\s/g,\"%20\"):\"\",escapeDeepLinkPath=s=>Et()(createDeepLinkPath(s).replace(/%20/g,\"_\")),isExtension=s=>/^x-/.test(s),getExtensions=s=>ze.Map.isMap(s)?s.filter(((s,o)=>isExtension(o))):Object.keys(s).filter((s=>isExtension(s))),getCommonExtensions=s=>s.filter(((s,o)=>/^pattern|maxLength|minLength|maximum|minimum/.test(o)));function deeplyStripKey(s,o,i=()=>!0){if(\"object\"!=typeof s||Array.isArray(s)||null===s||!o)return s;const a=Object.assign({},s);return Object.keys(a).forEach((s=>{s===o&&i(a[s],s)?delete a[s]:a[s]=deeplyStripKey(a[s],o,i)})),a}function stringify(s){if(\"string\"==typeof s)return s;if(s&&s.toJS&&(s=s.toJS()),\"object\"==typeof s&&null!==s)try{return JSON.stringify(s,null,2)}catch(o){return String(s)}return null==s?\"\":s.toString()}function paramToIdentifier(s,{returnAll:o=!1,allowHashes:i=!0}={}){if(!We().Map.isMap(s))throw new Error(\"paramToIdentifier: received a non-Im.Map parameter as input\");const a=s.get(\"name\"),u=s.get(\"in\");let _=[];return s&&s.hashCode&&u&&a&&i&&_.push(`${u}.${a}.hash-${s.hashCode()}`),u&&a&&_.push(`${u}.${a}`),_.push(a),o?_:_[0]||\"\"}function paramToValue(s,o){return paramToIdentifier(s,{returnAll:!0}).map((s=>o[s])).filter((s=>void 0!==s))[0]}function b64toB64UrlEncoded(s){return s.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=/g,\"\")}const isEmptyValue=s=>!s||!(!isImmutable(s)||!s.isEmpty()),idFn=s=>s;function createStoreWithMiddleware(s,o,i){let a=[systemThunkMiddleware(i)];return createStore(s,o,(lt.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||compose)(function applyMiddleware(...s){return o=>(i,a)=>{const u=o(i,a);let dispatch=()=>{throw new Error(formatProdErrorMessage(15))};const _={getState:u.getState,dispatch:(s,...o)=>dispatch(s,...o)},w=s.map((s=>s(_)));return dispatch=compose(...w)(u.dispatch),{...u,dispatch}}}(...a)))}class Store{constructor(s={}){Ye()(this,{state:{},plugins:[],system:{configs:{},fn:{},components:{},rootInjects:{},statePlugins:{}},boundSystem:{},toolbox:{}},s),this.getSystem=this._getSystem.bind(this),this.store=function configureStore(s,o,i){return createStoreWithMiddleware(s,o,i)}(idFn,(0,ze.fromJS)(this.state),this.getSystem),this.buildSystem(!1),this.register(this.plugins)}getStore(){return this.store}register(s,o=!0){var i=combinePlugins(s,this.getSystem());systemExtend(this.system,i),o&&this.buildSystem();callAfterLoad.call(this.system,s,this.getSystem())&&this.buildSystem()}buildSystem(s=!0){let o=this.getStore().dispatch,i=this.getStore().getState;this.boundSystem=Object.assign({},this.getRootInjects(),this.getWrappedAndBoundActions(o),this.getWrappedAndBoundSelectors(i,this.getSystem),this.getStateThunks(i),this.getFn(),this.getConfigs()),s&&this.rebuildReducer()}_getSystem(){return this.boundSystem}getRootInjects(){return Object.assign({getSystem:this.getSystem,getStore:this.getStore.bind(this),getComponents:this.getComponents.bind(this),getState:this.getStore().getState,getConfigs:this._getConfigs.bind(this),Im:We(),React:Re},this.system.rootInjects||{})}_getConfigs(){return this.system.configs}getConfigs(){return{configs:this.system.configs}}setConfigs(s){this.system.configs=s}rebuildReducer(){this.store.replaceReducer(function buildReducer(s,o){return function allReducers(s,o){let i=Object.keys(s).reduce(((i,a)=>(i[a]=function makeReducer(s,o){return(i=new ze.Map,a)=>{if(!s)return i;let u=s[a.type];if(u){const s=wrapWithTryCatch(u,o)(i,a);return null===s?i:s}return i}}(s[a],o),i)),{});if(!Object.keys(i).length)return idFn;return(0,Xe.H)(i)}(objMap(s,(s=>s.reducers)),o)}(this.system.statePlugins,this.getSystem))}getType(s){let o=s[0].toUpperCase()+s.slice(1);return objReduce(this.system.statePlugins,((i,a)=>{let u=i[s];if(u)return{[a+o]:u}}))}getSelectors(){return this.getType(\"selectors\")}getActions(){return objMap(this.getType(\"actions\"),(s=>objReduce(s,((s,o)=>{if(isFn(s))return{[o]:s}}))))}getWrappedAndBoundActions(s){return objMap(this.getBoundActions(s),((s,o)=>{let i=this.system.statePlugins[o.slice(0,-7)].wrapActions;return i?objMap(s,((s,o)=>{let a=i[o];return a?(Array.isArray(a)||(a=[a]),a.reduce(((s,o)=>{let newAction=(...i)=>o(s,this.getSystem())(...i);if(!isFn(newAction))throw new TypeError(\"wrapActions needs to return a function that returns a new function (ie the wrapped action)\");return wrapWithTryCatch(newAction,this.getSystem)}),s||Function.prototype)):s})):s}))}getWrappedAndBoundSelectors(s,o){return objMap(this.getBoundSelectors(s,o),((o,i)=>{let a=[i.slice(0,-9)],u=this.system.statePlugins[a].wrapSelectors;return u?objMap(o,((o,i)=>{let _=u[i];return _?(Array.isArray(_)||(_=[_]),_.reduce(((o,i)=>{let wrappedSelector=(...u)=>i(o,this.getSystem())(s().getIn(a),...u);if(!isFn(wrappedSelector))throw new TypeError(\"wrapSelector needs to return a function that returns a new function (ie the wrapped action)\");return wrappedSelector}),o||Function.prototype)):o})):o}))}getStates(s){return Object.keys(this.system.statePlugins).reduce(((o,i)=>(o[i]=s.get(i),o)),{})}getStateThunks(s){return Object.keys(this.system.statePlugins).reduce(((o,i)=>(o[i]=()=>s().get(i),o)),{})}getFn(){return{fn:this.system.fn}}getComponents(s){const o=this.system.components[s];return Array.isArray(o)?o.reduce(((s,o)=>o(s,this.getSystem()))):void 0!==s?this.system.components[s]:this.system.components}getBoundSelectors(s,o){return objMap(this.getSelectors(),((i,a)=>{let u=[a.slice(0,-9)];return objMap(i,(i=>(...a)=>{let _=wrapWithTryCatch(i,this.getSystem).apply(null,[s().getIn(u),...a]);return\"function\"==typeof _&&(_=wrapWithTryCatch(_,this.getSystem)(o())),_}))}))}getBoundActions(s){s=s||this.getStore().dispatch;const o=this.getActions(),process=s=>\"function\"!=typeof s?objMap(s,(s=>process(s))):(...o)=>{var i=null;try{i=s(...o)}catch(s){i={type:rt,error:!0,payload:(0,Qe.serializeError)(s)}}finally{return i}};return objMap(o,(o=>function bindActionCreators(s,o){if(\"function\"==typeof s)return bindActionCreator(s,o);if(\"object\"!=typeof s||null===s)throw new Error(formatProdErrorMessage(16));const i={};for(const a in s){const u=s[a];\"function\"==typeof u&&(i[a]=bindActionCreator(u,o))}return i}(process(o),s)))}getMapStateToProps(){return()=>Object.assign({},this.getSystem())}getMapDispatchToProps(s){return o=>Ye()({},this.getWrappedAndBoundActions(o),this.getFn(),s)}}function combinePlugins(s,o){return isObject(s)&&!isArray(s)?tt()({},s):isFunc(s)?combinePlugins(s(o),o):isArray(s)?s.map((s=>combinePlugins(s,o))).reduce(systemExtend,{components:o.getComponents()}):{}}function callAfterLoad(s,o,{hasLoaded:i}={}){let a=i;return isObject(s)&&!isArray(s)&&\"function\"==typeof s.afterLoad&&(a=!0,wrapWithTryCatch(s.afterLoad,o.getSystem).call(this,o)),isFunc(s)?callAfterLoad.call(this,s(o),o,{hasLoaded:a}):isArray(s)?s.map((s=>callAfterLoad.call(this,s,o,{hasLoaded:a}))):a}function systemExtend(s={},o={}){if(!isObject(s))return{};if(!isObject(o))return s;o.wrapComponents&&(objMap(o.wrapComponents,((i,a)=>{const u=s.components&&s.components[a];u&&Array.isArray(u)?(s.components[a]=u.concat([i]),delete o.wrapComponents[a]):u&&(s.components[a]=[u,i],delete o.wrapComponents[a])})),Object.keys(o.wrapComponents).length||delete o.wrapComponents);const{statePlugins:i}=s;if(isObject(i))for(let s in i){const a=i[s];if(!isObject(a))continue;const{wrapActions:u,wrapSelectors:_}=a;if(isObject(u))for(let i in u){let a=u[i];Array.isArray(a)||(a=[a],u[i]=a),o&&o.statePlugins&&o.statePlugins[s]&&o.statePlugins[s].wrapActions&&o.statePlugins[s].wrapActions[i]&&(o.statePlugins[s].wrapActions[i]=u[i].concat(o.statePlugins[s].wrapActions[i]))}if(isObject(_))for(let i in _){let a=_[i];Array.isArray(a)||(a=[a],_[i]=a),o&&o.statePlugins&&o.statePlugins[s]&&o.statePlugins[s].wrapSelectors&&o.statePlugins[s].wrapSelectors[i]&&(o.statePlugins[s].wrapSelectors[i]=_[i].concat(o.statePlugins[s].wrapSelectors[i]))}}return Ye()(s,o)}function wrapWithTryCatch(s,o,{logErrors:i=!0}={}){return\"function\"!=typeof s?s:function(...a){try{return s.call(this,...a)}catch(s){if(i){const{uncaughtExceptionHandler:i}=o().getConfigs();\"function\"==typeof i?i(s):console.error(s)}return null}}}var Tt=__webpack_require__(61160),Nt=__webpack_require__.n(Tt);const Mt=\"show_popup\",Rt=\"authorize\",Dt=\"logout\",Lt=\"authorize_oauth2\",Ft=\"configure_auth\",Bt=\"restore_authorization\";function showDefinitions(s){return{type:Mt,payload:s}}function authorize(s){return{type:Rt,payload:s}}const authorizeWithPersistOption=s=>({authActions:o})=>{o.authorize(s),o.persistAuthorizationIfNeeded()};function logout(s){return{type:Dt,payload:s}}const logoutWithPersistOption=s=>({authActions:o})=>{o.logout(s),o.persistAuthorizationIfNeeded()},preAuthorizeImplicit=s=>({authActions:o,errActions:i})=>{let{auth:a,token:u,isValid:_}=s,{schema:w,name:x}=a,C=w.get(\"flow\");delete lt.swaggerUIRedirectOauth2,\"accessCode\"===C||_||i.newAuthErr({authId:x,source:\"auth\",level:\"warning\",message:\"Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server\"}),u.error?i.newAuthErr({authId:x,source:\"auth\",level:\"error\",message:JSON.stringify(u)}):o.authorizeOauth2WithPersistOption({auth:a,token:u})};function authorizeOauth2(s){return{type:Lt,payload:s}}const authorizeOauth2WithPersistOption=s=>({authActions:o})=>{o.authorizeOauth2(s),o.persistAuthorizationIfNeeded()},authorizePassword=s=>({authActions:o})=>{let{schema:i,name:a,username:u,password:_,passwordType:w,clientId:x,clientSecret:C}=s,j={grant_type:\"password\",scope:s.scopes.join(\" \"),username:u,password:_},L={};switch(w){case\"request-body\":!function setClientIdAndSecret(s,o,i){o&&Object.assign(s,{client_id:o});i&&Object.assign(s,{client_secret:i})}(j,x,C);break;case\"basic\":L.Authorization=\"Basic \"+utils_btoa(x+\":\"+C);break;default:console.warn(`Warning: invalid passwordType ${w} was passed, not including client id and secret`)}return o.authorizeRequest({body:buildFormData(j),url:i.get(\"tokenUrl\"),name:a,headers:L,query:{},auth:s})};const authorizeApplication=s=>({authActions:o})=>{let{schema:i,scopes:a,name:u,clientId:_,clientSecret:w}=s,x={Authorization:\"Basic \"+utils_btoa(_+\":\"+w)},C={grant_type:\"client_credentials\",scope:a.join(\" \")};return o.authorizeRequest({body:buildFormData(C),name:u,url:i.get(\"tokenUrl\"),auth:s,headers:x})},authorizeAccessCodeWithFormParams=({auth:s,redirectUrl:o})=>({authActions:i})=>{let{schema:a,name:u,clientId:_,clientSecret:w,codeVerifier:x}=s,C={grant_type:\"authorization_code\",code:s.code,client_id:_,client_secret:w,redirect_uri:o,code_verifier:x};return i.authorizeRequest({body:buildFormData(C),name:u,url:a.get(\"tokenUrl\"),auth:s})},authorizeAccessCodeWithBasicAuthentication=({auth:s,redirectUrl:o})=>({authActions:i})=>{let{schema:a,name:u,clientId:_,clientSecret:w,codeVerifier:x}=s,C={Authorization:\"Basic \"+utils_btoa(_+\":\"+w)},j={grant_type:\"authorization_code\",code:s.code,client_id:_,redirect_uri:o,code_verifier:x};return i.authorizeRequest({body:buildFormData(j),name:u,url:a.get(\"tokenUrl\"),auth:s,headers:C})},authorizeRequest=s=>({fn:o,getConfigs:i,authActions:a,errActions:u,oas3Selectors:_,specSelectors:w,authSelectors:x})=>{let C,{body:j,query:L={},headers:B={},name:$,url:U,auth:V}=s,{additionalQueryStringParams:z}=x.getConfigs()||{};if(w.isOAS3()){let s=_.serverEffectiveValue(_.selectedServer());C=Nt()(U,s,!0)}else C=Nt()(U,w.url(),!0);\"object\"==typeof z&&(C.query=Object.assign({},C.query,z));const Y=C.toString();let Z=Object.assign({Accept:\"application/json, text/plain, */*\",\"Content-Type\":\"application/x-www-form-urlencoded\",\"X-Requested-With\":\"XMLHttpRequest\"},B);o.fetch({url:Y,method:\"post\",headers:Z,query:L,body:j,requestInterceptor:i().requestInterceptor,responseInterceptor:i().responseInterceptor}).then((function(s){let o=JSON.parse(s.data),i=o&&(o.error||\"\"),_=o&&(o.parseError||\"\");s.ok?i||_?u.newAuthErr({authId:$,level:\"error\",source:\"auth\",message:JSON.stringify(o)}):a.authorizeOauth2WithPersistOption({auth:V,token:o}):u.newAuthErr({authId:$,level:\"error\",source:\"auth\",message:s.statusText})})).catch((s=>{let o=new Error(s).message;if(s.response&&s.response.data){const i=s.response.data;try{const s=\"string\"==typeof i?JSON.parse(i):i;s.error&&(o+=`, error: ${s.error}`),s.error_description&&(o+=`, description: ${s.error_description}`)}catch(s){}}u.newAuthErr({authId:$,level:\"error\",source:\"auth\",message:o})}))};function configureAuth(s){return{type:Ft,payload:s}}function restoreAuthorization(s){return{type:Bt,payload:s}}const persistAuthorizationIfNeeded=()=>({authSelectors:s,getConfigs:o})=>{if(!o().persistAuthorization)return;const i=s.authorized().toJS();localStorage.setItem(\"authorized\",JSON.stringify(i))},authPopup=(s,o)=>()=>{lt.swaggerUIRedirectOauth2=o,lt.open(s)},$t={[Mt]:(s,{payload:o})=>s.set(\"showDefinitions\",o),[Rt]:(s,{payload:o})=>{let i=(0,ze.fromJS)(o),a=s.get(\"authorized\")||(0,ze.Map)();return i.entrySeq().forEach((([o,i])=>{if(!isFunc(i.getIn))return s.set(\"authorized\",a);let u=i.getIn([\"schema\",\"type\"]);if(\"apiKey\"===u||\"http\"===u)a=a.set(o,i);else if(\"basic\"===u){let s=i.getIn([\"value\",\"username\"]),u=i.getIn([\"value\",\"password\"]);a=a.setIn([o,\"value\"],{username:s,header:\"Basic \"+utils_btoa(s+\":\"+u)}),a=a.setIn([o,\"schema\"],i.get(\"schema\"))}})),s.set(\"authorized\",a)},[Lt]:(s,{payload:o})=>{let i,{auth:a,token:u}=o;a.token=Object.assign({},u),i=(0,ze.fromJS)(a);let _=s.get(\"authorized\")||(0,ze.Map)();return _=_.set(i.get(\"name\"),i),s.set(\"authorized\",_)},[Dt]:(s,{payload:o})=>{let i=s.get(\"authorized\").withMutations((s=>{o.forEach((o=>{s.delete(o)}))}));return s.set(\"authorized\",i)},[Ft]:(s,{payload:o})=>s.set(\"configs\",o),[Bt]:(s,{payload:o})=>s.set(\"authorized\",(0,ze.fromJS)(o.authorized))};function assertIsFunction(s,o=\"expected a function, instead received \"+typeof s){if(\"function\"!=typeof s)throw new TypeError(o)}var ensureIsArray=s=>Array.isArray(s)?s:[s];function getDependencies(s){const o=Array.isArray(s[0])?s[0]:s;return function assertIsArrayOfFunctions(s,o=\"expected all items to be functions, instead received the following types: \"){if(!s.every((s=>\"function\"==typeof s))){const i=s.map((s=>\"function\"==typeof s?`function ${s.name||\"unnamed\"}()`:typeof s)).join(\", \");throw new TypeError(`${o}[${i}]`)}}(o,\"createSelector expects all input-selectors to be functions, but received the following types: \"),o}Symbol(),Object.getPrototypeOf({});var qt=\"undefined\"!=typeof WeakRef?WeakRef:class{constructor(s){this.value=s}deref(){return this.value}};function weakMapMemoize(s,o={}){let i={s:0,v:void 0,o:null,p:null};const{resultEqualityCheck:a}=o;let u,_=0;function memoized(){let o=i;const{length:w}=arguments;for(let s=0,i=w;s<i;s++){const i=arguments[s];if(\"function\"==typeof i||\"object\"==typeof i&&null!==i){let s=o.o;null===s&&(o.o=s=new WeakMap);const a=s.get(i);void 0===a?(o={s:0,v:void 0,o:null,p:null},s.set(i,o)):o=a}else{let s=o.p;null===s&&(o.p=s=new Map);const a=s.get(i);void 0===a?(o={s:0,v:void 0,o:null,p:null},s.set(i,o)):o=a}}const x=o;let C;if(1===o.s)C=o.v;else if(C=s.apply(null,arguments),_++,a){const s=u?.deref?.()??u;null!=s&&a(s,C)&&(C=s,0!==_&&_--);u=\"object\"==typeof C&&null!==C||\"function\"==typeof C?new qt(C):C}return x.s=1,x.v=C,C}return memoized.clearCache=()=>{i={s:0,v:void 0,o:null,p:null},memoized.resetResultsCount()},memoized.resultsCount=()=>_,memoized.resetResultsCount=()=>{_=0},memoized}function createSelectorCreator(s,...o){const i=\"function\"==typeof s?{memoize:s,memoizeOptions:o}:s,createSelector2=(...s)=>{let o,a=0,u=0,_={},w=s.pop();\"object\"==typeof w&&(_=w,w=s.pop()),assertIsFunction(w,`createSelector expects an output function after the inputs, but received: [${typeof w}]`);const x={...i,..._},{memoize:C,memoizeOptions:j=[],argsMemoize:L=weakMapMemoize,argsMemoizeOptions:B=[],devModeChecks:$={}}=x,U=ensureIsArray(j),V=ensureIsArray(B),z=getDependencies(s),Y=C((function recomputationWrapper(){return a++,w.apply(null,arguments)}),...U);const Z=L((function dependenciesChecker(){u++;const s=function collectInputSelectorResults(s,o){const i=[],{length:a}=s;for(let u=0;u<a;u++)i.push(s[u].apply(null,o));return i}(z,arguments);return o=Y.apply(null,s),o}),...V);return Object.assign(Z,{resultFunc:w,memoizedResultFunc:Y,dependencies:z,dependencyRecomputations:()=>u,resetDependencyRecomputations:()=>{u=0},lastResult:()=>o,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:C,argsMemoize:L})};return Object.assign(createSelector2,{withTypes:()=>createSelector2}),createSelector2}var Ut=createSelectorCreator(weakMapMemoize),Vt=Object.assign(((s,o=Ut)=>{!function assertIsObject(s,o=\"expected an object, instead received \"+typeof s){if(\"object\"!=typeof s)throw new TypeError(o)}(s,\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof s);const i=Object.keys(s);return o(i.map((o=>s[o])),((...s)=>s.reduce(((s,o,a)=>(s[i[a]]=o,s)),{})))}),{withTypes:()=>Vt});const state=s=>s,zt=Ut(state,(s=>s.get(\"showDefinitions\"))),Wt=Ut(state,(()=>({specSelectors:s})=>{let o=s.securityDefinitions()||(0,ze.Map)({}),i=(0,ze.List)();return o.entrySeq().forEach((([s,o])=>{let a=(0,ze.Map)();a=a.set(s,o),i=i.push(a)})),i})),selectAuthPath=(s,o)=>({specSelectors:s})=>(0,ze.List)(s.isOAS3()?[\"components\",\"securitySchemes\",o]:[\"securityDefinitions\",o]),getDefinitionsByNames=(s,o)=>({specSelectors:s})=>{console.warn(\"WARNING: getDefinitionsByNames is deprecated and will be removed in the next major version.\");let i=s.securityDefinitions(),a=(0,ze.List)();return o.valueSeq().forEach((s=>{let o=(0,ze.Map)();s.entrySeq().forEach((([s,a])=>{let u,_=i.get(s);\"oauth2\"===_.get(\"type\")&&a.size&&(u=_.get(\"scopes\"),u.keySeq().forEach((s=>{a.contains(s)||(u=u.delete(s))})),_=_.set(\"allowedScopes\",u)),o=o.set(s,_)})),a=a.push(o)})),a},definitionsForRequirements=(s,o=(0,ze.List)())=>({authSelectors:s})=>{const i=s.definitionsToAuthorize()||(0,ze.List)();let a=(0,ze.List)();return i.forEach((s=>{let i=o.find((o=>o.get(s.keySeq().first())));i&&(s.forEach(((o,a)=>{if(\"oauth2\"===o.get(\"type\")){const u=i.get(a);let _=o.get(\"scopes\");ze.List.isList(u)&&ze.Map.isMap(_)&&(_.keySeq().forEach((s=>{u.contains(s)||(_=_.delete(s))})),s=s.set(a,o.set(\"scopes\",_)))}})),a=a.push(s))})),a},Jt=Ut(state,(s=>s.get(\"authorized\")||(0,ze.Map)())),isAuthorized=(s,o)=>({authSelectors:s})=>{let i=s.authorized();return ze.List.isList(o)?!!o.toJS().filter((s=>-1===Object.keys(s).map((s=>!!i.get(s))).indexOf(!1))).length:null},Ht=Ut(state,(s=>s.get(\"configs\"))),execute=(s,{authSelectors:o,specSelectors:i})=>({path:a,method:u,operation:_,extras:w})=>{let x={authorized:o.authorized()&&o.authorized().toJS(),definitions:i.securityDefinitions()&&i.securityDefinitions().toJS(),specSecurity:i.security()&&i.security().toJS()};return s({path:a,method:u,operation:_,securities:x,...w})},loaded=(s,o)=>i=>{const{getConfigs:a,authActions:u}=o,_=a();if(s(i),_.persistAuthorization){const s=localStorage.getItem(\"authorized\");s&&u.restoreAuthorization({authorized:JSON.parse(s)})}},wrap_actions_authorize=(s,o)=>i=>{s(i);if(o.getConfigs().persistAuthorization)try{const[{schema:s,value:o}]=Object.values(i),a=(0,ze.fromJS)(s),u=\"apiKey\"===a.get(\"type\"),_=\"cookie\"===a.get(\"in\");u&&_&&(document.cookie=`${a.get(\"name\")}=${o}; SameSite=None; Secure`)}catch(s){console.error(\"Error persisting cookie based apiKey in document.cookie.\",s)}},wrap_actions_logout=(s,o)=>i=>{const a=o.getConfigs(),u=o.authSelectors.authorized();try{a.persistAuthorization&&Array.isArray(i)&&i.forEach((s=>{const o=u.get(s,{}),i=\"apiKey\"===o.getIn([\"schema\",\"type\"]),a=\"cookie\"===o.getIn([\"schema\",\"in\"]);if(i&&a){const s=o.getIn([\"schema\",\"name\"]);document.cookie=`${s}=; Max-Age=-99999999`}}))}catch(s){console.error(\"Error deleting cookie based apiKey from document.cookie.\",s)}s(i)};var Kt=__webpack_require__(90179),Gt=__webpack_require__.n(Kt);class LockAuthIcon extends Re.Component{mapStateToProps(s,o){return{state:s,ownProps:Gt()(o,Object.keys(o.getSystem()))}}render(){const{getComponent:s,ownProps:o}=this.props,i=s(\"LockIcon\");return Re.createElement(i,o)}}const Yt=LockAuthIcon;class UnlockAuthIcon extends Re.Component{mapStateToProps(s,o){return{state:s,ownProps:Gt()(o,Object.keys(o.getSystem()))}}render(){const{getComponent:s,ownProps:o}=this.props,i=s(\"UnlockIcon\");return Re.createElement(i,o)}}const Xt=UnlockAuthIcon;function auth(){return{afterLoad(s){this.rootInjects=this.rootInjects||{},this.rootInjects.initOAuth=s.authActions.configureAuth,this.rootInjects.preauthorizeApiKey=preauthorizeApiKey.bind(null,s),this.rootInjects.preauthorizeBasic=preauthorizeBasic.bind(null,s)},components:{LockAuthIcon:Yt,UnlockAuthIcon:Xt,LockAuthOperationIcon:Yt,UnlockAuthOperationIcon:Xt},statePlugins:{auth:{reducers:$t,actions:o,selectors:a,wrapActions:{authorize:wrap_actions_authorize,logout:wrap_actions_logout}},configs:{wrapActions:{loaded}},spec:{wrapActions:{execute}}}}}function preauthorizeBasic(s,o,i,a){const{authActions:{authorize:u},specSelectors:{specJson:_,isOAS3:w}}=s,x=w()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],C=_().getIn([...x,o]);return C?u({[o]:{value:{username:i,password:a},schema:C.toJS()}}):null}function preauthorizeApiKey(s,o,i){const{authActions:{authorize:a},specSelectors:{specJson:u,isOAS3:_}}=s,w=_()?[\"components\",\"securitySchemes\"]:[\"securityDefinitions\"],x=u().getIn([...w,o]);return x?a({[o]:{value:i,schema:x.toJS()}}):null}function isNothing(s){return null==s}var Qt=function repeat(s,o){var i,a=\"\";for(i=0;i<o;i+=1)a+=s;return a},Zt=function isNegativeZero(s){return 0===s&&Number.NEGATIVE_INFINITY===1/s},er={isNothing,isObject:function js_yaml_isObject(s){return\"object\"==typeof s&&null!==s},toArray:function toArray(s){return Array.isArray(s)?s:isNothing(s)?[]:[s]},repeat:Qt,isNegativeZero:Zt,extend:function extend(s,o){var i,a,u,_;if(o)for(i=0,a=(_=Object.keys(o)).length;i<a;i+=1)s[u=_[i]]=o[u];return s}};function formatError(s,o){var i=\"\",a=s.reason||\"(unknown reason)\";return s.mark?(s.mark.name&&(i+='in \"'+s.mark.name+'\" '),i+=\"(\"+(s.mark.line+1)+\":\"+(s.mark.column+1)+\")\",!o&&s.mark.snippet&&(i+=\"\\n\\n\"+s.mark.snippet),a+\" \"+i):a}function YAMLException$1(s,o){Error.call(this),this.name=\"YAMLException\",this.reason=s,this.mark=o,this.message=formatError(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||\"\"}YAMLException$1.prototype=Object.create(Error.prototype),YAMLException$1.prototype.constructor=YAMLException$1,YAMLException$1.prototype.toString=function toString(s){return this.name+\": \"+formatError(this,s)};var tr=YAMLException$1;function getLine(s,o,i,a,u){var _=\"\",w=\"\",x=Math.floor(u/2)-1;return a-o>x&&(o=a-x+(_=\" ... \").length),i-a>x&&(i=a+x-(w=\" ...\").length),{str:_+s.slice(o,i).replace(/\\t/g,\"→\")+w,pos:a-o+_.length}}function padStart(s,o){return er.repeat(\" \",o-s.length)+s}var rr=function makeSnippet(s,o){if(o=Object.create(o||null),!s.buffer)return null;o.maxLength||(o.maxLength=79),\"number\"!=typeof o.indent&&(o.indent=1),\"number\"!=typeof o.linesBefore&&(o.linesBefore=3),\"number\"!=typeof o.linesAfter&&(o.linesAfter=2);for(var i,a=/\\r?\\n|\\r|\\0/g,u=[0],_=[],w=-1;i=a.exec(s.buffer);)_.push(i.index),u.push(i.index+i[0].length),s.position<=i.index&&w<0&&(w=u.length-2);w<0&&(w=u.length-1);var x,C,j=\"\",L=Math.min(s.line+o.linesAfter,_.length).toString().length,B=o.maxLength-(o.indent+L+3);for(x=1;x<=o.linesBefore&&!(w-x<0);x++)C=getLine(s.buffer,u[w-x],_[w-x],s.position-(u[w]-u[w-x]),B),j=er.repeat(\" \",o.indent)+padStart((s.line-x+1).toString(),L)+\" | \"+C.str+\"\\n\"+j;for(C=getLine(s.buffer,u[w],_[w],s.position,B),j+=er.repeat(\" \",o.indent)+padStart((s.line+1).toString(),L)+\" | \"+C.str+\"\\n\",j+=er.repeat(\"-\",o.indent+L+3+C.pos)+\"^\\n\",x=1;x<=o.linesAfter&&!(w+x>=_.length);x++)C=getLine(s.buffer,u[w+x],_[w+x],s.position-(u[w]-u[w+x]),B),j+=er.repeat(\" \",o.indent)+padStart((s.line+x+1).toString(),L)+\" | \"+C.str+\"\\n\";return j.replace(/\\n$/,\"\")},nr=[\"kind\",\"multi\",\"resolve\",\"construct\",\"instanceOf\",\"predicate\",\"represent\",\"representName\",\"defaultStyle\",\"styleAliases\"],sr=[\"scalar\",\"sequence\",\"mapping\"];var ir=function Type$1(s,o){if(o=o||{},Object.keys(o).forEach((function(o){if(-1===nr.indexOf(o))throw new tr('Unknown option \"'+o+'\" is met in definition of \"'+s+'\" YAML type.')})),this.options=o,this.tag=s,this.kind=o.kind||null,this.resolve=o.resolve||function(){return!0},this.construct=o.construct||function(s){return s},this.instanceOf=o.instanceOf||null,this.predicate=o.predicate||null,this.represent=o.represent||null,this.representName=o.representName||null,this.defaultStyle=o.defaultStyle||null,this.multi=o.multi||!1,this.styleAliases=function compileStyleAliases(s){var o={};return null!==s&&Object.keys(s).forEach((function(i){s[i].forEach((function(s){o[String(s)]=i}))})),o}(o.styleAliases||null),-1===sr.indexOf(this.kind))throw new tr('Unknown kind \"'+this.kind+'\" is specified for \"'+s+'\" YAML type.')};function compileList(s,o){var i=[];return s[o].forEach((function(s){var o=i.length;i.forEach((function(i,a){i.tag===s.tag&&i.kind===s.kind&&i.multi===s.multi&&(o=a)})),i[o]=s})),i}function Schema$1(s){return this.extend(s)}Schema$1.prototype.extend=function extend(s){var o=[],i=[];if(s instanceof ir)i.push(s);else if(Array.isArray(s))i=i.concat(s);else{if(!s||!Array.isArray(s.implicit)&&!Array.isArray(s.explicit))throw new tr(\"Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })\");s.implicit&&(o=o.concat(s.implicit)),s.explicit&&(i=i.concat(s.explicit))}o.forEach((function(s){if(!(s instanceof ir))throw new tr(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\");if(s.loadKind&&\"scalar\"!==s.loadKind)throw new tr(\"There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.\");if(s.multi)throw new tr(\"There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.\")})),i.forEach((function(s){if(!(s instanceof ir))throw new tr(\"Specified list of YAML types (or a single Type object) contains a non-Type object.\")}));var a=Object.create(Schema$1.prototype);return a.implicit=(this.implicit||[]).concat(o),a.explicit=(this.explicit||[]).concat(i),a.compiledImplicit=compileList(a,\"implicit\"),a.compiledExplicit=compileList(a,\"explicit\"),a.compiledTypeMap=function compileMap(){var s,o,i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function collectType(s){s.multi?(i.multi[s.kind].push(s),i.multi.fallback.push(s)):i[s.kind][s.tag]=i.fallback[s.tag]=s}for(s=0,o=arguments.length;s<o;s+=1)arguments[s].forEach(collectType);return i}(a.compiledImplicit,a.compiledExplicit),a};var ar=Schema$1,cr=new ir(\"tag:yaml.org,2002:str\",{kind:\"scalar\",construct:function(s){return null!==s?s:\"\"}}),lr=new ir(\"tag:yaml.org,2002:seq\",{kind:\"sequence\",construct:function(s){return null!==s?s:[]}}),ur=new ir(\"tag:yaml.org,2002:map\",{kind:\"mapping\",construct:function(s){return null!==s?s:{}}}),pr=new ar({explicit:[cr,lr,ur]});var dr=new ir(\"tag:yaml.org,2002:null\",{kind:\"scalar\",resolve:function resolveYamlNull(s){if(null===s)return!0;var o=s.length;return 1===o&&\"~\"===s||4===o&&(\"null\"===s||\"Null\"===s||\"NULL\"===s)},construct:function constructYamlNull(){return null},predicate:function isNull(s){return null===s},represent:{canonical:function(){return\"~\"},lowercase:function(){return\"null\"},uppercase:function(){return\"NULL\"},camelcase:function(){return\"Null\"},empty:function(){return\"\"}},defaultStyle:\"lowercase\"});var fr=new ir(\"tag:yaml.org,2002:bool\",{kind:\"scalar\",resolve:function resolveYamlBoolean(s){if(null===s)return!1;var o=s.length;return 4===o&&(\"true\"===s||\"True\"===s||\"TRUE\"===s)||5===o&&(\"false\"===s||\"False\"===s||\"FALSE\"===s)},construct:function constructYamlBoolean(s){return\"true\"===s||\"True\"===s||\"TRUE\"===s},predicate:function isBoolean(s){return\"[object Boolean]\"===Object.prototype.toString.call(s)},represent:{lowercase:function(s){return s?\"true\":\"false\"},uppercase:function(s){return s?\"TRUE\":\"FALSE\"},camelcase:function(s){return s?\"True\":\"False\"}},defaultStyle:\"lowercase\"});function isOctCode(s){return 48<=s&&s<=55}function isDecCode(s){return 48<=s&&s<=57}var mr=new ir(\"tag:yaml.org,2002:int\",{kind:\"scalar\",resolve:function resolveYamlInteger(s){if(null===s)return!1;var o,i,a=s.length,u=0,_=!1;if(!a)return!1;if(\"-\"!==(o=s[u])&&\"+\"!==o||(o=s[++u]),\"0\"===o){if(u+1===a)return!0;if(\"b\"===(o=s[++u])){for(u++;u<a;u++)if(\"_\"!==(o=s[u])){if(\"0\"!==o&&\"1\"!==o)return!1;_=!0}return _&&\"_\"!==o}if(\"x\"===o){for(u++;u<a;u++)if(\"_\"!==(o=s[u])){if(!(48<=(i=s.charCodeAt(u))&&i<=57||65<=i&&i<=70||97<=i&&i<=102))return!1;_=!0}return _&&\"_\"!==o}if(\"o\"===o){for(u++;u<a;u++)if(\"_\"!==(o=s[u])){if(!isOctCode(s.charCodeAt(u)))return!1;_=!0}return _&&\"_\"!==o}}if(\"_\"===o)return!1;for(;u<a;u++)if(\"_\"!==(o=s[u])){if(!isDecCode(s.charCodeAt(u)))return!1;_=!0}return!(!_||\"_\"===o)},construct:function constructYamlInteger(s){var o,i=s,a=1;if(-1!==i.indexOf(\"_\")&&(i=i.replace(/_/g,\"\")),\"-\"!==(o=i[0])&&\"+\"!==o||(\"-\"===o&&(a=-1),o=(i=i.slice(1))[0]),\"0\"===i)return 0;if(\"0\"===o){if(\"b\"===i[1])return a*parseInt(i.slice(2),2);if(\"x\"===i[1])return a*parseInt(i.slice(2),16);if(\"o\"===i[1])return a*parseInt(i.slice(2),8)}return a*parseInt(i,10)},predicate:function isInteger(s){return\"[object Number]\"===Object.prototype.toString.call(s)&&s%1==0&&!er.isNegativeZero(s)},represent:{binary:function(s){return s>=0?\"0b\"+s.toString(2):\"-0b\"+s.toString(2).slice(1)},octal:function(s){return s>=0?\"0o\"+s.toString(8):\"-0o\"+s.toString(8).slice(1)},decimal:function(s){return s.toString(10)},hexadecimal:function(s){return s>=0?\"0x\"+s.toString(16).toUpperCase():\"-0x\"+s.toString(16).toUpperCase().slice(1)}},defaultStyle:\"decimal\",styleAliases:{binary:[2,\"bin\"],octal:[8,\"oct\"],decimal:[10,\"dec\"],hexadecimal:[16,\"hex\"]}}),gr=new RegExp(\"^(?:[-+]?(?:[0-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))$\");var yr=/^[-+]?[0-9]+e/;var vr=new ir(\"tag:yaml.org,2002:float\",{kind:\"scalar\",resolve:function resolveYamlFloat(s){return null!==s&&!(!gr.test(s)||\"_\"===s[s.length-1])},construct:function constructYamlFloat(s){var o,i;return i=\"-\"===(o=s.replace(/_/g,\"\").toLowerCase())[0]?-1:1,\"+-\".indexOf(o[0])>=0&&(o=o.slice(1)),\".inf\"===o?1===i?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:\".nan\"===o?NaN:i*parseFloat(o,10)},predicate:function isFloat(s){return\"[object Number]\"===Object.prototype.toString.call(s)&&(s%1!=0||er.isNegativeZero(s))},represent:function representYamlFloat(s,o){var i;if(isNaN(s))switch(o){case\"lowercase\":return\".nan\";case\"uppercase\":return\".NAN\";case\"camelcase\":return\".NaN\"}else if(Number.POSITIVE_INFINITY===s)switch(o){case\"lowercase\":return\".inf\";case\"uppercase\":return\".INF\";case\"camelcase\":return\".Inf\"}else if(Number.NEGATIVE_INFINITY===s)switch(o){case\"lowercase\":return\"-.inf\";case\"uppercase\":return\"-.INF\";case\"camelcase\":return\"-.Inf\"}else if(er.isNegativeZero(s))return\"-0.0\";return i=s.toString(10),yr.test(i)?i.replace(\"e\",\".e\"):i},defaultStyle:\"lowercase\"}),br=pr.extend({implicit:[dr,fr,mr,vr]}),_r=br,Sr=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$\"),Er=new RegExp(\"^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\\\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\\\.([0-9]*))?(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$\");var wr=new ir(\"tag:yaml.org,2002:timestamp\",{kind:\"scalar\",resolve:function resolveYamlTimestamp(s){return null!==s&&(null!==Sr.exec(s)||null!==Er.exec(s))},construct:function constructYamlTimestamp(s){var o,i,a,u,_,w,x,C,j=0,L=null;if(null===(o=Sr.exec(s))&&(o=Er.exec(s)),null===o)throw new Error(\"Date resolve error\");if(i=+o[1],a=+o[2]-1,u=+o[3],!o[4])return new Date(Date.UTC(i,a,u));if(_=+o[4],w=+o[5],x=+o[6],o[7]){for(j=o[7].slice(0,3);j.length<3;)j+=\"0\";j=+j}return o[9]&&(L=6e4*(60*+o[10]+ +(o[11]||0)),\"-\"===o[9]&&(L=-L)),C=new Date(Date.UTC(i,a,u,_,w,x,j)),L&&C.setTime(C.getTime()-L),C},instanceOf:Date,represent:function representYamlTimestamp(s){return s.toISOString()}});var xr=new ir(\"tag:yaml.org,2002:merge\",{kind:\"scalar\",resolve:function resolveYamlMerge(s){return\"<<\"===s||null===s}}),kr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r\";var Or=new ir(\"tag:yaml.org,2002:binary\",{kind:\"scalar\",resolve:function resolveYamlBinary(s){if(null===s)return!1;var o,i,a=0,u=s.length,_=kr;for(i=0;i<u;i++)if(!((o=_.indexOf(s.charAt(i)))>64)){if(o<0)return!1;a+=6}return a%8==0},construct:function constructYamlBinary(s){var o,i,a=s.replace(/[\\r\\n=]/g,\"\"),u=a.length,_=kr,w=0,x=[];for(o=0;o<u;o++)o%4==0&&o&&(x.push(w>>16&255),x.push(w>>8&255),x.push(255&w)),w=w<<6|_.indexOf(a.charAt(o));return 0===(i=u%4*6)?(x.push(w>>16&255),x.push(w>>8&255),x.push(255&w)):18===i?(x.push(w>>10&255),x.push(w>>2&255)):12===i&&x.push(w>>4&255),new Uint8Array(x)},predicate:function isBinary(s){return\"[object Uint8Array]\"===Object.prototype.toString.call(s)},represent:function representYamlBinary(s){var o,i,a=\"\",u=0,_=s.length,w=kr;for(o=0;o<_;o++)o%3==0&&o&&(a+=w[u>>18&63],a+=w[u>>12&63],a+=w[u>>6&63],a+=w[63&u]),u=(u<<8)+s[o];return 0===(i=_%3)?(a+=w[u>>18&63],a+=w[u>>12&63],a+=w[u>>6&63],a+=w[63&u]):2===i?(a+=w[u>>10&63],a+=w[u>>4&63],a+=w[u<<2&63],a+=w[64]):1===i&&(a+=w[u>>2&63],a+=w[u<<4&63],a+=w[64],a+=w[64]),a}}),Ar=Object.prototype.hasOwnProperty,Cr=Object.prototype.toString;var jr=new ir(\"tag:yaml.org,2002:omap\",{kind:\"sequence\",resolve:function resolveYamlOmap(s){if(null===s)return!0;var o,i,a,u,_,w=[],x=s;for(o=0,i=x.length;o<i;o+=1){if(a=x[o],_=!1,\"[object Object]\"!==Cr.call(a))return!1;for(u in a)if(Ar.call(a,u)){if(_)return!1;_=!0}if(!_)return!1;if(-1!==w.indexOf(u))return!1;w.push(u)}return!0},construct:function constructYamlOmap(s){return null!==s?s:[]}}),Pr=Object.prototype.toString;var Ir=new ir(\"tag:yaml.org,2002:pairs\",{kind:\"sequence\",resolve:function resolveYamlPairs(s){if(null===s)return!0;var o,i,a,u,_,w=s;for(_=new Array(w.length),o=0,i=w.length;o<i;o+=1){if(a=w[o],\"[object Object]\"!==Pr.call(a))return!1;if(1!==(u=Object.keys(a)).length)return!1;_[o]=[u[0],a[u[0]]]}return!0},construct:function constructYamlPairs(s){if(null===s)return[];var o,i,a,u,_,w=s;for(_=new Array(w.length),o=0,i=w.length;o<i;o+=1)a=w[o],u=Object.keys(a),_[o]=[u[0],a[u[0]]];return _}}),Tr=Object.prototype.hasOwnProperty;var Nr=new ir(\"tag:yaml.org,2002:set\",{kind:\"mapping\",resolve:function resolveYamlSet(s){if(null===s)return!0;var o,i=s;for(o in i)if(Tr.call(i,o)&&null!==i[o])return!1;return!0},construct:function constructYamlSet(s){return null!==s?s:{}}}),Mr=_r.extend({implicit:[wr,xr],explicit:[Or,jr,Ir,Nr]}),Rr=Object.prototype.hasOwnProperty,Dr=/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/,Lr=/[\\x85\\u2028\\u2029]/,Fr=/[,\\[\\]\\{\\}]/,Br=/^(?:!|!!|![a-z\\-]+!)$/i,$r=/^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;function _class(s){return Object.prototype.toString.call(s)}function is_EOL(s){return 10===s||13===s}function is_WHITE_SPACE(s){return 9===s||32===s}function is_WS_OR_EOL(s){return 9===s||32===s||10===s||13===s}function is_FLOW_INDICATOR(s){return 44===s||91===s||93===s||123===s||125===s}function fromHexCode(s){var o;return 48<=s&&s<=57?s-48:97<=(o=32|s)&&o<=102?o-97+10:-1}function simpleEscapeSequence(s){return 48===s?\"\\0\":97===s?\"\u0007\":98===s?\"\\b\":116===s||9===s?\"\\t\":110===s?\"\\n\":118===s?\"\\v\":102===s?\"\\f\":114===s?\"\\r\":101===s?\"\u001b\":32===s?\" \":34===s?'\"':47===s?\"/\":92===s?\"\\\\\":78===s?\"\":95===s?\" \":76===s?\"\\u2028\":80===s?\"\\u2029\":\"\"}function charFromCodepoint(s){return s<=65535?String.fromCharCode(s):String.fromCharCode(55296+(s-65536>>10),56320+(s-65536&1023))}function setProperty(s,o,i){\"__proto__\"===o?Object.defineProperty(s,o,{configurable:!0,enumerable:!0,writable:!0,value:i}):s[o]=i}for(var qr=new Array(256),Ur=new Array(256),Vr=0;Vr<256;Vr++)qr[Vr]=simpleEscapeSequence(Vr)?1:0,Ur[Vr]=simpleEscapeSequence(Vr);function State$1(s,o){this.input=s,this.filename=o.filename||null,this.schema=o.schema||Mr,this.onWarning=o.onWarning||null,this.legacy=o.legacy||!1,this.json=o.json||!1,this.listener=o.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=s.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function generateError(s,o){var i={name:s.filename,buffer:s.input.slice(0,-1),position:s.position,line:s.line,column:s.position-s.lineStart};return i.snippet=rr(i),new tr(o,i)}function throwError(s,o){throw generateError(s,o)}function throwWarning(s,o){s.onWarning&&s.onWarning.call(null,generateError(s,o))}var zr={YAML:function handleYamlDirective(s,o,i){var a,u,_;null!==s.version&&throwError(s,\"duplication of %YAML directive\"),1!==i.length&&throwError(s,\"YAML directive accepts exactly one argument\"),null===(a=/^([0-9]+)\\.([0-9]+)$/.exec(i[0]))&&throwError(s,\"ill-formed argument of the YAML directive\"),u=parseInt(a[1],10),_=parseInt(a[2],10),1!==u&&throwError(s,\"unacceptable YAML version of the document\"),s.version=i[0],s.checkLineBreaks=_<2,1!==_&&2!==_&&throwWarning(s,\"unsupported YAML version of the document\")},TAG:function handleTagDirective(s,o,i){var a,u;2!==i.length&&throwError(s,\"TAG directive accepts exactly two arguments\"),a=i[0],u=i[1],Br.test(a)||throwError(s,\"ill-formed tag handle (first argument) of the TAG directive\"),Rr.call(s.tagMap,a)&&throwError(s,'there is a previously declared suffix for \"'+a+'\" tag handle'),$r.test(u)||throwError(s,\"ill-formed tag prefix (second argument) of the TAG directive\");try{u=decodeURIComponent(u)}catch(o){throwError(s,\"tag prefix is malformed: \"+u)}s.tagMap[a]=u}};function captureSegment(s,o,i,a){var u,_,w,x;if(o<i){if(x=s.input.slice(o,i),a)for(u=0,_=x.length;u<_;u+=1)9===(w=x.charCodeAt(u))||32<=w&&w<=1114111||throwError(s,\"expected valid JSON character\");else Dr.test(x)&&throwError(s,\"the stream contains non-printable characters\");s.result+=x}}function mergeMappings(s,o,i,a){var u,_,w,x;for(er.isObject(i)||throwError(s,\"cannot merge mappings; the provided source object is unacceptable\"),w=0,x=(u=Object.keys(i)).length;w<x;w+=1)_=u[w],Rr.call(o,_)||(setProperty(o,_,i[_]),a[_]=!0)}function storeMappingPair(s,o,i,a,u,_,w,x,C){var j,L;if(Array.isArray(u))for(j=0,L=(u=Array.prototype.slice.call(u)).length;j<L;j+=1)Array.isArray(u[j])&&throwError(s,\"nested arrays are not supported inside keys\"),\"object\"==typeof u&&\"[object Object]\"===_class(u[j])&&(u[j]=\"[object Object]\");if(\"object\"==typeof u&&\"[object Object]\"===_class(u)&&(u=\"[object Object]\"),u=String(u),null===o&&(o={}),\"tag:yaml.org,2002:merge\"===a)if(Array.isArray(_))for(j=0,L=_.length;j<L;j+=1)mergeMappings(s,o,_[j],i);else mergeMappings(s,o,_,i);else s.json||Rr.call(i,u)||!Rr.call(o,u)||(s.line=w||s.line,s.lineStart=x||s.lineStart,s.position=C||s.position,throwError(s,\"duplicated mapping key\")),setProperty(o,u,_),delete i[u];return o}function readLineBreak(s){var o;10===(o=s.input.charCodeAt(s.position))?s.position++:13===o?(s.position++,10===s.input.charCodeAt(s.position)&&s.position++):throwError(s,\"a line break is expected\"),s.line+=1,s.lineStart=s.position,s.firstTabInLine=-1}function skipSeparationSpace(s,o,i){for(var a=0,u=s.input.charCodeAt(s.position);0!==u;){for(;is_WHITE_SPACE(u);)9===u&&-1===s.firstTabInLine&&(s.firstTabInLine=s.position),u=s.input.charCodeAt(++s.position);if(o&&35===u)do{u=s.input.charCodeAt(++s.position)}while(10!==u&&13!==u&&0!==u);if(!is_EOL(u))break;for(readLineBreak(s),u=s.input.charCodeAt(s.position),a++,s.lineIndent=0;32===u;)s.lineIndent++,u=s.input.charCodeAt(++s.position)}return-1!==i&&0!==a&&s.lineIndent<i&&throwWarning(s,\"deficient indentation\"),a}function testDocumentSeparator(s){var o,i=s.position;return!(45!==(o=s.input.charCodeAt(i))&&46!==o||o!==s.input.charCodeAt(i+1)||o!==s.input.charCodeAt(i+2)||(i+=3,0!==(o=s.input.charCodeAt(i))&&!is_WS_OR_EOL(o)))}function writeFoldedLines(s,o){1===o?s.result+=\" \":o>1&&(s.result+=er.repeat(\"\\n\",o-1))}function readBlockSequence(s,o){var i,a,u=s.tag,_=s.anchor,w=[],x=!1;if(-1!==s.firstTabInLine)return!1;for(null!==s.anchor&&(s.anchorMap[s.anchor]=w),a=s.input.charCodeAt(s.position);0!==a&&(-1!==s.firstTabInLine&&(s.position=s.firstTabInLine,throwError(s,\"tab characters must not be used in indentation\")),45===a)&&is_WS_OR_EOL(s.input.charCodeAt(s.position+1));)if(x=!0,s.position++,skipSeparationSpace(s,!0,-1)&&s.lineIndent<=o)w.push(null),a=s.input.charCodeAt(s.position);else if(i=s.line,composeNode(s,o,3,!1,!0),w.push(s.result),skipSeparationSpace(s,!0,-1),a=s.input.charCodeAt(s.position),(s.line===i||s.lineIndent>o)&&0!==a)throwError(s,\"bad indentation of a sequence entry\");else if(s.lineIndent<o)break;return!!x&&(s.tag=u,s.anchor=_,s.kind=\"sequence\",s.result=w,!0)}function readTagProperty(s){var o,i,a,u,_=!1,w=!1;if(33!==(u=s.input.charCodeAt(s.position)))return!1;if(null!==s.tag&&throwError(s,\"duplication of a tag property\"),60===(u=s.input.charCodeAt(++s.position))?(_=!0,u=s.input.charCodeAt(++s.position)):33===u?(w=!0,i=\"!!\",u=s.input.charCodeAt(++s.position)):i=\"!\",o=s.position,_){do{u=s.input.charCodeAt(++s.position)}while(0!==u&&62!==u);s.position<s.length?(a=s.input.slice(o,s.position),u=s.input.charCodeAt(++s.position)):throwError(s,\"unexpected end of the stream within a verbatim tag\")}else{for(;0!==u&&!is_WS_OR_EOL(u);)33===u&&(w?throwError(s,\"tag suffix cannot contain exclamation marks\"):(i=s.input.slice(o-1,s.position+1),Br.test(i)||throwError(s,\"named tag handle cannot contain such characters\"),w=!0,o=s.position+1)),u=s.input.charCodeAt(++s.position);a=s.input.slice(o,s.position),Fr.test(a)&&throwError(s,\"tag suffix cannot contain flow indicator characters\")}a&&!$r.test(a)&&throwError(s,\"tag name cannot contain such characters: \"+a);try{a=decodeURIComponent(a)}catch(o){throwError(s,\"tag name is malformed: \"+a)}return _?s.tag=a:Rr.call(s.tagMap,i)?s.tag=s.tagMap[i]+a:\"!\"===i?s.tag=\"!\"+a:\"!!\"===i?s.tag=\"tag:yaml.org,2002:\"+a:throwError(s,'undeclared tag handle \"'+i+'\"'),!0}function readAnchorProperty(s){var o,i;if(38!==(i=s.input.charCodeAt(s.position)))return!1;for(null!==s.anchor&&throwError(s,\"duplication of an anchor property\"),i=s.input.charCodeAt(++s.position),o=s.position;0!==i&&!is_WS_OR_EOL(i)&&!is_FLOW_INDICATOR(i);)i=s.input.charCodeAt(++s.position);return s.position===o&&throwError(s,\"name of an anchor node must contain at least one character\"),s.anchor=s.input.slice(o,s.position),!0}function composeNode(s,o,i,a,u){var _,w,x,C,j,L,B,$,U,V=1,z=!1,Y=!1;if(null!==s.listener&&s.listener(\"open\",s),s.tag=null,s.anchor=null,s.kind=null,s.result=null,_=w=x=4===i||3===i,a&&skipSeparationSpace(s,!0,-1)&&(z=!0,s.lineIndent>o?V=1:s.lineIndent===o?V=0:s.lineIndent<o&&(V=-1)),1===V)for(;readTagProperty(s)||readAnchorProperty(s);)skipSeparationSpace(s,!0,-1)?(z=!0,x=_,s.lineIndent>o?V=1:s.lineIndent===o?V=0:s.lineIndent<o&&(V=-1)):x=!1;if(x&&(x=z||u),1!==V&&4!==i||($=1===i||2===i?o:o+1,U=s.position-s.lineStart,1===V?x&&(readBlockSequence(s,U)||function readBlockMapping(s,o,i){var a,u,_,w,x,C,j,L=s.tag,B=s.anchor,$={},U=Object.create(null),V=null,z=null,Y=null,Z=!1,ee=!1;if(-1!==s.firstTabInLine)return!1;for(null!==s.anchor&&(s.anchorMap[s.anchor]=$),j=s.input.charCodeAt(s.position);0!==j;){if(Z||-1===s.firstTabInLine||(s.position=s.firstTabInLine,throwError(s,\"tab characters must not be used in indentation\")),a=s.input.charCodeAt(s.position+1),_=s.line,63!==j&&58!==j||!is_WS_OR_EOL(a)){if(w=s.line,x=s.lineStart,C=s.position,!composeNode(s,i,2,!1,!0))break;if(s.line===_){for(j=s.input.charCodeAt(s.position);is_WHITE_SPACE(j);)j=s.input.charCodeAt(++s.position);if(58===j)is_WS_OR_EOL(j=s.input.charCodeAt(++s.position))||throwError(s,\"a whitespace character is expected after the key-value separator within a block mapping\"),Z&&(storeMappingPair(s,$,U,V,z,null,w,x,C),V=z=Y=null),ee=!0,Z=!1,u=!1,V=s.tag,z=s.result;else{if(!ee)return s.tag=L,s.anchor=B,!0;throwError(s,\"can not read an implicit mapping pair; a colon is missed\")}}else{if(!ee)return s.tag=L,s.anchor=B,!0;throwError(s,\"can not read a block mapping entry; a multiline key may not be an implicit key\")}}else 63===j?(Z&&(storeMappingPair(s,$,U,V,z,null,w,x,C),V=z=Y=null),ee=!0,Z=!0,u=!0):Z?(Z=!1,u=!0):throwError(s,\"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line\"),s.position+=1,j=a;if((s.line===_||s.lineIndent>o)&&(Z&&(w=s.line,x=s.lineStart,C=s.position),composeNode(s,o,4,!0,u)&&(Z?z=s.result:Y=s.result),Z||(storeMappingPair(s,$,U,V,z,Y,w,x,C),V=z=Y=null),skipSeparationSpace(s,!0,-1),j=s.input.charCodeAt(s.position)),(s.line===_||s.lineIndent>o)&&0!==j)throwError(s,\"bad indentation of a mapping entry\");else if(s.lineIndent<o)break}return Z&&storeMappingPair(s,$,U,V,z,null,w,x,C),ee&&(s.tag=L,s.anchor=B,s.kind=\"mapping\",s.result=$),ee}(s,U,$))||function readFlowCollection(s,o){var i,a,u,_,w,x,C,j,L,B,$,U,V=!0,z=s.tag,Y=s.anchor,Z=Object.create(null);if(91===(U=s.input.charCodeAt(s.position)))w=93,j=!1,_=[];else{if(123!==U)return!1;w=125,j=!0,_={}}for(null!==s.anchor&&(s.anchorMap[s.anchor]=_),U=s.input.charCodeAt(++s.position);0!==U;){if(skipSeparationSpace(s,!0,o),(U=s.input.charCodeAt(s.position))===w)return s.position++,s.tag=z,s.anchor=Y,s.kind=j?\"mapping\":\"sequence\",s.result=_,!0;V?44===U&&throwError(s,\"expected the node content, but found ','\"):throwError(s,\"missed comma between flow collection entries\"),$=null,x=C=!1,63===U&&is_WS_OR_EOL(s.input.charCodeAt(s.position+1))&&(x=C=!0,s.position++,skipSeparationSpace(s,!0,o)),i=s.line,a=s.lineStart,u=s.position,composeNode(s,o,1,!1,!0),B=s.tag,L=s.result,skipSeparationSpace(s,!0,o),U=s.input.charCodeAt(s.position),!C&&s.line!==i||58!==U||(x=!0,U=s.input.charCodeAt(++s.position),skipSeparationSpace(s,!0,o),composeNode(s,o,1,!1,!0),$=s.result),j?storeMappingPair(s,_,Z,B,L,$,i,a,u):x?_.push(storeMappingPair(s,null,Z,B,L,$,i,a,u)):_.push(L),skipSeparationSpace(s,!0,o),44===(U=s.input.charCodeAt(s.position))?(V=!0,U=s.input.charCodeAt(++s.position)):V=!1}throwError(s,\"unexpected end of the stream within a flow collection\")}(s,$)?Y=!0:(w&&function readBlockScalar(s,o){var i,a,u,_,w,x=1,C=!1,j=!1,L=o,B=0,$=!1;if(124===(_=s.input.charCodeAt(s.position)))a=!1;else{if(62!==_)return!1;a=!0}for(s.kind=\"scalar\",s.result=\"\";0!==_;)if(43===(_=s.input.charCodeAt(++s.position))||45===_)1===x?x=43===_?3:2:throwError(s,\"repeat of a chomping mode identifier\");else{if(!((u=48<=(w=_)&&w<=57?w-48:-1)>=0))break;0===u?throwError(s,\"bad explicit indentation width of a block scalar; it cannot be less than one\"):j?throwError(s,\"repeat of an indentation width identifier\"):(L=o+u-1,j=!0)}if(is_WHITE_SPACE(_)){do{_=s.input.charCodeAt(++s.position)}while(is_WHITE_SPACE(_));if(35===_)do{_=s.input.charCodeAt(++s.position)}while(!is_EOL(_)&&0!==_)}for(;0!==_;){for(readLineBreak(s),s.lineIndent=0,_=s.input.charCodeAt(s.position);(!j||s.lineIndent<L)&&32===_;)s.lineIndent++,_=s.input.charCodeAt(++s.position);if(!j&&s.lineIndent>L&&(L=s.lineIndent),is_EOL(_))B++;else{if(s.lineIndent<L){3===x?s.result+=er.repeat(\"\\n\",C?1+B:B):1===x&&C&&(s.result+=\"\\n\");break}for(a?is_WHITE_SPACE(_)?($=!0,s.result+=er.repeat(\"\\n\",C?1+B:B)):$?($=!1,s.result+=er.repeat(\"\\n\",B+1)):0===B?C&&(s.result+=\" \"):s.result+=er.repeat(\"\\n\",B):s.result+=er.repeat(\"\\n\",C?1+B:B),C=!0,j=!0,B=0,i=s.position;!is_EOL(_)&&0!==_;)_=s.input.charCodeAt(++s.position);captureSegment(s,i,s.position,!1)}}return!0}(s,$)||function readSingleQuotedScalar(s,o){var i,a,u;if(39!==(i=s.input.charCodeAt(s.position)))return!1;for(s.kind=\"scalar\",s.result=\"\",s.position++,a=u=s.position;0!==(i=s.input.charCodeAt(s.position));)if(39===i){if(captureSegment(s,a,s.position,!0),39!==(i=s.input.charCodeAt(++s.position)))return!0;a=s.position,s.position++,u=s.position}else is_EOL(i)?(captureSegment(s,a,u,!0),writeFoldedLines(s,skipSeparationSpace(s,!1,o)),a=u=s.position):s.position===s.lineStart&&testDocumentSeparator(s)?throwError(s,\"unexpected end of the document within a single quoted scalar\"):(s.position++,u=s.position);throwError(s,\"unexpected end of the stream within a single quoted scalar\")}(s,$)||function readDoubleQuotedScalar(s,o){var i,a,u,_,w,x,C;if(34!==(x=s.input.charCodeAt(s.position)))return!1;for(s.kind=\"scalar\",s.result=\"\",s.position++,i=a=s.position;0!==(x=s.input.charCodeAt(s.position));){if(34===x)return captureSegment(s,i,s.position,!0),s.position++,!0;if(92===x){if(captureSegment(s,i,s.position,!0),is_EOL(x=s.input.charCodeAt(++s.position)))skipSeparationSpace(s,!1,o);else if(x<256&&qr[x])s.result+=Ur[x],s.position++;else if((w=120===(C=x)?2:117===C?4:85===C?8:0)>0){for(u=w,_=0;u>0;u--)(w=fromHexCode(x=s.input.charCodeAt(++s.position)))>=0?_=(_<<4)+w:throwError(s,\"expected hexadecimal character\");s.result+=charFromCodepoint(_),s.position++}else throwError(s,\"unknown escape sequence\");i=a=s.position}else is_EOL(x)?(captureSegment(s,i,a,!0),writeFoldedLines(s,skipSeparationSpace(s,!1,o)),i=a=s.position):s.position===s.lineStart&&testDocumentSeparator(s)?throwError(s,\"unexpected end of the document within a double quoted scalar\"):(s.position++,a=s.position)}throwError(s,\"unexpected end of the stream within a double quoted scalar\")}(s,$)?Y=!0:!function readAlias(s){var o,i,a;if(42!==(a=s.input.charCodeAt(s.position)))return!1;for(a=s.input.charCodeAt(++s.position),o=s.position;0!==a&&!is_WS_OR_EOL(a)&&!is_FLOW_INDICATOR(a);)a=s.input.charCodeAt(++s.position);return s.position===o&&throwError(s,\"name of an alias node must contain at least one character\"),i=s.input.slice(o,s.position),Rr.call(s.anchorMap,i)||throwError(s,'unidentified alias \"'+i+'\"'),s.result=s.anchorMap[i],skipSeparationSpace(s,!0,-1),!0}(s)?function readPlainScalar(s,o,i){var a,u,_,w,x,C,j,L,B=s.kind,$=s.result;if(is_WS_OR_EOL(L=s.input.charCodeAt(s.position))||is_FLOW_INDICATOR(L)||35===L||38===L||42===L||33===L||124===L||62===L||39===L||34===L||37===L||64===L||96===L)return!1;if((63===L||45===L)&&(is_WS_OR_EOL(a=s.input.charCodeAt(s.position+1))||i&&is_FLOW_INDICATOR(a)))return!1;for(s.kind=\"scalar\",s.result=\"\",u=_=s.position,w=!1;0!==L;){if(58===L){if(is_WS_OR_EOL(a=s.input.charCodeAt(s.position+1))||i&&is_FLOW_INDICATOR(a))break}else if(35===L){if(is_WS_OR_EOL(s.input.charCodeAt(s.position-1)))break}else{if(s.position===s.lineStart&&testDocumentSeparator(s)||i&&is_FLOW_INDICATOR(L))break;if(is_EOL(L)){if(x=s.line,C=s.lineStart,j=s.lineIndent,skipSeparationSpace(s,!1,-1),s.lineIndent>=o){w=!0,L=s.input.charCodeAt(s.position);continue}s.position=_,s.line=x,s.lineStart=C,s.lineIndent=j;break}}w&&(captureSegment(s,u,_,!1),writeFoldedLines(s,s.line-x),u=_=s.position,w=!1),is_WHITE_SPACE(L)||(_=s.position+1),L=s.input.charCodeAt(++s.position)}return captureSegment(s,u,_,!1),!!s.result||(s.kind=B,s.result=$,!1)}(s,$,1===i)&&(Y=!0,null===s.tag&&(s.tag=\"?\")):(Y=!0,null===s.tag&&null===s.anchor||throwError(s,\"alias node should not have any properties\")),null!==s.anchor&&(s.anchorMap[s.anchor]=s.result)):0===V&&(Y=x&&readBlockSequence(s,U))),null===s.tag)null!==s.anchor&&(s.anchorMap[s.anchor]=s.result);else if(\"?\"===s.tag){for(null!==s.result&&\"scalar\"!==s.kind&&throwError(s,'unacceptable node kind for !<?> tag; it should be \"scalar\", not \"'+s.kind+'\"'),C=0,j=s.implicitTypes.length;C<j;C+=1)if((B=s.implicitTypes[C]).resolve(s.result)){s.result=B.construct(s.result),s.tag=B.tag,null!==s.anchor&&(s.anchorMap[s.anchor]=s.result);break}}else if(\"!\"!==s.tag){if(Rr.call(s.typeMap[s.kind||\"fallback\"],s.tag))B=s.typeMap[s.kind||\"fallback\"][s.tag];else for(B=null,C=0,j=(L=s.typeMap.multi[s.kind||\"fallback\"]).length;C<j;C+=1)if(s.tag.slice(0,L[C].tag.length)===L[C].tag){B=L[C];break}B||throwError(s,\"unknown tag !<\"+s.tag+\">\"),null!==s.result&&B.kind!==s.kind&&throwError(s,\"unacceptable node kind for !<\"+s.tag+'> tag; it should be \"'+B.kind+'\", not \"'+s.kind+'\"'),B.resolve(s.result,s.tag)?(s.result=B.construct(s.result,s.tag),null!==s.anchor&&(s.anchorMap[s.anchor]=s.result)):throwError(s,\"cannot resolve a node with !<\"+s.tag+\"> explicit tag\")}return null!==s.listener&&s.listener(\"close\",s),null!==s.tag||null!==s.anchor||Y}function readDocument(s){var o,i,a,u,_=s.position,w=!1;for(s.version=null,s.checkLineBreaks=s.legacy,s.tagMap=Object.create(null),s.anchorMap=Object.create(null);0!==(u=s.input.charCodeAt(s.position))&&(skipSeparationSpace(s,!0,-1),u=s.input.charCodeAt(s.position),!(s.lineIndent>0||37!==u));){for(w=!0,u=s.input.charCodeAt(++s.position),o=s.position;0!==u&&!is_WS_OR_EOL(u);)u=s.input.charCodeAt(++s.position);for(a=[],(i=s.input.slice(o,s.position)).length<1&&throwError(s,\"directive name must not be less than one character in length\");0!==u;){for(;is_WHITE_SPACE(u);)u=s.input.charCodeAt(++s.position);if(35===u){do{u=s.input.charCodeAt(++s.position)}while(0!==u&&!is_EOL(u));break}if(is_EOL(u))break;for(o=s.position;0!==u&&!is_WS_OR_EOL(u);)u=s.input.charCodeAt(++s.position);a.push(s.input.slice(o,s.position))}0!==u&&readLineBreak(s),Rr.call(zr,i)?zr[i](s,i,a):throwWarning(s,'unknown document directive \"'+i+'\"')}skipSeparationSpace(s,!0,-1),0===s.lineIndent&&45===s.input.charCodeAt(s.position)&&45===s.input.charCodeAt(s.position+1)&&45===s.input.charCodeAt(s.position+2)?(s.position+=3,skipSeparationSpace(s,!0,-1)):w&&throwError(s,\"directives end mark is expected\"),composeNode(s,s.lineIndent-1,4,!1,!0),skipSeparationSpace(s,!0,-1),s.checkLineBreaks&&Lr.test(s.input.slice(_,s.position))&&throwWarning(s,\"non-ASCII line breaks are interpreted as content\"),s.documents.push(s.result),s.position===s.lineStart&&testDocumentSeparator(s)?46===s.input.charCodeAt(s.position)&&(s.position+=3,skipSeparationSpace(s,!0,-1)):s.position<s.length-1&&throwError(s,\"end of the stream or a document separator is expected\")}function loadDocuments(s,o){o=o||{},0!==(s=String(s)).length&&(10!==s.charCodeAt(s.length-1)&&13!==s.charCodeAt(s.length-1)&&(s+=\"\\n\"),65279===s.charCodeAt(0)&&(s=s.slice(1)));var i=new State$1(s,o),a=s.indexOf(\"\\0\");for(-1!==a&&(i.position=a,throwError(i,\"null byte is not allowed in input\")),i.input+=\"\\0\";32===i.input.charCodeAt(i.position);)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)readDocument(i);return i.documents}var Wr={loadAll:function loadAll$1(s,o,i){null!==o&&\"object\"==typeof o&&void 0===i&&(i=o,o=null);var a=loadDocuments(s,i);if(\"function\"!=typeof o)return a;for(var u=0,_=a.length;u<_;u+=1)o(a[u])},load:function load$1(s,o){var i=loadDocuments(s,o);if(0!==i.length){if(1===i.length)return i[0];throw new tr(\"expected a single document in the stream, but found more\")}}},Jr=Object.prototype.toString,Hr=Object.prototype.hasOwnProperty,Kr=65279,Gr={0:\"\\\\0\",7:\"\\\\a\",8:\"\\\\b\",9:\"\\\\t\",10:\"\\\\n\",11:\"\\\\v\",12:\"\\\\f\",13:\"\\\\r\",27:\"\\\\e\",34:'\\\\\"',92:\"\\\\\\\\\",133:\"\\\\N\",160:\"\\\\_\",8232:\"\\\\L\",8233:\"\\\\P\"},Yr=[\"y\",\"Y\",\"yes\",\"Yes\",\"YES\",\"on\",\"On\",\"ON\",\"n\",\"N\",\"no\",\"No\",\"NO\",\"off\",\"Off\",\"OFF\"],Xr=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\\.[0-9_]*)?$/;function encodeHex(s){var o,i,a;if(o=s.toString(16).toUpperCase(),s<=255)i=\"x\",a=2;else if(s<=65535)i=\"u\",a=4;else{if(!(s<=4294967295))throw new tr(\"code point within a string may not be greater than 0xFFFFFFFF\");i=\"U\",a=8}return\"\\\\\"+i+er.repeat(\"0\",a-o.length)+o}function State(s){this.schema=s.schema||Mr,this.indent=Math.max(1,s.indent||2),this.noArrayIndent=s.noArrayIndent||!1,this.skipInvalid=s.skipInvalid||!1,this.flowLevel=er.isNothing(s.flowLevel)?-1:s.flowLevel,this.styleMap=function compileStyleMap(s,o){var i,a,u,_,w,x,C;if(null===o)return{};for(i={},u=0,_=(a=Object.keys(o)).length;u<_;u+=1)w=a[u],x=String(o[w]),\"!!\"===w.slice(0,2)&&(w=\"tag:yaml.org,2002:\"+w.slice(2)),(C=s.compiledTypeMap.fallback[w])&&Hr.call(C.styleAliases,x)&&(x=C.styleAliases[x]),i[w]=x;return i}(this.schema,s.styles||null),this.sortKeys=s.sortKeys||!1,this.lineWidth=s.lineWidth||80,this.noRefs=s.noRefs||!1,this.noCompatMode=s.noCompatMode||!1,this.condenseFlow=s.condenseFlow||!1,this.quotingType='\"'===s.quotingType?2:1,this.forceQuotes=s.forceQuotes||!1,this.replacer=\"function\"==typeof s.replacer?s.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result=\"\",this.duplicates=[],this.usedDuplicates=null}function indentString(s,o){for(var i,a=er.repeat(\" \",o),u=0,_=-1,w=\"\",x=s.length;u<x;)-1===(_=s.indexOf(\"\\n\",u))?(i=s.slice(u),u=x):(i=s.slice(u,_+1),u=_+1),i.length&&\"\\n\"!==i&&(w+=a),w+=i;return w}function generateNextLine(s,o){return\"\\n\"+er.repeat(\" \",s.indent*o)}function isWhitespace(s){return 32===s||9===s}function isPrintable(s){return 32<=s&&s<=126||161<=s&&s<=55295&&8232!==s&&8233!==s||57344<=s&&s<=65533&&s!==Kr||65536<=s&&s<=1114111}function isNsCharOrWhitespace(s){return isPrintable(s)&&s!==Kr&&13!==s&&10!==s}function isPlainSafe(s,o,i){var a=isNsCharOrWhitespace(s),u=a&&!isWhitespace(s);return(i?a:a&&44!==s&&91!==s&&93!==s&&123!==s&&125!==s)&&35!==s&&!(58===o&&!u)||isNsCharOrWhitespace(o)&&!isWhitespace(o)&&35===s||58===o&&u}function codePointAt(s,o){var i,a=s.charCodeAt(o);return a>=55296&&a<=56319&&o+1<s.length&&(i=s.charCodeAt(o+1))>=56320&&i<=57343?1024*(a-55296)+i-56320+65536:a}function needIndentIndicator(s){return/^\\n* /.test(s)}function chooseScalarStyle(s,o,i,a,u,_,w,x){var C,j=0,L=null,B=!1,$=!1,U=-1!==a,V=-1,z=function isPlainSafeFirst(s){return isPrintable(s)&&s!==Kr&&!isWhitespace(s)&&45!==s&&63!==s&&58!==s&&44!==s&&91!==s&&93!==s&&123!==s&&125!==s&&35!==s&&38!==s&&42!==s&&33!==s&&124!==s&&61!==s&&62!==s&&39!==s&&34!==s&&37!==s&&64!==s&&96!==s}(codePointAt(s,0))&&function isPlainSafeLast(s){return!isWhitespace(s)&&58!==s}(codePointAt(s,s.length-1));if(o||w)for(C=0;C<s.length;j>=65536?C+=2:C++){if(!isPrintable(j=codePointAt(s,C)))return 5;z=z&&isPlainSafe(j,L,x),L=j}else{for(C=0;C<s.length;j>=65536?C+=2:C++){if(10===(j=codePointAt(s,C)))B=!0,U&&($=$||C-V-1>a&&\" \"!==s[V+1],V=C);else if(!isPrintable(j))return 5;z=z&&isPlainSafe(j,L,x),L=j}$=$||U&&C-V-1>a&&\" \"!==s[V+1]}return B||$?i>9&&needIndentIndicator(s)?5:w?2===_?5:2:$?4:3:!z||w||u(s)?2===_?5:2:1}function writeScalar(s,o,i,a,u){s.dump=function(){if(0===o.length)return 2===s.quotingType?'\"\"':\"''\";if(!s.noCompatMode&&(-1!==Yr.indexOf(o)||Xr.test(o)))return 2===s.quotingType?'\"'+o+'\"':\"'\"+o+\"'\";var _=s.indent*Math.max(1,i),w=-1===s.lineWidth?-1:Math.max(Math.min(s.lineWidth,40),s.lineWidth-_),x=a||s.flowLevel>-1&&i>=s.flowLevel;switch(chooseScalarStyle(o,x,s.indent,w,(function testAmbiguity(o){return function testImplicitResolving(s,o){var i,a;for(i=0,a=s.implicitTypes.length;i<a;i+=1)if(s.implicitTypes[i].resolve(o))return!0;return!1}(s,o)}),s.quotingType,s.forceQuotes&&!a,u)){case 1:return o;case 2:return\"'\"+o.replace(/'/g,\"''\")+\"'\";case 3:return\"|\"+blockHeader(o,s.indent)+dropEndingNewline(indentString(o,_));case 4:return\">\"+blockHeader(o,s.indent)+dropEndingNewline(indentString(function foldString(s,o){var i,a,u=/(\\n+)([^\\n]*)/g,_=(x=s.indexOf(\"\\n\"),x=-1!==x?x:s.length,u.lastIndex=x,foldLine(s.slice(0,x),o)),w=\"\\n\"===s[0]||\" \"===s[0];var x;for(;a=u.exec(s);){var C=a[1],j=a[2];i=\" \"===j[0],_+=C+(w||i||\"\"===j?\"\":\"\\n\")+foldLine(j,o),w=i}return _}(o,w),_));case 5:return'\"'+function escapeString(s){for(var o,i=\"\",a=0,u=0;u<s.length;a>=65536?u+=2:u++)a=codePointAt(s,u),!(o=Gr[a])&&isPrintable(a)?(i+=s[u],a>=65536&&(i+=s[u+1])):i+=o||encodeHex(a);return i}(o)+'\"';default:throw new tr(\"impossible error: invalid scalar style\")}}()}function blockHeader(s,o){var i=needIndentIndicator(s)?String(o):\"\",a=\"\\n\"===s[s.length-1];return i+(a&&(\"\\n\"===s[s.length-2]||\"\\n\"===s)?\"+\":a?\"\":\"-\")+\"\\n\"}function dropEndingNewline(s){return\"\\n\"===s[s.length-1]?s.slice(0,-1):s}function foldLine(s,o){if(\"\"===s||\" \"===s[0])return s;for(var i,a,u=/ [^ ]/g,_=0,w=0,x=0,C=\"\";i=u.exec(s);)(x=i.index)-_>o&&(a=w>_?w:x,C+=\"\\n\"+s.slice(_,a),_=a+1),w=x;return C+=\"\\n\",s.length-_>o&&w>_?C+=s.slice(_,w)+\"\\n\"+s.slice(w+1):C+=s.slice(_),C.slice(1)}function writeBlockSequence(s,o,i,a){var u,_,w,x=\"\",C=s.tag;for(u=0,_=i.length;u<_;u+=1)w=i[u],s.replacer&&(w=s.replacer.call(i,String(u),w)),(writeNode(s,o+1,w,!0,!0,!1,!0)||void 0===w&&writeNode(s,o+1,null,!0,!0,!1,!0))&&(a&&\"\"===x||(x+=generateNextLine(s,o)),s.dump&&10===s.dump.charCodeAt(0)?x+=\"-\":x+=\"- \",x+=s.dump);s.tag=C,s.dump=x||\"[]\"}function detectType(s,o,i){var a,u,_,w,x,C;for(_=0,w=(u=i?s.explicitTypes:s.implicitTypes).length;_<w;_+=1)if(((x=u[_]).instanceOf||x.predicate)&&(!x.instanceOf||\"object\"==typeof o&&o instanceof x.instanceOf)&&(!x.predicate||x.predicate(o))){if(i?x.multi&&x.representName?s.tag=x.representName(o):s.tag=x.tag:s.tag=\"?\",x.represent){if(C=s.styleMap[x.tag]||x.defaultStyle,\"[object Function]\"===Jr.call(x.represent))a=x.represent(o,C);else{if(!Hr.call(x.represent,C))throw new tr(\"!<\"+x.tag+'> tag resolver accepts not \"'+C+'\" style');a=x.represent[C](o,C)}s.dump=a}return!0}return!1}function writeNode(s,o,i,a,u,_,w){s.tag=null,s.dump=i,detectType(s,i,!1)||detectType(s,i,!0);var x,C=Jr.call(s.dump),j=a;a&&(a=s.flowLevel<0||s.flowLevel>o);var L,B,$=\"[object Object]\"===C||\"[object Array]\"===C;if($&&(B=-1!==(L=s.duplicates.indexOf(i))),(null!==s.tag&&\"?\"!==s.tag||B||2!==s.indent&&o>0)&&(u=!1),B&&s.usedDuplicates[L])s.dump=\"*ref_\"+L;else{if($&&B&&!s.usedDuplicates[L]&&(s.usedDuplicates[L]=!0),\"[object Object]\"===C)a&&0!==Object.keys(s.dump).length?(!function writeBlockMapping(s,o,i,a){var u,_,w,x,C,j,L=\"\",B=s.tag,$=Object.keys(i);if(!0===s.sortKeys)$.sort();else if(\"function\"==typeof s.sortKeys)$.sort(s.sortKeys);else if(s.sortKeys)throw new tr(\"sortKeys must be a boolean or a function\");for(u=0,_=$.length;u<_;u+=1)j=\"\",a&&\"\"===L||(j+=generateNextLine(s,o)),x=i[w=$[u]],s.replacer&&(x=s.replacer.call(i,w,x)),writeNode(s,o+1,w,!0,!0,!0)&&((C=null!==s.tag&&\"?\"!==s.tag||s.dump&&s.dump.length>1024)&&(s.dump&&10===s.dump.charCodeAt(0)?j+=\"?\":j+=\"? \"),j+=s.dump,C&&(j+=generateNextLine(s,o)),writeNode(s,o+1,x,!0,C)&&(s.dump&&10===s.dump.charCodeAt(0)?j+=\":\":j+=\": \",L+=j+=s.dump));s.tag=B,s.dump=L||\"{}\"}(s,o,s.dump,u),B&&(s.dump=\"&ref_\"+L+s.dump)):(!function writeFlowMapping(s,o,i){var a,u,_,w,x,C=\"\",j=s.tag,L=Object.keys(i);for(a=0,u=L.length;a<u;a+=1)x=\"\",\"\"!==C&&(x+=\", \"),s.condenseFlow&&(x+='\"'),w=i[_=L[a]],s.replacer&&(w=s.replacer.call(i,_,w)),writeNode(s,o,_,!1,!1)&&(s.dump.length>1024&&(x+=\"? \"),x+=s.dump+(s.condenseFlow?'\"':\"\")+\":\"+(s.condenseFlow?\"\":\" \"),writeNode(s,o,w,!1,!1)&&(C+=x+=s.dump));s.tag=j,s.dump=\"{\"+C+\"}\"}(s,o,s.dump),B&&(s.dump=\"&ref_\"+L+\" \"+s.dump));else if(\"[object Array]\"===C)a&&0!==s.dump.length?(s.noArrayIndent&&!w&&o>0?writeBlockSequence(s,o-1,s.dump,u):writeBlockSequence(s,o,s.dump,u),B&&(s.dump=\"&ref_\"+L+s.dump)):(!function writeFlowSequence(s,o,i){var a,u,_,w=\"\",x=s.tag;for(a=0,u=i.length;a<u;a+=1)_=i[a],s.replacer&&(_=s.replacer.call(i,String(a),_)),(writeNode(s,o,_,!1,!1)||void 0===_&&writeNode(s,o,null,!1,!1))&&(\"\"!==w&&(w+=\",\"+(s.condenseFlow?\"\":\" \")),w+=s.dump);s.tag=x,s.dump=\"[\"+w+\"]\"}(s,o,s.dump),B&&(s.dump=\"&ref_\"+L+\" \"+s.dump));else{if(\"[object String]\"!==C){if(\"[object Undefined]\"===C)return!1;if(s.skipInvalid)return!1;throw new tr(\"unacceptable kind of an object to dump \"+C)}\"?\"!==s.tag&&writeScalar(s,s.dump,o,_,j)}null!==s.tag&&\"?\"!==s.tag&&(x=encodeURI(\"!\"===s.tag[0]?s.tag.slice(1):s.tag).replace(/!/g,\"%21\"),x=\"!\"===s.tag[0]?\"!\"+x:\"tag:yaml.org,2002:\"===x.slice(0,18)?\"!!\"+x.slice(18):\"!<\"+x+\">\",s.dump=x+\" \"+s.dump)}return!0}function getDuplicateReferences(s,o){var i,a,u=[],_=[];for(inspectNode(s,u,_),i=0,a=_.length;i<a;i+=1)o.duplicates.push(u[_[i]]);o.usedDuplicates=new Array(a)}function inspectNode(s,o,i){var a,u,_;if(null!==s&&\"object\"==typeof s)if(-1!==(u=o.indexOf(s)))-1===i.indexOf(u)&&i.push(u);else if(o.push(s),Array.isArray(s))for(u=0,_=s.length;u<_;u+=1)inspectNode(s[u],o,i);else for(u=0,_=(a=Object.keys(s)).length;u<_;u+=1)inspectNode(s[a[u]],o,i)}var Qr=function dump$1(s,o){var i=new State(o=o||{});i.noRefs||getDuplicateReferences(s,i);var a=s;return i.replacer&&(a=i.replacer.call({\"\":a},\"\",a)),writeNode(i,0,a,!0,!0)?i.dump+\"\\n\":\"\"};function renamed(s,o){return function(){throw new Error(\"Function yaml.\"+s+\" is removed in js-yaml 4. Use yaml.\"+o+\" instead, which is now safe by default.\")}}var Zr=ir,en=ar,tn=pr,rn=br,nn=_r,sn=Mr,on=Wr.load,an=Wr.loadAll,cn={dump:Qr}.dump,ln=tr,un={binary:Or,float:vr,map:ur,null:dr,pairs:Ir,set:Nr,timestamp:wr,bool:fr,int:mr,merge:xr,omap:jr,seq:lr,str:cr},pn=renamed(\"safeLoad\",\"load\"),hn=renamed(\"safeLoadAll\",\"loadAll\"),dn=renamed(\"safeDump\",\"dump\"),fn={Type:Zr,Schema:en,FAILSAFE_SCHEMA:tn,JSON_SCHEMA:rn,CORE_SCHEMA:nn,DEFAULT_SCHEMA:sn,load:on,loadAll:an,dump:cn,YAMLException:ln,types:un,safeLoad:pn,safeLoadAll:hn,safeDump:dn};const mn=\"configs_update\",gn=\"configs_toggle\";function update(s,o){return{type:mn,payload:{[s]:o}}}function toggle(s){return{type:gn,payload:s}}const actions_loaded=()=>()=>{},downloadConfig=s=>o=>{const{fn:{fetch:i}}=o;return i(s)},getConfigByUrl=(s,o)=>i=>{const{specActions:a,configsActions:u}=i;if(s)return u.downloadConfig(s).then(next,next);function next(u){u instanceof Error||u.status>=400?(a.updateLoadingStatus(\"failedConfig\"),a.updateLoadingStatus(\"failedConfig\"),a.updateUrl(\"\"),console.error(u.statusText+\" \"+s.url),o(null)):o(((s,o)=>{try{return fn.load(s)}catch(s){return o&&o.errActions.newThrownErr(new Error(s)),{}}})(u.text,i))}},get=(s,o)=>s.getIn(Array.isArray(o)?o:[o]),yn={[mn]:(s,o)=>s.merge((0,ze.fromJS)(o.payload)),[gn]:(s,o)=>{const i=o.payload,a=s.get(i);return s.set(i,!a)}};function configsPlugin(){return{statePlugins:{configs:{reducers:yn,actions:u,selectors:_}}}}const setHash=s=>s?history.pushState(null,null,`#${s}`):window.location.hash=\"\";var vn=__webpack_require__(86215),bn=__webpack_require__.n(vn);const _n=\"layout_scroll_to\",Sn=\"layout_clear_scroll\";const En={fn:{getScrollParent:function getScrollParent(s,o){const i=document.documentElement;let a=getComputedStyle(s);const u=\"absolute\"===a.position,_=o?/(auto|scroll|hidden)/:/(auto|scroll)/;if(\"fixed\"===a.position)return i;for(let o=s;o=o.parentElement;)if(a=getComputedStyle(o),(!u||\"static\"!==a.position)&&_.test(a.overflow+a.overflowY+a.overflowX))return o;return i}},statePlugins:{layout:{actions:{scrollToElement:(s,o)=>i=>{try{o=o||i.fn.getScrollParent(s),bn().createScroller(o).to(s)}catch(s){console.error(s)}},scrollTo:s=>({type:_n,payload:Array.isArray(s)?s:[s]}),clearScrollTo:()=>({type:Sn}),readyToScroll:(s,o)=>i=>{const a=i.layoutSelectors.getScrollToKey();We().is(a,(0,ze.fromJS)(s))&&(i.layoutActions.scrollToElement(o),i.layoutActions.clearScrollTo())},parseDeepLinkHash:s=>({layoutActions:o,layoutSelectors:i,getConfigs:a})=>{if(a().deepLinking&&s){let a=s.slice(1);\"!\"===a[0]&&(a=a.slice(1)),\"/\"===a[0]&&(a=a.slice(1));const u=a.split(\"/\").map((s=>s||\"\")),_=i.isShownKeyFromUrlHashArray(u),[w,x=\"\",C=\"\"]=_;if(\"operations\"===w){const s=i.isShownKeyFromUrlHashArray([x]);x.indexOf(\"_\")>-1&&(console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\"),o.show(s.map((s=>s.replace(/_/g,\" \"))),!0)),o.show(s,!0)}(x.indexOf(\"_\")>-1||C.indexOf(\"_\")>-1)&&(console.warn(\"Warning: escaping deep link whitespace with `_` will be unsupported in v4.0, use `%20` instead.\"),o.show(_.map((s=>s.replace(/_/g,\" \"))),!0)),o.show(_,!0),o.scrollTo(_)}}},selectors:{getScrollToKey:s=>s.get(\"scrollToKey\"),isShownKeyFromUrlHashArray(s,o){const[i,a]=o;return a?[\"operations\",i,a]:i?[\"operations-tag\",i]:[]},urlHashArrayFromIsShownKey(s,o){let[i,a,u]=o;return\"operations\"==i?[a,u]:\"operations-tag\"==i?[a]:[]}},reducers:{[_n]:(s,o)=>s.set(\"scrollToKey\",We().fromJS(o.payload)),[Sn]:s=>s.delete(\"scrollToKey\")},wrapActions:{show:(s,{getConfigs:o,layoutSelectors:i})=>(...a)=>{if(s(...a),o().deepLinking)try{let[s,o]=a;s=Array.isArray(s)?s:[s];const u=i.urlHashArrayFromIsShownKey(s);if(!u.length)return;const[_,w]=u;if(!o)return setHash(\"/\");2===u.length?setHash(createDeepLinkPath(`/${encodeURIComponent(_)}/${encodeURIComponent(w)}`)):1===u.length&&setHash(createDeepLinkPath(`/${encodeURIComponent(_)}`))}catch(s){console.error(s)}}}}}};var wn=__webpack_require__(2209),xn=__webpack_require__.n(wn);const operation_wrapper=(s,o)=>class OperationWrapper extends Re.Component{onLoad=s=>{const{operation:i}=this.props,{tag:a,operationId:u}=i.toObject();let{isShownKey:_}=i.toObject();_=_||[\"operations\",a,u],o.layoutActions.readyToScroll(_,s)};render(){return Re.createElement(\"span\",{ref:this.onLoad},Re.createElement(s,this.props))}},operation_tag_wrapper=(s,o)=>class OperationTagWrapper extends Re.Component{onLoad=s=>{const{tag:i}=this.props,a=[\"operations-tag\",i];o.layoutActions.readyToScroll(a,s)};render(){return Re.createElement(\"span\",{ref:this.onLoad},Re.createElement(s,this.props))}};function deep_linking(){return[En,{statePlugins:{configs:{wrapActions:{loaded:(s,o)=>(...i)=>{s(...i);const a=decodeURIComponent(window.location.hash);o.layoutActions.parseDeepLinkHash(a)}}}},wrapComponents:{operation:operation_wrapper,OperationTag:operation_tag_wrapper}}]}var kn=__webpack_require__(40860),On=__webpack_require__.n(kn);function transform(s){return s.map((s=>{let o=\"is not of a type(s)\",i=s.get(\"message\").indexOf(o);if(i>-1){let o=s.get(\"message\").slice(i+19).split(\",\");return s.set(\"message\",s.get(\"message\").slice(0,i)+function makeNewMessage(s){return s.reduce(((s,o,i,a)=>i===a.length-1&&a.length>1?s+\"or \"+o:a[i+1]&&a.length>2?s+o+\", \":a[i+1]?s+o+\" \":s+o),\"should be a\")}(o))}return s}))}var An=__webpack_require__(58156),Cn=__webpack_require__.n(An);function parameter_oneof_transform(s,{jsSpec:o}){return s}const jn=[w,x];function transformErrors(s){let o={jsSpec:{}},i=On()(jn,((s,i)=>{try{return i.transform(s,o).filter((s=>!!s))}catch(o){return console.error(\"Transformer error:\",o),s}}),s);return i.filter((s=>!!s)).map((s=>(!s.get(\"line\")&&s.get(\"path\"),s)))}let Pn={line:0,level:\"error\",message:\"Unknown error\"};const In=Ut((s=>s),(s=>s.get(\"errors\",(0,ze.List)()))),Tn=Ut(In,(s=>s.last()));function err(o){return{statePlugins:{err:{reducers:{[rt]:(s,{payload:o})=>{let i=Object.assign(Pn,o,{type:\"thrown\"});return s.update(\"errors\",(s=>(s||(0,ze.List)()).push((0,ze.fromJS)(i)))).update(\"errors\",(s=>transformErrors(s)))},[nt]:(s,{payload:o})=>(o=o.map((s=>(0,ze.fromJS)(Object.assign(Pn,s,{type:\"thrown\"})))),s.update(\"errors\",(s=>(s||(0,ze.List)()).concat((0,ze.fromJS)(o)))).update(\"errors\",(s=>transformErrors(s)))),[st]:(s,{payload:o})=>{let i=(0,ze.fromJS)(o);return i=i.set(\"type\",\"spec\"),s.update(\"errors\",(s=>(s||(0,ze.List)()).push((0,ze.fromJS)(i)).sortBy((s=>s.get(\"line\"))))).update(\"errors\",(s=>transformErrors(s)))},[ot]:(s,{payload:o})=>(o=o.map((s=>(0,ze.fromJS)(Object.assign(Pn,s,{type:\"spec\"})))),s.update(\"errors\",(s=>(s||(0,ze.List)()).concat((0,ze.fromJS)(o)))).update(\"errors\",(s=>transformErrors(s)))),[it]:(s,{payload:o})=>{let i=(0,ze.fromJS)(Object.assign({},o));return i=i.set(\"type\",\"auth\"),s.update(\"errors\",(s=>(s||(0,ze.List)()).push((0,ze.fromJS)(i)))).update(\"errors\",(s=>transformErrors(s)))},[at]:(s,{payload:o})=>{if(!o||!s.get(\"errors\"))return s;let i=s.get(\"errors\").filter((s=>s.keySeq().every((i=>{const a=s.get(i),u=o[i];return!u||a!==u}))));return s.merge({errors:i})},[ct]:(s,{payload:o})=>{if(!o||\"function\"!=typeof o)return s;let i=s.get(\"errors\").filter((s=>o(s)));return s.merge({errors:i})}},actions:s,selectors:C}}}}function opsFilter(s,o){return s.filter(((s,i)=>-1!==i.indexOf(o)))}function filter(){return{fn:{opsFilter}}}var Nn=__webpack_require__(7666),Mn=__webpack_require__.n(Nn);const arrow_up=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z\"})),arrow_down=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"})),arrow=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"})),components_close=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"})),copy=({className:s=null,width:o=15,height:i=16,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 15 16\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"g\",{transform:\"translate(2, -1)\"},Re.createElement(\"path\",{fill:\"#ffffff\",fillRule:\"evenodd\",d:\"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z\"}))),lock=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"})),unlock=({className:s=null,width:o=20,height:i=20,...a})=>Re.createElement(\"svg\",Mn()({xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",className:s,width:o,height:i,\"aria-hidden\":\"true\",focusable:\"false\"},a),Re.createElement(\"path\",{d:\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"})),icons=()=>({components:{ArrowUpIcon:arrow_up,ArrowDownIcon:arrow_down,ArrowIcon:arrow,CloseIcon:components_close,CopyIcon:copy,LockIcon:lock,UnlockIcon:unlock}}),Rn=\"layout_update_layout\",Dn=\"layout_update_filter\",Ln=\"layout_update_mode\",Fn=\"layout_show\";function updateLayout(s){return{type:Rn,payload:s}}function updateFilter(s){return{type:Dn,payload:s}}function actions_show(s,o=!0){return s=normalizeArray(s),{type:Fn,payload:{thing:s,shown:o}}}function changeMode(s,o=\"\"){return s=normalizeArray(s),{type:Ln,payload:{thing:s,mode:o}}}const Bn={[Rn]:(s,o)=>s.set(\"layout\",o.payload),[Dn]:(s,o)=>s.set(\"filter\",o.payload),[Fn]:(s,o)=>{const i=o.payload.shown,a=(0,ze.fromJS)(o.payload.thing);return s.update(\"shown\",(0,ze.fromJS)({}),(s=>s.set(a,i)))},[Ln]:(s,o)=>{let i=o.payload.thing,a=o.payload.mode;return s.setIn([\"modes\"].concat(i),(a||\"\")+\"\")}},current=s=>s.get(\"layout\"),currentFilter=s=>s.get(\"filter\"),isShown=(s,o,i)=>(o=normalizeArray(o),s.get(\"shown\",(0,ze.fromJS)({})).get((0,ze.fromJS)(o),i)),whatMode=(s,o,i=\"\")=>(o=normalizeArray(o),s.getIn([\"modes\",...o],i)),$n=Ut((s=>s),(s=>!isShown(s,\"editor\"))),taggedOperations=(s,o)=>(i,...a)=>{let u=s(i,...a);const{fn:_,layoutSelectors:w,getConfigs:x}=o.getSystem(),C=x(),{maxDisplayedTags:j}=C;let L=w.currentFilter();return L&&!0!==L&&(u=_.opsFilter(u,L)),j>=0&&(u=u.slice(0,j)),u};function plugins_layout(){return{statePlugins:{layout:{reducers:Bn,actions:j,selectors:L},spec:{wrapSelectors:B}}}}function logs({configs:s}){const o={debug:0,info:1,log:2,warn:3,error:4},getLevel=s=>o[s]||-1;let{logLevel:i}=s,a=getLevel(i);function log(s,...o){getLevel(s)>=a&&console[s](...o)}return log.warn=log.bind(null,\"warn\"),log.error=log.bind(null,\"error\"),log.info=log.bind(null,\"info\"),log.debug=log.bind(null,\"debug\"),{rootInjects:{log}}}let qn=!1;function on_complete(){return{statePlugins:{spec:{wrapActions:{updateSpec:s=>(...o)=>(qn=!0,s(...o)),updateJsonSpec:(s,o)=>(...i)=>{const a=o.getConfigs().onComplete;return qn&&\"function\"==typeof a&&(setTimeout(a,0),qn=!1),s(...i)}}}}}}const extractKey=s=>{const o=\"_**[]\";return s.indexOf(o)<0?s:s.split(o)[0].trim()},escapeShell=s=>\"-d \"===s||/^[_\\/-]/g.test(s)?s:\"'\"+s.replace(/'/g,\"'\\\\''\")+\"'\",escapeCMD=s=>\"-d \"===(s=s.replace(/\\^/g,\"^^\").replace(/\\\\\"/g,'\\\\\\\\\"').replace(/\"/g,'\"\"').replace(/\\n/g,\"^\\n\"))?s.replace(/-d /g,\"-d ^\\n\"):/^[_\\/-]/g.test(s)?s:'\"'+s+'\"',escapePowershell=s=>{if(\"-d \"===s)return s;if(/\\n/.test(s)){return`@\"\\n${s.replace(/`/g,\"``\").replace(/\\$/g,\"`$\")}\\n\"@`}if(!/^[_\\/-]/.test(s)){return`'${s.replace(/'/g,\"''\")}'`}return s};const curlify=(s,o,i,a=\"\")=>{let u=!1,_=\"\";const addWords=(...s)=>_+=\" \"+s.map(o).join(\" \"),addWordsWithoutLeadingSpace=(...s)=>_+=s.map(o).join(\" \"),addNewLine=()=>_+=` ${i}`,addIndent=(s=1)=>_+=\"  \".repeat(s);let w=s.get(\"headers\");_+=\"curl\"+a;const x=s.get(\"curlOptions\");if(ze.List.isList(x)&&!x.isEmpty()&&addWords(...s.get(\"curlOptions\")),addWords(\"-X\",s.get(\"method\")),addNewLine(),addIndent(),addWordsWithoutLeadingSpace(`${s.get(\"url\")}`),w&&w.size)for(let o of s.get(\"headers\").entries()){addNewLine(),addIndent();let[s,i]=o;addWordsWithoutLeadingSpace(\"-H\",`${s}: ${i}`),u=u||/^content-type$/i.test(s)&&/^multipart\\/form-data$/i.test(i)}const C=s.get(\"body\");if(C)if(u&&[\"POST\",\"PUT\",\"PATCH\"].includes(s.get(\"method\")))for(let[s,o]of C.entrySeq()){let i=extractKey(s);addNewLine(),addIndent(),addWordsWithoutLeadingSpace(\"-F\"),o instanceof lt.File&&\"string\"==typeof o.valueOf()?addWords(`${i}=${o.data}${o.type?`;type=${o.type}`:\"\"}`):o instanceof lt.File?addWords(`${i}=@${o.name}${o.type?`;type=${o.type}`:\"\"}`):addWords(`${i}=${o}`)}else if(C instanceof lt.File)addNewLine(),addIndent(),addWordsWithoutLeadingSpace(`--data-binary '@${C.name}'`);else{addNewLine(),addIndent(),addWordsWithoutLeadingSpace(\"-d \");let o=C;ze.Map.isMap(o)?addWordsWithoutLeadingSpace(function getStringBodyOfMap(s){let o=[];for(let[i,a]of s.get(\"body\").entrySeq()){let s=extractKey(i);a instanceof lt.File?o.push(`  \"${s}\": {\\n    \"name\": \"${a.name}\"${a.type?`,\\n    \"type\": \"${a.type}\"`:\"\"}\\n  }`):o.push(`  \"${s}\": ${JSON.stringify(a,null,2).replace(/(\\r\\n|\\r|\\n)/g,\"\\n  \")}`)}return`{\\n${o.join(\",\\n\")}\\n}`}(s)):(\"string\"!=typeof o&&(o=JSON.stringify(o)),addWordsWithoutLeadingSpace(o))}else C||\"POST\"!==s.get(\"method\")||(addNewLine(),addIndent(),addWordsWithoutLeadingSpace(\"-d ''\"));return _},requestSnippetGenerator_curl_powershell=s=>curlify(s,escapePowershell,\"`\\n\",\".exe\"),requestSnippetGenerator_curl_bash=s=>curlify(s,escapeShell,\"\\\\\\n\"),requestSnippetGenerator_curl_cmd=s=>curlify(s,escapeCMD,\"^\\n\"),request_snippets_selectors_state=s=>s||(0,ze.Map)(),Un=Ut(request_snippets_selectors_state,(s=>{const o=s.get(\"languages\"),i=s.get(\"generators\",(0,ze.Map)());return!o||o.isEmpty()?i:i.filter(((s,i)=>o.includes(i)))})),getSnippetGenerators=s=>({fn:o})=>Un(s).map(((s,i)=>{const a=(s=>o[`requestSnippetGenerator_${s}`])(i);return\"function\"!=typeof a?null:s.set(\"fn\",a)})).filter((s=>s)),Vn=Ut(request_snippets_selectors_state,(s=>s.get(\"activeLanguage\"))),zn=Ut(request_snippets_selectors_state,(s=>s.get(\"defaultExpanded\")));var Wn=__webpack_require__(46942),Jn=__webpack_require__.n(Wn),Hn=__webpack_require__(59399);const Kn={cursor:\"pointer\",lineHeight:1,display:\"inline-flex\",backgroundColor:\"rgb(250, 250, 250)\",paddingBottom:\"0\",paddingTop:\"0\",border:\"1px solid rgb(51, 51, 51)\",borderRadius:\"4px 4px 0 0\",boxShadow:\"none\",borderBottom:\"none\"},Gn={cursor:\"pointer\",lineHeight:1,display:\"inline-flex\",backgroundColor:\"rgb(51, 51, 51)\",boxShadow:\"none\",border:\"1px solid rgb(51, 51, 51)\",paddingBottom:\"0\",paddingTop:\"0\",borderRadius:\"4px 4px 0 0\",marginTop:\"-5px\",marginRight:\"-5px\",marginLeft:\"-5px\",zIndex:\"9999\",borderBottom:\"none\"},request_snippets=({request:s,requestSnippetsSelectors:o,getComponent:i})=>{const a=(0,Re.useRef)(null),u=i(\"ArrowUpIcon\"),_=i(\"ArrowDownIcon\"),w=i(\"SyntaxHighlighter\",!0),[x,C]=(0,Re.useState)(o.getSnippetGenerators()?.keySeq().first()),[j,L]=(0,Re.useState)(o?.getDefaultExpanded()),B=o.getSnippetGenerators(),$=B.get(x),U=$.get(\"fn\")(s),handleSetIsExpanded=()=>{L(!j)},handleGetBtnStyle=s=>s===x?Gn:Kn,handlePreventYScrollingBeyondElement=s=>{const{target:o,deltaY:i}=s,{scrollHeight:a,offsetHeight:u,scrollTop:_}=o;a>u&&(0===_&&i<0||u+_>=a&&i>0)&&s.preventDefault()};return(0,Re.useEffect)((()=>{}),[]),(0,Re.useEffect)((()=>{const s=Array.from(a.current.childNodes).filter((s=>!!s.nodeType&&s.classList?.contains(\"curl-command\")));return s.forEach((s=>s.addEventListener(\"mousewheel\",handlePreventYScrollingBeyondElement,{passive:!1}))),()=>{s.forEach((s=>s.removeEventListener(\"mousewheel\",handlePreventYScrollingBeyondElement)))}}),[s]),Re.createElement(\"div\",{className:\"request-snippets\",ref:a},Re.createElement(\"div\",{style:{width:\"100%\",display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\",marginBottom:\"15px\"}},Re.createElement(\"h4\",{onClick:()=>handleSetIsExpanded(),style:{cursor:\"pointer\"}},\"Snippets\"),Re.createElement(\"button\",{onClick:()=>handleSetIsExpanded(),style:{border:\"none\",background:\"none\"},title:j?\"Collapse operation\":\"Expand operation\"},j?Re.createElement(_,{className:\"arrow\",width:\"10\",height:\"10\"}):Re.createElement(u,{className:\"arrow\",width:\"10\",height:\"10\"}))),j&&Re.createElement(\"div\",{className:\"curl-command\"},Re.createElement(\"div\",{style:{paddingLeft:\"15px\",paddingRight:\"10px\",width:\"100%\",display:\"flex\"}},B.entrySeq().map((([s,o])=>Re.createElement(\"div\",{className:Jn()(\"btn\",{active:s===x}),style:handleGetBtnStyle(s),key:s,onClick:()=>(s=>{x!==s&&C(s)})(s)},Re.createElement(\"h4\",{style:s===x?{color:\"white\"}:{}},o.get(\"title\")))))),Re.createElement(\"div\",{className:\"copy-to-clipboard\"},Re.createElement(Hn.CopyToClipboard,{text:U},Re.createElement(\"button\",null))),Re.createElement(\"div\",null,Re.createElement(w,{language:$.get(\"syntax\"),className:\"curl microlight\",renderPlainText:({children:s,PlainTextViewer:o})=>Re.createElement(o,{className:\"curl\"},s)},U))))},plugins_request_snippets=()=>({components:{RequestSnippets:request_snippets},fn:{requestSnippetGenerator_curl_bash,requestSnippetGenerator_curl_cmd,requestSnippetGenerator_curl_powershell},statePlugins:{requestSnippets:{selectors:$}}});class ModelCollapse extends Re.Component{static defaultProps={collapsedContent:\"{...}\",expanded:!1,title:null,onToggle:()=>{},hideSelfOnExpand:!1,specPath:We().List([])};constructor(s,o){super(s,o);let{expanded:i,collapsedContent:a}=this.props;this.state={expanded:i,collapsedContent:a||ModelCollapse.defaultProps.collapsedContent}}componentDidMount(){const{hideSelfOnExpand:s,expanded:o,modelName:i}=this.props;s&&o&&this.props.onToggle(i,o)}UNSAFE_componentWillReceiveProps(s){this.props.expanded!==s.expanded&&this.setState({expanded:s.expanded})}toggleCollapsed=()=>{this.props.onToggle&&this.props.onToggle(this.props.modelName,!this.state.expanded),this.setState({expanded:!this.state.expanded})};onLoad=s=>{if(s&&this.props.layoutSelectors){const o=this.props.layoutSelectors.getScrollToKey();We().is(o,this.props.specPath)&&this.toggleCollapsed(),this.props.layoutActions.readyToScroll(this.props.specPath,s.parentElement)}};render(){const{title:s,classes:o}=this.props;return this.state.expanded&&this.props.hideSelfOnExpand?Re.createElement(\"span\",{className:o||\"\"},this.props.children):Re.createElement(\"span\",{className:o||\"\",ref:this.onLoad},Re.createElement(\"button\",{\"aria-expanded\":this.state.expanded,className:\"model-box-control\",onClick:this.toggleCollapsed},s&&Re.createElement(\"span\",{className:\"pointer\"},s),Re.createElement(\"span\",{className:\"model-toggle\"+(this.state.expanded?\"\":\" collapsed\")}),!this.state.expanded&&Re.createElement(\"span\",null,this.state.collapsedContent)),this.state.expanded&&this.props.children)}}const useTabs=({initialTab:s,isExecute:o,schema:i,example:a})=>{const u=(0,Re.useMemo)((()=>({example:\"example\",model:\"model\"})),[]),_=(0,Re.useMemo)((()=>Object.keys(u)),[u]).includes(s)&&i&&!o?s:u.example,w=(s=>{const o=(0,Re.useRef)();return(0,Re.useEffect)((()=>{o.current=s})),o.current})(o),[x,C]=(0,Re.useState)(_),j=(0,Re.useCallback)((s=>{C(s.target.dataset.name)}),[]);return(0,Re.useEffect)((()=>{w&&!o&&a&&C(u.example)}),[w,o,a]),{activeTab:x,onTabChange:j,tabs:u}},model_example=({schema:s,example:o,isExecute:i=!1,specPath:a,includeWriteOnly:u=!1,includeReadOnly:_=!1,getComponent:w,getConfigs:x,specSelectors:C})=>{const{defaultModelRendering:j,defaultModelExpandDepth:L}=x(),B=w(\"ModelWrapper\"),$=w(\"HighlightCode\",!0),U=xt()(5).toString(\"base64\"),V=xt()(5).toString(\"base64\"),z=xt()(5).toString(\"base64\"),Y=xt()(5).toString(\"base64\"),Z=C.isOAS3(),{activeTab:ee,tabs:ie,onTabChange:ae}=useTabs({initialTab:j,isExecute:i,schema:s,example:o});return Re.createElement(\"div\",{className:\"model-example\"},Re.createElement(\"ul\",{className:\"tab\",role:\"tablist\"},Re.createElement(\"li\",{className:Jn()(\"tabitem\",{active:ee===ie.example}),role:\"presentation\"},Re.createElement(\"button\",{\"aria-controls\":V,\"aria-selected\":ee===ie.example,className:\"tablinks\",\"data-name\":\"example\",id:U,onClick:ae,role:\"tab\"},i?\"Edit Value\":\"Example Value\")),s&&Re.createElement(\"li\",{className:Jn()(\"tabitem\",{active:ee===ie.model}),role:\"presentation\"},Re.createElement(\"button\",{\"aria-controls\":Y,\"aria-selected\":ee===ie.model,className:Jn()(\"tablinks\",{inactive:i}),\"data-name\":\"model\",id:z,onClick:ae,role:\"tab\"},Z?\"Schema\":\"Model\"))),ee===ie.example&&Re.createElement(\"div\",{\"aria-hidden\":ee!==ie.example,\"aria-labelledby\":U,\"data-name\":\"examplePanel\",id:V,role:\"tabpanel\",tabIndex:\"0\"},o||Re.createElement($,null,\"(no example available\")),ee===ie.model&&Re.createElement(\"div\",{className:\"model-container\",\"aria-hidden\":ee===ie.example,\"aria-labelledby\":z,\"data-name\":\"modelPanel\",id:Y,role:\"tabpanel\",tabIndex:\"0\"},Re.createElement(B,{schema:s,getComponent:w,getConfigs:x,specSelectors:C,expandDepth:L,specPath:a,includeReadOnly:_,includeWriteOnly:u})))};class ModelWrapper extends Re.Component{onToggle=(s,o)=>{this.props.layoutActions&&this.props.layoutActions.show(this.props.fullPath,o)};render(){let{getComponent:s,getConfigs:o}=this.props;const i=s(\"Model\");let a;return this.props.layoutSelectors&&(a=this.props.layoutSelectors.isShown(this.props.fullPath)),Re.createElement(\"div\",{className:\"model-box\"},Re.createElement(i,Mn()({},this.props,{getConfigs:o,expanded:a,depth:1,onToggle:this.onToggle,expandDepth:this.props.expandDepth||0})))}}function _typeof(s){return _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(s){return typeof s}:function(s){return s&&\"function\"==typeof Symbol&&s.constructor===Symbol&&s!==Symbol.prototype?\"symbol\":typeof s},_typeof(s)}function _defineProperties(s,o){for(var i=0;i<o.length;i++){var a=o[i];a.enumerable=a.enumerable||!1,a.configurable=!0,\"value\"in a&&(a.writable=!0),Object.defineProperty(s,a.key,a)}}function _defineProperty(s,o,i){return o in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}function ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function _getPrototypeOf(s){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(s){return s.__proto__||Object.getPrototypeOf(s)},_getPrototypeOf(s)}function _setPrototypeOf(s,o){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(s,o){return s.__proto__=o,s},_setPrototypeOf(s,o)}function _possibleConstructorReturn(s,o){return!o||\"object\"!=typeof o&&\"function\"!=typeof o?function _assertThisInitialized(s){if(void 0===s)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return s}(s):o}var Yn={};function react_immutable_pure_component_es_get(s,o,i){return function isInvalid(s){return null==s}(s)?i:function isMapLike(s){return null!==s&&\"object\"===_typeof(s)&&\"function\"==typeof s.get&&\"function\"==typeof s.has}(s)?s.has(o)?s.get(o):i:hasOwnProperty.call(s,o)?s[o]:i}function getIn(s,o,i){for(var a=0;a!==o.length;)if((s=react_immutable_pure_component_es_get(s,o[a++],Yn))===Yn)return i;return s}function check(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=function createChecker(s,o){return function(i){if(\"string\"==typeof i)return(0,ze.is)(o[i],s[i]);if(Array.isArray(i))return(0,ze.is)(getIn(o,i),getIn(s,i));throw new TypeError(\"Invalid key: expected Array or string: \"+i)}}(o,i),u=s||Object.keys(function _objectSpread2(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?ownKeys(i,!0).forEach((function(o){_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):ownKeys(i).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}({},i,{},o));return u.every(a)}const Xn=function(s){function ImmutablePureComponent(){return function _classCallCheck(s,o){if(!(s instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this,ImmutablePureComponent),_possibleConstructorReturn(this,_getPrototypeOf(ImmutablePureComponent).apply(this,arguments))}return function _inherits(s,o){if(\"function\"!=typeof o&&null!==o)throw new TypeError(\"Super expression must either be null or a function\");s.prototype=Object.create(o&&o.prototype,{constructor:{value:s,writable:!0,configurable:!0}}),o&&_setPrototypeOf(s,o)}(ImmutablePureComponent,s),function _createClass(s,o,i){return o&&_defineProperties(s.prototype,o),i&&_defineProperties(s,i),s}(ImmutablePureComponent,[{key:\"shouldComponentUpdate\",value:function shouldComponentUpdate(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return!check(this.updateOnProps,this.props,s,\"updateOnProps\")||!check(this.updateOnStates,this.state,o,\"updateOnStates\")}}]),ImmutablePureComponent}(Re.Component);var Qn,Zn=__webpack_require__(5556),es=__webpack_require__.n(Zn);function _extends(){return _extends=Object.assign?Object.assign.bind():function(s){for(var o=1;o<arguments.length;o++){var i=arguments[o];for(var a in i)({}).hasOwnProperty.call(i,a)&&(s[a]=i[a])}return s},_extends.apply(null,arguments)}const rolling_load=s=>Re.createElement(\"svg\",_extends({xmlns:\"http://www.w3.org/2000/svg\",width:200,height:200,className:\"rolling-load_svg__lds-rolling\",preserveAspectRatio:\"xMidYMid\",style:{backgroundImage:\"none\",backgroundPosition:\"initial initial\",backgroundRepeat:\"initial initial\"},viewBox:\"0 0 100 100\"},s),Qn||(Qn=Re.createElement(\"circle\",{cx:50,cy:50,r:35,fill:\"none\",stroke:\"#555\",strokeDasharray:\"164.93361431346415 56.97787143782138\",strokeWidth:10},Re.createElement(\"animateTransform\",{attributeName:\"transform\",begin:\"0s\",calcMode:\"linear\",dur:\"1s\",keyTimes:\"0;1\",repeatCount:\"indefinite\",type:\"rotate\",values:\"0 50 50;360 50 50\"})))),decodeRefName=s=>{const o=s.replace(/~1/g,\"/\").replace(/~0/g,\"~\");try{return decodeURIComponent(o)}catch{return o}};class Model extends Xn{static propTypes={schema:xn().map.isRequired,getComponent:es().func.isRequired,getConfigs:es().func.isRequired,specSelectors:es().object.isRequired,name:es().string,displayName:es().string,isRef:es().bool,required:es().bool,expandDepth:es().number,depth:es().number,specPath:xn().list.isRequired,includeReadOnly:es().bool,includeWriteOnly:es().bool};getModelName=s=>-1!==s.indexOf(\"#/definitions/\")?decodeRefName(s.replace(/^.*#\\/definitions\\//,\"\")):-1!==s.indexOf(\"#/components/schemas/\")?decodeRefName(s.replace(/^.*#\\/components\\/schemas\\//,\"\")):void 0;getRefSchema=s=>{let{specSelectors:o}=this.props;return o.findDefinition(s)};render(){let{getComponent:s,getConfigs:o,specSelectors:i,schema:a,required:u,name:_,isRef:w,specPath:x,displayName:C,includeReadOnly:j,includeWriteOnly:L}=this.props;const B=s(\"ObjectModel\"),$=s(\"ArrayModel\"),U=s(\"PrimitiveModel\");let V=\"object\",z=a&&a.get(\"$$ref\"),Y=a&&a.get(\"$ref\");if(!_&&z&&(_=this.getModelName(z)),Y){const s=this.getModelName(Y),o=this.getRefSchema(s);ze.Map.isMap(o)?(a=o.mergeDeep(a),z||(a=a.set(\"$$ref\",Y),z=Y)):ze.Map.isMap(a)&&1===a.size&&(a=null,_=Y)}if(!a)return Re.createElement(\"span\",{className:\"model model-title\"},Re.createElement(\"span\",{className:\"model-title__text\"},C||_),!Y&&Re.createElement(rolling_load,{height:\"20px\",width:\"20px\"}));const Z=i.isOAS3()&&a.get(\"deprecated\");switch(w=void 0!==w?w:!!z,V=a&&a.get(\"type\")||V,V){case\"object\":return Re.createElement(B,Mn()({className:\"object\"},this.props,{specPath:x,getConfigs:o,schema:a,name:_,deprecated:Z,isRef:w,includeReadOnly:j,includeWriteOnly:L}));case\"array\":return Re.createElement($,Mn()({className:\"array\"},this.props,{getConfigs:o,schema:a,name:_,deprecated:Z,required:u,includeReadOnly:j,includeWriteOnly:L}));default:return Re.createElement(U,Mn()({},this.props,{getComponent:s,getConfigs:o,schema:a,name:_,deprecated:Z,required:u}))}}}class Models extends Re.Component{getSchemaBasePath=()=>this.props.specSelectors.isOAS3()?[\"components\",\"schemas\"]:[\"definitions\"];getCollapsedContent=()=>\" \";handleToggle=(s,o)=>{const{layoutActions:i}=this.props;i.show([...this.getSchemaBasePath(),s],o),o&&this.props.specActions.requestResolvedSubtree([...this.getSchemaBasePath(),s])};onLoadModels=s=>{s&&this.props.layoutActions.readyToScroll(this.getSchemaBasePath(),s)};onLoadModel=s=>{if(s){const o=s.getAttribute(\"data-name\");this.props.layoutActions.readyToScroll([...this.getSchemaBasePath(),o],s)}};render(){let{specSelectors:s,getComponent:o,layoutSelectors:i,layoutActions:a,getConfigs:u}=this.props,_=s.definitions(),{docExpansion:w,defaultModelsExpandDepth:x}=u();if(!_.size||x<0)return null;const C=this.getSchemaBasePath();let j=i.isShown(C,x>0&&\"none\"!==w);const L=s.isOAS3(),B=o(\"ModelWrapper\"),$=o(\"Collapse\"),U=o(\"ModelCollapse\"),V=o(\"JumpToPath\",!0),z=o(\"ArrowUpIcon\"),Y=o(\"ArrowDownIcon\");return Re.createElement(\"section\",{className:j?\"models is-open\":\"models\",ref:this.onLoadModels},Re.createElement(\"h4\",null,Re.createElement(\"button\",{\"aria-expanded\":j,className:\"models-control\",onClick:()=>a.show(C,!j)},Re.createElement(\"span\",null,L?\"Schemas\":\"Models\"),j?Re.createElement(z,null):Re.createElement(Y,null))),Re.createElement($,{isOpened:j},_.entrySeq().map((([_])=>{const w=[...C,_],j=We().List(w),L=s.specResolvedSubtree(w),$=s.specJson().getIn(w),z=ze.Map.isMap(L)?L:We().Map(),Y=ze.Map.isMap($)?$:We().Map(),Z=z.get(\"title\")||Y.get(\"title\")||_,ee=i.isShown(w,!1);ee&&0===z.size&&Y.size>0&&this.props.specActions.requestResolvedSubtree(w);const ie=Re.createElement(B,{name:_,expandDepth:x,schema:z||We().Map(),displayName:Z,fullPath:w,specPath:j,getComponent:o,specSelectors:s,getConfigs:u,layoutSelectors:i,layoutActions:a,includeReadOnly:!0,includeWriteOnly:!0}),ae=Re.createElement(\"span\",{className:\"model-box\"},Re.createElement(\"span\",{className:\"model model-title\"},Z));return Re.createElement(\"div\",{id:`model-${_}`,className:\"model-container\",key:`models-section-${_}`,\"data-name\":_,ref:this.onLoadModel},Re.createElement(\"span\",{className:\"models-jump-to-path\"},Re.createElement(V,{path:j})),Re.createElement(U,{classes:\"model-box\",collapsedContent:this.getCollapsedContent(_),onToggle:this.handleToggle,title:ae,displayName:Z,modelName:_,specPath:j,layoutSelectors:i,layoutActions:a,hideSelfOnExpand:!0,expanded:x>0&&ee},ie))})).toArray()))}}const enum_model=({value:s,getComponent:o})=>{let i=o(\"ModelCollapse\"),a=Re.createElement(\"span\",null,\"Array [ \",s.count(),\" ]\");return Re.createElement(\"span\",{className:\"prop-enum\"},\"Enum:\",Re.createElement(\"br\",null),Re.createElement(i,{collapsedContent:a},\"[ \",s.map(String).join(\", \"),\" ]\"))};function isAbsoluteUrl(s){return s.match(/^(?:[a-z]+:)?\\/\\//i)}function buildBaseUrl(s,o){return s?isAbsoluteUrl(s)?function addProtocol(s){return s.match(/^\\/\\//i)?`${window.location.protocol}${s}`:s}(s):new URL(s,o).href:o}function safeBuildUrl(s,o,{selectedServer:i=\"\"}={}){try{return function buildUrl(s,o,{selectedServer:i=\"\"}={}){if(!s)return;if(isAbsoluteUrl(s))return s;const a=buildBaseUrl(i,o);return isAbsoluteUrl(a)?new URL(s,a).href:new URL(s,window.location.href).href}(s,o,{selectedServer:i})}catch{return}}function sanitizeUrl(s){if(\"string\"!=typeof s||\"\"===s.trim())return\"\";const o=s.trim(),i=\"about:blank\";try{const s=`https://base${String(Math.random()).slice(2)}`,a=new URL(o,s),u=a.protocol.slice(0,-1);if([\"javascript\",\"data\",\"vbscript\"].includes(u.toLowerCase()))return i;if(a.origin===s){if(o.startsWith(\"/\"))return`${a.pathname}${a.search}${a.hash}`;if(o.startsWith(\"./\")||o.startsWith(\"../\")){const s=o.match(/^(\\.\\.?\\/)+/)[0];return`${s}${a.pathname.substring(1)}${a.search}${a.hash}`}return`${a.pathname.substring(1)}${a.search}${a.hash}`}return String(a)}catch{return i}}class ObjectModel extends Re.Component{render(){let{schema:s,name:o,displayName:i,isRef:a,getComponent:u,getConfigs:_,depth:w,onToggle:x,expanded:C,specPath:j,...L}=this.props,{specSelectors:B,expandDepth:$,includeReadOnly:U,includeWriteOnly:V}=L;const{isOAS3:z}=B,Y=w>2||2===w&&\"items\"!==j.last();if(!s)return null;const{showExtensions:Z}=_(),ee=Z?getExtensions(s):(0,ze.List)();let ie=s.get(\"description\"),ae=s.get(\"properties\"),ce=s.get(\"additionalProperties\"),le=s.get(\"title\")||i||o,pe=s.get(\"required\"),de=s.filter(((s,o)=>-1!==[\"maxProperties\",\"minProperties\",\"nullable\",\"example\"].indexOf(o))),fe=s.get(\"deprecated\"),ye=s.getIn([\"externalDocs\",\"url\"]),be=s.getIn([\"externalDocs\",\"description\"]);const _e=u(\"JumpToPath\",!0),Se=u(\"Markdown\",!0),we=u(\"Model\"),xe=u(\"ModelCollapse\"),Pe=u(\"Property\"),Te=u(\"Link\"),$e=u(\"ModelExtensions\"),JumpToPathSection=()=>Re.createElement(\"span\",{className:\"model-jump-to-path\"},Re.createElement(_e,{path:j})),qe=Re.createElement(\"span\",null,Re.createElement(\"span\",null,\"{\"),\"...\",Re.createElement(\"span\",null,\"}\"),a?Re.createElement(JumpToPathSection,null):\"\"),We=B.isOAS3()?s.get(\"allOf\"):null,He=B.isOAS3()?s.get(\"anyOf\"):null,Ye=B.isOAS3()?s.get(\"oneOf\"):null,Xe=B.isOAS3()?s.get(\"not\"):null,Qe=le&&Re.createElement(\"span\",{className:\"model-title\"},a&&s.get(\"$$ref\")&&Re.createElement(\"span\",{className:Jn()(\"model-hint\",{\"model-hint--embedded\":Y})},s.get(\"$$ref\")),Re.createElement(\"span\",{className:\"model-title__text\"},le));return Re.createElement(\"span\",{className:\"model\"},Re.createElement(xe,{modelName:o,title:Qe,onToggle:x,expanded:!!C||w<=$,collapsedContent:qe},Re.createElement(\"span\",{className:\"brace-open object\"},\"{\"),a?Re.createElement(JumpToPathSection,null):null,Re.createElement(\"span\",{className:\"inner-object\"},Re.createElement(\"table\",{className:\"model\"},Re.createElement(\"tbody\",null,ie?Re.createElement(\"tr\",{className:\"description\"},Re.createElement(\"td\",null,\"description:\"),Re.createElement(\"td\",null,Re.createElement(Se,{source:ie}))):null,ye&&Re.createElement(\"tr\",{className:\"external-docs\"},Re.createElement(\"td\",null,\"externalDocs:\"),Re.createElement(\"td\",null,Re.createElement(Te,{target:\"_blank\",href:sanitizeUrl(ye)},be||ye))),fe?Re.createElement(\"tr\",{className:\"property\"},Re.createElement(\"td\",null,\"deprecated:\"),Re.createElement(\"td\",null,\"true\")):null,ae&&ae.size?ae.entrySeq().filter((([,s])=>(!s.get(\"readOnly\")||U)&&(!s.get(\"writeOnly\")||V))).map((([s,i])=>{let a=z()&&i.get(\"deprecated\"),x=ze.List.isList(pe)&&pe.contains(s),C=[\"property-row\"];return a&&C.push(\"deprecated\"),x&&C.push(\"required\"),Re.createElement(\"tr\",{key:s,className:C.join(\" \")},Re.createElement(\"td\",null,s,x&&Re.createElement(\"span\",{className:\"star\"},\"*\")),Re.createElement(\"td\",null,Re.createElement(we,Mn()({key:`object-${o}-${s}_${i}`},L,{required:x,getComponent:u,specPath:j.push(\"properties\",s),getConfigs:_,schema:i,depth:w+1}))))})).toArray():null,0===ee.size?null:Re.createElement(Re.Fragment,null,Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\" \")),Re.createElement($e,{extensions:ee,propClass:\"extension\"})),ce&&ce.size?Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\"< * >:\"),Re.createElement(\"td\",null,Re.createElement(we,Mn()({},L,{required:!1,getComponent:u,specPath:j.push(\"additionalProperties\"),getConfigs:_,schema:ce,depth:w+1})))):null,We?Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\"allOf ->\"),Re.createElement(\"td\",null,We.map(((s,o)=>Re.createElement(\"div\",{key:o},Re.createElement(we,Mn()({},L,{required:!1,getComponent:u,specPath:j.push(\"allOf\",o),getConfigs:_,schema:s,depth:w+1}))))))):null,He?Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\"anyOf ->\"),Re.createElement(\"td\",null,He.map(((s,o)=>Re.createElement(\"div\",{key:o},Re.createElement(we,Mn()({},L,{required:!1,getComponent:u,specPath:j.push(\"anyOf\",o),getConfigs:_,schema:s,depth:w+1}))))))):null,Ye?Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\"oneOf ->\"),Re.createElement(\"td\",null,Ye.map(((s,o)=>Re.createElement(\"div\",{key:o},Re.createElement(we,Mn()({},L,{required:!1,getComponent:u,specPath:j.push(\"oneOf\",o),getConfigs:_,schema:s,depth:w+1}))))))):null,Xe?Re.createElement(\"tr\",null,Re.createElement(\"td\",null,\"not ->\"),Re.createElement(\"td\",null,Re.createElement(\"div\",null,Re.createElement(we,Mn()({},L,{required:!1,getComponent:u,specPath:j.push(\"not\"),getConfigs:_,schema:Xe,depth:w+1}))))):null))),Re.createElement(\"span\",{className:\"brace-close\"},\"}\")),de.size?de.entrySeq().map((([s,o])=>Re.createElement(Pe,{key:`${s}-${o}`,propKey:s,propVal:o,propClass:\"property\"}))):null)}}class ArrayModel extends Re.Component{render(){let{getComponent:s,getConfigs:o,schema:i,depth:a,expandDepth:u,name:_,displayName:w,specPath:x}=this.props,C=i.get(\"description\"),j=i.get(\"items\"),L=i.get(\"title\")||w||_,B=i.filter(((s,o)=>-1===[\"type\",\"items\",\"description\",\"$$ref\",\"externalDocs\"].indexOf(o))),$=i.getIn([\"externalDocs\",\"url\"]),U=i.getIn([\"externalDocs\",\"description\"]);const V=s(\"Markdown\",!0),z=s(\"ModelCollapse\"),Y=s(\"Model\"),Z=s(\"Property\"),ee=s(\"Link\"),ie=L&&Re.createElement(\"span\",{className:\"model-title\"},Re.createElement(\"span\",{className:\"model-title__text\"},L));return Re.createElement(\"span\",{className:\"model\"},Re.createElement(z,{title:ie,expanded:a<=u,collapsedContent:\"[...]\"},\"[\",B.size?B.entrySeq().map((([s,o])=>Re.createElement(Z,{key:`${s}-${o}`,propKey:s,propVal:o,propClass:\"property\"}))):null,C?Re.createElement(V,{source:C}):B.size?Re.createElement(\"div\",{className:\"markdown\"}):null,$&&Re.createElement(\"div\",{className:\"external-docs\"},Re.createElement(ee,{target:\"_blank\",href:sanitizeUrl($)},U||$)),Re.createElement(\"span\",null,Re.createElement(Y,Mn()({},this.props,{getConfigs:o,specPath:x.push(\"items\"),name:null,schema:j,required:!1,depth:a+1}))),\"]\"))}}const ts=\"property primitive\";class Primitive extends Re.Component{render(){let{schema:s,getComponent:o,getConfigs:i,name:a,displayName:u,depth:_,expandDepth:w}=this.props;const{showExtensions:x}=i();if(!s||!s.get)return Re.createElement(\"div\",null);let C=s.get(\"type\"),j=s.get(\"format\"),L=s.get(\"xml\"),B=s.get(\"enum\"),$=s.get(\"title\")||u||a,U=s.get(\"description\");const V=getExtensions(s);let z=s.filter(((s,o)=>-1===[\"enum\",\"type\",\"format\",\"description\",\"$$ref\",\"externalDocs\"].indexOf(o))).filterNot(((s,o)=>V.has(o))),Y=s.getIn([\"externalDocs\",\"url\"]),Z=s.getIn([\"externalDocs\",\"description\"]);const ee=o(\"Markdown\",!0),ie=o(\"EnumModel\"),ae=o(\"Property\"),ce=o(\"ModelCollapse\"),le=o(\"Link\"),pe=o(\"ModelExtensions\"),de=$&&Re.createElement(\"span\",{className:\"model-title\"},Re.createElement(\"span\",{className:\"model-title__text\"},$));return Re.createElement(\"span\",{className:\"model\"},Re.createElement(ce,{title:de,expanded:_<=w,collapsedContent:\"[...]\"},Re.createElement(\"span\",{className:\"prop\"},a&&_>1&&Re.createElement(\"span\",{className:\"prop-name\"},$),Re.createElement(\"span\",{className:\"prop-type\"},C),j&&Re.createElement(\"span\",{className:\"prop-format\"},\"($\",j,\")\"),z.size?z.entrySeq().map((([s,o])=>Re.createElement(ae,{key:`${s}-${o}`,propKey:s,propVal:o,propClass:ts}))):null,x&&V.size>0?Re.createElement(pe,{extensions:V,propClass:`${ts} extension`}):null,U?Re.createElement(ee,{source:U}):null,Y&&Re.createElement(\"div\",{className:\"external-docs\"},Re.createElement(le,{target:\"_blank\",href:sanitizeUrl(Y)},Z||Y)),L&&L.size?Re.createElement(\"span\",null,Re.createElement(\"br\",null),Re.createElement(\"span\",{className:ts},\"xml:\"),L.entrySeq().map((([s,o])=>Re.createElement(\"span\",{key:`${s}-${o}`,className:ts},Re.createElement(\"br\",null),\"   \",s,\": \",String(o)))).toArray()):null,B&&Re.createElement(ie,{value:B,getComponent:o}))))}}class Schemes extends Re.Component{UNSAFE_componentWillMount(){let{schemes:s}=this.props;this.setScheme(s.first())}UNSAFE_componentWillReceiveProps(s){this.props.currentScheme&&s.schemes.includes(this.props.currentScheme)||this.setScheme(s.schemes.first())}onChange=s=>{this.setScheme(s.target.value)};setScheme=s=>{let{path:o,method:i,specActions:a}=this.props;a.setScheme(s,o,i)};render(){let{schemes:s,currentScheme:o}=this.props;return Re.createElement(\"label\",{htmlFor:\"schemes\"},Re.createElement(\"span\",{className:\"schemes-title\"},\"Schemes\"),Re.createElement(\"select\",{onChange:this.onChange,value:o,id:\"schemes\"},s.valueSeq().map((s=>Re.createElement(\"option\",{value:s,key:s},s))).toArray()))}}class SchemesContainer extends Re.Component{render(){const{specActions:s,specSelectors:o,getComponent:i}=this.props,a=o.operationScheme(),u=o.schemes(),_=i(\"schemes\");return u&&u.size?Re.createElement(_,{currentScheme:a,schemes:u,specActions:s}):null}}var rs=__webpack_require__(24677),ns=__webpack_require__.n(rs);const ss={value:\"\",onChange:()=>{},schema:{},keyName:\"\",required:!1,errors:(0,ze.List)()};class JsonSchemaForm extends Re.Component{static defaultProps=ss;componentDidMount(){const{dispatchInitialValue:s,value:o,onChange:i}=this.props;s?i(o):!1===s&&i(\"\")}render(){let{schema:s,errors:o,value:i,onChange:a,getComponent:u,fn:_,disabled:w}=this.props;const x=s&&s.get?s.get(\"format\"):null,C=s&&s.get?s.get(\"type\"):null,j=_.getSchemaObjectType(s),L=_.isFileUploadIntended(s);let getComponentSilently=s=>u(s,!1,{failSilently:!0}),B=C?getComponentSilently(x?`JsonSchema_${C}_${x}`:`JsonSchema_${C}`):u(\"JsonSchema_string\");return L||!ze.List.isList(C)||\"array\"!==j&&\"object\"!==j||(B=u(\"JsonSchema_object\")),B||(B=u(\"JsonSchema_string\")),Re.createElement(B,Mn()({},this.props,{errors:o,fn:_,getComponent:u,value:i,onChange:a,schema:s,disabled:w}))}}class JsonSchema_string extends Re.Component{static defaultProps=ss;onChange=s=>{const o=this.props.schema&&\"file\"===this.props.schema.get(\"type\")?s.target.files[0]:s.target.value;this.props.onChange(o,this.props.keyName)};onEnumChange=s=>this.props.onChange(s);render(){let{getComponent:s,value:o,schema:i,errors:a,required:u,description:_,disabled:w}=this.props;const x=i&&i.get?i.get(\"enum\"):null,C=i&&i.get?i.get(\"format\"):null,j=i&&i.get?i.get(\"type\"):null,L=i&&i.get?i.get(\"in\"):null;if(o?(isImmutable(o)||\"object\"==typeof o)&&(o=stringify(o)):o=\"\",a=a.toJS?a.toJS():[],x){const i=s(\"Select\");return Re.createElement(i,{className:a.length?\"invalid\":\"\",title:a.length?a:\"\",allowedValues:[...x],value:o,allowEmptyValue:!u,disabled:w,onChange:this.onEnumChange})}const B=w||L&&\"formData\"===L&&!(\"FormData\"in window),$=s(\"Input\");return j&&\"file\"===j?Re.createElement($,{type:\"file\",className:a.length?\"invalid\":\"\",title:a.length?a:\"\",onChange:this.onChange,disabled:B}):Re.createElement(ns(),{type:C&&\"password\"===C?\"password\":\"text\",className:a.length?\"invalid\":\"\",title:a.length?a:\"\",value:o,minLength:0,debounceTimeout:350,placeholder:_,onChange:this.onChange,disabled:B})}}class JsonSchema_array extends Re.PureComponent{static defaultProps=ss;constructor(s,o){super(s,o),this.state={value:valueOrEmptyList(s.value),schema:s.schema}}UNSAFE_componentWillReceiveProps(s){const o=valueOrEmptyList(s.value);o!==this.state.value&&this.setState({value:o}),s.schema!==this.state.schema&&this.setState({schema:s.schema})}onChange=()=>{this.props.onChange(this.state.value)};onItemChange=(s,o)=>{this.setState((({value:i})=>({value:i.set(o,s)})),this.onChange)};removeItem=s=>{this.setState((({value:o})=>({value:o.delete(s)})),this.onChange)};addItem=()=>{const{fn:s}=this.props;let o=valueOrEmptyList(this.state.value);this.setState((()=>({value:o.push(s.getSampleSchema(this.state.schema.get(\"items\"),!1,{includeWriteOnly:!0}))})),this.onChange)};onEnumChange=s=>{this.setState((()=>({value:s})),this.onChange)};render(){let{getComponent:s,required:o,schema:i,errors:a,fn:u,disabled:_}=this.props;a=a.toJS?a.toJS():Array.isArray(a)?a:[];const w=a.filter((s=>\"string\"==typeof s)),x=a.filter((s=>void 0!==s.needRemove)).map((s=>s.error)),C=this.state.value,j=!!(C&&C.count&&C.count()>0),L=i.getIn([\"items\",\"enum\"]),B=i.get(\"items\"),$=u.getSchemaObjectType(B),U=u.getSchemaObjectTypeLabel(B),V=i.getIn([\"items\",\"format\"]),z=i.get(\"items\");let Y,Z=!1,ee=\"file\"===$||\"string\"===$&&\"binary\"===V;if($&&V?Y=s(`JsonSchema_${$}_${V}`):\"boolean\"!==$&&\"array\"!==$&&\"object\"!==$||(Y=s(`JsonSchema_${$}`)),!ze.List.isList(B?.get(\"type\"))||\"array\"!==$&&\"object\"!==$||(Y=s(\"JsonSchema_object\")),Y||ee||(Z=!0),L){const i=s(\"Select\");return Re.createElement(i,{className:a.length?\"invalid\":\"\",title:a.length?a:\"\",multiple:!0,value:C,disabled:_,allowedValues:L,allowEmptyValue:!o,onChange:this.onEnumChange})}const ie=s(\"Button\");return Re.createElement(\"div\",{className:\"json-schema-array\"},j?C.map(((o,i)=>{const w=(0,ze.fromJS)([...a.filter((s=>s.index===i)).map((s=>s.error))]);return Re.createElement(\"div\",{key:i,className:\"json-schema-form-item\"},ee?Re.createElement(JsonSchemaArrayItemFile,{value:o,onChange:s=>this.onItemChange(s,i),disabled:_,errors:w,getComponent:s}):Z?Re.createElement(JsonSchemaArrayItemText,{value:o,onChange:s=>this.onItemChange(s,i),disabled:_,errors:w}):Re.createElement(Y,Mn()({},this.props,{value:o,onChange:s=>this.onItemChange(s,i),disabled:_,errors:w,schema:z,getComponent:s,fn:u})),_?null:Re.createElement(ie,{className:`btn btn-sm json-schema-form-item-remove ${x.length?\"invalid\":null}`,title:x.length?x:\"\",onClick:()=>this.removeItem(i)},\" - \"))})):null,_?null:Re.createElement(ie,{className:`btn btn-sm json-schema-form-item-add ${w.length?\"invalid\":null}`,title:w.length?w:\"\",onClick:this.addItem},\"Add \",U,\" item\"))}}class JsonSchemaArrayItemText extends Re.Component{static defaultProps=ss;onChange=s=>{const o=s.target.value;this.props.onChange(o,this.props.keyName)};render(){let{value:s,errors:o,description:i,disabled:a}=this.props;return s?(isImmutable(s)||\"object\"==typeof s)&&(s=stringify(s)):s=\"\",o=o.toJS?o.toJS():[],Re.createElement(ns(),{type:\"text\",className:o.length?\"invalid\":\"\",title:o.length?o:\"\",value:s,minLength:0,debounceTimeout:350,placeholder:i,onChange:this.onChange,disabled:a})}}class JsonSchemaArrayItemFile extends Re.Component{static defaultProps=ss;onFileChange=s=>{const o=s.target.files[0];this.props.onChange(o,this.props.keyName)};render(){let{getComponent:s,errors:o,disabled:i}=this.props;const a=s(\"Input\"),u=i||!(\"FormData\"in window);return Re.createElement(a,{type:\"file\",className:o.length?\"invalid\":\"\",title:o.length?o:\"\",onChange:this.onFileChange,disabled:u})}}class JsonSchema_boolean extends Re.Component{static defaultProps=ss;onEnumChange=s=>this.props.onChange(s);render(){let{getComponent:s,value:o,errors:i,schema:a,required:u,disabled:_}=this.props;i=i.toJS?i.toJS():[];let w=a&&a.get?a.get(\"enum\"):null,x=!w||!u,C=!w&&[\"true\",\"false\"];const j=s(\"Select\");return Re.createElement(j,{className:i.length?\"invalid\":\"\",title:i.length?i:\"\",value:String(o),disabled:_,allowedValues:w?[...w]:C,allowEmptyValue:x,onChange:this.onEnumChange})}}const stringifyObjectErrors=s=>s.map((s=>{const o=void 0!==s.propKey?s.propKey:s.index;let i=\"string\"==typeof s?s:\"string\"==typeof s.error?s.error:null;if(!o&&i)return i;let a=s.error,u=`/${s.propKey}`;for(;\"object\"==typeof a;){const s=void 0!==a.propKey?a.propKey:a.index;if(void 0===s)break;if(u+=`/${s}`,!a.error)break;a=a.error}return`${u}: ${a}`}));class JsonSchema_object extends Re.PureComponent{constructor(){super()}static defaultProps=ss;onChange=s=>{this.props.onChange(s)};handleOnChange=s=>{const o=s.target.value;this.onChange(o)};render(){let{getComponent:s,value:o,errors:i,disabled:a}=this.props;const u=s(\"TextArea\");return i=i.toJS?i.toJS():Array.isArray(i)?i:[],Re.createElement(\"div\",null,Re.createElement(u,{className:Jn()({invalid:i.length}),title:i.length?stringifyObjectErrors(i).join(\", \"):\"\",value:stringify(o),disabled:a,onChange:this.handleOnChange}))}}function valueOrEmptyList(s){return ze.List.isList(s)?s:Array.isArray(s)?(0,ze.fromJS)(s):(0,ze.List)()}const ModelExtensions=({extensions:s,propClass:o=\"\"})=>s.entrySeq().map((([s,i])=>{const a=immutableToJS(i)??null;return Re.createElement(\"tr\",{key:s,className:o},Re.createElement(\"td\",null,s),Re.createElement(\"td\",null,JSON.stringify(a)))})).toArray();var os=__webpack_require__(11331),as=__webpack_require__.n(os);const hasSchemaType=(s,o)=>{const i=ze.Map.isMap(s);if(!i&&!as()(s))return!1;const a=i?s.get(\"type\"):s.type;return o===a||Array.isArray(o)&&o.includes(a)},getType=(s,o=new WeakSet)=>{if(null==s)return\"any\";if(o.has(s))return\"any\";o.add(s);const{type:i,items:a}=s;return Object.hasOwn(s,\"items\")?(()=>{if(a)return`array<${getType(a,o)}>`;return\"array<any>\"})():i},getSchemaObjectTypeLabel=s=>getType(immutableToJS(s)),json_schema_5=()=>({components:{modelExample:model_example,ModelWrapper,ModelCollapse,Model,Models,EnumModel:enum_model,ObjectModel,ArrayModel,PrimitiveModel:Primitive,ModelExtensions,schemes:Schemes,SchemesContainer,...U},fn:{hasSchemaType,getSchemaObjectTypeLabel}});var cs=__webpack_require__(19123),ls=__webpack_require__.n(cs),us=__webpack_require__(41859),ps=__webpack_require__.n(us),hs=__webpack_require__(62193),ds=__webpack_require__.n(hs);const shallowArrayEquals=s=>o=>Array.isArray(s)&&Array.isArray(o)&&s.length===o.length&&s.every(((s,i)=>s===o[i])),list=(...s)=>s;class Cache extends Map{delete(s){const o=Array.from(this.keys()).find(shallowArrayEquals(s));return super.delete(o)}get(s){const o=Array.from(this.keys()).find(shallowArrayEquals(s));return super.get(o)}has(s){return-1!==Array.from(this.keys()).findIndex(shallowArrayEquals(s))}}const utils_memoizeN=(s,o=list)=>{const{Cache:i}=pt();pt().Cache=Cache;const a=pt()(s,o);return pt().Cache=i,a},fs={string:s=>s.pattern?(s=>{try{const o=/(?<=(?<!\\\\)\\{)(\\d{3,})(?=\\})|(?<=(?<!\\\\)\\{\\d*,)(\\d{3,})(?=\\})|(?<=(?<!\\\\)\\{)(\\d{3,})(?=,\\d*\\})/g,i=s.replace(o,\"100\"),a=new(ps())(i);return a.max=100,a.gen()}catch(s){return\"string\"}})(s.pattern):\"string\",string_email:()=>\"user@example.com\",\"string_date-time\":()=>(new Date).toISOString(),string_date:()=>(new Date).toISOString().substring(0,10),string_time:()=>(new Date).toISOString().substring(11),string_uuid:()=>\"3fa85f64-5717-4562-b3fc-2c963f66afa6\",string_hostname:()=>\"example.com\",string_ipv4:()=>\"198.51.100.42\",string_ipv6:()=>\"2001:0db8:5b96:0000:0000:426f:8e17:642a\",number:()=>0,number_float:()=>0,integer:()=>0,boolean:s=>\"boolean\"!=typeof s.default||s.default},primitive=s=>{s=objectify(s);let{type:o,format:i}=s,a=fs[`${o}_${i}`]||fs[o];return isFunc(a)?a(s):\"Unknown Type: \"+s.type},sanitizeRef=s=>deeplyStripKey(s,\"$$ref\",(s=>\"string\"==typeof s&&s.indexOf(\"#\")>-1)),ms=[\"maxProperties\",\"minProperties\"],gs=[\"minItems\",\"maxItems\"],ys=[\"minimum\",\"maximum\",\"exclusiveMinimum\",\"exclusiveMaximum\"],vs=[\"minLength\",\"maxLength\"],mergeJsonSchema=(s,o,i={})=>{const a={...s};if([\"example\",\"default\",\"enum\",\"xml\",\"type\",...ms,...gs,...ys,...vs].forEach((s=>(s=>{void 0===a[s]&&void 0!==o[s]&&(a[s]=o[s])})(s))),void 0!==o.required&&Array.isArray(o.required)&&(void 0!==a.required&&a.required.length||(a.required=[]),o.required.forEach((s=>{a.required.includes(s)||a.required.push(s)}))),o.properties){a.properties||(a.properties={});let s=objectify(o.properties);for(let u in s)Object.prototype.hasOwnProperty.call(s,u)&&(s[u]&&s[u].deprecated||s[u]&&s[u].readOnly&&!i.includeReadOnly||s[u]&&s[u].writeOnly&&!i.includeWriteOnly||a.properties[u]||(a.properties[u]=s[u],!o.required&&Array.isArray(o.required)&&-1!==o.required.indexOf(u)&&(a.required?a.required.push(u):a.required=[u])))}return o.items&&(a.items||(a.items={}),a.items=mergeJsonSchema(a.items,o.items,i)),a},sampleFromSchemaGeneric=(s,o={},i=void 0,a=!1)=>{s&&isFunc(s.toJS)&&(s=s.toJS());let u=void 0!==i||s&&void 0!==s.example||s&&void 0!==s.default;const _=!u&&s&&s.oneOf&&s.oneOf.length>0,w=!u&&s&&s.anyOf&&s.anyOf.length>0;if(!u&&(_||w)){const i=objectify(_?s.oneOf[0]:s.anyOf[0]);if(!(s=mergeJsonSchema(s,i,o)).xml&&i.xml&&(s.xml=i.xml),void 0!==s.example&&void 0!==i.example)u=!0;else if(i.properties){s.properties||(s.properties={});let a=objectify(i.properties);for(let u in a)Object.prototype.hasOwnProperty.call(a,u)&&(a[u]&&a[u].deprecated||a[u]&&a[u].readOnly&&!o.includeReadOnly||a[u]&&a[u].writeOnly&&!o.includeWriteOnly||s.properties[u]||(s.properties[u]=a[u],!i.required&&Array.isArray(i.required)&&-1!==i.required.indexOf(u)&&(s.required?s.required.push(u):s.required=[u])))}}const x={};let{xml:C,type:j,example:L,properties:B,additionalProperties:$,items:U}=s||{},{includeReadOnly:V,includeWriteOnly:z}=o;C=C||{};let Y,{name:Z,prefix:ee,namespace:ie}=C,ae={};if(a&&(Z=Z||\"notagname\",Y=(ee?ee+\":\":\"\")+Z,ie)){x[ee?\"xmlns:\"+ee:\"xmlns\"]=ie}a&&(ae[Y]=[]);const schemaHasAny=o=>o.some((o=>Object.prototype.hasOwnProperty.call(s,o)));s&&!j&&(B||$||schemaHasAny(ms)?j=\"object\":U||schemaHasAny(gs)?j=\"array\":schemaHasAny(ys)?(j=\"number\",s.type=\"number\"):u||s.enum||(j=\"string\",s.type=\"string\"));const handleMinMaxItems=o=>{if(null!=s?.maxItems&&(o=o.slice(0,s?.maxItems)),null!=s?.minItems){let i=0;for(;o.length<s?.minItems;)o.push(o[i++%o.length])}return o},ce=objectify(B);let le,pe=0;const hasExceededMaxProperties=()=>s&&null!==s.maxProperties&&void 0!==s.maxProperties&&pe>=s.maxProperties,canAddProperty=o=>!s||null===s.maxProperties||void 0===s.maxProperties||!hasExceededMaxProperties()&&(!(o=>!(s&&s.required&&s.required.length&&s.required.includes(o)))(o)||s.maxProperties-pe-(()=>{if(!s||!s.required)return 0;let o=0;return a?s.required.forEach((s=>o+=void 0===ae[s]?0:1)):s.required.forEach((s=>o+=void 0===ae[Y]?.find((o=>void 0!==o[s]))?0:1)),s.required.length-o})()>0);if(le=a?(i,u=void 0)=>{if(s&&ce[i]){if(ce[i].xml=ce[i].xml||{},ce[i].xml.attribute){const s=Array.isArray(ce[i].enum)?ce[i].enum[0]:void 0,o=ce[i].example,a=ce[i].default;return void(x[ce[i].xml.name||i]=void 0!==o?o:void 0!==a?a:void 0!==s?s:primitive(ce[i]))}ce[i].xml.name=ce[i].xml.name||i}else ce[i]||!1===$||(ce[i]={xml:{name:i}});let _=sampleFromSchemaGeneric(s&&ce[i]||void 0,o,u,a);canAddProperty(i)&&(pe++,Array.isArray(_)?ae[Y]=ae[Y].concat(_):ae[Y].push(_))}:(i,u)=>{if(canAddProperty(i)){if(Object.prototype.hasOwnProperty.call(s,\"discriminator\")&&s.discriminator&&Object.prototype.hasOwnProperty.call(s.discriminator,\"mapping\")&&s.discriminator.mapping&&Object.prototype.hasOwnProperty.call(s,\"$$ref\")&&s.$$ref&&s.discriminator.propertyName===i){for(let o in s.discriminator.mapping)if(-1!==s.$$ref.search(s.discriminator.mapping[o])){ae[i]=o;break}}else ae[i]=sampleFromSchemaGeneric(ce[i],o,u,a);pe++}},u){let u;if(u=sanitizeRef(void 0!==i?i:void 0!==L?L:s.default),!a){if(\"number\"==typeof u&&\"string\"===j)return`${u}`;if(\"string\"!=typeof u||\"string\"===j)return u;try{return JSON.parse(u)}catch(s){return u}}if(s||(j=Array.isArray(u)?\"array\":typeof u),\"array\"===j){if(!Array.isArray(u)){if(\"string\"==typeof u)return u;u=[u]}const i=s?s.items:void 0;i&&(i.xml=i.xml||C||{},i.xml.name=i.xml.name||C.name);let _=u.map((s=>sampleFromSchemaGeneric(i,o,s,a)));return _=handleMinMaxItems(_),C.wrapped?(ae[Y]=_,ds()(x)||ae[Y].push({_attr:x})):ae=_,ae}if(\"object\"===j){if(\"string\"==typeof u)return u;for(let o in u)Object.prototype.hasOwnProperty.call(u,o)&&(s&&ce[o]&&ce[o].readOnly&&!V||s&&ce[o]&&ce[o].writeOnly&&!z||(s&&ce[o]&&ce[o].xml&&ce[o].xml.attribute?x[ce[o].xml.name||o]=u[o]:le(o,u[o])));return ds()(x)||ae[Y].push({_attr:x}),ae}return ae[Y]=ds()(x)?u:[{_attr:x},u],ae}if(\"object\"===j){for(let s in ce)Object.prototype.hasOwnProperty.call(ce,s)&&(ce[s]&&ce[s].deprecated||ce[s]&&ce[s].readOnly&&!V||ce[s]&&ce[s].writeOnly&&!z||le(s));if(a&&x&&ae[Y].push({_attr:x}),hasExceededMaxProperties())return ae;if(!0===$)a?ae[Y].push({additionalProp:\"Anything can be here\"}):ae.additionalProp1={},pe++;else if($){const i=objectify($),u=sampleFromSchemaGeneric(i,o,void 0,a);if(a&&i.xml&&i.xml.name&&\"notagname\"!==i.xml.name)ae[Y].push(u);else{const o=i[\"x-additionalPropertiesName\"]||\"additionalProp\",_=null!==s.minProperties&&void 0!==s.minProperties&&pe<s.minProperties?s.minProperties-pe:3;for(let s=1;s<=_;s++){if(hasExceededMaxProperties())return ae;if(a){const i={};i[o+s]=u.notagname,ae[Y].push(i)}else ae[o+s]=u;pe++}}}return ae}if(\"array\"===j){if(!U)return;let i;if(a&&(U.xml=U.xml||s?.xml||{},U.xml.name=U.xml.name||C.name),Array.isArray(U.anyOf))i=U.anyOf.map((s=>sampleFromSchemaGeneric(mergeJsonSchema(s,U,o),o,void 0,a)));else if(Array.isArray(U.oneOf))i=U.oneOf.map((s=>sampleFromSchemaGeneric(mergeJsonSchema(s,U,o),o,void 0,a)));else{if(!(!a||a&&C.wrapped))return sampleFromSchemaGeneric(U,o,void 0,a);i=[sampleFromSchemaGeneric(U,o,void 0,a)]}return i=handleMinMaxItems(i),a&&C.wrapped?(ae[Y]=i,ds()(x)||ae[Y].push({_attr:x}),ae):i}let de;if(s&&Array.isArray(s.enum))de=normalizeArray(s.enum)[0];else{if(!s)return;if(de=primitive(s),\"number\"==typeof de){let o=s.minimum;null!=o&&(s.exclusiveMinimum&&o++,de=o);let i=s.maximum;null!=i&&(s.exclusiveMaximum&&i--,de=i)}if(\"string\"==typeof de&&(null!==s.maxLength&&void 0!==s.maxLength&&(de=de.slice(0,s.maxLength)),null!==s.minLength&&void 0!==s.minLength)){let o=0;for(;de.length<s.minLength;)de+=de[o++%de.length]}}if(\"file\"!==j)return a?(ae[Y]=ds()(x)?de:[{_attr:x},de],ae):de},inferSchema=s=>(s.schema&&(s=s.schema),s.properties&&(s.type=\"object\"),s),createXMLExample=(s,o,i)=>{const a=sampleFromSchemaGeneric(s,o,i,!0);if(a)return\"string\"==typeof a?a:ls()(a,{declaration:!0,indent:\"\\t\"})},sampleFromSchema=(s,o,i)=>sampleFromSchemaGeneric(s,o,i,!1),resolver=(s,o,i)=>[s,JSON.stringify(o),JSON.stringify(i)],bs=utils_memoizeN(createXMLExample,resolver),_s=utils_memoizeN(sampleFromSchema,resolver),getSchemaObjectType=s=>immutableToJS(s)?.type??\"string\",Ss=[{when:/json/,shouldStringifyTypes:[\"string\"]}],Es=[\"object\"],get_json_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.memoizedSampleFromSchema(o,i,u),x=typeof w,C=Ss.reduce(((s,o)=>o.when.test(a)?[...s,...o.shouldStringifyTypes]:s),Es);return gt()(C,(s=>s===x))?JSON.stringify(w,null,2):w},get_yaml_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.getJsonSampleSchema(o,i,a,u);let x;try{x=fn.dump(fn.load(w),{lineWidth:-1},{schema:rn}),\"\\n\"===x[x.length-1]&&(x=x.slice(0,x.length-1))}catch(s){return console.error(s),\"error: could not generate yaml example\"}return x.replace(/\\t/g,\"  \")},get_xml_sample_schema=s=>(o,i,a)=>{const{fn:u}=s();if(o&&!o.xml&&(o.xml={}),o&&!o.xml.name){if(!o.$$ref&&(o.type||o.items||o.properties||o.additionalProperties))return'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\x3c!-- XML example cannot be generated; root element name is undefined --\\x3e';if(o.$$ref){let s=o.$$ref.match(/\\S*\\/(\\S+)$/);o.xml.name=s[1]}}return u.memoizedCreateXMLExample(o,i,a)},get_sample_schema=s=>(o,i=\"\",a={},u=void 0)=>{const{fn:_}=s();return\"function\"==typeof o?.toJS&&(o=o.toJS()),\"function\"==typeof u?.toJS&&(u=u.toJS()),/xml/.test(i)?_.getXmlSampleSchema(o,a,u):/(yaml|yml)/.test(i)?_.getYamlSampleSchema(o,a,i,u):_.getJsonSampleSchema(o,a,i,u)},json_schema_5_samples=({getSystem:s})=>{const o=get_json_sample_schema(s),i=get_yaml_sample_schema(s),a=get_xml_sample_schema(s),u=get_sample_schema(s);return{fn:{jsonSchema5:{inferSchema,sampleFromSchema,sampleFromSchemaGeneric,createXMLExample,memoizedSampleFromSchema:_s,memoizedCreateXMLExample:bs,getJsonSampleSchema:o,getYamlSampleSchema:i,getXmlSampleSchema:a,getSampleSchema:u,mergeJsonSchema},inferSchema,sampleFromSchema,sampleFromSchemaGeneric,createXMLExample,memoizedSampleFromSchema:_s,memoizedCreateXMLExample:bs,getJsonSampleSchema:o,getYamlSampleSchema:i,getXmlSampleSchema:a,getSampleSchema:u,mergeJsonSchema,getSchemaObjectType}}};var ws=__webpack_require__(37334),xs=__webpack_require__.n(ws);const ks=[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],spec_selectors_state=s=>s||(0,ze.Map)(),Os=Ut(spec_selectors_state,(s=>s.get(\"lastError\"))),As=Ut(spec_selectors_state,(s=>s.get(\"url\"))),Cs=Ut(spec_selectors_state,(s=>s.get(\"spec\")||\"\")),js=Ut(spec_selectors_state,(s=>s.get(\"specSource\")||\"not-editor\")),Ps=Ut(spec_selectors_state,(s=>s.get(\"json\",(0,ze.Map)()))),Is=Ut(Ps,(s=>s.toJS())),Ts=Ut(spec_selectors_state,(s=>s.get(\"resolved\",(0,ze.Map)()))),specResolvedSubtree=(s,o)=>s.getIn([\"resolvedSubtrees\",...o],void 0),mergerFn=(s,o)=>ze.Map.isMap(s)&&ze.Map.isMap(o)?o.get(\"$$ref\")?o:(0,ze.OrderedMap)().mergeWith(mergerFn,s,o):o,Ns=Ut(spec_selectors_state,(s=>(0,ze.OrderedMap)().mergeWith(mergerFn,s.get(\"json\"),s.get(\"resolvedSubtrees\")))),spec=s=>Ps(s),Ms=Ut(spec,(()=>!1)),Rs=Ut(spec,(s=>returnSelfOrNewMap(s&&s.get(\"info\")))),Ds=Ut(spec,(s=>returnSelfOrNewMap(s&&s.get(\"externalDocs\")))),Ls=Ut(Rs,(s=>s&&s.get(\"version\"))),Fs=Ut(Ls,(s=>/v?([0-9]*)\\.([0-9]*)\\.([0-9]*)/i.exec(s).slice(1))),Bs=Ut(Ns,(s=>s.get(\"paths\"))),$s=xs()([\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\"]),qs=Ut(Bs,(s=>{let o=(0,ze.List)();return!ze.Map.isMap(s)||s.isEmpty()||s.forEach(((s,i)=>{if(!s||!s.forEach)return{};s.forEach(((s,a)=>{ks.indexOf(a)<0||(o=o.push((0,ze.fromJS)({path:i,method:a,operation:s,id:`${a}-${i}`})))}))})),o})),Us=Ut(spec,(s=>(0,ze.Set)(s.get(\"consumes\")))),Vs=Ut(spec,(s=>(0,ze.Set)(s.get(\"produces\")))),zs=Ut(spec,(s=>s.get(\"security\",(0,ze.List)()))),Ws=Ut(spec,(s=>s.get(\"securityDefinitions\"))),findDefinition=(s,o)=>{const i=s.getIn([\"resolvedSubtrees\",\"definitions\",o],null),a=s.getIn([\"json\",\"definitions\",o],null);return i||a||null},Js=Ut(spec,(s=>{const o=s.get(\"definitions\");return ze.Map.isMap(o)?o:(0,ze.Map)()})),Hs=Ut(spec,(s=>s.get(\"basePath\"))),Ks=Ut(spec,(s=>s.get(\"host\"))),Gs=Ut(spec,(s=>s.get(\"schemes\",(0,ze.Map)()))),Ys=Ut([qs,Us,Vs],((s,o,i)=>s.map((s=>s.update(\"operation\",(s=>ze.Map.isMap(s)?s.withMutations((s=>(s.get(\"consumes\")||s.update(\"consumes\",(s=>(0,ze.Set)(s).merge(o))),s.get(\"produces\")||s.update(\"produces\",(s=>(0,ze.Set)(s).merge(i))),s))):(0,ze.Map)())))))),Xs=Ut(spec,(s=>{const o=s.get(\"tags\",(0,ze.List)());return ze.List.isList(o)?o.filter((s=>ze.Map.isMap(s))):(0,ze.List)()})),tagDetails=(s,o)=>(Xs(s)||(0,ze.List)()).filter(ze.Map.isMap).find((s=>s.get(\"name\")===o),(0,ze.Map)()),Qs=Ut(Ys,Xs,((s,o)=>s.reduce(((s,o)=>{let i=(0,ze.Set)(o.getIn([\"operation\",\"tags\"]));return i.count()<1?s.update(\"default\",(0,ze.List)(),(s=>s.push(o))):i.reduce(((s,i)=>s.update(i,(0,ze.List)(),(s=>s.push(o)))),s)}),o.reduce(((s,o)=>s.set(o.get(\"name\"),(0,ze.List)())),(0,ze.OrderedMap)())))),selectors_taggedOperations=s=>({getConfigs:o})=>{let{tagsSorter:i,operationsSorter:a}=o();return Qs(s).sortBy(((s,o)=>o),((s,o)=>{let a=\"function\"==typeof i?i:It.tagsSorter[i];return a?a(s,o):null})).map(((o,i)=>{let u=\"function\"==typeof a?a:It.operationsSorter[a],_=u?o.sort(u):o;return(0,ze.Map)({tagDetails:tagDetails(s,i),operations:_})}))},Zs=Ut(spec_selectors_state,(s=>s.get(\"responses\",(0,ze.Map)()))),eo=Ut(spec_selectors_state,(s=>s.get(\"requests\",(0,ze.Map)()))),to=Ut(spec_selectors_state,(s=>s.get(\"mutatedRequests\",(0,ze.Map)()))),responseFor=(s,o,i)=>Zs(s).getIn([o,i],null),requestFor=(s,o,i)=>eo(s).getIn([o,i],null),mutatedRequestFor=(s,o,i)=>to(s).getIn([o,i],null),allowTryItOutFor=()=>!0,parameterWithMetaByIdentity=(s,o,i)=>{const a=Ns(s).getIn([\"paths\",...o,\"parameters\"],(0,ze.OrderedMap)()),u=s.getIn([\"meta\",\"paths\",...o,\"parameters\"],(0,ze.OrderedMap)());return a.map((s=>{const o=u.get(`${i.get(\"in\")}.${i.get(\"name\")}`),a=u.get(`${i.get(\"in\")}.${i.get(\"name\")}.hash-${i.hashCode()}`);return(0,ze.OrderedMap)().merge(s,o,a)})).find((s=>s.get(\"in\")===i.get(\"in\")&&s.get(\"name\")===i.get(\"name\")),(0,ze.OrderedMap)())},parameterInclusionSettingFor=(s,o,i,a)=>{const u=`${a}.${i}`;return s.getIn([\"meta\",\"paths\",...o,\"parameter_inclusions\",u],!1)},parameterWithMeta=(s,o,i,a)=>{const u=Ns(s).getIn([\"paths\",...o,\"parameters\"],(0,ze.OrderedMap)()).find((s=>s.get(\"in\")===a&&s.get(\"name\")===i),(0,ze.OrderedMap)());return parameterWithMetaByIdentity(s,o,u)},operationWithMeta=(s,o,i)=>{const a=Ns(s).getIn([\"paths\",o,i],(0,ze.OrderedMap)()),u=s.getIn([\"meta\",\"paths\",o,i],(0,ze.OrderedMap)()),_=a.get(\"parameters\",(0,ze.List)()).map((a=>parameterWithMetaByIdentity(s,[o,i],a)));return(0,ze.OrderedMap)().merge(a,u).set(\"parameters\",_)};function getParameter(s,o,i,a){return o=o||[],s.getIn([\"meta\",\"paths\",...o,\"parameters\"],(0,ze.fromJS)([])).find((s=>ze.Map.isMap(s)&&s.get(\"name\")===i&&s.get(\"in\")===a))||(0,ze.Map)()}const ro=Ut(spec,(s=>{const o=s.get(\"host\");return\"string\"==typeof o&&o.length>0&&\"/\"!==o[0]}));function parameterValues(s,o,i){return o=o||[],operationWithMeta(s,...o).get(\"parameters\",(0,ze.List)()).reduce(((s,o)=>{let a=i&&\"body\"===o.get(\"in\")?o.get(\"value_xml\"):o.get(\"value\");return ze.List.isList(a)&&(a=a.filter((s=>\"\"!==s))),s.set(paramToIdentifier(o,{allowHashes:!1}),a)}),(0,ze.fromJS)({}))}function parametersIncludeIn(s,o=\"\"){if(ze.List.isList(s))return s.some((s=>ze.Map.isMap(s)&&s.get(\"in\")===o))}function parametersIncludeType(s,o=\"\"){if(ze.List.isList(s))return s.some((s=>ze.Map.isMap(s)&&s.get(\"type\")===o))}function contentTypeValues(s,o){o=o||[];let i=Ns(s).getIn([\"paths\",...o],(0,ze.fromJS)({})),a=s.getIn([\"meta\",\"paths\",...o],(0,ze.fromJS)({})),u=currentProducesFor(s,o);const _=i.get(\"parameters\")||new ze.List,w=a.get(\"consumes_value\")?a.get(\"consumes_value\"):parametersIncludeType(_,\"file\")?\"multipart/form-data\":parametersIncludeType(_,\"formData\")?\"application/x-www-form-urlencoded\":void 0;return(0,ze.fromJS)({requestContentType:w,responseContentType:u})}function currentProducesFor(s,o){o=o||[];const i=Ns(s).getIn([\"paths\",...o],null);if(null===i)return;const a=s.getIn([\"meta\",\"paths\",...o,\"produces_value\"],null),u=i.getIn([\"produces\",0],null);return a||u||\"application/json\"}function producesOptionsFor(s,o){o=o||[];const i=Ns(s),a=i.getIn([\"paths\",...o],null);if(null===a)return;const[u]=o,_=a.get(\"produces\",null),w=i.getIn([\"paths\",u,\"produces\"],null),x=i.getIn([\"produces\"],null);return _||w||x}function consumesOptionsFor(s,o){o=o||[];const i=Ns(s),a=i.getIn([\"paths\",...o],null);if(null===a)return;const[u]=o,_=a.get(\"consumes\",null),w=i.getIn([\"paths\",u,\"consumes\"],null),x=i.getIn([\"consumes\"],null);return _||w||x}const operationScheme=(s,o,i)=>{let a=s.get(\"url\").match(/^([a-z][a-z0-9+\\-.]*):/),u=Array.isArray(a)?a[1]:null;return s.getIn([\"scheme\",o,i])||s.getIn([\"scheme\",\"_defaultScheme\"])||u||\"\"},canExecuteScheme=(s,o,i)=>[\"http\",\"https\"].indexOf(operationScheme(s,o,i))>-1,validationErrors=(s,o)=>{o=o||[];const i=s.getIn([\"meta\",\"paths\",...o,\"parameters\"],(0,ze.fromJS)([])),a=[];if(0===i.length)return a;const getErrorsWithPaths=(s,o=[])=>{const getNestedErrorsWithPaths=(s,o)=>{const i=[...o,s.get(\"propKey\")||s.get(\"index\")];return ze.Map.isMap(s.get(\"error\"))?getErrorsWithPaths(s.get(\"error\"),i):{error:s.get(\"error\"),path:i}};return ze.List.isList(s)?s.map((s=>ze.Map.isMap(s)?getNestedErrorsWithPaths(s,o):{error:s,path:o})):getNestedErrorsWithPaths(s,o)};return i.forEach(((s,o)=>{const i=o.split(\".\").slice(1,-1).join(\".\"),u=s.get(\"errors\");if(u&&u.count()){getErrorsWithPaths(u).forEach((({error:s,path:o})=>{a.push(((s,o,i)=>`For '${i}'${(o=o.reduce(((s,o)=>\"number\"==typeof o?`${s}[${o}]`:s?`${s}.${o}`:o),\"\"))?` at path '${o}'`:\"\"}: ${s}.`)(s,o,i))}))}})),a},validateBeforeExecute=(s,o)=>0===validationErrors(s,o).length,getOAS3RequiredRequestBodyContentType=(s,o)=>{let i={requestBody:!1,requestContentType:{}},a=s.getIn([\"resolvedSubtrees\",\"paths\",...o,\"requestBody\"],(0,ze.fromJS)([]));return a.size<1||(a.getIn([\"required\"])&&(i.requestBody=a.getIn([\"required\"])),a.getIn([\"content\"]).entrySeq().forEach((s=>{const o=s[0];if(s[1].getIn([\"schema\",\"required\"])){const a=s[1].getIn([\"schema\",\"required\"]).toJS();i.requestContentType[o]=a}}))),i},isMediaTypeSchemaPropertiesEqual=(s,o,i,a)=>{if((i||a)&&i===a)return!0;let u=s.getIn([\"resolvedSubtrees\",\"paths\",...o,\"requestBody\",\"content\"],(0,ze.fromJS)([]));if(u.size<2||!i||!a)return!1;let _=u.getIn([i,\"schema\",\"properties\"],(0,ze.fromJS)([])),w=u.getIn([a,\"schema\",\"properties\"],(0,ze.fromJS)([]));return!!_.equals(w)};function returnSelfOrNewMap(s){return ze.Map.isMap(s)?s:new ze.Map}var no=__webpack_require__(85015),so=__webpack_require__.n(no),oo=__webpack_require__(38221),io=__webpack_require__.n(oo),ao=__webpack_require__(63560),co=__webpack_require__.n(ao),lo=__webpack_require__(56367),uo=__webpack_require__.n(lo);const po=\"spec_update_spec\",ho=\"spec_update_url\",fo=\"spec_update_json\",mo=\"spec_update_param\",go=\"spec_update_empty_param_inclusion\",yo=\"spec_validate_param\",vo=\"spec_set_response\",bo=\"spec_set_request\",_o=\"spec_set_mutated_request\",So=\"spec_log_request\",Eo=\"spec_clear_response\",wo=\"spec_clear_request\",xo=\"spec_clear_validate_param\",ko=\"spec_update_operation_meta_value\",Oo=\"spec_update_resolved\",Ao=\"spec_update_resolved_subtree\",Co=\"set_scheme\",toStr=s=>so()(s)?s:\"\";function updateSpec(s){const o=toStr(s).replace(/\\t/g,\"  \");if(\"string\"==typeof s)return{type:po,payload:o}}function updateResolved(s){return{type:Oo,payload:s}}function updateUrl(s){return{type:ho,payload:s}}function updateJsonSpec(s){return{type:fo,payload:s}}const parseToJson=s=>({specActions:o,specSelectors:i,errActions:a})=>{let{specStr:u}=i,_=null;try{s=s||u(),a.clear({source:\"parser\"}),_=fn.load(s,{schema:rn})}catch(s){return console.error(s),a.newSpecErr({source:\"parser\",level:\"error\",message:s.reason,line:s.mark&&s.mark.line?s.mark.line+1:void 0})}return _&&\"object\"==typeof _?o.updateJsonSpec(_):o.updateJsonSpec({})};let jo=!1;const resolveSpec=(s,o)=>({specActions:i,specSelectors:a,errActions:u,fn:{fetch:_,resolve:w,AST:x={}},getConfigs:C})=>{jo||(console.warn(\"specActions.resolveSpec is deprecated since v3.10.0 and will be removed in v4.0.0; use requestResolvedSubtree instead!\"),jo=!0);const{modelPropertyMacro:j,parameterMacro:L,requestInterceptor:B,responseInterceptor:$}=C();void 0===s&&(s=a.specJson()),void 0===o&&(o=a.url());let U=x.getLineNumberForPath?x.getLineNumberForPath:()=>{},V=a.specStr();return w({fetch:_,spec:s,baseDoc:String(new URL(o,document.baseURI)),modelPropertyMacro:j,parameterMacro:L,requestInterceptor:B,responseInterceptor:$}).then((({spec:s,errors:o})=>{if(u.clear({type:\"thrown\"}),Array.isArray(o)&&o.length>0){let s=o.map((s=>(console.error(s),s.line=s.fullPath?U(V,s.fullPath):null,s.path=s.fullPath?s.fullPath.join(\".\"):null,s.level=\"error\",s.type=\"thrown\",s.source=\"resolver\",Object.defineProperty(s,\"message\",{enumerable:!0,value:s.message}),s)));u.newThrownErrBatch(s)}return i.updateResolved(s)}))};let Po=[];const Io=io()((()=>{const s=Po.reduce(((s,{path:o,system:i})=>(s.has(i)||s.set(i,[]),s.get(i).push(o),s)),new Map);Po=[],s.forEach((async(s,o)=>{if(!o)return void console.error(\"debResolveSubtrees: don't have a system to operate on, aborting.\");if(!o.fn.resolveSubtree)return void console.error(\"Error: Swagger-Client did not provide a `resolveSubtree` method, doing nothing.\");const{errActions:i,errSelectors:a,fn:{resolveSubtree:u,fetch:_,AST:w={}},specSelectors:x,specActions:C}=o,j=w.getLineNumberForPath??xs()(void 0),L=x.specStr(),{modelPropertyMacro:B,parameterMacro:$,requestInterceptor:U,responseInterceptor:V}=o.getConfigs();try{const o=await s.reduce((async(s,o)=>{let{resultMap:w,specWithCurrentSubtrees:C}=await s;const{errors:z,spec:Y}=await u(C,o,{baseDoc:String(new URL(x.url(),document.baseURI)),modelPropertyMacro:B,parameterMacro:$,requestInterceptor:U,responseInterceptor:V});if(a.allErrors().size&&i.clearBy((s=>\"thrown\"!==s.get(\"type\")||\"resolver\"!==s.get(\"source\")||!s.get(\"fullPath\")?.every(((s,i)=>s===o[i]||void 0===o[i])))),Array.isArray(z)&&z.length>0){let s=z.map((s=>(s.line=s.fullPath?j(L,s.fullPath):null,s.path=s.fullPath?s.fullPath.join(\".\"):null,s.level=\"error\",s.type=\"thrown\",s.source=\"resolver\",Object.defineProperty(s,\"message\",{enumerable:!0,value:s.message}),s)));i.newThrownErrBatch(s)}return Y&&x.isOAS3()&&\"components\"===o[0]&&\"securitySchemes\"===o[1]&&await Promise.all(Object.values(Y).filter((s=>\"openIdConnect\"===s?.type)).map((async s=>{const o={url:s.openIdConnectUrl,requestInterceptor:U,responseInterceptor:V};try{const i=await _(o);i instanceof Error||i.status>=400?console.error(i.statusText+\" \"+o.url):s.openIdConnectData=JSON.parse(i.text)}catch(s){console.error(s)}}))),co()(w,o,Y),C=uo()(o,Y,C),{resultMap:w,specWithCurrentSubtrees:C}}),Promise.resolve({resultMap:(x.specResolvedSubtree([])||(0,ze.Map)()).toJS(),specWithCurrentSubtrees:x.specJS()}));C.updateResolvedSubtree([],o.resultMap)}catch(s){console.error(s)}}))}),35),requestResolvedSubtree=s=>o=>{Po.find((({path:i,system:a})=>a===o&&i.toString()===s.toString()))||(Po.push({path:s,system:o}),Io())};function changeParam(s,o,i,a,u){return{type:mo,payload:{path:s,value:a,paramName:o,paramIn:i,isXml:u}}}function changeParamByIdentity(s,o,i,a){return{type:mo,payload:{path:s,param:o,value:i,isXml:a}}}const updateResolvedSubtree=(s,o)=>({type:Ao,payload:{path:s,value:o}}),invalidateResolvedSubtreeCache=()=>({type:Ao,payload:{path:[],value:(0,ze.Map)()}}),validateParams=(s,o)=>({type:yo,payload:{pathMethod:s,isOAS3:o}}),updateEmptyParamInclusion=(s,o,i,a)=>({type:go,payload:{pathMethod:s,paramName:o,paramIn:i,includeEmptyValue:a}});function clearValidateParams(s){return{type:xo,payload:{pathMethod:s}}}function changeConsumesValue(s,o){return{type:ko,payload:{path:s,value:o,key:\"consumes_value\"}}}function changeProducesValue(s,o){return{type:ko,payload:{path:s,value:o,key:\"produces_value\"}}}const setResponse=(s,o,i)=>({payload:{path:s,method:o,res:i},type:vo}),setRequest=(s,o,i)=>({payload:{path:s,method:o,req:i},type:bo}),setMutatedRequest=(s,o,i)=>({payload:{path:s,method:o,req:i},type:_o}),logRequest=s=>({payload:s,type:So}),executeRequest=s=>({fn:o,specActions:i,specSelectors:a,getConfigs:u,oas3Selectors:_})=>{let{pathName:w,method:x,operation:C}=s,{requestInterceptor:j,responseInterceptor:L}=u(),B=C.toJS();if(C&&C.get(\"parameters\")&&C.get(\"parameters\").filter((s=>s&&!0===s.get(\"allowEmptyValue\"))).forEach((o=>{if(a.parameterInclusionSettingFor([w,x],o.get(\"name\"),o.get(\"in\"))){s.parameters=s.parameters||{};const i=paramToValue(o,s.parameters);(!i||i&&0===i.size)&&(s.parameters[o.get(\"name\")]=\"\")}})),s.contextUrl=Nt()(a.url()).toString(),B&&B.operationId?s.operationId=B.operationId:B&&w&&x&&(s.operationId=o.opId(B,w,x)),a.isOAS3()){const o=`${w}:${x}`;s.server=_.selectedServer(o)||_.selectedServer();const i=_.serverVariables({server:s.server,namespace:o}).toJS(),a=_.serverVariables({server:s.server}).toJS();s.serverVariables=Object.keys(i).length?i:a,s.requestContentType=_.requestContentType(w,x),s.responseContentType=_.responseContentType(w,x)||\"*/*\";const u=_.requestBodyValue(w,x),C=_.requestBodyInclusionSetting(w,x);u&&u.toJS?s.requestBody=u.map((s=>ze.Map.isMap(s)?s.get(\"value\"):s)).filter(((s,o)=>(Array.isArray(s)?0!==s.length:!isEmptyValue(s))||C.get(o))).toJS():s.requestBody=u}let $=Object.assign({},s);$=o.buildRequest($),i.setRequest(s.pathName,s.method,$);s.requestInterceptor=async o=>{let a=await j.apply(void 0,[o]),u=Object.assign({},a);return i.setMutatedRequest(s.pathName,s.method,u),a},s.responseInterceptor=L;const U=Date.now();return o.execute(s).then((o=>{o.duration=Date.now()-U,i.setResponse(s.pathName,s.method,o)})).catch((o=>{\"Failed to fetch\"===o.message&&(o.name=\"\",o.message='**Failed to fetch.**  \\n**Possible Reasons:** \\n  - CORS \\n  - Network Failure \\n  - URL scheme must be \"http\" or \"https\" for CORS request.'),i.setResponse(s.pathName,s.method,{error:!0,err:o})}))},actions_execute=({path:s,method:o,...i}={})=>a=>{let{fn:{fetch:u},specSelectors:_,specActions:w}=a,x=_.specJsonWithResolvedSubtrees().toJS(),C=_.operationScheme(s,o),{requestContentType:j,responseContentType:L}=_.contentTypeValues([s,o]).toJS(),B=/xml/i.test(j),$=_.parameterValues([s,o],B).toJS();return w.executeRequest({...i,fetch:u,spec:x,pathName:s,method:o,parameters:$,requestContentType:j,scheme:C,responseContentType:L})};function clearResponse(s,o){return{type:Eo,payload:{path:s,method:o}}}function clearRequest(s,o){return{type:wo,payload:{path:s,method:o}}}function setScheme(s,o,i){return{type:Co,payload:{scheme:s,path:o,method:i}}}const To={[po]:(s,o)=>\"string\"==typeof o.payload?s.set(\"spec\",o.payload):s,[ho]:(s,o)=>s.set(\"url\",o.payload+\"\"),[fo]:(s,o)=>s.set(\"json\",fromJSOrdered(o.payload)),[Oo]:(s,o)=>s.setIn([\"resolved\"],fromJSOrdered(o.payload)),[Ao]:(s,o)=>{const{value:i,path:a}=o.payload;return s.setIn([\"resolvedSubtrees\",...a],fromJSOrdered(i))},[mo]:(s,{payload:o})=>{let{path:i,paramName:a,paramIn:u,param:_,value:w,isXml:x}=o,C=_?paramToIdentifier(_):`${u}.${a}`;const j=x?\"value_xml\":\"value\";return s.setIn([\"meta\",\"paths\",...i,\"parameters\",C,j],(0,ze.fromJS)(w))},[go]:(s,{payload:o})=>{let{pathMethod:i,paramName:a,paramIn:u,includeEmptyValue:_}=o;if(!a||!u)return console.warn(\"Warning: UPDATE_EMPTY_PARAM_INCLUSION could not generate a paramKey.\"),s;const w=`${u}.${a}`;return s.setIn([\"meta\",\"paths\",...i,\"parameter_inclusions\",w],_)},[yo]:(s,{payload:{pathMethod:o,isOAS3:i}})=>{const a=Ns(s).getIn([\"paths\",...o]),u=parameterValues(s,o).toJS();return s.updateIn([\"meta\",\"paths\",...o,\"parameters\"],(0,ze.fromJS)({}),(_=>a.get(\"parameters\",(0,ze.List)()).reduce(((a,_)=>{const w=paramToValue(_,u),x=parameterInclusionSettingFor(s,o,_.get(\"name\"),_.get(\"in\")),C=((s,o,{isOAS3:i=!1,bypassRequiredCheck:a=!1}={})=>{let u=s.get(\"required\"),{schema:_,parameterContentMediaType:w}=getParameterSchema(s,{isOAS3:i});return validateValueBySchema(o,_,u,a,w)})(_,w,{bypassRequiredCheck:x,isOAS3:i});return a.setIn([paramToIdentifier(_),\"errors\"],(0,ze.fromJS)(C))}),_)))},[xo]:(s,{payload:{pathMethod:o}})=>s.updateIn([\"meta\",\"paths\",...o,\"parameters\"],(0,ze.fromJS)([]),(s=>s.map((s=>s.set(\"errors\",(0,ze.fromJS)([])))))),[vo]:(s,{payload:{res:o,path:i,method:a}})=>{let u;u=o.error?Object.assign({error:!0,name:o.err.name,message:o.err.message,statusCode:o.err.statusCode},o.err.response):o,u.headers=u.headers||{};let _=s.setIn([\"responses\",i,a],fromJSOrdered(u));return lt.Blob&&u.data instanceof lt.Blob&&(_=_.setIn([\"responses\",i,a,\"text\"],u.data)),_},[bo]:(s,{payload:{req:o,path:i,method:a}})=>s.setIn([\"requests\",i,a],fromJSOrdered(o)),[_o]:(s,{payload:{req:o,path:i,method:a}})=>s.setIn([\"mutatedRequests\",i,a],fromJSOrdered(o)),[ko]:(s,{payload:{path:o,value:i,key:a}})=>{let u=[\"paths\",...o],_=[\"meta\",\"paths\",...o];return s.getIn([\"json\",...u])||s.getIn([\"resolved\",...u])||s.getIn([\"resolvedSubtrees\",...u])?s.setIn([..._,a],(0,ze.fromJS)(i)):s},[Eo]:(s,{payload:{path:o,method:i}})=>s.deleteIn([\"responses\",o,i]),[wo]:(s,{payload:{path:o,method:i}})=>s.deleteIn([\"requests\",o,i]),[Co]:(s,{payload:{scheme:o,path:i,method:a}})=>i&&a?s.setIn([\"scheme\",i,a],o):i||a?void 0:s.setIn([\"scheme\",\"_defaultScheme\"],o)},wrap_actions_updateSpec=(s,{specActions:o})=>(...i)=>{s(...i),o.parseToJson(...i)},wrap_actions_updateJsonSpec=(s,{specActions:o})=>(...i)=>{s(...i),o.invalidateResolvedSubtreeCache();const[a]=i,u=Cn()(a,[\"paths\"])||{};Object.keys(u).forEach((s=>{const i=Cn()(u,[s]);as()(i)&&i.$ref&&o.requestResolvedSubtree([\"paths\",s])})),o.requestResolvedSubtree([\"components\",\"securitySchemes\"])},wrap_actions_executeRequest=(s,{specActions:o})=>i=>(o.logRequest(i),s(i)),wrap_actions_validateParams=(s,{specSelectors:o})=>i=>s(i,o.isOAS3()),plugins_spec=()=>({statePlugins:{spec:{wrapActions:{...Y},reducers:{...To},actions:{...z},selectors:{...V}}}});var No=function(){var extendStatics=function(s,o){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var i in o)o.hasOwnProperty(i)&&(s[i]=o[i])},extendStatics(s,o)};return function(s,o){function __(){this.constructor=s}extendStatics(s,o),s.prototype=null===o?Object.create(o):(__.prototype=o.prototype,new __)}}(),Mo=Object.prototype.hasOwnProperty;function module_helpers_hasOwnProperty(s,o){return Mo.call(s,o)}function _objectKeys(s){if(Array.isArray(s)){for(var o=new Array(s.length),i=0;i<o.length;i++)o[i]=\"\"+i;return o}if(Object.keys)return Object.keys(s);var a=[];for(var u in s)module_helpers_hasOwnProperty(s,u)&&a.push(u);return a}function _deepClone(s){switch(typeof s){case\"object\":return JSON.parse(JSON.stringify(s));case\"undefined\":return null;default:return s}}function helpers_isInteger(s){for(var o,i=0,a=s.length;i<a;){if(!((o=s.charCodeAt(i))>=48&&o<=57))return!1;i++}return!0}function escapePathComponent(s){return-1===s.indexOf(\"/\")&&-1===s.indexOf(\"~\")?s:s.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")}function unescapePathComponent(s){return s.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}function hasUndefined(s){if(void 0===s)return!0;if(s)if(Array.isArray(s)){for(var o=0,i=s.length;o<i;o++)if(hasUndefined(s[o]))return!0}else if(\"object\"==typeof s)for(var a=_objectKeys(s),u=a.length,_=0;_<u;_++)if(hasUndefined(s[a[_]]))return!0;return!1}function patchErrorMessageFormatter(s,o){var i=[s];for(var a in o){var u=\"object\"==typeof o[a]?JSON.stringify(o[a],null,2):o[a];void 0!==u&&i.push(a+\": \"+u)}return i.join(\"\\n\")}var Ro=function(s){function PatchError(o,i,a,u,_){var w=this.constructor,x=s.call(this,patchErrorMessageFormatter(o,{name:i,index:a,operation:u,tree:_}))||this;return x.name=i,x.index=a,x.operation=u,x.tree=_,Object.setPrototypeOf(x,w.prototype),x.message=patchErrorMessageFormatter(o,{name:i,index:a,operation:u,tree:_}),x}return No(PatchError,s),PatchError}(Error),Do=Ro,Lo=_deepClone,Fo={add:function(s,o,i){return s[o]=this.value,{newDocument:i}},remove:function(s,o,i){var a=s[o];return delete s[o],{newDocument:i,removed:a}},replace:function(s,o,i){var a=s[o];return s[o]=this.value,{newDocument:i,removed:a}},move:function(s,o,i){var a=getValueByPointer(i,this.path);a&&(a=_deepClone(a));var u=applyOperation(i,{op:\"remove\",path:this.from}).removed;return applyOperation(i,{op:\"add\",path:this.path,value:u}),{newDocument:i,removed:a}},copy:function(s,o,i){var a=getValueByPointer(i,this.from);return applyOperation(i,{op:\"add\",path:this.path,value:_deepClone(a)}),{newDocument:i}},test:function(s,o,i){return{newDocument:i,test:_areEquals(s[o],this.value)}},_get:function(s,o,i){return this.value=s[o],{newDocument:i}}},Bo={add:function(s,o,i){return helpers_isInteger(o)?s.splice(o,0,this.value):s[o]=this.value,{newDocument:i,index:o}},remove:function(s,o,i){return{newDocument:i,removed:s.splice(o,1)[0]}},replace:function(s,o,i){var a=s[o];return s[o]=this.value,{newDocument:i,removed:a}},move:Fo.move,copy:Fo.copy,test:Fo.test,_get:Fo._get};function getValueByPointer(s,o){if(\"\"==o)return s;var i={op:\"_get\",path:o};return applyOperation(s,i),i.value}function applyOperation(s,o,i,a,u,_){if(void 0===i&&(i=!1),void 0===a&&(a=!0),void 0===u&&(u=!0),void 0===_&&(_=0),i&&(\"function\"==typeof i?i(o,0,s,o.path):validator(o,0)),\"\"===o.path){var w={newDocument:s};if(\"add\"===o.op)return w.newDocument=o.value,w;if(\"replace\"===o.op)return w.newDocument=o.value,w.removed=s,w;if(\"move\"===o.op||\"copy\"===o.op)return w.newDocument=getValueByPointer(s,o.from),\"move\"===o.op&&(w.removed=s),w;if(\"test\"===o.op){if(w.test=_areEquals(s,o.value),!1===w.test)throw new Do(\"Test operation failed\",\"TEST_OPERATION_FAILED\",_,o,s);return w.newDocument=s,w}if(\"remove\"===o.op)return w.removed=s,w.newDocument=null,w;if(\"_get\"===o.op)return o.value=s,w;if(i)throw new Do(\"Operation `op` property is not one of operations defined in RFC-6902\",\"OPERATION_OP_INVALID\",_,o,s);return w}a||(s=_deepClone(s));var x=(o.path||\"\").split(\"/\"),C=s,j=1,L=x.length,B=void 0,$=void 0,U=void 0;for(U=\"function\"==typeof i?i:validator;;){if(($=x[j])&&-1!=$.indexOf(\"~\")&&($=unescapePathComponent($)),u&&(\"__proto__\"==$||\"prototype\"==$&&j>0&&\"constructor\"==x[j-1]))throw new TypeError(\"JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README\");if(i&&void 0===B&&(void 0===C[$]?B=x.slice(0,j).join(\"/\"):j==L-1&&(B=o.path),void 0!==B&&U(o,0,s,B)),j++,Array.isArray(C)){if(\"-\"===$)$=C.length;else{if(i&&!helpers_isInteger($))throw new Do(\"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\",\"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\",_,o,s);helpers_isInteger($)&&($=~~$)}if(j>=L){if(i&&\"add\"===o.op&&$>C.length)throw new Do(\"The specified index MUST NOT be greater than the number of elements in the array\",\"OPERATION_VALUE_OUT_OF_BOUNDS\",_,o,s);if(!1===(w=Bo[o.op].call(o,C,$,s)).test)throw new Do(\"Test operation failed\",\"TEST_OPERATION_FAILED\",_,o,s);return w}}else if(j>=L){if(!1===(w=Fo[o.op].call(o,C,$,s)).test)throw new Do(\"Test operation failed\",\"TEST_OPERATION_FAILED\",_,o,s);return w}if(C=C[$],i&&j<L&&(!C||\"object\"!=typeof C))throw new Do(\"Cannot perform operation at the desired path\",\"OPERATION_PATH_UNRESOLVABLE\",_,o,s)}}function applyPatch(s,o,i,a,u){if(void 0===a&&(a=!0),void 0===u&&(u=!0),i&&!Array.isArray(o))throw new Do(\"Patch sequence must be an array\",\"SEQUENCE_NOT_AN_ARRAY\");a||(s=_deepClone(s));for(var _=new Array(o.length),w=0,x=o.length;w<x;w++)_[w]=applyOperation(s,o[w],i,!0,u,w),s=_[w].newDocument;return _.newDocument=s,_}function applyReducer(s,o,i){var a=applyOperation(s,o);if(!1===a.test)throw new Do(\"Test operation failed\",\"TEST_OPERATION_FAILED\",i,o,s);return a.newDocument}function validator(s,o,i,a){if(\"object\"!=typeof s||null===s||Array.isArray(s))throw new Do(\"Operation is not an object\",\"OPERATION_NOT_AN_OBJECT\",o,s,i);if(!Fo[s.op])throw new Do(\"Operation `op` property is not one of operations defined in RFC-6902\",\"OPERATION_OP_INVALID\",o,s,i);if(\"string\"!=typeof s.path)throw new Do(\"Operation `path` property is not a string\",\"OPERATION_PATH_INVALID\",o,s,i);if(0!==s.path.indexOf(\"/\")&&s.path.length>0)throw new Do('Operation `path` property must start with \"/\"',\"OPERATION_PATH_INVALID\",o,s,i);if((\"move\"===s.op||\"copy\"===s.op)&&\"string\"!=typeof s.from)throw new Do(\"Operation `from` property is not present (applicable in `move` and `copy` operations)\",\"OPERATION_FROM_REQUIRED\",o,s,i);if((\"add\"===s.op||\"replace\"===s.op||\"test\"===s.op)&&void 0===s.value)throw new Do(\"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\"OPERATION_VALUE_REQUIRED\",o,s,i);if((\"add\"===s.op||\"replace\"===s.op||\"test\"===s.op)&&hasUndefined(s.value))throw new Do(\"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\",o,s,i);if(i)if(\"add\"==s.op){var u=s.path.split(\"/\").length,_=a.split(\"/\").length;if(u!==_+1&&u!==_)throw new Do(\"Cannot perform an `add` operation at the desired path\",\"OPERATION_PATH_CANNOT_ADD\",o,s,i)}else if(\"replace\"===s.op||\"remove\"===s.op||\"_get\"===s.op){if(s.path!==a)throw new Do(\"Cannot perform the operation at a path that does not exist\",\"OPERATION_PATH_UNRESOLVABLE\",o,s,i)}else if(\"move\"===s.op||\"copy\"===s.op){var w=validate([{op:\"_get\",path:s.from,value:void 0}],i);if(w&&\"OPERATION_PATH_UNRESOLVABLE\"===w.name)throw new Do(\"Cannot perform the operation from a path that does not exist\",\"OPERATION_FROM_UNRESOLVABLE\",o,s,i)}}function validate(s,o,i){try{if(!Array.isArray(s))throw new Do(\"Patch sequence must be an array\",\"SEQUENCE_NOT_AN_ARRAY\");if(o)applyPatch(_deepClone(o),_deepClone(s),i||!0);else{i=i||validator;for(var a=0;a<s.length;a++)i(s[a],a,o,void 0)}}catch(s){if(s instanceof Do)return s;throw s}}function _areEquals(s,o){if(s===o)return!0;if(s&&o&&\"object\"==typeof s&&\"object\"==typeof o){var i,a,u,_=Array.isArray(s),w=Array.isArray(o);if(_&&w){if((a=s.length)!=o.length)return!1;for(i=a;0!=i--;)if(!_areEquals(s[i],o[i]))return!1;return!0}if(_!=w)return!1;var x=Object.keys(s);if((a=x.length)!==Object.keys(o).length)return!1;for(i=a;0!=i--;)if(!o.hasOwnProperty(x[i]))return!1;for(i=a;0!=i--;)if(!_areEquals(s[u=x[i]],o[u]))return!1;return!0}return s!=s&&o!=o}var $o=new WeakMap,qo=function qo(s){this.observers=new Map,this.obj=s},Uo=function Uo(s,o){this.callback=s,this.observer=o};function unobserve(s,o){o.unobserve()}function observe(s,o){var i,a=function getMirror(s){return $o.get(s)}(s);if(a){var u=function getObserverFromMirror(s,o){return s.observers.get(o)}(a,o);i=u&&u.observer}else a=new qo(s),$o.set(s,a);if(i)return i;if(i={},a.value=_deepClone(s),o){i.callback=o,i.next=null;var dirtyCheck=function(){generate(i)},fastCheck=function(){clearTimeout(i.next),i.next=setTimeout(dirtyCheck)};\"undefined\"!=typeof window&&(window.addEventListener(\"mouseup\",fastCheck),window.addEventListener(\"keyup\",fastCheck),window.addEventListener(\"mousedown\",fastCheck),window.addEventListener(\"keydown\",fastCheck),window.addEventListener(\"change\",fastCheck))}return i.patches=[],i.object=s,i.unobserve=function(){generate(i),clearTimeout(i.next),function removeObserverFromMirror(s,o){s.observers.delete(o.callback)}(a,i),\"undefined\"!=typeof window&&(window.removeEventListener(\"mouseup\",fastCheck),window.removeEventListener(\"keyup\",fastCheck),window.removeEventListener(\"mousedown\",fastCheck),window.removeEventListener(\"keydown\",fastCheck),window.removeEventListener(\"change\",fastCheck))},a.observers.set(o,new Uo(o,i)),i}function generate(s,o){void 0===o&&(o=!1);var i=$o.get(s.object);_generate(i.value,s.object,s.patches,\"\",o),s.patches.length&&applyPatch(i.value,s.patches);var a=s.patches;return a.length>0&&(s.patches=[],s.callback&&s.callback(a)),a}function _generate(s,o,i,a,u){if(o!==s){\"function\"==typeof o.toJSON&&(o=o.toJSON());for(var _=_objectKeys(o),w=_objectKeys(s),x=!1,C=w.length-1;C>=0;C--){var j=s[B=w[C]];if(!module_helpers_hasOwnProperty(o,B)||void 0===o[B]&&void 0!==j&&!1===Array.isArray(o))Array.isArray(s)===Array.isArray(o)?(u&&i.push({op:\"test\",path:a+\"/\"+escapePathComponent(B),value:_deepClone(j)}),i.push({op:\"remove\",path:a+\"/\"+escapePathComponent(B)}),x=!0):(u&&i.push({op:\"test\",path:a,value:s}),i.push({op:\"replace\",path:a,value:o}),!0);else{var L=o[B];\"object\"==typeof j&&null!=j&&\"object\"==typeof L&&null!=L&&Array.isArray(j)===Array.isArray(L)?_generate(j,L,i,a+\"/\"+escapePathComponent(B),u):j!==L&&(u&&i.push({op:\"test\",path:a+\"/\"+escapePathComponent(B),value:_deepClone(j)}),i.push({op:\"replace\",path:a+\"/\"+escapePathComponent(B),value:_deepClone(L)}))}}if(x||_.length!=w.length)for(C=0;C<_.length;C++){var B;module_helpers_hasOwnProperty(s,B=_[C])||void 0===o[B]||i.push({op:\"add\",path:a+\"/\"+escapePathComponent(B),value:_deepClone(o[B])})}}}function compare(s,o,i){void 0===i&&(i=!1);var a=[];return _generate(s,o,a,\"\",i),a}Object.assign({},Z,ee,{JsonPatchError:Ro,deepClone:_deepClone,escapePathComponent,unescapePathComponent});var Vo=__webpack_require__(14744),zo=__webpack_require__.n(Vo);const Wo={add:function add(s,o){return{op:\"add\",path:s,value:o}},replace,remove:function remove(s){return{op:\"remove\",path:s}},merge:function lib_merge(s,o){return{type:\"mutation\",op:\"merge\",path:s,value:o}},mergeDeep:function mergeDeep(s,o){return{type:\"mutation\",op:\"mergeDeep\",path:s,value:o}},context:function context(s,o){return{type:\"context\",path:s,value:o}},getIn:function lib_getIn(s,o){return o.reduce(((s,o)=>void 0!==o&&s?s[o]:s),s)},applyPatch:function lib_applyPatch(s,o,i){if(i=i||{},\"merge\"===(o={...o,path:o.path&&normalizeJSONPath(o.path)}).op){const i=getInByJsonPath(s,o.path);Object.assign(i,o.value),applyPatch(s,[replace(o.path,i)])}else if(\"mergeDeep\"===o.op){const i=getInByJsonPath(s,o.path),a=zo()(i,o.value,{customMerge:s=>{if(\"enum\"===s)return(s,o)=>Array.isArray(s)&&Array.isArray(o)?[...new Set([...s,...o])]:zo()(s,o)}});s=applyPatch(s,[replace(o.path,a)]).newDocument}else if(\"add\"===o.op&&\"\"===o.path&&lib_isObject(o.value)){applyPatch(s,Object.keys(o.value).reduce(((s,i)=>(s.push({op:\"add\",path:`/${normalizeJSONPath(i)}`,value:o.value[i]}),s)),[]))}else if(\"replace\"===o.op&&\"\"===o.path){let{value:a}=o;i.allowMetaPatches&&o.meta&&isAdditiveMutation(o)&&(Array.isArray(o.value)||lib_isObject(o.value))&&(a={...a,...o.meta}),s=a}else if(applyPatch(s,[o]),i.allowMetaPatches&&o.meta&&isAdditiveMutation(o)&&(Array.isArray(o.value)||lib_isObject(o.value))){const i={...getInByJsonPath(s,o.path),...o.meta};applyPatch(s,[replace(o.path,i)])}return s},parentPathMatch:function parentPathMatch(s,o){if(!Array.isArray(o))return!1;for(let i=0,a=o.length;i<a;i+=1)if(o[i]!==s[i])return!1;return!0},flatten,fullyNormalizeArray:function fullyNormalizeArray(s){return cleanArray(flatten(lib_normalizeArray(s)))},normalizeArray:lib_normalizeArray,isPromise:function isPromise(s){return lib_isObject(s)&&lib_isFunction(s.then)},forEachNew:function forEachNew(s,o){try{return forEachNewPatch(s,forEach,o)}catch(s){return s}},forEachNewPrimitive:function forEachNewPrimitive(s,o){try{return forEachNewPatch(s,forEachPrimitive,o)}catch(s){return s}},isJsonPatch,isContextPatch:function isContextPatch(s){return isPatch(s)&&\"context\"===s.type},isPatch,isMutation,isAdditiveMutation,isGenerator:function isGenerator(s){return\"[object GeneratorFunction]\"===Object.prototype.toString.call(s)},isFunction:lib_isFunction,isObject:lib_isObject,isError:function lib_isError(s){return s instanceof Error}};function normalizeJSONPath(s){return Array.isArray(s)?s.length<1?\"\":`/${s.map((s=>(s+\"\").replace(/~/g,\"~0\").replace(/\\//g,\"~1\"))).join(\"/\")}`:s}function replace(s,o,i){return{op:\"replace\",path:s,value:o,meta:i}}function forEachNewPatch(s,o,i){return cleanArray(flatten(s.filter(isAdditiveMutation).map((s=>o(s.value,i,s.path)))||[]))}function forEachPrimitive(s,o,i){return i=i||[],Array.isArray(s)?s.map(((s,a)=>forEachPrimitive(s,o,i.concat(a)))):lib_isObject(s)?Object.keys(s).map((a=>forEachPrimitive(s[a],o,i.concat(a)))):o(s,i[i.length-1],i)}function forEach(s,o,i){let a=[];if((i=i||[]).length>0){const u=o(s,i[i.length-1],i);u&&(a=a.concat(u))}if(Array.isArray(s)){const u=s.map(((s,a)=>forEach(s,o,i.concat(a))));u&&(a=a.concat(u))}else if(lib_isObject(s)){const u=Object.keys(s).map((a=>forEach(s[a],o,i.concat(a))));u&&(a=a.concat(u))}return a=flatten(a),a}function lib_normalizeArray(s){return Array.isArray(s)?s:[s]}function flatten(s){return[].concat(...s.map((s=>Array.isArray(s)?flatten(s):s)))}function cleanArray(s){return s.filter((s=>void 0!==s))}function lib_isObject(s){return s&&\"object\"==typeof s}function lib_isFunction(s){return s&&\"function\"==typeof s}function isJsonPatch(s){if(isPatch(s)){const{op:o}=s;return\"add\"===o||\"remove\"===o||\"replace\"===o}return!1}function isMutation(s){return isJsonPatch(s)||isPatch(s)&&\"mutation\"===s.type}function isAdditiveMutation(s){return isMutation(s)&&(\"add\"===s.op||\"replace\"===s.op||\"merge\"===s.op||\"mergeDeep\"===s.op)}function isPatch(s){return s&&\"object\"==typeof s}function getInByJsonPath(s,o){try{return getValueByPointer(s,o)}catch(s){return console.error(s),{}}}var Jo=__webpack_require__(48675);const Ho=class ApiDOMAggregateError extends Jo{constructor(s,o,i){if(super(s,o,i),this.name=this.constructor.name,\"string\"==typeof o&&(this.message=o),\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(o).stack,null!=i&&\"object\"==typeof i&&Object.hasOwn(i,\"cause\")&&!(\"cause\"in this)){const{cause:s}=i;this.cause=s,s instanceof Error&&\"stack\"in s&&(this.stack=`${this.stack}\\nCAUSE: ${s.stack}`)}}};class ApiDOMError extends Error{static[Symbol.hasInstance](s){return super[Symbol.hasInstance](s)||Function.prototype[Symbol.hasInstance].call(Ho,s)}constructor(s,o){if(super(s,o),this.name=this.constructor.name,\"string\"==typeof s&&(this.message=s),\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(s).stack,null!=o&&\"object\"==typeof o&&Object.hasOwn(o,\"cause\")&&!(\"cause\"in this)){const{cause:s}=o;this.cause=s,s instanceof Error&&\"stack\"in s&&(this.stack=`${this.stack}\\nCAUSE: ${s.stack}`)}}}const Ko=ApiDOMError;const Go=class ApiDOMStructuredError extends Ko{constructor(s,o){if(super(s,o),null!=o&&\"object\"==typeof o){const{cause:s,...i}=o;Object.assign(this,i)}}};var Yo=__webpack_require__(65606);function _isPlaceholder(s){return null!=s&&\"object\"==typeof s&&!0===s[\"@@functional/placeholder\"]}function _curry1(s){return function f1(o){return 0===arguments.length||_isPlaceholder(o)?f1:s.apply(this,arguments)}}function _curry2(s){return function f2(o,i){switch(arguments.length){case 0:return f2;case 1:return _isPlaceholder(o)?f2:_curry1((function(i){return s(o,i)}));default:return _isPlaceholder(o)&&_isPlaceholder(i)?f2:_isPlaceholder(o)?_curry1((function(o){return s(o,i)})):_isPlaceholder(i)?_curry1((function(i){return s(o,i)})):s(o,i)}}}function _curry3(s){return function f3(o,i,a){switch(arguments.length){case 0:return f3;case 1:return _isPlaceholder(o)?f3:_curry2((function(i,a){return s(o,i,a)}));case 2:return _isPlaceholder(o)&&_isPlaceholder(i)?f3:_isPlaceholder(o)?_curry2((function(o,a){return s(o,i,a)})):_isPlaceholder(i)?_curry2((function(i,a){return s(o,i,a)})):_curry1((function(a){return s(o,i,a)}));default:return _isPlaceholder(o)&&_isPlaceholder(i)&&_isPlaceholder(a)?f3:_isPlaceholder(o)&&_isPlaceholder(i)?_curry2((function(o,i){return s(o,i,a)})):_isPlaceholder(o)&&_isPlaceholder(a)?_curry2((function(o,a){return s(o,i,a)})):_isPlaceholder(i)&&_isPlaceholder(a)?_curry2((function(i,a){return s(o,i,a)})):_isPlaceholder(o)?_curry1((function(o){return s(o,i,a)})):_isPlaceholder(i)?_curry1((function(i){return s(o,i,a)})):_isPlaceholder(a)?_curry1((function(a){return s(o,i,a)})):s(o,i,a)}}}const Xo=Number.isInteger||function _isInteger(s){return(s|0)===s};function _isString(s){return\"[object String]\"===Object.prototype.toString.call(s)}function _nth(s,o){var i=s<0?o.length+s:s;return _isString(o)?o.charAt(i):o[i]}function _path(s,o){for(var i=o,a=0;a<s.length;a+=1){if(null==i)return;var u=s[a];i=Xo(u)?_nth(u,i):i[u]}return i}const Qo=_curry3((function pathSatisfies(s,o,i){return s(_path(o,i))}));function _cloneRegExp(s){return new RegExp(s.source,s.flags?s.flags:(s.global?\"g\":\"\")+(s.ignoreCase?\"i\":\"\")+(s.multiline?\"m\":\"\")+(s.sticky?\"y\":\"\")+(s.unicode?\"u\":\"\")+(s.dotAll?\"s\":\"\"))}function _arrayFromIterator(s){for(var o,i=[];!(o=s.next()).done;)i.push(o.value);return i}function _includesWith(s,o,i){for(var a=0,u=i.length;a<u;){if(s(o,i[a]))return!0;a+=1}return!1}function _has(s,o){return Object.prototype.hasOwnProperty.call(o,s)}const Zo=\"function\"==typeof Object.is?Object.is:function _objectIs(s,o){return s===o?0!==s||1/s==1/o:s!=s&&o!=o};var _i=Object.prototype.toString;const Ei=function(){return\"[object Arguments]\"===_i.call(arguments)?function _isArguments(s){return\"[object Arguments]\"===_i.call(s)}:function _isArguments(s){return _has(\"callee\",s)}}();var Oi=!{toString:null}.propertyIsEnumerable(\"toString\"),Pi=[\"constructor\",\"valueOf\",\"isPrototypeOf\",\"toString\",\"propertyIsEnumerable\",\"hasOwnProperty\",\"toLocaleString\"],Mi=function(){return arguments.propertyIsEnumerable(\"length\")}(),Ri=function contains(s,o){for(var i=0;i<s.length;){if(s[i]===o)return!0;i+=1}return!1},Wi=\"function\"!=typeof Object.keys||Mi?_curry1((function keys(s){if(Object(s)!==s)return[];var o,i,a=[],u=Mi&&Ei(s);for(o in s)!_has(o,s)||u&&\"length\"===o||(a[a.length]=o);if(Oi)for(i=Pi.length-1;i>=0;)_has(o=Pi[i],s)&&!Ri(a,o)&&(a[a.length]=o),i-=1;return a})):_curry1((function keys(s){return Object(s)!==s?[]:Object.keys(s)}));const ea=Wi;const ra=_curry1((function type(s){return null===s?\"Null\":void 0===s?\"Undefined\":Object.prototype.toString.call(s).slice(8,-1)}));function _uniqContentEquals(s,o,i,a){var u=_arrayFromIterator(s);function eq(s,o){return _equals(s,o,i.slice(),a.slice())}return!_includesWith((function(s,o){return!_includesWith(eq,o,s)}),_arrayFromIterator(o),u)}function _equals(s,o,i,a){if(Zo(s,o))return!0;var u=ra(s);if(u!==ra(o))return!1;if(\"function\"==typeof s[\"fantasy-land/equals\"]||\"function\"==typeof o[\"fantasy-land/equals\"])return\"function\"==typeof s[\"fantasy-land/equals\"]&&s[\"fantasy-land/equals\"](o)&&\"function\"==typeof o[\"fantasy-land/equals\"]&&o[\"fantasy-land/equals\"](s);if(\"function\"==typeof s.equals||\"function\"==typeof o.equals)return\"function\"==typeof s.equals&&s.equals(o)&&\"function\"==typeof o.equals&&o.equals(s);switch(u){case\"Arguments\":case\"Array\":case\"Object\":if(\"function\"==typeof s.constructor&&\"Promise\"===function _functionName(s){var o=String(s).match(/^function (\\w*)/);return null==o?\"\":o[1]}(s.constructor))return s===o;break;case\"Boolean\":case\"Number\":case\"String\":if(typeof s!=typeof o||!Zo(s.valueOf(),o.valueOf()))return!1;break;case\"Date\":if(!Zo(s.valueOf(),o.valueOf()))return!1;break;case\"Error\":return s.name===o.name&&s.message===o.message;case\"RegExp\":if(s.source!==o.source||s.global!==o.global||s.ignoreCase!==o.ignoreCase||s.multiline!==o.multiline||s.sticky!==o.sticky||s.unicode!==o.unicode)return!1}for(var _=i.length-1;_>=0;){if(i[_]===s)return a[_]===o;_-=1}switch(u){case\"Map\":return s.size===o.size&&_uniqContentEquals(s.entries(),o.entries(),i.concat([s]),a.concat([o]));case\"Set\":return s.size===o.size&&_uniqContentEquals(s.values(),o.values(),i.concat([s]),a.concat([o]));case\"Arguments\":case\"Array\":case\"Object\":case\"Boolean\":case\"Number\":case\"String\":case\"Date\":case\"Error\":case\"RegExp\":case\"Int8Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":case\"Int16Array\":case\"Uint16Array\":case\"Int32Array\":case\"Uint32Array\":case\"Float32Array\":case\"Float64Array\":case\"ArrayBuffer\":break;default:return!1}var w=ea(s);if(w.length!==ea(o).length)return!1;var x=i.concat([s]),C=a.concat([o]);for(_=w.length-1;_>=0;){var j=w[_];if(!_has(j,o)||!_equals(o[j],s[j],x,C))return!1;_-=1}return!0}const na=_curry2((function equals(s,o){return _equals(s,o,[],[])}));function _includes(s,o){return function _indexOf(s,o,i){var a,u;if(\"function\"==typeof s.indexOf)switch(typeof o){case\"number\":if(0===o){for(a=1/o;i<s.length;){if(0===(u=s[i])&&1/u===a)return i;i+=1}return-1}if(o!=o){for(;i<s.length;){if(\"number\"==typeof(u=s[i])&&u!=u)return i;i+=1}return-1}return s.indexOf(o,i);case\"string\":case\"boolean\":case\"function\":case\"undefined\":return s.indexOf(o,i);case\"object\":if(null===o)return s.indexOf(o,i)}for(;i<s.length;){if(na(s[i],o))return i;i+=1}return-1}(o,s,0)>=0}function _map(s,o){for(var i=0,a=o.length,u=Array(a);i<a;)u[i]=s(o[i]),i+=1;return u}function _quote(s){return'\"'+s.replace(/\\\\/g,\"\\\\\\\\\").replace(/[\\b]/g,\"\\\\b\").replace(/\\f/g,\"\\\\f\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/\\t/g,\"\\\\t\").replace(/\\v/g,\"\\\\v\").replace(/\\0/g,\"\\\\0\").replace(/\"/g,'\\\\\"')+'\"'}var ia=function pad(s){return(s<10?\"0\":\"\")+s};const aa=\"function\"==typeof Date.prototype.toISOString?function _toISOString(s){return s.toISOString()}:function _toISOString(s){return s.getUTCFullYear()+\"-\"+ia(s.getUTCMonth()+1)+\"-\"+ia(s.getUTCDate())+\"T\"+ia(s.getUTCHours())+\":\"+ia(s.getUTCMinutes())+\":\"+ia(s.getUTCSeconds())+\".\"+(s.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+\"Z\"};function _complement(s){return function(){return!s.apply(this,arguments)}}function _arrayReduce(s,o,i){for(var a=0,u=i.length;a<u;)o=s(o,i[a]),a+=1;return o}const ca=Array.isArray||function _isArray(s){return null!=s&&s.length>=0&&\"[object Array]\"===Object.prototype.toString.call(s)};function _dispatchable(s,o,i){return function(){if(0===arguments.length)return i();var a=arguments[arguments.length-1];if(!ca(a)){for(var u=0;u<s.length;){if(\"function\"==typeof a[s[u]])return a[s[u]].apply(a,Array.prototype.slice.call(arguments,0,-1));u+=1}if(function _isTransformer(s){return null!=s&&\"function\"==typeof s[\"@@transducer/step\"]}(a))return o.apply(null,Array.prototype.slice.call(arguments,0,-1))(a)}return i.apply(this,arguments)}}function _isObject(s){return\"[object Object]\"===Object.prototype.toString.call(s)}const _xfBase_init=function(){return this.xf[\"@@transducer/init\"]()},_xfBase_result=function(s){return this.xf[\"@@transducer/result\"](s)};var la=function(){function XFilter(s,o){this.xf=o,this.f=s}return XFilter.prototype[\"@@transducer/init\"]=_xfBase_init,XFilter.prototype[\"@@transducer/result\"]=_xfBase_result,XFilter.prototype[\"@@transducer/step\"]=function(s,o){return this.f(o)?this.xf[\"@@transducer/step\"](s,o):s},XFilter}();function _xfilter(s){return function(o){return new la(s,o)}}var ua=_curry2(_dispatchable([\"fantasy-land/filter\",\"filter\"],_xfilter,(function(s,o){return _isObject(o)?_arrayReduce((function(i,a){return s(o[a])&&(i[a]=o[a]),i}),{},ea(o)):function _filter(s,o){for(var i=0,a=o.length,u=[];i<a;)s(o[i])&&(u[u.length]=o[i]),i+=1;return u}(s,o)})));const da=ua;const ma=_curry2((function reject(s,o){return da(_complement(s),o)}));function _toString_toString(s,o){var i=function recur(i){var a=o.concat([s]);return _includes(i,a)?\"<Circular>\":_toString_toString(i,a)},mapPairs=function(s,o){return _map((function(o){return _quote(o)+\": \"+i(s[o])}),o.slice().sort())};switch(Object.prototype.toString.call(s)){case\"[object Arguments]\":return\"(function() { return arguments; }(\"+_map(i,s).join(\", \")+\"))\";case\"[object Array]\":return\"[\"+_map(i,s).concat(mapPairs(s,ma((function(s){return/^\\d+$/.test(s)}),ea(s)))).join(\", \")+\"]\";case\"[object Boolean]\":return\"object\"==typeof s?\"new Boolean(\"+i(s.valueOf())+\")\":s.toString();case\"[object Date]\":return\"new Date(\"+(isNaN(s.valueOf())?i(NaN):_quote(aa(s)))+\")\";case\"[object Map]\":return\"new Map(\"+i(Array.from(s))+\")\";case\"[object Null]\":return\"null\";case\"[object Number]\":return\"object\"==typeof s?\"new Number(\"+i(s.valueOf())+\")\":1/s==-1/0?\"-0\":s.toString(10);case\"[object Set]\":return\"new Set(\"+i(Array.from(s).sort())+\")\";case\"[object String]\":return\"object\"==typeof s?\"new String(\"+i(s.valueOf())+\")\":_quote(s);case\"[object Undefined]\":return\"undefined\";default:if(\"function\"==typeof s.toString){var a=s.toString();if(\"[object Object]\"!==a)return a}return\"{\"+mapPairs(s,ea(s)).join(\", \")+\"}\"}}const ga=_curry1((function toString(s){return _toString_toString(s,[])}));var ya=_curry2((function test(s,o){if(!function _isRegExp(s){return\"[object RegExp]\"===Object.prototype.toString.call(s)}(s))throw new TypeError(\"‘test’ requires a value of type RegExp as its first argument; received \"+ga(s));return _cloneRegExp(s).test(o)}));const va=ya;function _arity(s,o){switch(s){case 0:return function(){return o.apply(this,arguments)};case 1:return function(s){return o.apply(this,arguments)};case 2:return function(s,i){return o.apply(this,arguments)};case 3:return function(s,i,a){return o.apply(this,arguments)};case 4:return function(s,i,a,u){return o.apply(this,arguments)};case 5:return function(s,i,a,u,_){return o.apply(this,arguments)};case 6:return function(s,i,a,u,_,w){return o.apply(this,arguments)};case 7:return function(s,i,a,u,_,w,x){return o.apply(this,arguments)};case 8:return function(s,i,a,u,_,w,x,C){return o.apply(this,arguments)};case 9:return function(s,i,a,u,_,w,x,C,j){return o.apply(this,arguments)};case 10:return function(s,i,a,u,_,w,x,C,j,L){return o.apply(this,arguments)};default:throw new Error(\"First argument to _arity must be a non-negative integer no greater than ten\")}}function _pipe(s,o){return function(){return o.call(this,s.apply(this,arguments))}}const ba=_curry1((function isArrayLike(s){return!!ca(s)||!!s&&(\"object\"==typeof s&&(!_isString(s)&&(0===s.length||s.length>0&&(s.hasOwnProperty(0)&&s.hasOwnProperty(s.length-1)))))}));var _a=\"undefined\"!=typeof Symbol?Symbol.iterator:\"@@iterator\";function _createReduce(s,o,i){return function _reduce(a,u,_){if(ba(_))return s(a,u,_);if(null==_)return u;if(\"function\"==typeof _[\"fantasy-land/reduce\"])return o(a,u,_,\"fantasy-land/reduce\");if(null!=_[_a])return i(a,u,_[_a]());if(\"function\"==typeof _.next)return i(a,u,_);if(\"function\"==typeof _.reduce)return o(a,u,_,\"reduce\");throw new TypeError(\"reduce: list must be array or iterable\")}}function _xArrayReduce(s,o,i){for(var a=0,u=i.length;a<u;){if((o=s[\"@@transducer/step\"](o,i[a]))&&o[\"@@transducer/reduced\"]){o=o[\"@@transducer/value\"];break}a+=1}return s[\"@@transducer/result\"](o)}const Ea=_curry2((function bind(s,o){return _arity(s.length,(function(){return s.apply(o,arguments)}))}));function _xIterableReduce(s,o,i){for(var a=i.next();!a.done;){if((o=s[\"@@transducer/step\"](o,a.value))&&o[\"@@transducer/reduced\"]){o=o[\"@@transducer/value\"];break}a=i.next()}return s[\"@@transducer/result\"](o)}function _xMethodReduce(s,o,i,a){return s[\"@@transducer/result\"](i[a](Ea(s[\"@@transducer/step\"],s),o))}const wa=_createReduce(_xArrayReduce,_xMethodReduce,_xIterableReduce);var xa=function(){function XWrap(s){this.f=s}return XWrap.prototype[\"@@transducer/init\"]=function(){throw new Error(\"init not implemented on XWrap\")},XWrap.prototype[\"@@transducer/result\"]=function(s){return s},XWrap.prototype[\"@@transducer/step\"]=function(s,o){return this.f(s,o)},XWrap}();function _xwrap(s){return new xa(s)}var ka=_curry3((function(s,o,i){return wa(\"function\"==typeof s?_xwrap(s):s,o,i)}));const Aa=ka;function _checkForMethod(s,o){return function(){var i=arguments.length;if(0===i)return o();var a=arguments[i-1];return ca(a)||\"function\"!=typeof a[s]?o.apply(this,arguments):a[s].apply(a,Array.prototype.slice.call(arguments,0,i-1))}}var Ca=_curry3(_checkForMethod(\"slice\",(function slice(s,o,i){return Array.prototype.slice.call(i,s,o)})));const ja=Ca;const Ia=_curry1(_checkForMethod(\"tail\",ja(1,1/0)));function pipe(){if(0===arguments.length)throw new Error(\"pipe requires at least one argument\");return _arity(arguments[0].length,Aa(_pipe,arguments[0],Ia(arguments)))}const Na=_curry2((function defaultTo(s,o){return null==o||o!=o?s:o}));const Da=_curry2((function prop(s,o){if(null!=o)return Xo(s)?_nth(s,o):o[s]}));const La=_curry3((function propOr(s,o,i){return Na(s,Da(o,i))}));var Fa=_curry1((function(s){return _nth(-1,s)}));const Ba=Fa;function _curryN(s,o,i){return function(){for(var a=[],u=0,_=s,w=0,x=!1;w<o.length||u<arguments.length;){var C;w<o.length&&(!_isPlaceholder(o[w])||u>=arguments.length)?C=o[w]:(C=arguments[u],u+=1),a[w]=C,_isPlaceholder(C)?x=!0:_-=1,w+=1}return!x&&_<=0?i.apply(this,a):_arity(Math.max(0,_),_curryN(s,a,i))}}const $a=_curry2((function curryN(s,o){return 1===s?_curry1(o):_arity(s,_curryN(s,[],o))}));const za=_curry1((function curry(s){return $a(s.length,s)}));function _isFunction(s){var o=Object.prototype.toString.call(s);return\"[object Function]\"===o||\"[object AsyncFunction]\"===o||\"[object GeneratorFunction]\"===o||\"[object AsyncGeneratorFunction]\"===o}const Ja=_curry2((function invoker(s,o){return $a(s+1,(function(){var i=arguments[s];if(null!=i&&_isFunction(i[o]))return i[o].apply(i,Array.prototype.slice.call(arguments,0,s));throw new TypeError(ga(i)+' does not have a method named \"'+o+'\"')}))}));const Ha=Ja(1,\"split\");function dropLastWhile(s,o){for(var i=o.length-1;i>=0&&s(o[i]);)i-=1;return ja(0,i+1,o)}var Ga=function(){function XDropLastWhile(s,o){this.f=s,this.retained=[],this.xf=o}return XDropLastWhile.prototype[\"@@transducer/init\"]=_xfBase_init,XDropLastWhile.prototype[\"@@transducer/result\"]=function(s){return this.retained=null,this.xf[\"@@transducer/result\"](s)},XDropLastWhile.prototype[\"@@transducer/step\"]=function(s,o){return this.f(o)?this.retain(s,o):this.flush(s,o)},XDropLastWhile.prototype.flush=function(s,o){return s=wa(this.xf,s,this.retained),this.retained=[],this.xf[\"@@transducer/step\"](s,o)},XDropLastWhile.prototype.retain=function(s,o){return this.retained.push(o),s},XDropLastWhile}();function _xdropLastWhile(s){return function(o){return new Ga(s,o)}}const ec=_curry2(_dispatchable([],_xdropLastWhile,dropLastWhile));const rc=Ja(1,\"join\");const sc=_curry1((function flip(s){return $a(s.length,(function(o,i){var a=Array.prototype.slice.call(arguments,0);return a[0]=i,a[1]=o,s.apply(this,a)}))}))(_curry2(_includes));const oc=za((function(s,o){return pipe(Ha(\"\"),ec(sc(s)),rc(\"\"))(o)}));function _iterableReduce(s,o,i){for(var a=i.next();!a.done;)o=s(o,a.value),a=i.next();return o}function _methodReduce(s,o,i,a){return i[a](s,o)}const ic=_createReduce(_arrayReduce,_methodReduce,_iterableReduce);var ac=function(){function XMap(s,o){this.xf=o,this.f=s}return XMap.prototype[\"@@transducer/init\"]=_xfBase_init,XMap.prototype[\"@@transducer/result\"]=_xfBase_result,XMap.prototype[\"@@transducer/step\"]=function(s,o){return this.xf[\"@@transducer/step\"](s,this.f(o))},XMap}();const cc=_curry2(_dispatchable([\"fantasy-land/map\",\"map\"],(function _xmap(s){return function(o){return new ac(s,o)}}),(function map(s,o){switch(Object.prototype.toString.call(o)){case\"[object Function]\":return $a(o.length,(function(){return s.call(this,o.apply(this,arguments))}));case\"[object Object]\":return _arrayReduce((function(i,a){return i[a]=s(o[a]),i}),{},ea(o));default:return _map(s,o)}})));const lc=_curry2((function ap(s,o){return\"function\"==typeof o[\"fantasy-land/ap\"]?o[\"fantasy-land/ap\"](s):\"function\"==typeof s.ap?s.ap(o):\"function\"==typeof s?function(i){return s(i)(o(i))}:ic((function(s,i){return function _concat(s,o){var i;o=o||[];var a=(s=s||[]).length,u=o.length,_=[];for(i=0;i<a;)_[_.length]=s[i],i+=1;for(i=0;i<u;)_[_.length]=o[i],i+=1;return _}(s,cc(i,o))}),[],s)}));const pc=_curry2((function liftN(s,o){var i=$a(s,o);return $a(s,(function(){return _arrayReduce(lc,cc(i,arguments[0]),Array.prototype.slice.call(arguments,1))}))}));const hc=_curry1((function lift(s){return pc(s.length,s)}));const dc=hc(_curry1((function not(s){return!s})));const fc=_curry1((function always(s){return function(){return s}}));const gc=fc(void 0);const bc=na(gc());const _c=dc(bc);const Ec=_curry2((function max(s,o){if(s===o)return o;function safeMax(s,o){if(s>o!=o>s)return o>s?o:s}var i=safeMax(s,o);if(void 0!==i)return i;var a=safeMax(typeof s,typeof o);if(void 0!==a)return a===typeof s?s:o;var u=ga(s),_=safeMax(u,ga(o));return void 0!==_&&_===u?s:o}));var kc=_curry2((function pluck(s,o){return cc(Da(s),o)}));const Oc=kc;const jc=_curry1((function anyPass(s){return $a(Aa(Ec,0,Oc(\"length\",s)),(function(){for(var o=0,i=s.length;o<i;){if(s[o].apply(this,arguments))return!0;o+=1}return!1}))}));var identical=function(s,o){switch(arguments.length){case 0:return identical;case 1:return function unaryIdentical(o){return 0===arguments.length?unaryIdentical:Zo(s,o)};default:return Zo(s,o)}};const Pc=identical;const Ic=$a(1,pipe(ra,Pc(\"GeneratorFunction\")));const Nc=$a(1,pipe(ra,Pc(\"AsyncFunction\")));const Mc=jc([pipe(ra,Pc(\"Function\")),Ic,Nc]);var Rc=_curry3((function replace(s,o,i){return i.replace(s,o)}));const Lc=Rc;const Fc=$a(1,pipe(ra,Pc(\"RegExp\")));const qc=_curry3((function when(s,o,i){return s(i)?o(i):i}));const Jc=$a(1,pipe(ra,Pc(\"String\")));const Hc=qc(Jc,Lc(/[.*+?^${}()|[\\]\\\\-]/g,\"\\\\$&\"));var Kc=function checkValue(s,o){if(\"string\"!=typeof s&&!(s instanceof String))throw TypeError(\"`\".concat(o,\"` must be a string\"))};const Gc=function replaceAll(s,o,i){!function checkArguments(s,o,i){if(null==i||null==s||null==o)throw TypeError(\"Input values must not be `null` or `undefined`\")}(s,o,i),Kc(i,\"str\"),Kc(o,\"replaceValue\"),function checkSearchValue(s){if(!(\"string\"==typeof s||s instanceof String||s instanceof RegExp))throw TypeError(\"`searchValue` must be a string or an regexp\")}(s);var a=new RegExp(Fc(s)?s:Hc(s),\"g\");return Lc(a,o,i)};var Qc=$a(3,Gc),tl=Ja(2,\"replaceAll\");const sl=Mc(String.prototype.replaceAll)?tl:Qc,isWindows=()=>Qo(va(/^win/),[\"platform\"],Yo),getProtocol=s=>{try{const o=new URL(s);return oc(\":\",o.protocol)}catch{return}},ul=(pipe(getProtocol,_c),s=>{if(Yo.browser)return!1;const o=getProtocol(s);return bc(o)||\"file\"===o||/^[a-zA-Z]$/.test(o)}),isHttpUrl=s=>{const o=getProtocol(s);return\"http\"===o||\"https\"===o},toFileSystemPath=(s,o)=>{const i=[/%23/g,\"#\",/%24/g,\"$\",/%26/g,\"&\",/%2C/g,\",\",/%40/g,\"@\"],a=La(!1,\"keepFileProtocol\",o),u=La(isWindows,\"isWindows\",o);let _=decodeURI(s);for(let s=0;s<i.length;s+=2)_=_.replace(i[s],i[s+1]);let w=\"file://\"===_.substring(0,7).toLowerCase();return w&&(_=\"/\"===_[7]?_.substring(8):_.substring(7),u()&&\"/\"===_[1]&&(_=`${_[0]}:${_.substring(1)}`),a?_=`file:///${_}`:(w=!1,_=u()?_:`/${_}`)),u()&&!w&&(_=sl(\"/\",\"\\\\\",_),\":\\\\\"===_.substring(1,3)&&(_=_[0].toUpperCase()+_.substring(1))),_},getHash=s=>{const o=s.indexOf(\"#\");return-1!==o?s.substring(o):\"#\"},stripHash=s=>{const o=s.indexOf(\"#\");let i=s;return o>=0&&(i=s.substring(0,o)),i},url_cwd=()=>{if(Yo.browser)return stripHash(globalThis.location.href);const s=Yo.cwd(),o=Ba(s);return[\"/\",\"\\\\\"].includes(o)?s:s+(isWindows()?\"\\\\\":\"/\")},resolve=(s,o)=>{const i=new URL(o,new URL(s,\"resolve://\"));if(\"resolve:\"===i.protocol){const{pathname:s,search:o,hash:a}=i;return s+o+a}return i.toString()},sanitize=s=>{if(ul(s))return(s=>{const o=[/\\?/g,\"%3F\",/#/g,\"%23\"];let i=s;isWindows()&&(i=i.replace(/\\\\/g,\"/\")),i=encodeURI(i);for(let s=0;s<o.length;s+=2)i=i.replace(o[s],o[s+1]);return i})(toFileSystemPath(s));try{return new URL(s).toString()}catch{return encodeURI(decodeURI(s)).replace(/%5B/g,\"[\").replace(/%5D/g,\"]\")}},unsanitize=s=>ul(s)?toFileSystemPath(s):decodeURI(s),{fetch:yl,Response:vl,Headers:_l,Request:Sl,FormData:El,File:wl,Blob:xl}=globalThis;function _array_like_to_array(s,o){(null==o||o>s.length)&&(o=s.length);for(var i=0,a=new Array(o);i<o;i++)a[i]=s[i];return a}function legacy_defineProperties(s,o){for(var i=0;i<o.length;i++){var a=o[i];a.enumerable=a.enumerable||!1,a.configurable=!0,\"value\"in a&&(a.writable=!0),Object.defineProperty(s,a.key,a)}}function _instanceof(s,o){return null!=o&&\"undefined\"!=typeof Symbol&&o[Symbol.hasInstance]?!!o[Symbol.hasInstance](s):s instanceof o}function _sliced_to_array(s,o){return function _array_with_holes(s){if(Array.isArray(s))return s}(s)||function _iterable_to_array_limit(s,o){var i=null==s?null:\"undefined\"!=typeof Symbol&&s[Symbol.iterator]||s[\"@@iterator\"];if(null!=i){var a,u,_=[],w=!0,x=!1;try{for(i=i.call(s);!(w=(a=i.next()).done)&&(_.push(a.value),!o||_.length!==o);w=!0);}catch(s){x=!0,u=s}finally{try{w||null==i.return||i.return()}finally{if(x)throw u}}return _}}(s,o)||function _unsupported_iterable_to_array(s,o){if(!s)return;if(\"string\"==typeof s)return _array_like_to_array(s,o);var i=Object.prototype.toString.call(s).slice(8,-1);\"Object\"===i&&s.constructor&&(i=s.constructor.name);if(\"Map\"===i||\"Set\"===i)return Array.from(i);if(\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return _array_like_to_array(s,o)}(s,o)||function _non_iterable_rest(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _type_of(s){return s&&\"undefined\"!=typeof Symbol&&s.constructor===Symbol?\"symbol\":typeof s}void 0===globalThis.fetch&&(globalThis.fetch=yl),void 0===globalThis.Headers&&(globalThis.Headers=_l),void 0===globalThis.Request&&(globalThis.Request=Sl),void 0===globalThis.Response&&(globalThis.Response=vl),void 0===globalThis.FormData&&(globalThis.FormData=El),void 0===globalThis.File&&(globalThis.File=wl),void 0===globalThis.Blob&&(globalThis.Blob=xl);var __typeError=function(s){throw TypeError(s)},__accessCheck=function(s,o,i){return o.has(s)||__typeError(\"Cannot \"+i)},__privateGet=function(s,o,i){return __accessCheck(s,o,\"read from private field\"),i?i.call(s):o.get(s)},__privateAdd=function(s,o,i){return o.has(s)?__typeError(\"Cannot add the same private member more than once\"):_instanceof(o,WeakSet)?o.add(s):o.set(s,i)},__privateSet=function(s,o,i,a){return __accessCheck(s,o,\"write to private field\"),a?a.call(s,i):o.set(s,i),i},to_string=function(s){return Object.prototype.toString.call(s)},is_typed_array=function(s){return ArrayBuffer.isView(s)&&!_instanceof(s,DataView)},kl=Array.isArray,Ol=Object.getOwnPropertyDescriptor,Al=Object.prototype.propertyIsEnumerable,Cl=Object.getOwnPropertySymbols,Pl=Object.prototype.hasOwnProperty;function own_enumerable_keys(s){for(var o=Object.keys(s),i=Cl(s),a=0;a<i.length;a++)Al.call(s,i[a])&&o.push(i[a]);return o}function is_writable(s,o){var i;return!(null===(i=Ol(s,o))||void 0===i?void 0:i.writable)}function legacy_copy(s,o){if(\"object\"===(void 0===s?\"undefined\":_type_of(s))&&null!==s){var i;if(kl(s))i=[];else if(\"[object Date]\"===to_string(s))i=new Date(s.getTime?s.getTime():s);else if(function(s){return\"[object RegExp]\"===to_string(s)}(s))i=new RegExp(s);else if(function(s){return\"[object Error]\"===to_string(s)}(s))i={message:s.message};else if(function(s){return\"[object Boolean]\"===to_string(s)}(s)||function(s){return\"[object Number]\"===to_string(s)}(s)||function(s){return\"[object String]\"===to_string(s)}(s))i=Object(s);else{if(is_typed_array(s))return s.slice();i=Object.create(Object.getPrototypeOf(s))}var a=o.includeSymbols?own_enumerable_keys:Object.keys,u=!0,_=!1,w=void 0;try{for(var x,C=a(s)[Symbol.iterator]();!(u=(x=C.next()).done);u=!0){var j=x.value;i[j]=s[j]}}catch(s){_=!0,w=s}finally{try{u||null==C.return||C.return()}finally{if(_)throw w}}return i}return s}var Il,Tl,Nl={includeSymbols:!1,immutable:!1};function walk(s,o){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Nl,a=[],u=[],_=!0,w=i.includeSymbols?own_enumerable_keys:Object.keys,x=!!i.immutable;return function walker(s){var C=x?legacy_copy(s,i):s,j={},L=!0,B={node:C,node_:s,path:[].concat(a),parent:u[u.length-1],parents:u,key:a[a.length-1],isRoot:0===a.length,level:a.length,circular:void 0,isLeaf:!1,notLeaf:!0,notRoot:!0,isFirst:!1,isLast:!1,update:function update(s){var o=arguments.length>1&&void 0!==arguments[1]&&arguments[1];B.isRoot||(B.parent.node[B.key]=s),B.node=s,o&&(L=!1)},delete:function _delete(s){delete B.parent.node[B.key],s&&(L=!1)},remove:function remove(s){kl(B.parent.node)?B.parent.node.splice(B.key,1):delete B.parent.node[B.key],s&&(L=!1)},keys:null,before:function before(s){j.before=s},after:function after(s){j.after=s},pre:function pre(s){j.pre=s},post:function post(s){j.post=s},stop:function stop(){_=!1},block:function block(){L=!1}};if(!_)return B;function update_state(){if(\"object\"===_type_of(B.node)&&null!==B.node){B.keys&&B.node_===B.node||(B.keys=w(B.node)),B.isLeaf=0===B.keys.length;for(var o=0;o<u.length;o++)if(u[o].node_===s){B.circular=u[o];break}}else B.isLeaf=!0,B.keys=null;B.notLeaf=!B.isLeaf,B.notRoot=!B.isRoot}update_state();var $=o.call(B,B.node);if(void 0!==$&&B.update&&B.update($),j.before&&j.before.call(B,B.node),!L)return B;if(\"object\"===_type_of(B.node)&&null!==B.node&&!B.circular){var U;u.push(B),update_state();var V=!0,z=!1,Y=void 0;try{for(var Z,ee=Object.entries(null!==(U=B.keys)&&void 0!==U?U:[])[Symbol.iterator]();!(V=(Z=ee.next()).done);V=!0){var ie,ae=_sliced_to_array(Z.value,2),ce=ae[0],le=ae[1];a.push(le),j.pre&&j.pre.call(B,B.node[le],le);var pe=walker(B.node[le]);x&&Pl.call(B.node,le)&&!is_writable(B.node,le)&&(B.node[le]=pe.node),pe.isLast=!!(null===(ie=B.keys)||void 0===ie?void 0:ie.length)&&+ce==B.keys.length-1,pe.isFirst=0==+ce,j.post&&j.post.call(B,pe),a.pop()}}catch(s){z=!0,Y=s}finally{try{V||null==ee.return||ee.return()}finally{if(z)throw Y}}u.pop()}return j.after&&j.after.call(B,B.node),B}(s).node}var Ml=function(){function Traverse(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Nl;!function _class_call_check(s,o){if(!(s instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this,Traverse),__privateAdd(this,Il),__privateAdd(this,Tl),__privateSet(this,Il,s),__privateSet(this,Tl,o)}return function _create_class(s,o,i){return o&&legacy_defineProperties(s.prototype,o),i&&legacy_defineProperties(s,i),s}(Traverse,[{key:\"get\",value:function get(s){for(var o=__privateGet(this,Il),i=0;o&&i<s.length;i++){var a=s[i];if(!Pl.call(o,a)||!__privateGet(this,Tl).includeSymbols&&\"symbol\"===(void 0===a?\"undefined\":_type_of(a)))return;o=o[a]}return o}},{key:\"has\",value:function has(s){for(var o=__privateGet(this,Il),i=0;o&&i<s.length;i++){var a=s[i];if(!Pl.call(o,a)||!__privateGet(this,Tl).includeSymbols&&\"symbol\"===(void 0===a?\"undefined\":_type_of(a)))return!1;o=o[a]}return!0}},{key:\"set\",value:function set(s,o){var i=__privateGet(this,Il),a=0;for(a=0;a<s.length-1;a++){var u=s[a];Pl.call(i,u)||(i[u]={}),i=i[u]}return i[s[a]]=o,o}},{key:\"map\",value:function map(s){return walk(__privateGet(this,Il),s,{immutable:!0,includeSymbols:!!__privateGet(this,Tl).includeSymbols})}},{key:\"forEach\",value:function forEach(s){return __privateSet(this,Il,walk(__privateGet(this,Il),s,__privateGet(this,Tl))),__privateGet(this,Il)}},{key:\"reduce\",value:function reduce(s,o){var i=1===arguments.length,a=i?__privateGet(this,Il):o;return this.forEach((function(o){this.isRoot&&i||(a=s.call(this,a,o))})),a}},{key:\"paths\",value:function paths(){var s=[];return this.forEach((function(){s.push(this.path)})),s}},{key:\"nodes\",value:function nodes(){var s=[];return this.forEach((function(){s.push(this.node)})),s}},{key:\"clone\",value:function clone(){var s=[],o=[],i=__privateGet(this,Tl);return is_typed_array(__privateGet(this,Il))?__privateGet(this,Il).slice():function clone(a){for(var u=0;u<s.length;u++)if(s[u]===a)return o[u];if(\"object\"===(void 0===a?\"undefined\":_type_of(a))&&null!==a){var _=legacy_copy(a,i);s.push(a),o.push(_);var w=i.includeSymbols?own_enumerable_keys:Object.keys,x=!0,C=!1,j=void 0;try{for(var L,B=w(a)[Symbol.iterator]();!(x=(L=B.next()).done);x=!0){var $=L.value;_[$]=clone(a[$])}}catch(s){C=!0,j=s}finally{try{x||null==B.return||B.return()}finally{if(C)throw j}}return s.pop(),o.pop(),_}return a}(__privateGet(this,Il))}}]),Traverse}();Il=new WeakMap,Tl=new WeakMap;var traverse=function(s,o){return new Ml(s,o)};traverse.get=function(s,o,i){return new Ml(s,i).get(o)},traverse.set=function(s,o,i,a){return new Ml(s,a).set(o,i)},traverse.has=function(s,o,i){return new Ml(s,i).has(o)},traverse.map=function(s,o,i){return new Ml(s,i).map(o)},traverse.forEach=function(s,o,i){return new Ml(s,i).forEach(o)},traverse.reduce=function(s,o,i,a){return new Ml(s,a).reduce(o,i)},traverse.paths=function(s,o){return new Ml(s,o).paths()},traverse.nodes=function(s,o){return new Ml(s,o).nodes()},traverse.clone=function(s,o){return new Ml(s,o).clone()};var Rl=traverse;const Dl=\"application/json, application/yaml\",Ll=\"https://swagger.io\",Fl=Object.freeze({url:\"/\"}),Bl=3e3,$l=[\"properties\"],Ul=[\"properties\"],Vl=[\"definitions\",\"parameters\",\"responses\",\"securityDefinitions\",\"components/schemas\",\"components/responses\",\"components/parameters\",\"components/securitySchemes\"],zl=[\"schema/example\",\"items/example\"];function isFreelyNamed(s){const o=s[s.length-1],i=s[s.length-2],a=s.join(\"/\");return $l.indexOf(o)>-1&&-1===Ul.indexOf(i)||Vl.indexOf(a)>-1||zl.some((s=>a.indexOf(s)>-1))}function absolutifyPointer(s,o){const[i,a]=s.split(\"#\"),u=null!=o?o:\"\",_=null!=i?i:\"\";let w;if(isHttpUrl(u))w=resolve(u,_);else{const s=resolve(Ll,u),o=resolve(s,_).replace(Ll,\"\");w=_.startsWith(\"/\")?o:o.substring(1)}return a?`${w}#${a}`:w}const Wl=/^([a-z]+:\\/\\/|\\/\\/)/i;class JSONRefError extends Go{}const Jl={},Hl=new WeakMap,Kl=[s=>\"paths\"===s[0]&&\"responses\"===s[3]&&\"examples\"===s[5],s=>\"paths\"===s[0]&&\"responses\"===s[3]&&\"content\"===s[5]&&\"example\"===s[7],s=>\"paths\"===s[0]&&\"responses\"===s[3]&&\"content\"===s[5]&&\"examples\"===s[7]&&\"value\"===s[9],s=>\"paths\"===s[0]&&\"requestBody\"===s[3]&&\"content\"===s[4]&&\"example\"===s[6],s=>\"paths\"===s[0]&&\"requestBody\"===s[3]&&\"content\"===s[4]&&\"examples\"===s[6]&&\"value\"===s[8],s=>\"paths\"===s[0]&&\"parameters\"===s[2]&&\"example\"===s[4],s=>\"paths\"===s[0]&&\"parameters\"===s[3]&&\"example\"===s[5],s=>\"paths\"===s[0]&&\"parameters\"===s[2]&&\"examples\"===s[4]&&\"value\"===s[6],s=>\"paths\"===s[0]&&\"parameters\"===s[3]&&\"examples\"===s[5]&&\"value\"===s[7],s=>\"paths\"===s[0]&&\"parameters\"===s[2]&&\"content\"===s[4]&&\"example\"===s[6],s=>\"paths\"===s[0]&&\"parameters\"===s[2]&&\"content\"===s[4]&&\"examples\"===s[6]&&\"value\"===s[8],s=>\"paths\"===s[0]&&\"parameters\"===s[3]&&\"content\"===s[4]&&\"example\"===s[7],s=>\"paths\"===s[0]&&\"parameters\"===s[3]&&\"content\"===s[5]&&\"examples\"===s[7]&&\"value\"===s[9]],Gl={key:\"$ref\",plugin:(s,o,i,a)=>{const u=a.getInstance(),_=i.slice(0,-1);if(isFreelyNamed(_)||(s=>Kl.some((o=>o(s))))(_))return;const{baseDoc:w}=a.getContext(i);if(\"string\"!=typeof s)return new JSONRefError(\"$ref: must be a string (JSON-Ref)\",{$ref:s,baseDoc:w,fullPath:i});const x=refs_split(s),C=x[0],j=x[1]||\"\";let L,B,$;try{L=w||C?absoluteify(C,w):null}catch(o){return wrapError(o,{pointer:j,$ref:s,basePath:L,fullPath:i})}if(function pointerAlreadyInPath(s,o,i,a){let u=Hl.get(a);u||(u={},Hl.set(a,u));const _=function arrayToJsonPointer(s){if(0===s.length)return\"\";return`/${s.map(escapeJsonPointerToken).join(\"/\")}`}(i),w=`${o||\"<specmap-base>\"}#${s}`,x=_.replace(/allOf\\/\\d+\\/?/g,\"\"),C=a.contextTree.get([]).baseDoc;if(o===C&&pointerIsAParent(x,s))return!0;let j=\"\";const L=i.some((s=>(j=`${j}/${escapeJsonPointerToken(s)}`,u[j]&&u[j].some((s=>pointerIsAParent(s,w)||pointerIsAParent(w,s))))));if(L)return!0;return void(u[x]=(u[x]||[]).concat(w))}(j,L,_,a)&&!u.useCircularStructures){const o=absolutifyPointer(s,L);return s===o?null:Wo.replace(i,o)}if(null==L?($=jsonPointerToArray(j),B=a.get($),void 0===B&&(B=new JSONRefError(`Could not resolve reference: ${s}`,{pointer:j,$ref:s,baseDoc:w,fullPath:i}))):(B=extractFromDoc(L,j),B=null!=B.__value?B.__value:B.catch((o=>{throw wrapError(o,{pointer:j,$ref:s,baseDoc:w,fullPath:i})}))),B instanceof Error)return[Wo.remove(i),B];const U=absolutifyPointer(s,L),V=Wo.replace(_,B,{$$ref:U});if(L&&L!==w)return[V,Wo.context(_,{baseDoc:L})];try{if(!function patchValueAlreadyInPath(s,o){const i=[s];return o.path.reduce(((s,o)=>(i.push(s[o]),s[o])),s),pointToAncestor(o.value);function pointToAncestor(s){return Wo.isObject(s)&&(i.indexOf(s)>=0||Object.keys(s).some((o=>pointToAncestor(s[o]))))}}(a.state,V)||u.useCircularStructures)return V}catch(s){return null}}},Yl=Object.assign(Gl,{docCache:Jl,absoluteify,clearCache:function clearCache(s){void 0!==s?delete Jl[s]:Object.keys(Jl).forEach((s=>{delete Jl[s]}))},JSONRefError,wrapError,getDoc,split:refs_split,extractFromDoc,fetchJSON:function fetchJSON(s){return fetch(s,{headers:{Accept:Dl},loadSpec:!0}).then((s=>s.text())).then((s=>fn.load(s)))},extract,jsonPointerToArray,unescapeJsonPointerToken}),Xl=Yl;function absoluteify(s,o){if(!Wl.test(s)){if(!o)throw new JSONRefError(`Tried to resolve a relative URL, without having a basePath. path: '${s}' basePath: '${o}'`);return resolve(o,s)}return s}function wrapError(s,o){let i;return i=s&&s.response&&s.response.body?`${s.response.body.code} ${s.response.body.message}`:s.message,new JSONRefError(`Could not resolve reference: ${i}`,{...o,cause:s})}function refs_split(s){return(s+\"\").split(\"#\")}function extractFromDoc(s,o){const i=Jl[s];if(i&&!Wo.isPromise(i))try{const s=extract(o,i);return Object.assign(Promise.resolve(s),{__value:s})}catch(s){return Promise.reject(s)}return getDoc(s).then((s=>extract(o,s)))}function getDoc(s){const o=Jl[s];return o?Wo.isPromise(o)?o:Promise.resolve(o):(Jl[s]=Yl.fetchJSON(s).then((o=>(Jl[s]=o,o))),Jl[s])}function extract(s,o){const i=jsonPointerToArray(s);if(i.length<1)return o;const a=Wo.getIn(o,i);if(void 0===a)throw new JSONRefError(`Could not resolve pointer: ${s} does not exist in document`,{pointer:s});return a}function jsonPointerToArray(s){if(\"string\"!=typeof s)throw new TypeError(\"Expected a string, got a \"+typeof s);return\"/\"===s[0]&&(s=s.substr(1)),\"\"===s?[]:s.split(\"/\").map(unescapeJsonPointerToken)}function unescapeJsonPointerToken(s){if(\"string\"!=typeof s)return s;return new URLSearchParams(`=${s.replace(/~1/g,\"/\").replace(/~0/g,\"~\")}`).get(\"\")}function escapeJsonPointerToken(s){return new URLSearchParams([[\"\",s.replace(/~/g,\"~0\").replace(/\\//g,\"~1\")]]).toString().slice(1)}const pointerBoundaryChar=s=>!s||\"/\"===s||\"#\"===s;function pointerIsAParent(s,o){if(pointerBoundaryChar(o))return!0;const i=s.charAt(o.length),a=o.slice(-1);return 0===s.indexOf(o)&&(!i||\"/\"===i||\"#\"===i)&&\"#\"!==a}const Ql={key:\"allOf\",plugin:(s,o,i,a,u)=>{if(u.meta&&u.meta.$$ref)return;const _=i.slice(0,-1);if(isFreelyNamed(_))return;if(!Array.isArray(s)){const s=new TypeError(\"allOf must be an array\");return s.fullPath=i,s}let w=!1,x=u.value;if(_.forEach((s=>{x&&(x=x[s])})),x={...x},0===Object.keys(x).length)return;delete x.allOf;const C=[];return C.push(a.replace(_,{})),s.forEach(((s,o)=>{if(!a.isObject(s)){if(w)return null;w=!0;const s=new TypeError(\"Elements in allOf must be objects\");return s.fullPath=i,C.push(s)}C.push(a.mergeDeep(_,s));const u=function generateAbsoluteRefPatches(s,o,{specmap:i,getBaseUrlForNodePath:a=s=>i.getContext([...o,...s]).baseDoc,targetKeys:u=[\"$ref\",\"$$ref\"]}={}){const _=[];return Rl(s).forEach((function callback(){if(u.includes(this.key)&&\"string\"==typeof this.node){const s=this.path,u=o.concat(this.path),w=absolutifyPointer(this.node,a(s));_.push(i.replace(u,w))}})),_}(s,i.slice(0,-1),{getBaseUrlForNodePath:s=>a.getContext([...i,o,...s]).baseDoc,specmap:a});C.push(...u)})),x.example&&C.push(a.remove([].concat(_,\"example\"))),C.push(a.mergeDeep(_,x)),x.$$ref||C.push(a.remove([].concat(_,\"$$ref\"))),C}},Zl={key:\"parameters\",plugin:(s,o,i,a)=>{if(Array.isArray(s)&&s.length){const o=Object.assign([],s),u=i.slice(0,-1),_={...Wo.getIn(a.spec,u)};for(let u=0;u<s.length;u+=1){const w=s[u];try{o[u].default=a.parameterMacro(_,w)}catch(s){const o=new Error(s);return o.fullPath=i,o}}return Wo.replace(i,o)}return Wo.replace(i,s)}},eu={key:\"properties\",plugin:(s,o,i,a)=>{const u={...s};for(const o in s)try{u[o].default=a.modelPropertyMacro(u[o])}catch(s){const o=new Error(s);return o.fullPath=i,o}return Wo.replace(i,u)}};class ContextTree{constructor(s){this.root=context_tree_createNode(s||{})}set(s,o){const i=this.getParent(s,!0);if(!i)return void context_tree_updateNode(this.root,o,null);const a=s[s.length-1],{children:u}=i;u[a]?context_tree_updateNode(u[a],o,i):u[a]=context_tree_createNode(o,i)}get(s){if((s=s||[]).length<1)return this.root.value;let o,i,a=this.root;for(let u=0;u<s.length&&(i=s[u],o=a.children,o[i]);u+=1)a=o[i];return a&&a.protoValue}getParent(s,o){return!s||s.length<1?null:s.length<2?this.root:s.slice(0,-1).reduce(((s,i)=>{if(!s)return s;const{children:a}=s;return!a[i]&&o&&(a[i]=context_tree_createNode(null,s)),a[i]}),this.root)}}function context_tree_createNode(s,o){return context_tree_updateNode({children:{}},s,o)}function context_tree_updateNode(s,o,i){return s.value=o||{},s.protoValue=i?{...i.protoValue,...s.value}:s.value,Object.keys(s.children).forEach((o=>{const i=s.children[o];s.children[o]=context_tree_updateNode(i,i.value,s)})),s}const specmap_noop=()=>{};class SpecMap{static getPluginName(s){return s.pluginName}static getPatchesOfType(s,o){return s.filter(o)}constructor(s){Object.assign(this,{spec:\"\",debugLevel:\"info\",plugins:[],pluginHistory:{},errors:[],mutations:[],promisedPatches:[],state:{},patches:[],context:{},contextTree:new ContextTree,showDebug:!1,allPatches:[],pluginProp:\"specMap\",libMethods:Object.assign(Object.create(this),Wo,{getInstance:()=>this}),allowMetaPatches:!1},s),this.get=this._get.bind(this),this.getContext=this._getContext.bind(this),this.hasRun=this._hasRun.bind(this),this.wrappedPlugins=this.plugins.map(this.wrapPlugin.bind(this)).filter(Wo.isFunction),this.patches.push(Wo.add([],this.spec)),this.patches.push(Wo.context([],this.context)),this.updatePatches(this.patches)}debug(s,...o){this.debugLevel===s&&console.log(...o)}verbose(s,...o){\"verbose\"===this.debugLevel&&console.log(`[${s}]   `,...o)}wrapPlugin(s,o){const{pathDiscriminator:i}=this;let a,u=null;return s[this.pluginProp]?(u=s,a=s[this.pluginProp]):Wo.isFunction(s)?a=s:Wo.isObject(s)&&(a=function createKeyBasedPlugin(s){const isSubPath=(s,o)=>!Array.isArray(s)||s.every(((s,i)=>s===o[i]));return function*generator(o,a){const u={};for(const[s,i]of o.filter(Wo.isAdditiveMutation).entries()){if(!(s<Bl))return;yield*traverse(i.value,i.path,i)}function*traverse(o,_,w){if(Wo.isObject(o)){const x=_.length-1,C=_[x],j=_.indexOf(\"properties\"),L=\"properties\"===C&&x===j,B=a.allowMetaPatches&&u[o.$$ref];for(const x of Object.keys(o)){const C=o[x],j=_.concat(x),$=Wo.isObject(C),U=o.$$ref;if(B||$&&(a.allowMetaPatches&&U&&isSubPath(i,j)&&(u[U]=!0),yield*traverse(C,j,w)),!L&&x===s.key){const o=isSubPath(i,_);i&&!o||(yield s.plugin(C,x,j,a,w))}}}else s.key===_[_.length-1]&&(yield s.plugin(o,s.key,_,a))}}}(s)),Object.assign(a.bind(u),{pluginName:s.name||o,isGenerator:Wo.isGenerator(a)})}nextPlugin(){return this.wrappedPlugins.find((s=>this.getMutationsForPlugin(s).length>0))}nextPromisedPatch(){if(this.promisedPatches.length>0)return Promise.race(this.promisedPatches.map((s=>s.value)))}getPluginHistory(s){const o=this.constructor.getPluginName(s);return this.pluginHistory[o]||[]}getPluginRunCount(s){return this.getPluginHistory(s).length}getPluginHistoryTip(s){const o=this.getPluginHistory(s);return o&&o[o.length-1]||{}}getPluginMutationIndex(s){const o=this.getPluginHistoryTip(s).mutationIndex;return\"number\"!=typeof o?-1:o}updatePluginHistory(s,o){const i=this.constructor.getPluginName(s);this.pluginHistory[i]=this.pluginHistory[i]||[],this.pluginHistory[i].push(o)}updatePatches(s){Wo.normalizeArray(s).forEach((s=>{if(s instanceof Error)this.errors.push(s);else try{if(!Wo.isObject(s))return void this.debug(\"updatePatches\",\"Got a non-object patch\",s);if(this.showDebug&&this.allPatches.push(s),Wo.isPromise(s.value))return this.promisedPatches.push(s),void this.promisedPatchThen(s);if(Wo.isContextPatch(s))return void this.setContext(s.path,s.value);Wo.isMutation(s)&&this.updateMutations(s)}catch(s){console.error(s),this.errors.push(s)}}))}updateMutations(s){\"object\"==typeof s.value&&!Array.isArray(s.value)&&this.allowMetaPatches&&(s.value={...s.value});const o=Wo.applyPatch(this.state,s,{allowMetaPatches:this.allowMetaPatches});o&&(this.mutations.push(s),this.state=o)}removePromisedPatch(s){const o=this.promisedPatches.indexOf(s);o<0?this.debug(\"Tried to remove a promisedPatch that isn't there!\"):this.promisedPatches.splice(o,1)}promisedPatchThen(s){return s.value=s.value.then((o=>{const i={...s,value:o};this.removePromisedPatch(s),this.updatePatches(i)})).catch((o=>{this.removePromisedPatch(s),this.updatePatches(o)})),s.value}getMutations(s,o){return s=s||0,\"number\"!=typeof o&&(o=this.mutations.length),this.mutations.slice(s,o)}getCurrentMutations(){return this.getMutationsForPlugin(this.getCurrentPlugin())}getMutationsForPlugin(s){const o=this.getPluginMutationIndex(s);return this.getMutations(o+1)}getCurrentPlugin(){return this.currentPlugin}getLib(){return this.libMethods}_get(s){return Wo.getIn(this.state,s)}_getContext(s){return this.contextTree.get(s)}setContext(s,o){return this.contextTree.set(s,o)}_hasRun(s){return this.getPluginRunCount(this.getCurrentPlugin())>(s||0)}dispatch(){const s=this,o=this.nextPlugin();if(!o){const s=this.nextPromisedPatch();if(s)return s.then((()=>this.dispatch())).catch((()=>this.dispatch()));const o={spec:this.state,errors:this.errors};return this.showDebug&&(o.patches=this.allPatches),Promise.resolve(o)}if(s.pluginCount=s.pluginCount||new WeakMap,s.pluginCount.set(o,(s.pluginCount.get(o)||0)+1),s.pluginCount[o]>100)return Promise.resolve({spec:s.state,errors:s.errors.concat(new Error(\"We've reached a hard limit of 100 plugin runs\"))});if(o!==this.currentPlugin&&this.promisedPatches.length){const s=this.promisedPatches.map((s=>s.value));return Promise.all(s.map((s=>s.then(specmap_noop,specmap_noop)))).then((()=>this.dispatch()))}return function executePlugin(){s.currentPlugin=o;const i=s.getCurrentMutations(),a=s.mutations.length-1;try{if(o.isGenerator)for(const a of o(i,s.getLib()))updatePatches(a);else{updatePatches(o(i,s.getLib()))}}catch(s){console.error(s),updatePatches([Object.assign(Object.create(s),{plugin:o})])}finally{s.updatePluginHistory(o,{mutationIndex:a})}return s.dispatch()}();function updatePatches(i){i&&(i=Wo.fullyNormalizeArray(i),s.updatePatches(i,o))}}}const tu={refs:Xl,allOf:Ql,parameters:Zl,properties:eu};function makeFetchJSON(s,o={}){const{requestInterceptor:i,responseInterceptor:a}=o,u=s.withCredentials?\"include\":\"same-origin\";return o=>s({url:o,loadSpec:!0,requestInterceptor:i,responseInterceptor:a,headers:{Accept:Dl},credentials:u}).then((s=>s.body))}function isFile(s,o){return o||\"undefined\"==typeof navigator||(o=navigator),o&&\"ReactNative\"===o.product?!(!s||\"object\"!=typeof s||\"string\"!=typeof s.uri):\"undefined\"!=typeof File&&s instanceof File||(\"undefined\"!=typeof Blob&&s instanceof Blob||(!!ArrayBuffer.isView(s)||null!==s&&\"object\"==typeof s&&\"function\"==typeof s.pipe))}function isArrayOfFile(s,o){return Array.isArray(s)&&s.some((s=>isFile(s,o)))}class FileWithData extends File{constructor(s,o=\"\",i={}){super([s],o,i),this.data=s}valueOf(){return this.data}toString(){return this.valueOf()}}const isRfc3986Reserved=s=>\":/?#[]@!$&'()*+,;=\".indexOf(s)>-1,isRfc3986Unreserved=s=>/^[a-z0-9\\-._~]+$/i.test(s);function encodeCharacters(s,o=\"reserved\"){return[...s].map((s=>{if(isRfc3986Unreserved(s))return s;if(isRfc3986Reserved(s)&&\"unsafe\"===o)return s;const i=new TextEncoder;return Array.from(i.encode(s)).map((s=>`0${s.toString(16).toUpperCase()}`.slice(-2))).map((s=>`%${s}`)).join(\"\")})).join(\"\")}function stylize(s){const{value:o}=s;return Array.isArray(o)?function encodeArray({key:s,value:o,style:i,explode:a,escape:u}){if(\"simple\"===i)return o.map((s=>valueEncoder(s,u))).join(\",\");if(\"label\"===i)return`.${o.map((s=>valueEncoder(s,u))).join(\".\")}`;if(\"matrix\"===i)return o.map((s=>valueEncoder(s,u))).reduce(((o,i)=>!o||a?`${o||\"\"};${s}=${i}`:`${o},${i}`),\"\");if(\"form\"===i){const i=a?`&${s}=`:\",\";return o.map((s=>valueEncoder(s,u))).join(i)}if(\"spaceDelimited\"===i){const i=a?`${s}=`:\"\";return o.map((s=>valueEncoder(s,u))).join(` ${i}`)}if(\"pipeDelimited\"===i){const i=a?`${s}=`:\"\";return o.map((s=>valueEncoder(s,u))).join(`|${i}`)}return}(s):\"object\"==typeof o?function encodeObject({key:s,value:o,style:i,explode:a,escape:u}){const _=Object.keys(o);if(\"simple\"===i)return _.reduce(((s,i)=>{const _=valueEncoder(o[i],u);return`${s?`${s},`:\"\"}${i}${a?\"=\":\",\"}${_}`}),\"\");if(\"label\"===i)return _.reduce(((s,i)=>{const _=valueEncoder(o[i],u);return`${s?`${s}.`:\".\"}${i}${a?\"=\":\".\"}${_}`}),\"\");if(\"matrix\"===i&&a)return _.reduce(((s,i)=>`${s?`${s};`:\";\"}${i}=${valueEncoder(o[i],u)}`),\"\");if(\"matrix\"===i)return _.reduce(((i,a)=>{const _=valueEncoder(o[a],u);return`${i?`${i},`:`;${s}=`}${a},${_}`}),\"\");if(\"form\"===i)return _.reduce(((s,i)=>{const _=valueEncoder(o[i],u);return`${s?`${s}${a?\"&\":\",\"}`:\"\"}${i}${a?\"=\":\",\"}${_}`}),\"\");return}(s):function encodePrimitive({key:s,value:o,style:i,escape:a}){if(\"simple\"===i)return valueEncoder(o,a);if(\"label\"===i)return`.${valueEncoder(o,a)}`;if(\"matrix\"===i)return`;${s}=${valueEncoder(o,a)}`;if(\"form\"===i)return valueEncoder(o,a);if(\"deepObject\"===i)return valueEncoder(o,a);return}(s)}function valueEncoder(s,o=!1){return Array.isArray(s)||null!==s&&\"object\"==typeof s?s=JSON.stringify(s):\"number\"!=typeof s&&\"boolean\"!=typeof s||(s=String(s)),o&&\"string\"==typeof s&&s.length>0?encodeCharacters(s,o):null!=s?s:\"\"}const ru={form:\",\",spaceDelimited:\"%20\",pipeDelimited:\"|\"},nu={csv:\",\",ssv:\"%20\",tsv:\"%09\",pipes:\"|\"};function formatKeyValue(s,o,i=!1){const{collectionFormat:a,allowEmptyValue:u,serializationOption:_,encoding:w}=o,x=\"object\"!=typeof o||Array.isArray(o)?o:o.value,C=i?s=>s.toString():s=>encodeURIComponent(s),j=C(s);if(void 0===x&&u)return[[j,\"\"]];if(isFile(x)||isArrayOfFile(x))return[[j,x]];if(_)return formatKeyValueBySerializationOption(s,x,i,_);if(w){if([typeof w.style,typeof w.explode,typeof w.allowReserved].some((s=>\"undefined\"!==s))){const{style:o,explode:a,allowReserved:u}=w;return formatKeyValueBySerializationOption(s,x,i,{style:o,explode:a,allowReserved:u})}if(\"string\"==typeof w.contentType){if(w.contentType.startsWith(\"application/json\")){const s=C(\"string\"==typeof x?x:JSON.stringify(x));return[[j,new FileWithData(s,\"blob\",{type:w.contentType})]]}const s=C(String(x));return[[j,new FileWithData(s,\"blob\",{type:w.contentType})]]}return\"object\"!=typeof x?[[j,C(x)]]:Array.isArray(x)&&x.every((s=>\"object\"!=typeof s))?[[j,x.map(C).join(\",\")]]:[[j,C(JSON.stringify(x))]]}return\"object\"!=typeof x?[[j,C(x)]]:Array.isArray(x)?\"multi\"===a?[[j,x.map(C)]]:[[j,x.map(C).join(nu[a||\"csv\"])]]:[[j,\"\"]]}function formatKeyValueBySerializationOption(s,o,i,a){const u=a.style||\"form\",_=void 0===a.explode?\"form\"===u:a.explode,w=!i&&(a&&a.allowReserved?\"unsafe\":\"reserved\"),encodeFn=s=>valueEncoder(s,w),x=i?s=>s:s=>encodeFn(s);return\"object\"!=typeof o?[[x(s),encodeFn(o)]]:Array.isArray(o)?_?[[x(s),o.map(encodeFn)]]:[[x(s),o.map(encodeFn).join(ru[u])]]:\"deepObject\"===u?Object.keys(o).map((i=>[x(`${s}[${i}]`),encodeFn(o[i])])):_?Object.keys(o).map((s=>[x(s),encodeFn(o[s])])):[[x(s),Object.keys(o).map((s=>[`${x(s)},${encodeFn(o[s])}`])).join(\",\")]]}function encodeFormOrQuery(s){return((s,{encode:o=!0}={})=>{const buildNestedParams=(s,o,i)=>(Array.isArray(i)?i.reduce(((i,a)=>buildNestedParams(s,o,a)),s):i instanceof Date?s.append(o,i.toISOString()):\"object\"==typeof i?Object.entries(i).reduce(((i,[a,u])=>buildNestedParams(s,`${o}[${a}]`,u)),s):s.append(o,i),s),i=Object.entries(s).reduce(((s,[o,i])=>buildNestedParams(s,o,i)),new URLSearchParams),a=String(i);return o?a:decodeURIComponent(a)})(Object.keys(s).reduce(((o,i)=>{for(const[a,u]of formatKeyValue(i,s[i]))o[a]=u instanceof FileWithData?u.valueOf():u;return o}),{}),{encode:!1})}function serializeRequest(s={}){const{url:o=\"\",query:i,form:a}=s;if(a){const o=Object.keys(a).some((s=>{const{value:o}=a[s];return isFile(o)||isArrayOfFile(o)})),i=s.headers[\"content-type\"]||s.headers[\"Content-Type\"];if(o||/multipart\\/form-data/i.test(i)){const o=function request_buildFormData(s){return Object.entries(s).reduce(((s,[o,i])=>{for(const[a,u]of formatKeyValue(o,i,!0))if(Array.isArray(u))for(const o of u)if(ArrayBuffer.isView(o)){const i=new Blob([o]);s.append(a,i)}else s.append(a,o);else if(ArrayBuffer.isView(u)){const o=new Blob([u]);s.append(a,o)}else s.append(a,u);return s}),new FormData)}(s.form);s.formdata=o,s.body=o}else s.body=encodeFormOrQuery(a);delete s.form}if(i){const[a,u]=o.split(\"?\");let _=\"\";if(u){const s=new URLSearchParams(u);Object.keys(i).forEach((o=>s.delete(o))),_=String(s)}const w=((...s)=>{const o=s.filter((s=>s)).join(\"&\");return o?`?${o}`:\"\"})(_,encodeFormOrQuery(i));s.url=a+w,delete s.query}return s}function serializeHeaders(s={}){return\"function\"!=typeof s.entries?{}:Array.from(s.entries()).reduce(((s,[o,i])=>(s[o]=function serializeHeaderValue(s){return s.includes(\", \")?s.split(\", \"):s}(i),s)),{})}function serializeResponse(s,o,{loadSpec:i=!1}={}){const a={ok:s.ok,url:s.url||o,status:s.status,statusText:s.statusText,headers:serializeHeaders(s.headers)},u=a.headers[\"content-type\"],_=i||((s=\"\")=>/(json|xml|yaml|text)\\b/.test(s))(u);return(_?s.text:s.blob||s.buffer).call(s).then((s=>{if(a.text=s,a.data=s,_)try{const o=function parseBody(s,o){if(o){if(0===o.indexOf(\"application/json\")||o.indexOf(\"+json\")>0)return JSON.parse(s);if(0===o.indexOf(\"application/xml\")||o.indexOf(\"+xml\")>0)return s}return fn.load(s)}(s,u);a.body=o,a.obj=o}catch(s){a.parseError=s}return a}))}async function http_http(s,o={}){\"object\"==typeof s&&(s=(o=s).url),o.headers=o.headers||{},(o=serializeRequest(o)).headers&&Object.keys(o.headers).forEach((s=>{const i=o.headers[s];\"string\"==typeof i&&(o.headers[s]=i.replace(/\\n+/g,\" \"))})),o.requestInterceptor&&(o=await o.requestInterceptor(o)||o);const i=o.headers[\"content-type\"]||o.headers[\"Content-Type\"];let a;/multipart\\/form-data/i.test(i)&&(delete o.headers[\"content-type\"],delete o.headers[\"Content-Type\"]);try{a=await(o.userFetch||fetch)(o.url,o),a=await serializeResponse(a,s,o),o.responseInterceptor&&(a=await o.responseInterceptor(a)||a)}catch(s){if(!a)throw s;const o=new Error(a.statusText||`response status is ${a.status}`);throw o.status=a.status,o.statusCode=a.status,o.responseError=s,o}if(!a.ok){const s=new Error(a.statusText||`response status is ${a.status}`);throw s.status=a.status,s.statusCode=a.status,s.response=a,s}return a}const options_retrievalURI=s=>{var o,i;const{baseDoc:a,url:u}=s,_=null!==(o=null!=a?a:u)&&void 0!==o?o:\"\";return\"string\"==typeof(null===(i=globalThis.document)||void 0===i?void 0:i.baseURI)?String(new URL(_,globalThis.document.baseURI)):_},options_httpClient=s=>{const{fetch:o,http:i}=s;return o||i||http_http};async function resolveGenericStrategy(s){const{spec:o,mode:i,allowMetaPatches:a=!0,pathDiscriminator:u,modelPropertyMacro:_,parameterMacro:w,requestInterceptor:x,responseInterceptor:C,skipNormalization:j=!1,useCircularStructures:L,strategies:B}=s,$=options_retrievalURI(s),U=options_httpClient(s),V=B.find((s=>s.match(o)));return async function doResolve(s){$&&(tu.refs.docCache[$]=s);tu.refs.fetchJSON=makeFetchJSON(U,{requestInterceptor:x,responseInterceptor:C});const o=[tu.refs];\"function\"==typeof w&&o.push(tu.parameters);\"function\"==typeof _&&o.push(tu.properties);\"strict\"!==i&&o.push(tu.allOf);const B=await function mapSpec(s){return new SpecMap(s).dispatch()}({spec:s,context:{baseDoc:$},plugins:o,allowMetaPatches:a,pathDiscriminator:u,parameterMacro:w,modelPropertyMacro:_,useCircularStructures:L});j||(B.spec=V.normalize(B.spec));return B}(o)}const su=_curry2((function and(s,o){return s&&o}));const ou=_curry2((function both(s,o){return _isFunction(s)?function _both(){return s.apply(this,arguments)&&o.apply(this,arguments)}:hc(su)(s,o)}));const iu=na(null);const au=dc(iu);function isOfTypeObject_typeof(s){return isOfTypeObject_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(s){return typeof s}:function(s){return s&&\"function\"==typeof Symbol&&s.constructor===Symbol&&s!==Symbol.prototype?\"symbol\":typeof s},isOfTypeObject_typeof(s)}const cu=function isOfTypeObject(s){return\"object\"===isOfTypeObject_typeof(s)};const lu=$a(1,ou(au,cu));var uu=pipe(ra,Pc(\"Object\")),pu=pipe(ga,na(ga(Object))),hu=Qo(ou(Mc,pu),[\"constructor\"]),du=$a(1,(function(s){if(!lu(s)||!uu(s))return!1;var o=Object.getPrototypeOf(s);return!!iu(o)||hu(o)}));const fu=du,replace_special_chars_with_underscore=s=>s.replace(/\\W/gi,\"_\");function opId(s,o,i=\"\",{v2OperationIdCompatibilityMode:a}={}){if(!s||\"object\"!=typeof s)return null;return(s.operationId||\"\").replace(/\\s/g,\"\").length?replace_special_chars_with_underscore(s.operationId):function idFromPathMethod(s,o,{v2OperationIdCompatibilityMode:i}={}){if(i){let i=`${o.toLowerCase()}_${s}`.replace(/[\\s!@#$%^&*()_+=[{\\]};:<>|./?,\\\\'\"\"-]/g,\"_\");return i=i||`${s.substring(1)}_${o}`,i.replace(/((_){2,})/g,\"_\").replace(/^(_)*/g,\"\").replace(/([_])*$/g,\"\")}return`${o.toLowerCase()}${replace_special_chars_with_underscore(s)}`}(o,i,{v2OperationIdCompatibilityMode:a})}function normalize_normalize(s){const{spec:o}=s,{paths:i}=o,a={};if(!i||o.$$normalized)return s;for(const s in i){const u=i[s];if(null==u||![\"object\",\"function\"].includes(typeof u))continue;const _=u.parameters;for(const i in u){const w=u[i];if(null==w||![\"object\",\"function\"].includes(typeof w))continue;const x=opId(w,s,i);if(x){a[x]?a[x].push(w):a[x]=[w];const s=a[x];if(s.length>1)s.forEach(((s,o)=>{s.__originalOperationId=s.__originalOperationId||s.operationId,s.operationId=`${x}${o+1}`}));else if(void 0!==w.operationId){const o=s[0];o.__originalOperationId=o.__originalOperationId||w.operationId,o.operationId=x}}if(\"parameters\"!==i){const s=[],i={};for(const a in o)\"produces\"!==a&&\"consumes\"!==a&&\"security\"!==a||(i[a]=o[a],s.push(i));if(_&&(i.parameters=_,s.push(i)),s.length)for(const o of s)for(const s in o)if(Array.isArray(w[s])){if(\"parameters\"===s)for(const i of o[s]){w[s].some((s=>!(!fu(s)&&!fu(i))&&(s===i||[\"name\",\"$ref\",\"$$ref\"].some((o=>\"string\"==typeof s[o]&&\"string\"==typeof i[o]&&s[o]===i[o])))))||w[s].push(i)}}else w[s]=o[s]}}}return o.$$normalized=!0,s}const mu={name:\"generic\",match:()=>!0,normalize(s){const{spec:o}=normalize_normalize({spec:s});return o},resolve:async s=>resolveGenericStrategy(s)},gu=mu;const isOpenAPI30=s=>{try{const{openapi:o}=s;return\"string\"==typeof o&&/^3\\.0\\.(?:[1-9]\\d*|0)$/.test(o)}catch{return!1}},isOpenAPI31=s=>{try{const{openapi:o}=s;return\"string\"==typeof o&&/^3\\.1\\.(?:[1-9]\\d*|0)$/.test(o)}catch{return!1}},isOpenAPI3=s=>isOpenAPI30(s)||isOpenAPI31(s),yu={name:\"openapi-2\",match:s=>(s=>{try{const{swagger:o}=s;return\"2.0\"===o}catch{return!1}})(s),normalize(s){const{spec:o}=normalize_normalize({spec:s});return o},resolve:async s=>async function resolveOpenAPI2Strategy(s){return resolveGenericStrategy(s)}(s)},vu=yu;const bu={name:\"openapi-3-0\",match:s=>isOpenAPI30(s),normalize(s){const{spec:o}=normalize_normalize({spec:s});return o},resolve:async s=>async function resolveOpenAPI30Strategy(s){return resolveGenericStrategy(s)}(s)},_u=bu;var Su=__webpack_require__(34035);function _reduced(s){return s&&s[\"@@transducer/reduced\"]?s:{\"@@transducer/value\":s,\"@@transducer/reduced\":!0}}var Eu=function(){function XAll(s,o){this.xf=o,this.f=s,this.all=!0}return XAll.prototype[\"@@transducer/init\"]=_xfBase_init,XAll.prototype[\"@@transducer/result\"]=function(s){return this.all&&(s=this.xf[\"@@transducer/step\"](s,!0)),this.xf[\"@@transducer/result\"](s)},XAll.prototype[\"@@transducer/step\"]=function(s,o){return this.f(o)||(this.all=!1,s=_reduced(this.xf[\"@@transducer/step\"](s,!1))),s},XAll}();function _xall(s){return function(o){return new Eu(s,o)}}var wu=_curry2(_dispatchable([\"all\"],_xall,(function all(s,o){for(var i=0;i<o.length;){if(!s(o[i]))return!1;i+=1}return!0})));const xu=wu;class Annotation extends Su.Om{constructor(s,o,i){super(s,o,i),this.element=\"annotation\"}get code(){return this.attributes.get(\"code\")}set code(s){this.attributes.set(\"code\",s)}}const ku=Annotation;class Comment extends Su.Om{constructor(s,o,i){super(s,o,i),this.element=\"comment\"}}const Ou=Comment;class ParseResult extends Su.wE{constructor(s,o,i){super(s,o,i),this.element=\"parseResult\"}get api(){return this.children.filter((s=>s.classes.contains(\"api\"))).first}get results(){return this.children.filter((s=>s.classes.contains(\"result\")))}get result(){return this.results.first}get annotations(){return this.children.filter((s=>\"annotation\"===s.element))}get warnings(){return this.children.filter((s=>\"annotation\"===s.element&&s.classes.contains(\"warning\")))}get errors(){return this.children.filter((s=>\"annotation\"===s.element&&s.classes.contains(\"error\")))}get isEmpty(){return this.children.reject((s=>\"annotation\"===s.element)).isEmpty}replaceResult(s){const{result:o}=this;if(bc(o))return!1;const i=this.content.findIndex((s=>s===o));return-1!==i&&(this.content[i]=s,!0)}}const Au=ParseResult,hasMethod=(s,o)=>\"object\"==typeof o&&null!==o&&s in o&&\"function\"==typeof o[s],hasBasicElementProps=s=>\"object\"==typeof s&&null!=s&&\"_storedElement\"in s&&\"string\"==typeof s._storedElement&&\"_content\"in s,primitiveEq=(s,o)=>\"object\"==typeof o&&null!==o&&\"primitive\"in o&&(\"function\"==typeof o.primitive&&o.primitive()===s),hasClass=(s,o)=>\"object\"==typeof o&&null!==o&&\"classes\"in o&&(Array.isArray(o.classes)||o.classes instanceof Su.wE)&&o.classes.includes(s),isElementType=(s,o)=>\"object\"==typeof o&&null!==o&&\"element\"in o&&o.element===s,helpers=s=>s({hasMethod,hasBasicElementProps,primitiveEq,isElementType,hasClass}),Cu=helpers((({hasBasicElementProps:s,primitiveEq:o})=>i=>i instanceof Su.Hg||s(i)&&o(void 0,i))),ju=helpers((({hasBasicElementProps:s,primitiveEq:o})=>i=>i instanceof Su.Om||s(i)&&o(\"string\",i))),Pu=helpers((({hasBasicElementProps:s,primitiveEq:o})=>i=>i instanceof Su.kT||s(i)&&o(\"number\",i))),Iu=helpers((({hasBasicElementProps:s,primitiveEq:o})=>i=>i instanceof Su.Os||s(i)&&o(\"null\",i))),Tu=helpers((({hasBasicElementProps:s,primitiveEq:o})=>i=>i instanceof Su.bd||s(i)&&o(\"boolean\",i))),Nu=helpers((({hasBasicElementProps:s,primitiveEq:o,hasMethod:i})=>a=>a instanceof Su.Sh||s(a)&&o(\"object\",a)&&i(\"keys\",a)&&i(\"values\",a)&&i(\"items\",a))),Mu=helpers((({hasBasicElementProps:s,primitiveEq:o,hasMethod:i})=>a=>a instanceof Su.wE&&!(a instanceof Su.Sh)||s(a)&&o(\"array\",a)&&i(\"push\",a)&&i(\"unshift\",a)&&i(\"map\",a)&&i(\"reduce\",a))),Ru=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Su.Pr||s(a)&&o(\"member\",a)&&i(void 0,a))),Du=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Su.Ft||s(a)&&o(\"link\",a)&&i(void 0,a))),Lu=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Su.sI||s(a)&&o(\"ref\",a)&&i(void 0,a))),Fu=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof ku||s(a)&&o(\"annotation\",a)&&i(\"array\",a))),Bu=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Ou||s(a)&&o(\"comment\",a)&&i(\"string\",a))),$u=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Au||s(a)&&o(\"parseResult\",a)&&i(\"array\",a))),isPrimitiveElement=s=>isElementType(\"object\",s)||isElementType(\"array\",s)||isElementType(\"boolean\",s)||isElementType(\"number\",s)||isElementType(\"string\",s)||isElementType(\"null\",s)||isElementType(\"member\",s),hasElementSourceMap=s=>!!Cu(s)&&(Number.isInteger(s.startPositionRow)&&Number.isInteger(s.startPositionColumn)&&Number.isInteger(s.startIndex)&&Number.isInteger(s.endPositionRow)&&Number.isInteger(s.endPositionColumn)&&Number.isInteger(s.endIndex)),includesSymbols=(s,o)=>{if(0===s.length)return!0;const i=o.attributes.get(\"symbols\");return!!Mu(i)&&xu(sc(i.toValue()),s)},includesClasses=(s,o)=>0===s.length||xu(sc(o.classes.toValue()),s);const es_T=function(){return!0};const es_F=function(){return!1},getVisitFn=(s,o,i)=>{const a=s[o];if(null!=a){if(!i&&\"function\"==typeof a)return a;const s=i?a.leave:a.enter;if(\"function\"==typeof s)return s}else{const a=i?s.leave:s.enter;if(null!=a){if(\"function\"==typeof a)return a;const s=a[o];if(\"function\"==typeof s)return s}}return null},qu={},getNodeType=s=>null==s?void 0:s.type,isNode=s=>\"string\"==typeof getNodeType(s),cloneNode=s=>Object.create(Object.getPrototypeOf(s),Object.getOwnPropertyDescriptors(s)),mergeAll=(s,{visitFnGetter:o=getVisitFn,nodeTypeGetter:i=getNodeType,breakSymbol:a=qu,deleteNodeSymbol:u=null,skipVisitingNodeSymbol:_=!1,exposeEdits:w=!1}={})=>{const x=Symbol(\"skip\"),C=new Array(s.length).fill(x);return{enter(j,L,B,$,U,V){let z=j,Y=!1;const Z={...V,replaceWith(s,o){V.replaceWith(s,o),z=s}};for(let j=0;j<s.length;j+=1)if(C[j]===x){const x=o(s[j],i(z),!1);if(\"function\"==typeof x){const o=x.call(s[j],z,L,B,$,U,Z);if(\"function\"==typeof(null==o?void 0:o.then))throw new Go(\"Async visitor not supported in sync mode\",{visitor:s[j],visitFn:x});if(o===_)C[j]=z;else if(o===a)C[j]=a;else{if(o===u)return o;if(void 0!==o){if(!w)return o;z=o,Y=!0}}}}return Y?z:void 0},leave(u,w,j,L,B,$){let U=u;const V={...$,replaceWith(s,o){$.replaceWith(s,o),U=s}};for(let u=0;u<s.length;u+=1)if(C[u]===x){const x=o(s[u],i(U),!0);if(\"function\"==typeof x){const o=x.call(s[u],U,w,j,L,B,V);if(\"function\"==typeof(null==o?void 0:o.then))throw new Go(\"Async visitor not supported in sync mode\",{visitor:s[u],visitFn:x});if(o===a)C[u]=a;else if(void 0!==o&&o!==_)return o}}else C[u]===U&&(C[u]=x)}}};mergeAll[Symbol.for(\"nodejs.util.promisify.custom\")]=(s,{visitFnGetter:o=getVisitFn,nodeTypeGetter:i=getNodeType,breakSymbol:a=qu,deleteNodeSymbol:u=null,skipVisitingNodeSymbol:_=!1,exposeEdits:w=!1}={})=>{const x=Symbol(\"skip\"),C=new Array(s.length).fill(x);return{async enter(j,L,B,$,U,V){let z=j,Y=!1;const Z={...V,replaceWith(s,o){V.replaceWith(s,o),z=s}};for(let j=0;j<s.length;j+=1)if(C[j]===x){const x=o(s[j],i(z),!1);if(\"function\"==typeof x){const o=await x.call(s[j],z,L,B,$,U,Z);if(o===_)C[j]=z;else if(o===a)C[j]=a;else{if(o===u)return o;if(void 0!==o){if(!w)return o;z=o,Y=!0}}}}return Y?z:void 0},async leave(u,w,j,L,B,$){let U=u;const V={...$,replaceWith(s,o){$.replaceWith(s,o),U=s}};for(let u=0;u<s.length;u+=1)if(C[u]===x){const x=o(s[u],i(U),!0);if(\"function\"==typeof x){const o=await x.call(s[u],U,w,j,L,B,V);if(o===a)C[u]=a;else if(void 0!==o&&o!==_)return o}}else C[u]===U&&(C[u]=x)}}};const visit=(s,o,{keyMap:i=null,state:a={},breakSymbol:u=qu,deleteNodeSymbol:_=null,skipVisitingNodeSymbol:w=!1,visitFnGetter:x=getVisitFn,nodeTypeGetter:C=getNodeType,nodePredicate:j=isNode,nodeCloneFn:L=cloneNode,detectCycles:B=!0,detectCyclesCallback:$=null}={})=>{const U=i||{};let V,z,Y=Array.isArray(s),Z=[s],ee=-1,ie=[],ae=s;const ce=[],le=[];do{ee+=1;const s=ee===Z.length;let i;const fe=s&&0!==ie.length;if(s){if(i=0===le.length?void 0:ce.pop(),ae=z,z=le.pop(),fe)if(Y){ae=ae.slice();let s=0;for(const[o,i]of ie){const a=o-s;i===_?(ae.splice(a,1),s+=1):ae[a]=i}}else{ae=L(ae);for(const[s,o]of ie)ae[s]=o}ee=V.index,Z=V.keys,ie=V.edits,Y=V.inArray,V=V.prev}else if(z!==_&&void 0!==z){if(i=Y?ee:Z[ee],ae=z[i],ae===_||void 0===ae)continue;ce.push(i)}let ye;if(!Array.isArray(ae)){var pe;if(!j(ae))throw new Go(`Invalid AST Node:  ${String(ae)}`,{node:ae});if(B&&le.includes(ae)){\"function\"==typeof $&&$(ae,i,z,ce,le),ce.pop();continue}const _=x(o,C(ae),s);if(_){for(const[s,i]of Object.entries(a))o[s]=i;const u={replaceWith(o,a){\"function\"==typeof a?a(o,ae,i,z,ce,le):z&&(z[i]=o),s||(ae=o)}};ye=_.call(o,ae,i,z,ce,le,u)}if(\"function\"==typeof(null===(pe=ye)||void 0===pe?void 0:pe.then))throw new Go(\"Async visitor not supported in sync mode\",{visitor:o,visitFn:_});if(ye===u)break;if(ye===w){if(!s){ce.pop();continue}}else if(void 0!==ye&&(ie.push([i,ye]),!s)){if(!j(ye)){ce.pop();continue}ae=ye}}var de;if(void 0===ye&&fe&&ie.push([i,ae]),!s)V={inArray:Y,index:ee,keys:Z,edits:ie,prev:V},Y=Array.isArray(ae),Z=Y?ae:null!==(de=U[C(ae)])&&void 0!==de?de:[],ee=-1,ie=[],z!==_&&void 0!==z&&le.push(z),z=ae}while(void 0!==V);return 0!==ie.length?ie[ie.length-1][1]:s};visit[Symbol.for(\"nodejs.util.promisify.custom\")]=async(s,o,{keyMap:i=null,state:a={},breakSymbol:u=qu,deleteNodeSymbol:_=null,skipVisitingNodeSymbol:w=!1,visitFnGetter:x=getVisitFn,nodeTypeGetter:C=getNodeType,nodePredicate:j=isNode,nodeCloneFn:L=cloneNode,detectCycles:B=!0,detectCyclesCallback:$=null}={})=>{const U=i||{};let V,z,Y=Array.isArray(s),Z=[s],ee=-1,ie=[],ae=s;const ce=[],le=[];do{ee+=1;const s=ee===Z.length;let i;const de=s&&0!==ie.length;if(s){if(i=0===le.length?void 0:ce.pop(),ae=z,z=le.pop(),de)if(Y){ae=ae.slice();let s=0;for(const[o,i]of ie){const a=o-s;i===_?(ae.splice(a,1),s+=1):ae[a]=i}}else{ae=L(ae);for(const[s,o]of ie)ae[s]=o}ee=V.index,Z=V.keys,ie=V.edits,Y=V.inArray,V=V.prev}else if(z!==_&&void 0!==z){if(i=Y?ee:Z[ee],ae=z[i],ae===_||void 0===ae)continue;ce.push(i)}let fe;if(!Array.isArray(ae)){if(!j(ae))throw new Go(`Invalid AST Node: ${String(ae)}`,{node:ae});if(B&&le.includes(ae)){\"function\"==typeof $&&$(ae,i,z,ce,le),ce.pop();continue}const _=x(o,C(ae),s);if(_){for(const[s,i]of Object.entries(a))o[s]=i;const u={replaceWith(o,a){\"function\"==typeof a?a(o,ae,i,z,ce,le):z&&(z[i]=o),s||(ae=o)}};fe=await _.call(o,ae,i,z,ce,le,u)}if(fe===u)break;if(fe===w){if(!s){ce.pop();continue}}else if(void 0!==fe&&(ie.push([i,fe]),!s)){if(!j(fe)){ce.pop();continue}ae=fe}}var pe;if(void 0===fe&&de&&ie.push([i,ae]),!s)V={inArray:Y,index:ee,keys:Z,edits:ie,prev:V},Y=Array.isArray(ae),Z=Y?ae:null!==(pe=U[C(ae)])&&void 0!==pe?pe:[],ee=-1,ie=[],z!==_&&void 0!==z&&le.push(z),z=ae}while(void 0!==V);return 0!==ie.length?ie[ie.length-1][1]:s};const Uu=class CloneError extends Go{value;constructor(s,o){super(s,o),void 0!==o&&(this.value=o.value)}};const Vu=class DeepCloneError extends Uu{};const zu=class ShallowCloneError extends Uu{};const Wu=_curry2((function mapObjIndexed(s,o){return _arrayReduce((function(i,a){return i[a]=s(o[a],a,o),i}),{},ea(o))}));const Ju=_curry1((function isNil(s){return null==s}));var Hu=_curry2((function hasPath(s,o){if(0===s.length||Ju(o))return!1;for(var i=o,a=0;a<s.length;){if(Ju(i)||!_has(s[a],i))return!1;i=i[s[a]],a+=1}return!0}));const Ku=Hu;var Gu=_curry2((function has(s,o){return Ku([s],o)}));const Yu=Gu;const Xu=_curry3((function propSatisfies(s,o,i){return s(Da(o,i))}));const Qu=_curry2(_path);var Zu=function(){function XDropWhile(s,o){this.xf=o,this.f=s}return XDropWhile.prototype[\"@@transducer/init\"]=_xfBase_init,XDropWhile.prototype[\"@@transducer/result\"]=_xfBase_result,XDropWhile.prototype[\"@@transducer/step\"]=function(s,o){if(this.f){if(this.f(o))return s;this.f=null}return this.xf[\"@@transducer/step\"](s,o)},XDropWhile}();function _xdropWhile(s){return function(o){return new Zu(s,o)}}const ep=_curry2(_dispatchable([\"dropWhile\"],_xdropWhile,(function dropWhile(s,o){for(var i=0,a=o.length;i<a&&s(o[i]);)i+=1;return ja(i,1/0,o)})));const tp=za((function(s,o){return pipe(Ha(\"\"),ep(sc(s)),rc(\"\"))(o)})),dereference=(s,o)=>{const i=Na(s,o);return Wu((s=>{if(fu(s)&&Yu(\"$ref\",s)&&Xu(Jc,\"$ref\",s)){const o=Qu([\"$ref\"],s),a=tp(\"#/\",o);return Qu(a.split(\"/\"),i)}return fu(s)?dereference(s,i):s}),s)},assignSourceMap=(s,o)=>(s.startPositionRow=null==o?void 0:o.startPositionRow,s.startPositionColumn=null==o?void 0:o.startPositionColumn,s.startIndex=null==o?void 0:o.startIndex,s.endPositionRow=null==o?void 0:o.endPositionRow,s.endPositionColumn=null==o?void 0:o.endPositionColumn,s.endIndex=null==o?void 0:o.endIndex,s),cloneDeep=(s,o={})=>{const{visited:i=new WeakMap}=o,a={...o,visited:i};if(i.has(s))return i.get(s);if(s instanceof Su.KeyValuePair){const{key:o,value:u}=s,_=Cu(o)?cloneDeep(o,a):o,w=Cu(u)?cloneDeep(u,a):u,x=new Su.KeyValuePair(_,w);return i.set(s,x),x}if(s instanceof Su.ot){const mapper=s=>cloneDeep(s,a),o=[...s].map(mapper),u=new Su.ot(o);return i.set(s,u),u}if(s instanceof Su.G6){const mapper=s=>cloneDeep(s,a),o=[...s].map(mapper),u=new Su.G6(o);return i.set(s,u),u}if(Cu(s)){const o=cloneShallow(s);if(i.set(s,o),s.content)if(Cu(s.content))o.content=cloneDeep(s.content,a);else if(s.content instanceof Su.KeyValuePair)o.content=cloneDeep(s.content,a);else if(Array.isArray(s.content)){const mapper=s=>cloneDeep(s,a);o.content=s.content.map(mapper)}else o.content=s.content;else o.content=s.content;return o}throw new Vu(\"Value provided to cloneDeep function couldn't be cloned\",{value:s})};cloneDeep.safe=s=>{try{return cloneDeep(s)}catch{return s}};const cloneShallowKeyValuePair=s=>{const{key:o,value:i}=s;return new Su.KeyValuePair(o,i)},cloneShallowElement=s=>{const o=new s.constructor;if(o.element=s.element,hasElementSourceMap(s)&&assignSourceMap(o,s),s.meta.length>0&&(o._meta=cloneDeep(s.meta)),s.attributes.length>0&&(o._attributes=cloneDeep(s.attributes)),Cu(s.content)){const i=s.content;o.content=cloneShallowElement(i)}else Array.isArray(s.content)?o.content=[...s.content]:s.content instanceof Su.KeyValuePair?o.content=cloneShallowKeyValuePair(s.content):o.content=s.content;return o},cloneShallow=s=>{if(s instanceof Su.KeyValuePair)return cloneShallowKeyValuePair(s);if(s instanceof Su.ot)return(s=>{const o=[...s];return new Su.ot(o)})(s);if(s instanceof Su.G6)return(s=>{const o=[...s];return new Su.G6(o)})(s);if(Cu(s))return cloneShallowElement(s);throw new zu(\"Value provided to cloneShallow function couldn't be cloned\",{value:s})};cloneShallow.safe=s=>{try{return cloneShallow(s)}catch{return s}};const visitor_getNodeType=s=>Nu(s)?\"ObjectElement\":Mu(s)?\"ArrayElement\":Ru(s)?\"MemberElement\":ju(s)?\"StringElement\":Tu(s)?\"BooleanElement\":Pu(s)?\"NumberElement\":Iu(s)?\"NullElement\":Du(s)?\"LinkElement\":Lu(s)?\"RefElement\":void 0,visitor_cloneNode=s=>Cu(s)?cloneShallow(s):cloneNode(s),rp=pipe(visitor_getNodeType,Jc),np={ObjectElement:[\"content\"],ArrayElement:[\"content\"],MemberElement:[\"key\",\"value\"],StringElement:[],BooleanElement:[],NumberElement:[],NullElement:[],RefElement:[],LinkElement:[],Annotation:[],Comment:[],ParseResultElement:[\"content\"]};class PredicateVisitor{result;predicate;returnOnTrue;returnOnFalse;constructor({predicate:s=es_F,returnOnTrue:o,returnOnFalse:i}={}){this.result=[],this.predicate=s,this.returnOnTrue=o,this.returnOnFalse=i}enter(s){return this.predicate(s)?(this.result.push(s),this.returnOnTrue):this.returnOnFalse}}const visitor_visit=(s,o,{keyMap:i=np,...a}={})=>visit(s,o,{keyMap:i,nodeTypeGetter:visitor_getNodeType,nodePredicate:rp,nodeCloneFn:visitor_cloneNode,...a});visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")]=async(s,o,{keyMap:i=np,...a}={})=>visit[Symbol.for(\"nodejs.util.promisify.custom\")](s,o,{keyMap:i,nodeTypeGetter:visitor_getNodeType,nodePredicate:rp,nodeCloneFn:visitor_cloneNode,...a});const nodeTypeGetter=s=>\"string\"==typeof(null==s?void 0:s.type)?s.type:visitor_getNodeType(s),sp={EphemeralObject:[\"content\"],EphemeralArray:[\"content\"],...np},value_visitor_visit=(s,o,{keyMap:i=sp,...a}={})=>visitor_visit(s,o,{keyMap:i,nodeTypeGetter,nodePredicate:es_T,detectCycles:!1,deleteNodeSymbol:Symbol.for(\"delete-node\"),skipVisitingNodeSymbol:Symbol.for(\"skip-visiting-node\"),...a});value_visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")]=async(s,{keyMap:o=sp,...i}={})=>visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")](s,visitor,{keyMap:o,nodeTypeGetter,nodePredicate:es_T,detectCycles:!1,deleteNodeSymbol:Symbol.for(\"delete-node\"),skipVisitingNodeSymbol:Symbol.for(\"skip-visiting-node\"),...i});const op=class EphemeralArray{type=\"EphemeralArray\";content=[];reference=void 0;constructor(s){this.content=s,this.reference=[]}toReference(){return this.reference}toArray(){return this.reference.push(...this.content),this.reference}};const ip=class EphemeralObject{type=\"EphemeralObject\";content=[];reference=void 0;constructor(s){this.content=s,this.reference={}}toReference(){return this.reference}toObject(){return Object.assign(this.reference,Object.fromEntries(this.content))}};class Visitor{ObjectElement={enter:s=>{if(this.references.has(s))return this.references.get(s).toReference();const o=new ip(s.content);return this.references.set(s,o),o}};EphemeralObject={leave:s=>s.toObject()};MemberElement={enter:s=>[s.key,s.value]};ArrayElement={enter:s=>{if(this.references.has(s))return this.references.get(s).toReference();const o=new op(s.content);return this.references.set(s,o),o}};EphemeralArray={leave:s=>s.toArray()};references=new WeakMap;BooleanElement(s){return s.toValue()}NumberElement(s){return s.toValue()}StringElement(s){return s.toValue()}NullElement(){return null}RefElement(s,...o){var i;const a=o[3];return\"EphemeralObject\"===(null===(i=a[a.length-1])||void 0===i?void 0:i.type)?Symbol.for(\"delete-node\"):String(s.toValue())}LinkElement(s){return ju(s.href)?s.href.toValue():\"\"}}const serializers_value=s=>Cu(s)?ju(s)||Pu(s)||Tu(s)||Iu(s)?s.toValue():value_visitor_visit(s,new Visitor):s;const cp=_curry3((function mergeWithKey(s,o,i){var a,u={};for(a in i=i||{},o=o||{})_has(a,o)&&(u[a]=_has(a,i)?s(a,o[a],i[a]):o[a]);for(a in i)_has(a,i)&&!_has(a,u)&&(u[a]=i[a]);return u}));const lp=_curry3((function mergeDeepWithKey(s,o,i){return cp((function(o,i,a){return _isObject(i)&&_isObject(a)?mergeDeepWithKey(s,i,a):s(o,i,a)}),o,i)}));const up=_curry2((function mergeDeepRight(s,o){return lp((function(s,o,i){return i}),s,o)}));const pp=ja(0,-1);const hp=_curry2((function apply(s,o){return s.apply(this,o)}));const dp=dc(Mc);var fp=_curry1((function empty(s){return null!=s&&\"function\"==typeof s[\"fantasy-land/empty\"]?s[\"fantasy-land/empty\"]():null!=s&&null!=s.constructor&&\"function\"==typeof s.constructor[\"fantasy-land/empty\"]?s.constructor[\"fantasy-land/empty\"]():null!=s&&\"function\"==typeof s.empty?s.empty():null!=s&&null!=s.constructor&&\"function\"==typeof s.constructor.empty?s.constructor.empty():ca(s)?[]:_isString(s)?\"\":_isObject(s)?{}:Ei(s)?function(){return arguments}():function _isTypedArray(s){var o=Object.prototype.toString.call(s);return\"[object Uint8ClampedArray]\"===o||\"[object Int8Array]\"===o||\"[object Uint8Array]\"===o||\"[object Int16Array]\"===o||\"[object Uint16Array]\"===o||\"[object Int32Array]\"===o||\"[object Uint32Array]\"===o||\"[object Float32Array]\"===o||\"[object Float64Array]\"===o||\"[object BigInt64Array]\"===o||\"[object BigUint64Array]\"===o}(s)?s.constructor.from(\"\"):void 0}));const mp=fp;const gp=_curry1((function isEmpty(s){return null!=s&&na(s,mp(s))}));const yp=$a(1,Mc(Array.isArray)?Array.isArray:pipe(ra,Pc(\"Array\")));const vp=ou(yp,gp);var bp=$a(3,(function(s,o,i){var a=Qu(s,i),u=Qu(pp(s),i);if(!dp(a)&&!vp(s)){var _=Ea(a,u);return hp(_,o)}}));const _p=bp;class Namespace extends Su.g${constructor(){super(),this.register(\"annotation\",ku),this.register(\"comment\",Ou),this.register(\"parseResult\",Au)}}const Sp=new Namespace,createNamespace=s=>{const o=new Namespace;return fu(s)&&o.use(s),o},Ep=Sp,toolbox=()=>({predicates:{...ie},namespace:Ep}),wp={toolboxCreator:toolbox,visitorOptions:{nodeTypeGetter:visitor_getNodeType,exposeEdits:!0}},dispatchPluginsSync=(s,o,i={})=>{if(0===o.length)return s;const a=up(wp,i),{toolboxCreator:u,visitorOptions:_}=a,w=u(),x=o.map((s=>s(w))),C=mergeAll(x.map(La({},\"visitor\")),{..._});x.forEach(_p([\"pre\"],[]));const j=visitor_visit(s,C,_);return x.forEach(_p([\"post\"],[])),j};dispatchPluginsSync[Symbol.for(\"nodejs.util.promisify.custom\")]=async(s,o,i={})=>{if(0===o.length)return s;const a=up(wp,i),{toolboxCreator:u,visitorOptions:_}=a,w=u(),x=o.map((s=>s(w))),C=mergeAll[Symbol.for(\"nodejs.util.promisify.custom\")],j=visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")],L=C(x.map(La({},\"visitor\")),{..._});await Promise.allSettled(x.map(_p([\"pre\"],[])));const B=await j(s,L,_);return await Promise.allSettled(x.map(_p([\"post\"],[]))),B};const refract=(s,{Type:o,plugins:i=[]})=>{const a=new o(s);return Cu(s)&&(s.meta.length>0&&(a.meta=cloneDeep(s.meta)),s.attributes.length>0&&(a.attributes=cloneDeep(s.attributes))),dispatchPluginsSync(a,i,{toolboxCreator:toolbox,visitorOptions:{nodeTypeGetter:visitor_getNodeType}})},createRefractor=s=>(o,i={})=>refract(o,{...i,Type:s});Su.Sh.refract=createRefractor(Su.Sh),Su.wE.refract=createRefractor(Su.wE),Su.Om.refract=createRefractor(Su.Om),Su.bd.refract=createRefractor(Su.bd),Su.Os.refract=createRefractor(Su.Os),Su.kT.refract=createRefractor(Su.kT),Su.Ft.refract=createRefractor(Su.Ft),Su.sI.refract=createRefractor(Su.sI),ku.refract=createRefractor(ku),Ou.refract=createRefractor(Ou),Au.refract=createRefractor(Au);const computeEdges=(s,o=new WeakMap)=>(Ru(s)?(o.set(s.key,s),computeEdges(s.key,o),o.set(s.value,s),computeEdges(s.value,o)):s.children.forEach((i=>{o.set(i,s),computeEdges(i,o)})),o);const xp=class Transcluder_Transcluder{element;edges;constructor({element:s}){this.element=s}transclude(s,o){var i;if(s===this.element)return o;if(s===o)return this.element;this.edges=null!==(i=this.edges)&&void 0!==i?i:computeEdges(this.element);const a=this.edges.get(s);return bc(a)?void 0:(Nu(a)?((s,o,i)=>{const a=i.get(s);Nu(a)&&(a.content=a.map(((u,_,w)=>w===s?(i.delete(s),i.set(o,a),o):w)))})(s,o,this.edges):Mu(a)?((s,o,i)=>{const a=i.get(s);Mu(a)&&(a.content=a.map((u=>u===s?(i.delete(s),i.set(o,a),o):u)))})(s,o,this.edges):Ru(a)&&((s,o,i)=>{const a=i.get(s);Ru(a)&&(a.key===s&&(a.key=o,i.delete(s),i.set(o,a)),a.value===s&&(a.value=o,i.delete(s),i.set(o,a)))})(s,o,this.edges),this.element)}},fromURIReference=s=>{const o=s.indexOf(\"#\");return(s=>{try{const o=s.startsWith(\"#\")?s.slice(1):s;return decodeURIComponent(o)}catch{return s}})(-1===o?\"#\":s.substring(o))},kp=function fnparser(){const s=Pp,o=jp,i=this,a=\"parser.js: Parser(): \";i.ast=void 0,i.stats=void 0,i.trace=void 0,i.callbacks=[];let u,_,w,x,C,j,L,B=0,$=0,U=0,V=0,z=0,Y=new function systemData(){this.state=s.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=s.ACTIVE,this.phraseLength=0}};i.parse=(Z,ee,ie,ae)=>{const ce=`${a}parse(): `;B=0,$=0,U=0,V=0,z=0,u=void 0,_=void 0,w=void 0,x=void 0,Y.refresh(),C=void 0,j=void 0,L=void 0,x=o.stringToChars(ie),u=Z.rules,_=Z.udts;const le=ee.toLowerCase();let pe;for(const s in u)if(u.hasOwnProperty(s)&&le===u[s].lower){pe=u[s].index;break}if(void 0===pe)throw new Error(`${ce}start rule name '${startRule}' not recognized`);(()=>{const s=`${a}initializeCallbacks(): `;let o,w;for(C=[],j=[],o=0;o<u.length;o+=1)C[o]=void 0;for(o=0;o<_.length;o+=1)j[o]=void 0;const x=[];for(o=0;o<u.length;o+=1)x.push(u[o].lower);for(o=0;o<_.length;o+=1)x.push(_[o].lower);for(const a in i.callbacks)if(i.callbacks.hasOwnProperty(a)){if(o=x.indexOf(a.toLowerCase()),o<0)throw new Error(`${s}syntax callback '${a}' not a rule or udt name`);if(w=i.callbacks[a]?i.callbacks[a]:void 0,\"function\"!=typeof w&&void 0!==w)throw new Error(`${s}syntax callback[${a}] must be function reference or falsy)`);o<u.length?C[o]=w:j[o-u.length]=w}})(),i.trace&&i.trace.init(u,_,x),i.stats&&i.stats.init(u,_),i.ast&&i.ast.init(u,_,x),L=ae,w=[{type:s.RNM,index:pe}],opExecute(0,0),w=void 0;let de=!1;switch(Y.state){case s.ACTIVE:throw new Error(`${ce}final state should never be 'ACTIVE'`);case s.NOMATCH:de=!1;break;case s.EMPTY:case s.MATCH:de=Y.phraseLength===x.length;break;default:throw new Error(\"unrecognized state\")}return{success:de,state:Y.state,stateName:s.idName(Y.state),length:x.length,matched:Y.phraseLength,maxMatched:z,maxTreeDepth:U,nodeHits:V}};const validateRnmCallbackResult=(o,i,u,_)=>{if(i.phraseLength>u){let s=`${a}opRNM(${o.name}): callback function error: `;throw s+=`sysData.phraseLength: ${i.phraseLength}`,s+=` must be <= remaining chars: ${u}`,new Error(s)}switch(i.state){case s.ACTIVE:if(!_)throw new Error(`${a}opRNM(${o.name}): callback function return error. ACTIVE state not allowed.`);break;case s.EMPTY:i.phraseLength=0;break;case s.MATCH:0===i.phraseLength&&(i.state=s.EMPTY);break;case s.NOMATCH:i.phraseLength=0;break;default:throw new Error(`${a}opRNM(${o.name}): callback function return error. Unrecognized return state: ${i.state}`)}},opUDT=(o,C)=>{let $,U,V;const z=w[o],Z=_[z.index];Y.UdtIndex=Z.index,B||(V=i.ast&&i.ast.udtDefined(z.index),V&&(U=u.length+z.index,$=i.ast.getLength(),i.ast.down(U,Z.name)));const ee=x.length-C;j[z.index](Y,x,C,L),((o,i,u)=>{if(i.phraseLength>u){let s=`${a}opUDT(${o.name}): callback function error: `;throw s+=`sysData.phraseLength: ${i.phraseLength}`,s+=` must be <= remaining chars: ${u}`,new Error(s)}switch(i.state){case s.ACTIVE:throw new Error(`${a}opUDT(${o.name}) ACTIVE state return not allowed.`);case s.EMPTY:if(!o.empty)throw new Error(`${a}opUDT(${o.name}) may not return EMPTY.`);i.phraseLength=0;break;case s.MATCH:if(0===i.phraseLength){if(!o.empty)throw new Error(`${a}opUDT(${o.name}) may not return EMPTY.`);i.state=s.EMPTY}break;case s.NOMATCH:i.phraseLength=0;break;default:throw new Error(`${a}opUDT(${o.name}): callback function return error. Unrecognized return state: ${i.state}`)}})(Z,Y,ee),B||V&&(Y.state===s.NOMATCH?i.ast.setLength($):i.ast.up(U,Z.name,C,Y.phraseLength))},opExecute=(o,_)=>{const j=`${a}opExecute(): `,Z=w[o];switch(V+=1,$>U&&(U=$),$+=1,Y.refresh(),i.trace&&i.trace.down(Z,_),Z.type){case s.ALT:((o,i)=>{const a=w[o];for(let o=0;o<a.children.length&&(opExecute(a.children[o],i),Y.state===s.NOMATCH);o+=1);})(o,_);break;case s.CAT:((o,a)=>{let u,_,x,C;const j=w[o];i.ast&&(_=i.ast.getLength()),u=!0,x=a,C=0;for(let o=0;o<j.children.length;o+=1){if(opExecute(j.children[o],x),Y.state===s.NOMATCH){u=!1;break}x+=Y.phraseLength,C+=Y.phraseLength}u?(Y.state=0===C?s.EMPTY:s.MATCH,Y.phraseLength=C):(Y.state=s.NOMATCH,Y.phraseLength=0,i.ast&&i.ast.setLength(_))})(o,_);break;case s.REP:((o,a)=>{let u,_,C,j;const L=w[o];if(0===L.max)return Y.state=s.EMPTY,void(Y.phraseLength=0);for(_=a,C=0,j=0,i.ast&&(u=i.ast.getLength());!(_>=x.length)&&(opExecute(o+1,_),Y.state!==s.NOMATCH)&&Y.state!==s.EMPTY&&(j+=1,C+=Y.phraseLength,_+=Y.phraseLength,j!==L.max););Y.state===s.EMPTY||j>=L.min?(Y.state=0===C?s.EMPTY:s.MATCH,Y.phraseLength=C):(Y.state=s.NOMATCH,Y.phraseLength=0,i.ast&&i.ast.setLength(u))})(o,_);break;case s.RNM:((o,a)=>{let _,j,$;const U=w[o],V=u[U.index],z=C[V.index];if(B||(j=i.ast&&i.ast.ruleDefined(U.index),j&&(_=i.ast.getLength(),i.ast.down(U.index,u[U.index].name))),z){const o=x.length-a;z(Y,x,a,L),validateRnmCallbackResult(V,Y,o,!0),Y.state===s.ACTIVE&&($=w,w=V.opcodes,opExecute(0,a),w=$,z(Y,x,a,L),validateRnmCallbackResult(V,Y,o,!1))}else $=w,w=V.opcodes,opExecute(0,a,Y),w=$;B||j&&(Y.state===s.NOMATCH?i.ast.setLength(_):i.ast.up(U.index,V.name,a,Y.phraseLength))})(o,_);break;case s.TRG:((o,i)=>{const a=w[o];Y.state=s.NOMATCH,i<x.length&&a.min<=x[i]&&x[i]<=a.max&&(Y.state=s.MATCH,Y.phraseLength=1)})(o,_);break;case s.TBS:((o,i)=>{const a=w[o],u=a.string.length;if(Y.state=s.NOMATCH,i+u<=x.length){for(let s=0;s<u;s+=1)if(x[i+s]!==a.string[s])return;Y.state=s.MATCH,Y.phraseLength=u}})(o,_);break;case s.TLS:((o,i)=>{let a;const u=w[o];Y.state=s.NOMATCH;const _=u.string.length;if(0!==_){if(i+_<=x.length){for(let s=0;s<_;s+=1)if(a=x[i+s],a>=65&&a<=90&&(a+=32),a!==u.string[s])return;Y.state=s.MATCH,Y.phraseLength=_}}else Y.state=s.EMPTY})(o,_);break;case s.UDT:opUDT(o,_);break;case s.AND:((o,i)=>{switch(B+=1,opExecute(o+1,i),B-=1,Y.phraseLength=0,Y.state){case s.EMPTY:case s.MATCH:Y.state=s.EMPTY;break;case s.NOMATCH:Y.state=s.NOMATCH;break;default:throw new Error(`opAND: invalid state ${Y.state}`)}})(o,_);break;case s.NOT:((o,i)=>{switch(B+=1,opExecute(o+1,i),B-=1,Y.phraseLength=0,Y.state){case s.EMPTY:case s.MATCH:Y.state=s.NOMATCH;break;case s.NOMATCH:Y.state=s.EMPTY;break;default:throw new Error(`opNOT: invalid state ${Y.state}`)}})(o,_);break;default:throw new Error(`${j}unrecognized operator`)}B||_+Y.phraseLength>z&&(z=_+Y.phraseLength),i.stats&&i.stats.collect(Z,Y),i.trace&&i.trace.up(Z,Y.state,_,Y.phraseLength),$-=1}},Op=function fnast(){const s=Pp,o=jp,i=this;let a,u,_,w=0;const x=[],C=[],j=[];function indent(s){let o=\"\";for(;s-- >0;)o+=\" \";return o}i.callbacks=[],i.init=(s,o,L)=>{let B;C.length=0,j.length=0,w=0,a=s,u=o,_=L;const $=[];for(B=0;B<a.length;B+=1)$.push(a[B].lower);for(B=0;B<u.length;B+=1)$.push(u[B].lower);for(w=a.length+u.length,B=0;B<w;B+=1)x[B]=void 0;for(const s in i.callbacks)if(i.callbacks.hasOwnProperty(s)){const o=s.toLowerCase();if(B=$.indexOf(o),B<0)throw new Error(`parser.js: Ast()): init: node '${s}' not a rule or udt name`);x[B]=i.callbacks[s]}},i.ruleDefined=s=>!!x[s],i.udtDefined=s=>!!x[a.length+s],i.down=(o,i)=>{const a=j.length;return C.push(a),j.push({name:i,thisIndex:a,thatIndex:void 0,state:s.SEM_PRE,callbackIndex:o,phraseIndex:void 0,phraseLength:void 0,stack:C.length}),a},i.up=(o,i,a,u)=>{const _=j.length,w=C.pop();return j.push({name:i,thisIndex:_,thatIndex:w,state:s.SEM_POST,callbackIndex:o,phraseIndex:a,phraseLength:u,stack:C.length}),j[w].thatIndex=_,j[w].phraseIndex=a,j[w].phraseLength=u,_},i.translate=o=>{let i,a;for(let u=0;u<j.length;u+=1)a=j[u],i=x[a.callbackIndex],i&&(a.state===s.SEM_PRE?i(s.SEM_PRE,_,a.phraseIndex,a.phraseLength,o):i&&i(s.SEM_POST,_,a.phraseIndex,a.phraseLength,o))},i.setLength=s=>{j.length=s,C.length=s>0?j[s-1].stack:0},i.getLength=()=>j.length,i.toXml=()=>{let i=\"\",a=0;return i+='<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n',i+=`<root nodes=\"${j.length/2}\" characters=\"${_.length}\">\\n`,i+=\"\\x3c!-- input string --\\x3e\\n\",i+=indent(a+2),i+=o.charsToString(_),i+=\"\\n\",j.forEach((u=>{u.state===s.SEM_PRE?(a+=1,i+=indent(a),i+=`<node name=\"${u.name}\" index=\"${u.phraseIndex}\" length=\"${u.phraseLength}\">\\n`,i+=indent(a+2),i+=o.charsToString(_,u.phraseIndex,u.phraseLength),i+=\"\\n\"):(i+=indent(a),i+=`</node>\\x3c!-- name=\"${u.name}\" --\\x3e\\n`,a-=1)})),i+=\"</root>\\n\",i}},Ap=function fntrace(){const s=Pp,o=jp,i=\"parser.js: Trace(): \";let a,u,_,w=\"\",x=0;const C=this,indent=s=>{let o=\"\",i=0;if(s>=0)for(;s--;)i+=1,5===i?(o+=\"|\",i=0):o+=\".\";return o};C.init=(s,o,i)=>{u=s,_=o,a=i};const opName=a=>{let w;switch(a.type){case s.ALT:w=\"ALT\";break;case s.CAT:w=\"CAT\";break;case s.REP:w=a.max===1/0?`REP(${a.min},inf)`:`REP(${a.min},${a.max})`;break;case s.RNM:w=`RNM(${u[a.index].name})`;break;case s.TRG:w=`TRG(${a.min},${a.max})`;break;case s.TBS:w=a.string.length>6?`TBS(${o.charsToString(a.string,0,3)}...)`:`TBS(${o.charsToString(a.string,0,6)})`;break;case s.TLS:w=a.string.length>6?`TLS(${o.charsToString(a.string,0,3)}...)`:`TLS(${o.charsToString(a.string,0,6)})`;break;case s.UDT:w=`UDT(${_[a.index].name})`;break;case s.AND:w=\"AND\";break;case s.NOT:w=\"NOT\";break;default:throw new Error(`${i}Trace: opName: unrecognized opcode`)}return w};C.down=(s,i)=>{const u=indent(x),_=Math.min(100,a.length-i);let C=o.charsToString(a,i,_);_<a.length-i&&(C+=\"...\"),C=`${u}|-|[${opName(s)}]${C}\\n`,w+=C,x+=1},C.up=(u,_,C,j)=>{const L=`${i}trace.up: `;x-=1;const B=indent(x);let $,U,V;switch(_){case s.EMPTY:V=\"|E|\",U=\"''\";break;case s.MATCH:V=\"|M|\",$=Math.min(100,j),U=$<j?`'${o.charsToString(a,C,$)}...'`:`'${o.charsToString(a,C,$)}'`;break;case s.NOMATCH:V=\"|N|\",U=\"\";break;default:throw new Error(`${L} unrecognized state`)}U=`${B}${V}[${opName(u)}]${U}\\n`,w+=U},C.displayTrace=()=>w},Cp=function fnstats(){const s=Pp;let o,i,a;const u=[],_=[],w=[];this.init=(s,a)=>{o=s,i=a,clear()},this.collect=(o,i)=>{incStat(a,i.state,i.phraseLength),incStat(u[o.type],i.state,i.phraseLength),o.type===s.RNM&&incStat(_[o.index],i.state,i.phraseLength),o.type===s.UDT&&incStat(w[o.index],i.state,i.phraseLength)},this.displayStats=()=>{let o=\"\";const i={match:0,empty:0,nomatch:0,total:0},displayRow=(s,o,a,u,_)=>{i.match+=o,i.empty+=a,i.nomatch+=u,i.total+=_;return`${s} | ${normalize(o)} | ${normalize(a)} | ${normalize(u)} | ${normalize(_)} |\\n`};return o+=\"          OPERATOR STATS\\n\",o+=\"      |   MATCH |   EMPTY | NOMATCH |   TOTAL |\\n\",o+=displayRow(\"  ALT\",u[s.ALT].match,u[s.ALT].empty,u[s.ALT].nomatch,u[s.ALT].total),o+=displayRow(\"  CAT\",u[s.CAT].match,u[s.CAT].empty,u[s.CAT].nomatch,u[s.CAT].total),o+=displayRow(\"  REP\",u[s.REP].match,u[s.REP].empty,u[s.REP].nomatch,u[s.REP].total),o+=displayRow(\"  RNM\",u[s.RNM].match,u[s.RNM].empty,u[s.RNM].nomatch,u[s.RNM].total),o+=displayRow(\"  TRG\",u[s.TRG].match,u[s.TRG].empty,u[s.TRG].nomatch,u[s.TRG].total),o+=displayRow(\"  TBS\",u[s.TBS].match,u[s.TBS].empty,u[s.TBS].nomatch,u[s.TBS].total),o+=displayRow(\"  TLS\",u[s.TLS].match,u[s.TLS].empty,u[s.TLS].nomatch,u[s.TLS].total),o+=displayRow(\"  UDT\",u[s.UDT].match,u[s.UDT].empty,u[s.UDT].nomatch,u[s.UDT].total),o+=displayRow(\"  AND\",u[s.AND].match,u[s.AND].empty,u[s.AND].nomatch,u[s.AND].total),o+=displayRow(\"  NOT\",u[s.NOT].match,u[s.NOT].empty,u[s.NOT].nomatch,u[s.NOT].total),o+=displayRow(\"TOTAL\",i.match,i.empty,i.nomatch,i.total),o},this.displayHits=s=>{let o=\"\";const displayRow=(s,o,i,u,_)=>{a.match+=s,a.empty+=o,a.nomatch+=i,a.total+=u;return`| ${normalize(s)} | ${normalize(o)} | ${normalize(i)} | ${normalize(u)} | ${_}\\n`};\"string\"==typeof s&&\"a\"===s.toLowerCase()[0]?(_.sort(sortAlpha),w.sort(sortAlpha),o+=\"    RULES/UDTS ALPHABETICALLY\\n\"):\"string\"==typeof s&&\"i\"===s.toLowerCase()[0]?(_.sort(sortIndex),w.sort(sortIndex),o+=\"    RULES/UDTS BY INDEX\\n\"):(_.sort(sortHits),w.sort(sortHits),o+=\"    RULES/UDTS BY HIT COUNT\\n\"),o+=\"|   MATCH |   EMPTY | NOMATCH |   TOTAL | NAME\\n\";for(let s=0;s<_.length;s+=1){let i=_[s];i.total&&(o+=displayRow(i.match,i.empty,i.nomatch,i.total,i.name))}for(let s=0;s<w.length;s+=1){let i=w[s];i.total&&(o+=displayRow(i.match,i.empty,i.nomatch,i.total,i.name))}return o};const normalize=s=>s<10?`      ${s}`:s<100?`     ${s}`:s<1e3?`    ${s}`:s<1e4?`   ${s}`:s<1e5?`  ${s}`:s<1e6?` ${s}`:`${s}`,sortAlpha=(s,o)=>s.lower<o.lower?-1:s.lower>o.lower?1:0,sortHits=(s,o)=>s.total<o.total?1:s.total>o.total?-1:sortAlpha(s,o),sortIndex=(s,o)=>s.index<o.index?-1:s.index>o.index?1:0,x=function fnempty(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},clear=()=>{u.length=0,a=new x,u[s.ALT]=new x,u[s.CAT]=new x,u[s.REP]=new x,u[s.RNM]=new x,u[s.TRG]=new x,u[s.TBS]=new x,u[s.TLS]=new x,u[s.UDT]=new x,u[s.AND]=new x,u[s.NOT]=new x,_.length=0;for(let s=0;s<o.length;s+=1)_.push({empty:0,match:0,nomatch:0,total:0,name:o[s].name,lower:o[s].lower,index:o[s].index});if(i.length>0){w.length=0;for(let s=0;s<i.length;s+=1)w.push({empty:0,match:0,nomatch:0,total:0,name:i[s].name,lower:i[s].lower,index:i[s].index})}},incStat=(o,i)=>{switch(o.total+=1,i){case s.EMPTY:o.empty+=1;break;case s.MATCH:o.match+=1;break;case s.NOMATCH:o.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${i}`)}}},jp={stringToChars:s=>[...s].map((s=>s.codePointAt(0))),charsToString:(s,o,i)=>{let a=s;for(;!(void 0===o||o<0);){if(void 0===i){a=s.slice(o);break}if(i<=0)return\"\";a=s.slice(o,o+i);break}return String.fromCodePoint(...a)}},Pp={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:s=>{switch(s){case Pp.ALT:return\"ALT\";case Pp.CAT:return\"CAT\";case Pp.REP:return\"REP\";case Pp.RNM:return\"RNM\";case Pp.TRG:return\"TRG\";case Pp.TBS:return\"TBS\";case Pp.TLS:return\"TLS\";case Pp.UDT:return\"UDT\";case Pp.AND:return\"AND\";case Pp.NOT:return\"NOT\";case Pp.ACTIVE:return\"ACTIVE\";case Pp.EMPTY:return\"EMPTY\";case Pp.MATCH:return\"MATCH\";case Pp.NOMATCH:return\"NOMATCH\";case Pp.SEM_PRE:return\"SEM_PRE\";case Pp.SEM_POST:return\"SEM_POST\";case Pp.SEM_OK:return\"SEM_OK\";default:return\"UNRECOGNIZED STATE\"}}};function grammar(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"json-pointer\",lower:\"json-pointer\",index:0,isBkr:!1},this.rules[1]={name:\"reference-token\",lower:\"reference-token\",index:1,isBkr:!1},this.rules[2]={name:\"unescaped\",lower:\"unescaped\",index:2,isBkr:!1},this.rules[3]={name:\"escaped\",lower:\"escaped\",index:3,isBkr:!1},this.rules[4]={name:\"array-location\",lower:\"array-location\",index:4,isBkr:!1},this.rules[5]={name:\"array-index\",lower:\"array-index\",index:5,isBkr:!1},this.rules[6]={name:\"array-dash\",lower:\"array-dash\",index:6,isBkr:!1},this.rules[7]={name:\"slash\",lower:\"slash\",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function toString(){let s=\"\";return s+=\"; JavaScript Object Notation (JSON) Pointer ABNF syntax\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc6901\\n\",s+=\"json-pointer    = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\\n\",s+=\"reference-token = *( unescaped / escaped )\\n\",s+=\"unescaped       = %x00-2E / %x30-7D / %x7F-10FFFF\\n\",s+=\"                ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\\n\",s+='escaped         = \"~\" ( \"0\" / \"1\" )\\n',s+=\"                ; representing '~' and '/', respectively\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc6901#section-4\\n\",s+=\"array-location  = array-index / array-dash\\n\",s+=\"array-index     = %x30 / ( %x31-39 *(%x30-39) )\\n\",s+='                ; \"0\", or digits without a leading \"0\"\\n',s+='array-dash      = \"-\"\\n',s+=\"\\n\",s+=\"; Surrogate named rules\\n\",s+='slash           = \"/\"\\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\\n; https://datatracker.ietf.org/doc/html/rfc6901\\njson-pointer    = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\\nreference-token = *( unescaped / escaped )\\nunescaped       = %x00-2E / %x30-7D / %x7F-10FFFF\\n                ; %x2F (\\'/\\') and %x7E (\\'~\\') are excluded from \\'unescaped\\'\\nescaped         = \"~\" ( \"0\" / \"1\" )\\n                ; representing \\'~\\' and \\'/\\', respectively\\n\\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\\narray-location  = array-index / array-dash\\narray-index     = %x30 / ( %x31-39 *(%x30-39) )\\n                ; \"0\", or digits without a leading \"0\"\\narray-dash      = \"-\"\\n\\n; Surrogate named rules\\nslash           = \"/\"\\n'}}class JSONPointerError extends Error{constructor(s,o=void 0){if(super(s,o),this.name=this.constructor.name,\"string\"==typeof s&&(this.message=s),\"function\"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(s).stack,null!=o&&\"object\"==typeof o&&Object.prototype.hasOwnProperty.call(o,\"cause\")&&!(\"cause\"in this)){const{cause:s}=o;this.cause=s,s instanceof Error&&\"stack\"in s&&(this.stack=`${this.stack}\\nCAUSE: ${s.stack}`)}if(null!=o&&\"object\"==typeof o){const{cause:s,...i}=o;Object.assign(this,i)}}}const Ip=JSONPointerError;const Tp=class JSONPointerParseError extends Ip{},callbacks_cst=s=>(o,i,a,u,_)=>{if(\"object\"!=typeof _||null===_||Array.isArray(_))throw new Tp(\"parser's user data must be an object\");if(o===Pp.SEM_PRE){const o={type:s,text:jp.charsToString(i,a,u),start:a,length:u,children:[]};if(_.stack.length>0){_.stack[_.stack.length-1].children.push(o)}else _.root=o;_.stack.push(o)}o===Pp.SEM_POST&&_.stack.pop()};const Np=class CSTTranslator_CSTTranslator extends Op{constructor(){super(),this.callbacks[\"json-pointer\"]=callbacks_cst(\"json-pointer\"),this.callbacks[\"reference-token\"]=callbacks_cst(\"reference-token\"),this.callbacks.slash=callbacks_cst(\"text\")}getTree(){const s={stack:[],root:null};return this.translate(s),delete s.stack,s}},es_unescape=s=>{if(\"string\"!=typeof s)throw new TypeError(\"Reference token must be a string\");return s.replace(/~1/g,\"/\").replace(/~0/g,\"~\")};const Mp=class ASTTranslator extends Np{getTree(){const{root:s}=super.getTree();return s.children.filter((({type:s})=>\"reference-token\"===s)).map((({text:s})=>es_unescape(s)))}};const Rp=class Expectations extends Array{toString(){return this.map((s=>`\"${String(s)}\"`)).join(\", \")}};const Dp=class Trace extends Ap{inferExpectations(){const s=this.displayTrace().split(\"\\n\"),o=new Set;let i=-1;for(let a=0;a<s.length;a++){const u=s[a];if(u.includes(\"M|\")){const s=u.match(/]'(.*)'$/);s&&s[1]&&(i=a)}if(a>i){const s=u.match(/N\\|\\[TLS\\(([^)]+)\\)]/);s&&o.add(s[1])}}return new Rp(...o)}},Lp=new grammar,es_parse=(s,{translator:o=new Mp,stats:i=!1,trace:a=!1}={})=>{if(\"string\"!=typeof s)throw new TypeError(\"JSON Pointer must be a string\");try{const u=new kp;o&&(u.ast=o),i&&(u.stats=new Cp),a&&(u.trace=new Dp);const _=u.parse(Lp,\"json-pointer\",s);return{result:_,tree:_.success&&o?u.ast.getTree():void 0,stats:u.stats,trace:u.trace}}catch(o){throw new Tp(\"Unexpected error during JSON Pointer parsing\",{cause:o,jsonPointer:s})}};new grammar,new kp,new grammar,new kp;const Fp=new grammar,Bp=new kp,array_index=s=>{if(\"string\"!=typeof s)return!1;try{return Bp.parse(Fp,\"array-index\",s).success}catch{return!1}},$p=new grammar,qp=new kp,array_dash=s=>{if(\"string\"!=typeof s)return!1;try{return qp.parse($p,\"array-dash\",s).success}catch{return!1}},es_escape=s=>{if(\"string\"!=typeof s&&\"number\"!=typeof s)throw new TypeError(\"Reference token must be a string or number\");return String(s).replace(/~/g,\"~0\").replace(/\\//g,\"~1\")};const Up=class JSONPointerCompileError extends Ip{},es_compile=s=>{if(!Array.isArray(s))throw new TypeError(\"Reference tokens must be a list of strings or numbers\");try{return 0===s.length?\"\":`/${s.map((s=>{if(\"string\"!=typeof s&&\"number\"!=typeof s)throw new TypeError(\"Reference token must be a string or number\");return es_escape(String(s))})).join(\"/\")}`}catch(o){throw new Up(\"Unexpected error during JSON Pointer compilation\",{cause:o,referenceTokens:s})}};const Vp=class TraceBuilder{#e;#t;#r;constructor(s,o={}){this.#e=s,this.#e.steps=[],this.#e.failed=!1,this.#e.failedAt=-1,this.#e.message=`JSON Pointer \"${o.jsonPointer}\" was successfully evaluated against the provided value`,this.#e.context={...o,realm:o.realm.name},this.#t=[],this.#r=o.realm}step({referenceToken:s,input:o,output:i,success:a=!0,reason:u}){const _=this.#t.length;this.#t.push(s);const w={referenceToken:s,referenceTokenPosition:_,input:o,inputType:this.#r.isObject(o)?\"object\":this.#r.isArray(o)?\"array\":\"unrecognized\",output:i,success:a};u&&(w.reason=u),this.#e.steps.push(w),a||(this.#e.failed=!0,this.#e.failedAt=_,this.#e.message=u)}};const zp=class EvaluationRealm{name=\"\";isArray(s){throw new Ip(\"Realm.isArray(node) must be implemented in a subclass\")}isObject(s){throw new Ip(\"Realm.isObject(node) must be implemented in a subclass\")}sizeOf(s){throw new Ip(\"Realm.sizeOf(node) must be implemented in a subclass\")}has(s,o){throw new Ip(\"Realm.has(node) must be implemented in a subclass\")}evaluate(s,o){throw new Ip(\"Realm.evaluate(node) must be implemented in a subclass\")}};const Wp=class JSONPointerEvaluateError extends Ip{};const Jp=class JSONPointerIndexError extends Wp{};const Hp=class JSONEvaluationRealm extends zp{name=\"json\";isArray(s){return Array.isArray(s)}isObject(s){return\"object\"==typeof s&&null!==s&&!this.isArray(s)}sizeOf(s){return this.isArray(s)?s.length:this.isObject(s)?Object.keys(s).length:0}has(s,o){if(this.isArray(s)){const i=Number(o),a=i>>>0;if(i!==a)throw new Jp(`Invalid array index \"${o}\": index must be an unsinged 32-bit integer`,{referenceToken:o,currentValue:s,realm:this.name});return a<this.sizeOf(s)&&Object.prototype.hasOwnProperty.call(s,i)}return!!this.isObject(s)&&Object.prototype.hasOwnProperty.call(s,o)}evaluate(s,o){return this.isArray(s)?s[Number(o)]:s[o]}};const Kp=class JSONPointerTypeError extends Wp{};const Gp=class JSONPointerKeyError extends Wp{},es_evaluate=(s,o,{strictArrays:i=!0,strictObjects:a=!0,realm:u=new Hp,trace:_=!0}={})=>{const{result:w,tree:x,trace:C}=es_parse(o,{trace:!!_}),j=\"object\"==typeof _&&null!==_?new Vp(_,{jsonPointer:o,referenceTokens:x,strictArrays:i,strictObjects:a,realm:u,value:s}):null;try{let _;if(!w.success){let i=`Invalid JSON Pointer: \"${o}\". Syntax error at position ${w.maxMatched}`;throw i+=C?`, expected ${C.inferExpectations()}`:\"\",new Wp(i,{jsonPointer:o,currentValue:s,realm:u.name})}return x.reduce(((s,w,C)=>{if(u.isArray(s)){if(array_dash(w)){if(i)throw new Jp(`Invalid array index \"-\" at position ${C} in \"${o}\". The \"-\" token always refers to a nonexistent element during evaluation`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name});return _=u.evaluate(s,String(u.sizeOf(s))),null==j||j.step({referenceToken:w,input:s,output:_}),_}if(!array_index(w))throw new Jp(`Invalid array index \"${w}\" at position ${C} in \"${o}\": index MUST be \"0\", or digits without a leading \"0\"`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name});const a=Number(w);if(!Number.isSafeInteger(a))throw new Jp(`Invalid array index \"${w}\" at position ${C} in \"${o}\": index must be a safe integer`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name});if(!u.has(s,w)&&i)throw new Jp(`Invalid array index \"${w}\" at position ${C} in \"${o}\": index not found in array`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name});return _=u.evaluate(s,w),null==j||j.step({referenceToken:w,input:s,output:_}),_}if(u.isObject(s)){if(!u.has(s,w)&&a)throw new Gp(`Invalid object key \"${w}\" at position ${C} in \"${o}\": key not found in object`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name});return _=u.evaluate(s,w),null==j||j.step({referenceToken:w,input:s,output:_}),_}throw new Kp(`Invalid reference token \"${w}\" at position ${C} in \"${o}\": cannot be applied to a non-object/non-array value`,{jsonPointer:o,referenceTokens:x,referenceToken:w,referenceTokenPosition:C,currentValue:s,realm:u.name})}),s)}catch(s){if(null==j||j.step({referenceToken:s.referenceToken,input:s.currentValue,success:!1,reason:s.message}),s instanceof Wp)throw s;throw new Wp(\"Unexpected error during JSON Pointer evaluation\",{cause:s,jsonPointer:o,referenceTokens:x})}};const Yp=class ApiDOMEvaluationRealm extends zp{name=\"apidom\";isArray(s){return Mu(s)}isObject(s){return Nu(s)}sizeOf(s){return this.isArray(s)||this.isObject(s)?s.length:0}has(s,o){if(this.isArray(s)){const i=Number(o),a=i>>>0;if(i!==a)throw new Jp(`Invalid array index \"${o}\": index must be an unsinged 32-bit integer`,{referenceToken:o,currentValue:s,realm:this.name});return a<this.sizeOf(s)}if(this.isObject(s)){const i=s.keys(),a=new Set(i);if(i.length!==a.size)throw new Gp(`Object key \"${o}\" is not unique — JSON Pointer requires unique member names`,{referenceToken:o,currentValue:s,realm:this.name});return s.hasKey(o)}return!1}evaluate(s,o){return this.isArray(s)?s.get(Number(o)):s.get(o)}},apidom_evaluate=(s,o,i={})=>es_evaluate(s,o,{...i,realm:new Yp});class Callback extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"callback\"}}const Xp=Callback;class Components extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"components\"}get schemas(){return this.get(\"schemas\")}set schemas(s){this.set(\"schemas\",s)}get responses(){return this.get(\"responses\")}set responses(s){this.set(\"responses\",s)}get parameters(){return this.get(\"parameters\")}set parameters(s){this.set(\"parameters\",s)}get examples(){return this.get(\"examples\")}set examples(s){this.set(\"examples\",s)}get requestBodies(){return this.get(\"requestBodies\")}set requestBodies(s){this.set(\"requestBodies\",s)}get headers(){return this.get(\"headers\")}set headers(s){this.set(\"headers\",s)}get securitySchemes(){return this.get(\"securitySchemes\")}set securitySchemes(s){this.set(\"securitySchemes\",s)}get links(){return this.get(\"links\")}set links(s){this.set(\"links\",s)}get callbacks(){return this.get(\"callbacks\")}set callbacks(s){this.set(\"callbacks\",s)}}const Qp=Components;class Contact extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"contact\"}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get url(){return this.get(\"url\")}set url(s){this.set(\"url\",s)}get email(){return this.get(\"email\")}set email(s){this.set(\"email\",s)}}const Zp=Contact;class Discriminator extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"discriminator\"}get propertyName(){return this.get(\"propertyName\")}set propertyName(s){this.set(\"propertyName\",s)}get mapping(){return this.get(\"mapping\")}set mapping(s){this.set(\"mapping\",s)}}const th=Discriminator;class Encoding extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"encoding\"}get contentType(){return this.get(\"contentType\")}set contentType(s){this.set(\"contentType\",s)}get headers(){return this.get(\"headers\")}set headers(s){this.set(\"headers\",s)}get style(){return this.get(\"style\")}set style(s){this.set(\"style\",s)}get explode(){return this.get(\"explode\")}set explode(s){this.set(\"explode\",s)}get allowedReserved(){return this.get(\"allowedReserved\")}set allowedReserved(s){this.set(\"allowedReserved\",s)}}const rh=Encoding;class Example extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"example\"}get summary(){return this.get(\"summary\")}set summary(s){this.set(\"summary\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get value(){return this.get(\"value\")}set value(s){this.set(\"value\",s)}get externalValue(){return this.get(\"externalValue\")}set externalValue(s){this.set(\"externalValue\",s)}}const uh=Example;class ExternalDocumentation extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"externalDocumentation\"}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get url(){return this.get(\"url\")}set url(s){this.set(\"url\",s)}}const dh=ExternalDocumentation;class Header extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"header\"}get required(){return this.hasKey(\"required\")?this.get(\"required\"):new Su.bd(!1)}set required(s){this.set(\"required\",s)}get deprecated(){return this.hasKey(\"deprecated\")?this.get(\"deprecated\"):new Su.bd(!1)}set deprecated(s){this.set(\"deprecated\",s)}get allowEmptyValue(){return this.get(\"allowEmptyValue\")}set allowEmptyValue(s){this.set(\"allowEmptyValue\",s)}get style(){return this.get(\"style\")}set style(s){this.set(\"style\",s)}get explode(){return this.get(\"explode\")}set explode(s){this.set(\"explode\",s)}get allowReserved(){return this.get(\"allowReserved\")}set allowReserved(s){this.set(\"allowReserved\",s)}get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}get example(){return this.get(\"example\")}set example(s){this.set(\"example\",s)}get examples(){return this.get(\"examples\")}set examples(s){this.set(\"examples\",s)}get contentProp(){return this.get(\"content\")}set contentProp(s){this.set(\"content\",s)}}Object.defineProperty(Header.prototype,\"description\",{get(){return this.get(\"description\")},set(s){this.set(\"description\",s)},enumerable:!0});const fh=Header;class Info extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"info\",this.classes.push(\"info\")}get title(){return this.get(\"title\")}set title(s){this.set(\"title\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get termsOfService(){return this.get(\"termsOfService\")}set termsOfService(s){this.set(\"termsOfService\",s)}get contact(){return this.get(\"contact\")}set contact(s){this.set(\"contact\",s)}get license(){return this.get(\"license\")}set license(s){this.set(\"license\",s)}get version(){return this.get(\"version\")}set version(s){this.set(\"version\",s)}}const vh=Info;class License extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"license\"}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get url(){return this.get(\"url\")}set url(s){this.set(\"url\",s)}}const _h=License;class Link extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"link\"}get operationRef(){return this.get(\"operationRef\")}set operationRef(s){this.set(\"operationRef\",s)}get operationId(){return this.get(\"operationId\")}set operationId(s){this.set(\"operationId\",s)}get operation(){var s,o;return ju(this.operationRef)?null===(s=this.operationRef)||void 0===s?void 0:s.meta.get(\"operation\"):ju(this.operationId)?null===(o=this.operationId)||void 0===o?void 0:o.meta.get(\"operation\"):void 0}set operation(s){this.set(\"operation\",s)}get parameters(){return this.get(\"parameters\")}set parameters(s){this.set(\"parameters\",s)}get requestBody(){return this.get(\"requestBody\")}set requestBody(s){this.set(\"requestBody\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get server(){return this.get(\"server\")}set server(s){this.set(\"server\",s)}}const wh=Link;class MediaType extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"mediaType\"}get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}get example(){return this.get(\"example\")}set example(s){this.set(\"example\",s)}get examples(){return this.get(\"examples\")}set examples(s){this.set(\"examples\",s)}get encoding(){return this.get(\"encoding\")}set encoding(s){this.set(\"encoding\",s)}}const Oh=MediaType;class OAuthFlow extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"oAuthFlow\"}get authorizationUrl(){return this.get(\"authorizationUrl\")}set authorizationUrl(s){this.set(\"authorizationUrl\",s)}get tokenUrl(){return this.get(\"tokenUrl\")}set tokenUrl(s){this.set(\"tokenUrl\",s)}get refreshUrl(){return this.get(\"refreshUrl\")}set refreshUrl(s){this.set(\"refreshUrl\",s)}get scopes(){return this.get(\"scopes\")}set scopes(s){this.set(\"scopes\",s)}}const jh=OAuthFlow;class OAuthFlows extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"oAuthFlows\"}get implicit(){return this.get(\"implicit\")}set implicit(s){this.set(\"implicit\",s)}get password(){return this.get(\"password\")}set password(s){this.set(\"password\",s)}get clientCredentials(){return this.get(\"clientCredentials\")}set clientCredentials(s){this.set(\"clientCredentials\",s)}get authorizationCode(){return this.get(\"authorizationCode\")}set authorizationCode(s){this.set(\"authorizationCode\",s)}}const Ph=OAuthFlows;class Openapi extends Su.Om{constructor(s,o,i){super(s,o,i),this.element=\"openapi\",this.classes.push(\"spec-version\"),this.classes.push(\"version\")}}const Ih=Openapi;class OpenApi3_0 extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"openApi3_0\",this.classes.push(\"api\")}get openapi(){return this.get(\"openapi\")}set openapi(s){this.set(\"openapi\",s)}get info(){return this.get(\"info\")}set info(s){this.set(\"info\",s)}get servers(){return this.get(\"servers\")}set servers(s){this.set(\"servers\",s)}get paths(){return this.get(\"paths\")}set paths(s){this.set(\"paths\",s)}get components(){return this.get(\"components\")}set components(s){this.set(\"components\",s)}get security(){return this.get(\"security\")}set security(s){this.set(\"security\",s)}get tags(){return this.get(\"tags\")}set tags(s){this.set(\"tags\",s)}get externalDocs(){return this.get(\"externalDocs\")}set externalDocs(s){this.set(\"externalDocs\",s)}}const Rh=OpenApi3_0;class Operation extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"operation\"}get tags(){return this.get(\"tags\")}set tags(s){this.set(\"tags\",s)}get summary(){return this.get(\"summary\")}set summary(s){this.set(\"summary\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}set externalDocs(s){this.set(\"externalDocs\",s)}get externalDocs(){return this.get(\"externalDocs\")}get operationId(){return this.get(\"operationId\")}set operationId(s){this.set(\"operationId\",s)}get parameters(){return this.get(\"parameters\")}set parameters(s){this.set(\"parameters\",s)}get requestBody(){return this.get(\"requestBody\")}set requestBody(s){this.set(\"requestBody\",s)}get responses(){return this.get(\"responses\")}set responses(s){this.set(\"responses\",s)}get callbacks(){return this.get(\"callbacks\")}set callbacks(s){this.set(\"callbacks\",s)}get deprecated(){return this.hasKey(\"deprecated\")?this.get(\"deprecated\"):new Su.bd(!1)}set deprecated(s){this.set(\"deprecated\",s)}get security(){return this.get(\"security\")}set security(s){this.set(\"security\",s)}get servers(){return this.get(\"severs\")}set servers(s){this.set(\"servers\",s)}}const Dh=Operation;class Parameter extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"parameter\"}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get in(){return this.get(\"in\")}set in(s){this.set(\"in\",s)}get required(){return this.hasKey(\"required\")?this.get(\"required\"):new Su.bd(!1)}set required(s){this.set(\"required\",s)}get deprecated(){return this.hasKey(\"deprecated\")?this.get(\"deprecated\"):new Su.bd(!1)}set deprecated(s){this.set(\"deprecated\",s)}get allowEmptyValue(){return this.get(\"allowEmptyValue\")}set allowEmptyValue(s){this.set(\"allowEmptyValue\",s)}get style(){return this.get(\"style\")}set style(s){this.set(\"style\",s)}get explode(){return this.get(\"explode\")}set explode(s){this.set(\"explode\",s)}get allowReserved(){return this.get(\"allowReserved\")}set allowReserved(s){this.set(\"allowReserved\",s)}get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}get example(){return this.get(\"example\")}set example(s){this.set(\"example\",s)}get examples(){return this.get(\"examples\")}set examples(s){this.set(\"examples\",s)}get contentProp(){return this.get(\"content\")}set contentProp(s){this.set(\"content\",s)}}Object.defineProperty(Parameter.prototype,\"description\",{get(){return this.get(\"description\")},set(s){this.set(\"description\",s)},enumerable:!0});const Lh=Parameter;class PathItem extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"pathItem\"}get $ref(){return this.get(\"$ref\")}set $ref(s){this.set(\"$ref\",s)}get summary(){return this.get(\"summary\")}set summary(s){this.set(\"summary\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get GET(){return this.get(\"get\")}set GET(s){this.set(\"GET\",s)}get PUT(){return this.get(\"put\")}set PUT(s){this.set(\"PUT\",s)}get POST(){return this.get(\"post\")}set POST(s){this.set(\"POST\",s)}get DELETE(){return this.get(\"delete\")}set DELETE(s){this.set(\"DELETE\",s)}get OPTIONS(){return this.get(\"options\")}set OPTIONS(s){this.set(\"OPTIONS\",s)}get HEAD(){return this.get(\"head\")}set HEAD(s){this.set(\"HEAD\",s)}get PATCH(){return this.get(\"patch\")}set PATCH(s){this.set(\"PATCH\",s)}get TRACE(){return this.get(\"trace\")}set TRACE(s){this.set(\"TRACE\",s)}get servers(){return this.get(\"servers\")}set servers(s){this.set(\"servers\",s)}get parameters(){return this.get(\"parameters\")}set parameters(s){this.set(\"parameters\",s)}}const Fh=PathItem;class Paths extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"paths\"}}const Jh=Paths;class Reference extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"reference\",this.classes.push(\"openapi-reference\")}get $ref(){return this.get(\"$ref\")}set $ref(s){this.set(\"$ref\",s)}}const Hh=Reference;class RequestBody extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"requestBody\"}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get contentProp(){return this.get(\"content\")}set contentProp(s){this.set(\"content\",s)}get required(){return this.hasKey(\"required\")?this.get(\"required\"):new Su.bd(!1)}set required(s){this.set(\"required\",s)}}const Kh=RequestBody;class Response_Response extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"response\"}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get headers(){return this.get(\"headers\")}set headers(s){this.set(\"headers\",s)}get contentProp(){return this.get(\"content\")}set contentProp(s){this.set(\"content\",s)}get links(){return this.get(\"links\")}set links(s){this.set(\"links\",s)}}const Gh=Response_Response;class Responses extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"responses\"}get default(){return this.get(\"default\")}set default(s){this.set(\"default\",s)}}const Qh=Responses;const td=class UnsupportedOperationError extends Ko{};class JSONSchema extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"JSONSchemaDraft4\"}get idProp(){return this.get(\"id\")}set idProp(s){this.set(\"id\",s)}get $schema(){return this.get(\"$schema\")}set $schema(s){this.set(\"$schema\",s)}get multipleOf(){return this.get(\"multipleOf\")}set multipleOf(s){this.set(\"multipleOf\",s)}get maximum(){return this.get(\"maximum\")}set maximum(s){this.set(\"maximum\",s)}get exclusiveMaximum(){return this.get(\"exclusiveMaximum\")}set exclusiveMaximum(s){this.set(\"exclusiveMaximum\",s)}get minimum(){return this.get(\"minimum\")}set minimum(s){this.set(\"minimum\",s)}get exclusiveMinimum(){return this.get(\"exclusiveMinimum\")}set exclusiveMinimum(s){this.set(\"exclusiveMinimum\",s)}get maxLength(){return this.get(\"maxLength\")}set maxLength(s){this.set(\"maxLength\",s)}get minLength(){return this.get(\"minLength\")}set minLength(s){this.set(\"minLength\",s)}get pattern(){return this.get(\"pattern\")}set pattern(s){this.set(\"pattern\",s)}get additionalItems(){return this.get(\"additionalItems\")}set additionalItems(s){this.set(\"additionalItems\",s)}get items(){return this.get(\"items\")}set items(s){this.set(\"items\",s)}get maxItems(){return this.get(\"maxItems\")}set maxItems(s){this.set(\"maxItems\",s)}get minItems(){return this.get(\"minItems\")}set minItems(s){this.set(\"minItems\",s)}get uniqueItems(){return this.get(\"uniqueItems\")}set uniqueItems(s){this.set(\"uniqueItems\",s)}get maxProperties(){return this.get(\"maxProperties\")}set maxProperties(s){this.set(\"maxProperties\",s)}get minProperties(){return this.get(\"minProperties\")}set minProperties(s){this.set(\"minProperties\",s)}get required(){return this.get(\"required\")}set required(s){this.set(\"required\",s)}get properties(){return this.get(\"properties\")}set properties(s){this.set(\"properties\",s)}get additionalProperties(){return this.get(\"additionalProperties\")}set additionalProperties(s){this.set(\"additionalProperties\",s)}get patternProperties(){return this.get(\"patternProperties\")}set patternProperties(s){this.set(\"patternProperties\",s)}get dependencies(){return this.get(\"dependencies\")}set dependencies(s){this.set(\"dependencies\",s)}get enum(){return this.get(\"enum\")}set enum(s){this.set(\"enum\",s)}get type(){return this.get(\"type\")}set type(s){this.set(\"type\",s)}get allOf(){return this.get(\"allOf\")}set allOf(s){this.set(\"allOf\",s)}get anyOf(){return this.get(\"anyOf\")}set anyOf(s){this.set(\"anyOf\",s)}get oneOf(){return this.get(\"oneOf\")}set oneOf(s){this.set(\"oneOf\",s)}get not(){return this.get(\"not\")}set not(s){this.set(\"not\",s)}get definitions(){return this.get(\"definitions\")}set definitions(s){this.set(\"definitions\",s)}get title(){return this.get(\"title\")}set title(s){this.set(\"title\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get default(){return this.get(\"default\")}set default(s){this.set(\"default\",s)}get format(){return this.get(\"format\")}set format(s){this.set(\"format\",s)}get base(){return this.get(\"base\")}set base(s){this.set(\"base\",s)}get links(){return this.get(\"links\")}set links(s){this.set(\"links\",s)}get media(){return this.get(\"media\")}set media(s){this.set(\"media\",s)}get readOnly(){return this.get(\"readOnly\")}set readOnly(s){this.set(\"readOnly\",s)}}const sd=JSONSchema;class JSONReference extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"JSONReference\",this.classes.push(\"json-reference\")}get $ref(){return this.get(\"$ref\")}set $ref(s){this.set(\"$ref\",s)}}const id=JSONReference;class Media extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"media\"}get binaryEncoding(){return this.get(\"binaryEncoding\")}set binaryEncoding(s){this.set(\"binaryEncoding\",s)}get type(){return this.get(\"type\")}set type(s){this.set(\"type\",s)}}const cd=Media;class LinkDescription extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"linkDescription\"}get href(){return this.get(\"href\")}set href(s){this.set(\"href\",s)}get rel(){return this.get(\"rel\")}set rel(s){this.set(\"rel\",s)}get title(){return this.get(\"title\")}set title(s){this.set(\"title\",s)}get targetSchema(){return this.get(\"targetSchema\")}set targetSchema(s){this.set(\"targetSchema\",s)}get mediaType(){return this.get(\"mediaType\")}set mediaType(s){this.set(\"mediaType\",s)}get method(){return this.get(\"method\")}set method(s){this.set(\"method\",s)}get encType(){return this.get(\"encType\")}set encType(s){this.set(\"encType\",s)}get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}}const ld=LinkDescription,emptyElement=s=>{const o=s.meta.length>0?cloneDeep(s.meta):void 0,i=s.attributes.length>0?cloneDeep(s.attributes):void 0;return new s.constructor(void 0,o,i)},cloneUnlessOtherwiseSpecified=(s,o)=>o.clone&&o.isMergeableElement(s)?deepmerge(emptyElement(s),s,o):s,ud={clone:!0,isMergeableElement:s=>Nu(s)||Mu(s),arrayElementMerge:(s,o,i)=>s.concat(o)[\"fantasy-land/map\"]((s=>cloneUnlessOtherwiseSpecified(s,i))),objectElementMerge:(s,o,i)=>{const a=Nu(s)?emptyElement(s):emptyElement(o);return Nu(s)&&s.forEach(((s,o,u)=>{const _=cloneShallow(u);_.value=cloneUnlessOtherwiseSpecified(s,i),a.content.push(_)})),o.forEach(((o,u,_)=>{const w=serializers_value(u);let x;if(Nu(s)&&s.hasKey(w)&&i.isMergeableElement(o)){const a=s.get(w);x=cloneShallow(_),x.value=((s,o)=>{if(\"function\"!=typeof o.customMerge)return deepmerge;const i=o.customMerge(s,o);return\"function\"==typeof i?i:deepmerge})(u,i)(a,o,i)}else x=cloneShallow(_),x.value=cloneUnlessOtherwiseSpecified(o,i);a.remove(w),a.content.push(x)})),a},customMerge:void 0,customMetaMerge:void 0,customAttributesMerge:void 0},deepmerge=(s,o,i)=>{var a,u,_;const w={...ud,...i};w.isMergeableElement=null!==(a=w.isMergeableElement)&&void 0!==a?a:ud.isMergeableElement,w.arrayElementMerge=null!==(u=w.arrayElementMerge)&&void 0!==u?u:ud.arrayElementMerge,w.objectElementMerge=null!==(_=w.objectElementMerge)&&void 0!==_?_:ud.objectElementMerge;const x=Mu(o);if(!(x===Mu(s)))return cloneUnlessOtherwiseSpecified(o,w);const C=x&&\"function\"==typeof w.arrayElementMerge?w.arrayElementMerge(s,o,w):w.objectElementMerge(s,o,w);return C.meta=(s=>\"function\"!=typeof s.customMetaMerge?s=>cloneDeep(s):s.customMetaMerge)(w)(s.meta,o.meta),C.attributes=(s=>\"function\"!=typeof s.customAttributesMerge?s=>cloneDeep(s):s.customAttributesMerge)(w)(s.attributes,o.attributes),C};deepmerge.all=(s,o)=>{if(!Array.isArray(s))throw new TypeError(\"First argument of deepmerge should be an array.\");return 0===s.length?new Su.Sh:s.reduce(((s,i)=>deepmerge(s,i,o)),emptyElement(s[0]))};const dd=deepmerge;const md=class Visitor_Visitor{element;constructor(s){Object.assign(this,s)}copyMetaAndAttributes(s,o){(s.meta.length>0||o.meta.length>0)&&(o.meta=dd(o.meta,s.meta)),hasElementSourceMap(s)&&assignSourceMap(o,s),(s.attributes.length>0||s.meta.length>0)&&(o.attributes=dd(o.attributes,s.attributes))}};const yd=class FallbackVisitor extends md{enter(s){return this.element=cloneDeep(s),qu}},copyProps=(s,o,i=[])=>{const a=Object.getOwnPropertyDescriptors(o);for(let s of i)delete a[s];Object.defineProperties(s,a)},protoChain=(s,o=[s])=>{const i=Object.getPrototypeOf(s);return null===i?o:protoChain(i,[...o,i])},hardMixProtos=(s,o,i=[])=>{var a;const u=null!==(a=((...s)=>{if(0===s.length)return;let o;const i=s.map((s=>protoChain(s)));for(;i.every((s=>s.length>0));){const s=i.map((s=>s.pop())),a=s[0];if(!s.every((s=>s===a)))break;o=a}return o})(...s))&&void 0!==a?a:Object.prototype,_=Object.create(u),w=protoChain(u);for(let o of s){let s=protoChain(o);for(let o=s.length-1;o>=0;o--){let a=s[o];-1===w.indexOf(a)&&(copyProps(_,a,[\"constructor\",...i]),w.push(a))}}return _.constructor=o,_},unique=s=>s.filter(((o,i)=>s.indexOf(o)==i)),getIngredientWithProp=(s,o)=>{const i=o.map((s=>protoChain(s)));let a=0,u=!0;for(;u;){u=!1;for(let _=o.length-1;_>=0;_--){const o=i[_][a];if(null!=o&&(u=!0,null!=Object.getOwnPropertyDescriptor(o,s)))return i[_][0]}a++}},proxyMix=(s,o=Object.prototype)=>new Proxy({},{getPrototypeOf:()=>o,setPrototypeOf(){throw Error(\"Cannot set prototype of Proxies created by ts-mixer\")},getOwnPropertyDescriptor:(o,i)=>Object.getOwnPropertyDescriptor(getIngredientWithProp(i,s)||{},i),defineProperty(){throw new Error(\"Cannot define new properties on Proxies created by ts-mixer\")},has:(i,a)=>void 0!==getIngredientWithProp(a,s)||void 0!==o[a],get:(i,a)=>(getIngredientWithProp(a,s)||o)[a],set(o,i,a){const u=getIngredientWithProp(i,s);if(void 0===u)throw new Error(\"Cannot set new properties on Proxies created by ts-mixer\");return u[i]=a,!0},deleteProperty(){throw new Error(\"Cannot delete properties on Proxies created by ts-mixer\")},ownKeys:()=>s.map(Object.getOwnPropertyNames).reduce(((s,o)=>o.concat(s.filter((s=>o.indexOf(s)<0)))))}),vd=null,_d=\"copy\",Sd=\"copy\",Ed=\"deep\",wd=new WeakMap,getMixinsForClass=s=>wd.get(s),mergeObjectsOfDecorators=(s,o)=>{var i,a;const u=unique([...Object.getOwnPropertyNames(s),...Object.getOwnPropertyNames(o)]),_={};for(let w of u)_[w]=unique([...null!==(i=null==s?void 0:s[w])&&void 0!==i?i:[],...null!==(a=null==o?void 0:o[w])&&void 0!==a?a:[]]);return _},mergePropertyAndMethodDecorators=(s,o)=>{var i,a,u,_;return{property:mergeObjectsOfDecorators(null!==(i=null==s?void 0:s.property)&&void 0!==i?i:{},null!==(a=null==o?void 0:o.property)&&void 0!==a?a:{}),method:mergeObjectsOfDecorators(null!==(u=null==s?void 0:s.method)&&void 0!==u?u:{},null!==(_=null==o?void 0:o.method)&&void 0!==_?_:{})}},mergeDecorators=(s,o)=>{var i,a,u,_,w,x;return{class:unique([...null!==(i=null==s?void 0:s.class)&&void 0!==i?i:[],...null!==(a=null==o?void 0:o.class)&&void 0!==a?a:[]]),static:mergePropertyAndMethodDecorators(null!==(u=null==s?void 0:s.static)&&void 0!==u?u:{},null!==(_=null==o?void 0:o.static)&&void 0!==_?_:{}),instance:mergePropertyAndMethodDecorators(null!==(w=null==s?void 0:s.instance)&&void 0!==w?w:{},null!==(x=null==o?void 0:o.instance)&&void 0!==x?x:{})}},xd=new Map,deepDecoratorSearch=(...s)=>{const o=((...s)=>{var o;const i=new Set,a=new Set([...s]);for(;a.size>0;)for(let s of a){const u=protoChain(s.prototype).map((s=>s.constructor)),_=[...u,...null!==(o=getMixinsForClass(s))&&void 0!==o?o:[]].filter((s=>!i.has(s)));for(let s of _)a.add(s);i.add(s),a.delete(s)}return[...i]})(...s).map((s=>xd.get(s))).filter((s=>!!s));return 0==o.length?{}:1==o.length?o[0]:o.reduce(((s,o)=>mergeDecorators(s,o)))},getDecoratorsForClass=s=>{let o=xd.get(s);return o||(o={},xd.set(s,o)),o};function Mixin(...s){var o,i,a;const u=s.map((s=>s.prototype)),_=vd;if(null!==_){const s=u.map((s=>s[_])).filter((s=>\"function\"==typeof s)),combinedInitFunction=function(...o){for(let i of s)i.apply(this,o)},o={[_]:combinedInitFunction};u.push(o)}function MixedClass(...o){for(const i of s)copyProps(this,new i(...o));null!==_&&\"function\"==typeof this[_]&&this[_].apply(this,o)}var w,x;MixedClass.prototype=\"copy\"===Sd?hardMixProtos(u,MixedClass):(w=u,x=MixedClass,proxyMix([...w,{constructor:x}])),Object.setPrototypeOf(MixedClass,\"copy\"===_d?hardMixProtos(s,null,[\"prototype\"]):proxyMix(s,Function.prototype));let C=MixedClass;if(\"none\"!==Ed){const u=\"deep\"===Ed?deepDecoratorSearch(...s):((...s)=>{const o=s.map((s=>getDecoratorsForClass(s)));return 0===o.length?{}:1===o.length?o[0]:o.reduce(((s,o)=>mergeDecorators(s,o)))})(...s);for(let s of null!==(o=null==u?void 0:u.class)&&void 0!==o?o:[]){const o=s(C);o&&(C=o)}applyPropAndMethodDecorators(null!==(i=null==u?void 0:u.static)&&void 0!==i?i:{},C),applyPropAndMethodDecorators(null!==(a=null==u?void 0:u.instance)&&void 0!==a?a:{},C.prototype)}var j,L;return j=C,L=s,wd.set(j,L),C}const applyPropAndMethodDecorators=(s,o)=>{const i=s.property,a=s.method;if(i)for(let s in i)for(let a of i[s])a(o,s);if(a)for(let s in a)for(let i of a[s])i(o,s,Object.getOwnPropertyDescriptor(o,s))};const kd=_curry1((function allPass(s){return $a(Aa(Ec,0,Oc(\"length\",s)),(function(){for(var o=0,i=s.length;o<i;){if(!s[o].apply(this,arguments))return!1;o+=1}return!0}))}));const Od=_curry1((function isNotEmpty(s){return!gp(s)}));const Ad=_curry2((function or(s,o){return s||o}));var Cd=dc($a(1,ou(au,_curry2((function either(s,o){return _isFunction(s)?function _either(){return s.apply(this,arguments)||o.apply(this,arguments)}:hc(Ad)(s,o)}))(cu,Mc))));const Id=kd([Jc,Cd,Od]);const Td=_curry2((function pick(s,o){for(var i={},a=0;a<s.length;)s[a]in o&&(i[s[a]]=o[s[a]]),a+=1;return i}));const Nd=class SpecificationVisitor extends md{specObj;passingOptionsNames=[\"specObj\",\"parent\"];constructor({specObj:s,...o}){super({...o}),this.specObj=s}retrievePassingOptions(){return Td(this.passingOptionsNames,this)}retrieveFixedFields(s){const o=Qu([\"visitors\",...s,\"fixedFields\"],this.specObj);return\"object\"==typeof o&&null!==o?Object.keys(o):[]}retrieveVisitor(s){return Qo(Mc,[\"visitors\",...s],this.specObj)?Qu([\"visitors\",...s],this.specObj):Qu([\"visitors\",...s,\"$visitor\"],this.specObj)}retrieveVisitorInstance(s,o={}){const i=this.retrievePassingOptions();return new(this.retrieveVisitor(s))({...i,...o})}toRefractedElement(s,o,i={}){const a=this.retrieveVisitorInstance(s,i);return a instanceof yd&&(null==a?void 0:a.constructor)===yd?cloneDeep(o):(visitor_visit(o,a,i),a.element)}};const Md=class FixedFieldsVisitor extends Nd{specPath;ignoredFields;constructor({specPath:s,ignoredFields:o,...i}){super({...i}),this.specPath=s,this.ignoredFields=o||[]}ObjectElement(s){const o=this.specPath(s),i=this.retrieveFixedFields(o);return s.forEach(((s,a,u)=>{if(ju(a)&&i.includes(serializers_value(a))&&!this.ignoredFields.includes(serializers_value(a))){const i=this.toRefractedElement([...o,\"fixedFields\",serializers_value(a)],s),_=new Su.Pr(cloneDeep(a),i);this.copyMetaAndAttributes(u,_),_.classes.push(\"fixed-field\"),this.element.content.push(_)}else this.ignoredFields.includes(serializers_value(a))||this.element.content.push(cloneDeep(u))})),this.copyMetaAndAttributes(s,this.element),qu}};const Rd=class ParentSchemaAwareVisitor{parent;constructor({parent:s}){this.parent=s}},Dd=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof sd||s(a)&&o(\"JSONSchemaDraft4\",a)&&i(\"object\",a))),Ld=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof id||s(a)&&o(\"JSONReference\",a)&&i(\"object\",a))),Fd=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof cd||s(a)&&o(\"media\",a)&&i(\"object\",a))),Bd=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof ld||s(a)&&o(\"linkDescription\",a)&&i(\"object\",a)));class JSONSchemaVisitor extends(Mixin(Md,Rd,yd)){constructor(s){super(s),this.element=new sd,this.specPath=fc([\"document\",\"objects\",\"JSONSchema\"])}get defaultDialectIdentifier(){return\"http://json-schema.org/draft-04/schema#\"}ObjectElement(s){return this.handleDialectIdentifier(s),this.handleSchemaIdentifier(s),this.parent=this.element,Md.prototype.ObjectElement.call(this,s)}handleDialectIdentifier(s){if(bc(this.parent)&&!ju(s.get(\"$schema\")))this.element.setMetaProperty(\"inheritedDialectIdentifier\",this.defaultDialectIdentifier);else if(Dd(this.parent)&&!ju(s.get(\"$schema\"))){const s=Na(serializers_value(this.parent.meta.get(\"inheritedDialectIdentifier\")),serializers_value(this.parent.$schema));this.element.setMetaProperty(\"inheritedDialectIdentifier\",s)}}handleSchemaIdentifier(s,o=\"id\"){const i=void 0!==this.parent?cloneDeep(this.parent.getMetaProperty(\"ancestorsSchemaIdentifiers\",[])):new Su.wE,a=serializers_value(s.get(o));Id(a)&&i.push(a),this.element.setMetaProperty(\"ancestorsSchemaIdentifiers\",i)}}const $d=JSONSchemaVisitor,isJSONReferenceLikeElement=s=>Nu(s)&&s.hasKey(\"$ref\");class ItemsVisitor extends(Mixin(Nd,Rd,yd)){ObjectElement(s){const o=isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"];return this.element=this.toRefractedElement(o,s),qu}ArrayElement(s){return this.element=new Su.wE,this.element.classes.push(\"json-schema-items\"),s.forEach((s=>{const o=isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Ud=ItemsVisitor;const Vd=class RequiredVisitor extends yd{ArrayElement(s){const o=this.enter(s);return this.element.classes.push(\"json-schema-required\"),o}};const Wd=class PatternedFieldsVisitor extends Nd{specPath;ignoredFields;fieldPatternPredicate=es_F;constructor({specPath:s,ignoredFields:o,fieldPatternPredicate:i,...a}){super({...a}),this.specPath=s,this.ignoredFields=o||[],\"function\"==typeof i&&(this.fieldPatternPredicate=i)}ObjectElement(s){return s.forEach(((s,o,i)=>{if(!this.ignoredFields.includes(serializers_value(o))&&this.fieldPatternPredicate(serializers_value(o))){const a=this.specPath(s),u=this.toRefractedElement(a,s),_=new Su.Pr(cloneDeep(o),u);this.copyMetaAndAttributes(i,_),_.classes.push(\"patterned-field\"),this.element.content.push(_)}else this.ignoredFields.includes(serializers_value(o))||this.element.content.push(cloneDeep(i))})),this.copyMetaAndAttributes(s,this.element),qu}};const Jd=class MapVisitor extends Wd{constructor(s){super(s),this.fieldPatternPredicate=Id}};class PropertiesVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-properties\"),this.specPath=s=>isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"]}}const Hd=PropertiesVisitor;class PatternPropertiesVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-patternProperties\"),this.specPath=s=>isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"]}}const Kd=PatternPropertiesVisitor;class DependenciesVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-dependencies\"),this.specPath=s=>isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"]}}const Gd=DependenciesVisitor;const Yd=class EnumVisitor extends yd{ArrayElement(s){const o=this.enter(s);return this.element.classes.push(\"json-schema-enum\"),o}};const Xd=class TypeVisitor extends yd{StringElement(s){const o=this.enter(s);return this.element.classes.push(\"json-schema-type\"),o}ArrayElement(s){const o=this.enter(s);return this.element.classes.push(\"json-schema-type\"),o}};class AllOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-allOf\")}ArrayElement(s){return s.forEach((s=>{const o=isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Qd=AllOfVisitor;class AnyOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-anyOf\")}ArrayElement(s){return s.forEach((s=>{const o=isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Zd=AnyOfVisitor;class OneOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-oneOf\")}ArrayElement(s){return s.forEach((s=>{const o=isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const ef=OneOfVisitor;class DefinitionsVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-definitions\"),this.specPath=s=>isJSONReferenceLikeElement(s)?[\"document\",\"objects\",\"JSONReference\"]:[\"document\",\"objects\",\"JSONSchema\"]}}const rf=DefinitionsVisitor;class LinksVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-links\")}ArrayElement(s){return s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"LinkDescription\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}}const of=LinksVisitor;class JSONReferenceVisitor extends(Mixin(Md,yd)){constructor(s){super(s),this.element=new id,this.specPath=fc([\"document\",\"objects\",\"JSONReference\"])}ObjectElement(s){const o=Md.prototype.ObjectElement.call(this,s);return ju(this.element.$ref)&&this.element.classes.push(\"reference-element\"),o}}const af=JSONReferenceVisitor;const cf=class $RefVisitor extends yd{StringElement(s){const o=this.enter(s);return this.element.classes.push(\"reference-value\"),o}};const lf=_curry3((function ifElse(s,o,i){return $a(Math.max(s.length,o.length,i.length),(function _ifElse(){return s.apply(this,arguments)?o.apply(this,arguments):i.apply(this,arguments)}))}));const uf=_curry1((function comparator(s){return function(o,i){return s(o,i)?-1:s(i,o)?1:0}}));var hf=_curry2((function sort(s,o){return Array.prototype.slice.call(o,0).sort(s)}));const df=hf;var mf=_curry1((function(s){return _nth(0,s)}));const gf=mf;const yf=_curry1(_reduced);const bf=dc(Ju);const _f=ou(yp,Od);function _toConsumableArray(s){return function _arrayWithoutHoles(s){if(Array.isArray(s))return _arrayLikeToArray(s)}(s)||function _iterableToArray(s){if(\"undefined\"!=typeof Symbol&&null!=s[Symbol.iterator]||null!=s[\"@@iterator\"])return Array.from(s)}(s)||function _unsupportedIterableToArray(s,o){if(s){if(\"string\"==typeof s)return _arrayLikeToArray(s,o);var i={}.toString.call(s).slice(8,-1);return\"Object\"===i&&s.constructor&&(i=s.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(s):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(s,o):void 0}}(s)||function _nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _arrayLikeToArray(s,o){(null==o||o>s.length)&&(o=s.length);for(var i=0,a=Array(o);i<o;i++)a[i]=s[i];return a}var Sf=pipe(df(uf((function(s,o){return s.length>o.length}))),gf,Da(\"length\")),xf=za((function(s,o,i){var a=i.apply(void 0,_toConsumableArray(s));return bf(a)?yf(a):o}));const kf=lf(_f,(function dispatchImpl(s){var o=Sf(s);return $a(o,(function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return Aa(xf(i),void 0,s)}))}),gc);const Of=class AlternatingVisitor extends Nd{alternator;constructor({alternator:s,...o}){super({...o}),this.alternator=s}enter(s){const o=this.alternator.map((({predicate:s,specPath:o})=>lf(s,fc(o),gc))),i=kf(o)(s);return this.element=this.toRefractedElement(i,s),qu}};const Cf=class SchemaOrReferenceVisitor extends Of{constructor(s){super(s),this.alternator=[{predicate:isJSONReferenceLikeElement,specPath:[\"document\",\"objects\",\"JSONReference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"JSONSchema\"]}]}};class MediaVisitor extends(Mixin(Md,yd)){constructor(s){super(s),this.element=new cd,this.specPath=fc([\"document\",\"objects\",\"Media\"])}}const jf=MediaVisitor;class LinkDescriptionVisitor extends(Mixin(Md,yd)){constructor(s){super(s),this.element=new ld,this.specPath=fc([\"document\",\"objects\",\"LinkDescription\"])}}const Pf=LinkDescriptionVisitor,Tf={visitors:{value:yd,JSONSchemaOrJSONReferenceVisitor:Cf,document:{objects:{JSONSchema:{$visitor:$d,fixedFields:{id:{$ref:\"#/visitors/value\"},$schema:{$ref:\"#/visitors/value\"},multipleOf:{$ref:\"#/visitors/value\"},maximum:{$ref:\"#/visitors/value\"},exclusiveMaximum:{$ref:\"#/visitors/value\"},minimum:{$ref:\"#/visitors/value\"},exclusiveMinimum:{$ref:\"#/visitors/value\"},maxLength:{$ref:\"#/visitors/value\"},minLength:{$ref:\"#/visitors/value\"},pattern:{$ref:\"#/visitors/value\"},additionalItems:Cf,items:Ud,maxItems:{$ref:\"#/visitors/value\"},minItems:{$ref:\"#/visitors/value\"},uniqueItems:{$ref:\"#/visitors/value\"},maxProperties:{$ref:\"#/visitors/value\"},minProperties:{$ref:\"#/visitors/value\"},required:Vd,properties:Hd,additionalProperties:Cf,patternProperties:Kd,dependencies:Gd,enum:Yd,type:Xd,allOf:Qd,anyOf:Zd,oneOf:ef,not:Cf,definitions:rf,title:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},default:{$ref:\"#/visitors/value\"},format:{$ref:\"#/visitors/value\"},base:{$ref:\"#/visitors/value\"},links:of,media:{$ref:\"#/visitors/document/objects/Media\"},readOnly:{$ref:\"#/visitors/value\"}}},JSONReference:{$visitor:af,fixedFields:{$ref:cf}},Media:{$visitor:jf,fixedFields:{binaryEncoding:{$ref:\"#/visitors/value\"},type:{$ref:\"#/visitors/value\"}}},LinkDescription:{$visitor:Pf,fixedFields:{href:{$ref:\"#/visitors/value\"},rel:{$ref:\"#/visitors/value\"},title:{$ref:\"#/visitors/value\"},targetSchema:Cf,mediaType:{$ref:\"#/visitors/value\"},method:{$ref:\"#/visitors/value\"},encType:{$ref:\"#/visitors/value\"},schema:Cf}}}}}},traversal_visitor_getNodeType=s=>{if(Cu(s))return`${s.element.charAt(0).toUpperCase()+s.element.slice(1)}Element`},Nf={JSONSchemaDraft4Element:[\"content\"],JSONReferenceElement:[\"content\"],MediaElement:[\"content\"],LinkDescriptionElement:[\"content\"],...np},Rf={namespace:s=>{const{base:o}=s;return o.register(\"jSONSchemaDraft4\",sd),o.register(\"jSONReference\",id),o.register(\"media\",cd),o.register(\"linkDescription\",ld),o}},Df=Rf,refractor_toolbox=()=>{const s=createNamespace(Df);return{predicates:{...ae,isStringElement:ju},namespace:s}},refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],plugins:i=[],specificationObj:a=Tf}={})=>{const u=(0,Su.e)(s),_=dereference(a),w=new(Qu(o,_))({specObj:_});return visitor_visit(u,w),dispatchPluginsSync(w.element,i,{toolboxCreator:refractor_toolbox,visitorOptions:{keyMap:Nf,nodeTypeGetter:traversal_visitor_getNodeType}})},refractor_createRefractor=s=>(o,i={})=>refractor_refract(o,{specPath:s,...i});sd.refract=refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"]),id.refract=refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONReference\",\"$visitor\"]),cd.refract=refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Media\",\"$visitor\"]),ld.refract=refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"]);const Ff=class Schema_Schema extends sd{constructor(s,o,i){super(s,o,i),this.element=\"schema\",this.classes.push(\"json-schema-draft-4\")}get idProp(){throw new td(\"idProp getter in Schema class is not not supported.\")}set idProp(s){throw new td(\"idProp setter in Schema class is not not supported.\")}get $schema(){throw new td(\"$schema getter in Schema class is not not supported.\")}set $schema(s){throw new td(\"$schema setter in Schema class is not not supported.\")}get additionalItems(){return this.get(\"additionalItems\")}set additionalItems(s){this.set(\"additionalItems\",s)}get items(){return this.get(\"items\")}set items(s){this.set(\"items\",s)}get additionalProperties(){return this.get(\"additionalProperties\")}set additionalProperties(s){this.set(\"additionalProperties\",s)}get patternProperties(){throw new td(\"patternProperties getter in Schema class is not not supported.\")}set patternProperties(s){throw new td(\"patternProperties setter in Schema class is not not supported.\")}get dependencies(){throw new td(\"dependencies getter in Schema class is not not supported.\")}set dependencies(s){throw new td(\"dependencies setter in Schema class is not not supported.\")}get type(){return this.get(\"type\")}set type(s){this.set(\"type\",s)}get not(){return this.get(\"not\")}set not(s){this.set(\"not\",s)}get definitions(){throw new td(\"definitions getter in Schema class is not not supported.\")}set definitions(s){throw new td(\"definitions setter in Schema class is not not supported.\")}get base(){throw new td(\"base getter in Schema class is not not supported.\")}set base(s){throw new td(\"base setter in Schema class is not not supported.\")}get links(){throw new td(\"links getter in Schema class is not not supported.\")}set links(s){throw new td(\"links setter in Schema class is not not supported.\")}get media(){throw new td(\"media getter in Schema class is not not supported.\")}set media(s){throw new td(\"media setter in Schema class is not not supported.\")}get nullable(){return this.get(\"nullable\")}set nullable(s){this.set(\"nullable\",s)}get discriminator(){return this.get(\"discriminator\")}set discriminator(s){this.set(\"discriminator\",s)}get writeOnly(){return this.get(\"writeOnly\")}set writeOnly(s){this.set(\"writeOnly\",s)}get xml(){return this.get(\"xml\")}set xml(s){this.set(\"xml\",s)}get externalDocs(){return this.get(\"externalDocs\")}set externalDocs(s){this.set(\"externalDocs\",s)}get example(){return this.get(\"example\")}set example(s){this.set(\"example\",s)}get deprecated(){return this.get(\"deprecated\")}set deprecated(s){this.set(\"deprecated\",s)}};class SecurityRequirement extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"securityRequirement\"}}const Vf=SecurityRequirement;class SecurityScheme extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"securityScheme\"}get type(){return this.get(\"type\")}set type(s){this.set(\"type\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get in(){return this.get(\"in\")}set in(s){this.set(\"in\",s)}get scheme(){return this.get(\"scheme\")}set scheme(s){this.set(\"scheme\",s)}get bearerFormat(){return this.get(\"bearerFormat\")}set bearerFormat(s){this.set(\"bearerFormat\",s)}get flows(){return this.get(\"flows\")}set flows(s){this.set(\"flows\",s)}get openIdConnectUrl(){return this.get(\"openIdConnectUrl\")}set openIdConnectUrl(s){this.set(\"openIdConnectUrl\",s)}}const Wf=SecurityScheme;class Server extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"server\"}get url(){return this.get(\"url\")}set url(s){this.set(\"url\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get variables(){return this.get(\"variables\")}set variables(s){this.set(\"variables\",s)}}const Jf=Server;class ServerVariable extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"serverVariable\"}get enum(){return this.get(\"enum\")}set enum(s){this.set(\"enum\",s)}get default(){return this.get(\"default\")}set default(s){this.set(\"default\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}}const Hf=ServerVariable;class Tag extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"tag\"}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get externalDocs(){return this.get(\"externalDocs\")}set externalDocs(s){this.set(\"externalDocs\",s)}}const Gf=Tag;class Xml extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"xml\"}get name(){return this.get(\"name\")}set name(s){this.set(\"name\",s)}get namespace(){return this.get(\"namespace\")}set namespace(s){this.set(\"namespace\",s)}get prefix(){return this.get(\"prefix\")}set prefix(s){this.set(\"prefix\",s)}get attribute(){return this.get(\"attribute\")}set attribute(s){this.set(\"attribute\",s)}get wrapped(){return this.get(\"wrapped\")}set wrapped(s){this.set(\"wrapped\",s)}}const Xf=Xml;const Qf=class visitors_Visitor_Visitor{element;constructor(s={}){Object.assign(this,s)}copyMetaAndAttributes(s,o){(s.meta.length>0||o.meta.length>0)&&(o.meta=dd(o.meta,s.meta)),hasElementSourceMap(s)&&assignSourceMap(o,s),(s.attributes.length>0||s.meta.length>0)&&(o.attributes=dd(o.attributes,s.attributes))}};const em=class FallbackVisitor_FallbackVisitor extends Qf{enter(s){return this.element=cloneDeep(s),qu}};const tm=class SpecificationVisitor_SpecificationVisitor extends Qf{specObj;passingOptionsNames=[\"specObj\",\"openApiGenericElement\",\"openApiSemanticElement\"];openApiGenericElement;openApiSemanticElement;constructor({specObj:s,passingOptionsNames:o,openApiGenericElement:i,openApiSemanticElement:a,...u}){super({...u}),this.specObj=s,this.openApiGenericElement=i,this.openApiSemanticElement=a,Array.isArray(o)&&(this.passingOptionsNames=o)}retrievePassingOptions(){return Td(this.passingOptionsNames,this)}retrieveFixedFields(s){const o=Qu([\"visitors\",...s,\"fixedFields\"],this.specObj);return\"object\"==typeof o&&null!==o?Object.keys(o):[]}retrieveVisitor(s){return Qo(Mc,[\"visitors\",...s],this.specObj)?Qu([\"visitors\",...s],this.specObj):Qu([\"visitors\",...s,\"$visitor\"],this.specObj)}retrieveVisitorInstance(s,o={}){const i=this.retrievePassingOptions();return new(this.retrieveVisitor(s))({...i,...o})}toRefractedElement(s,o,i={}){const a=this.retrieveVisitorInstance(s,i);return a instanceof em&&(null==a?void 0:a.constructor)===em?cloneDeep(o):(visitor_visit(o,a,i),a.element)}};var rm=function(){function XTake(s,o){this.xf=o,this.n=s,this.i=0}return XTake.prototype[\"@@transducer/init\"]=_xfBase_init,XTake.prototype[\"@@transducer/result\"]=_xfBase_result,XTake.prototype[\"@@transducer/step\"]=function(s,o){this.i+=1;var i=0===this.n?s:this.xf[\"@@transducer/step\"](s,o);return this.n>=0&&this.i>=this.n?_reduced(i):i},XTake}();function _xtake(s){return function(o){return new rm(s,o)}}const nm=_curry2(_dispatchable([\"take\"],_xtake,(function take(s,o){return ja(0,s<0?1/0:s,o)})));var sm=_curry2((function(s,o){return na(nm(s.length,o),s)}));const om=sm,isReferenceLikeElement=s=>Nu(s)&&s.hasKey(\"$ref\"),im=Nu,am=Nu,isOpenApiExtension=s=>ju(s.key)&&om(\"x-\",serializers_value(s.key));const cm=class FixedFieldsVisitor_FixedFieldsVisitor extends tm{specPath;ignoredFields;canSupportSpecificationExtensions=!0;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:s,ignoredFields:o,canSupportSpecificationExtensions:i,specificationExtensionPredicate:a,...u}){super({...u}),this.specPath=s,this.ignoredFields=o||[],\"boolean\"==typeof i&&(this.canSupportSpecificationExtensions=i),\"function\"==typeof a&&(this.specificationExtensionPredicate=a)}ObjectElement(s){const o=this.specPath(s),i=this.retrieveFixedFields(o);return s.forEach(((s,a,u)=>{if(ju(a)&&i.includes(serializers_value(a))&&!this.ignoredFields.includes(serializers_value(a))){const i=this.toRefractedElement([...o,\"fixedFields\",serializers_value(a)],s),_=new Su.Pr(cloneDeep(a),i);this.copyMetaAndAttributes(u,_),_.classes.push(\"fixed-field\"),this.element.content.push(_)}else if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(u)){const s=this.toRefractedElement([\"document\",\"extension\"],u);this.element.content.push(s)}else this.ignoredFields.includes(serializers_value(a))||this.element.content.push(cloneDeep(u))})),this.copyMetaAndAttributes(s,this.element),qu}};class OpenApi3_0Visitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Rh,this.specPath=fc([\"document\",\"objects\",\"OpenApi\"]),this.canSupportSpecificationExtensions=!0}ObjectElement(s){return cm.prototype.ObjectElement.call(this,s)}}const lm=OpenApi3_0Visitor;class OpenapiVisitor extends(Mixin(tm,em)){StringElement(s){const o=new Ih(serializers_value(s));return this.copyMetaAndAttributes(s,o),this.element=o,qu}}const um=OpenapiVisitor;const pm=class SpecificationExtensionVisitor extends tm{MemberElement(s){return this.element=cloneDeep(s),this.element.classes.push(\"specification-extension\"),qu}};class InfoVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new vh,this.specPath=fc([\"document\",\"objects\",\"Info\"]),this.canSupportSpecificationExtensions=!0}}const hm=InfoVisitor;const dm=class VersionVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"api-version\"),this.element.classes.push(\"version\"),o}};class ContactVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Zp,this.specPath=fc([\"document\",\"objects\",\"Contact\"]),this.canSupportSpecificationExtensions=!0}}const fm=ContactVisitor;class LicenseVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new _h,this.specPath=fc([\"document\",\"objects\",\"License\"]),this.canSupportSpecificationExtensions=!0}}const mm=LicenseVisitor;class LinkVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new wh,this.specPath=fc([\"document\",\"objects\",\"Link\"]),this.canSupportSpecificationExtensions=!0}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return(ju(this.element.operationId)||ju(this.element.operationRef))&&this.element.classes.push(\"reference-element\"),o}}const gm=LinkVisitor;const ym=class OperationRefVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};const vm=class OperationIdVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};const bm=class PatternedFieldsVisitor_PatternedFieldsVisitor extends tm{specPath;ignoredFields;fieldPatternPredicate=es_F;canSupportSpecificationExtensions=!1;specificationExtensionPredicate=isOpenApiExtension;constructor({specPath:s,ignoredFields:o,fieldPatternPredicate:i,canSupportSpecificationExtensions:a,specificationExtensionPredicate:u,..._}){super({..._}),this.specPath=s,this.ignoredFields=o||[],\"function\"==typeof i&&(this.fieldPatternPredicate=i),\"boolean\"==typeof a&&(this.canSupportSpecificationExtensions=a),\"function\"==typeof u&&(this.specificationExtensionPredicate=u)}ObjectElement(s){return s.forEach(((s,o,i)=>{if(this.canSupportSpecificationExtensions&&this.specificationExtensionPredicate(i)){const s=this.toRefractedElement([\"document\",\"extension\"],i);this.element.content.push(s)}else if(!this.ignoredFields.includes(serializers_value(o))&&this.fieldPatternPredicate(serializers_value(o))){const a=this.specPath(s),u=this.toRefractedElement(a,s),_=new Su.Pr(cloneDeep(o),u);this.copyMetaAndAttributes(i,_),_.classes.push(\"patterned-field\"),this.element.content.push(_)}else this.ignoredFields.includes(serializers_value(o))||this.element.content.push(cloneDeep(i))})),this.copyMetaAndAttributes(s,this.element),qu}};const _m=class MapVisitor_MapVisitor extends bm{constructor(s){super(s),this.fieldPatternPredicate=Id}};class LinkParameters extends Su.Sh{static primaryClass=\"link-parameters\";constructor(s,o,i){super(s,o,i),this.classes.push(LinkParameters.primaryClass)}}const Sm=LinkParameters;class ParametersVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Sm,this.specPath=fc([\"value\"])}}const Em=ParametersVisitor;class ServerVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Jf,this.specPath=fc([\"document\",\"objects\",\"Server\"]),this.canSupportSpecificationExtensions=!0}}const wm=ServerVisitor;const xm=class UrlVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"server-url\"),o}};class Servers extends Su.wE{static primaryClass=\"servers\";constructor(s,o,i){super(s,o,i),this.classes.push(Servers.primaryClass)}}const km=Servers;class ServersVisitor extends(Mixin(tm,em)){constructor(s){super(s),this.element=new km}ArrayElement(s){return s.forEach((s=>{const o=im(s)?[\"document\",\"objects\",\"Server\"]:[\"value\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Om=ServersVisitor;class ServerVariableVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Hf,this.specPath=fc([\"document\",\"objects\",\"ServerVariable\"]),this.canSupportSpecificationExtensions=!0}}const Am=ServerVariableVisitor;class ServerVariables extends Su.Sh{static primaryClass=\"server-variables\";constructor(s,o,i){super(s,o,i),this.classes.push(ServerVariables.primaryClass)}}const Cm=ServerVariables;class VariablesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Cm,this.specPath=fc([\"document\",\"objects\",\"ServerVariable\"])}}const jm=VariablesVisitor;class MediaTypeVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Oh,this.specPath=fc([\"document\",\"objects\",\"MediaType\"]),this.canSupportSpecificationExtensions=!0}}const Pm=MediaTypeVisitor;const Im=class AlternatingVisitor_AlternatingVisitor extends tm{alternator;constructor({alternator:s,...o}){super({...o}),this.alternator=s||[]}enter(s){const o=this.alternator.map((({predicate:s,specPath:o})=>lf(s,fc(o),gc))),i=kf(o)(s);return this.element=this.toRefractedElement(i,s),qu}},Tm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Xp||s(a)&&o(\"callback\",a)&&i(\"object\",a))),Nm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Qp||s(a)&&o(\"components\",a)&&i(\"object\",a))),Mm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Zp||s(a)&&o(\"contact\",a)&&i(\"object\",a))),Rm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof uh||s(a)&&o(\"example\",a)&&i(\"object\",a))),Dm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof dh||s(a)&&o(\"externalDocumentation\",a)&&i(\"object\",a))),Lm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof fh||s(a)&&o(\"header\",a)&&i(\"object\",a))),Fm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof vh||s(a)&&o(\"info\",a)&&i(\"object\",a))),Bm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof _h||s(a)&&o(\"license\",a)&&i(\"object\",a))),$m=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof wh||s(a)&&o(\"link\",a)&&i(\"object\",a))),qm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Ih||s(a)&&o(\"openapi\",a)&&i(\"string\",a))),Um=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i,hasClass:a})=>u=>u instanceof Rh||s(u)&&o(\"openApi3_0\",u)&&i(\"object\",u)&&a(\"api\",u))),Vm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Dh||s(a)&&o(\"operation\",a)&&i(\"object\",a))),zm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Lh||s(a)&&o(\"parameter\",a)&&i(\"object\",a))),Wm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Fh||s(a)&&o(\"pathItem\",a)&&i(\"object\",a))),Jm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Jh||s(a)&&o(\"paths\",a)&&i(\"object\",a))),Hm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Hh||s(a)&&o(\"reference\",a)&&i(\"object\",a))),Km=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Kh||s(a)&&o(\"requestBody\",a)&&i(\"object\",a))),Gm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Gh||s(a)&&o(\"response\",a)&&i(\"object\",a))),Ym=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Qh||s(a)&&o(\"responses\",a)&&i(\"object\",a))),Xm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Ff||s(a)&&o(\"schema\",a)&&i(\"object\",a))),isBooleanJsonSchemaElement=s=>Tu(s)&&s.classes.includes(\"boolean-json-schema\"),Qm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Vf||s(a)&&o(\"securityRequirement\",a)&&i(\"object\",a))),Zm=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Wf||s(a)&&o(\"securityScheme\",a)&&i(\"object\",a))),eg=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Jf||s(a)&&o(\"server\",a)&&i(\"object\",a))),rg=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Hf||s(a)&&o(\"serverVariable\",a)&&i(\"object\",a))),ng=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Oh||s(a)&&o(\"mediaType\",a)&&i(\"object\",a))),sg=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i,hasClass:a})=>u=>u instanceof km||s(u)&&o(\"array\",u)&&i(\"array\",u)&&a(\"servers\",u))),og=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof th||s(a)&&o(\"discriminator\",a)&&i(\"object\",a)));class SchemaVisitor extends(Mixin(Im,em)){constructor(s){super(s),this.alternator=[{predicate:isReferenceLikeElement,specPath:[\"document\",\"objects\",\"Reference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"Schema\"]}]}ObjectElement(s){const o=Im.prototype.enter.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"schema\"),o}}const lg=SchemaVisitor;class ExamplesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"examples\"),this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Example\"],this.canSupportSpecificationExtensions=!0}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"example\")})),o}}const pg=ExamplesVisitor;class MediaTypeExamples extends Su.Sh{static primaryClass=\"media-type-examples\";constructor(s,o,i){super(s,o,i),this.classes.push(MediaTypeExamples.primaryClass),this.classes.push(\"examples\")}}const fg=MediaTypeExamples;const mg=class ExamplesVisitor_ExamplesVisitor extends pg{constructor(s){super(s),this.element=new fg}};class MediaTypeEncoding extends Su.Sh{static primaryClass=\"media-type-encoding\";constructor(s,o,i){super(s,o,i),this.classes.push(MediaTypeEncoding.primaryClass)}}const gg=MediaTypeEncoding;class EncodingVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new gg,this.specPath=fc([\"document\",\"objects\",\"Encoding\"])}}const yg=EncodingVisitor;class SecurityRequirementVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Vf,this.specPath=fc([\"value\"])}}const _g=SecurityRequirementVisitor;class Security extends Su.wE{static primaryClass=\"security\";constructor(s,o,i){super(s,o,i),this.classes.push(Security.primaryClass)}}const xg=Security;class SecurityVisitor extends(Mixin(tm,em)){constructor(s){super(s),this.element=new xg}ArrayElement(s){return s.forEach((s=>{if(Nu(s)){const o=this.toRefractedElement([\"document\",\"objects\",\"SecurityRequirement\"],s);this.element.push(o)}else this.element.push(cloneDeep(s))})),this.copyMetaAndAttributes(s,this.element),qu}}const kg=SecurityVisitor;class ComponentsVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Qp,this.specPath=fc([\"document\",\"objects\",\"Components\"]),this.canSupportSpecificationExtensions=!0}}const qg=ComponentsVisitor;class TagVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Gf,this.specPath=fc([\"document\",\"objects\",\"Tag\"]),this.canSupportSpecificationExtensions=!0}}const Ug=TagVisitor;class ReferenceVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Hh,this.specPath=fc([\"document\",\"objects\",\"Reference\"]),this.canSupportSpecificationExtensions=!1}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return ju(this.element.$ref)&&this.element.classes.push(\"reference-element\"),o}}const Vg=ReferenceVisitor;const zg=class $RefVisitor_$RefVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};class ParameterVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Lh,this.specPath=fc([\"document\",\"objects\",\"Parameter\"]),this.canSupportSpecificationExtensions=!0}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return Nu(this.element.contentProp)&&this.element.contentProp.filter(ng).forEach(((s,o)=>{s.setMetaProperty(\"media-type\",serializers_value(o))})),o}}const Wg=ParameterVisitor;class SchemaVisitor_SchemaVisitor extends(Mixin(Im,em)){constructor(s){super(s),this.alternator=[{predicate:isReferenceLikeElement,specPath:[\"document\",\"objects\",\"Reference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"Schema\"]}]}ObjectElement(s){const o=Im.prototype.enter.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"schema\"),o}}const Kg=SchemaVisitor_SchemaVisitor;class HeaderVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new fh,this.specPath=fc([\"document\",\"objects\",\"Header\"]),this.canSupportSpecificationExtensions=!0}}const Yg=HeaderVisitor;class header_SchemaVisitor_SchemaVisitor extends(Mixin(Im,em)){constructor(s){super(s),this.alternator=[{predicate:isReferenceLikeElement,specPath:[\"document\",\"objects\",\"Reference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"Schema\"]}]}ObjectElement(s){const o=Im.prototype.enter.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"schema\"),o}}const Xg=header_SchemaVisitor_SchemaVisitor;class HeaderExamples extends Su.Sh{static primaryClass=\"header-examples\";constructor(s,o,i){super(s,o,i),this.classes.push(HeaderExamples.primaryClass),this.classes.push(\"examples\")}}const Zg=HeaderExamples;const ey=class header_ExamplesVisitor_ExamplesVisitor extends pg{constructor(s){super(s),this.element=new Zg}};class ContentVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"content\"),this.specPath=fc([\"document\",\"objects\",\"MediaType\"])}}const ty=ContentVisitor;class HeaderContent extends Su.Sh{static primaryClass=\"header-content\";constructor(s,o,i){super(s,o,i),this.classes.push(HeaderContent.primaryClass),this.classes.push(\"content\")}}const ry=HeaderContent;const ny=class ContentVisitor_ContentVisitor extends ty{constructor(s){super(s),this.element=new ry}};class schema_SchemaVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Ff,this.specPath=fc([\"document\",\"objects\",\"Schema\"]),this.canSupportSpecificationExtensions=!0}}const sy=schema_SchemaVisitor,oy=Tf.visitors.document.objects.JSONSchema.fixedFields.allOf;const iy=class AllOfVisitor_AllOfVisitor extends oy{ArrayElement(s){const o=oy.prototype.ArrayElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"schema\")})),o}},ay=Tf.visitors.document.objects.JSONSchema.fixedFields.anyOf;const cy=class AnyOfVisitor_AnyOfVisitor extends ay{ArrayElement(s){const o=ay.prototype.ArrayElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"schema\")})),o}},ly=Tf.visitors.document.objects.JSONSchema.fixedFields.oneOf;const uy=class OneOfVisitor_OneOfVisitor extends ly{ArrayElement(s){const o=ly.prototype.ArrayElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"schema\")})),o}},py=Tf.visitors.document.objects.JSONSchema.fixedFields.items;const hy=class ItemsVisitor_ItemsVisitor extends py{ObjectElement(s){const o=py.prototype.ObjectElement.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"schema\"),o}ArrayElement(s){return this.enter(s)}},dy=Tf.visitors.document.objects.JSONSchema.fixedFields.properties;const fy=class PropertiesVisitor_PropertiesVisitor extends dy{ObjectElement(s){const o=dy.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"schema\")})),o}},my=Tf.visitors.document.objects.JSONSchema.fixedFields.type;const gy=class TypeVisitor_TypeVisitor extends my{ArrayElement(s){return this.enter(s)}},yy=Tf.visitors.JSONSchemaOrJSONReferenceVisitor;const vy=class SchemaOrReferenceVisitor_SchemaOrReferenceVisitor extends yy{ObjectElement(s){const o=yy.prototype.enter.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"schema\"),o}};class DiscriminatorVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new th,this.specPath=fc([\"document\",\"objects\",\"Discriminator\"]),this.canSupportSpecificationExtensions=!1}}const by=DiscriminatorVisitor;class DiscriminatorMapping extends Su.Sh{static primaryClass=\"discriminator-mapping\";constructor(s,o,i){super(s,o,i),this.classes.push(DiscriminatorMapping.primaryClass)}}const _y=DiscriminatorMapping;class MappingVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new _y,this.specPath=fc([\"value\"])}}const Sy=MappingVisitor;class XmlVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Xf,this.specPath=fc([\"document\",\"objects\",\"XML\"]),this.canSupportSpecificationExtensions=!0}}const Ey=XmlVisitor;class ParameterExamples extends Su.Sh{static primaryClass=\"parameter-examples\";constructor(s,o,i){super(s,o,i),this.classes.push(ParameterExamples.primaryClass),this.classes.push(\"examples\")}}const wy=ParameterExamples;const xy=class parameter_ExamplesVisitor_ExamplesVisitor extends pg{constructor(s){super(s),this.element=new wy}};class ParameterContent extends Su.Sh{static primaryClass=\"parameter-content\";constructor(s,o,i){super(s,o,i),this.classes.push(ParameterContent.primaryClass),this.classes.push(\"content\")}}const ky=ParameterContent;const Oy=class parameter_ContentVisitor_ContentVisitor extends ty{constructor(s){super(s),this.element=new ky}};class ComponentsSchemas extends Su.Sh{static primaryClass=\"components-schemas\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsSchemas.primaryClass)}}const Ay=ComponentsSchemas;class SchemasVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Ay,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Schema\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"schema\")})),o}}const Cy=SchemasVisitor;class ComponentsResponses extends Su.Sh{static primaryClass=\"components-responses\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsResponses.primaryClass)}}const jy=ComponentsResponses;class ResponsesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new jy,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Response\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"response\")})),this.element.filter(Gm).forEach(((s,o)=>{s.setMetaProperty(\"http-status-code\",serializers_value(o))})),o}}const Py=ResponsesVisitor;class ComponentsParameters extends Su.Sh{static primaryClass=\"components-parameters\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsParameters.primaryClass),this.classes.push(\"parameters\")}}const Iy=ComponentsParameters;class ParametersVisitor_ParametersVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Iy,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Parameter\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"parameter\")})),o}}const Ty=ParametersVisitor_ParametersVisitor;class ComponentsExamples extends Su.Sh{static primaryClass=\"components-examples\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsExamples.primaryClass),this.classes.push(\"examples\")}}const Ny=ComponentsExamples;class components_ExamplesVisitor_ExamplesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Ny,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Example\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"example\")})),o}}const My=components_ExamplesVisitor_ExamplesVisitor;class ComponentsRequestBodies extends Su.Sh{static primaryClass=\"components-request-bodies\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsRequestBodies.primaryClass)}}const Ry=ComponentsRequestBodies;class RequestBodiesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Ry,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"RequestBody\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"requestBody\")})),o}}const Dy=RequestBodiesVisitor;class ComponentsHeaders extends Su.Sh{static primaryClass=\"components-headers\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsHeaders.primaryClass)}}const Ly=ComponentsHeaders;class HeadersVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Ly,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Header\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"header\")})),this.element.filter(Lm).forEach(((s,o)=>{s.setMetaProperty(\"header-name\",serializers_value(o))})),o}}const Fy=HeadersVisitor;class ComponentsSecuritySchemes extends Su.Sh{static primaryClass=\"components-security-schemes\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsSecuritySchemes.primaryClass)}}const By=ComponentsSecuritySchemes;class SecuritySchemesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new By,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"SecurityScheme\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"securityScheme\")})),o}}const $y=SecuritySchemesVisitor;class ComponentsLinks extends Su.Sh{static primaryClass=\"components-links\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsLinks.primaryClass)}}const qy=ComponentsLinks;class LinksVisitor_LinksVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new qy,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Link\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"link\")})),o}}const Uy=LinksVisitor_LinksVisitor;class ComponentsCallbacks extends Su.Sh{static primaryClass=\"components-callbacks\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsCallbacks.primaryClass)}}const Vy=ComponentsCallbacks;class CallbacksVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Vy,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Callback\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"callback\")})),o}}const zy=CallbacksVisitor;class ExampleVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new uh,this.specPath=fc([\"document\",\"objects\",\"Example\"]),this.canSupportSpecificationExtensions=!0}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return ju(this.element.externalValue)&&this.element.classes.push(\"reference-element\"),o}}const Wy=ExampleVisitor;const Jy=class ExternalValueVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};class ExternalDocumentationVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new dh,this.specPath=fc([\"document\",\"objects\",\"ExternalDocumentation\"]),this.canSupportSpecificationExtensions=!0}}const Hy=ExternalDocumentationVisitor;class encoding_EncodingVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new rh,this.specPath=fc([\"document\",\"objects\",\"Encoding\"]),this.canSupportSpecificationExtensions=!0}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return Nu(this.element.headers)&&this.element.headers.filter(Lm).forEach(((s,o)=>{s.setMetaProperty(\"header-name\",serializers_value(o))})),o}}const Ky=encoding_EncodingVisitor;class EncodingHeaders extends Su.Sh{static primaryClass=\"encoding-headers\";constructor(s,o,i){super(s,o,i),this.classes.push(EncodingHeaders.primaryClass)}}const Gy=EncodingHeaders;class HeadersVisitor_HeadersVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Gy,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Header\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"header\")})),this.element.forEach(((s,o)=>{if(!Lm(s))return;const i=serializers_value(o);s.setMetaProperty(\"headerName\",i)})),o}}const Yy=HeadersVisitor_HeadersVisitor;class PathsVisitor extends(Mixin(bm,em)){constructor(s){super(s),this.element=new Jh,this.specPath=fc([\"document\",\"objects\",\"PathItem\"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=es_T}ObjectElement(s){const o=bm.prototype.ObjectElement.call(this,s);return this.element.filter(Wm).forEach(((s,o)=>{o.classes.push(\"openapi-path-template\"),o.classes.push(\"path-template\"),s.setMetaProperty(\"path\",cloneDeep(o))})),o}}const Xy=PathsVisitor;class RequestBodyVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Kh,this.specPath=fc([\"document\",\"objects\",\"RequestBody\"])}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return Nu(this.element.contentProp)&&this.element.contentProp.filter(ng).forEach(((s,o)=>{s.setMetaProperty(\"media-type\",serializers_value(o))})),o}}const Qy=RequestBodyVisitor;class RequestBodyContent extends Su.Sh{static primaryClass=\"request-body-content\";constructor(s,o,i){super(s,o,i),this.classes.push(RequestBodyContent.primaryClass),this.classes.push(\"content\")}}const Zy=RequestBodyContent;const ev=class request_body_ContentVisitor_ContentVisitor extends ty{constructor(s){super(s),this.element=new Zy}};class CallbackVisitor extends(Mixin(bm,em)){constructor(s){super(s),this.element=new Xp,this.specPath=fc([\"document\",\"objects\",\"PathItem\"]),this.canSupportSpecificationExtensions=!0,this.fieldPatternPredicate=s=>/{(?<expression>[^}]{1,2083})}/.test(String(s))}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Wm).forEach(((s,o)=>{s.setMetaProperty(\"runtime-expression\",serializers_value(o))})),o}}const tv=CallbackVisitor;class ResponseVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Gh,this.specPath=fc([\"document\",\"objects\",\"Response\"])}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return Nu(this.element.contentProp)&&this.element.contentProp.filter(ng).forEach(((s,o)=>{s.setMetaProperty(\"media-type\",serializers_value(o))})),Nu(this.element.headers)&&this.element.headers.filter(Lm).forEach(((s,o)=>{s.setMetaProperty(\"header-name\",serializers_value(o))})),o}}const rv=ResponseVisitor;class ResponseHeaders extends Su.Sh{static primaryClass=\"response-headers\";constructor(s,o,i){super(s,o,i),this.classes.push(ResponseHeaders.primaryClass)}}const nv=ResponseHeaders;class response_HeadersVisitor_HeadersVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new nv,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Header\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"header\")})),this.element.forEach(((s,o)=>{if(!Lm(s))return;const i=serializers_value(o);s.setMetaProperty(\"header-name\",i)})),o}}const sv=response_HeadersVisitor_HeadersVisitor;class ResponseContent extends Su.Sh{static primaryClass=\"response-content\";constructor(s,o,i){super(s,o,i),this.classes.push(ResponseContent.primaryClass),this.classes.push(\"content\")}}const ov=ResponseContent;const iv=class response_ContentVisitor_ContentVisitor extends ty{constructor(s){super(s),this.element=new ov}};class ResponseLinks extends Su.Sh{static primaryClass=\"response-links\";constructor(s,o,i){super(s,o,i),this.classes.push(ResponseLinks.primaryClass)}}const av=ResponseLinks;class response_LinksVisitor_LinksVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new av,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Link\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"link\")})),o}}const cv=response_LinksVisitor_LinksVisitor;function _isNumber(s){return\"[object Number]\"===Object.prototype.toString.call(s)}var lv=_curry2((function range(s,o){if(!_isNumber(s)||!_isNumber(o))throw new TypeError(\"Both arguments to range must be numbers\");for(var i=Array(s<o?o-s:0),a=s<0?o+Math.abs(s):o-s,u=0;u<a;)i[u]=u+s,u+=1;return i}));const uv=lv;function hasOrAdd(s,o,i){var a,u=typeof s;switch(u){case\"string\":case\"number\":return 0===s&&1/s==-1/0?!!i._items[\"-0\"]||(o&&(i._items[\"-0\"]=!0),!1):null!==i._nativeSet?o?(a=i._nativeSet.size,i._nativeSet.add(s),i._nativeSet.size===a):i._nativeSet.has(s):u in i._items?s in i._items[u]||(o&&(i._items[u][s]=!0),!1):(o&&(i._items[u]={},i._items[u][s]=!0),!1);case\"boolean\":if(u in i._items){var _=s?1:0;return!!i._items[u][_]||(o&&(i._items[u][_]=!0),!1)}return o&&(i._items[u]=s?[!1,!0]:[!0,!1]),!1;case\"function\":return null!==i._nativeSet?o?(a=i._nativeSet.size,i._nativeSet.add(s),i._nativeSet.size===a):i._nativeSet.has(s):u in i._items?!!_includes(s,i._items[u])||(o&&i._items[u].push(s),!1):(o&&(i._items[u]=[s]),!1);case\"undefined\":return!!i._items[u]||(o&&(i._items[u]=!0),!1);case\"object\":if(null===s)return!!i._items.null||(o&&(i._items.null=!0),!1);default:return(u=Object.prototype.toString.call(s))in i._items?!!_includes(s,i._items[u])||(o&&i._items[u].push(s),!1):(o&&(i._items[u]=[s]),!1)}}const pv=function(){function _Set(){this._nativeSet=\"function\"==typeof Set?new Set:null,this._items={}}return _Set.prototype.add=function(s){return!hasOrAdd(s,!0,this)},_Set.prototype.has=function(s){return hasOrAdd(s,!1,this)},_Set}();var hv=_curry2((function difference(s,o){for(var i=[],a=0,u=s.length,_=o.length,w=new pv,x=0;x<_;x+=1)w.add(o[x]);for(;a<u;)w.add(s[a])&&(i[i.length]=s[a]),a+=1;return i}));const dv=hv;class MixedFieldsVisitor extends(Mixin(cm,bm)){specPathFixedFields;specPathPatternedFields;constructor({specPathFixedFields:s,specPathPatternedFields:o,...i}){super({...i}),this.specPathFixedFields=s,this.specPathPatternedFields=o}ObjectElement(s){const{specPath:o,ignoredFields:i}=this;try{this.specPath=this.specPathFixedFields;const o=this.retrieveFixedFields(this.specPath(s));this.ignoredFields=[...i,...dv(s.keys(),o)],cm.prototype.ObjectElement.call(this,s),this.specPath=this.specPathPatternedFields,this.ignoredFields=o,bm.prototype.ObjectElement.call(this,s)}catch(s){throw this.specPath=o,s}return qu}}const fv=MixedFieldsVisitor;class responses_ResponsesVisitor extends(Mixin(fv,em)){constructor(s){super(s),this.element=new Qh,this.specPathFixedFields=fc([\"document\",\"objects\",\"Responses\"]),this.canSupportSpecificationExtensions=!0,this.specPathPatternedFields=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Response\"],this.fieldPatternPredicate=s=>new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${uv(100,600).join(\"|\")})$`).test(String(s))}ObjectElement(s){const o=fv.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"response\")})),this.element.filter(Gm).forEach(((s,o)=>{const i=cloneDeep(o);this.fieldPatternPredicate(serializers_value(i))&&s.setMetaProperty(\"http-status-code\",i)})),o}}const mv=responses_ResponsesVisitor;class DefaultVisitor extends(Mixin(Im,em)){constructor(s){super(s),this.alternator=[{predicate:isReferenceLikeElement,specPath:[\"document\",\"objects\",\"Reference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"Response\"]}]}ObjectElement(s){const o=Im.prototype.enter.call(this,s);return Hm(this.element)?this.element.setMetaProperty(\"referenced-element\",\"response\"):Gm(this.element)&&this.element.setMetaProperty(\"http-status-code\",\"default\"),o}}const gv=DefaultVisitor;class OperationVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Dh,this.specPath=fc([\"document\",\"objects\",\"Operation\"])}}const yv=OperationVisitor;class OperationTags extends Su.wE{static primaryClass=\"operation-tags\";constructor(s,o,i){super(s,o,i),this.classes.push(OperationTags.primaryClass)}}const vv=OperationTags;const bv=class TagsVisitor extends em{constructor(s){super(s),this.element=new vv}ArrayElement(s){return this.element=this.element.concat(cloneDeep(s)),qu}};class OperationParameters extends Su.wE{static primaryClass=\"operation-parameters\";constructor(s,o,i){super(s,o,i),this.classes.push(OperationParameters.primaryClass),this.classes.push(\"parameters\")}}const _v=OperationParameters;class open_api_3_0_ParametersVisitor_ParametersVisitor extends(Mixin(tm,em)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"parameters\")}ArrayElement(s){return s.forEach((s=>{const o=isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Parameter\"],i=this.toRefractedElement(o,s);Hm(i)&&i.setMetaProperty(\"referenced-element\",\"parameter\"),this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Sv=open_api_3_0_ParametersVisitor_ParametersVisitor;const Ev=class operation_ParametersVisitor_ParametersVisitor extends Sv{constructor(s){super(s),this.element=new _v}};const wv=class RequestBodyVisitor_RequestBodyVisitor extends Im{constructor(s){super(s),this.alternator=[{predicate:isReferenceLikeElement,specPath:[\"document\",\"objects\",\"Reference\"]},{predicate:es_T,specPath:[\"document\",\"objects\",\"RequestBody\"]}]}ObjectElement(s){const o=Im.prototype.enter.call(this,s);return Hm(this.element)&&this.element.setMetaProperty(\"referenced-element\",\"requestBody\"),o}};class OperationCallbacks extends Su.Sh{static primaryClass=\"operation-callbacks\";constructor(s,o,i){super(s,o,i),this.classes.push(OperationCallbacks.primaryClass)}}const xv=OperationCallbacks;class CallbacksVisitor_CallbacksVisitor extends(Mixin(_m,em)){specPath;constructor(s){super(s),this.element=new xv,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"Callback\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(Hm).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"callback\")})),o}}const kv=CallbacksVisitor_CallbacksVisitor;class OperationSecurity extends Su.wE{static primaryClass=\"operation-security\";constructor(s,o,i){super(s,o,i),this.classes.push(OperationSecurity.primaryClass),this.classes.push(\"security\")}}const Ov=OperationSecurity;class SecurityVisitor_SecurityVisitor extends(Mixin(tm,em)){constructor(s){super(s),this.element=new Ov}ArrayElement(s){return s.forEach((s=>{const o=Nu(s)?[\"document\",\"objects\",\"SecurityRequirement\"]:[\"value\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Av=SecurityVisitor_SecurityVisitor;class OperationServers extends Su.wE{static primaryClass=\"operation-servers\";constructor(s,o,i){super(s,o,i),this.classes.push(OperationServers.primaryClass),this.classes.push(\"servers\")}}const Cv=OperationServers;const jv=class ServersVisitor_ServersVisitor extends Om{constructor(s){super(s),this.element=new Cv}};class PathItemVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Fh,this.specPath=fc([\"document\",\"objects\",\"PathItem\"])}ObjectElement(s){const o=cm.prototype.ObjectElement.call(this,s);return this.element.filter(Vm).forEach(((s,o)=>{const i=cloneDeep(o);i.content=serializers_value(i).toUpperCase(),s.setMetaProperty(\"http-method\",i)})),ju(this.element.$ref)&&this.element.classes.push(\"reference-element\"),o}}const Pv=PathItemVisitor;const Iv=class path_item_$RefVisitor_$RefVisitor extends em{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};class PathItemServers extends Su.wE{static primaryClass=\"path-item-servers\";constructor(s,o,i){super(s,o,i),this.classes.push(PathItemServers.primaryClass),this.classes.push(\"servers\")}}const Tv=PathItemServers;const Nv=class path_item_ServersVisitor_ServersVisitor extends Om{constructor(s){super(s),this.element=new Tv}};class PathItemParameters extends Su.wE{static primaryClass=\"path-item-parameters\";constructor(s,o,i){super(s,o,i),this.classes.push(PathItemParameters.primaryClass),this.classes.push(\"parameters\")}}const Mv=PathItemParameters;const Rv=class path_item_ParametersVisitor_ParametersVisitor extends Sv{constructor(s){super(s),this.element=new Mv}};class SecuritySchemeVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Wf,this.specPath=fc([\"document\",\"objects\",\"SecurityScheme\"]),this.canSupportSpecificationExtensions=!0}}const Dv=SecuritySchemeVisitor;class OAuthFlowsVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Ph,this.specPath=fc([\"document\",\"objects\",\"OAuthFlows\"]),this.canSupportSpecificationExtensions=!0}}const Lv=OAuthFlowsVisitor;class OAuthFlowVisitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new jh,this.specPath=fc([\"document\",\"objects\",\"OAuthFlow\"]),this.canSupportSpecificationExtensions=!0}}const Fv=OAuthFlowVisitor;class OAuthFlowScopes extends Su.Sh{static primaryClass=\"oauth-flow-scopes\";constructor(s,o,i){super(s,o,i),this.classes.push(OAuthFlowScopes.primaryClass)}}const Bv=OAuthFlowScopes;class ScopesVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Bv,this.specPath=fc([\"value\"])}}const $v=ScopesVisitor;class Tags extends Su.wE{static primaryClass=\"tags\";constructor(s,o,i){super(s,o,i),this.classes.push(Tags.primaryClass)}}const qv=Tags;class TagsVisitor_TagsVisitor extends(Mixin(tm,em)){constructor(s){super(s),this.element=new qv}ArrayElement(s){return s.forEach((s=>{const o=am(s)?[\"document\",\"objects\",\"Tag\"]:[\"value\"],i=this.toRefractedElement(o,s);this.element.push(i)})),this.copyMetaAndAttributes(s,this.element),qu}}const Uv=TagsVisitor_TagsVisitor,{fixedFields:Vv}=Tf.visitors.document.objects.JSONSchema,zv={visitors:{value:em,document:{objects:{OpenApi:{$visitor:lm,fixedFields:{openapi:um,info:{$ref:\"#/visitors/document/objects/Info\"},servers:Om,paths:{$ref:\"#/visitors/document/objects/Paths\"},components:{$ref:\"#/visitors/document/objects/Components\"},security:kg,tags:Uv,externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"}}},Info:{$visitor:hm,fixedFields:{title:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},termsOfService:{$ref:\"#/visitors/value\"},contact:{$ref:\"#/visitors/document/objects/Contact\"},license:{$ref:\"#/visitors/document/objects/License\"},version:dm}},Contact:{$visitor:fm,fixedFields:{name:{$ref:\"#/visitors/value\"},url:{$ref:\"#/visitors/value\"},email:{$ref:\"#/visitors/value\"}}},License:{$visitor:mm,fixedFields:{name:{$ref:\"#/visitors/value\"},url:{$ref:\"#/visitors/value\"}}},Server:{$visitor:wm,fixedFields:{url:xm,description:{$ref:\"#/visitors/value\"},variables:jm}},ServerVariable:{$visitor:Am,fixedFields:{enum:{$ref:\"#/visitors/value\"},default:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"}}},Components:{$visitor:qg,fixedFields:{schemas:Cy,responses:Py,parameters:Ty,examples:My,requestBodies:Dy,headers:Fy,securitySchemes:$y,links:Uy,callbacks:zy}},Paths:{$visitor:Xy},PathItem:{$visitor:Pv,fixedFields:{$ref:Iv,summary:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},get:{$ref:\"#/visitors/document/objects/Operation\"},put:{$ref:\"#/visitors/document/objects/Operation\"},post:{$ref:\"#/visitors/document/objects/Operation\"},delete:{$ref:\"#/visitors/document/objects/Operation\"},options:{$ref:\"#/visitors/document/objects/Operation\"},head:{$ref:\"#/visitors/document/objects/Operation\"},patch:{$ref:\"#/visitors/document/objects/Operation\"},trace:{$ref:\"#/visitors/document/objects/Operation\"},servers:Nv,parameters:Rv}},Operation:{$visitor:yv,fixedFields:{tags:bv,summary:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"},operationId:{$ref:\"#/visitors/value\"},parameters:Ev,requestBody:wv,responses:{$ref:\"#/visitors/document/objects/Responses\"},callbacks:kv,deprecated:{$ref:\"#/visitors/value\"},security:Av,servers:jv}},ExternalDocumentation:{$visitor:Hy,fixedFields:{description:{$ref:\"#/visitors/value\"},url:{$ref:\"#/visitors/value\"}}},Parameter:{$visitor:Wg,fixedFields:{name:{$ref:\"#/visitors/value\"},in:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},required:{$ref:\"#/visitors/value\"},deprecated:{$ref:\"#/visitors/value\"},allowEmptyValue:{$ref:\"#/visitors/value\"},style:{$ref:\"#/visitors/value\"},explode:{$ref:\"#/visitors/value\"},allowReserved:{$ref:\"#/visitors/value\"},schema:Kg,example:{$ref:\"#/visitors/value\"},examples:xy,content:Oy}},RequestBody:{$visitor:Qy,fixedFields:{description:{$ref:\"#/visitors/value\"},content:ev,required:{$ref:\"#/visitors/value\"}}},MediaType:{$visitor:Pm,fixedFields:{schema:lg,example:{$ref:\"#/visitors/value\"},examples:mg,encoding:yg}},Encoding:{$visitor:Ky,fixedFields:{contentType:{$ref:\"#/visitors/value\"},headers:Yy,style:{$ref:\"#/visitors/value\"},explode:{$ref:\"#/visitors/value\"},allowReserved:{$ref:\"#/visitors/value\"}}},Responses:{$visitor:mv,fixedFields:{default:gv}},Response:{$visitor:rv,fixedFields:{description:{$ref:\"#/visitors/value\"},headers:sv,content:iv,links:cv}},Callback:{$visitor:tv},Example:{$visitor:Wy,fixedFields:{summary:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},value:{$ref:\"#/visitors/value\"},externalValue:Jy}},Link:{$visitor:gm,fixedFields:{operationRef:ym,operationId:vm,parameters:Em,requestBody:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},server:{$ref:\"#/visitors/document/objects/Server\"}}},Header:{$visitor:Yg,fixedFields:{description:{$ref:\"#/visitors/value\"},required:{$ref:\"#/visitors/value\"},deprecated:{$ref:\"#/visitors/value\"},allowEmptyValue:{$ref:\"#/visitors/value\"},style:{$ref:\"#/visitors/value\"},explode:{$ref:\"#/visitors/value\"},allowReserved:{$ref:\"#/visitors/value\"},schema:Xg,example:{$ref:\"#/visitors/value\"},examples:ey,content:ny}},Tag:{$visitor:Ug,fixedFields:{name:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"}}},Reference:{$visitor:Vg,fixedFields:{$ref:zg}},JSONSchema:{$ref:\"#/visitors/document/objects/Schema\"},JSONReference:{$ref:\"#/visitors/document/objects/Reference\"},Schema:{$visitor:sy,fixedFields:{title:Vv.title,multipleOf:Vv.multipleOf,maximum:Vv.maximum,exclusiveMaximum:Vv.exclusiveMaximum,minimum:Vv.minimum,exclusiveMinimum:Vv.exclusiveMinimum,maxLength:Vv.maxLength,minLength:Vv.minLength,pattern:Vv.pattern,maxItems:Vv.maxItems,minItems:Vv.minItems,uniqueItems:Vv.uniqueItems,maxProperties:Vv.maxProperties,minProperties:Vv.minProperties,required:Vv.required,enum:Vv.enum,type:gy,allOf:iy,anyOf:cy,oneOf:uy,not:vy,items:hy,properties:fy,additionalProperties:vy,description:Vv.description,format:Vv.format,default:Vv.default,nullable:{$ref:\"#/visitors/value\"},discriminator:{$ref:\"#/visitors/document/objects/Discriminator\"},writeOnly:{$ref:\"#/visitors/value\"},xml:{$ref:\"#/visitors/document/objects/XML\"},externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"},example:{$ref:\"#/visitors/value\"},deprecated:{$ref:\"#/visitors/value\"}}},Discriminator:{$visitor:by,fixedFields:{propertyName:{$ref:\"#/visitors/value\"},mapping:Sy}},XML:{$visitor:Ey,fixedFields:{name:{$ref:\"#/visitors/value\"},namespace:{$ref:\"#/visitors/value\"},prefix:{$ref:\"#/visitors/value\"},attribute:{$ref:\"#/visitors/value\"},wrapped:{$ref:\"#/visitors/value\"}}},SecurityScheme:{$visitor:Dv,fixedFields:{type:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"},name:{$ref:\"#/visitors/value\"},in:{$ref:\"#/visitors/value\"},scheme:{$ref:\"#/visitors/value\"},bearerFormat:{$ref:\"#/visitors/value\"},flows:{$ref:\"#/visitors/document/objects/OAuthFlows\"},openIdConnectUrl:{$ref:\"#/visitors/value\"}}},OAuthFlows:{$visitor:Lv,fixedFields:{implicit:{$ref:\"#/visitors/document/objects/OAuthFlow\"},password:{$ref:\"#/visitors/document/objects/OAuthFlow\"},clientCredentials:{$ref:\"#/visitors/document/objects/OAuthFlow\"},authorizationCode:{$ref:\"#/visitors/document/objects/OAuthFlow\"}}},OAuthFlow:{$visitor:Fv,fixedFields:{authorizationUrl:{$ref:\"#/visitors/value\"},tokenUrl:{$ref:\"#/visitors/value\"},refreshUrl:{$ref:\"#/visitors/value\"},scopes:$v}},SecurityRequirement:{$visitor:_g}},extension:{$visitor:pm}}}},src_traversal_visitor_getNodeType=s=>{if(Cu(s))return`${s.element.charAt(0).toUpperCase()+s.element.slice(1)}Element`},Wv={CallbackElement:[\"content\"],ComponentsElement:[\"content\"],ContactElement:[\"content\"],DiscriminatorElement:[\"content\"],Encoding:[\"content\"],Example:[\"content\"],ExternalDocumentationElement:[\"content\"],HeaderElement:[\"content\"],InfoElement:[\"content\"],LicenseElement:[\"content\"],MediaTypeElement:[\"content\"],OAuthFlowElement:[\"content\"],OAuthFlowsElement:[\"content\"],OpenApi3_0Element:[\"content\"],OperationElement:[\"content\"],ParameterElement:[\"content\"],PathItemElement:[\"content\"],PathsElement:[\"content\"],ReferenceElement:[\"content\"],RequestBodyElement:[\"content\"],ResponseElement:[\"content\"],ResponsesElement:[\"content\"],SchemaElement:[\"content\"],SecurityRequirementElement:[\"content\"],SecuritySchemeElement:[\"content\"],ServerElement:[\"content\"],ServerVariableElement:[\"content\"],TagElement:[\"content\"],...np},Jv={namespace:s=>{const{base:o}=s;return o.register(\"callback\",Xp),o.register(\"components\",Qp),o.register(\"contact\",Zp),o.register(\"discriminator\",th),o.register(\"encoding\",rh),o.register(\"example\",uh),o.register(\"externalDocumentation\",dh),o.register(\"header\",fh),o.register(\"info\",vh),o.register(\"license\",_h),o.register(\"link\",wh),o.register(\"mediaType\",Oh),o.register(\"oAuthFlow\",jh),o.register(\"oAuthFlows\",Ph),o.register(\"openapi\",Ih),o.register(\"openApi3_0\",Rh),o.register(\"operation\",Dh),o.register(\"parameter\",Lh),o.register(\"pathItem\",Fh),o.register(\"paths\",Jh),o.register(\"reference\",Hh),o.register(\"requestBody\",Kh),o.register(\"response\",Gh),o.register(\"responses\",Qh),o.register(\"schema\",Ff),o.register(\"securityRequirement\",Vf),o.register(\"securityScheme\",Wf),o.register(\"server\",Jf),o.register(\"serverVariable\",Hf),o.register(\"tag\",Gf),o.register(\"xml\",Xf),o}},Hv=Jv,src_refractor_toolbox=()=>{const s=createNamespace(Hv);return{predicates:{...ce,isElement:Cu,isStringElement:ju,isArrayElement:Mu,isObjectElement:Nu,isMemberElement:Ru,includesClasses,hasElementSourceMap},namespace:s}},src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"OpenApi\",\"$visitor\"],plugins:i=[]}={})=>{const a=(0,Su.e)(s),u=dereference(zv),_=new(Qu(o,u))({specObj:u});return visitor_visit(a,_),dispatchPluginsSync(_.element,i,{toolboxCreator:src_refractor_toolbox,visitorOptions:{keyMap:Wv,nodeTypeGetter:src_traversal_visitor_getNodeType}})},src_refractor_createRefractor=s=>(o,i={})=>src_refractor_refract(o,{specPath:s,...i});Xp.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Callback\",\"$visitor\"]),Qp.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Components\",\"$visitor\"]),Zp.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Contact\",\"$visitor\"]),uh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Example\",\"$visitor\"]),th.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Discriminator\",\"$visitor\"]),rh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Encoding\",\"$visitor\"]),dh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"ExternalDocumentation\",\"$visitor\"]),fh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Header\",\"$visitor\"]),vh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Info\",\"$visitor\"]),_h.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"License\",\"$visitor\"]),wh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Link\",\"$visitor\"]),Oh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"MediaType\",\"$visitor\"]),jh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OAuthFlow\",\"$visitor\"]),Ph.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OAuthFlows\",\"$visitor\"]),Ih.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OpenApi\",\"fixedFields\",\"openapi\"]),Rh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OpenApi\",\"$visitor\"]),Dh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Operation\",\"$visitor\"]),Lh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Parameter\",\"$visitor\"]),Fh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"PathItem\",\"$visitor\"]),Jh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Paths\",\"$visitor\"]),Hh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Reference\",\"$visitor\"]),Kh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"RequestBody\",\"$visitor\"]),Gh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Response\",\"$visitor\"]),Qh.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Responses\",\"$visitor\"]),Ff.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Schema\",\"$visitor\"]),Vf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"SecurityRequirement\",\"$visitor\"]),Wf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"SecurityScheme\",\"$visitor\"]),Jf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Server\",\"$visitor\"]),Hf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"ServerVariable\",\"$visitor\"]),Gf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Tag\",\"$visitor\"]),Xf.refract=src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"XML\",\"$visitor\"]);const Kv=class Callback_Callback extends Xp{};const Gv=class Components_Components extends Qp{get pathItems(){return this.get(\"pathItems\")}set pathItems(s){this.set(\"pathItems\",s)}};const Yv=class Contact_Contact extends Zp{};const Xv=class Discriminator_Discriminator extends th{};const Qv=class Encoding_Encoding extends rh{};const Zv=class Example_Example extends uh{};const eb=class ExternalDocumentation_ExternalDocumentation extends dh{};const tb=class Header_Header extends fh{get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}};const nb=class Info_Info extends vh{get license(){return this.get(\"license\")}set license(s){this.set(\"license\",s)}get summary(){return this.get(\"summary\")}set summary(s){this.set(\"summary\",s)}};class JsonSchemaDialect extends Su.Om{static default=new JsonSchemaDialect(\"https://spec.openapis.org/oas/3.1/dialect/base\");constructor(s,o,i){super(s,o,i),this.element=\"jsonSchemaDialect\"}}const pb=JsonSchemaDialect;const mb=class License_License extends _h{get identifier(){return this.get(\"identifier\")}set identifier(s){this.set(\"identifier\",s)}};const yb=class Link_Link extends wh{};const _b=class MediaType_MediaType extends Oh{get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}};const Sb=class OAuthFlow_OAuthFlow extends jh{};const wb=class OAuthFlows_OAuthFlows extends Ph{};const Ob=class Openapi_Openapi extends Ih{};class OpenApi3_1 extends Su.Sh{constructor(s,o,i){super(s,o,i),this.element=\"openApi3_1\",this.classes.push(\"api\")}get openapi(){return this.get(\"openapi\")}set openapi(s){this.set(\"openapi\",s)}get info(){return this.get(\"info\")}set info(s){this.set(\"info\",s)}get jsonSchemaDialect(){return this.get(\"jsonSchemaDialect\")}set jsonSchemaDialect(s){this.set(\"jsonSchemaDialect\",s)}get servers(){return this.get(\"servers\")}set servers(s){this.set(\"servers\",s)}get paths(){return this.get(\"paths\")}set paths(s){this.set(\"paths\",s)}get components(){return this.get(\"components\")}set components(s){this.set(\"components\",s)}get security(){return this.get(\"security\")}set security(s){this.set(\"security\",s)}get tags(){return this.get(\"tags\")}set tags(s){this.set(\"tags\",s)}get externalDocs(){return this.get(\"externalDocs\")}set externalDocs(s){this.set(\"externalDocs\",s)}get webhooks(){return this.get(\"webhooks\")}set webhooks(s){this.set(\"webhooks\",s)}}const Ab=OpenApi3_1;const Pb=class Operation_Operation extends Dh{get requestBody(){return this.get(\"requestBody\")}set requestBody(s){this.set(\"requestBody\",s)}};const Ib=class Parameter_Parameter extends Lh{get schema(){return this.get(\"schema\")}set schema(s){this.set(\"schema\",s)}};const Mb=class PathItem_PathItem extends Fh{get GET(){return this.get(\"get\")}set GET(s){this.set(\"GET\",s)}get PUT(){return this.get(\"put\")}set PUT(s){this.set(\"PUT\",s)}get POST(){return this.get(\"post\")}set POST(s){this.set(\"POST\",s)}get DELETE(){return this.get(\"delete\")}set DELETE(s){this.set(\"DELETE\",s)}get OPTIONS(){return this.get(\"options\")}set OPTIONS(s){this.set(\"OPTIONS\",s)}get HEAD(){return this.get(\"head\")}set HEAD(s){this.set(\"HEAD\",s)}get PATCH(){return this.get(\"patch\")}set PATCH(s){this.set(\"PATCH\",s)}get TRACE(){return this.get(\"trace\")}set TRACE(s){this.set(\"TRACE\",s)}};const Rb=class Paths_Paths extends Jh{};class Reference_Reference extends Hh{}Object.defineProperty(Reference_Reference.prototype,\"description\",{get(){return this.get(\"description\")},set(s){this.set(\"description\",s)},enumerable:!0}),Object.defineProperty(Reference_Reference.prototype,\"summary\",{get(){return this.get(\"summary\")},set(s){this.set(\"summary\",s)},enumerable:!0});const Lb=Reference_Reference;const qb=class RequestBody_RequestBody extends Kh{};const zb=class elements_Response_Response extends Gh{};const Qb=class Responses_Responses extends Qh{};const e_=class JSONSchema_JSONSchema extends sd{constructor(s,o,i){super(s,o,i),this.element=\"JSONSchemaDraft6\"}get idProp(){throw new td(\"id keyword from Core vocabulary has been renamed to $id.\")}set idProp(s){throw new td(\"id keyword from Core vocabulary has been renamed to $id.\")}get $id(){return this.get(\"$id\")}set $id(s){this.set(\"$id\",s)}get exclusiveMaximum(){return this.get(\"exclusiveMaximum\")}set exclusiveMaximum(s){this.set(\"exclusiveMaximum\",s)}get exclusiveMinimum(){return this.get(\"exclusiveMinimum\")}set exclusiveMinimum(s){this.set(\"exclusiveMinimum\",s)}get containsProp(){return this.get(\"contains\")}set containsProp(s){this.set(\"contains\",s)}get items(){return this.get(\"items\")}set items(s){this.set(\"items\",s)}get propertyNames(){return this.get(\"propertyNames\")}set propertyNames(s){this.set(\"propertyNames\",s)}get const(){return this.get(\"const\")}set const(s){this.set(\"const\",s)}get not(){return this.get(\"not\")}set not(s){this.set(\"not\",s)}get examples(){return this.get(\"examples\")}set examples(s){this.set(\"examples\",s)}};const t_=class LinkDescription_LinkDescription extends ld{get hrefSchema(){return this.get(\"hrefSchema\")}set hrefSchema(s){this.set(\"hrefSchema\",s)}get targetSchema(){return this.get(\"targetSchema\")}set targetSchema(s){this.set(\"targetSchema\",s)}get schema(){throw new td(\"schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.\")}set schema(s){throw new td(\"schema keyword from Hyper-Schema vocabulary has been renamed to submissionSchema.\")}get submissionSchema(){return this.get(\"submissionSchema\")}set submissionSchema(s){this.set(\"submissionSchema\",s)}get method(){throw new td(\"method keyword from Hyper-Schema vocabulary has been removed.\")}set method(s){throw new td(\"method keyword from Hyper-Schema vocabulary has been removed.\")}get encType(){throw new td(\"encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.\")}set encType(s){throw new td(\"encType keyword from Hyper-Schema vocabulary has been renamed to submissionEncType.\")}get submissionEncType(){return this.get(\"submissionEncType\")}set submissionEncType(s){this.set(\"submissionEncType\",s)}};var r_=_curry3((function assocPath(s,o,i){if(0===s.length)return o;var a=s[0];if(s.length>1){var u=!Ju(i)&&_has(a,i)&&\"object\"==typeof i[a]?i[a]:Xo(s[1])?[]:{};o=assocPath(Array.prototype.slice.call(s,1),o,u)}return function _assoc(s,o,i){if(Xo(s)&&ca(i)){var a=[].concat(i);return a[s]=o,a}var u={};for(var _ in i)u[_]=i[_];return u[s]=o,u}(a,o,i)}));const n_=r_;var s_=_curry3((function remove(s,o,i){var a=Array.prototype.slice.call(i,0);return a.splice(s,o),a}));const o_=s_;var i_=_curry3((function assoc(s,o,i){return n_([s],o,i)}));const a_=i_;var c_=_curry2((function dissocPath(s,o){if(null==o)return o;switch(s.length){case 0:return o;case 1:return function _dissoc(s,o){if(null==o)return o;if(Xo(s)&&ca(o))return o_(s,1,o);var i={};for(var a in o)i[a]=o[a];return delete i[s],i}(s[0],o);default:var i=s[0],a=Array.prototype.slice.call(s,1);return null==o[i]?function _shallowCloneObject(s,o){if(Xo(s)&&ca(o))return[].concat(o);var i={};for(var a in o)i[a]=o[a];return i}(i,o):a_(i,dissocPath(a,o[i]),o)}}));const l_=c_;const u_=class json_schema_JSONSchemaVisitor extends $d{constructor(s){super(s),this.element=new e_}get defaultDialectIdentifier(){return\"http://json-schema.org/draft-06/schema#\"}BooleanElement(s){const o=this.enter(s);return this.element.classes.push(\"boolean-json-schema\"),o}handleSchemaIdentifier(s,o=\"$id\"){return super.handleSchemaIdentifier(s,o)}};const p_=class json_schema_ItemsVisitor_ItemsVisitor extends Ud{BooleanElement(s){return this.element=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s),qu}};const h_=class json_schema_ExamplesVisitor_ExamplesVisitor extends yd{ArrayElement(s){const o=this.enter(s);return this.element.classes.push(\"json-schema-examples\"),o}};const d_=class link_description_LinkDescriptionVisitor extends Pf{constructor(s){super(s),this.element=new t_}},f_=pipe(n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],u_),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"id\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$id\"],Tf.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contains\"],Tf.visitors.JSONSchemaOrJSONReferenceVisitor),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"items\"],p_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"propertyNames\"],Tf.visitors.JSONSchemaOrJSONReferenceVisitor),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"const\"],Tf.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"examples\"],h_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"],d_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"hrefSchema\"],Tf.visitors.JSONSchemaOrJSONReferenceVisitor),l_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"schema\"]),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionSchema\"],Tf.visitors.JSONSchemaOrJSONReferenceVisitor),l_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"method\"]),l_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"encType\"]),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionEncType\"],Tf.visitors.value))(Tf),m_={JSONSchemaDraft6Element:[\"content\"],JSONReferenceElement:[\"content\"],MediaElement:[\"content\"],LinkDescriptionElement:[\"content\"],...np},g_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof e_||s(a)&&o(\"JSONSchemaDraft6\",a)&&i(\"object\",a))),y_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof t_||s(a)&&o(\"linkDescription\",a)&&i(\"object\",a))),v_={namespace:s=>{const{base:o}=s;return o.register(\"jSONSchemaDraft6\",e_),o.register(\"jSONReference\",id),o.register(\"media\",cd),o.register(\"linkDescription\",t_),o}},b_=v_,apidom_ns_json_schema_draft_6_src_refractor_toolbox=()=>{const s=createNamespace(b_);return{predicates:{...le,isStringElement:ju},namespace:s}},apidom_ns_json_schema_draft_6_src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],plugins:i=[],specificationObj:a=f_}={})=>{const u=(0,Su.e)(s),_=dereference(a),w=new(Qu(o,_))({specObj:_});return visitor_visit(u,w),dispatchPluginsSync(w.element,i,{toolboxCreator:apidom_ns_json_schema_draft_6_src_refractor_toolbox,visitorOptions:{keyMap:m_,nodeTypeGetter:traversal_visitor_getNodeType}})},apidom_ns_json_schema_draft_6_src_refractor_createRefractor=s=>(o,i={})=>apidom_ns_json_schema_draft_6_src_refractor_refract(o,{specPath:s,...i});e_.refract=apidom_ns_json_schema_draft_6_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"]),t_.refract=apidom_ns_json_schema_draft_6_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"]);const S_=class elements_JSONSchema_JSONSchema extends e_{constructor(s,o,i){super(s,o,i),this.element=\"JSONSchemaDraft7\"}get $comment(){return this.get(\"$comment\")}set $comment(s){this.set(\"$comment\",s)}get items(){return this.get(\"items\")}set items(s){this.set(\"items\",s)}get if(){return this.get(\"if\")}set if(s){this.set(\"if\",s)}get then(){return this.get(\"then\")}set then(s){this.set(\"then\",s)}get else(){return this.get(\"else\")}set else(s){this.set(\"else\",s)}get not(){return this.get(\"not\")}set not(s){this.set(\"not\",s)}get contentEncoding(){return this.get(\"contentEncoding\")}set contentEncoding(s){this.set(\"contentEncoding\",s)}get contentMediaType(){return this.get(\"contentMediaType\")}set contentMediaType(s){this.set(\"contentMediaType\",s)}get media(){throw new td('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as \"contentMediaType\" / \"contentEncoding\"')}set media(s){throw new td('media keyword from Hyper-Schema vocabulary has been moved to validation vocabulary as \"contentMediaType\" / \"contentEncoding\"')}get writeOnly(){return this.get(\"writeOnly\")}set writeOnly(s){this.set(\"writeOnly\",s)}};const E_=class elements_LinkDescription_LinkDescription extends t_{get anchor(){return this.get(\"anchor\")}set anchor(s){this.set(\"anchor\",s)}get anchorPointer(){return this.get(\"anchorPointer\")}set anchorPointer(s){this.set(\"anchorPointer\",s)}get templatePointers(){return this.get(\"templatePointers\")}set templatePointers(s){this.set(\"templatePointers\",s)}get templateRequired(){return this.get(\"templateRequired\")}set templateRequired(s){this.set(\"templateRequired\",s)}get targetSchema(){return this.get(\"targetSchema\")}set targetSchema(s){this.set(\"targetSchema\",s)}get mediaType(){throw new td(\"mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.\")}set mediaType(s){throw new td(\"mediaType keyword from Hyper-Schema vocabulary has been renamed to targetMediaType.\")}get targetMediaType(){return this.get(\"targetMediaType\")}set targetMediaType(s){this.set(\"targetMediaType\",s)}get targetHints(){return this.get(\"targetHints\")}set targetHints(s){this.set(\"targetHints\",s)}get description(){return this.get(\"description\")}set description(s){this.set(\"description\",s)}get $comment(){return this.get(\"$comment\")}set $comment(s){this.set(\"$comment\",s)}get hrefSchema(){return this.get(\"hrefSchema\")}set hrefSchema(s){this.set(\"hrefSchema\",s)}get headerSchema(){return this.get(\"headerSchema\")}set headerSchema(s){this.set(\"headerSchema\",s)}get submissionSchema(){return this.get(\"submissionSchema\")}set submissionSchema(s){this.set(\"submissionSchema\",s)}get submissionEncType(){throw new td(\"submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.\")}set submissionEncType(s){throw new td(\"submissionEncType keyword from Hyper-Schema vocabulary has been renamed to submissionMediaType.\")}get submissionMediaType(){return this.get(\"submissionMediaType\")}set submissionMediaType(s){this.set(\"submissionMediaType\",s)}};const w_=class visitors_json_schema_JSONSchemaVisitor extends u_{constructor(s){super(s),this.element=new S_}get defaultDialectIdentifier(){return\"http://json-schema.org/draft-07/schema#\"}};const x_=class json_schema_link_description_LinkDescriptionVisitor extends d_{constructor(s){super(s),this.element=new E_}},k_=pipe(n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],w_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$comment\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"if\"],f_.visitors.JSONSchemaOrJSONReferenceVisitor),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"then\"],f_.visitors.JSONSchemaOrJSONReferenceVisitor),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"else\"],f_.visitors.JSONSchemaOrJSONReferenceVisitor),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"media\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contentEncoding\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contentMediaType\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"writeOnly\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"],x_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"anchor\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"anchorPointer\"],f_.visitors.value),l_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"mediaType\"]),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"targetMediaType\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"targetHints\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"description\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"$comment\"],f_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"headerSchema\"],f_.visitors.JSONSchemaOrJSONReferenceVisitor),l_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionEncType\"]),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionMediaType\"],f_.visitors.value))(f_),O_={JSONSchemaDraft7Element:[\"content\"],JSONReferenceElement:[\"content\"],LinkDescriptionElement:[\"content\"],...np},A_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof S_||s(a)&&o(\"JSONSchemaDraft7\",a)&&i(\"object\",a))),C_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof E_||s(a)&&o(\"linkDescription\",a)&&i(\"object\",a))),j_={namespace:s=>{const{base:o}=s;return o.register(\"jSONSchemaDraft7\",S_),o.register(\"jSONReference\",id),o.register(\"linkDescription\",E_),o}},P_=j_,apidom_ns_json_schema_draft_7_src_refractor_toolbox=()=>{const s=createNamespace(P_);return{predicates:{...pe,isStringElement:ju},namespace:s}},apidom_ns_json_schema_draft_7_src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],plugins:i=[],specificationObj:a=k_}={})=>{const u=(0,Su.e)(s),_=dereference(a),w=new(Qu(o,_))({specObj:_});return visitor_visit(u,w),dispatchPluginsSync(w.element,i,{toolboxCreator:apidom_ns_json_schema_draft_7_src_refractor_toolbox,visitorOptions:{keyMap:O_,nodeTypeGetter:traversal_visitor_getNodeType}})},apidom_ns_json_schema_draft_7_src_refractor_createRefractor=s=>(o,i={})=>apidom_ns_json_schema_draft_7_src_refractor_refract(o,{specPath:s,...i});S_.refract=apidom_ns_json_schema_draft_7_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"]),E_.refract=apidom_ns_json_schema_draft_7_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"]);const I_=class src_elements_JSONSchema_JSONSchema extends S_{constructor(s,o,i){super(s,o,i),this.element=\"JSONSchema201909\"}get $vocabulary(){return this.get(\"$vocabulary\")}set $vocabulary(s){this.set(\"$vocabulary\",s)}get $anchor(){return this.get(\"$anchor\")}set $anchor(s){this.set(\"$anchor\",s)}get $recursiveAnchor(){return this.get(\"$recursiveAnchor\")}set $recursiveAnchor(s){this.set(\"$recursiveAnchor\",s)}get $recursiveRef(){return this.get(\"$recursiveRef\")}set $recursiveRef(s){this.set(\"$recursiveRef\",s)}get $ref(){return this.get(\"$ref\")}set $ref(s){this.set(\"$ref\",s)}get $defs(){return this.get(\"$defs\")}set $defs(s){this.set(\"$defs\",s)}get definitions(){throw new td(\"definitions keyword from Validation vocabulary has been renamed to $defs.\")}set definitions(s){throw new td(\"definitions keyword from Validation vocabulary has been renamed to $defs.\")}get not(){return this.get(\"not\")}set not(s){this.set(\"not\",s)}get if(){return this.get(\"if\")}set if(s){this.set(\"if\",s)}get then(){return this.get(\"then\")}set then(s){this.set(\"then\",s)}get else(){return this.get(\"else\")}set else(s){this.set(\"else\",s)}get dependentSchemas(){return this.get(\"dependentSchemas\")}set dependentSchemas(s){this.set(\"dependentSchemas\",s)}get dependencies(){throw new td(\"dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.\")}set dependencies(s){throw new td(\"dependencies keyword from Validation vocabulary has been renamed to dependentSchemas.\")}get items(){return this.get(\"items\")}set items(s){this.set(\"items\",s)}get containsProp(){return this.get(\"contains\")}set containsProp(s){this.set(\"contains\",s)}get additionalProperties(){return this.get(\"additionalProperties\")}set additionalProperties(s){this.set(\"additionalProperties\",s)}get additionalItems(){return this.get(\"additionalItems\")}set additionalItems(s){this.set(\"additionalItems\",s)}get propertyNames(){return this.get(\"propertyNames\")}set propertyNames(s){this.set(\"propertyNames\",s)}get unevaluatedItems(){return this.get(\"unevaluatedItems\")}set unevaluatedItems(s){this.set(\"unevaluatedItems\",s)}get unevaluatedProperties(){return this.get(\"unevaluatedProperties\")}set unevaluatedProperties(s){this.set(\"unevaluatedProperties\",s)}get maxContains(){return this.get(\"maxContains\")}set maxContains(s){this.set(\"maxContains\",s)}get minContains(){return this.get(\"minContains\")}set minContains(s){this.set(\"minContains\",s)}get dependentRequired(){return this.get(\"dependentRequired\")}set dependentRequired(s){this.set(\"dependentRequired\",s)}get deprecated(){return this.get(\"deprecated\")}set deprecated(s){this.set(\"deprecated\",s)}get contentSchema(){return this.get(\"contentSchema\")}set contentSchema(s){this.set(\"contentSchema\",s)}};const T_=class src_elements_LinkDescription_LinkDescription extends E_{get targetSchema(){return this.get(\"targetSchema\")}set targetSchema(s){this.set(\"targetSchema\",s)}get hrefSchema(){return this.get(\"hrefSchema\")}set hrefSchema(s){this.set(\"hrefSchema\",s)}get headerSchema(){return this.get(\"headerSchema\")}set headerSchema(s){this.set(\"headerSchema\",s)}get submissionSchema(){return this.get(\"submissionSchema\")}set submissionSchema(s){this.set(\"submissionSchema\",s)}};const N_=class refractor_visitors_json_schema_JSONSchemaVisitor extends w_{constructor(s){super(s),this.element=new I_}get defaultDialectIdentifier(){return\"https://json-schema.org/draft/2019-09/schema\"}ObjectElement(s){this.handleDialectIdentifier(s),this.handleSchemaIdentifier(s),this.parent=this.element;const o=Md.prototype.ObjectElement.call(this,s);return ju(this.element.$ref)&&(this.element.classes.push(\"reference-element\"),this.element.setMetaProperty(\"referenced-element\",\"schema\")),o}};const M_=class $vocabularyVisitor extends yd{ObjectElement(s){const o=super.enter(s);return this.element.classes.push(\"json-schema-$vocabulary\"),o}};const R_=class $refVisitor extends yd{StringElement(s){const o=super.enter(s);return this.element.classes.push(\"reference-value\"),o}};class $defsVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-$defs\"),this.specPath=fc([\"document\",\"objects\",\"JSONSchema\"])}}const D_=$defsVisitor;class json_schema_AllOfVisitor_AllOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-allOf\")}ArrayElement(s){return s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}}const L_=json_schema_AllOfVisitor_AllOfVisitor;class json_schema_AnyOfVisitor_AnyOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-anyOf\")}ArrayElement(s){return s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}}const F_=json_schema_AnyOfVisitor_AnyOfVisitor;class json_schema_OneOfVisitor_OneOfVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-oneOf\")}ArrayElement(s){return s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}}const B_=json_schema_OneOfVisitor_OneOfVisitor;class DependentSchemasVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-dependentSchemas\"),this.specPath=fc([\"document\",\"objects\",\"JSONSchema\"])}}const $_=DependentSchemasVisitor;class visitors_json_schema_ItemsVisitor_ItemsVisitor extends(Mixin(Nd,Rd,yd)){ObjectElement(s){return this.element=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s),qu}ArrayElement(s){return this.element=new Su.wE,this.element.classes.push(\"json-schema-items\"),s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}BooleanElement(s){return this.element=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s),qu}}const q_=visitors_json_schema_ItemsVisitor_ItemsVisitor;class json_schema_PropertiesVisitor_PropertiesVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-properties\"),this.specPath=fc([\"document\",\"objects\",\"JSONSchema\"])}}const U_=json_schema_PropertiesVisitor_PropertiesVisitor;class PatternPropertiesVisitor_PatternPropertiesVisitor extends(Mixin(Jd,Rd,yd)){constructor(s){super(s),this.element=new Su.Sh,this.element.classes.push(\"json-schema-patternProperties\"),this.specPath=fc([\"document\",\"objects\",\"JSONSchema\"])}}const V_=PatternPropertiesVisitor_PatternPropertiesVisitor;const z_=class DependentRequiredVisitor extends yd{ObjectElement(s){const o=super.enter(s);return this.element.classes.push(\"json-schema-dependentRequired\"),o}};const W_=class visitors_json_schema_link_description_LinkDescriptionVisitor extends x_{constructor(s){super(s),this.element=new T_}},J_=pipe(n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$vocabulary\"],M_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$anchor\"],k_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$recursiveAnchor\"],k_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$recursiveRef\"],k_.visitors.value),l_([\"visitors\",\"document\",\"objects\",\"JSONReference\",\"$visitor\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$ref\"],R_),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"definitions\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$defs\"],D_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"allOf\"],L_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"anyOf\"],F_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"oneOf\"],B_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"not\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"if\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"then\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"else\"],N_),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"dependencies\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"dependentSchemas\"],$_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"items\"],q_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contains\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"properties\"],U_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"patternProperties\"],V_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"additionalProperties\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"additionalItems\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"propertyNames\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"unevaluatedItems\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"unevaluatedProperties\"],N_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"maxContains\"],k_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"minContains\"],k_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"dependentRequired\"],z_),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"deprecated\"],k_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contentSchema\"],N_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"],W_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"targetSchema\"],N_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"hrefSchema\"],N_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"headerSchema\"],N_),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionSchema\"],N_))(k_),H_={JSONSchema201909Element:[\"content\"],LinkDescriptionElement:[\"content\"],...np},K_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof I_||s(a)&&o(\"JSONSchema201909\",a)&&i(\"object\",a))),G_=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof T_||s(a)&&o(\"linkDescription\",a)&&i(\"object\",a))),Y_={namespace:s=>{const{base:o}=s;return o.register(\"jSONSchema201909\",I_),o.register(\"linkDescription\",T_),o}},X_=Y_,apidom_ns_json_schema_2019_09_src_refractor_toolbox=()=>{const s=createNamespace(X_);return{predicates:{...de,isStringElement:ju},namespace:s}},apidom_ns_json_schema_2019_09_src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],plugins:i=[],specificationObj:a=J_}={})=>{const u=(0,Su.e)(s),_=dereference(a),w=new(Qu(o,_))({specObj:_});return visitor_visit(u,w),dispatchPluginsSync(w.element,i,{toolboxCreator:apidom_ns_json_schema_2019_09_src_refractor_toolbox,visitorOptions:{keyMap:H_,nodeTypeGetter:traversal_visitor_getNodeType}})},apidom_ns_json_schema_2019_09_src_refractor_createRefractor=s=>(o,i={})=>apidom_ns_json_schema_2019_09_src_refractor_refract(o,{specPath:s,...i});I_.refract=apidom_ns_json_schema_2019_09_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"]),T_.refract=apidom_ns_json_schema_2019_09_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"]);const Q_=class apidom_ns_json_schema_2020_12_src_elements_JSONSchema_JSONSchema extends I_{constructor(s,o,i){super(s,o,i),this.element=\"JSONSchema202012\"}get $dynamicAnchor(){return this.get(\"$dynamicAnchor\")}set $dynamicAnchor(s){this.set(\"$dynamicAnchor\",s)}get $recursiveAnchor(){throw new td(\"$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.\")}set $recursiveAnchor(s){throw new td(\"$recursiveAnchor keyword from Core vocabulary has been renamed to $dynamicAnchor.\")}get $dynamicRef(){return this.get(\"$dynamicRef\")}set $dynamicRef(s){this.set(\"$dynamicRef\",s)}get $recursiveRef(){throw new td(\"$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.\")}set $recursiveRef(s){throw new td(\"$recursiveRef keyword from Core vocabulary has been renamed to $dynamicRef.\")}get prefixItems(){return this.get(\"prefixItems\")}set prefixItems(s){this.set(\"prefixItems\",s)}};const Z_=class apidom_ns_json_schema_2020_12_src_elements_LinkDescription_LinkDescription extends T_{get targetSchema(){return this.get(\"targetSchema\")}set targetSchema(s){this.set(\"targetSchema\",s)}get hrefSchema(){return this.get(\"hrefSchema\")}set hrefSchema(s){this.set(\"hrefSchema\",s)}get headerSchema(){return this.get(\"headerSchema\")}set headerSchema(s){this.set(\"headerSchema\",s)}get submissionSchema(){return this.get(\"submissionSchema\")}set submissionSchema(s){this.set(\"submissionSchema\",s)}};const eS=class src_refractor_visitors_json_schema_JSONSchemaVisitor extends N_{constructor(s){super(s),this.element=new Q_}get defaultDialectIdentifier(){return\"https://json-schema.org/draft/2020-12/schema\"}};class PrefixItemsVisitor extends(Mixin(Nd,Rd,yd)){constructor(s){super(s),this.element=new Su.wE,this.element.classes.push(\"json-schema-prefixItems\")}ArrayElement(s){return s.forEach((s=>{const o=this.toRefractedElement([\"document\",\"objects\",\"JSONSchema\"],s);this.element.push(o)})),this.copyMetaAndAttributes(s,this.element),qu}}const tS=PrefixItemsVisitor;const rS=class refractor_visitors_json_schema_link_description_LinkDescriptionVisitor extends W_{constructor(s){super(s),this.element=new Z_}},nS=pipe(n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],eS),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$recursiveAnchor\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$dynamicAnchor\"],J_.visitors.value),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$recursiveRef\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"$dynamicRef\"],J_.visitors.value),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"not\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"if\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"then\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"else\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"prefixItems\"],tS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"items\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contains\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"additionalProperties\"],eS),l_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"additionalItems\"]),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"propertyNames\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"unevaluatedItems\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"unevaluatedProperties\"],eS),n_([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"fixedFields\",\"contentSchema\"],eS),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"],rS),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"targetSchema\"],eS),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"hrefSchema\"],eS),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"headerSchema\"],eS),n_([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"fixedFields\",\"submissionSchema\"],eS))(J_),sS={JSONSchema202012Element:[\"content\"],LinkDescriptionElement:[\"content\"],...np},oS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Q_||s(a)&&o(\"JSONSchema202012\",a)&&i(\"object\",a))),iS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Z_||s(a)&&o(\"linkDescription\",a)&&i(\"object\",a))),aS={namespace:s=>{const{base:o}=s;return o.register(\"jSONSchema202012\",Q_),o.register(\"linkDescription\",Z_),o}},cS=aS,apidom_ns_json_schema_2020_12_src_refractor_toolbox=()=>{const s=createNamespace(cS);return{predicates:{...fe,isStringElement:ju},namespace:s}},apidom_ns_json_schema_2020_12_src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"],plugins:i=[],specificationObj:a=nS}={})=>{const u=(0,Su.e)(s),_=dereference(a),w=new(Qu(o,_))({specObj:_});return visitor_visit(u,w),dispatchPluginsSync(w.element,i,{toolboxCreator:apidom_ns_json_schema_2020_12_src_refractor_toolbox,visitorOptions:{keyMap:sS,nodeTypeGetter:traversal_visitor_getNodeType}})},apidom_ns_json_schema_2020_12_src_refractor_createRefractor=s=>(o,i={})=>apidom_ns_json_schema_2020_12_src_refractor_refract(o,{specPath:s,...i});Q_.refract=apidom_ns_json_schema_2020_12_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"JSONSchema\",\"$visitor\"]),Z_.refract=apidom_ns_json_schema_2020_12_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"LinkDescription\",\"$visitor\"]);const lS=class elements_Schema_Schema extends Q_{constructor(s,o,i){super(s,o,i),this.element=\"schema\"}get discriminator(){return this.get(\"discriminator\")}set discriminator(s){this.set(\"discriminator\",s)}get xml(){return this.get(\"xml\")}set xml(s){this.set(\"xml\",s)}get externalDocs(){return this.get(\"externalDocs\")}set externalDocs(s){this.set(\"externalDocs\",s)}get example(){return this.get(\"example\")}set example(s){this.set(\"example\",s)}};const uS=class SecurityRequirement_SecurityRequirement extends Vf{};const pS=class SecurityScheme_SecurityScheme extends Wf{};const hS=class Server_Server extends Jf{};const dS=class ServerVariable_ServerVariable extends Hf{};const fS=class Tag_Tag extends Gf{};const mS=class Xml_Xml extends Xf{};class OpenApi3_1Visitor extends(Mixin(cm,em)){constructor(s){super(s),this.element=new Ab,this.specPath=fc([\"document\",\"objects\",\"OpenApi\"]),this.canSupportSpecificationExtensions=!0,this.openApiSemanticElement=this.element}ObjectElement(s){return this.openApiGenericElement=s,cm.prototype.ObjectElement.call(this,s)}}const gS=OpenApi3_1Visitor,yS=zv.visitors.document.objects.Info.$visitor;const vS=class info_InfoVisitor extends yS{constructor(s){super(s),this.element=new nb}},bS=zv.visitors.document.objects.Contact.$visitor;const _S=class contact_ContactVisitor extends bS{constructor(s){super(s),this.element=new Yv}},SS=zv.visitors.document.objects.License.$visitor;const ES=class license_LicenseVisitor extends SS{constructor(s){super(s),this.element=new mb}},wS=zv.visitors.document.objects.Link.$visitor;const xS=class link_LinkVisitor extends wS{constructor(s){super(s),this.element=new yb}};class JsonSchemaDialectVisitor extends(Mixin(tm,em)){StringElement(s){const o=new pb(serializers_value(s));return this.copyMetaAndAttributes(s,o),this.element=o,qu}}const kS=JsonSchemaDialectVisitor,OS=zv.visitors.document.objects.Server.$visitor;const AS=class server_ServerVisitor extends OS{constructor(s){super(s),this.element=new hS}},CS=zv.visitors.document.objects.ServerVariable.$visitor;const jS=class server_variable_ServerVariableVisitor extends CS{constructor(s){super(s),this.element=new dS}},PS=zv.visitors.document.objects.MediaType.$visitor;const IS=class media_type_MediaTypeVisitor extends PS{constructor(s){super(s),this.element=new _b}},TS=zv.visitors.document.objects.SecurityRequirement.$visitor;const NS=class security_requirement_SecurityRequirementVisitor extends TS{constructor(s){super(s),this.element=new uS}},MS=zv.visitors.document.objects.Components.$visitor;const RS=class components_ComponentsVisitor extends MS{constructor(s){super(s),this.element=new Gv}},DS=zv.visitors.document.objects.Tag.$visitor;const LS=class tag_TagVisitor extends DS{constructor(s){super(s),this.element=new fS}},FS=zv.visitors.document.objects.Reference.$visitor;const BS=class reference_ReferenceVisitor extends FS{constructor(s){super(s),this.element=new Lb}},$S=zv.visitors.document.objects.Parameter.$visitor;const qS=class parameter_ParameterVisitor extends $S{constructor(s){super(s),this.element=new Ib}},US=zv.visitors.document.objects.Header.$visitor;const VS=class header_HeaderVisitor extends US{constructor(s){super(s),this.element=new tb}},zS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Kv||s(a)&&o(\"callback\",a)&&i(\"object\",a))),WS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Gv||s(a)&&o(\"components\",a)&&i(\"object\",a))),JS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Yv||s(a)&&o(\"contact\",a)&&i(\"object\",a))),HS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Zv||s(a)&&o(\"example\",a)&&i(\"object\",a))),KS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof eb||s(a)&&o(\"externalDocumentation\",a)&&i(\"object\",a))),GS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof tb||s(a)&&o(\"header\",a)&&i(\"object\",a))),YS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof nb||s(a)&&o(\"info\",a)&&i(\"object\",a))),XS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof pb||s(a)&&o(\"jsonSchemaDialect\",a)&&i(\"string\",a))),QS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof mb||s(a)&&o(\"license\",a)&&i(\"object\",a))),ZS=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof yb||s(a)&&o(\"link\",a)&&i(\"object\",a))),eE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Ob||s(a)&&o(\"openapi\",a)&&i(\"string\",a))),tE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i,hasClass:a})=>u=>u instanceof Ab||s(u)&&o(\"openApi3_1\",u)&&i(\"object\",u)&&a(\"api\",u))),rE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Pb||s(a)&&o(\"operation\",a)&&i(\"object\",a))),nE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Ib||s(a)&&o(\"parameter\",a)&&i(\"object\",a))),sE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Mb||s(a)&&o(\"pathItem\",a)&&i(\"object\",a))),isPathItemElementExternal=s=>{if(!sE(s))return!1;if(!ju(s.$ref))return!1;const o=serializers_value(s.$ref);return\"string\"==typeof o&&o.length>0&&!o.startsWith(\"#\")},oE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Rb||s(a)&&o(\"paths\",a)&&i(\"object\",a))),iE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Lb||s(a)&&o(\"reference\",a)&&i(\"object\",a))),isReferenceElementExternal=s=>{if(!iE(s))return!1;if(!ju(s.$ref))return!1;const o=serializers_value(s.$ref);return\"string\"==typeof o&&o.length>0&&!o.startsWith(\"#\")},aE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof qb||s(a)&&o(\"requestBody\",a)&&i(\"object\",a))),cE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof zb||s(a)&&o(\"response\",a)&&i(\"object\",a))),lE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof Qb||s(a)&&o(\"responses\",a)&&i(\"object\",a))),uE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof lS||s(a)&&o(\"schema\",a)&&i(\"object\",a))),predicates_isBooleanJsonSchemaElement=s=>Tu(s)&&s.classes.includes(\"boolean-json-schema\"),pE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof uS||s(a)&&o(\"securityRequirement\",a)&&i(\"object\",a))),hE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof pS||s(a)&&o(\"securityScheme\",a)&&i(\"object\",a))),dE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof hS||s(a)&&o(\"server\",a)&&i(\"object\",a))),fE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof dS||s(a)&&o(\"serverVariable\",a)&&i(\"object\",a))),mE=helpers((({hasBasicElementProps:s,isElementType:o,primitiveEq:i})=>a=>a instanceof _b||s(a)&&o(\"mediaType\",a)&&i(\"object\",a)));class open_api_3_1_schema_SchemaVisitor extends(Mixin(cm,Rd,em)){constructor(s){super(s),this.element=new lS,this.specPath=fc([\"document\",\"objects\",\"Schema\"]),this.canSupportSpecificationExtensions=!0,this.jsonSchemaDefaultDialect=pb.default,this.passingOptionsNames.push(\"parent\")}ObjectElement(s){this.handleDialectIdentifier(s),this.handleSchemaIdentifier(s),this.parent=this.element;const o=cm.prototype.ObjectElement.call(this,s);return ju(this.element.$ref)&&(this.element.classes.push(\"reference-element\"),this.element.setMetaProperty(\"referenced-element\",\"schema\")),o}BooleanElement(s){return eS.prototype.BooleanElement.call(this,s)}get defaultDialectIdentifier(){let s;return s=void 0!==this.openApiSemanticElement&&XS(this.openApiSemanticElement.jsonSchemaDialect)?serializers_value(this.openApiSemanticElement.jsonSchemaDialect):void 0!==this.openApiGenericElement&&ju(this.openApiGenericElement.get(\"jsonSchemaDialect\"))?serializers_value(this.openApiGenericElement.get(\"jsonSchemaDialect\")):serializers_value(this.jsonSchemaDefaultDialect),s}handleDialectIdentifier(s){return eS.prototype.handleDialectIdentifier.call(this,s)}handleSchemaIdentifier(s){return eS.prototype.handleSchemaIdentifier.call(this,s)}}const gE=open_api_3_1_schema_SchemaVisitor;const yE=class $defsVisitor_$defsVisitor extends D_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const vE=class schema_AllOfVisitor_AllOfVisitor extends L_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const bE=class schema_AnyOfVisitor_AnyOfVisitor extends F_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const _E=class schema_OneOfVisitor_OneOfVisitor extends B_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const SE=class DependentSchemasVisitor_DependentSchemasVisitor extends $_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const EE=class PrefixItemsVisitor_PrefixItemsVisitor extends tS{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const wE=class schema_PropertiesVisitor_PropertiesVisitor extends U_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}};const xE=class schema_PatternPropertiesVisitor_PatternPropertiesVisitor extends V_{constructor(s){super(s),this.passingOptionsNames.push(\"parent\")}},kE=zv.visitors.document.objects.Discriminator.$visitor;const OE=class distriminator_DiscriminatorVisitor extends kE{constructor(s){super(s),this.element=new Xv,this.canSupportSpecificationExtensions=!0}},AE=zv.visitors.document.objects.XML.$visitor;const CE=class xml_XmlVisitor extends AE{constructor(s){super(s),this.element=new mS}};class SchemasVisitor_SchemasVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new Ay,this.specPath=fc([\"document\",\"objects\",\"Schema\"])}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(uE).forEach(((s,o)=>{s.setMetaProperty(\"schemaName\",serializers_value(o))})),o}}const jE=SchemasVisitor_SchemasVisitor;class ComponentsPathItems extends Su.Sh{static primaryClass=\"components-path-items\";constructor(s,o,i){super(s,o,i),this.classes.push(ComponentsPathItems.primaryClass)}}const PE=ComponentsPathItems;class PathItemsVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new PE,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"PathItem\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(iE).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"pathItem\")})),o}}const IE=PathItemsVisitor,TE=zv.visitors.document.objects.Example.$visitor;const NE=class example_ExampleVisitor extends TE{constructor(s){super(s),this.element=new Zv}},ME=zv.visitors.document.objects.ExternalDocumentation.$visitor;const RE=class external_documentation_ExternalDocumentationVisitor extends ME{constructor(s){super(s),this.element=new eb}},DE=zv.visitors.document.objects.Encoding.$visitor;const LE=class open_api_3_1_encoding_EncodingVisitor extends DE{constructor(s){super(s),this.element=new Qv}},FE=zv.visitors.document.objects.Paths.$visitor;const BE=class paths_PathsVisitor extends FE{constructor(s){super(s),this.element=new Rb}},$E=zv.visitors.document.objects.RequestBody.$visitor;const qE=class request_body_RequestBodyVisitor extends $E{constructor(s){super(s),this.element=new qb}},UE=zv.visitors.document.objects.Callback.$visitor;const VE=class callback_CallbackVisitor extends UE{constructor(s){super(s),this.element=new Kv,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"PathItem\"]}ObjectElement(s){const o=UE.prototype.ObjectElement.call(this,s);return this.element.filter(iE).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"pathItem\")})),o}},zE=zv.visitors.document.objects.Response.$visitor;const WE=class response_ResponseVisitor extends zE{constructor(s){super(s),this.element=new zb}},JE=zv.visitors.document.objects.Responses.$visitor;const HE=class open_api_3_1_responses_ResponsesVisitor extends JE{constructor(s){super(s),this.element=new Qb}},KE=zv.visitors.document.objects.Operation.$visitor;const GE=class operation_OperationVisitor extends KE{constructor(s){super(s),this.element=new Pb}},YE=zv.visitors.document.objects.PathItem.$visitor;const XE=class path_item_PathItemVisitor extends YE{constructor(s){super(s),this.element=new Mb}},QE=zv.visitors.document.objects.SecurityScheme.$visitor;const ZE=class security_scheme_SecuritySchemeVisitor extends QE{constructor(s){super(s),this.element=new pS}},ew=zv.visitors.document.objects.OAuthFlows.$visitor;const tw=class oauth_flows_OAuthFlowsVisitor extends ew{constructor(s){super(s),this.element=new wb}},rw=zv.visitors.document.objects.OAuthFlow.$visitor;const nw=class oauth_flow_OAuthFlowVisitor extends rw{constructor(s){super(s),this.element=new Sb}};class Webhooks extends Su.Sh{static primaryClass=\"webhooks\";constructor(s,o,i){super(s,o,i),this.classes.push(Webhooks.primaryClass)}}const sw=Webhooks;class WebhooksVisitor extends(Mixin(_m,em)){constructor(s){super(s),this.element=new sw,this.specPath=s=>isReferenceLikeElement(s)?[\"document\",\"objects\",\"Reference\"]:[\"document\",\"objects\",\"PathItem\"]}ObjectElement(s){const o=_m.prototype.ObjectElement.call(this,s);return this.element.filter(iE).forEach((s=>{s.setMetaProperty(\"referenced-element\",\"pathItem\")})),this.element.filter(sE).forEach(((s,o)=>{s.setMetaProperty(\"webhook-name\",serializers_value(o))})),o}}const ow=WebhooksVisitor,{JSONSchema:iw,LinkDescription:aw}=nS.visitors.document.objects,cw={visitors:{value:zv.visitors.value,document:{objects:{OpenApi:{$visitor:gS,fixedFields:{openapi:zv.visitors.document.objects.OpenApi.fixedFields.openapi,info:{$ref:\"#/visitors/document/objects/Info\"},jsonSchemaDialect:kS,servers:zv.visitors.document.objects.OpenApi.fixedFields.servers,paths:{$ref:\"#/visitors/document/objects/Paths\"},webhooks:ow,components:{$ref:\"#/visitors/document/objects/Components\"},security:zv.visitors.document.objects.OpenApi.fixedFields.security,tags:zv.visitors.document.objects.OpenApi.fixedFields.tags,externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"}}},Info:{$visitor:vS,fixedFields:{title:zv.visitors.document.objects.Info.fixedFields.title,description:zv.visitors.document.objects.Info.fixedFields.description,summary:{$ref:\"#/visitors/value\"},termsOfService:zv.visitors.document.objects.Info.fixedFields.termsOfService,contact:{$ref:\"#/visitors/document/objects/Contact\"},license:{$ref:\"#/visitors/document/objects/License\"},version:zv.visitors.document.objects.Info.fixedFields.version}},Contact:{$visitor:_S,fixedFields:{name:zv.visitors.document.objects.Contact.fixedFields.name,url:zv.visitors.document.objects.Contact.fixedFields.url,email:zv.visitors.document.objects.Contact.fixedFields.email}},License:{$visitor:ES,fixedFields:{name:zv.visitors.document.objects.License.fixedFields.name,identifier:{$ref:\"#/visitors/value\"},url:zv.visitors.document.objects.License.fixedFields.url}},Server:{$visitor:AS,fixedFields:{url:zv.visitors.document.objects.Server.fixedFields.url,description:zv.visitors.document.objects.Server.fixedFields.description,variables:zv.visitors.document.objects.Server.fixedFields.variables}},ServerVariable:{$visitor:jS,fixedFields:{enum:zv.visitors.document.objects.ServerVariable.fixedFields.enum,default:zv.visitors.document.objects.ServerVariable.fixedFields.default,description:zv.visitors.document.objects.ServerVariable.fixedFields.description}},Components:{$visitor:RS,fixedFields:{schemas:jE,responses:zv.visitors.document.objects.Components.fixedFields.responses,parameters:zv.visitors.document.objects.Components.fixedFields.parameters,examples:zv.visitors.document.objects.Components.fixedFields.examples,requestBodies:zv.visitors.document.objects.Components.fixedFields.requestBodies,headers:zv.visitors.document.objects.Components.fixedFields.headers,securitySchemes:zv.visitors.document.objects.Components.fixedFields.securitySchemes,links:zv.visitors.document.objects.Components.fixedFields.links,callbacks:zv.visitors.document.objects.Components.fixedFields.callbacks,pathItems:IE}},Paths:{$visitor:BE},PathItem:{$visitor:XE,fixedFields:{$ref:zv.visitors.document.objects.PathItem.fixedFields.$ref,summary:zv.visitors.document.objects.PathItem.fixedFields.summary,description:zv.visitors.document.objects.PathItem.fixedFields.description,get:{$ref:\"#/visitors/document/objects/Operation\"},put:{$ref:\"#/visitors/document/objects/Operation\"},post:{$ref:\"#/visitors/document/objects/Operation\"},delete:{$ref:\"#/visitors/document/objects/Operation\"},options:{$ref:\"#/visitors/document/objects/Operation\"},head:{$ref:\"#/visitors/document/objects/Operation\"},patch:{$ref:\"#/visitors/document/objects/Operation\"},trace:{$ref:\"#/visitors/document/objects/Operation\"},servers:zv.visitors.document.objects.PathItem.fixedFields.servers,parameters:zv.visitors.document.objects.PathItem.fixedFields.parameters}},Operation:{$visitor:GE,fixedFields:{tags:zv.visitors.document.objects.Operation.fixedFields.tags,summary:zv.visitors.document.objects.Operation.fixedFields.summary,description:zv.visitors.document.objects.Operation.fixedFields.description,externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"},operationId:zv.visitors.document.objects.Operation.fixedFields.operationId,parameters:zv.visitors.document.objects.Operation.fixedFields.parameters,requestBody:zv.visitors.document.objects.Operation.fixedFields.requestBody,responses:{$ref:\"#/visitors/document/objects/Responses\"},callbacks:zv.visitors.document.objects.Operation.fixedFields.callbacks,deprecated:zv.visitors.document.objects.Operation.fixedFields.deprecated,security:zv.visitors.document.objects.Operation.fixedFields.security,servers:zv.visitors.document.objects.Operation.fixedFields.servers}},ExternalDocumentation:{$visitor:RE,fixedFields:{description:zv.visitors.document.objects.ExternalDocumentation.fixedFields.description,url:zv.visitors.document.objects.ExternalDocumentation.fixedFields.url}},Parameter:{$visitor:qS,fixedFields:{name:zv.visitors.document.objects.Parameter.fixedFields.name,in:zv.visitors.document.objects.Parameter.fixedFields.in,description:zv.visitors.document.objects.Parameter.fixedFields.description,required:zv.visitors.document.objects.Parameter.fixedFields.required,deprecated:zv.visitors.document.objects.Parameter.fixedFields.deprecated,allowEmptyValue:zv.visitors.document.objects.Parameter.fixedFields.allowEmptyValue,style:zv.visitors.document.objects.Parameter.fixedFields.style,explode:zv.visitors.document.objects.Parameter.fixedFields.explode,allowReserved:zv.visitors.document.objects.Parameter.fixedFields.allowReserved,schema:{$ref:\"#/visitors/document/objects/Schema\"},example:zv.visitors.document.objects.Parameter.fixedFields.example,examples:zv.visitors.document.objects.Parameter.fixedFields.examples,content:zv.visitors.document.objects.Parameter.fixedFields.content}},RequestBody:{$visitor:qE,fixedFields:{description:zv.visitors.document.objects.RequestBody.fixedFields.description,content:zv.visitors.document.objects.RequestBody.fixedFields.content,required:zv.visitors.document.objects.RequestBody.fixedFields.required}},MediaType:{$visitor:IS,fixedFields:{schema:{$ref:\"#/visitors/document/objects/Schema\"},example:zv.visitors.document.objects.MediaType.fixedFields.example,examples:zv.visitors.document.objects.MediaType.fixedFields.examples,encoding:zv.visitors.document.objects.MediaType.fixedFields.encoding}},Encoding:{$visitor:LE,fixedFields:{contentType:zv.visitors.document.objects.Encoding.fixedFields.contentType,headers:zv.visitors.document.objects.Encoding.fixedFields.headers,style:zv.visitors.document.objects.Encoding.fixedFields.style,explode:zv.visitors.document.objects.Encoding.fixedFields.explode,allowReserved:zv.visitors.document.objects.Encoding.fixedFields.allowReserved}},Responses:{$visitor:HE,fixedFields:{default:zv.visitors.document.objects.Responses.fixedFields.default}},Response:{$visitor:WE,fixedFields:{description:zv.visitors.document.objects.Response.fixedFields.description,headers:zv.visitors.document.objects.Response.fixedFields.headers,content:zv.visitors.document.objects.Response.fixedFields.content,links:zv.visitors.document.objects.Response.fixedFields.links}},Callback:{$visitor:VE},Example:{$visitor:NE,fixedFields:{summary:zv.visitors.document.objects.Example.fixedFields.summary,description:zv.visitors.document.objects.Example.fixedFields.description,value:zv.visitors.document.objects.Example.fixedFields.value,externalValue:zv.visitors.document.objects.Example.fixedFields.externalValue}},Link:{$visitor:xS,fixedFields:{operationRef:zv.visitors.document.objects.Link.fixedFields.operationRef,operationId:zv.visitors.document.objects.Link.fixedFields.operationId,parameters:zv.visitors.document.objects.Link.fixedFields.parameters,requestBody:zv.visitors.document.objects.Link.fixedFields.requestBody,description:zv.visitors.document.objects.Link.fixedFields.description,server:{$ref:\"#/visitors/document/objects/Server\"}}},Header:{$visitor:VS,fixedFields:{description:zv.visitors.document.objects.Header.fixedFields.description,required:zv.visitors.document.objects.Header.fixedFields.required,deprecated:zv.visitors.document.objects.Header.fixedFields.deprecated,allowEmptyValue:zv.visitors.document.objects.Header.fixedFields.allowEmptyValue,style:zv.visitors.document.objects.Header.fixedFields.style,explode:zv.visitors.document.objects.Header.fixedFields.explode,allowReserved:zv.visitors.document.objects.Header.fixedFields.allowReserved,schema:{$ref:\"#/visitors/document/objects/Schema\"},example:zv.visitors.document.objects.Header.fixedFields.example,examples:zv.visitors.document.objects.Header.fixedFields.examples,content:zv.visitors.document.objects.Header.fixedFields.content}},Tag:{$visitor:LS,fixedFields:{name:zv.visitors.document.objects.Tag.fixedFields.name,description:zv.visitors.document.objects.Tag.fixedFields.description,externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"}}},Reference:{$visitor:BS,fixedFields:{$ref:zv.visitors.document.objects.Reference.fixedFields.$ref,summary:{$ref:\"#/visitors/value\"},description:{$ref:\"#/visitors/value\"}}},JSONSchema:{$ref:\"#/visitors/document/objects/Schema\"},LinkDescription:{...aw},Schema:{$visitor:gE,fixedFields:{...iw.fixedFields,$defs:yE,allOf:vE,anyOf:bE,oneOf:_E,not:{$ref:\"#/visitors/document/objects/Schema\"},if:{$ref:\"#/visitors/document/objects/Schema\"},then:{$ref:\"#/visitors/document/objects/Schema\"},else:{$ref:\"#/visitors/document/objects/Schema\"},dependentSchemas:SE,prefixItems:EE,items:{$ref:\"#/visitors/document/objects/Schema\"},contains:{$ref:\"#/visitors/document/objects/Schema\"},properties:wE,patternProperties:xE,additionalProperties:{$ref:\"#/visitors/document/objects/Schema\"},propertyNames:{$ref:\"#/visitors/document/objects/Schema\"},unevaluatedItems:{$ref:\"#/visitors/document/objects/Schema\"},unevaluatedProperties:{$ref:\"#/visitors/document/objects/Schema\"},contentSchema:{$ref:\"#/visitors/document/objects/Schema\"},discriminator:{$ref:\"#/visitors/document/objects/Discriminator\"},xml:{$ref:\"#/visitors/document/objects/XML\"},externalDocs:{$ref:\"#/visitors/document/objects/ExternalDocumentation\"},example:{$ref:\"#/visitors/value\"}}},Discriminator:{$visitor:OE,fixedFields:{propertyName:zv.visitors.document.objects.Discriminator.fixedFields.propertyName,mapping:zv.visitors.document.objects.Discriminator.fixedFields.mapping}},XML:{$visitor:CE,fixedFields:{name:zv.visitors.document.objects.XML.fixedFields.name,namespace:zv.visitors.document.objects.XML.fixedFields.namespace,prefix:zv.visitors.document.objects.XML.fixedFields.prefix,attribute:zv.visitors.document.objects.XML.fixedFields.attribute,wrapped:zv.visitors.document.objects.XML.fixedFields.wrapped}},SecurityScheme:{$visitor:ZE,fixedFields:{type:zv.visitors.document.objects.SecurityScheme.fixedFields.type,description:zv.visitors.document.objects.SecurityScheme.fixedFields.description,name:zv.visitors.document.objects.SecurityScheme.fixedFields.name,in:zv.visitors.document.objects.SecurityScheme.fixedFields.in,scheme:zv.visitors.document.objects.SecurityScheme.fixedFields.scheme,bearerFormat:zv.visitors.document.objects.SecurityScheme.fixedFields.bearerFormat,flows:{$ref:\"#/visitors/document/objects/OAuthFlows\"},openIdConnectUrl:zv.visitors.document.objects.SecurityScheme.fixedFields.openIdConnectUrl}},OAuthFlows:{$visitor:tw,fixedFields:{implicit:{$ref:\"#/visitors/document/objects/OAuthFlow\"},password:{$ref:\"#/visitors/document/objects/OAuthFlow\"},clientCredentials:{$ref:\"#/visitors/document/objects/OAuthFlow\"},authorizationCode:{$ref:\"#/visitors/document/objects/OAuthFlow\"}}},OAuthFlow:{$visitor:nw,fixedFields:{authorizationUrl:zv.visitors.document.objects.OAuthFlow.fixedFields.authorizationUrl,tokenUrl:zv.visitors.document.objects.OAuthFlow.fixedFields.tokenUrl,refreshUrl:zv.visitors.document.objects.OAuthFlow.fixedFields.refreshUrl,scopes:zv.visitors.document.objects.OAuthFlow.fixedFields.scopes}},SecurityRequirement:{$visitor:NS}},extension:{$visitor:zv.visitors.document.extension.$visitor}}}},apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType=s=>{if(Cu(s))return`${s.element.charAt(0).toUpperCase()+s.element.slice(1)}Element`},lw={CallbackElement:[\"content\"],ComponentsElement:[\"content\"],ContactElement:[\"content\"],DiscriminatorElement:[\"content\"],Encoding:[\"content\"],Example:[\"content\"],ExternalDocumentationElement:[\"content\"],HeaderElement:[\"content\"],InfoElement:[\"content\"],LicenseElement:[\"content\"],MediaTypeElement:[\"content\"],OAuthFlowElement:[\"content\"],OAuthFlowsElement:[\"content\"],OpenApi3_1Element:[\"content\"],OperationElement:[\"content\"],ParameterElement:[\"content\"],PathItemElement:[\"content\"],PathsElement:[\"content\"],ReferenceElement:[\"content\"],RequestBodyElement:[\"content\"],ResponseElement:[\"content\"],ResponsesElement:[\"content\"],SchemaElement:[\"content\"],SecurityRequirementElement:[\"content\"],SecuritySchemeElement:[\"content\"],ServerElement:[\"content\"],ServerVariableElement:[\"content\"],TagElement:[\"content\"],...np},uw={namespace:s=>{const{base:o}=s;return o.register(\"callback\",Kv),o.register(\"components\",Gv),o.register(\"contact\",Yv),o.register(\"discriminator\",Xv),o.register(\"encoding\",Qv),o.register(\"example\",Zv),o.register(\"externalDocumentation\",eb),o.register(\"header\",tb),o.register(\"info\",nb),o.register(\"jsonSchemaDialect\",pb),o.register(\"license\",mb),o.register(\"link\",yb),o.register(\"mediaType\",_b),o.register(\"oAuthFlow\",Sb),o.register(\"oAuthFlows\",wb),o.register(\"openapi\",Ob),o.register(\"openApi3_1\",Ab),o.register(\"operation\",Pb),o.register(\"parameter\",Ib),o.register(\"pathItem\",Mb),o.register(\"paths\",Rb),o.register(\"reference\",Lb),o.register(\"requestBody\",qb),o.register(\"response\",zb),o.register(\"responses\",Qb),o.register(\"schema\",lS),o.register(\"securityRequirement\",uS),o.register(\"securityScheme\",pS),o.register(\"server\",hS),o.register(\"serverVariable\",dS),o.register(\"tag\",fS),o.register(\"xml\",mS),o}},pw=uw,ancestorLineageToJSONPointer=s=>{const o=s.reduce(((o,i,a)=>{if(Ru(i)){const s=String(serializers_value(i.key));o.push(s)}else if(Mu(s[a-2])){const u=String(s[a-2].content.indexOf(i));o.push(u)}return o}),[]);return es_compile(o)},apidom_ns_openapi_3_1_src_refractor_toolbox=()=>{const s=createNamespace(pw);return{predicates:{...ye,isElement:Cu,isStringElement:ju,isArrayElement:Mu,isObjectElement:Nu,isMemberElement:Ru,isServersElement:sg,includesClasses,hasElementSourceMap},ancestorLineageToJSONPointer,namespace:s}},apidom_ns_openapi_3_1_src_refractor_refract=(s,{specPath:o=[\"visitors\",\"document\",\"objects\",\"OpenApi\",\"$visitor\"],plugins:i=[]}={})=>{const a=(0,Su.e)(s),u=dereference(cw),_=new(Qu(o,u))({specObj:u});return visitor_visit(a,_),dispatchPluginsSync(_.element,i,{toolboxCreator:apidom_ns_openapi_3_1_src_refractor_toolbox,visitorOptions:{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}})},apidom_ns_openapi_3_1_src_refractor_createRefractor=s=>(o,i={})=>apidom_ns_openapi_3_1_src_refractor_refract(o,{specPath:s,...i});Kv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Callback\",\"$visitor\"]),Gv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Components\",\"$visitor\"]),Yv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Contact\",\"$visitor\"]),Zv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Example\",\"$visitor\"]),Xv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Discriminator\",\"$visitor\"]),Qv.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Encoding\",\"$visitor\"]),eb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"ExternalDocumentation\",\"$visitor\"]),tb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Header\",\"$visitor\"]),nb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Info\",\"$visitor\"]),pb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OpenApi\",\"fixedFields\",\"jsonSchemaDialect\"]),mb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"License\",\"$visitor\"]),yb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Link\",\"$visitor\"]),_b.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"MediaType\",\"$visitor\"]),Sb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OAuthFlow\",\"$visitor\"]),wb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OAuthFlows\",\"$visitor\"]),Ob.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OpenApi\",\"fixedFields\",\"openapi\"]),Ab.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"OpenApi\",\"$visitor\"]),Pb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Operation\",\"$visitor\"]),Ib.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Parameter\",\"$visitor\"]),Mb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"PathItem\",\"$visitor\"]),Rb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Paths\",\"$visitor\"]),Lb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Reference\",\"$visitor\"]),qb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"RequestBody\",\"$visitor\"]),zb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Response\",\"$visitor\"]),Qb.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Responses\",\"$visitor\"]),lS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Schema\",\"$visitor\"]),uS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"SecurityRequirement\",\"$visitor\"]),pS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"SecurityScheme\",\"$visitor\"]),hS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Server\",\"$visitor\"]),dS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"ServerVariable\",\"$visitor\"]),fS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"Tag\",\"$visitor\"]),mS.refract=apidom_ns_openapi_3_1_src_refractor_createRefractor([\"visitors\",\"document\",\"objects\",\"XML\",\"$visitor\"]);const hw=class NotImplementedError extends td{};const dw=class MediaTypes extends Array{unknownMediaType=\"application/octet-stream\";filterByFormat(){throw new hw(\"filterByFormat method in MediaTypes class is not yet implemented.\")}findBy(){throw new hw(\"findBy method in MediaTypes class is not yet implemented.\")}latest(){throw new hw(\"latest method in MediaTypes class is not yet implemented.\")}};class OpenAPIMediaTypes extends dw{filterByFormat(s=\"generic\"){const o=\"generic\"===s?\"openapi;version\":s;return this.filter((s=>s.includes(o)))}findBy(s=\"3.1.0\",o=\"generic\"){const i=\"generic\"===o?`vnd.oai.openapi;version=${s}`:`vnd.oai.openapi+${o};version=${s}`;return this.find((s=>s.includes(i)))||this.unknownMediaType}latest(s=\"generic\"){return Ba(this.filterByFormat(s))}}const fw=new OpenAPIMediaTypes(\"application/vnd.oai.openapi;version=3.1.0\",\"application/vnd.oai.openapi+json;version=3.1.0\",\"application/vnd.oai.openapi+yaml;version=3.1.0\");const mw=class src_Reference_Reference{uri;depth;value;refSet;errors;constructor({uri:s,depth:o=0,refSet:i,value:a}){this.uri=s,this.value=a,this.depth=o,this.refSet=i,this.errors=[]}};const gw=class ReferenceSet{rootRef;refs;circular;constructor({refs:s=[],circular:o=!1}={}){this.refs=[],this.circular=o,s.forEach(this.add.bind(this))}get size(){return this.refs.length}add(s){return this.has(s)||(this.refs.push(s),this.rootRef=void 0===this.rootRef?s:this.rootRef,s.refSet=this),this}merge(s){for(const o of s.values())this.add(o);return this}has(s){const o=Jc(s)?s:s.uri;return _c(this.find((s=>s.uri===o)))}find(s){return this.refs.find(s)}*values(){yield*this.refs}clean(){this.refs.forEach((s=>{s.refSet=void 0})),this.rootRef=void 0,this.refs.length=0}};function _identity(s){return s}const yw=_curry1(_identity),vw={parse:{mediaType:\"text/plain\",parsers:[],parserOpts:{}},resolve:{baseURI:\"\",resolvers:[],resolverOpts:{},strategies:[],strategyOpts:{},internal:!0,external:!0,maxDepth:1/0},dereference:{strategies:[],strategyOpts:{},refSet:null,maxDepth:1/0,circular:\"ignore\",circularReplacer:yw,immutable:!0},bundle:{strategies:[],refSet:null,maxDepth:1/0}};const bw=_curry2((function lens(s,o){return function(i){return function(a){return cc((function(s){return o(s,a)}),i(s(a)))}}}));var Identity=function(s){return{value:s,map:function(o){return Identity(o(s))}}},_w=_curry3((function over(s,o,i){return s((function(s){return Identity(o(s))}))(i).value}));const Sw=_w;const Ew=na(\"\"),ww=bw(Qu([\"resolve\",\"baseURI\"]),n_([\"resolve\",\"baseURI\"])),baseURIDefault=s=>Ew(s)?url_cwd():s,util_merge=(s,o)=>{const i=up(s,o);return Sw(ww,baseURIDefault,i)};const xw=class File_File{uri;mediaType;data;parseResult;constructor({uri:s,mediaType:o=\"text/plain\",data:i,parseResult:a}){this.uri=s,this.mediaType=o,this.data=i,this.parseResult=a}get extension(){return Jc(this.uri)?(s=>{const o=s.lastIndexOf(\".\");return o>=0?s.substring(o).toLowerCase():\"\"})(this.uri):\"\"}toString(){if(\"string\"==typeof this.data)return this.data;if(this.data instanceof ArrayBuffer||[\"ArrayBuffer\"].includes(ra(this.data))||ArrayBuffer.isView(this.data)){return new TextDecoder(\"utf-8\").decode(this.data)}return String(this.data)}};const kw=class PluginError extends Ko{plugin;constructor(s,o){super(s,{cause:o.cause}),this.plugin=o.plugin}},plugins_filter=async(s,o,i)=>{const a=await Promise.all(i.map(_p([s],o)));return i.filter(((s,o)=>a[o]))},run=async(s,o,i)=>{let a;for(const u of i)try{const i=await u[s].call(u,...o);return{plugin:u,result:i}}catch(s){a=new kw(\"Error while running plugin\",{cause:s,plugin:u})}return Promise.reject(a)};const Ow=class DereferenceError extends Ko{};const Aw=class UnmatchedDereferenceStrategyError extends Ow{},dereferenceApiDOM=async(s,o)=>{let i=s,a=!1;if(!$u(s)){const o=cloneShallow(s);o.classes.push(\"result\"),i=new Au([o]),a=!0}const u=new xw({uri:o.resolve.baseURI,parseResult:i,mediaType:o.parse.mediaType}),_=await plugins_filter(\"canDereference\",[u,o],o.dereference.strategies);if(gp(_))throw new Aw(u.uri);try{const{result:s}=await run(\"dereference\",[u,o],_);return a?s.get(0):s}catch(s){throw new Ow(`Error while dereferencing file \"${u.uri}\"`,{cause:s})}};const Cw=class ParseError extends Ko{};const jw=class ParserError extends Cw{};const Pw=class Parser_Parser{name;allowEmpty;sourceMap;fileExtensions;mediaTypes;constructor({name:s,allowEmpty:o=!0,sourceMap:i=!1,fileExtensions:a=[],mediaTypes:u=[]}){this.name=s,this.allowEmpty=o,this.sourceMap=i,this.fileExtensions=a,this.mediaTypes=u}};const Iw=class BinaryParser extends Pw{constructor(s){super({...null!=s?s:{},name:\"binary\"})}canParse(s){return 0===this.fileExtensions.length||this.fileExtensions.includes(s.extension)}parse(s){try{const o=unescape(encodeURIComponent(s.toString())),i=btoa(o),a=new Au;if(0!==i.length){const s=new Su.Om(i);s.classes.push(\"result\"),a.push(s)}return a}catch(o){throw new jw(`Error parsing \"${s.uri}\"`,{cause:o})}}};const Tw=class ResolveStrategy{name;constructor({name:s}){this.name=s}};const Nw=class OpenAPI3_1ResolveStrategy extends Tw{constructor(s){super({...null!=s?s:{},name:\"openapi-3-1\"})}canResolve(s,o){const i=o.dereference.strategies.find((s=>\"openapi-3-1\"===s.name));return void 0!==i&&i.canDereference(s,o)}async resolve(s,o){const i=o.dereference.strategies.find((s=>\"openapi-3-1\"===s.name));if(void 0===i)throw new Aw('\"openapi-3-1\" dereference strategy is not available.');const a=new gw,u=util_merge(o,{resolve:{internal:!1},dereference:{refSet:a}});return await i.dereference(s,u),a}};const Mw=class Resolver{name;constructor({name:s}){this.name=s}};const Rw=class HTTPResolver extends Mw{timeout;redirects;withCredentials;constructor(s){const{name:o=\"http-resolver\",timeout:i=5e3,redirects:a=5,withCredentials:u=!1}=null!=s?s:{};super({name:o}),this.timeout=i,this.redirects=a,this.withCredentials=u}canRead(s){return isHttpUrl(s.uri)}};const Dw=class ResolveError extends Ko{};const Lw=class ResolverError extends Dw{},{AbortController:Fw,AbortSignal:Bw}=globalThis;void 0===globalThis.AbortController&&(globalThis.AbortController=Fw),void 0===globalThis.AbortSignal&&(globalThis.AbortSignal=Bw);const $w=class HTTPResolverSwaggerClient extends Rw{swaggerHTTPClient=http_http;swaggerHTTPClientConfig;constructor({swaggerHTTPClient:s=http_http,swaggerHTTPClientConfig:o={},...i}={}){super({...i,name:\"http-swagger-client\"}),this.swaggerHTTPClient=s,this.swaggerHTTPClientConfig=o}getHttpClient(){return this.swaggerHTTPClient}async read(s){const o=this.getHttpClient(),i=new AbortController,{signal:a}=i,u=setTimeout((()=>{i.abort()}),this.timeout),_=this.getHttpClient().withCredentials||this.withCredentials?\"include\":\"same-origin\",w=0===this.redirects?\"error\":\"follow\",x=this.redirects>0?this.redirects:void 0;try{return(await o({url:s.uri,signal:a,userFetch:async(s,o)=>{let i=await fetch(s,o);try{i.headers.delete(\"Content-Type\")}catch{i=new Response(i.body,{...i,headers:new Headers(i.headers)}),i.headers.delete(\"Content-Type\")}return i},credentials:_,redirect:w,follow:x,...this.swaggerHTTPClientConfig})).text.arrayBuffer()}catch(o){throw new Lw(`Error downloading \"${s.uri}\"`,{cause:o})}finally{clearTimeout(u)}}},transformers_from=(s,o=Ep)=>{if(Jc(s))try{return o.fromRefract(JSON.parse(s))}catch{}return fu(s)&&Yu(\"element\",s)?o.fromRefract(s):o.toElement(s)};const qw=class JSONParser extends Pw{constructor(s={}){super({name:\"json-swagger-client\",mediaTypes:[\"application/json\"],...s})}async canParse(s){const o=0===this.fileExtensions.length||this.fileExtensions.includes(s.extension),i=this.mediaTypes.includes(s.mediaType);if(!o)return!1;if(i)return!0;if(!i)try{return JSON.parse(s.toString()),!0}catch(s){return!1}return!1}async parse(s){if(this.sourceMap)throw new jw(\"json-swagger-client parser plugin doesn't support sourceMaps option\");const o=new Au,i=s.toString();if(this.allowEmpty&&\"\"===i.trim())return o;try{const s=transformers_from(JSON.parse(i));return s.classes.push(\"result\"),o.push(s),o}catch(o){throw new jw(`Error parsing \"${s.uri}\"`,{cause:o})}}};const Uw=class YAMLParser extends Pw{constructor(s={}){super({name:\"yaml-1-2-swagger-client\",mediaTypes:[\"text/yaml\",\"application/yaml\"],...s})}async canParse(s){const o=0===this.fileExtensions.length||this.fileExtensions.includes(s.extension),i=this.mediaTypes.includes(s.mediaType);if(!o)return!1;if(i)return!0;if(!i)try{return fn.load(s.toString(),{schema:rn}),!0}catch(s){return!1}return!1}async parse(s){if(this.sourceMap)throw new jw(\"yaml-1-2-swagger-client parser plugin doesn't support sourceMaps option\");const o=new Au,i=s.toString();try{const s=fn.load(i,{schema:rn});if(this.allowEmpty&&void 0===s)return o;const a=transformers_from(s);return a.classes.push(\"result\"),o.push(a),o}catch(o){throw new jw(`Error parsing \"${s.uri}\"`,{cause:o})}}};const Vw=class OpenAPIJSON3_1Parser extends Pw{detectionRegExp=/\"openapi\"\\s*:\\s*\"(?<version_json>3\\.1\\.(?:[1-9]\\d*|0))\"/;constructor(s={}){super({name:\"openapi-json-3-1-swagger-client\",mediaTypes:new OpenAPIMediaTypes(...fw.filterByFormat(\"generic\"),...fw.filterByFormat(\"json\")),...s})}async canParse(s){const o=0===this.fileExtensions.length||this.fileExtensions.includes(s.extension),i=this.mediaTypes.includes(s.mediaType);if(!o)return!1;if(i)return!0;if(!i)try{const o=s.toString();return JSON.parse(o),this.detectionRegExp.test(o)}catch(s){return!1}return!1}async parse(s){if(this.sourceMap)throw new jw(\"openapi-json-3-1-swagger-client parser plugin doesn't support sourceMaps option\");const o=new Au,i=s.toString();if(this.allowEmpty&&\"\"===i.trim())return o;try{const s=JSON.parse(i),a=Ab.refract(s,this.refractorOpts);return a.classes.push(\"result\"),o.push(a),o}catch(o){throw new jw(`Error parsing \"${s.uri}\"`,{cause:o})}}};const zw=class OpenAPIYAML31Parser extends Pw{detectionRegExp=/(?<YAML>^([\"']?)openapi\\2\\s*:\\s*([\"']?)(?<version_yaml>3\\.1\\.(?:[1-9]\\d*|0))\\3(?:\\s+|$))|(?<JSON>\"openapi\"\\s*:\\s*\"(?<version_json>3\\.1\\.(?:[1-9]\\d*|0))\")/m;constructor(s={}){super({name:\"openapi-yaml-3-1-swagger-client\",mediaTypes:new OpenAPIMediaTypes(...fw.filterByFormat(\"generic\"),...fw.filterByFormat(\"yaml\")),...s})}async canParse(s){const o=0===this.fileExtensions.length||this.fileExtensions.includes(s.extension),i=this.mediaTypes.includes(s.mediaType);if(!o)return!1;if(i)return!0;if(!i)try{const o=s.toString();return fn.load(o),this.detectionRegExp.test(o)}catch(s){return!1}return!1}async parse(s){if(this.sourceMap)throw new jw(\"openapi-yaml-3-1-swagger-client parser plugin doesn't support sourceMaps option\");const o=new Au,i=s.toString();try{const s=fn.load(i,{schema:rn});if(this.allowEmpty&&void 0===s)return o;const a=Ab.refract(s,this.refractorOpts);return a.classes.push(\"result\"),o.push(a),o}catch(o){throw new jw(`Error parsing \"${s.uri}\"`,{cause:o})}}};const Ww=_curry3((function propEq(s,o,i){return na(s,Da(o,i))}));const Jw=class DereferenceStrategy{name;constructor({name:s}){this.name=s}};const Hw=_curry2((function none(s,o){return xu(_complement(s),o)}));var Kw=__webpack_require__(8068);const Gw=class ElementIdentityError extends Go{value;constructor(s,o){super(s,o),void 0!==o&&(this.value=o.value)}};class IdentityManager{uuid;identityMap;constructor({length:s=6}={}){this.uuid=new Kw({length:s}),this.identityMap=new WeakMap}identify(s){if(!Cu(s))throw new Gw(\"Cannot not identify the element. `element` is neither structurally compatible nor a subclass of an Element class.\",{value:s});if(s.meta.hasKey(\"id\")&&ju(s.meta.get(\"id\"))&&!s.meta.get(\"id\").equals(\"\"))return s.id;if(this.identityMap.has(s))return this.identityMap.get(s);const o=new Su.Om(this.generateId());return this.identityMap.set(s,o),o}forget(s){return!!this.identityMap.has(s)&&(this.identityMap.delete(s),!0)}generateId(){return this.uuid.randomUUID()}}new IdentityManager;const Yw=_curry3((function pathOr(s,o,i){return Na(s,_path(o,i))})),traversal_find=(s,o)=>{const i=new PredicateVisitor({predicate:s,returnOnTrue:qu});return visitor_visit(o,i),Yw(void 0,[0],i.result)};const Xw=class JsonSchema$anchorError extends Ko{};const Qw=class EvaluationJsonSchema$anchorError extends Xw{};const Zw=class InvalidJsonSchema$anchorError extends Xw{constructor(s){super(`Invalid JSON Schema $anchor \"${s}\".`)}},isAnchor=s=>/^[A-Za-z_][A-Za-z_0-9.-]*$/.test(s),uriToAnchor=s=>{const o=getHash(s);return tp(\"#\",o)},$anchor_evaluate=(s,o)=>{const i=(s=>{if(!isAnchor(s))throw new Zw(s);return s})(s),a=traversal_find((s=>uE(s)&&serializers_value(s.$anchor)===i),o);if(bc(a))throw new Qw(`Evaluation failed on token: \"${i}\"`);return a},traversal_filter=(s,o)=>{const i=new PredicateVisitor({predicate:s});return visitor_visit(o,i),new Su.G6(i.result)};const ex=class JsonSchemaUriError extends Ko{};const tx=class EvaluationJsonSchemaUriError extends ex{},resolveSchema$refField=(s,o)=>{if(void 0===o.$ref)return;const i=getHash(serializers_value(o.$ref)),a=serializers_value(o.meta.get(\"ancestorsSchemaIdentifiers\")),u=Aa(((s,o)=>resolve(s,sanitize(stripHash(o)))),s,[...a,serializers_value(o.$ref)]);return`${u}${\"#\"===i?\"\":i}`},refractToSchemaElement=s=>{if(refractToSchemaElement.cache.has(s))return refractToSchemaElement.cache.get(s);const o=lS.refract(s);return refractToSchemaElement.cache.set(s,o),o};refractToSchemaElement.cache=new WeakMap;const maybeRefractToSchemaElement=s=>isPrimitiveElement(s)?refractToSchemaElement(s):s,uri_evaluate=(s,o)=>{const{cache:i}=uri_evaluate,a=stripHash(s),isSchemaElementWith$id=s=>uE(s)&&void 0!==s.$id;if(!i.has(o)){const s=traversal_filter(isSchemaElementWith$id,o);i.set(o,Array.from(s))}const u=i.get(o).find((s=>{const o=((s,o)=>{if(void 0===o.$id)return;const i=serializers_value(o.meta.get(\"ancestorsSchemaIdentifiers\"));return Aa(((s,o)=>resolve(s,sanitize(stripHash(o)))),s,i)})(a,s);return o===a}));if(bc(u))throw new tx(`Evaluation failed on URI: \"${s}\"`);return isAnchor(uriToAnchor(s))?$anchor_evaluate(uriToAnchor(s),u):apidom_evaluate(u,fromURIReference(s))};uri_evaluate.cache=new WeakMap;const rx=class MaximumDereferenceDepthError extends Ow{};const nx=class MaximumResolveDepthError extends Dw{};const sx=class UnmatchedResolverError extends Lw{},apidom_reference_src_parse=async(s,o)=>{const i=new xw({uri:sanitize(stripHash(s)),mediaType:o.parse.mediaType}),a=await(async(s,o)=>{const i=o.resolve.resolvers.map((s=>{const i=Object.create(s);return Object.assign(i,o.resolve.resolverOpts)})),a=await plugins_filter(\"canRead\",[s,o],i);if(gp(a))throw new sx(s.uri);try{const{result:o}=await run(\"read\",[s],a);return o}catch(o){throw new Dw(`Error while reading file \"${s.uri}\"`,{cause:o})}})(i,o);return(async(s,o)=>{const i=o.parse.parsers.map((s=>{const i=Object.create(s);return Object.assign(i,o.parse.parserOpts)})),a=await plugins_filter(\"canParse\",[s,o],i);if(gp(a))throw new sx(s.uri);try{const{plugin:i,result:u}=await run(\"parse\",[s,o],a);return!i.allowEmpty&&u.isEmpty?Promise.reject(new Cw(`Error while parsing file \"${s.uri}\". File is empty.`)):u}catch(o){throw new Cw(`Error while parsing file \"${s.uri}\"`,{cause:o})}})(new xw({...i,data:a}),o)};class AncestorLineage extends Array{includesCycle(s){return this.filter((o=>o.has(s))).length>1}includes(s,o){return s instanceof Set?super.includes(s,o):this.some((o=>o.has(s)))}findItem(s){for(const o of this)for(const i of o)if(Cu(i)&&s(i))return i}}const ox=visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")],ix=new IdentityManager,mutationReplacer=(s,o,i,a)=>{Ru(a)?a.value=s:Array.isArray(a)&&(a[i]=s)};class OpenAPI3_1DereferenceVisitor{indirections;namespace;reference;options;ancestors;refractCache;allOfDiscriminatorMapping;constructor({reference:s,namespace:o,options:i,indirections:a=[],ancestors:u=new AncestorLineage,refractCache:_=new Map,allOfDiscriminatorMapping:w=new Map}){this.indirections=a,this.namespace=o,this.reference=s,this.options=i,this.ancestors=new AncestorLineage(...u),this.refractCache=_,this.allOfDiscriminatorMapping=w}toBaseURI(s){return resolve(this.reference.uri,sanitize(stripHash(s)))}async toReference(s){if(this.reference.depth>=this.options.resolve.maxDepth)throw new nx(`Maximum resolution depth of ${this.options.resolve.maxDepth} has been exceeded by file \"${this.reference.uri}\"`);const o=this.toBaseURI(s),{refSet:i}=this.reference;if(i.has(o))return i.find(Ww(o,\"uri\"));const a=await apidom_reference_src_parse(unsanitize(o),{...this.options,parse:{...this.options.parse,mediaType:\"text/plain\"}}),u=new mw({uri:o,value:cloneDeep(a),depth:this.reference.depth+1});if(i.add(u),this.options.dereference.immutable){const s=new mw({uri:`immutable://${o}`,value:a,depth:this.reference.depth+1});i.add(s)}return u}toAncestorLineage(s){const o=new Set(s.filter(Cu));return[new AncestorLineage(...this.ancestors,o),o]}OpenApi3_1Element={leave:(s,o,i,a,u,_)=>{var w;if(null===(w=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===w||!w.dereferenceDiscriminatorMapping)return;const x=cloneShallow(s);return x.setMetaProperty(\"allOfDiscriminatorMapping\",Object.fromEntries(this.allOfDiscriminatorMapping)),_.replaceWith(x,mutationReplacer),i?void 0:x}};async ReferenceElement(s,o,i,a,u,_){if(this.indirections.includes(s))return!1;const[w,x]=this.toAncestorLineage([...u,i]),C=this.toBaseURI(serializers_value(s.$ref)),j=stripHash(this.reference.uri)===C,L=!j;if(!this.options.resolve.internal&&j)return!1;if(!this.options.resolve.external&&L)return!1;const B=await this.toReference(serializers_value(s.$ref)),$=resolve(C,serializers_value(s.$ref));this.indirections.push(s);const U=fromURIReference($);let V=apidom_evaluate(B.value.result,U);if(V.id=ix.identify(V),isPrimitiveElement(V)){const o=serializers_value(s.meta.get(\"referenced-element\")),i=`${o}-${serializers_value(ix.identify(V))}`;if(this.refractCache.has(i))V=this.refractCache.get(i);else if(isReferenceLikeElement(V))V=Lb.refract(V),V.setMetaProperty(\"referenced-element\",o),this.refractCache.set(i,V);else{V=this.namespace.getElementClass(o).refract(V),this.refractCache.set(i,V)}}if(s===V)throw new Ko(\"Recursive Reference Object detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(w.includes(V)){if(B.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var z,Y;const o=new Su.sI(V.id,{type:\"reference\",uri:B.uri,$ref:serializers_value(s.$ref)}),a=(null!==(z=null===(Y=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===Y?void 0:Y.circularReplacer)&&void 0!==z?z:this.options.dereference.circularReplacer)(o);return _.replaceWith(a,mutationReplacer),!i&&a}}const Z=stripHash(B.refSet.rootRef.uri)!==B.uri,ee=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((L||Z||iE(V)||ee)&&!w.includesCycle(V)){x.add(s);const o=new OpenAPI3_1DereferenceVisitor({reference:B,namespace:this.namespace,indirections:[...this.indirections],options:this.options,refractCache:this.refractCache,ancestors:w,allOfDiscriminatorMapping:this.allOfDiscriminatorMapping});V=await ox(V,o,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),x.delete(s)}this.indirections.pop();const ie=cloneShallow(V);return ie.setMetaProperty(\"id\",ix.generateId()),ie.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref),description:serializers_value(s.description),summary:serializers_value(s.summary)}),ie.setMetaProperty(\"ref-origin\",B.uri),ie.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(ix.identify(s))),Nu(V)&&Nu(ie)&&(s.hasKey(\"description\")&&\"description\"in V&&(ie.remove(\"description\"),ie.set(\"description\",s.get(\"description\"))),s.hasKey(\"summary\")&&\"summary\"in V&&(ie.remove(\"summary\"),ie.set(\"summary\",s.get(\"summary\")))),_.replaceWith(ie,mutationReplacer),!i&&ie}async PathItemElement(s,o,i,a,u,_){if(!ju(s.$ref))return;if(this.indirections.includes(s))return!1;const[w,x]=this.toAncestorLineage([...u,i]),C=this.toBaseURI(serializers_value(s.$ref)),j=stripHash(this.reference.uri)===C,L=!j;if(!this.options.resolve.internal&&j)return;if(!this.options.resolve.external&&L)return;const B=await this.toReference(serializers_value(s.$ref)),$=resolve(C,serializers_value(s.$ref));this.indirections.push(s);const U=fromURIReference($);let V=apidom_evaluate(B.value.result,U);if(V.id=ix.identify(V),isPrimitiveElement(V)){const s=`path-item-${serializers_value(ix.identify(V))}`;this.refractCache.has(s)?V=this.refractCache.get(s):(V=Mb.refract(V),this.refractCache.set(s,V))}if(s===V)throw new Ko(\"Recursive Path Item Object reference detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(w.includes(V)){if(B.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var z,Y;const o=new Su.sI(V.id,{type:\"path-item\",uri:B.uri,$ref:serializers_value(s.$ref)}),a=(null!==(z=null===(Y=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===Y?void 0:Y.circularReplacer)&&void 0!==z?z:this.options.dereference.circularReplacer)(o);return _.replaceWith(a,mutationReplacer),!i&&a}}const Z=stripHash(B.refSet.rootRef.uri)!==B.uri,ee=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((L||Z||sE(V)&&ju(V.$ref)||ee)&&!w.includesCycle(V)){x.add(s);const o=new OpenAPI3_1DereferenceVisitor({reference:B,namespace:this.namespace,indirections:[...this.indirections],options:this.options,refractCache:this.refractCache,ancestors:w,allOfDiscriminatorMapping:this.allOfDiscriminatorMapping});V=await ox(V,o,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),x.delete(s)}if(this.indirections.pop(),sE(V)){const o=new Mb([...V.content],cloneDeep(V.meta),cloneDeep(V.attributes));o.setMetaProperty(\"id\",ix.generateId()),s.forEach(((s,i,a)=>{o.remove(serializers_value(i)),o.content.push(a)})),o.remove(\"$ref\"),o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref)}),o.setMetaProperty(\"ref-origin\",B.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(ix.identify(s))),V=o}return _.replaceWith(V,mutationReplacer),i?void 0:V}async LinkElement(s,o,i,a,u,_){if(!ju(s.operationRef)&&!ju(s.operationId))return;if(ju(s.operationRef)&&ju(s.operationId))throw new Ko(\"LinkElement operationRef and operationId fields are mutually exclusive.\");let w;if(ju(s.operationRef)){var x;const o=fromURIReference(serializers_value(s.operationRef)),a=this.toBaseURI(serializers_value(s.operationRef)),u=stripHash(this.reference.uri)===a,C=!u;if(!this.options.resolve.internal&&u)return;if(!this.options.resolve.external&&C)return;const j=await this.toReference(serializers_value(s.operationRef));if(w=apidom_evaluate(j.value.result,o),isPrimitiveElement(w)){const s=`operation-${serializers_value(ix.identify(w))}`;this.refractCache.has(s)?w=this.refractCache.get(s):(w=Pb.refract(w),this.refractCache.set(s,w))}w=cloneShallow(w),w.setMetaProperty(\"ref-origin\",j.uri);const L=cloneShallow(s);return null===(x=L.operationRef)||void 0===x||x.meta.set(\"operation\",w),_.replaceWith(L,mutationReplacer),i?void 0:L}if(ju(s.operationId)){var C;const o=serializers_value(s.operationId),a=await this.toReference(unsanitize(this.reference.uri));if(w=traversal_find((s=>rE(s)&&Cu(s.operationId)&&s.operationId.equals(o)),a.value.result),bc(w))throw new Ko(`OperationElement(operationId=${o}) not found.`);const u=cloneShallow(s);return null===(C=u.operationId)||void 0===C||C.meta.set(\"operation\",w),_.replaceWith(u,mutationReplacer),i?void 0:u}}async ExampleElement(s,o,i,a,u,_){if(!ju(s.externalValue))return;if(s.hasKey(\"value\")&&ju(s.externalValue))throw new Ko(\"ExampleElement value and externalValue fields are mutually exclusive.\");const w=this.toBaseURI(serializers_value(s.externalValue)),x=stripHash(this.reference.uri)===w,C=!x;if(!this.options.resolve.internal&&x)return;if(!this.options.resolve.external&&C)return;const j=await this.toReference(serializers_value(s.externalValue)),L=cloneShallow(j.value.result);L.setMetaProperty(\"ref-origin\",j.uri);const B=cloneShallow(s);return B.value=L,_.replaceWith(B,mutationReplacer),i?void 0:B}async MemberElement(s,o,i,a,u,_){var w;const x=u[u.length-1];if(!Nu(x)||!x.classes.contains(\"discriminator-mapping\"))return;if(null===(w=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===w||!w.dereferenceDiscriminatorMapping)return!1;if(!ju(s.key)||!ju(s.value))return!1;if(this.indirections.includes(s))return!1;this.indirections.push(s);const[C,j]=this.toAncestorLineage([...u,i]),L=[...j].findLast(uE),B=cloneDeep(L.getMetaProperty(\"ancestorsSchemaIdentifiers\")),$=serializers_value(s.value),U=/^[a-zA-Z0-9\\\\.\\\\-_]+$/.test($)?`#/components/schemas/${$}`:$,V=new lS({$ref:U});V.setMetaProperty(\"ancestorsSchemaIdentifiers\",B),j.add(V);const z=new OpenAPI3_1DereferenceVisitor({reference:this.reference,namespace:this.namespace,indirections:[...this.indirections],options:this.options,refractCache:this.refractCache,ancestors:C,allOfDiscriminatorMapping:this.allOfDiscriminatorMapping}),Y=await ox(V,z,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType});j.delete(V),this.indirections.pop();const Z=cloneShallow(s);return Z.value.setMetaProperty(\"ref-schema\",Y),_.replaceWith(Z,mutationReplacer),i?void 0:Z}async SchemaElement(s,o,i,a,u,_){if(!ju(s.$ref))return;if(this.indirections.includes(s))return!1;const[w,x]=this.toAncestorLineage([...u,i]);let C=await this.toReference(unsanitize(this.reference.uri)),{uri:j}=C;const L=resolveSchema$refField(j,s),B=stripHash(L),$=new xw({uri:B}),U=Hw((s=>s.canRead($)),this.options.resolve.resolvers),V=!U;let z,Y=stripHash(this.reference.uri)===L,Z=!Y;this.indirections.push(s);try{if(U||V){j=this.toBaseURI(L);const s=L,o=maybeRefractToSchemaElement(C.value.result);if(z=uri_evaluate(s,o),z=maybeRefractToSchemaElement(z),z.id=ix.identify(z),!this.options.resolve.internal&&Y)return;if(!this.options.resolve.external&&Z)return}else{if(j=this.toBaseURI(L),Y=stripHash(this.reference.uri)===j,Z=!Y,!this.options.resolve.internal&&Y)return;if(!this.options.resolve.external&&Z)return;C=await this.toReference(unsanitize(L));const s=fromURIReference(L),o=maybeRefractToSchemaElement(C.value.result);z=apidom_evaluate(o,s),z=maybeRefractToSchemaElement(z),z.id=ix.identify(z)}}catch(s){if(!(V&&s instanceof tx))throw s;if(isAnchor(uriToAnchor(L))){if(Y=stripHash(this.reference.uri)===j,Z=!Y,!this.options.resolve.internal&&Y)return;if(!this.options.resolve.external&&Z)return;C=await this.toReference(unsanitize(L));const s=uriToAnchor(L),o=maybeRefractToSchemaElement(C.value.result);z=$anchor_evaluate(s,o),z=maybeRefractToSchemaElement(z),z.id=ix.identify(z)}else{if(j=this.toBaseURI(L),Y=stripHash(this.reference.uri)===j,Z=!Y,!this.options.resolve.internal&&Y)return;if(!this.options.resolve.external&&Z)return;C=await this.toReference(unsanitize(L));const s=fromURIReference(L),o=maybeRefractToSchemaElement(C.value.result);z=apidom_evaluate(o,s),z=maybeRefractToSchemaElement(z),z.id=ix.identify(z)}}if(s===z)throw new Ko(\"Recursive Schema Object reference detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(w.includes(z)){if(C.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var ee,ie;const o=new Su.sI(z.id,{type:\"json-schema\",uri:C.uri,$ref:serializers_value(s.$ref)}),a=(null!==(ee=null===(ie=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===ie?void 0:ie.circularReplacer)&&void 0!==ee?ee:this.options.dereference.circularReplacer)(o);return _.replaceWith(a,mutationReplacer),!i&&a}}const ae=stripHash(C.refSet.rootRef.uri)!==C.uri,ce=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((Z||ae||uE(z)&&ju(z.$ref)||ce)&&!w.includesCycle(z)){x.add(s);const o=new OpenAPI3_1DereferenceVisitor({reference:C,namespace:this.namespace,indirections:[...this.indirections],options:this.options,refractCache:this.refractCache,ancestors:w,allOfDiscriminatorMapping:this.allOfDiscriminatorMapping});z=await ox(z,o,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),x.delete(s)}if(this.indirections.pop(),predicates_isBooleanJsonSchemaElement(z)){const o=cloneDeep(z);return o.setMetaProperty(\"id\",ix.generateId()),o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref),$refBaseURI:L}),o.setMetaProperty(\"ref-origin\",C.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(ix.identify(s))),_.replaceWith(o,mutationReplacer),!i&&o}if(uE(z)){var le;const o=new lS([...z.content],cloneDeep(z.meta),cloneDeep(z.attributes));if(o.setMetaProperty(\"id\",ix.generateId()),s.forEach(((s,i,a)=>{o.remove(serializers_value(i)),o.content.push(a)})),o.remove(\"$ref\"),o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref),$refBaseURI:L}),o.setMetaProperty(\"ref-origin\",C.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(ix.identify(s))),null!==(le=this.options.dereference.strategyOpts[\"openapi-3-1\"])&&void 0!==le&&le.dereferenceDiscriminatorMapping){var pe;const s=u[u.length-1],i=[...x].findLast(uE),a=null==i?void 0:i.getMetaProperty(\"schemaName\"),_=serializers_value(o.getMetaProperty(\"schemaName\"));if(_&&a&&null!=s&&null!==(pe=s.classes)&&void 0!==pe&&pe.contains(\"json-schema-allOf\")){var de;const s=null!==(de=this.allOfDiscriminatorMapping.get(_))&&void 0!==de?de:[];s.push(i),this.allOfDiscriminatorMapping.set(_,s)}}z=o}return _.replaceWith(z,mutationReplacer),i?void 0:z}}const ax=OpenAPI3_1DereferenceVisitor,cx=visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")];const lx=class OpenAPI3_1DereferenceStrategy extends Jw{constructor(s){super({...null!=s?s:{},name:\"openapi-3-1\"})}canDereference(s){var o;return\"text/plain\"!==s.mediaType?fw.includes(s.mediaType):tE(null===(o=s.parseResult)||void 0===o?void 0:o.result)}async dereference(s,o){var i;const a=createNamespace(pw),u=null!==(i=o.dereference.refSet)&&void 0!==i?i:new gw,_=new gw;let w,x=u;u.has(s.uri)?w=u.find(Ww(s.uri,\"uri\")):(w=new mw({uri:s.uri,value:s.parseResult}),u.add(w)),o.dereference.immutable&&(u.refs.map((s=>new mw({...s,value:cloneDeep(s.value)}))).forEach((s=>_.add(s))),w=_.find((o=>o.uri===s.uri)),x=_);const C=new ax({reference:w,namespace:a,options:o}),j=await cx(x.rootRef.value,C,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType});return o.dereference.immutable&&_.refs.filter((s=>s.uri.startsWith(\"immutable://\"))).map((s=>new mw({...s,uri:s.uri.replace(/^immutable:\\/\\//,\"\")}))).forEach((s=>u.add(s))),null===o.dereference.refSet&&u.clean(),_.clean(),j}},to_path=s=>{const o=(s=>s.slice(2))(s);return o.reduce(((s,i,a)=>{if(Ru(i)){const o=String(serializers_value(i.key));s.push(o)}else if(Mu(o[a-2])){const u=o[a-2].content.indexOf(i);s.push(u)}return s}),[])};const ux=class ModelPropertyMacroVisitor{modelPropertyMacro;options;SchemaElement={leave:(s,o,i,a,u)=>{void 0!==s.properties&&Nu(s.properties)&&s.properties.forEach((o=>{if(Nu(o))try{const s=this.modelPropertyMacro(serializers_value(o));o.set(\"default\",s)}catch(o){var a,_;const w=new Error(o,{cause:o});w.fullPath=[...to_path([...u,i,s]),\"properties\"],null===(a=this.options.dereference.dereferenceOpts)||void 0===a||null===(a=a.errors)||void 0===a||null===(_=a.push)||void 0===_||_.call(a,w)}}))}};constructor({modelPropertyMacro:s,options:o}){this.modelPropertyMacro=s,this.options=o}};var px=function(){function XUniqWith(s,o){this.xf=o,this.pred=s,this.items=[]}return XUniqWith.prototype[\"@@transducer/init\"]=_xfBase_init,XUniqWith.prototype[\"@@transducer/result\"]=_xfBase_result,XUniqWith.prototype[\"@@transducer/step\"]=function(s,o){return _includesWith(this.pred,o,this.items)?s:(this.items.push(o),this.xf[\"@@transducer/step\"](s,o))},XUniqWith}();function _xuniqWith(s){return function(o){return new px(s,o)}}var hx=_curry2(_dispatchable([],_xuniqWith,(function(s,o){for(var i,a=0,u=o.length,_=[];a<u;)_includesWith(s,i=o[a],_)||(_[_.length]=i),a+=1;return _})));const dx=hx;const fx=class all_of_AllOfVisitor{options;SchemaElement={leave(s,o,i,a,u){if(void 0===s.allOf)return;if(!Mu(s.allOf)){var _,w;const o=new TypeError(\"allOf must be an array\");return o.fullPath=[...to_path([...u,i,s]),\"allOf\"],void(null===(_=this.options.dereference.dereferenceOpts)||void 0===_||null===(_=_.errors)||void 0===_||null===(w=_.push)||void 0===w||w.call(_,o))}if(s.allOf.isEmpty)return void s.remove(\"allOf\");if(!s.allOf.content.every(uE)){var x,C;const o=new TypeError(\"Elements in allOf must be objects\");return o.fullPath=[...to_path([...u,i,s]),\"allOf\"],void(null===(x=this.options.dereference.dereferenceOpts)||void 0===x||null===(x=x.errors)||void 0===x||null===(C=x.push)||void 0===C||C.call(x,o))}for(;s.hasKey(\"allOf\");){const{allOf:o}=s;s.remove(\"allOf\");const i=dd.all([...o.content,s],{customMerge:s=>\"enum\"===serializers_value(s)?(s,o)=>{if(includesClasses([\"json-schema-enum\"],s)&&includesClasses([\"json-schema-enum\"],o)){const areElementsEqual=(s,o)=>!(Mu(s)||Mu(o)||Nu(s)||Nu(o))&&s.equals(serializers_value(o)),i=cloneShallow(s);return i.content=dx(areElementsEqual)([...s.content,...o.content]),i}return dd(s,o)}:dd});if(s.hasKey(\"$$ref\")||i.remove(\"$$ref\"),s.hasKey(\"example\")){const o=i.getMember(\"example\");o&&(o.value=s.get(\"example\"))}if(s.hasKey(\"examples\")){const o=i.getMember(\"examples\");o&&(o.value=s.get(\"examples\"))}s.content=i.content}}};constructor({options:s}){this.options=s}};const mx=class ParameterMacroVisitor{parameterMacro;options;#n;OperationElement={enter:s=>{this.#n=s},leave:()=>{this.#n=void 0}};ParameterElement={leave:(s,o,i,a,u)=>{const _=this.#n?serializers_value(this.#n):null,w=serializers_value(s);try{const o=this.parameterMacro(_,w);s.set(\"default\",o)}catch(s){var x,C;const o=new Error(s,{cause:s});o.fullPath=to_path([...u,i]),null===(x=this.options.dereference.dereferenceOpts)||void 0===x||null===(x=x.errors)||void 0===x||null===(C=x.push)||void 0===C||C.call(x,o)}}};constructor({parameterMacro:s,options:o}){this.parameterMacro=s,this.options=o}},get_root_cause=s=>{if(null==s.cause)return s;let{cause:o}=s;for(;null!=o.cause;)o=o.cause;return o};const gx=class SchemaRefError extends Go{},{wrapError:yx}=Xl,vx=visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")],bx=new IdentityManager,dereference_mutationReplacer=(s,o,i,a)=>{Ru(a)?a.value=s:Array.isArray(a)&&(a[i]=s)};class OpenAPI3_1SwaggerClientDereferenceVisitor extends ax{useCircularStructures;allowMetaPatches;basePath;constructor({allowMetaPatches:s=!0,useCircularStructures:o=!1,basePath:i=null,...a}){super(a),this.allowMetaPatches=s,this.useCircularStructures=o,this.basePath=i}async ReferenceElement(s,o,i,a,u,_){try{if(this.indirections.includes(s))return!1;const[o,a]=this.toAncestorLineage([...u,i]),j=this.toBaseURI(serializers_value(s.$ref)),L=stripHash(this.reference.uri)===j,B=!L;if(!this.options.resolve.internal&&L)return!1;if(!this.options.resolve.external&&B)return!1;const $=await this.toReference(serializers_value(s.$ref)),U=resolve(j,serializers_value(s.$ref));this.indirections.push(s);const V=fromURIReference(U);let z=apidom_evaluate($.value.result,V);if(z.id=bx.identify(z),isPrimitiveElement(z)){const o=serializers_value(s.meta.get(\"referenced-element\")),i=`${o}-${serializers_value(bx.identify(z))}`;if(this.refractCache.has(i))z=this.refractCache.get(i);else if(isReferenceLikeElement(z))z=Lb.refract(z),z.setMetaProperty(\"referenced-element\",o),this.refractCache.set(i,z);else{z=this.namespace.getElementClass(o).refract(z),this.refractCache.set(i,z)}}if(s===z)throw new Ko(\"Recursive Reference Object detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(o.includes(z)){if($.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var w,x;const o=new Su.sI(z.id,{type:\"reference\",uri:$.uri,$ref:serializers_value(s.$ref),baseURI:U,referencingElement:s}),a=(null!==(w=null===(x=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===x?void 0:x.circularReplacer)&&void 0!==w?w:this.options.dereference.circularReplacer)(o);return _.replaceWith(o,dereference_mutationReplacer),!i&&a}}const Y=stripHash($.refSet.rootRef.uri)!==$.uri,Z=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((B||Y||iE(z)||Z)&&!o.includesCycle(z)){var C;a.add(s);const _=new OpenAPI3_1SwaggerClientDereferenceVisitor({reference:$,namespace:this.namespace,indirections:[...this.indirections],options:this.options,refractCache:this.refractCache,ancestors:o,allowMetaPatches:this.allowMetaPatches,useCircularStructures:this.useCircularStructures,basePath:null!==(C=this.basePath)&&void 0!==C?C:[...to_path([...u,i,s]),\"$ref\"]});z=await vx(z,_,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),a.delete(s)}this.indirections.pop();const ee=cloneShallow(z);if(ee.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref),description:serializers_value(s.description),summary:serializers_value(s.summary)}),ee.setMetaProperty(\"ref-origin\",$.uri),ee.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(bx.identify(s))),Nu(z)&&(s.hasKey(\"description\")&&\"description\"in z&&(ee.remove(\"description\"),ee.set(\"description\",s.get(\"description\"))),s.hasKey(\"summary\")&&\"summary\"in z&&(ee.remove(\"summary\"),ee.set(\"summary\",s.get(\"summary\")))),this.allowMetaPatches&&Nu(ee)&&!ee.hasKey(\"$$ref\")){const s=resolve(j,U);ee.set(\"$$ref\",s)}return _.replaceWith(ee,dereference_mutationReplacer),!i&&ee}catch(o){var j,L,B;const a=get_root_cause(o),_=yx(a,{baseDoc:this.reference.uri,$ref:serializers_value(s.$ref),pointer:fromURIReference(serializers_value(s.$ref)),fullPath:null!==(j=this.basePath)&&void 0!==j?j:[...to_path([...u,i,s]),\"$ref\"]});return void(null===(L=this.options.dereference.dereferenceOpts)||void 0===L||null===(L=L.errors)||void 0===L||null===(B=L.push)||void 0===B||B.call(L,_))}}async PathItemElement(s,o,i,a,u,_){try{if(!ju(s.$ref))return;if(this.indirections.includes(s))return!1;if(includesClasses([\"cycle\"],s.$ref))return!1;const[o,a]=this.toAncestorLineage([...u,i]),j=this.toBaseURI(serializers_value(s.$ref)),L=stripHash(this.reference.uri)===j,B=!L;if(!this.options.resolve.internal&&L)return;if(!this.options.resolve.external&&B)return;const $=await this.toReference(serializers_value(s.$ref)),U=resolve(j,serializers_value(s.$ref));this.indirections.push(s);const V=fromURIReference(U);let z=apidom_evaluate($.value.result,V);if(z.id=bx.identify(z),isPrimitiveElement(z)){const s=`path-item-${serializers_value(bx.identify(z))}`;this.refractCache.has(s)?z=this.refractCache.get(s):(z=Mb.refract(z),this.refractCache.set(s,z))}if(s===z)throw new Ko(\"Recursive Path Item Object reference detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(o.includes(z)){if($.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var w,x;const o=new Su.sI(z.id,{type:\"path-item\",uri:$.uri,$ref:serializers_value(s.$ref),baseURI:U,referencingElement:s}),a=(null!==(w=null===(x=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===x?void 0:x.circularReplacer)&&void 0!==w?w:this.options.dereference.circularReplacer)(o);return _.replaceWith(o,dereference_mutationReplacer),!i&&a}}const Y=stripHash($.refSet.rootRef.uri)!==$.uri,Z=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((B||Y||sE(z)&&ju(z.$ref)||Z)&&!o.includesCycle(z)){var C;a.add(s);const _=new OpenAPI3_1SwaggerClientDereferenceVisitor({reference:$,namespace:this.namespace,indirections:[...this.indirections],options:this.options,ancestors:o,allowMetaPatches:this.allowMetaPatches,useCircularStructures:this.useCircularStructures,basePath:null!==(C=this.basePath)&&void 0!==C?C:[...to_path([...u,i,s]),\"$ref\"]});z=await vx(z,_,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),a.delete(s)}if(this.indirections.pop(),sE(z)){const o=new Mb([...z.content],cloneDeep(z.meta),cloneDeep(z.attributes));if(s.forEach(((s,i,a)=>{o.remove(serializers_value(i)),o.content.push(a)})),o.remove(\"$ref\"),o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref)}),o.setMetaProperty(\"ref-origin\",$.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(bx.identify(s))),this.allowMetaPatches&&void 0===o.get(\"$$ref\")){const s=resolve(j,U);o.set(\"$$ref\",s)}z=o}return _.replaceWith(z,dereference_mutationReplacer),i?void 0:z}catch(o){var j,L,B;const a=get_root_cause(o),_=yx(a,{baseDoc:this.reference.uri,$ref:serializers_value(s.$ref),pointer:fromURIReference(serializers_value(s.$ref)),fullPath:null!==(j=this.basePath)&&void 0!==j?j:[...to_path([...u,i,s]),\"$ref\"]});return void(null===(L=this.options.dereference.dereferenceOpts)||void 0===L||null===(L=L.errors)||void 0===L||null===(B=L.push)||void 0===B||B.call(L,_))}}async SchemaElement(s,o,i,a,u,_){try{if(!ju(s.$ref))return;if(this.indirections.includes(s))return!1;const[o,a]=this.toAncestorLineage([...u,i]);let j=await this.toReference(unsanitize(this.reference.uri)),{uri:L}=j;const B=resolveSchema$refField(L,s),$=stripHash(B),U=new xw({uri:$}),V=!this.options.resolve.resolvers.some((s=>s.canRead(U))),z=!V;let Y,Z=stripHash(this.reference.uri)===B,ee=!Z;this.indirections.push(s);try{if(V||z){L=this.toBaseURI(B);const s=B,o=maybeRefractToSchemaElement(j.value.result);if(Y=uri_evaluate(s,o),Y=maybeRefractToSchemaElement(Y),Y.id=bx.identify(Y),!this.options.resolve.internal&&Z)return;if(!this.options.resolve.external&&ee)return}else{if(L=this.toBaseURI(B),Z=stripHash(this.reference.uri)===L,ee=!Z,!this.options.resolve.internal&&Z)return;if(!this.options.resolve.external&&ee)return;j=await this.toReference(unsanitize(B));const s=fromURIReference(B),o=maybeRefractToSchemaElement(j.value.result);Y=apidom_evaluate(o,s),Y=maybeRefractToSchemaElement(Y),Y.id=bx.identify(Y)}}catch(s){if(!(z&&s instanceof tx))throw s;if(isAnchor(uriToAnchor(B))){if(Z=stripHash(this.reference.uri)===L,ee=!Z,!this.options.resolve.internal&&Z)return;if(!this.options.resolve.external&&ee)return;j=await this.toReference(unsanitize(B));const s=uriToAnchor(B),o=maybeRefractToSchemaElement(j.value.result);Y=$anchor_evaluate(s,o),Y=maybeRefractToSchemaElement(Y),Y.id=bx.identify(Y)}else{if(L=this.toBaseURI(serializers_value(B)),Z=stripHash(this.reference.uri)===L,ee=!Z,!this.options.resolve.internal&&Z)return;if(!this.options.resolve.external&&ee)return;j=await this.toReference(unsanitize(B));const s=fromURIReference(B),o=maybeRefractToSchemaElement(j.value.result);Y=apidom_evaluate(o,s),Y=maybeRefractToSchemaElement(Y),Y.id=bx.identify(Y)}}if(s===Y)throw new Ko(\"Recursive Schema Object reference detected\");if(this.indirections.length>this.options.dereference.maxDepth)throw new rx(`Maximum dereference depth of \"${this.options.dereference.maxDepth}\" has been exceeded in file \"${this.reference.uri}\"`);if(o.includes(Y)){if(j.refSet.circular=!0,\"error\"===this.options.dereference.circular)throw new Ko(\"Circular reference detected\");if(\"replace\"===this.options.dereference.circular){var w,x;const o=new Su.sI(Y.id,{type:\"json-schema\",uri:j.uri,$ref:serializers_value(s.$ref),baseURI:resolve(L,B),referencingElement:s}),a=(null!==(w=null===(x=this.options.dereference.strategyOpts[\"openapi-3-1\"])||void 0===x?void 0:x.circularReplacer)&&void 0!==w?w:this.options.dereference.circularReplacer)(o);return _.replaceWith(a,dereference_mutationReplacer),!i&&a}}const ie=stripHash(j.refSet.rootRef.uri)!==j.uri,ae=[\"error\",\"replace\"].includes(this.options.dereference.circular);if((ee||ie||uE(Y)&&ju(Y.$ref)||ae)&&!o.includesCycle(Y)){var C;a.add(s);const _=new OpenAPI3_1SwaggerClientDereferenceVisitor({reference:j,namespace:this.namespace,indirections:[...this.indirections],options:this.options,useCircularStructures:this.useCircularStructures,allowMetaPatches:this.allowMetaPatches,ancestors:o,basePath:null!==(C=this.basePath)&&void 0!==C?C:[...to_path([...u,i,s]),\"$ref\"]});Y=await vx(Y,_,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}),a.delete(s)}if(this.indirections.pop(),predicates_isBooleanJsonSchemaElement(Y)){const o=cloneDeep(Y);return o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref)}),o.setMetaProperty(\"ref-origin\",j.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(bx.identify(s))),_.replaceWith(o,dereference_mutationReplacer),!i&&o}if(uE(Y)){const o=new lS([...Y.content],cloneDeep(Y.meta),cloneDeep(Y.attributes));if(s.forEach(((s,i,a)=>{o.remove(serializers_value(i)),o.content.push(a)})),o.remove(\"$ref\"),o.setMetaProperty(\"ref-fields\",{$ref:serializers_value(s.$ref)}),o.setMetaProperty(\"ref-origin\",j.uri),o.setMetaProperty(\"ref-referencing-element-id\",cloneDeep(bx.identify(s))),this.allowMetaPatches&&void 0===o.get(\"$$ref\")){const s=resolve(L,B);o.set(\"$$ref\",s)}Y=o}return _.replaceWith(Y,dereference_mutationReplacer),i?void 0:Y}catch(o){var j,L,B;const a=get_root_cause(o),_=new gx(`Could not resolve reference: ${a.message}`,{baseDoc:this.reference.uri,$ref:serializers_value(s.$ref),fullPath:null!==(j=this.basePath)&&void 0!==j?j:[...to_path([...u,i,s]),\"$ref\"],cause:a});return void(null===(L=this.options.dereference.dereferenceOpts)||void 0===L||null===(L=L.errors)||void 0===L||null===(B=L.push)||void 0===B||B.call(L,_))}}async LinkElement(){}async ExampleElement(s,o,i,a,u,_){try{return await super.ExampleElement(s,o,i,a,u,_)}catch(o){var w,x,C;const a=get_root_cause(o),_=yx(a,{baseDoc:this.reference.uri,externalValue:serializers_value(s.externalValue),fullPath:null!==(w=this.basePath)&&void 0!==w?w:[...to_path([...u,i,s]),\"externalValue\"]});return void(null===(x=this.options.dereference.dereferenceOpts)||void 0===x||null===(x=x.errors)||void 0===x||null===(C=x.push)||void 0===C||C.call(x,_))}}}const _x=OpenAPI3_1SwaggerClientDereferenceVisitor,Sx=mergeAll[Symbol.for(\"nodejs.util.promisify.custom\")];const Ex=class RootVisitor{constructor({parameterMacro:s,modelPropertyMacro:o,mode:i,options:a,...u}){const _=[];_.push(new _x({...u,options:a})),\"function\"==typeof o&&_.push(new ux({modelPropertyMacro:o,options:a})),\"strict\"!==i&&_.push(new fx({options:a})),\"function\"==typeof s&&_.push(new mx({parameterMacro:s,options:a}));const w=Sx(_,{nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType});Object.assign(this,w)}},wx=visitor_visit[Symbol.for(\"nodejs.util.promisify.custom\")];const xx=class OpenAPI3_1SwaggerClientDereferenceStrategy extends lx{allowMetaPatches;parameterMacro;modelPropertyMacro;mode;ancestors;constructor({allowMetaPatches:s=!1,parameterMacro:o=null,modelPropertyMacro:i=null,mode:a=\"non-strict\",ancestors:u=[],..._}={}){super({..._}),this.name=\"openapi-3-1-swagger-client\",this.allowMetaPatches=s,this.parameterMacro=o,this.modelPropertyMacro=i,this.mode=a,this.ancestors=[...u]}async dereference(s,o){var i;const a=createNamespace(pw),u=null!==(i=o.dereference.refSet)&&void 0!==i?i:new gw,_=new gw;let w,x=u;u.has(s.uri)?w=u.find((o=>o.uri===s.uri)):(w=new mw({uri:s.uri,value:s.parseResult}),u.add(w)),o.dereference.immutable&&(u.refs.map((s=>new mw({...s,value:cloneDeep(s.value)}))).forEach((s=>_.add(s))),w=_.find((o=>o.uri===s.uri)),x=_);const C=new Ex({reference:w,namespace:a,options:o,allowMetaPatches:this.allowMetaPatches,ancestors:this.ancestors,modelPropertyMacro:this.modelPropertyMacro,mode:this.mode,parameterMacro:this.parameterMacro}),j=await wx(x.rootRef.value,C,{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType});return o.dereference.immutable&&_.refs.filter((s=>s.uri.startsWith(\"immutable://\"))).map((s=>new mw({...s,uri:s.uri.replace(/^immutable:\\/\\//,\"\")}))).forEach((s=>u.add(s))),null===o.dereference.refSet&&u.clean(),_.clean(),j}},circularReplacer=s=>{const o=serializers_value(s.meta.get(\"baseURI\")),i=s.meta.get(\"referencingElement\");return new Su.Sh({$ref:o},cloneDeep(i.meta),cloneDeep(i.attributes))},resolveOpenAPI31Strategy=async s=>{const{spec:o,timeout:i,redirects:a,requestInterceptor:u,responseInterceptor:_,pathDiscriminator:w=[],allowMetaPatches:x=!1,useCircularStructures:C=!1,skipNormalization:j=!1,parameterMacro:L=null,modelPropertyMacro:B=null,mode:$=\"non-strict\",strategies:U}=s;try{const{cache:V}=resolveOpenAPI31Strategy,z=U.find((s=>s.match(o))),Y=isHttpUrl(url_cwd())?url_cwd():Ll,Z=options_retrievalURI(s),ee=resolve(Y,Z);let ie;V.has(o)?ie=V.get(o):(ie=Ab.refract(o),ie.classes.push(\"result\"),V.set(o,ie));const ae=new Au([ie]),ce=es_compile(w),le=\"\"===ce?\"\":`#${ce}`,pe=apidom_evaluate(ie,ce),de=new mw({uri:ee,value:ae}),fe=new gw({refs:[de]});\"\"!==ce&&(fe.rootRef=void 0);const ye=[new Set([pe])],be=[],_e=await(async(s,o={})=>{const i=util_merge(vw,o);return dereferenceApiDOM(s,i)})(pe,{resolve:{baseURI:`${ee}${le}`,resolvers:[new $w({timeout:i||1e4,redirects:a||10})],resolverOpts:{swaggerHTTPClientConfig:{requestInterceptor:u,responseInterceptor:_}},strategies:[new Nw]},parse:{mediaType:fw.latest(),parsers:[new Vw({allowEmpty:!1,sourceMap:!1}),new zw({allowEmpty:!1,sourceMap:!1}),new qw({allowEmpty:!1,sourceMap:!1}),new Uw({allowEmpty:!1,sourceMap:!1}),new Iw({allowEmpty:!1,sourceMap:!1})]},dereference:{maxDepth:100,strategies:[new xx({allowMetaPatches:x,useCircularStructures:C,parameterMacro:L,modelPropertyMacro:B,mode:$,ancestors:ye})],refSet:fe,dereferenceOpts:{errors:be},immutable:!1,circular:C?\"ignore\":\"replace\",circularReplacer:C?vw.dereference.circularReplacer:circularReplacer}}),Se=((s,o,i)=>new xp({element:i}).transclude(s,o))(pe,_e,ie),we=j?Se:z.normalize(Se);return{spec:serializers_value(we),errors:be}}catch(s){if(s instanceof Wp)return{spec:o,errors:[]};throw s}};resolveOpenAPI31Strategy.cache=new WeakMap;const kx=resolveOpenAPI31Strategy;function _clone(s,o,i){if(i||(i=new Ox),function _isPrimitive(s){var o=typeof s;return null==s||\"object\"!=o&&\"function\"!=o}(s))return s;var a=function copy(a){var u=i.get(s);if(u)return u;for(var _ in i.set(s,a),s)Object.prototype.hasOwnProperty.call(s,_)&&(a[_]=o?_clone(s[_],!0,i):s[_]);return a};switch(ra(s)){case\"Object\":return a(Object.create(Object.getPrototypeOf(s)));case\"Array\":return a(Array(s.length));case\"Date\":return new Date(s.valueOf());case\"RegExp\":return _cloneRegExp(s);case\"Int8Array\":case\"Uint8Array\":case\"Uint8ClampedArray\":case\"Int16Array\":case\"Uint16Array\":case\"Int32Array\":case\"Uint32Array\":case\"Float32Array\":case\"Float64Array\":case\"BigInt64Array\":case\"BigUint64Array\":return s.slice();default:return s}}var Ox=function(){function _ObjectMap(){this.map={},this.length=0}return _ObjectMap.prototype.set=function(s,o){var i=this.hash(s),a=this.map[i];a||(this.map[i]=a=[]),a.push([s,o]),this.length+=1},_ObjectMap.prototype.hash=function(s){var o=[];for(var i in s)o.push(Object.prototype.toString.call(s[i]));return o.join()},_ObjectMap.prototype.get=function(s){if(this.length<=180)for(var o in this.map)for(var i=this.map[o],a=0;a<i.length;a+=1){if((_=i[a])[0]===s)return _[1]}else{var u=this.hash(s);if(i=this.map[u])for(a=0;a<i.length;a+=1){var _;if((_=i[a])[0]===s)return _[1]}}},_ObjectMap}(),Ax=function(){function XReduceBy(s,o,i,a){this.valueFn=s,this.valueAcc=o,this.keyFn=i,this.xf=a,this.inputs={}}return XReduceBy.prototype[\"@@transducer/init\"]=_xfBase_init,XReduceBy.prototype[\"@@transducer/result\"]=function(s){var o;for(o in this.inputs)if(_has(o,this.inputs)&&(s=this.xf[\"@@transducer/step\"](s,this.inputs[o]))[\"@@transducer/reduced\"]){s=s[\"@@transducer/value\"];break}return this.inputs=null,this.xf[\"@@transducer/result\"](s)},XReduceBy.prototype[\"@@transducer/step\"]=function(s,o){var i=this.keyFn(o);return this.inputs[i]=this.inputs[i]||[i,_clone(this.valueAcc,!1)],this.inputs[i][1]=this.valueFn(this.inputs[i][1],o),s},XReduceBy}();function _xreduceBy(s,o,i){return function(a){return new Ax(s,o,i,a)}}var Cx=_curryN(4,[],_dispatchable([],_xreduceBy,(function reduceBy(s,o,i,a){var u=_xwrap((function(a,u){var _=i(u),w=s(_has(_,a)?a[_]:_clone(o,!1),u);return w&&w[\"@@transducer/reduced\"]?_reduced(a):(a[_]=w,a)}));return wa(u,{},a)})));const jx=_curry2(_checkForMethod(\"groupBy\",Cx((function(s,o){return s.push(o),s}),[])));const Px=class NormalizeStorage{internalStore;constructor(s,o,i){this.storageElement=s,this.storageField=o,this.storageSubField=i}get store(){if(!this.internalStore){let s=this.storageElement.get(this.storageField);Nu(s)||(s=new Su.Sh,this.storageElement.set(this.storageField,s));let o=s.get(this.storageSubField);Mu(o)||(o=new Su.wE,s.set(this.storageSubField,o)),this.internalStore=o}return this.internalStore}append(s){this.includes(s)||this.store.push(s)}includes(s){return this.store.includes(s)}},removeSpaces=s=>s.replace(/\\s/g,\"\"),normalize_operation_ids_replaceSpecialCharsWithUnderscore=s=>s.replace(/\\W/gi,\"_\"),normalizeOperationId=(s,o,i)=>{const a=removeSpaces(s);return a.length>0?normalize_operation_ids_replaceSpecialCharsWithUnderscore(a):((s,o)=>`${normalize_operation_ids_replaceSpecialCharsWithUnderscore(removeSpaces(o.toLowerCase()))}${normalize_operation_ids_replaceSpecialCharsWithUnderscore(removeSpaces(s))}`)(o,i)},normalize_operation_ids=({storageField:s=\"x-normalized\",operationIdNormalizer:o=normalizeOperationId}={})=>i=>{const{predicates:a,ancestorLineageToJSONPointer:u,namespace:_}=i,w=[],x=[],C=[];let j;return{visitor:{OpenApi3_1Element:{enter(o){j=new Px(o,s,\"operation-ids\")},leave(){const s=jx((s=>serializers_value(s.operationId)),x);Object.entries(s).forEach((([s,o])=>{Array.isArray(o)&&(o.length<=1||o.forEach(((o,i)=>{const a=`${s}${i+1}`;o.operationId=new _.elements.String(a)})))})),C.forEach((s=>{if(void 0===s.operationId)return;const o=String(serializers_value(s.operationId)),i=x.find((s=>serializers_value(s.meta.get(\"originalOperationId\"))===o));void 0!==i&&(s.operationId=cloneDeep.safe(i.operationId),s.meta.set(\"originalOperationId\",o),s.set(\"__originalOperationId\",o))})),x.length=0,C.length=0,j=void 0}},PathItemElement:{enter(s){const o=Na(\"path\",serializers_value(s.meta.get(\"path\")));w.push(o)},leave(){w.pop()}},OperationElement:{enter(s,i,a,C,L){if(void 0===s.operationId)return;const B=u([...L,a,s]);if(j.includes(B))return;const $=String(serializers_value(s.operationId)),U=Ba(w),V=Na(\"method\",serializers_value(s.meta.get(\"http-method\"))),z=o($,U,V);$!==z&&(s.operationId=new _.elements.String(z),s.set(\"__originalOperationId\",$),s.meta.set(\"originalOperationId\",$),x.push(s),j.append(B))}},LinkElement:{leave(s){a.isLinkElement(s)&&void 0!==s.operationId&&C.push(s)}}}}},normalize_parameters=({storageField:s=\"x-normalized\"}={})=>o=>{const{predicates:i,ancestorLineageToJSONPointer:a}=o,parameterEquals=(s,o)=>!!i.isParameterElement(s)&&(!!i.isParameterElement(o)&&(!!i.isStringElement(s.name)&&(!!i.isStringElement(s.in)&&(!!i.isStringElement(o.name)&&(!!i.isStringElement(o.in)&&(serializers_value(s.name)===serializers_value(o.name)&&serializers_value(s.in)===serializers_value(o.in))))))),u=[];let _;return{visitor:{OpenApi3_1Element:{enter(o){_=new Px(o,s,\"parameters\")},leave(){_=void 0}},PathItemElement:{enter(s,o,a,_,w){if(w.some(i.isComponentsElement))return;const{parameters:x}=s;i.isArrayElement(x)?u.push([...x.content]):u.push([])},leave(){u.pop()}},OperationElement:{leave(s,o,i,w,x){const C=Ba(u);if(!Array.isArray(C)||0===C.length)return;const j=a([...x,i,s]);if(_.includes(j))return;const L=Yw([],[\"parameters\",\"content\"],s),B=dx(parameterEquals,[...L,...C]);s.parameters=new _v(B),_.append(j)}}}}},normalize_security_requirements=({storageField:s=\"x-normalized\"}={})=>o=>{const{predicates:i,ancestorLineageToJSONPointer:a}=o;let u,_;return{visitor:{OpenApi3_1Element:{enter(o){_=new Px(o,s,\"security-requirements\"),i.isArrayElement(o.security)&&(u=o.security)},leave(){_=void 0,u=void 0}},OperationElement:{leave(s,o,w,x,C){if(C.some(i.isComponentsElement))return;const j=a([...C,w,s]);if(_.includes(j))return;var L;void 0===s.security&&void 0!==u&&(s.security=new Ov(null===(L=u)||void 0===L?void 0:L.content),_.append(j))}}}}},normalize_parameter_examples=({storageField:s=\"x-normalized\"}={})=>o=>{const{predicates:i,ancestorLineageToJSONPointer:a}=o;let u;return{visitor:{OpenApi3_1Element:{enter(o){u=new Px(o,s,\"parameter-examples\")},leave(){u=void 0}},ParameterElement:{leave(s,o,_,w,x){var C,j;if(x.some(i.isComponentsElement))return;if(void 0===s.schema||!i.isSchemaElement(s.schema))return;if(void 0===(null===(C=s.schema)||void 0===C?void 0:C.example)&&void 0===(null===(j=s.schema)||void 0===j?void 0:j.examples))return;const L=a([...x,_,s]);if(!u.includes(L)){if(void 0!==s.examples&&i.isObjectElement(s.examples)){const o=s.examples.map((s=>cloneDeep.safe(s.value)));return void 0!==s.schema.examples&&(s.schema.set(\"examples\",o),u.append(L)),void(void 0!==s.schema.example&&(s.schema.set(\"example\",o[0]),u.append(L)))}void 0!==s.example&&(void 0!==s.schema.examples&&(s.schema.set(\"examples\",[cloneDeep(s.example)]),u.append(L)),void 0!==s.schema.example&&(s.schema.set(\"example\",cloneDeep(s.example)),u.append(L)))}}}}}},normalize_header_examples=({storageField:s=\"x-normalized\"}={})=>o=>{const{predicates:i,ancestorLineageToJSONPointer:a}=o;let u;return{visitor:{OpenApi3_1Element:{enter(o){u=new Px(o,s,\"header-examples\")},leave(){u=void 0}},HeaderElement:{leave(s,o,_,w,x){var C,j;if(x.some(i.isComponentsElement))return;if(void 0===s.schema||!i.isSchemaElement(s.schema))return;if(void 0===(null===(C=s.schema)||void 0===C?void 0:C.example)&&void 0===(null===(j=s.schema)||void 0===j?void 0:j.examples))return;const L=a([...x,_,s]);if(!u.includes(L)){if(void 0!==s.examples&&i.isObjectElement(s.examples)){const o=s.examples.map((s=>cloneDeep.safe(s.value)));return void 0!==s.schema.examples&&(s.schema.set(\"examples\",o),u.append(L)),void(void 0!==s.schema.example&&(s.schema.set(\"example\",o[0]),u.append(L)))}void 0!==s.example&&(void 0!==s.schema.examples&&(s.schema.set(\"examples\",[cloneDeep(s.example)]),u.append(L)),void 0!==s.schema.example&&(s.schema.set(\"example\",cloneDeep(s.example)),u.append(L)))}}}}}},openapi_3_1_apidom_normalize=s=>{if(!Nu(s))return s;const o=[normalize_operation_ids({operationIdNormalizer:(s,o,i)=>opId({operationId:s},o,i,{v2OperationIdCompatibilityMode:!1})}),normalize_parameters(),normalize_security_requirements(),normalize_parameter_examples(),normalize_header_examples()];return dispatchPluginsSync(s,o,{toolboxCreator:apidom_ns_openapi_3_1_src_refractor_toolbox,visitorOptions:{keyMap:lw,nodeTypeGetter:apidom_ns_openapi_3_1_src_traversal_visitor_getNodeType}})},Ix={name:\"openapi-3-1-apidom\",match:s=>isOpenAPI31(s),normalize(s){if(!Cu(s)&&fu(s)&&!s.$$normalized){const i=(o=openapi_3_1_apidom_normalize,s=>{const i=Ab.refract(s);i.classes.push(\"result\");const a=o(i),u=serializers_value(a);return kx.cache.set(u,a),serializers_value(a)})(s);return i.$$normalized=!0,i}var o;return Cu(s)?openapi_3_1_apidom_normalize(s):s},resolve:async s=>kx(s)},Tx=Ix,makeResolve=s=>async o=>(async s=>{const{spec:o,requestInterceptor:i,responseInterceptor:a}=s,u=options_retrievalURI(s),_=options_httpClient(s),w=o||await makeFetchJSON(_,{requestInterceptor:i,responseInterceptor:a})(u),x={...s,spec:w};return s.strategies.find((s=>s.match(w))).resolve(x)})({...s,...o}),Nx=makeResolve({strategies:[_u,vu,gu]});const server_url_template=(s,o,i,a,u)=>{if(s===Pp.SEM_PRE){if(!1===Array.isArray(u))throw new Error(\"parser's user data must be an array\");u.push([\"server-url-template\",jp.charsToString(o,i,a)])}return Pp.SEM_OK},callbacks_server_variable=(s,o,i,a,u)=>{if(s===Pp.SEM_PRE){if(!1===Array.isArray(u))throw new Error(\"parser's user data must be an array\");u.push([\"server-variable\",jp.charsToString(o,i,a)])}return Pp.SEM_OK},server_variable_name=(s,o,i,a,u)=>{if(s===Pp.SEM_PRE){if(!1===Array.isArray(u))throw new Error(\"parser's user data must be an array\");u.push([\"server-variable-name\",jp.charsToString(o,i,a)])}return Pp.SEM_OK},callbacks_literals=(s,o,i,a,u)=>{if(s===Pp.SEM_PRE){if(!1===Array.isArray(u))throw new Error(\"parser's user data must be an array\");u.push([\"literals\",jp.charsToString(o,i,a)])}return Pp.SEM_OK},Mx=new function server_url_templating_grammar(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"server-url-template\",lower:\"server-url-template\",index:0,isBkr:!1},this.rules[1]={name:\"server-variable\",lower:\"server-variable\",index:1,isBkr:!1},this.rules[2]={name:\"server-variable-name\",lower:\"server-variable-name\",index:2,isBkr:!1},this.rules[3]={name:\"literals\",lower:\"literals\",index:3,isBkr:!1},this.rules[4]={name:\"DIGIT\",lower:\"digit\",index:4,isBkr:!1},this.rules[5]={name:\"HEXDIG\",lower:\"hexdig\",index:5,isBkr:!1},this.rules[6]={name:\"pct-encoded\",lower:\"pct-encoded\",index:6,isBkr:!1},this.rules[7]={name:\"ucschar\",lower:\"ucschar\",index:7,isBkr:!1},this.rules[8]={name:\"iprivate\",lower:\"iprivate\",index:8,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:1,max:1/0},this.rules[0].opcodes[1]={type:1,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:3},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:2,children:[1,2,3]},this.rules[1].opcodes[1]={type:7,string:[123]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:7,string:[125]},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:3,min:1,max:1/0},this.rules[2].opcodes[1]={type:1,children:[2,3,4]},this.rules[2].opcodes[2]={type:5,min:0,max:122},this.rules[2].opcodes[3]={type:6,string:[124]},this.rules[2].opcodes[4]={type:5,min:126,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:1,max:1/0},this.rules[3].opcodes[1]={type:1,children:[2,3,4,5,6,7,8,9,10,11,12,13]},this.rules[3].opcodes[2]={type:6,string:[33]},this.rules[3].opcodes[3]={type:5,min:35,max:36},this.rules[3].opcodes[4]={type:5,min:38,max:59},this.rules[3].opcodes[5]={type:6,string:[61]},this.rules[3].opcodes[6]={type:5,min:63,max:91},this.rules[3].opcodes[7]={type:6,string:[93]},this.rules[3].opcodes[8]={type:6,string:[95]},this.rules[3].opcodes[9]={type:5,min:97,max:122},this.rules[3].opcodes[10]={type:6,string:[126]},this.rules[3].opcodes[11]={type:4,index:7},this.rules[3].opcodes[12]={type:4,index:8},this.rules[3].opcodes[13]={type:4,index:6},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:5,min:48,max:57},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4,5,6,7]},this.rules[5].opcodes[1]={type:4,index:4},this.rules[5].opcodes[2]={type:7,string:[97]},this.rules[5].opcodes[3]={type:7,string:[98]},this.rules[5].opcodes[4]={type:7,string:[99]},this.rules[5].opcodes[5]={type:7,string:[100]},this.rules[5].opcodes[6]={type:7,string:[101]},this.rules[5].opcodes[7]={type:7,string:[102]},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:2,children:[1,2,3]},this.rules[6].opcodes[1]={type:7,string:[37]},this.rules[6].opcodes[2]={type:4,index:5},this.rules[6].opcodes[3]={type:4,index:5},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]},this.rules[7].opcodes[1]={type:5,min:160,max:55295},this.rules[7].opcodes[2]={type:5,min:63744,max:64975},this.rules[7].opcodes[3]={type:5,min:65008,max:65519},this.rules[7].opcodes[4]={type:5,min:65536,max:131069},this.rules[7].opcodes[5]={type:5,min:131072,max:196605},this.rules[7].opcodes[6]={type:5,min:196608,max:262141},this.rules[7].opcodes[7]={type:5,min:262144,max:327677},this.rules[7].opcodes[8]={type:5,min:327680,max:393213},this.rules[7].opcodes[9]={type:5,min:393216,max:458749},this.rules[7].opcodes[10]={type:5,min:458752,max:524285},this.rules[7].opcodes[11]={type:5,min:524288,max:589821},this.rules[7].opcodes[12]={type:5,min:589824,max:655357},this.rules[7].opcodes[13]={type:5,min:655360,max:720893},this.rules[7].opcodes[14]={type:5,min:720896,max:786429},this.rules[7].opcodes[15]={type:5,min:786432,max:851965},this.rules[7].opcodes[16]={type:5,min:851968,max:917501},this.rules[7].opcodes[17]={type:5,min:921600,max:983037},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:1,children:[1,2,3]},this.rules[8].opcodes[1]={type:5,min:57344,max:63743},this.rules[8].opcodes[2]={type:5,min:983040,max:1048573},this.rules[8].opcodes[3]={type:5,min:1048576,max:1114109},this.toString=function toString(){let s=\"\";return s+=\"; OpenAPI Server URL templating ABNF syntax\\n\",s+=\"server-url-template    = 1*( literals / server-variable ) ; variant of https://www.rfc-editor.org/rfc/rfc6570#section-2\\n\",s+='server-variable        = \"{\" server-variable-name \"}\"\\n',s+=\"server-variable-name   = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every UTF8 character except { and } (from OpenAPI)\\n\",s+=\"\\n\",s+=\"; https://www.rfc-editor.org/rfc/rfc6570#section-2.1\\n\",s+=\"; https://www.rfc-editor.org/errata/eid6937\\n\",s+=\"literals               = 1*( %x21 / %x23-24 / %x26-3B / %x3D / %x3F-5B\\n\",s+=\"                       / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\\n\",s+=\"                       / pct-encoded)\\n\",s+=\"                            ; any Unicode character except: CTL, SP,\\n\",s+='                            ;  DQUOTE, \"%\" (aside from pct-encoded),\\n',s+='                            ;  \"<\", \">\", \"\\\\\", \"^\", \"`\", \"{\", \"|\", \"}\"\\n',s+=\"\\n\",s+=\"; https://www.rfc-editor.org/rfc/rfc6570#section-1.5\\n\",s+=\"DIGIT          =  %x30-39             ; 0-9\\n\",s+='HEXDIG         =  DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" ; case-insensitive\\n',s+=\"\\n\",s+='pct-encoded    =  \"%\" HEXDIG HEXDIG\\n',s+=\"\\n\",s+=\"ucschar        =  %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\\n\",s+=\"               /  %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\\n\",s+=\"               /  %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\\n\",s+=\"               /  %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\\n\",s+=\"               /  %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\\n\",s+=\"               /  %xD0000-DFFFD / %xE1000-EFFFD\\n\",s+=\"\\n\",s+=\"iprivate       =  %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\\n\",'; OpenAPI Server URL templating ABNF syntax\\nserver-url-template    = 1*( literals / server-variable ) ; variant of https://www.rfc-editor.org/rfc/rfc6570#section-2\\nserver-variable        = \"{\" server-variable-name \"}\"\\nserver-variable-name   = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every UTF8 character except { and } (from OpenAPI)\\n\\n; https://www.rfc-editor.org/rfc/rfc6570#section-2.1\\n; https://www.rfc-editor.org/errata/eid6937\\nliterals               = 1*( %x21 / %x23-24 / %x26-3B / %x3D / %x3F-5B\\n                       / %x5D / %x5F / %x61-7A / %x7E / ucschar / iprivate\\n                       / pct-encoded)\\n                            ; any Unicode character except: CTL, SP,\\n                            ;  DQUOTE, \"%\" (aside from pct-encoded),\\n                            ;  \"<\", \">\", \"\\\\\", \"^\", \"`\", \"{\", \"|\", \"}\"\\n\\n; https://www.rfc-editor.org/rfc/rfc6570#section-1.5\\nDIGIT          =  %x30-39             ; 0-9\\nHEXDIG         =  DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" ; case-insensitive\\n\\npct-encoded    =  \"%\" HEXDIG HEXDIG\\n\\nucschar        =  %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF\\n               /  %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD\\n               /  %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD\\n               /  %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD\\n               /  %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD\\n               /  %xD0000-DFFFD / %xE1000-EFFFD\\n\\niprivate       =  %xE000-F8FF / %xF0000-FFFFD / %x100000-10FFFD\\n'}},openapi_server_url_templating_es_parse=s=>{const o=new kp;o.ast=new Op,o.ast.callbacks[\"server-url-template\"]=server_url_template,o.ast.callbacks[\"server-variable\"]=callbacks_server_variable,o.ast.callbacks[\"server-variable-name\"]=server_variable_name,o.ast.callbacks.literals=callbacks_literals;return{result:o.parse(Mx,\"server-url-template\",s),ast:o.ast}},openapi_server_url_templating_es_test=(s,{strict:o=!1}={})=>{try{const i=openapi_server_url_templating_es_parse(s);if(!i.result.success)return!1;const a=[];i.ast.translate(a);const u=a.some((([s])=>\"server-variable\"===s));if(!o&&!u)try{return new URL(s,\"https://vladimirgorej.com\"),!0}catch{return!1}return!o||u}catch{return!1}},encodeServerVariable=s=>(s=>{try{return\"string\"==typeof s&&decodeURIComponent(s)!==s}catch{return!1}})(s)?s:encodeURIComponent(s).replace(/%5B/g,\"[\").replace(/%5D/g,\"]\"),Rx=[\"literals\",\"server-variable-name\"],es_substitute=(s,o,i={})=>{const a={...{encoder:encodeServerVariable},...i},u=openapi_server_url_templating_es_parse(s);if(!u.result.success)return s;const _=[];u.ast.translate(_);const w=_.filter((([s])=>Rx.includes(s))).map((([s,i])=>\"server-variable-name\"===s?Object.hasOwn(o,i)?a.encoder(o[i],i):`{${i}}`:i));return w.join(\"\")};function path_templating_grammar(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"path-template\",lower:\"path-template\",index:0,isBkr:!1},this.rules[1]={name:\"path-segment\",lower:\"path-segment\",index:1,isBkr:!1},this.rules[2]={name:\"slash\",lower:\"slash\",index:2,isBkr:!1},this.rules[3]={name:\"path-literal\",lower:\"path-literal\",index:3,isBkr:!1},this.rules[4]={name:\"template-expression\",lower:\"template-expression\",index:4,isBkr:!1},this.rules[5]={name:\"template-expression-param-name\",lower:\"template-expression-param-name\",index:5,isBkr:!1},this.rules[6]={name:\"pchar\",lower:\"pchar\",index:6,isBkr:!1},this.rules[7]={name:\"unreserved\",lower:\"unreserved\",index:7,isBkr:!1},this.rules[8]={name:\"pct-encoded\",lower:\"pct-encoded\",index:8,isBkr:!1},this.rules[9]={name:\"sub-delims\",lower:\"sub-delims\",index:9,isBkr:!1},this.rules[10]={name:\"ALPHA\",lower:\"alpha\",index:10,isBkr:!1},this.rules[11]={name:\"DIGIT\",lower:\"digit\",index:11,isBkr:!1},this.rules[12]={name:\"HEXDIG\",lower:\"hexdig\",index:12,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,2,6]},this.rules[0].opcodes[1]={type:4,index:2},this.rules[0].opcodes[2]={type:3,min:0,max:1/0},this.rules[0].opcodes[3]={type:2,children:[4,5]},this.rules[0].opcodes[4]={type:4,index:1},this.rules[0].opcodes[5]={type:4,index:2},this.rules[0].opcodes[6]={type:3,min:0,max:1},this.rules[0].opcodes[7]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:1,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:3},this.rules[1].opcodes[3]={type:4,index:4},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:7,string:[47]},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:1,max:1/0},this.rules[3].opcodes[1]={type:4,index:6},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:2,children:[1,2,3]},this.rules[4].opcodes[1]={type:7,string:[123]},this.rules[4].opcodes[2]={type:4,index:5},this.rules[4].opcodes[3]={type:7,string:[125]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:3,min:1,max:1/0},this.rules[5].opcodes[1]={type:1,children:[2,3,4]},this.rules[5].opcodes[2]={type:5,min:0,max:122},this.rules[5].opcodes[3]={type:6,string:[124]},this.rules[5].opcodes[4]={type:5,min:126,max:1114111},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[6].opcodes[1]={type:4,index:7},this.rules[6].opcodes[2]={type:4,index:8},this.rules[6].opcodes[3]={type:4,index:9},this.rules[6].opcodes[4]={type:7,string:[58]},this.rules[6].opcodes[5]={type:7,string:[64]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,2,3,4,5,6]},this.rules[7].opcodes[1]={type:4,index:10},this.rules[7].opcodes[2]={type:4,index:11},this.rules[7].opcodes[3]={type:7,string:[45]},this.rules[7].opcodes[4]={type:7,string:[46]},this.rules[7].opcodes[5]={type:7,string:[95]},this.rules[7].opcodes[6]={type:7,string:[126]},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:2,children:[1,2,3]},this.rules[8].opcodes[1]={type:7,string:[37]},this.rules[8].opcodes[2]={type:4,index:12},this.rules[8].opcodes[3]={type:4,index:12},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10,11]},this.rules[9].opcodes[1]={type:7,string:[33]},this.rules[9].opcodes[2]={type:7,string:[36]},this.rules[9].opcodes[3]={type:7,string:[38]},this.rules[9].opcodes[4]={type:7,string:[39]},this.rules[9].opcodes[5]={type:7,string:[40]},this.rules[9].opcodes[6]={type:7,string:[41]},this.rules[9].opcodes[7]={type:7,string:[42]},this.rules[9].opcodes[8]={type:7,string:[43]},this.rules[9].opcodes[9]={type:7,string:[44]},this.rules[9].opcodes[10]={type:7,string:[59]},this.rules[9].opcodes[11]={type:7,string:[61]},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:1,children:[1,2]},this.rules[10].opcodes[1]={type:5,min:65,max:90},this.rules[10].opcodes[2]={type:5,min:97,max:122},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:5,min:48,max:57},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:1,children:[1,2,3,4,5,6,7]},this.rules[12].opcodes[1]={type:4,index:11},this.rules[12].opcodes[2]={type:7,string:[97]},this.rules[12].opcodes[3]={type:7,string:[98]},this.rules[12].opcodes[4]={type:7,string:[99]},this.rules[12].opcodes[5]={type:7,string:[100]},this.rules[12].opcodes[6]={type:7,string:[101]},this.rules[12].opcodes[7]={type:7,string:[102]},this.toString=function toString(){let s=\"\";return s+=\"; OpenAPI Path Templating ABNF syntax\\n\",s+=\"; variant of https://datatracker.ietf.org/doc/html/rfc3986#section-3.3\\n\",s+=\"path-template                  = slash *( path-segment slash ) [ path-segment ]\\n\",s+=\"path-segment                   = 1*( path-literal / template-expression )\\n\",s+='slash                          = \"/\"\\n',s+=\"path-literal                   = 1*pchar\\n\",s+='template-expression            = \"{\" template-expression-param-name \"}\"\\n',s+=\"template-expression-param-name = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every UTF8 character except { and } (from OpenAPI)\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc3986#section-3.3\\n\",s+='pchar               = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\\n',s+='unreserved          = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\\n',s+=\"                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.3\\n\",s+='pct-encoded         = \"%\" HEXDIG HEXDIG\\n',s+=\"                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.1\\n\",s+='sub-delims          = \"!\" / \"$\" / \"&\" / \"\\'\" / \"(\" / \")\"\\n',s+='                    / \"*\" / \"+\" / \",\" / \";\" / \"=\"\\n',s+=\"                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.2\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1\\n\",s+=\"ALPHA               = %x41-5A / %x61-7A   ; A-Z / a-z\\n\",s+=\"DIGIT               = %x30-39            ; 0-9\\n\",s+='HEXDIG              = DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\\n','; OpenAPI Path Templating ABNF syntax\\n; variant of https://datatracker.ietf.org/doc/html/rfc3986#section-3.3\\npath-template                  = slash *( path-segment slash ) [ path-segment ]\\npath-segment                   = 1*( path-literal / template-expression )\\nslash                          = \"/\"\\npath-literal                   = 1*pchar\\ntemplate-expression            = \"{\" template-expression-param-name \"}\"\\ntemplate-expression-param-name = 1*( %x00-7A / %x7C / %x7E-10FFFF ) ; every UTF8 character except { and } (from OpenAPI)\\n\\n; https://datatracker.ietf.org/doc/html/rfc3986#section-3.3\\npchar               = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\\nunreserved          = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\\n                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.3\\npct-encoded         = \"%\" HEXDIG HEXDIG\\n                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.1\\nsub-delims          = \"!\" / \"$\" / \"&\" / \"\\'\" / \"(\" / \")\"\\n                    / \"*\" / \"+\" / \",\" / \";\" / \"=\"\\n                    ; https://datatracker.ietf.org/doc/html/rfc3986#section-2.2\\n\\n; https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1\\nALPHA               = %x41-5A / %x61-7A   ; A-Z / a-z\\nDIGIT               = %x30-39            ; 0-9\\nHEXDIG              = DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\"\\n'}}const callbacks_slash=(s,o,i,a,u)=>(s===Pp.SEM_PRE?u.push([\"slash\",jp.charsToString(o,i,a)]):Pp.SEM_POST,Pp.SEM_OK),path_template=(s,o,i,a,u)=>{if(s===Pp.SEM_PRE){if(!1===Array.isArray(u))throw new Error(\"parser's user data must be an array\");u.push([\"path-template\",jp.charsToString(o,i,a)])}return Pp.SEM_OK},path_literal=(s,o,i,a,u)=>(s===Pp.SEM_PRE?u.push([\"path-literal\",jp.charsToString(o,i,a)]):Pp.SEM_POST,Pp.SEM_OK),template_expression=(s,o,i,a,u)=>(s===Pp.SEM_PRE?u.push([\"template-expression\",jp.charsToString(o,i,a)]):Pp.SEM_POST,Pp.SEM_OK),template_expression_param_name=(s,o,i,a,u)=>(s===Pp.SEM_PRE?u.push([\"template-expression-param-name\",jp.charsToString(o,i,a)]):Pp.SEM_POST,Pp.SEM_OK),Dx=new path_templating_grammar,openapi_path_templating_es_parse=s=>{const o=new kp;o.ast=new Op,o.ast.callbacks[\"path-template\"]=path_template,o.ast.callbacks.slash=callbacks_slash,o.ast.callbacks[\"path-literal\"]=path_literal,o.ast.callbacks[\"template-expression\"]=template_expression,o.ast.callbacks[\"template-expression-param-name\"]=template_expression_param_name;return{result:o.parse(Dx,\"path-template\",s),ast:o.ast}},encodePathComponent=s=>(s=>{try{return\"string\"==typeof s&&decodeURIComponent(s)!==s}catch{return!1}})(s)?s:encodeURIComponent(s).replace(/%5B/g,\"[\").replace(/%5D/g,\"]\"),Lx=[\"slash\",\"path-literal\",\"template-expression-param-name\"],es_resolve=(s,o,i={})=>{const a={...{encoder:encodePathComponent},...i},u=openapi_path_templating_es_parse(s);if(!u.result.success)return s;const _=[];u.ast.translate(_);const w=_.filter((([s])=>Lx.includes(s))).map((([s,i])=>\"template-expression-param-name\"===s?Object.prototype.hasOwnProperty.call(o,i)?a.encoder(o[i],i):`{${i}}`:i));return w.join(\"\")},Fx=(new path_templating_grammar,new kp,{body:function bodyBuilder({req:s,value:o}){void 0!==o&&(s.body=o)},header:function headerBuilder({req:s,parameter:o,value:i}){s.headers=s.headers||{},void 0!==i&&(s.headers[o.name]=i)},query:function queryBuilder({req:s,value:o,parameter:i}){s.query=s.query||{},!1===o&&\"boolean\"===i.type&&(o=\"false\");0===o&&[\"number\",\"integer\"].indexOf(i.type)>-1&&(o=\"0\");if(o)s.query[i.name]={collectionFormat:i.collectionFormat,value:o};else if(i.allowEmptyValue&&void 0!==o){const o=i.name;s.query[o]=s.query[o]||{},s.query[o].allowEmptyValue=!0}},path:function pathBuilder({req:s,value:o,parameter:i,baseURL:a}){if(void 0!==o){const u=s.url.replace(a,\"\"),_=es_resolve(u,{[i.name]:o});s.url=a+_}},formData:function formDataBuilder({req:s,value:o,parameter:i}){!1===o&&\"boolean\"===i.type&&(o=\"false\");0===o&&[\"number\",\"integer\"].indexOf(i.type)>-1&&(o=\"0\");if(o)s.form=s.form||{},s.form[i.name]={collectionFormat:i.collectionFormat,value:o};else if(i.allowEmptyValue&&void 0!==o){s.form=s.form||{};const o=i.name;s.form[o]=s.form[o]||{},s.form[o].allowEmptyValue=!0}}});function serialize(s,o){return o.includes(\"application/json\")?\"string\"==typeof s?s:(Array.isArray(s)&&(s=s.map((s=>{try{return JSON.parse(s)}catch(o){return s}}))),JSON.stringify(s)):String(s)}function grammar_grammar(){this.grammarObject=\"grammarObject\",this.rules=[],this.rules[0]={name:\"lenient-cookie-string\",lower:\"lenient-cookie-string\",index:0,isBkr:!1},this.rules[1]={name:\"lenient-cookie-entry\",lower:\"lenient-cookie-entry\",index:1,isBkr:!1},this.rules[2]={name:\"lenient-cookie-pair\",lower:\"lenient-cookie-pair\",index:2,isBkr:!1},this.rules[3]={name:\"lenient-cookie-pair-invalid\",lower:\"lenient-cookie-pair-invalid\",index:3,isBkr:!1},this.rules[4]={name:\"lenient-cookie-name\",lower:\"lenient-cookie-name\",index:4,isBkr:!1},this.rules[5]={name:\"lenient-cookie-value\",lower:\"lenient-cookie-value\",index:5,isBkr:!1},this.rules[6]={name:\"lenient-quoted-value\",lower:\"lenient-quoted-value\",index:6,isBkr:!1},this.rules[7]={name:\"lenient-quoted-char\",lower:\"lenient-quoted-char\",index:7,isBkr:!1},this.rules[8]={name:\"lenient-cookie-octet\",lower:\"lenient-cookie-octet\",index:8,isBkr:!1},this.rules[9]={name:\"cookie-string\",lower:\"cookie-string\",index:9,isBkr:!1},this.rules[10]={name:\"cookie-pair\",lower:\"cookie-pair\",index:10,isBkr:!1},this.rules[11]={name:\"cookie-name\",lower:\"cookie-name\",index:11,isBkr:!1},this.rules[12]={name:\"cookie-value\",lower:\"cookie-value\",index:12,isBkr:!1},this.rules[13]={name:\"cookie-octet\",lower:\"cookie-octet\",index:13,isBkr:!1},this.rules[14]={name:\"OWS\",lower:\"ows\",index:14,isBkr:!1},this.rules[15]={name:\"token\",lower:\"token\",index:15,isBkr:!1},this.rules[16]={name:\"tchar\",lower:\"tchar\",index:16,isBkr:!1},this.rules[17]={name:\"CHAR\",lower:\"char\",index:17,isBkr:!1},this.rules[18]={name:\"CTL\",lower:\"ctl\",index:18,isBkr:!1},this.rules[19]={name:\"separators\",lower:\"separators\",index:19,isBkr:!1},this.rules[20]={name:\"SP\",lower:\"sp\",index:20,isBkr:!1},this.rules[21]={name:\"HT\",lower:\"ht\",index:21,isBkr:!1},this.rules[22]={name:\"ALPHA\",lower:\"alpha\",index:22,isBkr:!1},this.rules[23]={name:\"DIGIT\",lower:\"digit\",index:23,isBkr:!1},this.rules[24]={name:\"DQUOTE\",lower:\"dquote\",index:24,isBkr:!1},this.rules[25]={name:\"WSP\",lower:\"wsp\",index:25,isBkr:!1},this.rules[26]={name:\"HTAB\",lower:\"htab\",index:26,isBkr:!1},this.rules[27]={name:\"CRLF\",lower:\"crlf\",index:27,isBkr:!1},this.rules[28]={name:\"CR\",lower:\"cr\",index:28,isBkr:!1},this.rules[29]={name:\"LF\",lower:\"lf\",index:29,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,2]},this.rules[0].opcodes[1]={type:4,index:1},this.rules[0].opcodes[2]={type:3,min:0,max:1/0},this.rules[0].opcodes[3]={type:2,children:[4,5,6]},this.rules[0].opcodes[4]={type:7,string:[59]},this.rules[0].opcodes[5]={type:4,index:14},this.rules[0].opcodes[6]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:1,children:[1,2]},this.rules[1].opcodes[1]={type:4,index:2},this.rules[1].opcodes[2]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:2,children:[1,2,3,4,5,6,7]},this.rules[2].opcodes[1]={type:4,index:14},this.rules[2].opcodes[2]={type:4,index:4},this.rules[2].opcodes[3]={type:4,index:14},this.rules[2].opcodes[4]={type:7,string:[61]},this.rules[2].opcodes[5]={type:4,index:14},this.rules[2].opcodes[6]={type:4,index:5},this.rules[2].opcodes[7]={type:4,index:14},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2,4]},this.rules[3].opcodes[1]={type:4,index:14},this.rules[3].opcodes[2]={type:3,min:1,max:1/0},this.rules[3].opcodes[3]={type:4,index:16},this.rules[3].opcodes[4]={type:4,index:14},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:3,min:1,max:1/0},this.rules[4].opcodes[1]={type:1,children:[2,3,4]},this.rules[4].opcodes[2]={type:5,min:33,max:58},this.rules[4].opcodes[3]={type:6,string:[60]},this.rules[4].opcodes[4]={type:5,min:62,max:126},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,6]},this.rules[5].opcodes[1]={type:2,children:[2,3]},this.rules[5].opcodes[2]={type:4,index:6},this.rules[5].opcodes[3]={type:3,min:0,max:1},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:4,index:8},this.rules[5].opcodes[6]={type:3,min:0,max:1/0},this.rules[5].opcodes[7]={type:4,index:8},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:2,children:[1,2,4]},this.rules[6].opcodes[1]={type:4,index:24},this.rules[6].opcodes[2]={type:3,min:0,max:1/0},this.rules[6].opcodes[3]={type:4,index:7},this.rules[6].opcodes[4]={type:4,index:24},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,2]},this.rules[7].opcodes[1]={type:5,min:32,max:33},this.rules[7].opcodes[2]={type:5,min:35,max:126},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:1,children:[1,2,3]},this.rules[8].opcodes[1]={type:5,min:33,max:43},this.rules[8].opcodes[2]={type:5,min:45,max:58},this.rules[8].opcodes[3]={type:5,min:60,max:126},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:2,children:[1,2]},this.rules[9].opcodes[1]={type:4,index:10},this.rules[9].opcodes[2]={type:3,min:0,max:1/0},this.rules[9].opcodes[3]={type:2,children:[4,5,6]},this.rules[9].opcodes[4]={type:7,string:[59]},this.rules[9].opcodes[5]={type:4,index:20},this.rules[9].opcodes[6]={type:4,index:10},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:2,children:[1,2,3]},this.rules[10].opcodes[1]={type:4,index:11},this.rules[10].opcodes[2]={type:7,string:[61]},this.rules[10].opcodes[3]={type:4,index:12},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:4,index:15},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:1,children:[1,6]},this.rules[12].opcodes[1]={type:2,children:[2,3,5]},this.rules[12].opcodes[2]={type:4,index:24},this.rules[12].opcodes[3]={type:3,min:0,max:1/0},this.rules[12].opcodes[4]={type:4,index:13},this.rules[12].opcodes[5]={type:4,index:24},this.rules[12].opcodes[6]={type:3,min:0,max:1/0},this.rules[12].opcodes[7]={type:4,index:13},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[13].opcodes[1]={type:6,string:[33]},this.rules[13].opcodes[2]={type:5,min:35,max:43},this.rules[13].opcodes[3]={type:5,min:45,max:58},this.rules[13].opcodes[4]={type:5,min:60,max:91},this.rules[13].opcodes[5]={type:5,min:93,max:126},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:3,min:0,max:1/0},this.rules[14].opcodes[1]={type:2,children:[2,4]},this.rules[14].opcodes[2]={type:3,min:0,max:1},this.rules[14].opcodes[3]={type:4,index:27},this.rules[14].opcodes[4]={type:4,index:25},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:3,min:1,max:1/0},this.rules[15].opcodes[1]={type:4,index:16},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]},this.rules[16].opcodes[1]={type:7,string:[33]},this.rules[16].opcodes[2]={type:7,string:[35]},this.rules[16].opcodes[3]={type:7,string:[36]},this.rules[16].opcodes[4]={type:7,string:[37]},this.rules[16].opcodes[5]={type:7,string:[38]},this.rules[16].opcodes[6]={type:7,string:[39]},this.rules[16].opcodes[7]={type:7,string:[42]},this.rules[16].opcodes[8]={type:7,string:[43]},this.rules[16].opcodes[9]={type:7,string:[45]},this.rules[16].opcodes[10]={type:7,string:[46]},this.rules[16].opcodes[11]={type:7,string:[94]},this.rules[16].opcodes[12]={type:7,string:[95]},this.rules[16].opcodes[13]={type:7,string:[96]},this.rules[16].opcodes[14]={type:7,string:[124]},this.rules[16].opcodes[15]={type:7,string:[126]},this.rules[16].opcodes[16]={type:4,index:23},this.rules[16].opcodes[17]={type:4,index:22},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:5,min:1,max:127},this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:1,children:[1,2]},this.rules[18].opcodes[1]={type:5,min:0,max:31},this.rules[18].opcodes[2]={type:6,string:[127]},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]},this.rules[19].opcodes[1]={type:7,string:[40]},this.rules[19].opcodes[2]={type:7,string:[41]},this.rules[19].opcodes[3]={type:7,string:[60]},this.rules[19].opcodes[4]={type:7,string:[62]},this.rules[19].opcodes[5]={type:7,string:[64]},this.rules[19].opcodes[6]={type:7,string:[44]},this.rules[19].opcodes[7]={type:7,string:[59]},this.rules[19].opcodes[8]={type:7,string:[58]},this.rules[19].opcodes[9]={type:7,string:[92]},this.rules[19].opcodes[10]={type:6,string:[34]},this.rules[19].opcodes[11]={type:7,string:[47]},this.rules[19].opcodes[12]={type:7,string:[91]},this.rules[19].opcodes[13]={type:7,string:[93]},this.rules[19].opcodes[14]={type:7,string:[63]},this.rules[19].opcodes[15]={type:7,string:[61]},this.rules[19].opcodes[16]={type:7,string:[123]},this.rules[19].opcodes[17]={type:7,string:[125]},this.rules[19].opcodes[18]={type:4,index:20},this.rules[19].opcodes[19]={type:4,index:21},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:6,string:[32]},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:6,string:[9]},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:1,children:[1,2]},this.rules[22].opcodes[1]={type:5,min:65,max:90},this.rules[22].opcodes[2]={type:5,min:97,max:122},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:5,min:48,max:57},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:6,string:[34]},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:1,children:[1,2]},this.rules[25].opcodes[1]={type:4,index:20},this.rules[25].opcodes[2]={type:4,index:26},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:6,string:[9]},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:2,children:[1,2]},this.rules[27].opcodes[1]={type:4,index:28},this.rules[27].opcodes[2]={type:4,index:29},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:6,string:[13]},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:6,string:[10]},this.toString=function toString(){let s=\"\";return s+=\"; Lenient version of https://datatracker.ietf.org/doc/html/rfc6265#section-4.2.1\\n\",s+='lenient-cookie-string        = lenient-cookie-entry *( \";\" OWS lenient-cookie-entry )\\n',s+=\"lenient-cookie-entry         = lenient-cookie-pair / lenient-cookie-pair-invalid\\n\",s+='lenient-cookie-pair          = OWS lenient-cookie-name OWS \"=\" OWS lenient-cookie-value OWS\\n',s+='lenient-cookie-pair-invalid  = OWS 1*tchar OWS ; Allow for standalone entries like \"fizz\" to be ignored\\n',s+='lenient-cookie-name          = 1*( %x21-3A / %x3C / %x3E-7E ) ; Allow all printable US-ASCII except \"=\"\\n',s+=\"lenient-cookie-value         = lenient-quoted-value [ *lenient-cookie-octet ] / *lenient-cookie-octet\\n\",s+=\"lenient-quoted-value         = DQUOTE *( lenient-quoted-char ) DQUOTE\\n\",s+=\"lenient-quoted-char          = %x20-21 / %x23-7E ; Allow all printable US-ASCII except DQUOTE\\n\",s+=\"lenient-cookie-octet         = %x21-2B / %x2D-3A / %x3C-7E\\n\",s+=\"                             ; Allow all printable characters except CTLs, semicolon and SP\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc6265#section-4.2.1\\n\",s+='cookie-string     = cookie-pair *( \";\" SP cookie-pair )\\n',s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.1\\n\",s+=\"; https://www.rfc-editor.org/errata/eid5518\\n\",s+='cookie-pair       = cookie-name \"=\" cookie-value\\n',s+=\"cookie-name       = token\\n\",s+=\"cookie-value      = ( DQUOTE *cookie-octet DQUOTE ) / *cookie-octet\\n\",s+=\"                  ; https://www.rfc-editor.org/errata/eid8242\\n\",s+=\"cookie-octet      = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\\n\",s+=\"                       ; US-ASCII characters excluding CTLs,\\n\",s+=\"                       ; whitespace, DQUOTE, comma, semicolon,\\n\",s+=\"                       ; and backslash\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc6265#section-2.2\\n\",s+='OWS            = *( [ CRLF ] WSP ) ; \"optional\" whitespace\\n',s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc9110#section-5.6.2\\n\",s+=\"token          = 1*(tchar)\\n\",s+='tchar          = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"\\'\" / \"*\"\\n',s+='                 / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\\n',s+=\"                 / DIGIT / ALPHA\\n\",s+=\"                 ; any VCHAR, except delimiters\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc2616#section-2.2\\n\",s+=\"CHAR           = %x01-7F ; any US-ASCII character (octets 0 - 127)\\n\",s+=\"CTL            = %x00-1F / %x7F ; any US-ASCII control character\\n\",s+='separators     = \"(\" / \")\" / \"<\" / \">\" / \"@\" / \",\" / \";\" / \":\" / \"\\\\\" / %x22 / \"/\" / \"[\" / \"]\" / \"?\" / \"=\" / \"{\" / \"}\" / SP / HT\\n',s+=\"SP             = %x20 ; US-ASCII SP, space (32)\\n\",s+=\"HT             = %x09 ; US-ASCII HT, horizontal-tab (9)\\n\",s+=\"\\n\",s+=\"; https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1\\n\",s+=\"ALPHA          =  %x41-5A / %x61-7A ; A-Z / a-z\\n\",s+=\"DIGIT          =  %x30-39 ; 0-9\\n\",s+='DQUOTE         =  %x22 ; \" (Double Quote)\\n',s+=\"WSP            =  SP / HTAB ; white space\\n\",s+=\"HTAB           =  %x09 ; horizontal tab\\n\",s+=\"CRLF           =  CR LF ; Internet standard newline\\n\",s+=\"CR             =  %x0D ; carriage return\\n\",s+=\"LF             =  %x0A ; linefeed\\n\",'; Lenient version of https://datatracker.ietf.org/doc/html/rfc6265#section-4.2.1\\nlenient-cookie-string        = lenient-cookie-entry *( \";\" OWS lenient-cookie-entry )\\nlenient-cookie-entry         = lenient-cookie-pair / lenient-cookie-pair-invalid\\nlenient-cookie-pair          = OWS lenient-cookie-name OWS \"=\" OWS lenient-cookie-value OWS\\nlenient-cookie-pair-invalid  = OWS 1*tchar OWS ; Allow for standalone entries like \"fizz\" to be ignored\\nlenient-cookie-name          = 1*( %x21-3A / %x3C / %x3E-7E ) ; Allow all printable US-ASCII except \"=\"\\nlenient-cookie-value         = lenient-quoted-value [ *lenient-cookie-octet ] / *lenient-cookie-octet\\nlenient-quoted-value         = DQUOTE *( lenient-quoted-char ) DQUOTE\\nlenient-quoted-char          = %x20-21 / %x23-7E ; Allow all printable US-ASCII except DQUOTE\\nlenient-cookie-octet         = %x21-2B / %x2D-3A / %x3C-7E\\n                             ; Allow all printable characters except CTLs, semicolon and SP\\n\\n; https://datatracker.ietf.org/doc/html/rfc6265#section-4.2.1\\ncookie-string     = cookie-pair *( \";\" SP cookie-pair )\\n\\n; https://datatracker.ietf.org/doc/html/rfc6265#section-4.1.1\\n; https://www.rfc-editor.org/errata/eid5518\\ncookie-pair       = cookie-name \"=\" cookie-value\\ncookie-name       = token\\ncookie-value      = ( DQUOTE *cookie-octet DQUOTE ) / *cookie-octet\\n                  ; https://www.rfc-editor.org/errata/eid8242\\ncookie-octet      = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\\n                       ; US-ASCII characters excluding CTLs,\\n                       ; whitespace, DQUOTE, comma, semicolon,\\n                       ; and backslash\\n\\n; https://datatracker.ietf.org/doc/html/rfc6265#section-2.2\\nOWS            = *( [ CRLF ] WSP ) ; \"optional\" whitespace\\n\\n; https://datatracker.ietf.org/doc/html/rfc9110#section-5.6.2\\ntoken          = 1*(tchar)\\ntchar          = \"!\" / \"#\" / \"$\" / \"%\" / \"&\" / \"\\'\" / \"*\"\\n                 / \"+\" / \"-\" / \".\" / \"^\" / \"_\" / \"`\" / \"|\" / \"~\"\\n                 / DIGIT / ALPHA\\n                 ; any VCHAR, except delimiters\\n\\n; https://datatracker.ietf.org/doc/html/rfc2616#section-2.2\\nCHAR           = %x01-7F ; any US-ASCII character (octets 0 - 127)\\nCTL            = %x00-1F / %x7F ; any US-ASCII control character\\nseparators     = \"(\" / \")\" / \"<\" / \">\" / \"@\" / \",\" / \";\" / \":\" / \"\\\\\" / %x22 / \"/\" / \"[\" / \"]\" / \"?\" / \"=\" / \"{\" / \"}\" / SP / HT\\nSP             = %x20 ; US-ASCII SP, space (32)\\nHT             = %x09 ; US-ASCII HT, horizontal-tab (9)\\n\\n; https://datatracker.ietf.org/doc/html/rfc5234#appendix-B.1\\nALPHA          =  %x41-5A / %x61-7A ; A-Z / a-z\\nDIGIT          =  %x30-39 ; 0-9\\nDQUOTE         =  %x22 ; \" (Double Quote)\\nWSP            =  SP / HTAB ; white space\\nHTAB           =  %x09 ; horizontal tab\\nCRLF           =  CR LF ; Internet standard newline\\nCR             =  %x0D ; carriage return\\nLF             =  %x0A ; linefeed\\n'}}new grammar_grammar;const utils_percentEncodeChar=s=>{if(\"string\"!=typeof s||1!==[...s].length)throw new TypeError(\"Input must be a single character string.\");const o=s.codePointAt(0);return o<=127?`%${o.toString(16).toUpperCase().padStart(2,\"0\")}`:encodeURIComponent(s)},utils_isQuoted=s=>s.length>=2&&s.startsWith('\"')&&s.endsWith('\"'),utils_unquote=s=>utils_isQuoted(s)?s.slice(1,-1):s,utils_quote=s=>`\"${s}\"`,utils_identity=s=>s,Bx=new kp,$x=new grammar_grammar,test_cookie_value=(s,{strict:o=!0,quoted:i=null}={})=>{try{const a=o?\"cookie-value\":\"lenient-cookie-value\",u=Bx.parse($x,a,s);return\"boolean\"==typeof i?u.success&&i===utils_isQuoted(s):u.success}catch{return!1}},base64_browser=s=>{const o=(new TextEncoder).encode(s).reduce(((s,o)=>s+String.fromCharCode(o)),\"\");return btoa(o)},cookie_value_strict_base64=(s,o=base64_browser)=>{const i=String(s);if(test_cookie_value(i))return i;const a=utils_isQuoted(i),u=o(a?utils_unquote(i):i);return a?utils_quote(u):u},base64url_browser=s=>(s=>s.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/g,\"\"))(base64_browser(s)),cookie_value_strict_base64url=s=>cookie_value_strict_base64(s,base64url_browser),qx=new kp,Ux=new grammar_grammar,test_cookie_name=(s,{strict:o=!0}={})=>{try{const i=o?\"cookie-name\":\"lenient-cookie-name\";return qx.parse(Ux,i,s).success}catch{return!1}},cookie_name_strict=s=>{if(!test_cookie_name(s))throw new TypeError(`Invalid cookie name: ${s}`)},cookie_value_strict=s=>{if(!test_cookie_value(s))throw new TypeError(`Invalid cookie value: ${s}`)},Vx={encoders:{name:utils_identity,value:cookie_value_strict_base64url},validators:{name:cookie_name_strict,value:cookie_value_strict}},set_cookie_serialize=(s,o,i={})=>{const a={...Vx,...i,encoders:{...Vx.encoders,...i.encoders},validators:{...Vx.validators,...i.validators}},u=a.encoders.name(s),_=a.encoders.value(o);return a.validators.name(u),a.validators.value(_),`${u}=${_}`},cookie_serialize=(s,o={})=>(Array.isArray(s)?s:\"object\"==typeof s&&null!==s?Object.entries(s):[]).map((([s,i])=>set_cookie_serialize(s,i,o))).join(\"; \"),zx=new kp,Wx=new grammar_grammar,cookie_value_strict_percent=s=>{const o=String(s);if(test_cookie_value(o))return o;const i=utils_isQuoted(o),a=i?utils_unquote(o):o;let u=\"\";for(const s of a)u+=zx.parse(Wx,\"cookie-octet\",s).success?s:utils_percentEncodeChar(s);return i?utils_quote(u):u},Jx=(new kp,new grammar_grammar,s=>{if(!test_cookie_name(s,{strict:!1}))throw new TypeError(`Invalid cookie name: ${s}`)}),valuePercentEncoder=s=>cookie_value_strict_percent(s).replace(/[=&]/gu,(s=>\"=\"===s?\"%3D\":\"%26\")),helpers_cookie_serialize=(s,o={})=>cookie_serialize(s,up({encoders:{name:utils_identity,value:valuePercentEncoder},validators:{name:Jx,value:cookie_value_strict}},o));function parameter_builders_path({req:s,value:o,parameter:i,baseURL:a}){const{name:u,style:_,explode:w,content:x}=i;if(void 0===o)return;const C=s.url.replace(a,\"\");let j;if(x){const s=Object.keys(x)[0];j=es_resolve(C,{[u]:o},{encoder:o=>encodeCharacters(serialize(o,s))})}else j=es_resolve(C,{[u]:o},{encoder:s=>stylize({key:i.name,value:s,style:_||\"simple\",explode:null!=w&&w,escape:\"reserved\"})});s.url=a+j}function query({req:s,value:o,parameter:i}){if(s.query=s.query||{},void 0!==o&&i.content){const a=serialize(o,Object.keys(i.content)[0]);if(a)s.query[i.name]=a;else if(i.allowEmptyValue){const o=i.name;s.query[o]=s.query[o]||{},s.query[o].allowEmptyValue=!0}}else if(!1===o&&(o=\"false\"),0===o&&(o=\"0\"),o){const{style:a,explode:u,allowReserved:_}=i;s.query[i.name]={value:o,serializationOption:{style:a,explode:u,allowReserved:_}}}else if(i.allowEmptyValue&&void 0!==o){const o=i.name;s.query[o]=s.query[o]||{},s.query[o].allowEmptyValue=!0}}const Hx=[\"accept\",\"authorization\",\"content-type\"];function parameter_builders_header({req:s,parameter:o,value:i}){if(s.headers=s.headers||{},!(Hx.indexOf(o.name.toLowerCase())>-1))if(void 0!==i&&o.content){const a=Object.keys(o.content)[0];s.headers[o.name]=serialize(i,a)}else void 0===i||Array.isArray(i)&&0===i.length||(s.headers[o.name]=stylize({key:o.name,value:i,style:o.style||\"simple\",explode:void 0!==o.explode&&o.explode,escape:!1}))}function cookie({req:s,parameter:o,value:i}){const{name:a}=o;if(s.headers=s.headers||{},void 0!==i&&o.content){const u=serialize(i,Object.keys(o.content)[0]);s.headers.Cookie=helpers_cookie_serialize({[a]:u})}else if(void 0!==i&&(!Array.isArray(i)||0!==i.length)){var u;const _=stylize({key:o.name,value:i,escape:!1,style:o.style||\"form\",explode:null!==(u=o.explode)&&void 0!==u&&u}),w=Array.isArray(i)&&o.explode?`${a}=${_}`:_;s.headers.Cookie=helpers_cookie_serialize({[a]:w})}}const Kx=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:window,{btoa:Gx}=Kx,Yx=Gx;function buildRequest(s,o){const{operation:i,requestBody:a,securities:u,spec:_,attachContentTypeForEmptyPayload:w}=s;let{requestContentType:x}=s;o=function applySecurities({request:s,securities:o={},operation:i={},spec:a}){var u;const _={...s},{authorized:w={}}=o,x=i.security||a.security||[],C=w&&!!Object.keys(w).length,j=(null==a||null===(u=a.components)||void 0===u?void 0:u.securitySchemes)||{};if(_.headers=_.headers||{},_.query=_.query||{},!Object.keys(o).length||!C||!x||Array.isArray(i.security)&&!i.security.length)return s;return x.forEach((s=>{Object.keys(s).forEach((s=>{const o=w[s],i=j[s];if(!o)return;const a=o.value||o,{type:u}=i;if(o)if(\"apiKey\"===u)\"query\"===i.in&&(_.query[i.name]=a),\"header\"===i.in&&(_.headers[i.name]=a),\"cookie\"===i.in&&(_.cookies[i.name]=a);else if(\"http\"===u){if(/^basic$/i.test(i.scheme)){const s=a.username||\"\",o=a.password||\"\",i=Yx(`${s}:${o}`);_.headers.Authorization=`Basic ${i}`}/^bearer$/i.test(i.scheme)&&(_.headers.Authorization=`Bearer ${a}`)}else if(\"oauth2\"===u||\"openIdConnect\"===u){const s=o.token||{},a=s[i[\"x-tokenName\"]||\"access_token\"];let u=s.token_type;u&&\"bearer\"!==u.toLowerCase()||(u=\"Bearer\"),_.headers.Authorization=`${u} ${a}`}}))})),_}({request:o,securities:u,operation:i,spec:_});const C=i.requestBody||{},j=Object.keys(C.content||{}),L=x&&j.indexOf(x)>-1;if(a||w){if(x&&L)o.headers[\"Content-Type\"]=x;else if(!x){const s=j[0];s&&(o.headers[\"Content-Type\"]=s,x=s)}}else x&&L&&(o.headers[\"Content-Type\"]=x);if(!s.responseContentType&&i.responses){const s=Object.entries(i.responses).filter((([s,o])=>{const i=parseInt(s,10);return i>=200&&i<300&&fu(o.content)})).reduce(((s,[,o])=>s.concat(Object.keys(o.content))),[]);s.length>0&&(o.headers.accept=s.join(\", \"))}if(a)if(x){if(j.indexOf(x)>-1)if(\"application/x-www-form-urlencoded\"===x||\"multipart/form-data\"===x)if(\"object\"==typeof a){var B,$;const s=null!==(B=null===($=C.content[x])||void 0===$?void 0:$.encoding)&&void 0!==B?B:{};o.form={},Object.keys(a).forEach((i=>{let u;try{u=JSON.parse(a[i])}catch{u=a[i]}o.form[i]={value:u,encoding:s[i]||{}}}))}else if(\"string\"==typeof a){var U,V;const s=null!==(U=null===(V=C.content[x])||void 0===V?void 0:V.encoding)&&void 0!==U?U:{};try{o.form={};const i=JSON.parse(a);Object.entries(i).forEach((([i,a])=>{o.form[i]={value:a,encoding:s[i]||{}}}))}catch{o.form=a}}else o.form=a;else o.body=a}else o.body=a;return o}function build_request_buildRequest(s,o){const{spec:i,operation:a,securities:u,requestContentType:_,responseContentType:w,attachContentTypeForEmptyPayload:x}=s;if(o=function build_request_applySecurities({request:s,securities:o={},operation:i={},spec:a}){const u={...s},{authorized:_={},specSecurity:w=[]}=o,x=i.security||w,C=_&&!!Object.keys(_).length,j=a.securityDefinitions;if(u.headers=u.headers||{},u.query=u.query||{},!Object.keys(o).length||!C||!x||Array.isArray(i.security)&&!i.security.length)return s;return x.forEach((s=>{Object.keys(s).forEach((s=>{const o=_[s];if(!o)return;const{token:i}=o,a=o.value||o,w=j[s],{type:x}=w,C=w[\"x-tokenName\"]||\"access_token\",L=i&&i[C];let B=i&&i.token_type;if(o)if(\"apiKey\"===x){const s=\"query\"===w.in?\"query\":\"headers\";u[s]=u[s]||{},u[s][w.name]=a}else if(\"basic\"===x)if(a.header)u.headers.authorization=a.header;else{const s=a.username||\"\",o=a.password||\"\";a.base64=Yx(`${s}:${o}`),u.headers.authorization=`Basic ${a.base64}`}else\"oauth2\"===x&&L&&(B=B&&\"bearer\"!==B.toLowerCase()?B:\"Bearer\",u.headers.authorization=`${B} ${L}`)}))})),u}({request:o,securities:u,operation:a,spec:i}),o.body||o.form||x)_?o.headers[\"Content-Type\"]=_:Array.isArray(a.consumes)?[o.headers[\"Content-Type\"]]=a.consumes:Array.isArray(i.consumes)?[o.headers[\"Content-Type\"]]=i.consumes:a.parameters&&a.parameters.filter((s=>\"file\"===s.type)).length?o.headers[\"Content-Type\"]=\"multipart/form-data\":a.parameters&&a.parameters.filter((s=>\"formData\"===s.in)).length&&(o.headers[\"Content-Type\"]=\"application/x-www-form-urlencoded\");else if(_){const s=a.parameters&&a.parameters.filter((s=>\"body\"===s.in)).length>0,i=a.parameters&&a.parameters.filter((s=>\"formData\"===s.in)).length>0;(s||i)&&(o.headers[\"Content-Type\"]=_)}return!w&&Array.isArray(a.produces)&&a.produces.length>0&&(o.headers.accept=a.produces.join(\", \")),o}function idFromPathMethodLegacy(s,o){return`${o.toLowerCase()}-${s}`}const arrayOrEmpty=s=>Array.isArray(s)?s:[],findObjectOrArraySchema=(s,{recurse:o=!0,depth:i=1}={})=>{if(fu(s)){if(\"object\"===s.type||\"array\"===s.type||Array.isArray(s.type)&&(s.type.includes(\"object\")||s.type.includes(\"array\")))return s;if(!(i>Bl)&&o){const a=Array.isArray(s.oneOf)?s.oneOf.find((s=>findObjectOrArraySchema(s,{recurse:o,depth:i+1}))):void 0;if(a)return a;const u=Array.isArray(s.anyOf)?s.anyOf.find((s=>findObjectOrArraySchema(s,{recurse:o,depth:i+1}))):void 0;if(u)return u}}},parseJsonObjectOrArray=({value:s,silentFail:o=!1})=>{try{const i=JSON.parse(s);if(fu(i)||Array.isArray(i))return i;if(!o)throw new Error(\"Expected JSON serialized object or array\")}catch{if(!o)throw new Error(\"Could not parse parameter value string as JSON Object or JSON Array\")}return s},parseURIReference=s=>{try{return new URL(s)}catch{const o=new URL(s,Ll),i=String(s).startsWith(\"/\")?o.pathname:o.pathname.substring(1);return{hash:o.hash,host:\"\",hostname:\"\",href:\"\",origin:\"\",password:\"\",pathname:i,port:\"\",protocol:\"\",search:o.search,searchParams:o.searchParams}}};class OperationNotFoundError extends Go{}const Xx={buildRequest:execute_buildRequest};function execute_execute({http:s,fetch:o,spec:i,operationId:a,pathName:u,method:_,parameters:w,securities:x,...C}){const j=s||o||http_http;u&&_&&!a&&(a=idFromPathMethodLegacy(u,_));const L=Xx.buildRequest({spec:i,operationId:a,parameters:w,securities:x,http:j,...C});return L.body&&(fu(L.body)||Array.isArray(L.body))&&(L.body=JSON.stringify(L.body)),j(L)}function execute_buildRequest(s){const{spec:o,operationId:i,responseContentType:a,scheme:u,requestInterceptor:_,responseInterceptor:w,contextUrl:x,userFetch:C,server:j,serverVariables:L,http:B,signal:$,serverVariableEncoder:U}=s;let{parameters:V,parameterBuilders:z,baseURL:Y}=s;const Z=isOpenAPI3(o);z||(z=Z?be:Fx);let ee={url:\"\",credentials:B&&B.withCredentials?\"include\":\"same-origin\",headers:{},cookies:{}};$&&(ee.signal=$),_&&(ee.requestInterceptor=_),w&&(ee.responseInterceptor=w),C&&(ee.userFetch=C);const ie=function getOperationRaw(s,o){return s&&s.paths?function findOperation(s,o){return function eachOperation(s,o,i){if(!s||\"object\"!=typeof s||!s.paths||\"object\"!=typeof s.paths)return null;const{paths:a}=s;for(const u in a)for(const _ in a[u]){if(\"PARAMETERS\"===_.toUpperCase())continue;const w=a[u][_];if(!w||\"object\"!=typeof w)continue;const x={spec:s,pathName:u,method:_.toUpperCase(),operation:w},C=o(x);if(i&&C)return x}}(s,o,!0)||null}(s,(({pathName:s,method:i,operation:a})=>{if(!a||\"object\"!=typeof a)return!1;const u=a.operationId;return[opId(a,s,i),idFromPathMethodLegacy(s,i),u].some((s=>s&&s===o))})):null}(o,i);if(!ie)throw new OperationNotFoundError(`Operation ${i} not found`);const{operation:ae={},method:ce,pathName:le}=ie;if(Y=null!=Y?Y:function baseUrl(s){const o=isOpenAPI3(s.spec);return o?function oas3BaseUrl({spec:s,pathName:o,method:i,server:a,contextUrl:u,serverVariables:_={},serverVariableEncoder:w}){var x,C;let j,L=[],B=\"\";const $=null==s||null===(x=s.paths)||void 0===x||null===(x=x[o])||void 0===x||null===(x=x[(i||\"\").toLowerCase()])||void 0===x?void 0:x.servers,U=null==s||null===(C=s.paths)||void 0===C||null===(C=C[o])||void 0===C?void 0:C.servers,V=null==s?void 0:s.servers;L=isNonEmptyServerList($)?$:isNonEmptyServerList(U)?U:isNonEmptyServerList(V)?V:[Fl],a&&(j=L.find((s=>s.url===a)),j&&(B=a));B||([j]=L,B=j.url);if(openapi_server_url_templating_es_test(B,{strict:!0})){const s=Object.entries({...j.variables}).reduce(((s,[o,i])=>(s[o]=i.default,s)),{});B=es_substitute(B,{...s,..._},{encoder:\"function\"==typeof w?w:yw})}return function buildOas3UrlWithContext(s=\"\",o=\"\"){const i=parseURIReference(s&&o?resolve(o,s):s),a=parseURIReference(o),u=stripNonAlpha(i.protocol)||stripNonAlpha(a.protocol),_=i.host||a.host,w=i.pathname;let x;x=u&&_?`${u}://${_+w}`:w;return\"/\"===x[x.length-1]?x.slice(0,-1):x}(B,u)}(s):function swagger2BaseUrl({spec:s,scheme:o,contextUrl:i=\"\"}){const a=parseURIReference(i),u=Array.isArray(s.schemes)?s.schemes[0]:null,_=o||u||stripNonAlpha(a.protocol)||\"http\",w=s.host||a.host||\"\",x=s.basePath||\"\";let C;C=_&&w?`${_}://${w+x}`:x;return\"/\"===C[C.length-1]?C.slice(0,-1):C}(s)}({spec:o,scheme:u,contextUrl:x,server:j,serverVariables:L,pathName:le,method:ce,serverVariableEncoder:U}),ee.url+=Y,!i)return delete ee.cookies,ee;ee.url+=le,ee.method=`${ce}`.toUpperCase(),V=V||{};const pe=o.paths[le]||{};a&&(ee.headers.accept=a);const de=(s=>{const o={};s.forEach((s=>{o[s.in]||(o[s.in]={}),o[s.in][s.name]=s}));const i=[];return Object.keys(o).forEach((s=>{Object.keys(o[s]).forEach((a=>{i.push(o[s][a])}))})),i})([].concat(arrayOrEmpty(ae.parameters)).concat(arrayOrEmpty(pe.parameters)));de.forEach((s=>{const i=z[s.in];let a;if(\"body\"===s.in&&s.schema&&s.schema.properties&&(a=V),a=s&&s.name&&V[s.name],void 0===a?a=s&&s.name&&V[`${s.in}.${s.name}`]:((s,o)=>o.filter((o=>o.name===s)))(s.name,de).length>1&&console.warn(`Parameter '${s.name}' is ambiguous because the defined spec has more than one parameter with the name: '${s.name}' and the passed-in parameter values did not define an 'in' value.`),null!==a){if(void 0!==s.default&&void 0===a&&(a=s.default),void 0===a&&s.required&&!s.allowEmptyValue)throw new Error(`Required parameter ${s.name} is not provided`);Z&&\"string\"==typeof a&&(Yu(\"type\",s.schema)&&\"string\"==typeof s.schema.type&&findObjectOrArraySchema(s.schema,{recurse:!1})?a=parseJsonObjectOrArray({value:a,silentFail:!1}):(Yu(\"type\",s.schema)&&Array.isArray(s.schema.type)&&findObjectOrArraySchema(s.schema,{recurse:!1})||!Yu(\"type\",s.schema)&&findObjectOrArraySchema(s.schema,{recurse:!0}))&&(a=parseJsonObjectOrArray({value:a,silentFail:!0}))),i&&i({req:ee,parameter:s,value:a,operation:ae,spec:o,baseURL:Y})}}));const fe={...s,operation:ae};if(ee=Z?buildRequest(fe,ee):build_request_buildRequest(fe,ee),ee.cookies&&Object.keys(ee.cookies).length>0){const s=helpers_cookie_serialize(ee.cookies);Id(ee.headers.Cookie)?ee.headers.Cookie+=`; ${s}`:ee.headers.Cookie=s}return ee.cookies&&delete ee.cookies,serializeRequest(ee)}const stripNonAlpha=s=>s?s.replace(/\\W/g,\"\"):null;const isNonEmptyServerList=s=>Array.isArray(s)&&s.length>0;const makeResolveSubtree=s=>async(o,i,a={})=>(async(s,o,i={})=>{const{returnEntireTree:a,baseDoc:u,requestInterceptor:_,responseInterceptor:w,parameterMacro:x,modelPropertyMacro:C,useCircularStructures:j,strategies:L}=i,B={spec:s,pathDiscriminator:o,baseDoc:u,requestInterceptor:_,responseInterceptor:w,parameterMacro:x,modelPropertyMacro:C,useCircularStructures:j,strategies:L},$=L.find((o=>o.match(s))).normalize(s),U=await Nx({spec:$,...B,allowMetaPatches:!0,skipNormalization:!isOpenAPI31(s)});return!a&&Array.isArray(o)&&o.length&&(U.spec=o.reduce(((s,o)=>null==s?void 0:s[o]),U.spec)||null),U})(o,i,{...s,...a}),Qx=(makeResolveSubtree({strategies:[_u,vu,gu]}),(s,o)=>(...i)=>{s(...i);const a=o.getConfigs().withCredentials;o.fn.fetch.withCredentials=a});function swagger_client({configs:s,getConfigs:o}){return{fn:{fetch:(i=http_http,a=s.preFetch,u=s.postFetch,u=u||(s=>s),a=a||(s=>s),s=>(\"string\"==typeof s&&(s={url:s}),s=serializeRequest(s),s=a(s),u(i(s)))),buildRequest:execute_buildRequest,execute:execute_execute,resolve:makeResolve({strategies:[Tx,_u,vu,gu]}),resolveSubtree:async(s,i,a={})=>{const u=o(),_={modelPropertyMacro:u.modelPropertyMacro,parameterMacro:u.parameterMacro,requestInterceptor:u.requestInterceptor,responseInterceptor:u.responseInterceptor,strategies:[Tx,_u,vu,gu]};return makeResolveSubtree(_)(s,i,a)},serializeRes:serializeResponse,opId},statePlugins:{configs:{wrapActions:{loaded:Qx}}}};var i,a,u}function util(){return{fn:{shallowEqualKeys,sanitizeUrl}}}var Zx=__webpack_require__(40961),tk=(__webpack_require__(78418),Re.version.startsWith(\"19\")),rk=Symbol.for(tk?\"react.transitional.element\":\"react.element\"),nk=Symbol.for(\"react.portal\"),sk=Symbol.for(\"react.fragment\"),ok=Symbol.for(\"react.strict_mode\"),lk=Symbol.for(\"react.profiler\"),uk=Symbol.for(\"react.consumer\"),pk=Symbol.for(\"react.context\"),fk=Symbol.for(\"react.forward_ref\"),mk=Symbol.for(\"react.suspense\"),yk=Symbol.for(\"react.suspense_list\"),vk=Symbol.for(\"react.memo\"),_k=Symbol.for(\"react.lazy\"),wk=fk,xk=vk;function typeOf(s){if(\"object\"==typeof s&&null!==s){const{$$typeof:o}=s;switch(o){case rk:switch(s=s.type){case sk:case lk:case ok:case mk:case yk:return s;default:switch(s=s&&s.$$typeof){case pk:case fk:case _k:case vk:case uk:return s;default:return o}}case nk:return o}}}function pureFinalPropsSelectorFactory(s,o,i,a,{areStatesEqual:u,areOwnPropsEqual:_,areStatePropsEqual:w}){let x,C,j,L,B,$=!1;function handleSubsequentCalls($,U){const V=!_(U,C),z=!u($,x,U,C);return x=$,C=U,V&&z?function handleNewPropsAndNewState(){return j=s(x,C),o.dependsOnOwnProps&&(L=o(a,C)),B=i(j,L,C),B}():V?function handleNewProps(){return s.dependsOnOwnProps&&(j=s(x,C)),o.dependsOnOwnProps&&(L=o(a,C)),B=i(j,L,C),B}():z?function handleNewState(){const o=s(x,C),a=!w(o,j);return j=o,a&&(B=i(j,L,C)),B}():B}return function pureFinalPropsSelector(u,_){return $?handleSubsequentCalls(u,_):function handleFirstCall(u,_){return x=u,C=_,j=s(x,C),L=o(a,C),B=i(j,L,C),$=!0,B}(u,_)}}function wrapMapToPropsConstant(s){return function initConstantSelector(o){const i=s(o);function constantSelector(){return i}return constantSelector.dependsOnOwnProps=!1,constantSelector}}function getDependsOnOwnProps(s){return s.dependsOnOwnProps?Boolean(s.dependsOnOwnProps):1!==s.length}function wrapMapToPropsFunc(s,o){return function initProxySelector(o,{displayName:i}){const a=function mapToPropsProxy(s,o){return a.dependsOnOwnProps?a.mapToProps(s,o):a.mapToProps(s,void 0)};return a.dependsOnOwnProps=!0,a.mapToProps=function detectFactoryAndVerify(o,i){a.mapToProps=s,a.dependsOnOwnProps=getDependsOnOwnProps(s);let u=a(o,i);return\"function\"==typeof u&&(a.mapToProps=u,a.dependsOnOwnProps=getDependsOnOwnProps(u),u=a(o,i)),u},a}}function createInvalidArgFactory(s,o){return(i,a)=>{throw new Error(`Invalid value of type ${typeof s} for ${o} argument when connecting component ${a.wrappedComponentName}.`)}}function defaultMergeProps(s,o,i){return{...i,...s,...o}}function defaultNoopBatch(s){s()}var Ak={notify(){},get:()=>[]};function createSubscription(s,o){let i,a=Ak,u=0,_=!1;function handleChangeWrapper(){w.onStateChange&&w.onStateChange()}function trySubscribe(){u++,i||(i=o?o.addNestedSub(handleChangeWrapper):s.subscribe(handleChangeWrapper),a=function createListenerCollection(){let s=null,o=null;return{clear(){s=null,o=null},notify(){defaultNoopBatch((()=>{let o=s;for(;o;)o.callback(),o=o.next}))},get(){const o=[];let i=s;for(;i;)o.push(i),i=i.next;return o},subscribe(i){let a=!0;const u=o={callback:i,next:null,prev:o};return u.prev?u.prev.next=u:s=u,function unsubscribe(){a&&null!==s&&(a=!1,u.next?u.next.prev=u.prev:o=u.prev,u.prev?u.prev.next=u.next:s=u.next)}}}}())}function tryUnsubscribe(){u--,i&&0===u&&(i(),i=void 0,a.clear(),a=Ak)}const w={addNestedSub:function addNestedSub(s){trySubscribe();const o=a.subscribe(s);let i=!1;return()=>{i||(i=!0,o(),tryUnsubscribe())}},notifyNestedSubs:function notifyNestedSubs(){a.notify()},handleChangeWrapper,isSubscribed:function isSubscribed(){return _},trySubscribe:function trySubscribeSelf(){_||(_=!0,trySubscribe())},tryUnsubscribe:function tryUnsubscribeSelf(){_&&(_=!1,tryUnsubscribe())},getListeners:()=>a};return w}var Bk=(()=>!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement))(),qk=(()=>\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product)(),Vk=(()=>Bk||qk?Re.useLayoutEffect:Re.useEffect)();function is(s,o){return s===o?0!==s||0!==o||1/s==1/o:s!=s&&o!=o}function shallowEqual(s,o){if(is(s,o))return!0;if(\"object\"!=typeof s||null===s||\"object\"!=typeof o||null===o)return!1;const i=Object.keys(s),a=Object.keys(o);if(i.length!==a.length)return!1;for(let a=0;a<i.length;a++)if(!Object.prototype.hasOwnProperty.call(o,i[a])||!is(s[i[a]],o[i[a]]))return!1;return!0}var zk={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},eO={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},tO={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},rO={[wk]:{$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},[xk]:tO};function getStatics(s){return function isMemo(s){return typeOf(s)===vk}(s)?tO:rO[s.$$typeof]||zk}var nO=Object.defineProperty,sO=Object.getOwnPropertyNames,oO=Object.getOwnPropertySymbols,iO=Object.getOwnPropertyDescriptor,aO=Object.getPrototypeOf,cO=Object.prototype;function hoistNonReactStatics(s,o){if(\"string\"!=typeof o){if(cO){const i=aO(o);i&&i!==cO&&hoistNonReactStatics(s,i)}let i=sO(o);oO&&(i=i.concat(oO(o)));const a=getStatics(s),u=getStatics(o);for(let _=0;_<i.length;++_){const w=i[_];if(!(eO[w]||u&&u[w]||a&&a[w])){const i=iO(o,w);try{nO(s,w,i)}catch(s){}}}}return s}var lO=Symbol.for(\"react-redux-context\"),uO=\"undefined\"!=typeof globalThis?globalThis:{};function getContext(){if(!Re.createContext)return{};const s=uO[lO]??=new Map;let o=s.get(Re.createContext);return o||(o=Re.createContext(null),s.set(Re.createContext,o)),o}var pO=getContext(),hO=[null,null];function captureWrapperProps(s,o,i,a,u,_){s.current=a,i.current=!1,u.current&&(u.current=null,_())}function strictEqual(s,o){return s===o}var dO=function connect(s,o,i,{pure:a,areStatesEqual:u=strictEqual,areOwnPropsEqual:_=shallowEqual,areStatePropsEqual:w=shallowEqual,areMergedPropsEqual:x=shallowEqual,forwardRef:C=!1,context:j=pO}={}){const L=j,B=function mapStateToPropsFactory(s){return s?\"function\"==typeof s?wrapMapToPropsFunc(s):createInvalidArgFactory(s,\"mapStateToProps\"):wrapMapToPropsConstant((()=>({})))}(s),$=function mapDispatchToPropsFactory(s){return s&&\"object\"==typeof s?wrapMapToPropsConstant((o=>function react_redux_bindActionCreators(s,o){const i={};for(const a in s){const u=s[a];\"function\"==typeof u&&(i[a]=(...s)=>o(u(...s)))}return i}(s,o))):s?\"function\"==typeof s?wrapMapToPropsFunc(s):createInvalidArgFactory(s,\"mapDispatchToProps\"):wrapMapToPropsConstant((s=>({dispatch:s})))}(o),U=function mergePropsFactory(s){return s?\"function\"==typeof s?function wrapMergePropsFunc(s){return function initMergePropsProxy(o,{displayName:i,areMergedPropsEqual:a}){let u,_=!1;return function mergePropsProxy(o,i,w){const x=s(o,i,w);return _?a(x,u)||(u=x):(_=!0,u=x),u}}}(s):createInvalidArgFactory(s,\"mergeProps\"):()=>defaultMergeProps}(i),V=Boolean(s);return s=>{const o=s.displayName||s.name||\"Component\",i=`Connect(${o})`,a={shouldHandleStateChanges:V,displayName:i,wrappedComponentName:o,WrappedComponent:s,initMapStateToProps:B,initMapDispatchToProps:$,initMergeProps:U,areStatesEqual:u,areStatePropsEqual:w,areOwnPropsEqual:_,areMergedPropsEqual:x};function ConnectFunction(o){const[i,u,_]=Re.useMemo((()=>{const{reactReduxForwardedRef:s,...i}=o;return[o.context,s,i]}),[o]),w=Re.useMemo((()=>L),[i,L]),x=Re.useContext(w),C=Boolean(o.store)&&Boolean(o.store.getState)&&Boolean(o.store.dispatch),j=Boolean(x)&&Boolean(x.store);const B=C?o.store:x.store,$=j?x.getServerState:B.getState,U=Re.useMemo((()=>function finalPropsSelectorFactory(s,{initMapStateToProps:o,initMapDispatchToProps:i,initMergeProps:a,...u}){return pureFinalPropsSelectorFactory(o(s,u),i(s,u),a(s,u),s,u)}(B.dispatch,a)),[B]),[z,Y]=Re.useMemo((()=>{if(!V)return hO;const s=createSubscription(B,C?void 0:x.subscription),o=s.notifyNestedSubs.bind(s);return[s,o]}),[B,C,x]),Z=Re.useMemo((()=>C?x:{...x,subscription:z}),[C,x,z]),ee=Re.useRef(void 0),ie=Re.useRef(_),ae=Re.useRef(void 0),ce=Re.useRef(!1),le=Re.useRef(!1),pe=Re.useRef(void 0);Vk((()=>(le.current=!0,()=>{le.current=!1})),[]);const de=Re.useMemo((()=>()=>ae.current&&_===ie.current?ae.current:U(B.getState(),_)),[B,_]),fe=Re.useMemo((()=>s=>z?function subscribeUpdates(s,o,i,a,u,_,w,x,C,j,L){if(!s)return()=>{};let B=!1,$=null;const checkForUpdates=()=>{if(B||!x.current)return;const s=o.getState();let i,U;try{i=a(s,u.current)}catch(s){U=s,$=s}U||($=null),i===_.current?w.current||j():(_.current=i,C.current=i,w.current=!0,L())};return i.onStateChange=checkForUpdates,i.trySubscribe(),checkForUpdates(),()=>{if(B=!0,i.tryUnsubscribe(),i.onStateChange=null,$)throw $}}(V,B,z,U,ie,ee,ce,le,ae,Y,s):()=>{}),[z]);let ye;!function useIsomorphicLayoutEffectWithArgs(s,o,i){Vk((()=>s(...o)),i)}(captureWrapperProps,[ie,ee,ce,_,ae,Y]);try{ye=Re.useSyncExternalStore(fe,de,$?()=>U($(),_):de)}catch(s){throw pe.current&&(s.message+=`\\nThe error may be correlated with this previous error:\\n${pe.current.stack}\\n\\n`),s}Vk((()=>{pe.current=void 0,ae.current=void 0,ee.current=ye}));const be=Re.useMemo((()=>Re.createElement(s,{...ye,ref:u})),[u,s,ye]);return Re.useMemo((()=>V?Re.createElement(w.Provider,{value:Z},be):be),[w,be,Z])}const j=Re.memo(ConnectFunction);if(j.WrappedComponent=s,j.displayName=ConnectFunction.displayName=i,C){const o=Re.forwardRef((function forwardConnectRef(s,o){return Re.createElement(j,{...s,reactReduxForwardedRef:o})}));return o.displayName=i,o.WrappedComponent=s,hoistNonReactStatics(o,s)}return hoistNonReactStatics(j,s)}};var fO=function Provider(s){const{children:o,context:i,serverState:a,store:u}=s,_=Re.useMemo((()=>{const s=createSubscription(u);return{store:u,subscription:s,getServerState:a?()=>a:void 0}}),[u,a]),w=Re.useMemo((()=>u.getState()),[u]);Vk((()=>{const{subscription:s}=_;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),w!==u.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}}),[_,w]);const x=i||pO;return Re.createElement(x.Provider,{value:_},o)};var mO=__webpack_require__(83488),gO=__webpack_require__.n(mO);const withSystem=s=>o=>{const{fn:i}=s();class WithSystem extends Re.Component{render(){return Re.createElement(o,Mn()({},s(),this.props,this.context))}}return WithSystem.displayName=`WithSystem(${i.getDisplayName(o)})`,WithSystem},withRoot=(s,o)=>i=>{const{fn:a}=s();class WithRoot extends Re.Component{render(){return Re.createElement(fO,{store:o},Re.createElement(i,Mn()({},this.props,this.context)))}}return WithRoot.displayName=`WithRoot(${a.getDisplayName(i)})`,WithRoot},withConnect=(s,o,i)=>compose(i?withRoot(s,i):gO(),dO(((i,a)=>{const u={...a,...s()},_=o.prototype?.mapStateToProps||(s=>({state:s}));return _(i,u)})),withSystem(s))(o),handleProps=(s,o,i,a)=>{for(const u in o){const _=o[u];\"function\"==typeof _&&_(i[u],a[u],s())}},withMappedContainer=(s,o,i)=>(o,a)=>{const{fn:u}=s(),_=i(o,\"root\");class WithMappedContainer extends Re.Component{constructor(o,i){super(o,i),handleProps(s,a,o,{})}UNSAFE_componentWillReceiveProps(o){handleProps(s,a,o,this.props)}render(){const s=Gt()(this.props,a?Object.keys(a):[]);return Re.createElement(_,s)}}return WithMappedContainer.displayName=`WithMappedContainer(${u.getDisplayName(_)})`,WithMappedContainer},render=(s,o,i,a)=>u=>{const _=i(s,o,a)(\"App\",\"root\"),{createRoot:w}=Zx;w(u).render(Re.createElement(_,null))},getComponent=(s,o,i)=>(a,u,_={})=>{if(\"string\"!=typeof a)throw new TypeError(\"Need a string, to fetch a component. Was given a \"+typeof a);const w=i(a);return w?u?\"root\"===u?withConnect(s,w,o()):withConnect(s,w):w:(_.failSilently||s().log.warn(\"Could not find component:\",a),null)},getDisplayName=s=>s.displayName||s.name||\"Component\",view=({getComponents:s,getStore:o,getSystem:i})=>{const a=(u=getComponent(i,o,s),Pt(u,((...s)=>JSON.stringify(s))));var u;const _=(s=>utils_memoizeN(s,((...s)=>s)))(withMappedContainer(i,0,a));return{rootInjects:{getComponent:a,makeMappedContainer:_,render:render(i,o,getComponent,s)},fn:{getDisplayName}}},view_legacy=({React:s,getSystem:o,getStore:i,getComponents:a})=>{const u={},_=parseInt(s?.version,10);return _>=16&&_<18&&(u.render=((s,o,i,a)=>u=>{const _=i(s,o,a)(\"App\",\"root\");Zx.render(Re.createElement(_,null),u)})(o,i,getComponent,a)),{rootInjects:u}};function downloadUrlPlugin(s){let{fn:o}=s;const i={download:s=>({errActions:i,specSelectors:a,specActions:u,getConfigs:_})=>{let{fetch:w}=o;const x=_();function next(o){if(o instanceof Error||o.status>=400)return u.updateLoadingStatus(\"failed\"),i.newThrownErr(Object.assign(new Error((o.message||o.statusText)+\" \"+s),{source:\"fetch\"})),void(!o.status&&o instanceof Error&&function checkPossibleFailReasons(){try{let o;if(\"URL\"in lt?o=new URL(s):(o=document.createElement(\"a\"),o.href=s),\"https:\"!==o.protocol&&\"https:\"===lt.location.protocol){const s=Object.assign(new Error(`Possible mixed-content issue? The page was loaded over https:// but a ${o.protocol}// URL was specified. Check that you are not attempting to load mixed content.`),{source:\"fetch\"});return void i.newThrownErr(s)}if(o.origin!==lt.location.origin){const s=Object.assign(new Error(`Possible cross-origin (CORS) issue? The URL origin (${o.origin}) does not match the page (${lt.location.origin}). Check the server returns the correct 'Access-Control-Allow-*' headers.`),{source:\"fetch\"});i.newThrownErr(s)}}catch(s){return}}());u.updateLoadingStatus(\"success\"),u.updateSpec(o.text),a.url()!==s&&u.updateUrl(s)}s=s||a.url(),u.updateLoadingStatus(\"loading\"),i.clear({source:\"fetch\"}),w({url:s,loadSpec:!0,requestInterceptor:x.requestInterceptor||(s=>s),responseInterceptor:x.responseInterceptor||(s=>s),credentials:\"same-origin\",headers:{Accept:\"application/json,*/*\"}}).then(next,next)},updateLoadingStatus:s=>{let o=[null,\"loading\",\"failed\",\"success\",\"failedConfig\"];return-1===o.indexOf(s)&&console.error(`Error: ${s} is not one of ${JSON.stringify(o)}`),{type:\"spec_update_loading_status\",payload:s}}};let a={loadingStatus:Ut((s=>s||(0,ze.Map)()),(s=>s.get(\"loadingStatus\")||null))};return{statePlugins:{spec:{actions:i,reducers:{spec_update_loading_status:(s,o)=>\"string\"==typeof o.payload?s.set(\"loadingStatus\",o.payload):s},selectors:a}}}}function arrayLikeToArray_arrayLikeToArray(s,o){(null==o||o>s.length)&&(o=s.length);for(var i=0,a=Array(o);i<o;i++)a[i]=s[i];return a}function toConsumableArray_toConsumableArray(s){return function arrayWithoutHoles_arrayWithoutHoles(s){if(Array.isArray(s))return arrayLikeToArray_arrayLikeToArray(s)}(s)||function iterableToArray_iterableToArray(s){if(\"undefined\"!=typeof Symbol&&null!=s[Symbol.iterator]||null!=s[\"@@iterator\"])return Array.from(s)}(s)||function unsupportedIterableToArray_unsupportedIterableToArray(s,o){if(s){if(\"string\"==typeof s)return arrayLikeToArray_arrayLikeToArray(s,o);var i={}.toString.call(s).slice(8,-1);return\"Object\"===i&&s.constructor&&(i=s.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(s):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?arrayLikeToArray_arrayLikeToArray(s,o):void 0}}(s)||function nonIterableSpread_nonIterableSpread(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function typeof_typeof(s){return typeof_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(s){return typeof s}:function(s){return s&&\"function\"==typeof Symbol&&s.constructor===Symbol&&s!==Symbol.prototype?\"symbol\":typeof s},typeof_typeof(s)}function toPropertyKey(s){var o=function toPrimitive(s,o){if(\"object\"!=typeof_typeof(s)||!s)return s;var i=s[Symbol.toPrimitive];if(void 0!==i){var a=i.call(s,o||\"default\");if(\"object\"!=typeof_typeof(a))return a;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===o?String:Number)(s)}(s,\"string\");return\"symbol\"==typeof_typeof(o)?o:o+\"\"}function defineProperty_defineProperty(s,o,i){return(o=toPropertyKey(o))in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}function extends_extends(){return extends_extends=Object.assign?Object.assign.bind():function(s){for(var o=1;o<arguments.length;o++){var i=arguments[o];for(var a in i)({}).hasOwnProperty.call(i,a)&&(s[a]=i[a])}return s},extends_extends.apply(null,arguments)}function create_element_ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?create_element_ownKeys(Object(i),!0).forEach((function(o){defineProperty_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):create_element_ownKeys(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var yO={};function createStyleObject(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2?arguments[2]:void 0;return function getClassNameCombinations(s){if(0===s.length||1===s.length)return s;var o=s.join(\".\");return yO[o]||(yO[o]=function powerSetPermutations(s){var o=s.length;return 0===o||1===o?s:2===o?[s[0],s[1],\"\".concat(s[0],\".\").concat(s[1]),\"\".concat(s[1],\".\").concat(s[0])]:3===o?[s[0],s[1],s[2],\"\".concat(s[0],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[0]),\"\".concat(s[1],\".\").concat(s[2]),\"\".concat(s[2],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[1],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[2],\".\").concat(s[1]),\"\".concat(s[1],\".\").concat(s[0],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[2],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[0],\".\").concat(s[1]),\"\".concat(s[2],\".\").concat(s[1],\".\").concat(s[0])]:o>=4?[s[0],s[1],s[2],s[3],\"\".concat(s[0],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[3]),\"\".concat(s[1],\".\").concat(s[0]),\"\".concat(s[1],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[3]),\"\".concat(s[2],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[1]),\"\".concat(s[2],\".\").concat(s[3]),\"\".concat(s[3],\".\").concat(s[0]),\"\".concat(s[3],\".\").concat(s[1]),\"\".concat(s[3],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[1],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[1],\".\").concat(s[3]),\"\".concat(s[0],\".\").concat(s[2],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[2],\".\").concat(s[3]),\"\".concat(s[0],\".\").concat(s[3],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[3],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[0],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[0],\".\").concat(s[3]),\"\".concat(s[1],\".\").concat(s[2],\".\").concat(s[0]),\"\".concat(s[1],\".\").concat(s[2],\".\").concat(s[3]),\"\".concat(s[1],\".\").concat(s[3],\".\").concat(s[0]),\"\".concat(s[1],\".\").concat(s[3],\".\").concat(s[2]),\"\".concat(s[2],\".\").concat(s[0],\".\").concat(s[1]),\"\".concat(s[2],\".\").concat(s[0],\".\").concat(s[3]),\"\".concat(s[2],\".\").concat(s[1],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[1],\".\").concat(s[3]),\"\".concat(s[2],\".\").concat(s[3],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[3],\".\").concat(s[1]),\"\".concat(s[3],\".\").concat(s[0],\".\").concat(s[1]),\"\".concat(s[3],\".\").concat(s[0],\".\").concat(s[2]),\"\".concat(s[3],\".\").concat(s[1],\".\").concat(s[0]),\"\".concat(s[3],\".\").concat(s[1],\".\").concat(s[2]),\"\".concat(s[3],\".\").concat(s[2],\".\").concat(s[0]),\"\".concat(s[3],\".\").concat(s[2],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[1],\".\").concat(s[2],\".\").concat(s[3]),\"\".concat(s[0],\".\").concat(s[1],\".\").concat(s[3],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[2],\".\").concat(s[1],\".\").concat(s[3]),\"\".concat(s[0],\".\").concat(s[2],\".\").concat(s[3],\".\").concat(s[1]),\"\".concat(s[0],\".\").concat(s[3],\".\").concat(s[1],\".\").concat(s[2]),\"\".concat(s[0],\".\").concat(s[3],\".\").concat(s[2],\".\").concat(s[1]),\"\".concat(s[1],\".\").concat(s[0],\".\").concat(s[2],\".\").concat(s[3]),\"\".concat(s[1],\".\").concat(s[0],\".\").concat(s[3],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[2],\".\").concat(s[0],\".\").concat(s[3]),\"\".concat(s[1],\".\").concat(s[2],\".\").concat(s[3],\".\").concat(s[0]),\"\".concat(s[1],\".\").concat(s[3],\".\").concat(s[0],\".\").concat(s[2]),\"\".concat(s[1],\".\").concat(s[3],\".\").concat(s[2],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[0],\".\").concat(s[1],\".\").concat(s[3]),\"\".concat(s[2],\".\").concat(s[0],\".\").concat(s[3],\".\").concat(s[1]),\"\".concat(s[2],\".\").concat(s[1],\".\").concat(s[0],\".\").concat(s[3]),\"\".concat(s[2],\".\").concat(s[1],\".\").concat(s[3],\".\").concat(s[0]),\"\".concat(s[2],\".\").concat(s[3],\".\").concat(s[0],\".\").concat(s[1]),\"\".concat(s[2],\".\").concat(s[3],\".\").concat(s[1],\".\").concat(s[0]),\"\".concat(s[3],\".\").concat(s[0],\".\").concat(s[1],\".\").concat(s[2]),\"\".concat(s[3],\".\").concat(s[0],\".\").concat(s[2],\".\").concat(s[1]),\"\".concat(s[3],\".\").concat(s[1],\".\").concat(s[0],\".\").concat(s[2]),\"\".concat(s[3],\".\").concat(s[1],\".\").concat(s[2],\".\").concat(s[0]),\"\".concat(s[3],\".\").concat(s[2],\".\").concat(s[0],\".\").concat(s[1]),\"\".concat(s[3],\".\").concat(s[2],\".\").concat(s[1],\".\").concat(s[0])]:void 0}(s)),yO[o]}(s.filter((function(s){return\"token\"!==s}))).reduce((function(s,o){return _objectSpread(_objectSpread({},s),i[o])}),o)}function createClassNameString(s){return s.join(\" \")}function createElement(s){var o=s.node,i=s.stylesheet,a=s.style,u=void 0===a?{}:a,_=s.useInlineStyles,w=s.key,x=o.properties,C=o.type,j=o.tagName,L=o.value;if(\"text\"===C)return L;if(j){var B,$=function createChildren(s,o){var i=0;return function(a){return i+=1,a.map((function(a,u){return createElement({node:a,stylesheet:s,useInlineStyles:o,key:\"code-segment-\".concat(i,\"-\").concat(u)})}))}}(i,_);if(_){var U=Object.keys(i).reduce((function(s,o){return o.split(\".\").forEach((function(o){s.includes(o)||s.push(o)})),s}),[]),V=x.className&&x.className.includes(\"token\")?[\"token\"]:[],z=x.className&&V.concat(x.className.filter((function(s){return!U.includes(s)})));B=_objectSpread(_objectSpread({},x),{},{className:createClassNameString(z)||void 0,style:createStyleObject(x.className,Object.assign({},x.style,u),i)})}else B=_objectSpread(_objectSpread({},x),{},{className:createClassNameString(x.className)});var Y=$(o.children);return Re.createElement(j,extends_extends({key:w},B),Y)}}var vO=[\"language\",\"children\",\"style\",\"customStyle\",\"codeTagProps\",\"useInlineStyles\",\"showLineNumbers\",\"showInlineLineNumbers\",\"startingLineNumber\",\"lineNumberContainerStyle\",\"lineNumberStyle\",\"wrapLines\",\"wrapLongLines\",\"lineProps\",\"renderer\",\"PreTag\",\"CodeTag\",\"code\",\"astGenerator\"];function highlight_ownKeys(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(s);o&&(a=a.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,a)}return i}function highlight_objectSpread(s){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?highlight_ownKeys(Object(i),!0).forEach((function(o){defineProperty_defineProperty(s,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):highlight_ownKeys(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var bO=/\\n/g;function AllLineNumbers(s){var o=s.codeString,i=s.codeStyle,a=s.containerStyle,u=void 0===a?{float:\"left\",paddingRight:\"10px\"}:a,_=s.numberStyle,w=void 0===_?{}:_,x=s.startingLineNumber;return Re.createElement(\"code\",{style:Object.assign({},i,u)},function getAllLineNumbers(s){var o=s.lines,i=s.startingLineNumber,a=s.style;return o.map((function(s,o){var u=o+i;return Re.createElement(\"span\",{key:\"line-\".concat(o),className:\"react-syntax-highlighter-line-number\",style:\"function\"==typeof a?a(u):a},\"\".concat(u,\"\\n\"))}))}({lines:o.replace(/\\n$/,\"\").split(\"\\n\"),style:w,startingLineNumber:x}))}function getInlineLineNumber(s,o){return{type:\"element\",tagName:\"span\",properties:{key:\"line-number--\".concat(s),className:[\"comment\",\"linenumber\",\"react-syntax-highlighter-line-number\"],style:o},children:[{type:\"text\",value:s}]}}function assembleLineNumberStyles(s,o,i){var a,u={display:\"inline-block\",minWidth:(a=i,\"\".concat(a.toString().length,\".25em\")),paddingRight:\"1em\",textAlign:\"right\",userSelect:\"none\"},_=\"function\"==typeof s?s(o):s;return highlight_objectSpread(highlight_objectSpread({},u),_)}function createLineElement(s){var o=s.children,i=s.lineNumber,a=s.lineNumberStyle,u=s.largestLineNumber,_=s.showInlineLineNumbers,w=s.lineProps,x=void 0===w?{}:w,C=s.className,j=void 0===C?[]:C,L=s.showLineNumbers,B=s.wrapLongLines,$=s.wrapLines,U=void 0!==$&&$?highlight_objectSpread({},\"function\"==typeof x?x(i):x):{};if(U.className=U.className?[].concat(toConsumableArray_toConsumableArray(U.className.trim().split(/\\s+/)),toConsumableArray_toConsumableArray(j)):j,i&&_){var V=assembleLineNumberStyles(a,i,u);o.unshift(getInlineLineNumber(i,V))}return B&L&&(U.style=highlight_objectSpread({display:\"flex\"},U.style)),{type:\"element\",tagName:\"span\",properties:U,children:o}}function flattenCodeTree(s){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];void 0===s.length&&(s=[s]);for(var a=0;a<s.length;a++){var u=s[a];if(\"text\"===u.type)i.push(createLineElement({children:[u],className:toConsumableArray_toConsumableArray(new Set(o))}));else if(u.children){var _,w=o.concat((null===(_=u.properties)||void 0===_?void 0:_.className)||[]);flattenCodeTree(u.children,w).forEach((function(s){return i.push(s)}))}}return i}function processLines(s,o,i,a,u,_,w,x,C){var j,L=flattenCodeTree(s.value),B=[],$=-1,U=0;function createLine(s,_){var j=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return o||j.length>0?function createWrappedLine(s,_){return createLineElement({children:s,lineNumber:_,lineNumberStyle:x,largestLineNumber:w,showInlineLineNumbers:u,lineProps:i,className:arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],showLineNumbers:a,wrapLongLines:C,wrapLines:o})}(s,_,j):function createUnwrappedLine(s,o){if(a&&o&&u){var i=assembleLineNumberStyles(x,o,w);s.unshift(getInlineLineNumber(o,i))}return s}(s,_)}for(var V=function _loop(){var s=L[U],o=s.children[0].value,i=function getNewLines(s){return s.match(bO)}(o);if(i){var u=o.split(\"\\n\");u.forEach((function(o,i){var w=a&&B.length+_,x={type:\"text\",value:\"\".concat(o,\"\\n\")};if(0===i){var C=createLine(L.slice($+1,U).concat(createLineElement({children:[x],className:s.properties.className})),w);B.push(C)}else if(i===u.length-1){var j=L[U+1]&&L[U+1].children&&L[U+1].children[0],V={type:\"text\",value:\"\".concat(o)};if(j){var z=createLineElement({children:[V],className:s.properties.className});L.splice(U+1,0,z)}else{var Y=createLine([V],w,s.properties.className);B.push(Y)}}else{var Z=createLine([x],w,s.properties.className);B.push(Z)}})),$=U}U++};U<L.length;)V();if($!==L.length-1){var z=L.slice($+1,L.length);if(z&&z.length){var Y=createLine(z,a&&B.length+_);B.push(Y)}}return o?B:(j=[]).concat.apply(j,B)}function defaultRenderer(s){var o=s.rows,i=s.stylesheet,a=s.useInlineStyles;return o.map((function(s,o){return createElement({node:s,stylesheet:i,useInlineStyles:a,key:\"code-segment-\".concat(o)})}))}function isHighlightJs(s){return s&&void 0!==s.highlightAuto}var _O=__webpack_require__(43768),SO=function highlight(s,o){return function SyntaxHighlighter(i){var a,u,_=i.language,w=i.children,x=i.style,C=void 0===x?o:x,j=i.customStyle,L=void 0===j?{}:j,B=i.codeTagProps,$=void 0===B?{className:_?\"language-\".concat(_):void 0,style:highlight_objectSpread(highlight_objectSpread({},C['code[class*=\"language-\"]']),C['code[class*=\"language-'.concat(_,'\"]')])}:B,U=i.useInlineStyles,V=void 0===U||U,z=i.showLineNumbers,Y=void 0!==z&&z,Z=i.showInlineLineNumbers,ee=void 0===Z||Z,ie=i.startingLineNumber,ae=void 0===ie?1:ie,ce=i.lineNumberContainerStyle,le=i.lineNumberStyle,pe=void 0===le?{}:le,de=i.wrapLines,fe=i.wrapLongLines,ye=void 0!==fe&&fe,be=i.lineProps,_e=void 0===be?{}:be,Se=i.renderer,we=i.PreTag,xe=void 0===we?\"pre\":we,Pe=i.CodeTag,Te=void 0===Pe?\"code\":Pe,$e=i.code,qe=void 0===$e?(Array.isArray(w)?w[0]:w)||\"\":$e,ze=i.astGenerator,We=function _objectWithoutProperties(s,o){if(null==s)return{};var i,a,u=function _objectWithoutPropertiesLoose(s,o){if(null==s)return{};var i={};for(var a in s)if({}.hasOwnProperty.call(s,a)){if(-1!==o.indexOf(a))continue;i[a]=s[a]}return i}(s,o);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(s);for(a=0;a<_.length;a++)i=_[a],-1===o.indexOf(i)&&{}.propertyIsEnumerable.call(s,i)&&(u[i]=s[i])}return u}(i,vO);ze=ze||s;var He=Y?Re.createElement(AllLineNumbers,{containerStyle:ce,codeStyle:$.style||{},numberStyle:pe,startingLineNumber:ae,codeString:qe}):null,Ye=C.hljs||C['pre[class*=\"language-\"]']||{backgroundColor:\"#fff\"},Xe=isHighlightJs(ze)?\"hljs\":\"prismjs\",Qe=V?Object.assign({},We,{style:Object.assign({},Ye,L)}):Object.assign({},We,{className:We.className?\"\".concat(Xe,\" \").concat(We.className):Xe,style:Object.assign({},L)});if($.style=highlight_objectSpread(ye?{whiteSpace:\"pre-wrap\"}:{whiteSpace:\"pre\"},$.style),!ze)return Re.createElement(xe,Qe,He,Re.createElement(Te,$,qe));(void 0===de&&Se||ye)&&(de=!0),Se=Se||defaultRenderer;var et=[{type:\"text\",value:qe}],tt=function getCodeTree(s){var o=s.astGenerator,i=s.language,a=s.code,u=s.defaultCodeValue;if(isHighlightJs(o)){var _=function(s,o){return-1!==s.listLanguages().indexOf(o)}(o,i);return\"text\"===i?{value:u,language:\"text\"}:_?o.highlight(i,a):o.highlightAuto(a)}try{return i&&\"text\"!==i?{value:o.highlight(a,i)}:{value:u}}catch(s){return{value:u}}}({astGenerator:ze,language:_,code:qe,defaultCodeValue:et});null===tt.language&&(tt.value=et);var rt=processLines(tt,de,_e,Y,ee,ae,ae+(null!==(a=null===(u=qe.match(/\\n/g))||void 0===u?void 0:u.length)&&void 0!==a?a:0),pe,ye);return Re.createElement(xe,Qe,Re.createElement(Te,$,!ee&&He,Se({rows:rt,stylesheet:C,useInlineStyles:V})))}}(_O,{});SO.registerLanguage=_O.registerLanguage;const EO=SO;var wO=__webpack_require__(95089);const xO=__webpack_require__.n(wO)();var kO=__webpack_require__(65772);const OO=__webpack_require__.n(kO)();var AO=__webpack_require__(17285);const CO=__webpack_require__.n(AO)();var jO=__webpack_require__(35344);const PO=__webpack_require__.n(jO)();var IO=__webpack_require__(17533);const TO=__webpack_require__.n(IO)();var NO=__webpack_require__(73402);const MO=__webpack_require__.n(NO)();var RO=__webpack_require__(26571);const DO=__webpack_require__.n(RO)(),after_load=()=>{EO.registerLanguage(\"json\",OO),EO.registerLanguage(\"js\",xO),EO.registerLanguage(\"xml\",CO),EO.registerLanguage(\"yaml\",TO),EO.registerLanguage(\"http\",MO),EO.registerLanguage(\"bash\",PO),EO.registerLanguage(\"powershell\",DO),EO.registerLanguage(\"javascript\",xO)},LO={hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",background:\"#333\",color:\"white\"},\"hljs-name\":{fontWeight:\"bold\"},\"hljs-strong\":{fontWeight:\"bold\"},\"hljs-code\":{fontStyle:\"italic\",color:\"#888\"},\"hljs-emphasis\":{fontStyle:\"italic\"},\"hljs-tag\":{color:\"#62c8f3\"},\"hljs-variable\":{color:\"#ade5fc\"},\"hljs-template-variable\":{color:\"#ade5fc\"},\"hljs-selector-id\":{color:\"#ade5fc\"},\"hljs-selector-class\":{color:\"#ade5fc\"},\"hljs-string\":{color:\"#a2fca2\"},\"hljs-bullet\":{color:\"#d36363\"},\"hljs-type\":{color:\"#ffa\"},\"hljs-title\":{color:\"#ffa\"},\"hljs-section\":{color:\"#ffa\"},\"hljs-attribute\":{color:\"#ffa\"},\"hljs-quote\":{color:\"#ffa\"},\"hljs-built_in\":{color:\"#ffa\"},\"hljs-builtin-name\":{color:\"#ffa\"},\"hljs-number\":{color:\"#d36363\"},\"hljs-symbol\":{color:\"#d36363\"},\"hljs-keyword\":{color:\"#fcc28c\"},\"hljs-selector-tag\":{color:\"#fcc28c\"},\"hljs-literal\":{color:\"#fcc28c\"},\"hljs-comment\":{color:\"#888\"},\"hljs-deletion\":{color:\"#333\",backgroundColor:\"#fc9b9b\"},\"hljs-regexp\":{color:\"#c6b4f0\"},\"hljs-link\":{color:\"#c6b4f0\"},\"hljs-meta\":{color:\"#fc9b9b\"},\"hljs-addition\":{backgroundColor:\"#a2fca2\",color:\"#333\"}},FO={agate:LO,arta:{hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",background:\"#222\",color:\"#aaa\"},\"hljs-subst\":{color:\"#aaa\"},\"hljs-section\":{color:\"#fff\",fontWeight:\"bold\"},\"hljs-comment\":{color:\"#444\"},\"hljs-quote\":{color:\"#444\"},\"hljs-meta\":{color:\"#444\"},\"hljs-string\":{color:\"#ffcc33\"},\"hljs-symbol\":{color:\"#ffcc33\"},\"hljs-bullet\":{color:\"#ffcc33\"},\"hljs-regexp\":{color:\"#ffcc33\"},\"hljs-number\":{color:\"#00cc66\"},\"hljs-addition\":{color:\"#00cc66\"},\"hljs-built_in\":{color:\"#32aaee\"},\"hljs-builtin-name\":{color:\"#32aaee\"},\"hljs-literal\":{color:\"#32aaee\"},\"hljs-type\":{color:\"#32aaee\"},\"hljs-template-variable\":{color:\"#32aaee\"},\"hljs-attribute\":{color:\"#32aaee\"},\"hljs-link\":{color:\"#32aaee\"},\"hljs-keyword\":{color:\"#6644aa\"},\"hljs-selector-tag\":{color:\"#6644aa\"},\"hljs-name\":{color:\"#6644aa\"},\"hljs-selector-id\":{color:\"#6644aa\"},\"hljs-selector-class\":{color:\"#6644aa\"},\"hljs-title\":{color:\"#bb1166\"},\"hljs-variable\":{color:\"#bb1166\"},\"hljs-deletion\":{color:\"#bb1166\"},\"hljs-template-tag\":{color:\"#bb1166\"},\"hljs-doctag\":{fontWeight:\"bold\"},\"hljs-strong\":{fontWeight:\"bold\"},\"hljs-emphasis\":{fontStyle:\"italic\"}},monokai:{hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",background:\"#272822\",color:\"#ddd\"},\"hljs-tag\":{color:\"#f92672\"},\"hljs-keyword\":{color:\"#f92672\",fontWeight:\"bold\"},\"hljs-selector-tag\":{color:\"#f92672\",fontWeight:\"bold\"},\"hljs-literal\":{color:\"#f92672\",fontWeight:\"bold\"},\"hljs-strong\":{color:\"#f92672\"},\"hljs-name\":{color:\"#f92672\"},\"hljs-code\":{color:\"#66d9ef\"},\"hljs-class .hljs-title\":{color:\"white\"},\"hljs-attribute\":{color:\"#bf79db\"},\"hljs-symbol\":{color:\"#bf79db\"},\"hljs-regexp\":{color:\"#bf79db\"},\"hljs-link\":{color:\"#bf79db\"},\"hljs-string\":{color:\"#a6e22e\"},\"hljs-bullet\":{color:\"#a6e22e\"},\"hljs-subst\":{color:\"#a6e22e\"},\"hljs-title\":{color:\"#a6e22e\",fontWeight:\"bold\"},\"hljs-section\":{color:\"#a6e22e\",fontWeight:\"bold\"},\"hljs-emphasis\":{color:\"#a6e22e\"},\"hljs-type\":{color:\"#a6e22e\",fontWeight:\"bold\"},\"hljs-built_in\":{color:\"#a6e22e\"},\"hljs-builtin-name\":{color:\"#a6e22e\"},\"hljs-selector-attr\":{color:\"#a6e22e\"},\"hljs-selector-pseudo\":{color:\"#a6e22e\"},\"hljs-addition\":{color:\"#a6e22e\"},\"hljs-variable\":{color:\"#a6e22e\"},\"hljs-template-tag\":{color:\"#a6e22e\"},\"hljs-template-variable\":{color:\"#a6e22e\"},\"hljs-comment\":{color:\"#75715e\"},\"hljs-quote\":{color:\"#75715e\"},\"hljs-deletion\":{color:\"#75715e\"},\"hljs-meta\":{color:\"#75715e\"},\"hljs-doctag\":{fontWeight:\"bold\"},\"hljs-selector-id\":{fontWeight:\"bold\"}},nord:{hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",background:\"#2E3440\",color:\"#D8DEE9\"},\"hljs-subst\":{color:\"#D8DEE9\"},\"hljs-selector-tag\":{color:\"#81A1C1\"},\"hljs-selector-id\":{color:\"#8FBCBB\",fontWeight:\"bold\"},\"hljs-selector-class\":{color:\"#8FBCBB\"},\"hljs-selector-attr\":{color:\"#8FBCBB\"},\"hljs-selector-pseudo\":{color:\"#88C0D0\"},\"hljs-addition\":{backgroundColor:\"rgba(163, 190, 140, 0.5)\"},\"hljs-deletion\":{backgroundColor:\"rgba(191, 97, 106, 0.5)\"},\"hljs-built_in\":{color:\"#8FBCBB\"},\"hljs-type\":{color:\"#8FBCBB\"},\"hljs-class\":{color:\"#8FBCBB\"},\"hljs-function\":{color:\"#88C0D0\"},\"hljs-function > .hljs-title\":{color:\"#88C0D0\"},\"hljs-keyword\":{color:\"#81A1C1\"},\"hljs-literal\":{color:\"#81A1C1\"},\"hljs-symbol\":{color:\"#81A1C1\"},\"hljs-number\":{color:\"#B48EAD\"},\"hljs-regexp\":{color:\"#EBCB8B\"},\"hljs-string\":{color:\"#A3BE8C\"},\"hljs-title\":{color:\"#8FBCBB\"},\"hljs-params\":{color:\"#D8DEE9\"},\"hljs-bullet\":{color:\"#81A1C1\"},\"hljs-code\":{color:\"#8FBCBB\"},\"hljs-emphasis\":{fontStyle:\"italic\"},\"hljs-formula\":{color:\"#8FBCBB\"},\"hljs-strong\":{fontWeight:\"bold\"},\"hljs-link:hover\":{textDecoration:\"underline\"},\"hljs-quote\":{color:\"#4C566A\"},\"hljs-comment\":{color:\"#4C566A\"},\"hljs-doctag\":{color:\"#8FBCBB\"},\"hljs-meta\":{color:\"#5E81AC\"},\"hljs-meta-keyword\":{color:\"#5E81AC\"},\"hljs-meta-string\":{color:\"#A3BE8C\"},\"hljs-attr\":{color:\"#8FBCBB\"},\"hljs-attribute\":{color:\"#D8DEE9\"},\"hljs-builtin-name\":{color:\"#81A1C1\"},\"hljs-name\":{color:\"#81A1C1\"},\"hljs-section\":{color:\"#88C0D0\"},\"hljs-tag\":{color:\"#81A1C1\"},\"hljs-variable\":{color:\"#D8DEE9\"},\"hljs-template-variable\":{color:\"#D8DEE9\"},\"hljs-template-tag\":{color:\"#5E81AC\"},\"abnf .hljs-attribute\":{color:\"#88C0D0\"},\"abnf .hljs-symbol\":{color:\"#EBCB8B\"},\"apache .hljs-attribute\":{color:\"#88C0D0\"},\"apache .hljs-section\":{color:\"#81A1C1\"},\"arduino .hljs-built_in\":{color:\"#88C0D0\"},\"aspectj .hljs-meta\":{color:\"#D08770\"},\"aspectj > .hljs-title\":{color:\"#88C0D0\"},\"bnf .hljs-attribute\":{color:\"#8FBCBB\"},\"clojure .hljs-name\":{color:\"#88C0D0\"},\"clojure .hljs-symbol\":{color:\"#EBCB8B\"},\"coq .hljs-built_in\":{color:\"#88C0D0\"},\"cpp .hljs-meta-string\":{color:\"#8FBCBB\"},\"css .hljs-built_in\":{color:\"#88C0D0\"},\"css .hljs-keyword\":{color:\"#D08770\"},\"diff .hljs-meta\":{color:\"#8FBCBB\"},\"ebnf .hljs-attribute\":{color:\"#8FBCBB\"},\"glsl .hljs-built_in\":{color:\"#88C0D0\"},\"groovy .hljs-meta:not(:first-child)\":{color:\"#D08770\"},\"haxe .hljs-meta\":{color:\"#D08770\"},\"java .hljs-meta\":{color:\"#D08770\"},\"ldif .hljs-attribute\":{color:\"#8FBCBB\"},\"lisp .hljs-name\":{color:\"#88C0D0\"},\"lua .hljs-built_in\":{color:\"#88C0D0\"},\"moonscript .hljs-built_in\":{color:\"#88C0D0\"},\"nginx .hljs-attribute\":{color:\"#88C0D0\"},\"nginx .hljs-section\":{color:\"#5E81AC\"},\"pf .hljs-built_in\":{color:\"#88C0D0\"},\"processing .hljs-built_in\":{color:\"#88C0D0\"},\"scss .hljs-keyword\":{color:\"#81A1C1\"},\"stylus .hljs-keyword\":{color:\"#81A1C1\"},\"swift .hljs-meta\":{color:\"#D08770\"},\"vim .hljs-built_in\":{color:\"#88C0D0\",fontStyle:\"italic\"},\"yaml .hljs-meta\":{color:\"#D08770\"}},obsidian:{hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",background:\"#282b2e\",color:\"#e0e2e4\"},\"hljs-keyword\":{color:\"#93c763\",fontWeight:\"bold\"},\"hljs-selector-tag\":{color:\"#93c763\",fontWeight:\"bold\"},\"hljs-literal\":{color:\"#93c763\",fontWeight:\"bold\"},\"hljs-selector-id\":{color:\"#93c763\"},\"hljs-number\":{color:\"#ffcd22\"},\"hljs-attribute\":{color:\"#668bb0\"},\"hljs-code\":{color:\"white\"},\"hljs-class .hljs-title\":{color:\"white\"},\"hljs-section\":{color:\"white\",fontWeight:\"bold\"},\"hljs-regexp\":{color:\"#d39745\"},\"hljs-link\":{color:\"#d39745\"},\"hljs-meta\":{color:\"#557182\"},\"hljs-tag\":{color:\"#8cbbad\"},\"hljs-name\":{color:\"#8cbbad\",fontWeight:\"bold\"},\"hljs-bullet\":{color:\"#8cbbad\"},\"hljs-subst\":{color:\"#8cbbad\"},\"hljs-emphasis\":{color:\"#8cbbad\"},\"hljs-type\":{color:\"#8cbbad\",fontWeight:\"bold\"},\"hljs-built_in\":{color:\"#8cbbad\"},\"hljs-selector-attr\":{color:\"#8cbbad\"},\"hljs-selector-pseudo\":{color:\"#8cbbad\"},\"hljs-addition\":{color:\"#8cbbad\"},\"hljs-variable\":{color:\"#8cbbad\"},\"hljs-template-tag\":{color:\"#8cbbad\"},\"hljs-template-variable\":{color:\"#8cbbad\"},\"hljs-string\":{color:\"#ec7600\"},\"hljs-symbol\":{color:\"#ec7600\"},\"hljs-comment\":{color:\"#818e96\"},\"hljs-quote\":{color:\"#818e96\"},\"hljs-deletion\":{color:\"#818e96\"},\"hljs-selector-class\":{color:\"#A082BD\"},\"hljs-doctag\":{fontWeight:\"bold\"},\"hljs-title\":{fontWeight:\"bold\"},\"hljs-strong\":{fontWeight:\"bold\"}},\"tomorrow-night\":{\"hljs-comment\":{color:\"#969896\"},\"hljs-quote\":{color:\"#969896\"},\"hljs-variable\":{color:\"#cc6666\"},\"hljs-template-variable\":{color:\"#cc6666\"},\"hljs-tag\":{color:\"#cc6666\"},\"hljs-name\":{color:\"#cc6666\"},\"hljs-selector-id\":{color:\"#cc6666\"},\"hljs-selector-class\":{color:\"#cc6666\"},\"hljs-regexp\":{color:\"#cc6666\"},\"hljs-deletion\":{color:\"#cc6666\"},\"hljs-number\":{color:\"#de935f\"},\"hljs-built_in\":{color:\"#de935f\"},\"hljs-builtin-name\":{color:\"#de935f\"},\"hljs-literal\":{color:\"#de935f\"},\"hljs-type\":{color:\"#de935f\"},\"hljs-params\":{color:\"#de935f\"},\"hljs-meta\":{color:\"#de935f\"},\"hljs-link\":{color:\"#de935f\"},\"hljs-attribute\":{color:\"#f0c674\"},\"hljs-string\":{color:\"#b5bd68\"},\"hljs-symbol\":{color:\"#b5bd68\"},\"hljs-bullet\":{color:\"#b5bd68\"},\"hljs-addition\":{color:\"#b5bd68\"},\"hljs-title\":{color:\"#81a2be\"},\"hljs-section\":{color:\"#81a2be\"},\"hljs-keyword\":{color:\"#b294bb\"},\"hljs-selector-tag\":{color:\"#b294bb\"},hljs:{display:\"block\",overflowX:\"auto\",background:\"#1d1f21\",color:\"#c5c8c6\",padding:\"0.5em\"},\"hljs-emphasis\":{fontStyle:\"italic\"},\"hljs-strong\":{fontWeight:\"bold\"}},idea:{hljs:{display:\"block\",overflowX:\"auto\",padding:\"0.5em\",color:\"#000\",background:\"#fff\"},\"hljs-subst\":{fontWeight:\"normal\",color:\"#000\"},\"hljs-title\":{fontWeight:\"normal\",color:\"#000\"},\"hljs-comment\":{color:\"#808080\",fontStyle:\"italic\"},\"hljs-quote\":{color:\"#808080\",fontStyle:\"italic\"},\"hljs-meta\":{color:\"#808000\"},\"hljs-tag\":{background:\"#efefef\"},\"hljs-section\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-name\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-literal\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-keyword\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-selector-tag\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-type\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-selector-id\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-selector-class\":{fontWeight:\"bold\",color:\"#000080\"},\"hljs-attribute\":{fontWeight:\"bold\",color:\"#0000ff\"},\"hljs-number\":{fontWeight:\"normal\",color:\"#0000ff\"},\"hljs-regexp\":{fontWeight:\"normal\",color:\"#0000ff\"},\"hljs-link\":{fontWeight:\"normal\",color:\"#0000ff\"},\"hljs-string\":{color:\"#008000\",fontWeight:\"bold\"},\"hljs-symbol\":{color:\"#000\",background:\"#d0eded\",fontStyle:\"italic\"},\"hljs-bullet\":{color:\"#000\",background:\"#d0eded\",fontStyle:\"italic\"},\"hljs-formula\":{color:\"#000\",background:\"#d0eded\",fontStyle:\"italic\"},\"hljs-doctag\":{textDecoration:\"underline\"},\"hljs-variable\":{color:\"#660e7a\"},\"hljs-template-variable\":{color:\"#660e7a\"},\"hljs-addition\":{background:\"#baeeba\"},\"hljs-deletion\":{background:\"#ffc8bd\"},\"hljs-emphasis\":{fontStyle:\"italic\"},\"hljs-strong\":{fontWeight:\"bold\"}}},BO=LO,components_SyntaxHighlighter=({language:s,className:o=\"\",getConfigs:i,syntaxHighlighting:a={},children:u=\"\"})=>{const _=i().syntaxHighlight.theme,{styles:w,defaultStyle:x}=a,C=w?.[_]??x;return Re.createElement(EO,{language:s,className:o,style:C},u)};var $O=__webpack_require__(5419),qO=__webpack_require__.n($O);const components_HighlightCode=({fileName:s=\"response.txt\",className:o,downloadable:i,getComponent:a,canCopy:u,language:_,children:w})=>{const x=(0,Re.useRef)(null),C=a(\"SyntaxHighlighter\",!0),handlePreventYScrollingBeyondElement=s=>{const{target:o,deltaY:i}=s,{scrollHeight:a,offsetHeight:u,scrollTop:_}=o;a>u&&(0===_&&i<0||u+_>=a&&i>0)&&s.preventDefault()};return(0,Re.useEffect)((()=>{const s=Array.from(x.current.childNodes).filter((s=>!!s.nodeType&&s.classList.contains(\"microlight\")));return s.forEach((s=>s.addEventListener(\"mousewheel\",handlePreventYScrollingBeyondElement,{passive:!1}))),()=>{s.forEach((s=>s.removeEventListener(\"mousewheel\",handlePreventYScrollingBeyondElement)))}}),[w,o,_]),Re.createElement(\"div\",{className:\"highlight-code\",ref:x},u&&Re.createElement(\"div\",{className:\"copy-to-clipboard\"},Re.createElement(Hn.CopyToClipboard,{text:w},Re.createElement(\"button\",null))),i?Re.createElement(\"button\",{className:\"download-contents\",onClick:()=>{qO()(w,s)}},\"Download\"):null,Re.createElement(C,{language:_,className:Jn()(o,\"microlight\"),renderPlainText:({children:s,PlainTextViewer:i})=>Re.createElement(i,{className:o},s)},w))},components_PlainTextViewer=({className:s=\"\",children:o})=>Re.createElement(\"pre\",{className:Jn()(\"microlight\",s)},o),wrap_components_SyntaxHighlighter=(s,o)=>({renderPlainText:i,children:a,...u})=>{const _=o.getConfigs().syntaxHighlight.activated,w=o.getComponent(\"PlainTextViewer\");return _||\"function\"!=typeof i?_?Re.createElement(s,u,a):Re.createElement(w,null,a):i({children:a,PlainTextViewer:w})},SyntaxHighlightingPlugin1=()=>({afterLoad:after_load,rootInjects:{syntaxHighlighting:{styles:FO,defaultStyle:BO}},components:{SyntaxHighlighter:components_SyntaxHighlighter,HighlightCode:components_HighlightCode,PlainTextViewer:components_PlainTextViewer}}),SyntaxHighlightingPlugin2=()=>({wrapComponents:{SyntaxHighlighter:wrap_components_SyntaxHighlighter}}),syntax_highlighting=()=>[SyntaxHighlightingPlugin1,SyntaxHighlightingPlugin2],versions_after_load=()=>{const{GIT_DIRTY:s,GIT_COMMIT:o,PACKAGE_VERSION:i,BUILD_TIME:a}={PACKAGE_VERSION:\"5.31.0\",GIT_COMMIT:\"gcf11271c\",GIT_DIRTY:!0,BUILD_TIME:\"Thu, 11 Dec 2025 15:56:57 GMT\"};lt.versions=lt.versions||{},lt.versions.swaggerUI={version:i,gitRevision:o,gitDirty:s,buildTimestamp:a}},versions=()=>({afterLoad:versions_after_load});var UO=__webpack_require__(47248),VO=__webpack_require__.n(UO);const zO=console.error,withErrorBoundary=s=>o=>{const{getComponent:i,fn:a}=s(),u=i(\"ErrorBoundary\"),_=a.getDisplayName(o);class WithErrorBoundary extends Re.Component{render(){return Re.createElement(u,{targetName:_,getComponent:i,fn:a},Re.createElement(o,Mn()({},this.props,this.context)))}}var w;return WithErrorBoundary.displayName=`WithErrorBoundary(${_})`,(w=o).prototype&&w.prototype.isReactComponent&&(WithErrorBoundary.prototype.mapStateToProps=o.prototype.mapStateToProps),WithErrorBoundary},fallback=({name:s})=>Re.createElement(\"div\",{className:\"fallback\"},\"😱 \",Re.createElement(\"i\",null,\"Could not render \",\"t\"===s?\"this component\":s,\", see the console.\"));class ErrorBoundary extends Re.Component{static defaultProps={targetName:\"this component\",getComponent:()=>fallback,fn:{componentDidCatch:zO},children:null};static getDerivedStateFromError(s){return{hasError:!0,error:s}}constructor(...s){super(...s),this.state={hasError:!1,error:null}}componentDidCatch(s,o){this.props.fn.componentDidCatch(s,o)}render(){const{getComponent:s,targetName:o,children:i}=this.props;if(this.state.hasError){const i=s(\"Fallback\");return Re.createElement(i,{name:o})}return i}}const WO=ErrorBoundary,safe_render=({componentList:s=[],fullOverride:o=!1}={})=>({getSystem:i})=>{const a=o?s:[\"App\",\"BaseLayout\",\"VersionPragmaFilter\",\"InfoContainer\",\"ServersContainer\",\"SchemesContainer\",\"AuthorizeBtnContainer\",\"FilterContainer\",\"Operations\",\"OperationContainer\",\"parameters\",\"responses\",\"OperationServers\",\"Models\",\"ModelWrapper\",...s],u=VO()(a,Array(a.length).fill(((s,{fn:o})=>o.withErrorBoundary(s))));return{fn:{componentDidCatch:zO,withErrorBoundary:withErrorBoundary(i)},components:{ErrorBoundary:WO,Fallback:fallback},wrapComponents:u}};class App extends Re.Component{getLayout(){const{getComponent:s,layoutSelectors:o}=this.props,i=o.current(),a=s(i,!0);return a||(()=>Re.createElement(\"h1\",null,' No layout defined for \"',i,'\" '))}render(){const s=this.getLayout();return Re.createElement(s,null)}}const JO=App;class AuthorizationPopup extends Re.Component{close=()=>{let{authActions:s}=this.props;s.showDefinitions(!1)};render(){let{authSelectors:s,authActions:o,getComponent:i,errSelectors:a,specSelectors:u,fn:{AST:_={}}}=this.props,w=s.shownDefinitions();const x=i(\"auths\"),C=i(\"CloseIcon\");return Re.createElement(\"div\",{className:\"dialog-ux\"},Re.createElement(\"div\",{className:\"backdrop-ux\"}),Re.createElement(\"div\",{className:\"modal-ux\"},Re.createElement(\"div\",{className:\"modal-dialog-ux\"},Re.createElement(\"div\",{className:\"modal-ux-inner\"},Re.createElement(\"div\",{className:\"modal-ux-header\"},Re.createElement(\"h3\",null,\"Available authorizations\"),Re.createElement(\"button\",{type:\"button\",className:\"close-modal\",onClick:this.close},Re.createElement(C,null))),Re.createElement(\"div\",{className:\"modal-ux-content\"},w.valueSeq().map(((w,C)=>Re.createElement(x,{key:C,AST:_,definitions:w,getComponent:i,errSelectors:a,authSelectors:s,authActions:o,specSelectors:u}))))))))}}class AuthorizeBtn extends Re.Component{render(){let{isAuthorized:s,showPopup:o,onClick:i,getComponent:a}=this.props;const u=a(\"authorizationPopup\",!0),_=a(\"LockAuthIcon\",!0),w=a(\"UnlockAuthIcon\",!0);return Re.createElement(\"div\",{className:\"auth-wrapper\"},Re.createElement(\"button\",{className:s?\"btn authorize locked\":\"btn authorize unlocked\",onClick:i},Re.createElement(\"span\",null,\"Authorize\"),s?Re.createElement(_,null):Re.createElement(w,null)),o&&Re.createElement(u,null))}}class AuthorizeBtnContainer extends Re.Component{render(){const{authActions:s,authSelectors:o,specSelectors:i,getComponent:a}=this.props,u=i.securityDefinitions(),_=o.definitionsToAuthorize(),w=a(\"authorizeBtn\");return u?Re.createElement(w,{onClick:()=>s.showDefinitions(_),isAuthorized:!!o.authorized().size,showPopup:!!o.shownDefinitions(),getComponent:a}):null}}class AuthorizeOperationBtn extends Re.Component{onClick=s=>{s.stopPropagation();let{onClick:o}=this.props;o&&o()};render(){let{isAuthorized:s,getComponent:o}=this.props;const i=o(\"LockAuthOperationIcon\",!0),a=o(\"UnlockAuthOperationIcon\",!0);return Re.createElement(\"button\",{className:\"authorization__btn\",\"aria-label\":s?\"authorization button locked\":\"authorization button unlocked\",onClick:this.onClick},s?Re.createElement(i,{className:\"locked\"}):Re.createElement(a,{className:\"unlocked\"}))}}class Auths extends Re.Component{constructor(s,o){super(s,o),this.state={}}onAuthChange=s=>{let{name:o}=s;this.setState({[o]:s})};submitAuth=s=>{s.preventDefault();let{authActions:o}=this.props;o.authorizeWithPersistOption(this.state)};logoutClick=s=>{s.preventDefault();let{authActions:o,definitions:i}=this.props,a=i.map(((s,o)=>o)).toArray();this.setState(a.reduce(((s,o)=>(s[o]=\"\",s)),{})),o.logoutWithPersistOption(a)};close=s=>{s.preventDefault();let{authActions:o}=this.props;o.showDefinitions(!1)};render(){let{definitions:s,getComponent:o,authSelectors:i,errSelectors:a}=this.props;const u=o(\"AuthItem\"),_=o(\"oauth2\",!0),w=o(\"Button\");let x=i.authorized(),C=s.filter(((s,o)=>!!x.get(o))),j=s.filter((s=>\"oauth2\"!==s.get(\"type\"))),L=s.filter((s=>\"oauth2\"===s.get(\"type\")));return Re.createElement(\"div\",{className:\"auth-container\"},!!j.size&&Re.createElement(\"form\",{onSubmit:this.submitAuth},j.map(((s,_)=>Re.createElement(u,{key:_,schema:s,name:_,getComponent:o,onAuthChange:this.onAuthChange,authorized:x,errSelectors:a,authSelectors:i}))).toArray(),Re.createElement(\"div\",{className:\"auth-btn-wrapper\"},j.size===C.size?Re.createElement(w,{className:\"btn modal-btn auth\",onClick:this.logoutClick,\"aria-label\":\"Remove authorization\"},\"Logout\"):Re.createElement(w,{type:\"submit\",className:\"btn modal-btn auth authorize\",\"aria-label\":\"Apply credentials\"},\"Authorize\"),Re.createElement(w,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\"))),L&&L.size?Re.createElement(\"div\",null,Re.createElement(\"div\",{className:\"scope-def\"},Re.createElement(\"p\",null,\"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.\"),Re.createElement(\"p\",null,\"API requires the following scopes. Select which ones you want to grant to Swagger UI.\")),s.filter((s=>\"oauth2\"===s.get(\"type\"))).map(((s,o)=>Re.createElement(\"div\",{key:o},Re.createElement(_,{authorized:x,schema:s,name:o})))).toArray()):null)}}class auth_item_Auths extends Re.Component{render(){let{schema:s,name:o,getComponent:i,onAuthChange:a,authorized:u,errSelectors:_,authSelectors:w}=this.props;const x=i(\"apiKeyAuth\"),C=i(\"basicAuth\");let j;const L=s.get(\"type\");switch(L){case\"apiKey\":j=Re.createElement(x,{key:o,schema:s,name:o,errSelectors:_,authorized:u,getComponent:i,onChange:a,authSelectors:w});break;case\"basic\":j=Re.createElement(C,{key:o,schema:s,name:o,errSelectors:_,authorized:u,getComponent:i,onChange:a,authSelectors:w});break;default:j=Re.createElement(\"div\",{key:o},\"Unknown security definition type \",L)}return Re.createElement(\"div\",{key:`${o}-jump`},j)}}class AuthError extends Re.Component{render(){let{error:s}=this.props,o=s.get(\"level\"),i=s.get(\"message\"),a=s.get(\"source\");return Re.createElement(\"div\",{className:\"errors\"},Re.createElement(\"b\",null,a,\" \",o),Re.createElement(\"span\",null,i))}}class ApiKeyAuth extends Re.Component{constructor(s,o){super(s,o);let{name:i,schema:a}=this.props,u=this.getValue();this.state={name:i,schema:a,value:u}}getValue(){let{name:s,authorized:o}=this.props;return o&&o.getIn([s,\"value\"])}onChange=s=>{let{onChange:o}=this.props,i=s.target.value,a=Object.assign({},this.state,{value:i});this.setState(a),o(a)};render(){let{schema:s,getComponent:o,errSelectors:i,name:a,authSelectors:u}=this.props;const _=o(\"Input\"),w=o(\"Row\"),x=o(\"Col\"),C=o(\"authError\"),j=o(\"Markdown\",!0),L=o(\"JumpToPath\",!0),B=u.selectAuthPath(a);let $=this.getValue(),U=i.allErrors().filter((s=>s.get(\"authId\")===a));return Re.createElement(\"div\",null,Re.createElement(\"h4\",null,Re.createElement(\"code\",null,a||s.get(\"name\")),\" (apiKey)\",Re.createElement(L,{path:B})),$&&Re.createElement(\"h6\",null,\"Authorized\"),Re.createElement(w,null,Re.createElement(j,{source:s.get(\"description\")})),Re.createElement(w,null,Re.createElement(\"p\",null,\"Name: \",Re.createElement(\"code\",null,s.get(\"name\")))),Re.createElement(w,null,Re.createElement(\"p\",null,\"In: \",Re.createElement(\"code\",null,s.get(\"in\")))),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"api_key_value\"},\"Value:\"),$?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(x,null,Re.createElement(_,{id:\"api_key_value\",type:\"text\",onChange:this.onChange,autoFocus:!0}))),U.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o}))))}}class BasicAuth extends Re.Component{constructor(s,o){super(s,o);let{schema:i,name:a}=this.props,u=this.getValue().username;this.state={name:a,schema:i,value:u?{username:u}:{}}}getValue(){let{authorized:s,name:o}=this.props;return s&&s.getIn([o,\"value\"])||{}}onChange=s=>{let{onChange:o}=this.props,{value:i,name:a}=s.target,u=this.state.value;u[a]=i,this.setState({value:u}),o(this.state)};render(){let{schema:s,getComponent:o,name:i,errSelectors:a,authSelectors:u}=this.props;const _=o(\"Input\"),w=o(\"Row\"),x=o(\"Col\"),C=o(\"authError\"),j=o(\"JumpToPath\",!0),L=o(\"Markdown\",!0),B=u.selectAuthPath(i);let $=this.getValue().username,U=a.allErrors().filter((s=>s.get(\"authId\")===i));return Re.createElement(\"div\",null,Re.createElement(\"h4\",null,\"Basic authorization\",Re.createElement(j,{path:B})),$&&Re.createElement(\"h6\",null,\"Authorized\"),Re.createElement(w,null,Re.createElement(L,{source:s.get(\"description\")})),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"auth_username\"},\"Username:\"),$?Re.createElement(\"code\",null,\" \",$,\" \"):Re.createElement(x,null,Re.createElement(_,{id:\"auth_username\",type:\"text\",required:\"required\",name:\"username\",onChange:this.onChange,autoFocus:!0}))),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"auth_password\"},\"Password:\"),$?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(x,null,Re.createElement(_,{id:\"auth_password\",autoComplete:\"new-password\",name:\"password\",type:\"password\",onChange:this.onChange}))),U.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o}))))}}function example_Example(s){const{example:o,showValue:i,getComponent:a}=s,u=a(\"Markdown\",!0),_=a(\"HighlightCode\",!0);return o&&ze.Map.isMap(o)?Re.createElement(\"div\",{className:\"example\"},o.get(\"description\")?Re.createElement(\"section\",{className:\"example__section\"},Re.createElement(\"div\",{className:\"example__section-header\"},\"Example Description\"),Re.createElement(\"p\",null,Re.createElement(u,{source:o.get(\"description\")}))):null,i&&o.has(\"value\")?Re.createElement(\"section\",{className:\"example__section\"},Re.createElement(\"div\",{className:\"example__section-header\"},\"Example Value\"),Re.createElement(_,null,stringify(o.get(\"value\")))):null):null}class ExamplesSelect extends Re.PureComponent{static defaultProps={examples:(0,ze.Map)({}),onSelect:(...s)=>console.log(\"DEBUG: ExamplesSelect was not given an onSelect callback\",...s),currentExampleKey:null,showLabels:!0};_onSelect=(s,{isSyntheticChange:o=!1}={})=>{\"function\"==typeof this.props.onSelect&&this.props.onSelect(s,{isSyntheticChange:o})};_onDomSelect=s=>{if(\"function\"==typeof this.props.onSelect){const o=s.target.selectedOptions[0].getAttribute(\"value\");this._onSelect(o,{isSyntheticChange:!1})}};getCurrentExample=()=>{const{examples:s,currentExampleKey:o}=this.props,i=s.get(o),a=s.keySeq().first(),u=s.get(a);return i||u||(0,ze.Map)({})};componentDidMount(){const{onSelect:s,examples:o}=this.props;if(\"function\"==typeof s){const s=o.first(),i=o.keyOf(s);this._onSelect(i,{isSyntheticChange:!0})}}UNSAFE_componentWillReceiveProps(s){const{currentExampleKey:o,examples:i}=s;if(i!==this.props.examples&&!i.has(o)){const s=i.first(),o=i.keyOf(s);this._onSelect(o,{isSyntheticChange:!0})}}render(){const{examples:s,currentExampleKey:o,isValueModified:i,isModifiedValueAvailable:a,showLabels:u}=this.props;return Re.createElement(\"div\",{className:\"examples-select\"},u?Re.createElement(\"span\",{className:\"examples-select__section-label\"},\"Examples: \"):null,Re.createElement(\"select\",{className:\"examples-select-element\",onChange:this._onDomSelect,value:a&&i?\"__MODIFIED__VALUE__\":o||\"\"},a?Re.createElement(\"option\",{value:\"__MODIFIED__VALUE__\"},\"[Modified value]\"):null,s.map(((s,o)=>Re.createElement(\"option\",{key:o,value:o},ze.Map.isMap(s)&&s.get(\"summary\")||o))).valueSeq()))}}const stringifyUnlessList=s=>ze.List.isList(s)?s:stringify(s);class ExamplesSelectValueRetainer extends Re.PureComponent{static defaultProps={userHasEditedBody:!1,examples:(0,ze.Map)({}),currentNamespace:\"__DEFAULT__NAMESPACE__\",setRetainRequestBodyValueFlag:()=>{},onSelect:(...s)=>console.log(\"ExamplesSelectValueRetainer: no `onSelect` function was provided\",...s),updateValue:(...s)=>console.log(\"ExamplesSelectValueRetainer: no `updateValue` function was provided\",...s)};constructor(s){super(s);const o=this._getCurrentExampleValue();this.state={[s.currentNamespace]:(0,ze.Map)({lastUserEditedValue:this.props.currentUserInputValue,lastDownstreamValue:o,isModifiedValueSelected:this.props.userHasEditedBody||this.props.currentUserInputValue!==o})}}componentWillUnmount(){this.props.setRetainRequestBodyValueFlag(!1)}_getStateForCurrentNamespace=()=>{const{currentNamespace:s}=this.props;return(this.state[s]||(0,ze.Map)()).toObject()};_setStateForCurrentNamespace=s=>{const{currentNamespace:o}=this.props;return this._setStateForNamespace(o,s)};_setStateForNamespace=(s,o)=>{const i=(this.state[s]||(0,ze.Map)()).mergeDeep(o);return this.setState({[s]:i})};_isCurrentUserInputSameAsExampleValue=()=>{const{currentUserInputValue:s}=this.props;return this._getCurrentExampleValue()===s};_getValueForExample=(s,o)=>{const{examples:i}=o||this.props;return stringifyUnlessList((i||(0,ze.Map)({})).getIn([s,\"value\"]))};_getCurrentExampleValue=s=>{const{currentKey:o}=s||this.props;return this._getValueForExample(o,s||this.props)};_onExamplesSelect=(s,{isSyntheticChange:o}={},...i)=>{const{onSelect:a,updateValue:u,currentUserInputValue:_,userHasEditedBody:w}=this.props,{lastUserEditedValue:x}=this._getStateForCurrentNamespace(),C=this._getValueForExample(s);if(\"__MODIFIED__VALUE__\"===s)return u(stringifyUnlessList(x)),this._setStateForCurrentNamespace({isModifiedValueSelected:!0});\"function\"==typeof a&&a(s,{isSyntheticChange:o},...i),this._setStateForCurrentNamespace({lastDownstreamValue:C,isModifiedValueSelected:o&&w||!!_&&_!==C}),o||\"function\"==typeof u&&u(stringifyUnlessList(C))};UNSAFE_componentWillReceiveProps(s){const{currentUserInputValue:o,examples:i,onSelect:a,userHasEditedBody:u}=s,{lastUserEditedValue:_,lastDownstreamValue:w}=this._getStateForCurrentNamespace(),x=this._getValueForExample(s.currentKey,s),C=i.filter((s=>ze.Map.isMap(s)&&(s.get(\"value\")===o||stringify(s.get(\"value\"))===o)));if(C.size){let o;o=C.has(s.currentKey)?s.currentKey:C.keySeq().first(),a(o,{isSyntheticChange:!0})}else o!==this.props.currentUserInputValue&&o!==_&&o!==w&&(this.props.setRetainRequestBodyValueFlag(!0),this._setStateForNamespace(s.currentNamespace,{lastUserEditedValue:s.currentUserInputValue,isModifiedValueSelected:u||o!==x}))}render(){const{currentUserInputValue:s,examples:o,currentKey:i,getComponent:a,userHasEditedBody:u}=this.props,{lastDownstreamValue:_,lastUserEditedValue:w,isModifiedValueSelected:x}=this._getStateForCurrentNamespace(),C=a(\"ExamplesSelect\");return Re.createElement(C,{examples:o,currentExampleKey:i,onSelect:this._onExamplesSelect,isModifiedValueAvailable:!!w&&w!==_,isValueModified:void 0!==s&&x&&s!==this._getCurrentExampleValue()||u})}}function oauth2_authorize_authorize({auth:s,authActions:o,errActions:i,configs:a,authConfigs:u={},currentServer:_}){let{schema:w,scopes:x,name:C,clientId:j}=s,L=w.get(\"flow\"),B=[];switch(L){case\"password\":return void o.authorizePassword(s);case\"application\":case\"clientCredentials\":case\"client_credentials\":return void o.authorizeApplication(s);case\"accessCode\":case\"authorizationCode\":case\"authorization_code\":B.push(\"response_type=code\");break;case\"implicit\":B.push(\"response_type=token\")}\"string\"==typeof j&&B.push(\"client_id=\"+encodeURIComponent(j));let $=a.oauth2RedirectUrl;if(void 0===$)return void i.newAuthErr({authId:C,source:\"validation\",level:\"error\",message:\"oauth2RedirectUrl configuration is not passed. Oauth2 authorization cannot be performed.\"});B.push(\"redirect_uri=\"+encodeURIComponent($));let U=[];if(Array.isArray(x)?U=x:We().List.isList(x)&&(U=x.toArray()),U.length>0){let s=u.scopeSeparator||\" \";B.push(\"scope=\"+encodeURIComponent(U.join(s)))}let V=utils_btoa(new Date);if(B.push(\"state=\"+encodeURIComponent(V)),void 0!==u.realm&&B.push(\"realm=\"+encodeURIComponent(u.realm)),(\"authorizationCode\"===L||\"authorization_code\"===L||\"accessCode\"===L)&&u.usePkceWithAuthorizationCodeGrant){const o=function generateCodeVerifier(){return b64toB64UrlEncoded(xt()(32).toString(\"base64\"))}(),i=function createCodeChallenge(s){return b64toB64UrlEncoded(Ot()(\"sha256\").update(s).digest(\"base64\"))}(o);B.push(\"code_challenge=\"+i),B.push(\"code_challenge_method=S256\"),s.codeVerifier=o}let{additionalQueryStringParams:z}=u;for(let s in z)void 0!==z[s]&&B.push([s,z[s]].map(encodeURIComponent).join(\"=\"));const Y=w.get(\"authorizationUrl\");let Z;Z=_?Nt()(sanitizeUrl(Y),_,!0).toString():sanitizeUrl(Y);let ee,ie=[Z,B.join(\"&\")].join(\"string\"!=typeof Y||Y.includes(\"?\")?\"&\":\"?\");ee=\"implicit\"===L?o.preAuthorizeImplicit:u.useBasicAuthenticationWithAccessCodeGrant?o.authorizeAccessCodeWithBasicAuthentication:o.authorizeAccessCodeWithFormParams,o.authPopup(ie,{auth:s,state:V,redirectUrl:$,callback:ee,errCb:i.newAuthErr})}class Oauth2 extends Re.Component{constructor(s,o){super(s,o);let{name:i,schema:a,authorized:u,authSelectors:_}=this.props,w=u&&u.get(i),x=_.getConfigs()||{},C=w&&w.get(\"username\")||\"\",j=w&&w.get(\"clientId\")||x.clientId||\"\",L=w&&w.get(\"clientSecret\")||x.clientSecret||\"\",B=w&&w.get(\"passwordType\")||\"basic\",$=w&&w.get(\"scopes\")||x.scopes||[];\"string\"==typeof $&&($=$.split(x.scopeSeparator||\" \")),this.state={appName:x.appName,name:i,schema:a,scopes:$,clientId:j,clientSecret:L,username:C,password:\"\",passwordType:B}}close=s=>{s.preventDefault();let{authActions:o}=this.props;o.showDefinitions(!1)};authorize=()=>{let{authActions:s,errActions:o,getConfigs:i,authSelectors:a,oas3Selectors:u}=this.props,_=i(),w=a.getConfigs();o.clear({authId:name,type:\"auth\",source:\"auth\"}),oauth2_authorize_authorize({auth:this.state,currentServer:u.serverEffectiveValue(u.selectedServer()),authActions:s,errActions:o,configs:_,authConfigs:w})};onScopeChange=s=>{let{target:o}=s,{checked:i}=o,a=o.dataset.value;if(i&&-1===this.state.scopes.indexOf(a)){let s=this.state.scopes.concat([a]);this.setState({scopes:s})}else!i&&this.state.scopes.indexOf(a)>-1&&this.setState({scopes:this.state.scopes.filter((s=>s!==a))})};onInputChange=s=>{let{target:{dataset:{name:o},value:i}}=s,a={[o]:i};this.setState(a)};selectScopes=s=>{s.target.dataset.all?this.setState({scopes:Array.from((this.props.schema.get(\"allowedScopes\")||this.props.schema.get(\"scopes\")).keys())}):this.setState({scopes:[]})};logout=s=>{s.preventDefault();let{authActions:o,errActions:i,name:a}=this.props;i.clear({authId:a,type:\"auth\",source:\"auth\"}),o.logoutWithPersistOption([a])};render(){let{schema:s,getComponent:o,authSelectors:i,errSelectors:a,name:u,specSelectors:_}=this.props;const w=o(\"Input\"),x=o(\"Row\"),C=o(\"Col\"),j=o(\"Button\"),L=o(\"authError\"),B=o(\"JumpToPath\",!0),$=o(\"Markdown\",!0),U=o(\"InitializedInput\"),{isOAS3:V}=_;let z=V()?s.get(\"openIdConnectUrl\"):null;const Y=\"implicit\",Z=\"password\",ee=V()?z?\"authorization_code\":\"authorizationCode\":\"accessCode\",ie=V()?z?\"client_credentials\":\"clientCredentials\":\"application\",ae=i.selectAuthPath(u);let ce=!!(i.getConfigs()||{}).usePkceWithAuthorizationCodeGrant,le=s.get(\"flow\"),pe=le===ee&&ce?le+\" with PKCE\":le,de=s.get(\"allowedScopes\")||s.get(\"scopes\"),fe=!!i.authorized().get(u),ye=a.allErrors().filter((s=>s.get(\"authId\")===u)),be=!ye.filter((s=>\"validation\"===s.get(\"source\"))).size,_e=s.get(\"description\");return Re.createElement(\"div\",null,Re.createElement(\"h4\",null,u,\" (OAuth2, \",pe,\") \",Re.createElement(B,{path:ae})),this.state.appName?Re.createElement(\"h5\",null,\"Application: \",this.state.appName,\" \"):null,_e&&Re.createElement($,{source:s.get(\"description\")}),fe&&Re.createElement(\"h6\",null,\"Authorized\"),z&&Re.createElement(\"p\",null,\"OpenID Connect URL: \",Re.createElement(\"code\",null,z)),(le===Y||le===ee)&&Re.createElement(\"p\",null,\"Authorization URL: \",Re.createElement(\"code\",null,s.get(\"authorizationUrl\"))),(le===Z||le===ee||le===ie)&&Re.createElement(\"p\",null,\"Token URL:\",Re.createElement(\"code\",null,\" \",s.get(\"tokenUrl\"))),Re.createElement(\"p\",{className:\"flow\"},\"Flow: \",Re.createElement(\"code\",null,pe)),le!==Z?null:Re.createElement(x,null,Re.createElement(x,null,Re.createElement(\"label\",{htmlFor:\"oauth_username\"},\"username:\"),fe?Re.createElement(\"code\",null,\" \",this.state.username,\" \"):Re.createElement(C,{tablet:10,desktop:10},Re.createElement(\"input\",{id:\"oauth_username\",type:\"text\",\"data-name\":\"username\",onChange:this.onInputChange,autoFocus:!0}))),Re.createElement(x,null,Re.createElement(\"label\",{htmlFor:\"oauth_password\"},\"password:\"),fe?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(C,{tablet:10,desktop:10},Re.createElement(\"input\",{id:\"oauth_password\",type:\"password\",\"data-name\":\"password\",onChange:this.onInputChange}))),Re.createElement(x,null,Re.createElement(\"label\",{htmlFor:\"password_type\"},\"Client credentials location:\"),fe?Re.createElement(\"code\",null,\" \",this.state.passwordType,\" \"):Re.createElement(C,{tablet:10,desktop:10},Re.createElement(\"select\",{id:\"password_type\",\"data-name\":\"passwordType\",onChange:this.onInputChange},Re.createElement(\"option\",{value:\"basic\"},\"Authorization header\"),Re.createElement(\"option\",{value:\"request-body\"},\"Request body\"))))),(le===ie||le===Y||le===ee||le===Z)&&(!fe||fe&&this.state.clientId)&&Re.createElement(x,null,Re.createElement(\"label\",{htmlFor:`client_id_${le}`},\"client_id:\"),fe?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(C,{tablet:10,desktop:10},Re.createElement(U,{id:`client_id_${le}`,type:\"text\",required:le===Z,initialValue:this.state.clientId,\"data-name\":\"clientId\",onChange:this.onInputChange}))),(le===ie||le===ee||le===Z)&&Re.createElement(x,null,Re.createElement(\"label\",{htmlFor:`client_secret_${le}`},\"client_secret:\"),fe?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(C,{tablet:10,desktop:10},Re.createElement(U,{id:`client_secret_${le}`,initialValue:this.state.clientSecret,type:\"password\",\"data-name\":\"clientSecret\",onChange:this.onInputChange}))),!fe&&de&&de.size?Re.createElement(\"div\",{className:\"scopes\"},Re.createElement(\"h2\",null,\"Scopes:\",Re.createElement(\"a\",{onClick:this.selectScopes,\"data-all\":!0},\"select all\"),Re.createElement(\"a\",{onClick:this.selectScopes},\"select none\")),de.map(((s,o)=>Re.createElement(x,{key:o},Re.createElement(\"div\",{className:\"checkbox\"},Re.createElement(w,{\"data-value\":o,id:`${o}-${le}-checkbox-${this.state.name}`,disabled:fe,checked:this.state.scopes.includes(o),type:\"checkbox\",onChange:this.onScopeChange}),Re.createElement(\"label\",{htmlFor:`${o}-${le}-checkbox-${this.state.name}`},Re.createElement(\"span\",{className:\"item\"}),Re.createElement(\"div\",{className:\"text\"},Re.createElement(\"p\",{className:\"name\"},o),Re.createElement(\"p\",{className:\"description\"},s))))))).toArray()):null,ye.valueSeq().map(((s,o)=>Re.createElement(L,{error:s,key:o}))),Re.createElement(\"div\",{className:\"auth-btn-wrapper\"},be&&(fe?Re.createElement(j,{className:\"btn modal-btn auth authorize\",onClick:this.logout,\"aria-label\":\"Remove authorization\"},\"Logout\"):Re.createElement(j,{className:\"btn modal-btn auth authorize\",onClick:this.authorize,\"aria-label\":\"Apply given OAuth2 credentials\"},\"Authorize\")),Re.createElement(j,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\")))}}class Clear extends Re.Component{onClick=()=>{let{specActions:s,path:o,method:i}=this.props;s.clearResponse(o,i),s.clearRequest(o,i)};render(){return Re.createElement(\"button\",{className:\"btn btn-clear opblock-control__btn\",onClick:this.onClick},\"Clear\")}}const live_response_Headers=({headers:s})=>Re.createElement(\"div\",null,Re.createElement(\"h5\",null,\"Response headers\"),Re.createElement(\"pre\",{className:\"microlight\"},s)),Duration=({duration:s})=>Re.createElement(\"div\",null,Re.createElement(\"h5\",null,\"Request duration\"),Re.createElement(\"pre\",{className:\"microlight\"},s,\" ms\"));class LiveResponse extends Re.Component{shouldComponentUpdate(s){return this.props.response!==s.response||this.props.path!==s.path||this.props.method!==s.method||this.props.displayRequestDuration!==s.displayRequestDuration}render(){const{response:s,getComponent:o,getConfigs:i,displayRequestDuration:a,specSelectors:u,path:_,method:w}=this.props,{showMutatedRequest:x,requestSnippetsEnabled:C}=i(),j=x?u.mutatedRequestFor(_,w):u.requestFor(_,w),L=s.get(\"status\"),B=j.get(\"url\"),$=s.get(\"headers\").toJS(),U=s.get(\"notDocumented\"),V=s.get(\"error\"),z=s.get(\"text\"),Y=s.get(\"duration\"),Z=Object.keys($),ee=$[\"content-type\"]||$[\"Content-Type\"],ie=o(\"responseBody\"),ae=Z.map((s=>{var o=Array.isArray($[s])?$[s].join():$[s];return Re.createElement(\"span\",{className:\"headerline\",key:s},\" \",s,\": \",o,\" \")})),ce=0!==ae.length,le=o(\"Markdown\",!0),pe=o(\"RequestSnippets\",!0),de=o(\"curl\",!0);return Re.createElement(\"div\",null,j&&C?Re.createElement(pe,{request:j}):Re.createElement(de,{request:j}),B&&Re.createElement(\"div\",null,Re.createElement(\"div\",{className:\"request-url\"},Re.createElement(\"h4\",null,\"Request URL\"),Re.createElement(\"pre\",{className:\"microlight\"},B))),Re.createElement(\"h4\",null,\"Server response\"),Re.createElement(\"table\",{className:\"responses-table live-responses-table\"},Re.createElement(\"thead\",null,Re.createElement(\"tr\",{className:\"responses-header\"},Re.createElement(\"td\",{className:\"col_header response-col_status\"},\"Code\"),Re.createElement(\"td\",{className:\"col_header response-col_description\"},\"Details\"))),Re.createElement(\"tbody\",null,Re.createElement(\"tr\",{className:\"response\"},Re.createElement(\"td\",{className:\"response-col_status\"},L,U?Re.createElement(\"div\",{className:\"response-undocumented\"},Re.createElement(\"i\",null,\" Undocumented \")):null),Re.createElement(\"td\",{className:\"response-col_description\"},V?Re.createElement(le,{source:`${\"\"!==s.get(\"name\")?`${s.get(\"name\")}: `:\"\"}${s.get(\"message\")}`}):null,z?Re.createElement(ie,{content:z,contentType:ee,url:B,headers:$,getConfigs:i,getComponent:o}):null,ce?Re.createElement(live_response_Headers,{headers:ae}):null,a&&Y?Re.createElement(Duration,{duration:Y}):null)))))}}class OnlineValidatorBadge extends Re.Component{constructor(s,o){super(s,o);let{getConfigs:i}=s,{validatorUrl:a}=i();this.state={url:this.getDefinitionUrl(),validatorUrl:void 0===a?\"https://validator.swagger.io/validator\":a}}getDefinitionUrl=()=>{let{specSelectors:s}=this.props;return new(Nt())(s.url(),lt.location).toString()};UNSAFE_componentWillReceiveProps(s){let{getConfigs:o}=s,{validatorUrl:i}=o();this.setState({url:this.getDefinitionUrl(),validatorUrl:void 0===i?\"https://validator.swagger.io/validator\":i})}render(){let{getConfigs:s}=this.props,{spec:o}=s(),i=sanitizeUrl(this.state.validatorUrl);return\"object\"==typeof o&&Object.keys(o).length?null:this.state.url&&requiresValidationURL(this.state.validatorUrl)&&requiresValidationURL(this.state.url)?Re.createElement(\"span\",{className:\"float-right\"},Re.createElement(\"a\",{target:\"_blank\",rel:\"noopener noreferrer\",href:`${i}/debug?url=${encodeURIComponent(this.state.url)}`},Re.createElement(ValidatorImage,{src:`${i}?url=${encodeURIComponent(this.state.url)}`,alt:\"Online validator badge\"}))):null}}class ValidatorImage extends Re.Component{constructor(s){super(s),this.state={loaded:!1,error:!1}}componentDidMount(){const s=new Image;s.onload=()=>{this.setState({loaded:!0})},s.onerror=()=>{this.setState({error:!0})},s.src=this.props.src}UNSAFE_componentWillReceiveProps(s){if(s.src!==this.props.src){const o=new Image;o.onload=()=>{this.setState({loaded:!0})},o.onerror=()=>{this.setState({error:!0})},o.src=s.src}}render(){return this.state.error?Re.createElement(\"img\",{alt:\"Error\"}):this.state.loaded?Re.createElement(\"img\",{src:this.props.src,alt:this.props.alt}):null}}class Operations extends Re.Component{render(){let{specSelectors:s}=this.props;const o=s.taggedOperations();return 0===o.size?Re.createElement(\"h3\",null,\" No operations defined in spec!\"):Re.createElement(\"div\",null,o.map(this.renderOperationTag).toArray(),o.size<1?Re.createElement(\"h3\",null,\" No operations defined in spec! \"):null)}renderOperationTag=(s,o)=>{const{specSelectors:i,getComponent:a,oas3Selectors:u,layoutSelectors:_,layoutActions:w,getConfigs:x}=this.props,C=i.validOperationMethods(),j=a(\"OperationContainer\",!0),L=a(\"OperationTag\"),B=s.get(\"operations\");return Re.createElement(L,{key:\"operation-\"+o,tagObj:s,tag:o,oas3Selectors:u,layoutSelectors:_,layoutActions:w,getConfigs:x,getComponent:a,specUrl:i.url()},Re.createElement(\"div\",{className:\"operation-tag-content\"},B.map((s=>{const i=s.get(\"path\"),a=s.get(\"method\"),u=We().List([\"paths\",i,a]);return-1===C.indexOf(a)?null:Re.createElement(j,{key:`${i}-${a}`,specPath:u,op:s,path:i,method:a,tag:o})})).toArray()))}}class OperationTag extends Re.Component{static defaultProps={tagObj:We().fromJS({}),tag:\"\"};render(){const{tagObj:s,tag:o,children:i,oas3Selectors:a,layoutSelectors:u,layoutActions:_,getConfigs:w,getComponent:x,specUrl:C}=this.props;let{docExpansion:j,deepLinking:L}=w();const B=x(\"Collapse\"),$=x(\"Markdown\",!0),U=x(\"DeepLink\"),V=x(\"Link\"),z=x(\"ArrowUpIcon\"),Y=x(\"ArrowDownIcon\");let Z,ee=s.getIn([\"tagDetails\",\"description\"],null),ie=s.getIn([\"tagDetails\",\"externalDocs\",\"description\"]),ae=s.getIn([\"tagDetails\",\"externalDocs\",\"url\"]);Z=isFunc(a)&&isFunc(a.selectedServer)?safeBuildUrl(ae,C,{selectedServer:a.selectedServer()}):ae;let ce=[\"operations-tag\",o],le=u.isShown(ce,\"full\"===j||\"list\"===j);return Re.createElement(\"div\",{className:le?\"opblock-tag-section is-open\":\"opblock-tag-section\"},Re.createElement(\"h3\",{onClick:()=>_.show(ce,!le),className:ee?\"opblock-tag\":\"opblock-tag no-desc\",id:ce.map((s=>escapeDeepLinkPath(s))).join(\"-\"),\"data-tag\":o,\"data-is-open\":le},Re.createElement(U,{enabled:L,isShown:le,path:createDeepLinkPath(o),text:o}),ee?Re.createElement(\"small\",null,Re.createElement($,{source:ee})):Re.createElement(\"small\",null),Z?Re.createElement(\"div\",{className:\"info__externaldocs\"},Re.createElement(\"small\",null,Re.createElement(V,{href:sanitizeUrl(Z),onClick:s=>s.stopPropagation(),target:\"_blank\"},ie||Z))):null,Re.createElement(\"button\",{\"aria-expanded\":le,className:\"expand-operation\",title:le?\"Collapse operation\":\"Expand operation\",onClick:()=>_.show(ce,!le)},le?Re.createElement(z,{className:\"arrow\"}):Re.createElement(Y,{className:\"arrow\"}))),Re.createElement(B,{isOpened:le},i))}}class operation_Operation extends Re.PureComponent{static defaultProps={operation:null,response:null,request:null,specPath:(0,ze.List)(),summary:\"\"};render(){let{specPath:s,response:o,request:i,toggleShown:a,onTryoutClick:u,onResetClick:_,onCancelClick:w,onExecute:x,fn:C,getComponent:j,getConfigs:L,specActions:B,specSelectors:$,authActions:U,authSelectors:V,oas3Actions:z,oas3Selectors:Y}=this.props,Z=this.props.operation,{deprecated:ee,isShown:ie,path:ae,method:ce,op:le,tag:pe,operationId:de,allowTryItOut:fe,displayRequestDuration:ye,tryItOutEnabled:be,executeInProgress:_e}=Z.toJS(),{description:Se,externalDocs:we,schemes:xe}=le;const Pe=we?safeBuildUrl(we.url,$.url(),{selectedServer:Y.selectedServer()}):\"\";let Te=Z.getIn([\"op\"]),$e=Te.get(\"responses\"),qe=function getList(s,o){if(!We().Iterable.isIterable(s))return We().List();let i=s.getIn(Array.isArray(o)?o:[o]);return We().List.isList(i)?i:We().List()}(Te,[\"parameters\"]),ze=$.operationScheme(ae,ce),He=[\"operations\",pe,de],Ye=getExtensions(Te);const Xe=j(\"responses\"),Qe=j(\"parameters\"),et=j(\"execute\"),tt=j(\"clear\"),rt=j(\"Collapse\"),nt=j(\"Markdown\",!0),st=j(\"schemes\"),ot=j(\"OperationServers\"),it=j(\"OperationExt\"),at=j(\"OperationSummary\"),ct=j(\"Link\"),{showExtensions:lt}=L();if($e&&o&&o.size>0){let s=!$e.get(String(o.get(\"status\")))&&!$e.get(\"default\");o=o.set(\"notDocumented\",s)}let ut=[ae,ce];const pt=$.validationErrors([ae,ce]);return Re.createElement(\"div\",{className:ee?\"opblock opblock-deprecated\":ie?`opblock opblock-${ce} is-open`:`opblock opblock-${ce}`,id:escapeDeepLinkPath(He.join(\"-\"))},Re.createElement(at,{operationProps:Z,isShown:ie,toggleShown:a,getComponent:j,authActions:U,authSelectors:V,specPath:s}),Re.createElement(rt,{isOpened:ie},Re.createElement(\"div\",{className:\"opblock-body\"},Te&&Te.size||null===Te?null:Re.createElement(rolling_load,{height:\"32px\",width:\"32px\",className:\"opblock-loading-animation\"}),ee&&Re.createElement(\"h4\",{className:\"opblock-title_normal\"},\" Warning: Deprecated\"),Se&&Re.createElement(\"div\",{className:\"opblock-description-wrapper\"},Re.createElement(\"div\",{className:\"opblock-description\"},Re.createElement(nt,{source:Se}))),Pe?Re.createElement(\"div\",{className:\"opblock-external-docs-wrapper\"},Re.createElement(\"h4\",{className:\"opblock-title_normal\"},\"Find more details\"),Re.createElement(\"div\",{className:\"opblock-external-docs\"},we.description&&Re.createElement(\"span\",{className:\"opblock-external-docs__description\"},Re.createElement(nt,{source:we.description})),Re.createElement(ct,{target:\"_blank\",className:\"opblock-external-docs__link\",href:sanitizeUrl(Pe)},Pe))):null,Te&&Te.size?Re.createElement(Qe,{parameters:qe,specPath:s.push(\"parameters\"),operation:Te,onChangeKey:ut,onTryoutClick:u,onResetClick:_,onCancelClick:w,tryItOutEnabled:be,allowTryItOut:fe,fn:C,getComponent:j,specActions:B,specSelectors:$,pathMethod:[ae,ce],getConfigs:L,oas3Actions:z,oas3Selectors:Y}):null,be?Re.createElement(ot,{getComponent:j,path:ae,method:ce,operationServers:Te.get(\"servers\"),pathServers:$.paths().getIn([ae,\"servers\"]),getSelectedServer:Y.selectedServer,setSelectedServer:z.setSelectedServer,setServerVariableValue:z.setServerVariableValue,getServerVariable:Y.serverVariableValue,getEffectiveServerValue:Y.serverEffectiveValue}):null,be&&fe&&xe&&xe.size?Re.createElement(\"div\",{className:\"opblock-schemes\"},Re.createElement(st,{schemes:xe,path:ae,method:ce,specActions:B,currentScheme:ze})):null,!be||!fe||pt.length<=0?null:Re.createElement(\"div\",{className:\"validation-errors errors-wrapper\"},\"Please correct the following validation errors and try again.\",Re.createElement(\"ul\",null,pt.map(((s,o)=>Re.createElement(\"li\",{key:o},\" \",s,\" \"))))),Re.createElement(\"div\",{className:be&&o&&fe?\"btn-group\":\"execute-wrapper\"},be&&fe?Re.createElement(et,{operation:Te,specActions:B,specSelectors:$,oas3Selectors:Y,oas3Actions:z,path:ae,method:ce,onExecute:x,disabled:_e}):null,be&&o&&fe?Re.createElement(tt,{specActions:B,path:ae,method:ce}):null),_e?Re.createElement(\"div\",{className:\"loading-container\"},Re.createElement(\"div\",{className:\"loading\"})):null,$e?Re.createElement(Xe,{responses:$e,request:i,tryItOutResponse:o,getComponent:j,getConfigs:L,specSelectors:$,oas3Actions:z,oas3Selectors:Y,specActions:B,produces:$.producesOptionsFor([ae,ce]),producesValue:$.currentProducesFor([ae,ce]),specPath:s.push(\"responses\"),path:ae,method:ce,displayRequestDuration:ye,fn:C}):null,lt&&Ye.size?Re.createElement(it,{extensions:Ye,getComponent:j}):null)))}}class OperationContainer extends Re.PureComponent{constructor(s,o){super(s,o);const{tryItOutEnabled:i}=s.getConfigs();this.state={tryItOutEnabled:i,executeInProgress:!1}}static defaultProps={showSummary:!0,response:null,allowTryItOut:!0,displayOperationId:!1,displayRequestDuration:!1};mapStateToProps(s,o){const{op:i,layoutSelectors:a,getConfigs:u}=o,{docExpansion:_,deepLinking:w,displayOperationId:x,displayRequestDuration:C,supportedSubmitMethods:j}=u(),L=a.showSummary(),B=i.getIn([\"operation\",\"__originalOperationId\"])||i.getIn([\"operation\",\"operationId\"])||opId(i.get(\"operation\"),o.path,o.method)||i.get(\"id\"),$=[\"operations\",o.tag,B],U=j.indexOf(o.method)>=0&&(void 0===o.allowTryItOut?o.specSelectors.allowTryItOutFor(o.path,o.method):o.allowTryItOut),V=i.getIn([\"operation\",\"security\"])||o.specSelectors.security();return{operationId:B,isDeepLinkingEnabled:w,showSummary:L,displayOperationId:x,displayRequestDuration:C,allowTryItOut:U,security:V,isAuthorized:o.authSelectors.isAuthorized(V),isShown:a.isShown($,\"full\"===_),jumpToKey:`paths.${o.path}.${o.method}`,response:o.specSelectors.responseFor(o.path,o.method),request:o.specSelectors.requestFor(o.path,o.method)}}componentDidMount(){const{isShown:s}=this.props,o=this.getResolvedSubtree();s&&void 0===o&&this.requestResolvedSubtree()}componentDidUpdate(s){const{response:o,isShown:i}=this.props,a=this.getResolvedSubtree();o!==s.response&&this.setState({executeInProgress:!1}),i&&void 0===a&&!s.isShown&&this.requestResolvedSubtree()}toggleShown=()=>{let{layoutActions:s,tag:o,operationId:i,isShown:a}=this.props;const u=this.getResolvedSubtree();a||void 0!==u||this.requestResolvedSubtree(),s.show([\"operations\",o,i],!a)};onCancelClick=()=>{this.setState({tryItOutEnabled:!this.state.tryItOutEnabled})};onTryoutClick=()=>{this.setState({tryItOutEnabled:!this.state.tryItOutEnabled})};onResetClick=s=>{const o=this.props.oas3Selectors.selectDefaultRequestBodyValue(...s),i=this.props.oas3Selectors.requestContentType(...s);if(\"application/x-www-form-urlencoded\"===i||\"multipart/form-data\"===i){const i=JSON.parse(o);Object.entries(i).forEach((([s,o])=>{Array.isArray(o)?i[s]=i[s].map((s=>\"object\"==typeof s?JSON.stringify(s,null,2):s)):\"object\"==typeof o&&(i[s]=JSON.stringify(i[s],null,2))})),this.props.oas3Actions.setRequestBodyValue({value:(0,ze.fromJS)(i),pathMethod:s})}else this.props.oas3Actions.setRequestBodyValue({value:o,pathMethod:s})};onExecute=()=>{this.setState({executeInProgress:!0})};getResolvedSubtree=()=>{const{specSelectors:s,path:o,method:i,specPath:a}=this.props;return a?s.specResolvedSubtree(a.toJS()):s.specResolvedSubtree([\"paths\",o,i])};requestResolvedSubtree=()=>{const{specActions:s,path:o,method:i,specPath:a}=this.props;return a?s.requestResolvedSubtree(a.toJS()):s.requestResolvedSubtree([\"paths\",o,i])};render(){let{op:s,tag:o,path:i,method:a,security:u,isAuthorized:_,operationId:w,showSummary:x,isShown:C,jumpToKey:j,allowTryItOut:L,response:B,request:$,displayOperationId:U,displayRequestDuration:V,isDeepLinkingEnabled:z,specPath:Y,specSelectors:Z,specActions:ee,getComponent:ie,getConfigs:ae,layoutSelectors:ce,layoutActions:le,authActions:pe,authSelectors:de,oas3Actions:fe,oas3Selectors:ye,fn:be}=this.props;const _e=ie(\"operation\"),Se=this.getResolvedSubtree()||(0,ze.Map)(),we=(0,ze.fromJS)({op:Se,tag:o,path:i,summary:s.getIn([\"operation\",\"summary\"])||\"\",deprecated:Se.get(\"deprecated\")||s.getIn([\"operation\",\"deprecated\"])||!1,method:a,security:u,isAuthorized:_,operationId:w,originalOperationId:Se.getIn([\"operation\",\"__originalOperationId\"]),showSummary:x,isShown:C,jumpToKey:j,allowTryItOut:L,request:$,displayOperationId:U,displayRequestDuration:V,isDeepLinkingEnabled:z,executeInProgress:this.state.executeInProgress,tryItOutEnabled:this.state.tryItOutEnabled});return Re.createElement(_e,{operation:we,response:B,request:$,isShown:C,toggleShown:this.toggleShown,onTryoutClick:this.onTryoutClick,onResetClick:this.onResetClick,onCancelClick:this.onCancelClick,onExecute:this.onExecute,specPath:Y,specActions:ee,specSelectors:Z,oas3Actions:fe,oas3Selectors:ye,layoutActions:le,layoutSelectors:ce,authActions:pe,authSelectors:de,getComponent:ie,getConfigs:ae,fn:be})}}var HO=__webpack_require__(13222),KO=__webpack_require__.n(HO);class OperationSummary extends Re.PureComponent{static defaultProps={operationProps:null,specPath:(0,ze.List)(),summary:\"\"};render(){let{isShown:s,toggleShown:o,getComponent:i,authActions:a,authSelectors:u,operationProps:_,specPath:w}=this.props,{summary:x,isAuthorized:C,method:j,op:L,showSummary:B,path:$,operationId:U,originalOperationId:V,displayOperationId:z}=_.toJS(),{summary:Y}=L,Z=_.get(\"security\");const ee=i(\"authorizeOperationBtn\",!0),ie=i(\"OperationSummaryMethod\"),ae=i(\"OperationSummaryPath\"),ce=i(\"JumpToPath\",!0),le=i(\"CopyToClipboardBtn\",!0),pe=i(\"ArrowUpIcon\"),de=i(\"ArrowDownIcon\"),fe=Z&&!!Z.count(),ye=fe&&1===Z.size&&Z.first().isEmpty(),be=!fe||ye;return Re.createElement(\"div\",{className:`opblock-summary opblock-summary-${j}`},Re.createElement(\"button\",{\"aria-expanded\":s,className:\"opblock-summary-control\",onClick:o},Re.createElement(ie,{method:j}),Re.createElement(\"div\",{className:\"opblock-summary-path-description-wrapper\"},Re.createElement(ae,{getComponent:i,operationProps:_,specPath:w}),B?Re.createElement(\"div\",{className:\"opblock-summary-description\"},KO()(Y||x)):null),z&&(V||U)?Re.createElement(\"span\",{className:\"opblock-summary-operation-id\"},V||U):null),Re.createElement(le,{textToCopy:`${w.get(1)}`}),be?null:Re.createElement(ee,{isAuthorized:C,onClick:()=>{const s=u.definitionsForRequirements(Z);a.showDefinitions(s)}}),Re.createElement(ce,{path:w}),Re.createElement(\"button\",{\"aria-label\":`${j} ${$.replace(/\\//g,\"​/\")}`,className:\"opblock-control-arrow\",\"aria-expanded\":s,tabIndex:\"-1\",onClick:o},s?Re.createElement(pe,{className:\"arrow\"}):Re.createElement(de,{className:\"arrow\"})))}}class OperationSummaryMethod extends Re.PureComponent{static defaultProps={operationProps:null};render(){let{method:s}=this.props;return Re.createElement(\"span\",{className:\"opblock-summary-method\"},s.toUpperCase())}}class OperationSummaryPath extends Re.PureComponent{render(){let{getComponent:s,operationProps:o}=this.props,{deprecated:i,isShown:a,path:u,tag:_,operationId:w,isDeepLinkingEnabled:x}=o.toJS();const C=u.split(/(?=\\/)/g);for(let s=1;s<C.length;s+=2)C.splice(s,0,Re.createElement(\"wbr\",{key:s}));const j=s(\"DeepLink\");return Re.createElement(\"span\",{className:i?\"opblock-summary-path__deprecated\":\"opblock-summary-path\",\"data-path\":u},Re.createElement(j,{enabled:x,isShown:a,path:createDeepLinkPath(`${_}/${w}`),text:C}))}}const operation_extensions=({extensions:s,getComponent:o})=>{let i=o(\"OperationExtRow\");return Re.createElement(\"div\",{className:\"opblock-section\"},Re.createElement(\"div\",{className:\"opblock-section-header\"},Re.createElement(\"h4\",null,\"Extensions\")),Re.createElement(\"div\",{className:\"table-container\"},Re.createElement(\"table\",null,Re.createElement(\"thead\",null,Re.createElement(\"tr\",null,Re.createElement(\"td\",{className:\"col_header\"},\"Field\"),Re.createElement(\"td\",{className:\"col_header\"},\"Value\"))),Re.createElement(\"tbody\",null,s.entrySeq().map((([s,o])=>Re.createElement(i,{key:`${s}-${o}`,xKey:s,xVal:o})))))))},operation_extension_row=({xKey:s,xVal:o})=>{const i=o?o.toJS?o.toJS():o:null;return Re.createElement(\"tr\",null,Re.createElement(\"td\",null,s),Re.createElement(\"td\",null,JSON.stringify(i)))};function createHtmlReadyId(s,o=\"_\"){return s.replace(/[^\\w-]/g,o)}class responses_Responses extends Re.Component{static defaultProps={tryItOutResponse:null,produces:(0,ze.fromJS)([\"application/json\"]),displayRequestDuration:!1};onChangeProducesWrapper=s=>this.props.specActions.changeProducesValue([this.props.path,this.props.method],s);onResponseContentTypeChange=({controlsAcceptHeader:s,value:o})=>{const{oas3Actions:i,path:a,method:u}=this.props;s&&i.setResponseContentType({value:o,path:a,method:u})};render(){let{responses:s,tryItOutResponse:o,getComponent:i,getConfigs:a,specSelectors:u,fn:_,producesValue:w,displayRequestDuration:x,specPath:C,path:j,method:L,oas3Selectors:B,oas3Actions:$}=this.props,U=function defaultStatusCode(s){let o=s.keySeq();return o.contains(jt)?jt:o.filter((s=>\"2\"===(s+\"\")[0])).sort().first()}(s);const V=i(\"contentType\"),z=i(\"liveResponse\"),Y=i(\"response\");let Z=this.props.produces&&this.props.produces.size?this.props.produces:responses_Responses.defaultProps.produces;const ee=u.isOAS3()?function getAcceptControllingResponse(s){if(!We().OrderedMap.isOrderedMap(s))return null;if(!s.size)return null;const o=s.find(((s,o)=>o.startsWith(\"2\")&&Object.keys(s.get(\"content\")||{}).length>0)),i=s.get(\"default\")||We().OrderedMap(),a=(i.get(\"content\")||We().OrderedMap()).keySeq().toJS().length?i:null;return o||a}(s):null,ie=s.filter(((s,o)=>!isExtension(o))),ae=createHtmlReadyId(`${L}${j}_responses`),ce=`${ae}_select`;return ie&&ie.size?Re.createElement(\"div\",{className:\"responses-wrapper\"},Re.createElement(\"div\",{className:\"opblock-section-header\"},Re.createElement(\"h4\",null,\"Responses\"),u.isOAS3()?null:Re.createElement(\"label\",{htmlFor:ce},Re.createElement(\"span\",null,\"Response content type\"),Re.createElement(V,{value:w,ariaControls:ae,ariaLabel:\"Response content type\",className:\"execute-content-type\",contentTypes:Z,controlId:ce,onChange:this.onChangeProducesWrapper}))),Re.createElement(\"div\",{className:\"responses-inner\"},o?Re.createElement(\"div\",null,Re.createElement(z,{response:o,getComponent:i,getConfigs:a,specSelectors:u,path:this.props.path,method:this.props.method,displayRequestDuration:x}),Re.createElement(\"h4\",null,\"Responses\")):null,Re.createElement(\"table\",{\"aria-live\":\"polite\",className:\"responses-table\",id:ae,role:\"region\"},Re.createElement(\"thead\",null,Re.createElement(\"tr\",{className:\"responses-header\"},Re.createElement(\"td\",{className:\"col_header response-col_status\"},\"Code\"),Re.createElement(\"td\",{className:\"col_header response-col_description\"},\"Description\"),u.isOAS3()?Re.createElement(\"td\",{className:\"col col_header response-col_links\"},\"Links\"):null)),Re.createElement(\"tbody\",null,ie.entrySeq().map((([s,x])=>{let V=o&&o.get(\"status\")==s?\"response_current\":\"\";return Re.createElement(Y,{key:s,path:j,method:L,specPath:C.push(s),isDefault:U===s,fn:_,className:V,code:s,response:x,specSelectors:u,controlsAcceptHeader:x===ee,onContentTypeChange:this.onResponseContentTypeChange,contentType:w,getConfigs:a,activeExamplesKey:B.activeExamplesMember(j,L,\"responses\",s),oas3Actions:$,getComponent:i})})).toArray())))):null}}function getKnownSyntaxHighlighterLanguage(s){const o=function canJsonParse(s){try{return!!JSON.parse(s)}catch(s){return null}}(s);return o?\"json\":null}class response_Response extends Re.Component{constructor(s,o){super(s,o),this.state={responseContentType:\"\"}}static defaultProps={response:(0,ze.fromJS)({}),onContentTypeChange:()=>{}};_onContentTypeChange=s=>{const{onContentTypeChange:o,controlsAcceptHeader:i}=this.props;this.setState({responseContentType:s}),o({value:s,controlsAcceptHeader:i})};getTargetExamplesKey=()=>{const{response:s,contentType:o,activeExamplesKey:i}=this.props,a=this.state.responseContentType||o,u=s.getIn([\"content\",a],(0,ze.Map)({})).get(\"examples\",null).keySeq().first();return i||u};render(){let{path:s,method:o,code:i,response:a,className:u,specPath:_,fn:w,getComponent:x,getConfigs:C,specSelectors:j,contentType:L,controlsAcceptHeader:B,oas3Actions:$}=this.props,{inferSchema:U,getSampleSchema:V}=w,z=j.isOAS3();const{showExtensions:Y}=C();let Z=Y?getExtensions(a):null,ee=a.get(\"headers\"),ie=a.get(\"links\");const ae=x(\"ResponseExtension\"),ce=x(\"headers\"),le=x(\"HighlightCode\",!0),pe=x(\"modelExample\"),de=x(\"Markdown\",!0),fe=x(\"operationLink\"),ye=x(\"contentType\"),be=x(\"ExamplesSelect\"),_e=x(\"Example\");var Se,we;const xe=this.state.responseContentType||L,Pe=a.getIn([\"content\",xe],(0,ze.Map)({})),Te=Pe.get(\"examples\",null);if(z){const s=Pe.get(\"schema\");Se=s?U(s.toJS()):null,we=s?_.push(\"content\",this.state.responseContentType,\"schema\"):_}else Se=a.get(\"schema\"),we=a.has(\"schema\")?_.push(\"schema\"):_;let $e,qe,We=!1,He={includeReadOnly:!0};if(z)if(qe=Pe.get(\"schema\")?.toJS(),ze.Map.isMap(Te)&&!Te.isEmpty()){const s=this.getTargetExamplesKey(),getMediaTypeExample=s=>ze.Map.isMap(s)?s.get(\"value\"):void 0;$e=getMediaTypeExample(Te.get(s,(0,ze.Map)({}))),void 0===$e&&($e=getMediaTypeExample(Te.values().next().value)),We=!0}else void 0!==Pe.get(\"example\")&&($e=Pe.get(\"example\"),We=!0);else{qe=Se,He={...He,includeWriteOnly:!0};const s=a.getIn([\"examples\",xe]);s&&($e=s,We=!0)}const Ye=((s,o)=>{if(null==s)return null;const i=getKnownSyntaxHighlighterLanguage(s)?\"json\":null;return Re.createElement(\"div\",null,Re.createElement(o,{className:\"example\",language:i},stringify(s)))})(V(qe,xe,He,We?$e:void 0),le);return Re.createElement(\"tr\",{className:\"response \"+(u||\"\"),\"data-code\":i},Re.createElement(\"td\",{className:\"response-col_status\"},i),Re.createElement(\"td\",{className:\"response-col_description\"},Re.createElement(\"div\",{className:\"response-col_description__inner\"},Re.createElement(de,{source:a.get(\"description\")})),Y&&Z.size?Z.entrySeq().map((([s,o])=>Re.createElement(ae,{key:`${s}-${o}`,xKey:s,xVal:o}))):null,z&&a.get(\"content\")?Re.createElement(\"section\",{className:\"response-controls\"},Re.createElement(\"div\",{className:Jn()(\"response-control-media-type\",{\"response-control-media-type--accept-controller\":B})},Re.createElement(\"small\",{className:\"response-control-media-type__title\"},\"Media type\"),Re.createElement(ye,{value:this.state.responseContentType,contentTypes:a.get(\"content\")?a.get(\"content\").keySeq():(0,ze.Seq)(),onChange:this._onContentTypeChange,ariaLabel:\"Media Type\"}),B?Re.createElement(\"small\",{className:\"response-control-media-type__accept-message\"},\"Controls \",Re.createElement(\"code\",null,\"Accept\"),\" header.\"):null),ze.Map.isMap(Te)&&!Te.isEmpty()?Re.createElement(\"div\",{className:\"response-control-examples\"},Re.createElement(\"small\",{className:\"response-control-examples__title\"},\"Examples\"),Re.createElement(be,{examples:Te,currentExampleKey:this.getTargetExamplesKey(),onSelect:a=>$.setActiveExamplesMember({name:a,pathMethod:[s,o],contextType:\"responses\",contextName:i}),showLabels:!1})):null):null,Ye||Se?Re.createElement(pe,{specPath:we,getComponent:x,getConfigs:C,specSelectors:j,schema:fromJSOrdered(Se),example:Ye,includeReadOnly:!0}):null,z&&Te?Re.createElement(_e,{example:Te.get(this.getTargetExamplesKey(),(0,ze.Map)({})),getComponent:x,getConfigs:C,omitValue:!0}):null,ee?Re.createElement(ce,{headers:ee,getComponent:x}):null),z?Re.createElement(\"td\",{className:\"response-col_links\"},ie?ie.toSeq().entrySeq().map((([s,o])=>Re.createElement(fe,{key:s,name:s,link:o,getComponent:x}))):Re.createElement(\"i\",null,\"No links\")):null)}}const response_extension=({xKey:s,xVal:o})=>Re.createElement(\"div\",{className:\"response__extension\"},s,\": \",String(o));var GO=__webpack_require__(26657),YO=__webpack_require__.n(GO),XO=__webpack_require__(80218),QO=__webpack_require__.n(XO);class ResponseBody extends Re.PureComponent{state={parsedContent:null};updateParsedContent=s=>{const{content:o}=this.props;if(s!==o)if(o&&o instanceof Blob){var i=new FileReader;i.onload=()=>{this.setState({parsedContent:i.result})},i.readAsText(o)}else this.setState({parsedContent:o.toString()})};componentDidMount(){this.updateParsedContent(null)}componentDidUpdate(s){this.updateParsedContent(s.content)}render(){let{content:s,contentType:o,url:i,headers:a={},getComponent:u}=this.props;const{parsedContent:_}=this.state,w=u(\"HighlightCode\",!0),x=\"response_\"+(new Date).getTime();let C,j;if(i=i||\"\",(/^application\\/octet-stream/i.test(o)||a[\"Content-Disposition\"]&&/attachment/i.test(a[\"Content-Disposition\"])||a[\"content-disposition\"]&&/attachment/i.test(a[\"content-disposition\"])||a[\"Content-Description\"]&&/File Transfer/i.test(a[\"Content-Description\"])||a[\"content-description\"]&&/File Transfer/i.test(a[\"content-description\"]))&&(s.size>0||s.length>0))if(\"Blob\"in window){let u=o||\"text/html\",_=s instanceof Blob?s:new Blob([s],{type:u}),w=window.URL.createObjectURL(_),x=[u,i.substr(i.lastIndexOf(\"/\")+1),w].join(\":\"),C=a[\"content-disposition\"]||a[\"Content-Disposition\"];if(void 0!==C){let s=function extractFileNameFromContentDispositionHeader(s){let o;if([/filename\\*=[^']+'\\w*'\"([^\"]+)\";?/i,/filename\\*=[^']+'\\w*'([^;]+);?/i,/filename=\"([^;]*);?\"/i,/filename=([^;]*);?/i].some((i=>(o=i.exec(s),null!==o))),null!==o&&o.length>1)try{return decodeURIComponent(o[1])}catch(s){console.error(s)}return null}(C);null!==s&&(x=s)}j=lt.navigator&&lt.navigator.msSaveOrOpenBlob?Re.createElement(\"div\",null,Re.createElement(\"a\",{href:w,onClick:()=>lt.navigator.msSaveOrOpenBlob(_,x)},\"Download file\")):Re.createElement(\"div\",null,Re.createElement(\"a\",{href:w,download:x},\"Download file\"))}else j=Re.createElement(\"pre\",{className:\"microlight\"},\"Download headers detected but your browser does not support downloading binary via XHR (Blob).\");else if(/json/i.test(o)){let o=null;getKnownSyntaxHighlighterLanguage(s)&&(o=\"json\");try{C=JSON.stringify(JSON.parse(s),null,\"  \")}catch(o){C=\"can't parse JSON.  Raw result:\\n\\n\"+s}j=Re.createElement(w,{language:o,downloadable:!0,fileName:`${x}.json`,canCopy:!0},C)}else/xml/i.test(o)?(C=YO()(s,{textNodesOnSameLine:!0,indentor:\"  \"}),j=Re.createElement(w,{downloadable:!0,fileName:`${x}.xml`,canCopy:!0},C)):j=\"text/html\"===QO()(o)||/text\\/plain/.test(o)?Re.createElement(w,{downloadable:!0,fileName:`${x}.html`,canCopy:!0},s):\"text/csv\"===QO()(o)||/text\\/csv/.test(o)?Re.createElement(w,{downloadable:!0,fileName:`${x}.csv`,canCopy:!0},s):/^image\\//i.test(o)?o.includes(\"svg\")?Re.createElement(\"div\",null,\" \",s,\" \"):Re.createElement(\"img\",{src:window.URL.createObjectURL(s)}):/^audio\\//i.test(o)?Re.createElement(\"pre\",{className:\"microlight\"},Re.createElement(\"audio\",{controls:!0,key:i},Re.createElement(\"source\",{src:i,type:o}))):\"string\"==typeof s?Re.createElement(w,{downloadable:!0,fileName:`${x}.txt`,canCopy:!0},s):s.size>0?_?Re.createElement(\"div\",null,Re.createElement(\"p\",{className:\"i\"},\"Unrecognized response type; displaying content as text.\"),Re.createElement(w,{downloadable:!0,fileName:`${x}.txt`,canCopy:!0},_)):Re.createElement(\"p\",{className:\"i\"},\"Unrecognized response type; unable to display.\"):null;return j?Re.createElement(\"div\",null,Re.createElement(\"h5\",null,\"Response body\"),j):null}}class Parameters extends Re.Component{constructor(s){super(s),this.state={callbackVisible:!1,parametersVisible:!0}}static defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,tryItOutEnabled:!1,allowTryItOut:!0,onChangeKey:[],specPath:[]};onChange=(s,o,i)=>{let{specActions:{changeParamByIdentity:a},onChangeKey:u}=this.props;a(u,s,o,i)};onChangeConsumesWrapper=s=>{let{specActions:{changeConsumesValue:o},onChangeKey:i}=this.props;o(i,s)};toggleTab=s=>\"parameters\"===s?this.setState({parametersVisible:!0,callbackVisible:!1}):\"callbacks\"===s?this.setState({callbackVisible:!0,parametersVisible:!1}):void 0;onChangeMediaType=({value:s,pathMethod:o})=>{let{specActions:i,oas3Selectors:a,oas3Actions:u}=this.props;const _=a.hasUserEditedBody(...o),w=a.shouldRetainRequestBodyValue(...o);u.setRequestContentType({value:s,pathMethod:o}),u.initRequestBodyValidateError({pathMethod:o}),_||(w||u.setRequestBodyValue({value:void 0,pathMethod:o}),i.clearResponse(...o),i.clearRequest(...o),i.clearValidateParams(o))};render(){let{onTryoutClick:s,onResetClick:o,parameters:i,allowTryItOut:a,tryItOutEnabled:u,specPath:_,fn:w,getComponent:x,getConfigs:C,specSelectors:j,specActions:L,pathMethod:B,oas3Actions:$,oas3Selectors:U,operation:V}=this.props;const z=x(\"parameterRow\"),Y=x(\"TryItOutButton\"),Z=x(\"contentType\"),ee=x(\"Callbacks\",!0),ie=x(\"RequestBody\",!0),ae=u&&a,ce=j.isOAS3(),le=`${createHtmlReadyId(`${B[1]}${B[0]}_requests`)}_select`,pe=V.get(\"requestBody\"),de=Object.values(i.reduce(((s,o)=>{if(ze.Map.isMap(o)){const i=o.get(\"in\");s[i]??=[],s[i].push(o)}return s}),{})).reduce(((s,o)=>s.concat(o)),[]);return Re.createElement(\"div\",{className:\"opblock-section\"},Re.createElement(\"div\",{className:\"opblock-section-header\"},ce?Re.createElement(\"div\",{className:\"tab-header\"},Re.createElement(\"div\",{onClick:()=>this.toggleTab(\"parameters\"),className:`tab-item ${this.state.parametersVisible&&\"active\"}`},Re.createElement(\"h4\",{className:\"opblock-title\"},Re.createElement(\"span\",null,\"Parameters\"))),V.get(\"callbacks\")?Re.createElement(\"div\",{onClick:()=>this.toggleTab(\"callbacks\"),className:`tab-item ${this.state.callbackVisible&&\"active\"}`},Re.createElement(\"h4\",{className:\"opblock-title\"},Re.createElement(\"span\",null,\"Callbacks\"))):null):Re.createElement(\"div\",{className:\"tab-header\"},Re.createElement(\"h4\",{className:\"opblock-title\"},\"Parameters\")),a?Re.createElement(Y,{isOAS3:j.isOAS3(),hasUserEditedBody:U.hasUserEditedBody(...B),enabled:u,onCancelClick:this.props.onCancelClick,onTryoutClick:s,onResetClick:()=>o(B)}):null),this.state.parametersVisible?Re.createElement(\"div\",{className:\"parameters-container\"},de.length?Re.createElement(\"div\",{className:\"table-container\"},Re.createElement(\"table\",{className:\"parameters\"},Re.createElement(\"thead\",null,Re.createElement(\"tr\",null,Re.createElement(\"th\",{className:\"col_header parameters-col_name\"},\"Name\"),Re.createElement(\"th\",{className:\"col_header parameters-col_description\"},\"Description\"))),Re.createElement(\"tbody\",null,de.map(((s,o)=>Re.createElement(z,{fn:w,specPath:_.push(o.toString()),getComponent:x,getConfigs:C,rawParam:s,param:j.parameterWithMetaByIdentity(B,s),key:`${s.get(\"in\")}.${s.get(\"name\")}`,onChange:this.onChange,onChangeConsumes:this.onChangeConsumesWrapper,specSelectors:j,specActions:L,oas3Actions:$,oas3Selectors:U,pathMethod:B,isExecute:ae})))))):Re.createElement(\"div\",{className:\"opblock-description-wrapper\"},Re.createElement(\"p\",null,\"No parameters\"))):null,this.state.callbackVisible?Re.createElement(\"div\",{className:\"callbacks-container opblock-description-wrapper\"},Re.createElement(ee,{callbacks:(0,ze.Map)(V.get(\"callbacks\")),specPath:_.slice(0,-1).push(\"callbacks\")})):null,ce&&pe&&this.state.parametersVisible&&Re.createElement(\"div\",{className:\"opblock-section opblock-section-request-body\"},Re.createElement(\"div\",{className:\"opblock-section-header\"},Re.createElement(\"h4\",{className:`opblock-title parameter__name ${pe.get(\"required\")&&\"required\"}`},\"Request body\"),Re.createElement(\"label\",{id:le},Re.createElement(Z,{value:U.requestContentType(...B),contentTypes:pe.get(\"content\",(0,ze.List)()).keySeq(),onChange:s=>{this.onChangeMediaType({value:s,pathMethod:B})},className:\"body-param-content-type\",ariaLabel:\"Request content type\",controlId:le}))),Re.createElement(\"div\",{className:\"opblock-description-wrapper\"},Re.createElement(ie,{setRetainRequestBodyValueFlag:s=>$.setRetainRequestBodyValueFlag({value:s,pathMethod:B}),userHasEditedBody:U.hasUserEditedBody(...B),specPath:_.slice(0,-1).push(\"requestBody\"),requestBody:pe,requestBodyValue:U.requestBodyValue(...B),requestBodyInclusionSetting:U.requestBodyInclusionSetting(...B),requestBodyErrors:U.requestBodyErrors(...B),isExecute:ae,getConfigs:C,activeExamplesKey:U.activeExamplesMember(...B,\"requestBody\",\"requestBody\"),updateActiveExamplesKey:s=>{this.props.oas3Actions.setActiveExamplesMember({name:s,pathMethod:this.props.pathMethod,contextType:\"requestBody\",contextName:\"requestBody\"})},onChange:(s,o)=>{if(o){const i=U.requestBodyValue(...B),a=ze.Map.isMap(i)?i:(0,ze.Map)();return $.setRequestBodyValue({pathMethod:B,value:a.setIn(o,s)})}$.setRequestBodyValue({value:s,pathMethod:B})},onChangeIncludeEmpty:(s,o)=>{$.setRequestBodyInclusion({pathMethod:B,value:o,name:s})},contentType:U.requestContentType(...B)}))))}}const parameter_extension=({xKey:s,xVal:o})=>Re.createElement(\"div\",{className:\"parameter__extension\"},s,\": \",String(o)),ZO={onChange:()=>{},isIncludedOptions:{}};class ParameterIncludeEmpty extends Re.Component{static defaultProps=ZO;componentDidMount(){const{isIncludedOptions:s,onChange:o}=this.props,{shouldDispatchInit:i,defaultValue:a}=s;i&&o(a)}onCheckboxChange=s=>{const{onChange:o}=this.props;o(s.target.checked)};render(){let{isIncluded:s,isDisabled:o}=this.props;return Re.createElement(\"div\",null,Re.createElement(\"label\",{htmlFor:\"include_empty_value\",className:Jn()(\"parameter__empty_value_toggle\",{disabled:o})},Re.createElement(\"input\",{id:\"include_empty_value\",type:\"checkbox\",disabled:o,checked:!o&&s,onChange:this.onCheckboxChange}),\"Send empty value\"))}}class ParameterRow extends Re.Component{constructor(s,o){super(s,o),this.setDefaultValue()}UNSAFE_componentWillReceiveProps(s){let o,{specSelectors:i,pathMethod:a,rawParam:u}=s,_=i.isOAS3(),w=i.parameterWithMetaByIdentity(a,u)||new ze.Map;if(w=w.isEmpty()?u:w,_){let{schema:s}=getParameterSchema(w,{isOAS3:_});o=s?s.get(\"enum\"):void 0}else o=w?w.get(\"enum\"):void 0;let x,C=w?w.get(\"value\"):void 0;void 0!==C?x=C:u.get(\"required\")&&o&&o.size&&(x=o.first()),void 0!==x&&x!==C&&this.onChangeWrapper(function numberToString(s){return\"number\"==typeof s?s.toString():s}(x)),this.setDefaultValue()}onChangeWrapper=(s,o=!1)=>{let i,{onChange:a,rawParam:u}=this.props;return i=\"\"===s||s&&0===s.size?null:s,a(u,i,o)};_onExampleSelect=s=>{this.props.oas3Actions.setActiveExamplesMember({name:s,pathMethod:this.props.pathMethod,contextType:\"parameters\",contextName:this.getParamKey()})};onChangeIncludeEmpty=s=>{let{specActions:o,param:i,pathMethod:a}=this.props;const u=i.get(\"name\"),_=i.get(\"in\");return o.updateEmptyParamInclusion(a,u,_,s)};setDefaultValue=()=>{let{specSelectors:s,pathMethod:o,rawParam:i,oas3Selectors:a,fn:u}=this.props;const _=s.parameterWithMetaByIdentity(o,i)||(0,ze.Map)();let{schema:w}=getParameterSchema(_,{isOAS3:s.isOAS3()});const x=_.get(\"content\",(0,ze.Map)()).keySeq().first(),C=w?u.getSampleSchema(w.toJS(),x,{includeWriteOnly:!0}):null;if(_&&void 0===_.get(\"value\")&&\"body\"!==_.get(\"in\")){let i;if(s.isSwagger2())i=void 0!==_.get(\"x-example\")?_.get(\"x-example\"):void 0!==_.getIn([\"schema\",\"example\"])?_.getIn([\"schema\",\"example\"]):w&&w.getIn([\"default\"]);else if(s.isOAS3()){w=this.composeJsonSchema(w);const s=a.activeExamplesMember(...o,\"parameters\",this.getParamKey());i=void 0!==_.getIn([\"examples\",s,\"value\"])?_.getIn([\"examples\",s,\"value\"]):void 0!==_.getIn([\"content\",x,\"example\"])?_.getIn([\"content\",x,\"example\"]):void 0!==_.get(\"example\")?_.get(\"example\"):void 0!==(w&&w.get(\"example\"))?w&&w.get(\"example\"):void 0!==(w&&w.get(\"default\"))?w&&w.get(\"default\"):_.get(\"default\")}void 0===i||ze.List.isList(i)||(i=stringify(i));const j=u.getSchemaObjectType(w),L=u.getSchemaObjectType(w?.get(\"items\"));void 0!==i?this.onChangeWrapper(i):\"object\"===j&&C&&!_.get(\"examples\")?this.onChangeWrapper(ze.List.isList(C)?C:stringify(C)):\"array\"===j&&\"object\"===L&&C&&!_.get(\"examples\")&&this.onChangeWrapper(ze.List.isList(C)?C:(0,ze.List)(JSON.parse(C)))}};getParamKey(){const{param:s}=this.props;return s?`${s.get(\"name\")}-${s.get(\"in\")}`:null}composeJsonSchema(s){const{fn:o}=this.props,i=s.get(\"oneOf\")?.get(0)?.toJS(),a=s.get(\"anyOf\")?.get(0)?.toJS();return(0,ze.fromJS)(o.mergeJsonSchema(s.toJS(),i??a??{}))}render(){let{param:s,rawParam:o,getComponent:i,getConfigs:a,isExecute:u,fn:_,onChangeConsumes:w,specSelectors:x,pathMethod:C,specPath:j,oas3Selectors:L}=this.props,B=x.isOAS3();const{showExtensions:$,showCommonExtensions:U}=a();if(s||(s=o),!o)return null;const V=i(\"JsonSchemaForm\"),z=i(\"ParamBody\");let Y=s.get(\"in\"),Z=\"body\"!==Y?null:Re.createElement(z,{getComponent:i,getConfigs:a,fn:_,param:s,consumes:x.consumesOptionsFor(C),consumesValue:x.contentTypeValues(C).get(\"requestContentType\"),onChange:this.onChangeWrapper,onChangeConsumes:w,isExecute:u,specSelectors:x,pathMethod:C});const ee=i(\"modelExample\"),ie=i(\"Markdown\",!0),ae=i(\"ParameterExt\"),ce=i(\"ParameterIncludeEmpty\"),le=i(\"ExamplesSelectValueRetainer\"),pe=i(\"Example\");let{schema:de}=getParameterSchema(s,{isOAS3:B}),fe=x.parameterWithMetaByIdentity(C,o)||(0,ze.Map)();const ye=fe.get(\"content\",(0,ze.Map)()).keySeq().first();B&&(de=this.composeJsonSchema(de));let be=de?de.get(\"format\"):null,_e=\"formData\"===Y,Se=\"FormData\"in lt,we=s.get(\"required\");const xe=_.getSchemaObjectType(de),Pe=_.getSchemaObjectType(de?.get(\"items\")),Te=_.getSchemaObjectTypeLabel(de),$e=!Z&&\"object\"===xe,qe=!Z&&\"object\"===Pe;let We,He,Ye,Xe,Qe=fe?fe.get(\"value\"):\"\",et=U?getCommonExtensions(de):null,tt=$?getExtensions(s):null,rt=!1;void 0!==s&&de&&(We=de.get(\"items\")),void 0!==We?(He=We.get(\"enum\"),Ye=We.get(\"default\")):de&&(He=de.get(\"enum\")),He&&He.size&&He.size>0&&(rt=!0),void 0!==s&&(de&&(Ye=de.get(\"default\")),void 0===Ye&&(Ye=s.get(\"default\")),Xe=s.get(\"example\"),void 0===Xe&&(Xe=s.get(\"x-example\")));const nt=Z?null:Re.createElement(V,{fn:_,getComponent:i,value:Qe,required:we,disabled:!u,description:s.get(\"name\"),onChange:this.onChangeWrapper,errors:fe.get(\"errors\"),schema:de});return Re.createElement(\"tr\",{\"data-param-name\":s.get(\"name\"),\"data-param-in\":s.get(\"in\")},Re.createElement(\"td\",{className:\"parameters-col_name\"},Re.createElement(\"div\",{className:we?\"parameter__name required\":\"parameter__name\"},s.get(\"name\"),we?Re.createElement(\"span\",null,\" *\"):null),Re.createElement(\"div\",{className:\"parameter__type\"},Te,be&&Re.createElement(\"span\",{className:\"prop-format\"},\"($\",be,\")\")),Re.createElement(\"div\",{className:\"parameter__deprecated\"},B&&s.get(\"deprecated\")?\"deprecated\":null),Re.createElement(\"div\",{className:\"parameter__in\"},\"(\",s.get(\"in\"),\")\")),Re.createElement(\"td\",{className:\"parameters-col_description\"},s.get(\"description\")?Re.createElement(ie,{source:s.get(\"description\")}):null,!Z&&u||!rt?null:Re.createElement(ie,{className:\"parameter__enum\",source:\"<i>Available values</i> : \"+He.map((function(s){return s})).toArray().map(String).join(\", \")}),!Z&&u||void 0===Ye?null:Re.createElement(ie,{className:\"parameter__default\",source:\"<i>Default value</i> : \"+Ye}),!Z&&u||void 0===Xe?null:Re.createElement(ie,{source:\"<i>Example</i> : \"+Xe}),_e&&!Se&&Re.createElement(\"div\",null,\"Error: your browser does not support FormData\"),B&&s.get(\"examples\")?Re.createElement(\"section\",{className:\"parameter-controls\"},Re.createElement(le,{examples:s.get(\"examples\"),onSelect:this._onExampleSelect,updateValue:this.onChangeWrapper,getComponent:i,defaultToFirstExample:!0,currentKey:L.activeExamplesMember(...C,\"parameters\",this.getParamKey()),currentUserInputValue:Qe})):null,$e||qe?Re.createElement(ee,{getComponent:i,specPath:ye?j.push(\"content\",ye,\"schema\"):j.push(\"schema\"),getConfigs:a,isExecute:u,specSelectors:x,schema:de,example:nt}):nt,Z&&de?Re.createElement(ee,{getComponent:i,specPath:j.push(\"schema\"),getConfigs:a,isExecute:u,specSelectors:x,schema:de,example:Z,includeWriteOnly:!0}):null,!Z&&u&&s.get(\"allowEmptyValue\")?Re.createElement(ce,{onChange:this.onChangeIncludeEmpty,isIncluded:x.parameterInclusionSettingFor(C,s.get(\"name\"),s.get(\"in\")),isDisabled:!isEmptyValue(Qe)}):null,B&&s.get(\"examples\")?Re.createElement(pe,{example:s.getIn([\"examples\",L.activeExamplesMember(...C,\"parameters\",this.getParamKey())]),getComponent:i,getConfigs:a}):null,U&&et.size?et.entrySeq().map((([s,o])=>Re.createElement(ae,{key:`${s}-${o}`,xKey:s,xVal:o}))):null,$&&tt.size?tt.entrySeq().map((([s,o])=>Re.createElement(ae,{key:`${s}-${o}`,xKey:s,xVal:o}))):null))}}class Execute extends Re.Component{handleValidateParameters=()=>{let{specSelectors:s,specActions:o,path:i,method:a}=this.props;return o.validateParams([i,a]),s.validateBeforeExecute([i,a])};handleValidateRequestBody=()=>{let{path:s,method:o,specSelectors:i,oas3Selectors:a,oas3Actions:u}=this.props,_={missingBodyValue:!1,missingRequiredKeys:[]};u.clearRequestBodyValidateError({path:s,method:o});let w=i.getOAS3RequiredRequestBodyContentType([s,o]),x=a.requestBodyValue(s,o),C=a.validateBeforeExecute([s,o]),j=a.requestContentType(s,o);if(!C)return _.missingBodyValue=!0,u.setRequestBodyValidateError({path:s,method:o,validationErrors:_}),!1;if(!w)return!0;let L=a.validateShallowRequired({oas3RequiredRequestBodyContentType:w,oas3RequestContentType:j,oas3RequestBodyValue:x});return!L||L.length<1||(L.forEach((s=>{_.missingRequiredKeys.push(s)})),u.setRequestBodyValidateError({path:s,method:o,validationErrors:_}),!1)};handleValidationResultPass=()=>{let{specActions:s,operation:o,path:i,method:a}=this.props;this.props.onExecute&&this.props.onExecute(),s.execute({operation:o,path:i,method:a})};handleValidationResultFail=()=>{let{specActions:s,path:o,method:i}=this.props;s.clearValidateParams([o,i]),setTimeout((()=>{s.validateParams([o,i])}),40)};handleValidationResult=s=>{s?this.handleValidationResultPass():this.handleValidationResultFail()};onClick=()=>{let s=this.handleValidateParameters(),o=this.handleValidateRequestBody(),i=s&&o;this.handleValidationResult(i)};onChangeProducesWrapper=s=>this.props.specActions.changeProducesValue([this.props.path,this.props.method],s);render(){const{disabled:s}=this.props;return Re.createElement(\"button\",{className:\"btn execute opblock-control__btn\",onClick:this.onClick,disabled:s},\"Execute\")}}class headers_Headers extends Re.Component{render(){let{headers:s,getComponent:o}=this.props;const i=o(\"Property\"),a=o(\"Markdown\",!0);return s&&s.size?Re.createElement(\"div\",{className:\"headers-wrapper\"},Re.createElement(\"h4\",{className:\"headers__title\"},\"Headers:\"),Re.createElement(\"table\",{className:\"headers\"},Re.createElement(\"thead\",null,Re.createElement(\"tr\",{className:\"header-row\"},Re.createElement(\"th\",{className:\"header-col\"},\"Name\"),Re.createElement(\"th\",{className:\"header-col\"},\"Description\"),Re.createElement(\"th\",{className:\"header-col\"},\"Type\"))),Re.createElement(\"tbody\",null,s.entrySeq().map((([s,o])=>{if(!We().Map.isMap(o))return null;const u=o.get(\"description\"),_=o.getIn([\"schema\"])?o.getIn([\"schema\",\"type\"]):o.getIn([\"type\"]),w=o.getIn([\"schema\",\"example\"]);return Re.createElement(\"tr\",{key:s},Re.createElement(\"td\",{className:\"header-col\"},s),Re.createElement(\"td\",{className:\"header-col\"},u?Re.createElement(a,{source:u}):null),Re.createElement(\"td\",{className:\"header-col\"},_,\" \",w?Re.createElement(i,{propKey:\"Example\",propVal:w,propClass:\"header-example\"}):null))})).toArray()))):null}}class Errors extends Re.Component{render(){let{editorActions:s,errSelectors:o,layoutSelectors:i,layoutActions:a,getComponent:u}=this.props;const _=u(\"Collapse\");if(s&&s.jumpToLine)var w=s.jumpToLine;let x=o.allErrors().filter((s=>\"thrown\"===s.get(\"type\")||\"error\"===s.get(\"level\")));if(!x||x.count()<1)return null;let C=i.isShown([\"errorPane\"],!0),j=x.sortBy((s=>s.get(\"line\")));return Re.createElement(\"pre\",{className:\"errors-wrapper\"},Re.createElement(\"hgroup\",{className:\"error\"},Re.createElement(\"h4\",{className:\"errors__title\"},\"Errors\"),Re.createElement(\"button\",{className:\"btn errors__clear-btn\",onClick:()=>a.show([\"errorPane\"],!C)},C?\"Hide\":\"Show\")),Re.createElement(_,{isOpened:C,animated:!0},Re.createElement(\"div\",{className:\"errors\"},j.map(((s,o)=>{let i=s.get(\"type\");return\"thrown\"===i||\"auth\"===i?Re.createElement(ThrownErrorItem,{key:o,error:s.get(\"error\")||s,jumpToLine:w}):\"spec\"===i?Re.createElement(SpecErrorItem,{key:o,error:s,jumpToLine:w}):void 0})))))}}const ThrownErrorItem=({error:s,jumpToLine:o})=>{if(!s)return null;let i=s.get(\"line\");return Re.createElement(\"div\",{className:\"error-wrapper\"},s?Re.createElement(\"div\",null,Re.createElement(\"h4\",null,s.get(\"source\")&&s.get(\"level\")?toTitleCase(s.get(\"source\"))+\" \"+s.get(\"level\"):\"\",s.get(\"path\")?Re.createElement(\"small\",null,\" at \",s.get(\"path\")):null),Re.createElement(\"span\",{className:\"message thrown\"},s.get(\"message\")),Re.createElement(\"div\",{className:\"error-line\"},i&&o?Re.createElement(\"a\",{onClick:o.bind(null,i)},\"Jump to line \",i):null)):null)},SpecErrorItem=({error:s,jumpToLine:o=null})=>{let i=null;return s.get(\"path\")?i=ze.List.isList(s.get(\"path\"))?Re.createElement(\"small\",null,\"at \",s.get(\"path\").join(\".\")):Re.createElement(\"small\",null,\"at \",s.get(\"path\")):s.get(\"line\")&&!o&&(i=Re.createElement(\"small\",null,\"on line \",s.get(\"line\"))),Re.createElement(\"div\",{className:\"error-wrapper\"},s?Re.createElement(\"div\",null,Re.createElement(\"h4\",null,toTitleCase(s.get(\"source\"))+\" \"+s.get(\"level\"),\" \",i),Re.createElement(\"span\",{className:\"message\"},s.get(\"message\")),Re.createElement(\"div\",{className:\"error-line\"},o?Re.createElement(\"a\",{onClick:o.bind(null,s.get(\"line\"))},\"Jump to line \",s.get(\"line\")):null)):null)};function toTitleCase(s){return(s||\"\").split(\" \").map((s=>s[0].toUpperCase()+s.slice(1))).join(\" \")}const content_type_noop=()=>{};class ContentType extends Re.Component{static defaultProps={onChange:content_type_noop,value:null,contentTypes:(0,ze.fromJS)([\"application/json\"])};componentDidMount(){const{contentTypes:s,onChange:o}=this.props;s&&s.size&&o(s.first())}componentDidUpdate(){const{contentTypes:s,value:o,onChange:i}=this.props;s&&s.size&&(s.includes(o)||i(s.first()))}onChangeWrapper=s=>this.props.onChange(s.target.value);render(){let{ariaControls:s,ariaLabel:o,className:i,contentTypes:a,controlId:u,value:_}=this.props;return a&&a.size?Re.createElement(\"div\",{className:\"content-type-wrapper \"+(i||\"\")},Re.createElement(\"select\",{\"aria-controls\":s,\"aria-label\":o,className:\"content-type\",id:u,onChange:this.onChangeWrapper,value:_||\"\"},a.map((s=>Re.createElement(\"option\",{key:s,value:s},s))).toArray())):null}}function xclass(...s){return s.filter((s=>!!s)).join(\" \").trim()}class Container extends Re.Component{render(){let{fullscreen:s,full:o,...i}=this.props;if(s)return Re.createElement(\"section\",i);let a=\"swagger-container\"+(o?\"-full\":\"\");return Re.createElement(\"section\",Mn()({},i,{className:xclass(i.className,a)}))}}const eA={mobile:\"\",tablet:\"-tablet\",desktop:\"-desktop\",large:\"-hd\"};class Col extends Re.Component{render(){const{hide:s,keepContents:o,mobile:i,tablet:a,desktop:u,large:_,...w}=this.props;if(s&&!o)return Re.createElement(\"span\",null);let x=[];for(let s in eA){if(!Object.prototype.hasOwnProperty.call(eA,s))continue;let o=eA[s];if(s in this.props){let i=this.props[s];if(i<1){x.push(\"none\"+o);continue}x.push(\"block\"+o),x.push(\"col-\"+i+o)}}s&&x.push(\"hidden\");let C=xclass(w.className,...x);return Re.createElement(\"section\",Mn()({},w,{className:C}))}}class Row extends Re.Component{render(){return Re.createElement(\"div\",Mn()({},this.props,{className:xclass(this.props.className,\"wrapper\")}))}}class Button extends Re.Component{static defaultProps={className:\"\"};render(){return Re.createElement(\"button\",Mn()({},this.props,{className:xclass(this.props.className,\"button\")}))}}const TextArea=s=>Re.createElement(\"textarea\",s),Input=s=>Re.createElement(\"input\",s);class Select extends Re.Component{static defaultProps={multiple:!1,allowEmptyValue:!0};constructor(s,o){let i;super(s,o),i=s.value?s.value:s.multiple?[\"\"]:\"\",this.state={value:i}}onChange=s=>{let o,{onChange:i,multiple:a}=this.props,u=[].slice.call(s.target.options);o=a?u.filter((function(s){return s.selected})).map((function(s){return s.value})):s.target.value,this.setState({value:o}),i&&i(o)};UNSAFE_componentWillReceiveProps(s){s.value!==this.props.value&&this.setState({value:s.value})}render(){let{allowedValues:s,multiple:o,allowEmptyValue:i,disabled:a}=this.props,u=this.state.value?.toJS?.()||this.state.value;return Re.createElement(\"select\",{className:this.props.className,multiple:o,value:u,onChange:this.onChange,disabled:a},i?Re.createElement(\"option\",{value:\"\"},\"--\"):null,s.map((function(s,o){return Re.createElement(\"option\",{key:o,value:String(s)},String(s))})))}}class layout_utils_Link extends Re.Component{render(){return Re.createElement(\"a\",Mn()({},this.props,{rel:\"noopener noreferrer\",className:xclass(this.props.className,\"link\")}))}}const NoMargin=({children:s})=>Re.createElement(\"div\",{className:\"no-margin\"},\" \",s,\" \");class Collapse extends Re.Component{static defaultProps={isOpened:!1,animated:!1};renderNotAnimated(){return this.props.isOpened?Re.createElement(NoMargin,null,this.props.children):Re.createElement(\"noscript\",null)}render(){let{animated:s,isOpened:o,children:i}=this.props;return s?(i=o?i:null,Re.createElement(NoMargin,null,i)):this.renderNotAnimated()}}class Overview extends Re.Component{constructor(...s){super(...s),this.setTagShown=this._setTagShown.bind(this)}_setTagShown(s,o){this.props.layoutActions.show(s,o)}showOp(s,o){let{layoutActions:i}=this.props;i.show(s,o)}render(){let{specSelectors:s,layoutSelectors:o,layoutActions:i,getComponent:a}=this.props,u=s.taggedOperations();const _=a(\"Collapse\");return Re.createElement(\"div\",null,Re.createElement(\"h4\",{className:\"overview-title\"},\"Overview\"),u.map(((s,a)=>{let u=s.get(\"operations\"),w=[\"overview-tags\",a],x=o.isShown(w,!0);return Re.createElement(\"div\",{key:\"overview-\"+a},Re.createElement(\"h4\",{onClick:()=>i.show(w,!x),className:\"link overview-tag\"},\" \",x?\"-\":\"+\",a),Re.createElement(_,{isOpened:x,animated:!0},u.map((s=>{let{path:a,method:u,id:_}=s.toObject(),w=\"operations\",x=_,C=o.isShown([w,x]);return Re.createElement(OperationLink,{key:_,path:a,method:u,id:a+\"-\"+u,shown:C,showOpId:x,showOpIdPrefix:w,href:`#operation-${x}`,onClick:i.show})})).toArray()))})).toArray(),u.size<1&&Re.createElement(\"h3\",null,\" No operations defined in spec! \"))}}class OperationLink extends Re.Component{constructor(s){super(s),this.onClick=this._onClick.bind(this)}_onClick(){let{showOpId:s,showOpIdPrefix:o,onClick:i,shown:a}=this.props;i([o,s],!a)}render(){let{id:s,method:o,shown:i,href:a}=this.props;return Re.createElement(layout_utils_Link,{href:a,onClick:this.onClick,className:\"block opblock-link \"+(i?\"shown\":\"\")},Re.createElement(\"div\",null,Re.createElement(\"small\",{className:`bold-label-${o}`},o.toUpperCase()),Re.createElement(\"span\",{className:\"bold-label\"},s)))}}class InitializedInput extends Re.Component{componentDidMount(){this.props.initialValue&&(this.inputRef.value=this.props.initialValue)}render(){const{value:s,defaultValue:o,initialValue:i,...a}=this.props;return Re.createElement(\"input\",Mn()({},a,{ref:s=>this.inputRef=s}))}}class InfoBasePath extends Re.Component{render(){const{host:s,basePath:o}=this.props;return Re.createElement(\"pre\",{className:\"base-url\"},\"[ Base URL: \",s,o,\" ]\")}}class InfoUrl extends Re.PureComponent{render(){const{url:s,getComponent:o}=this.props,i=o(\"Link\");return Re.createElement(i,{target:\"_blank\",href:sanitizeUrl(s)},Re.createElement(\"span\",{className:\"url\"},\" \",s))}}class info_Info extends Re.Component{render(){const{info:s,url:o,host:i,basePath:a,getComponent:u,externalDocs:_,selectedServer:w,url:x}=this.props,C=s.get(\"version\"),j=s.get(\"description\"),L=s.get(\"title\"),B=safeBuildUrl(s.get(\"termsOfService\"),x,{selectedServer:w}),$=s.get(\"contact\"),U=s.get(\"license\"),V=safeBuildUrl(_&&_.get(\"url\"),x,{selectedServer:w}),z=_&&_.get(\"description\"),Y=u(\"Markdown\",!0),Z=u(\"Link\"),ee=u(\"VersionStamp\"),ie=u(\"OpenAPIVersion\"),ae=u(\"InfoUrl\"),ce=u(\"InfoBasePath\"),le=u(\"License\"),pe=u(\"Contact\");return Re.createElement(\"div\",{className:\"info\"},Re.createElement(\"hgroup\",{className:\"main\"},Re.createElement(\"h1\",{className:\"title\"},L,Re.createElement(\"span\",null,C&&Re.createElement(ee,{version:C}),Re.createElement(ie,{oasVersion:\"2.0\"}))),i||a?Re.createElement(ce,{host:i,basePath:a}):null,o&&Re.createElement(ae,{getComponent:u,url:o})),Re.createElement(\"div\",{className:\"description\"},Re.createElement(Y,{source:j})),B&&Re.createElement(\"div\",{className:\"info__tos\"},Re.createElement(Z,{target:\"_blank\",href:sanitizeUrl(B)},\"Terms of service\")),$?.size>0&&Re.createElement(pe,{getComponent:u,data:$,selectedServer:w,url:o}),U?.size>0&&Re.createElement(le,{getComponent:u,license:U,selectedServer:w,url:o}),V?Re.createElement(Z,{className:\"info__extdocs\",target:\"_blank\",href:sanitizeUrl(V)},z||V):null)}}const tA=info_Info;class InfoContainer extends Re.Component{render(){const{specSelectors:s,getComponent:o,oas3Selectors:i}=this.props,a=s.info(),u=s.url(),_=s.basePath(),w=s.host(),x=s.externalDocs(),C=i.selectedServer(),j=o(\"info\");return Re.createElement(\"div\",null,a&&a.count()?Re.createElement(j,{info:a,url:u,host:w,basePath:_,externalDocs:x,getComponent:o,selectedServer:C}):null)}}class contact_Contact extends Re.Component{render(){const{data:s,getComponent:o,selectedServer:i,url:a}=this.props,u=s.get(\"name\",\"the developer\"),_=safeBuildUrl(s.get(\"url\"),a,{selectedServer:i}),w=s.get(\"email\"),x=o(\"Link\");return Re.createElement(\"div\",{className:\"info__contact\"},_&&Re.createElement(\"div\",null,Re.createElement(x,{href:sanitizeUrl(_),target:\"_blank\"},u,\" - Website\")),w&&Re.createElement(x,{href:sanitizeUrl(`mailto:${w}`)},_?`Send email to ${u}`:`Contact ${u}`))}}const rA=contact_Contact;class license_License extends Re.Component{render(){const{license:s,getComponent:o,selectedServer:i,url:a}=this.props,u=s.get(\"name\",\"License\"),_=safeBuildUrl(s.get(\"url\"),a,{selectedServer:i}),w=o(\"Link\");return Re.createElement(\"div\",{className:\"info__license\"},_?Re.createElement(\"div\",{className:\"info__license__url\"},Re.createElement(w,{target:\"_blank\",href:sanitizeUrl(_)},u)):Re.createElement(\"span\",null,u))}}const nA=license_License;class JumpToPath extends Re.Component{render(){return null}}class CopyToClipboardBtn extends Re.Component{render(){let{getComponent:s}=this.props;const o=s(\"CopyIcon\");return Re.createElement(\"div\",{className:\"view-line-link copy-to-clipboard\",title:\"Copy to clipboard\"},Re.createElement(Hn.CopyToClipboard,{text:this.props.textToCopy},Re.createElement(o,null)))}}class Footer extends Re.Component{render(){return Re.createElement(\"div\",{className:\"footer\"})}}class FilterContainer extends Re.Component{onFilterChange=s=>{const{target:{value:o}}=s;this.props.layoutActions.updateFilter(o)};render(){const{specSelectors:s,layoutSelectors:o,getComponent:i}=this.props,a=i(\"Col\"),u=\"loading\"===s.loadingStatus(),_=\"failed\"===s.loadingStatus(),w=o.currentFilter(),x=[\"operation-filter-input\"];return _&&x.push(\"failed\"),u&&x.push(\"loading\"),Re.createElement(\"div\",null,!1===w?null:Re.createElement(\"div\",{className:\"filter-container\"},Re.createElement(a,{className:\"filter wrapper\",mobile:12},Re.createElement(\"input\",{className:x.join(\" \"),placeholder:\"Filter by tag\",type:\"text\",onChange:this.onFilterChange,value:\"string\"==typeof w?w:\"\",disabled:u}))))}}const sA=Function.prototype;class ParamBody extends Re.PureComponent{static defaultProp={consumes:(0,ze.fromJS)([\"application/json\"]),param:(0,ze.fromJS)({}),onChange:sA,onChangeConsumes:sA};constructor(s,o){super(s,o),this.state={isEditBox:!1,value:\"\"}}componentDidMount(){this.updateValues.call(this,this.props)}UNSAFE_componentWillReceiveProps(s){this.updateValues.call(this,s)}updateValues=s=>{let{param:o,isExecute:i,consumesValue:a=\"\"}=s,u=/xml/i.test(a),_=/json/i.test(a),w=u?o.get(\"value_xml\"):o.get(\"value\");if(void 0!==w){let s=!w&&_?\"{}\":w;this.setState({value:s}),this.onChange(s,{isXml:u,isEditBox:i})}else u?this.onChange(this.sample(\"xml\"),{isXml:u,isEditBox:i}):this.onChange(this.sample(),{isEditBox:i})};sample=s=>{let{param:o,fn:i}=this.props,a=i.inferSchema(o.toJS());return i.getSampleSchema(a,s,{includeWriteOnly:!0})};onChange=(s,{isEditBox:o,isXml:i})=>{this.setState({value:s,isEditBox:o}),this._onChange(s,i)};_onChange=(s,o)=>{(this.props.onChange||sA)(s,o)};handleOnChange=s=>{const{consumesValue:o}=this.props,i=/xml/i.test(o),a=s.target.value;this.onChange(a,{isXml:i,isEditBox:this.state.isEditBox})};toggleIsEditBox=()=>this.setState((s=>({isEditBox:!s.isEditBox})));render(){let{onChangeConsumes:s,param:o,isExecute:i,specSelectors:a,pathMethod:u,getComponent:_}=this.props;const w=_(\"Button\"),x=_(\"TextArea\"),C=_(\"HighlightCode\",!0),j=_(\"contentType\");let L=(a?a.parameterWithMetaByIdentity(u,o):o).get(\"errors\",(0,ze.List)()),B=a.contentTypeValues(u).get(\"requestContentType\"),$=this.props.consumes&&this.props.consumes.size?this.props.consumes:ParamBody.defaultProp.consumes,{value:U,isEditBox:V}=this.state,z=null;getKnownSyntaxHighlighterLanguage(U)&&(z=\"json\");const Y=`${createHtmlReadyId(`${u[1]}${u[0]}_parameters`)}_select`;return Re.createElement(\"div\",{className:\"body-param\",\"data-param-name\":o.get(\"name\"),\"data-param-in\":o.get(\"in\")},V&&i?Re.createElement(x,{className:\"body-param__text\"+(L.count()?\" invalid\":\"\"),value:U,onChange:this.handleOnChange}):U&&Re.createElement(C,{className:\"body-param__example\",language:z},U),Re.createElement(\"div\",{className:\"body-param-options\"},i?Re.createElement(\"div\",{className:\"body-param-edit\"},Re.createElement(w,{className:V?\"btn cancel body-param__example-edit\":\"btn edit body-param__example-edit\",onClick:this.toggleIsEditBox},V?\"Cancel\":\"Edit\")):null,Re.createElement(\"label\",{htmlFor:Y},Re.createElement(\"span\",null,\"Parameter content type\"),Re.createElement(j,{value:B,contentTypes:$,onChange:s,className:\"body-param-content-type\",ariaLabel:\"Parameter content type\",controlId:Y}))))}}class Curl extends Re.Component{render(){const{request:s,getComponent:o}=this.props,i=requestSnippetGenerator_curl_bash(s),a=o(\"SyntaxHighlighter\",!0);return Re.createElement(\"div\",{className:\"curl-command\"},Re.createElement(\"h4\",null,\"Curl\"),Re.createElement(\"div\",{className:\"copy-to-clipboard\"},Re.createElement(Hn.CopyToClipboard,{text:i},Re.createElement(\"button\",null))),Re.createElement(\"div\",null,Re.createElement(a,{language:\"bash\",className:\"curl microlight\",renderPlainText:({children:s,PlainTextViewer:o})=>Re.createElement(o,{className:\"curl\"},s)},i)))}}const property=({propKey:s,propVal:o,propClass:i})=>Re.createElement(\"span\",{className:i},Re.createElement(\"br\",null),s,\": \",stringify(o));class TryItOutButton extends Re.Component{static defaultProps={onTryoutClick:Function.prototype,onCancelClick:Function.prototype,onResetClick:Function.prototype,enabled:!1,hasUserEditedBody:!1,isOAS3:!1};render(){const{onTryoutClick:s,onCancelClick:o,onResetClick:i,enabled:a,hasUserEditedBody:u,isOAS3:_}=this.props,w=_&&u;return Re.createElement(\"div\",{className:w?\"try-out btn-group\":\"try-out\"},a?Re.createElement(\"button\",{className:\"btn try-out__btn cancel\",onClick:o},\"Cancel\"):Re.createElement(\"button\",{className:\"btn try-out__btn\",onClick:s},\"Try it out \"),w&&Re.createElement(\"button\",{className:\"btn try-out__btn reset\",onClick:i},\"Reset\"))}}class VersionPragmaFilter extends Re.PureComponent{static defaultProps={alsoShow:null,children:null,bypass:!1};render(){const{bypass:s,isSwagger2:o,isOAS3:i,alsoShow:a}=this.props;return s?Re.createElement(\"div\",null,this.props.children):o&&i?Re.createElement(\"div\",{className:\"version-pragma\"},a,Re.createElement(\"div\",{className:\"version-pragma__message version-pragma__message--ambiguous\"},Re.createElement(\"div\",null,Re.createElement(\"h3\",null,\"Unable to render this definition\"),Re.createElement(\"p\",null,Re.createElement(\"code\",null,\"swagger\"),\" and \",Re.createElement(\"code\",null,\"openapi\"),\" fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.\"),Re.createElement(\"p\",null,\"Supported version fields are \",Re.createElement(\"code\",null,\"swagger: \",'\"2.0\"'),\" and those that match \",Re.createElement(\"code\",null,\"openapi: 3.0.n\"),\" (for example, \",Re.createElement(\"code\",null,\"openapi: 3.0.4\"),\").\")))):o||i?Re.createElement(\"div\",null,this.props.children):Re.createElement(\"div\",{className:\"version-pragma\"},a,Re.createElement(\"div\",{className:\"version-pragma__message version-pragma__message--missing\"},Re.createElement(\"div\",null,Re.createElement(\"h3\",null,\"Unable to render this definition\"),Re.createElement(\"p\",null,\"The provided definition does not specify a valid version field.\"),Re.createElement(\"p\",null,\"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are \",Re.createElement(\"code\",null,\"swagger: \",'\"2.0\"'),\" and those that match \",Re.createElement(\"code\",null,\"openapi: 3.0.n\"),\" (for example, \",Re.createElement(\"code\",null,\"openapi: 3.0.4\"),\").\"))))}}const version_stamp=({version:s})=>Re.createElement(\"small\",null,Re.createElement(\"pre\",{className:\"version\"},\" \",s,\" \")),openapi_version=({oasVersion:s})=>Re.createElement(\"small\",{className:\"version-stamp\"},Re.createElement(\"pre\",{className:\"version\"},\"OAS \",s)),deep_link=({enabled:s,path:o,text:i})=>Re.createElement(\"a\",{className:\"nostyle\",onClick:s?s=>s.preventDefault():null,href:s?`#/${o}`:null},Re.createElement(\"span\",null,i)),svg_assets=()=>Re.createElement(\"div\",null,Re.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",xmlnsXlink:\"http://www.w3.org/1999/xlink\",className:\"svg-assets\"},Re.createElement(\"defs\",null,Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"unlocked\"},Re.createElement(\"path\",{d:\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"locked\"},Re.createElement(\"path\",{d:\"M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"close\"},Re.createElement(\"path\",{d:\"M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"large-arrow\"},Re.createElement(\"path\",{d:\"M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"large-arrow-down\"},Re.createElement(\"path\",{d:\"M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 20 20\",id:\"large-arrow-up\"},Re.createElement(\"path\",{d:\"M 17.418 14.908 C 17.69 15.176 18.127 15.176 18.397 14.908 C 18.667 14.64 18.668 14.207 18.397 13.939 L 10.489 6.109 C 10.219 5.841 9.782 5.841 9.51 6.109 L 1.602 13.939 C 1.332 14.207 1.332 14.64 1.602 14.908 C 1.873 15.176 2.311 15.176 2.581 14.908 L 10 7.767 L 17.418 14.908 Z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 24 24\",id:\"jump-to\"},Re.createElement(\"path\",{d:\"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 24 24\",id:\"expand\"},Re.createElement(\"path\",{d:\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"})),Re.createElement(\"symbol\",{viewBox:\"0 0 15 16\",id:\"copy\"},Re.createElement(\"g\",{transform:\"translate(2, -1)\"},Re.createElement(\"path\",{fill:\"#ffffff\",fillRule:\"evenodd\",d:\"M2 13h4v1H2v-1zm5-6H2v1h5V7zm2 3V8l-3 3 3 3v-2h5v-2H9zM4.5 9H2v1h2.5V9zM2 12h2.5v-1H2v1zm9 1h1v2c-.02.28-.11.52-.3.7-.19.18-.42.28-.7.3H1c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c0-1.11.89-2 2-2 1.11 0 2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V6H1v9h10v-2zM2 5h8c0-.55-.45-1-1-1H8c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H3c-.55 0-1 .45-1 1z\"}))))));var oA;function decodeEntity(s){return(oA=oA||document.createElement(\"textarea\")).innerHTML=\"&\"+s+\";\",oA.value}var iA=Object.prototype.hasOwnProperty;function index_browser_has(s,o){return!!s&&iA.call(s,o)}function index_browser_assign(s){return[].slice.call(arguments,1).forEach((function(o){if(o){if(\"object\"!=typeof o)throw new TypeError(o+\"must be object\");Object.keys(o).forEach((function(i){s[i]=o[i]}))}})),s}var aA=/\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;function unescapeMd(s){return s.indexOf(\"\\\\\")<0?s:s.replace(aA,\"$1\")}function isValidEntityCode(s){return!(s>=55296&&s<=57343)&&(!(s>=64976&&s<=65007)&&(!!(65535&~s&&65534!=(65535&s))&&(!(s>=0&&s<=8)&&(11!==s&&(!(s>=14&&s<=31)&&(!(s>=127&&s<=159)&&!(s>1114111)))))))}function fromCodePoint(s){if(s>65535){var o=55296+((s-=65536)>>10),i=56320+(1023&s);return String.fromCharCode(o,i)}return String.fromCharCode(s)}var cA=/&([a-z#][a-z0-9]{1,31});/gi,lA=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;function replaceEntityPattern(s,o){var i=0,a=decodeEntity(o);return o!==a?a:35===o.charCodeAt(0)&&lA.test(o)&&isValidEntityCode(i=\"x\"===o[1].toLowerCase()?parseInt(o.slice(2),16):parseInt(o.slice(1),10))?fromCodePoint(i):s}function replaceEntities(s){return s.indexOf(\"&\")<0?s:s.replace(cA,replaceEntityPattern)}var uA=/[&<>\"]/,pA=/[&<>\"]/g,hA={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\"};function replaceUnsafeChar(s){return hA[s]}function escapeHtml(s){return uA.test(s)?s.replace(pA,replaceUnsafeChar):s}var dA={};function nextToken(s,o){return++o>=s.length-2?o:\"paragraph_open\"===s[o].type&&s[o].tight&&\"inline\"===s[o+1].type&&0===s[o+1].content.length&&\"paragraph_close\"===s[o+2].type&&s[o+2].tight?nextToken(s,o+2):o}dA.blockquote_open=function(){return\"<blockquote>\\n\"},dA.blockquote_close=function(s,o){return\"</blockquote>\"+fA(s,o)},dA.code=function(s,o){return s[o].block?\"<pre><code>\"+escapeHtml(s[o].content)+\"</code></pre>\"+fA(s,o):\"<code>\"+escapeHtml(s[o].content)+\"</code>\"},dA.fence=function(s,o,i,a,u){var _,w,x=s[o],C=\"\",j=i.langPrefix;if(x.params){if(w=(_=x.params.split(/\\s+/g)).join(\" \"),index_browser_has(u.rules.fence_custom,_[0]))return u.rules.fence_custom[_[0]](s,o,i,a,u);C=' class=\"'+j+escapeHtml(replaceEntities(unescapeMd(w)))+'\"'}return\"<pre><code\"+C+\">\"+(i.highlight&&i.highlight.apply(i.highlight,[x.content].concat(_))||escapeHtml(x.content))+\"</code></pre>\"+fA(s,o)},dA.fence_custom={},dA.heading_open=function(s,o){return\"<h\"+s[o].hLevel+\">\"},dA.heading_close=function(s,o){return\"</h\"+s[o].hLevel+\">\\n\"},dA.hr=function(s,o,i){return(i.xhtmlOut?\"<hr />\":\"<hr>\")+fA(s,o)},dA.bullet_list_open=function(){return\"<ul>\\n\"},dA.bullet_list_close=function(s,o){return\"</ul>\"+fA(s,o)},dA.list_item_open=function(){return\"<li>\"},dA.list_item_close=function(){return\"</li>\\n\"},dA.ordered_list_open=function(s,o){var i=s[o];return\"<ol\"+(i.order>1?' start=\"'+i.order+'\"':\"\")+\">\\n\"},dA.ordered_list_close=function(s,o){return\"</ol>\"+fA(s,o)},dA.paragraph_open=function(s,o){return s[o].tight?\"\":\"<p>\"},dA.paragraph_close=function(s,o){var i=!(s[o].tight&&o&&\"inline\"===s[o-1].type&&!s[o-1].content);return(s[o].tight?\"\":\"</p>\")+(i?fA(s,o):\"\")},dA.link_open=function(s,o,i){var a=s[o].title?' title=\"'+escapeHtml(replaceEntities(s[o].title))+'\"':\"\",u=i.linkTarget?' target=\"'+i.linkTarget+'\"':\"\";return'<a href=\"'+escapeHtml(s[o].href)+'\"'+a+u+\">\"},dA.link_close=function(){return\"</a>\"},dA.image=function(s,o,i){var a=' src=\"'+escapeHtml(s[o].src)+'\"',u=s[o].title?' title=\"'+escapeHtml(replaceEntities(s[o].title))+'\"':\"\";return\"<img\"+a+(' alt=\"'+(s[o].alt?escapeHtml(replaceEntities(unescapeMd(s[o].alt))):\"\")+'\"')+u+(i.xhtmlOut?\" /\":\"\")+\">\"},dA.table_open=function(){return\"<table>\\n\"},dA.table_close=function(){return\"</table>\\n\"},dA.thead_open=function(){return\"<thead>\\n\"},dA.thead_close=function(){return\"</thead>\\n\"},dA.tbody_open=function(){return\"<tbody>\\n\"},dA.tbody_close=function(){return\"</tbody>\\n\"},dA.tr_open=function(){return\"<tr>\"},dA.tr_close=function(){return\"</tr>\\n\"},dA.th_open=function(s,o){var i=s[o];return\"<th\"+(i.align?' style=\"text-align:'+i.align+'\"':\"\")+\">\"},dA.th_close=function(){return\"</th>\"},dA.td_open=function(s,o){var i=s[o];return\"<td\"+(i.align?' style=\"text-align:'+i.align+'\"':\"\")+\">\"},dA.td_close=function(){return\"</td>\"},dA.strong_open=function(){return\"<strong>\"},dA.strong_close=function(){return\"</strong>\"},dA.em_open=function(){return\"<em>\"},dA.em_close=function(){return\"</em>\"},dA.del_open=function(){return\"<del>\"},dA.del_close=function(){return\"</del>\"},dA.ins_open=function(){return\"<ins>\"},dA.ins_close=function(){return\"</ins>\"},dA.mark_open=function(){return\"<mark>\"},dA.mark_close=function(){return\"</mark>\"},dA.sub=function(s,o){return\"<sub>\"+escapeHtml(s[o].content)+\"</sub>\"},dA.sup=function(s,o){return\"<sup>\"+escapeHtml(s[o].content)+\"</sup>\"},dA.hardbreak=function(s,o,i){return i.xhtmlOut?\"<br />\\n\":\"<br>\\n\"},dA.softbreak=function(s,o,i){return i.breaks?i.xhtmlOut?\"<br />\\n\":\"<br>\\n\":\"\\n\"},dA.text=function(s,o){return escapeHtml(s[o].content)},dA.htmlblock=function(s,o){return s[o].content},dA.htmltag=function(s,o){return s[o].content},dA.abbr_open=function(s,o){return'<abbr title=\"'+escapeHtml(replaceEntities(s[o].title))+'\">'},dA.abbr_close=function(){return\"</abbr>\"},dA.footnote_ref=function(s,o){var i=Number(s[o].id+1).toString(),a=\"fnref\"+i;return s[o].subId>0&&(a+=\":\"+s[o].subId),'<sup class=\"footnote-ref\"><a href=\"#fn'+i+'\" id=\"'+a+'\">['+i+\"]</a></sup>\"},dA.footnote_block_open=function(s,o,i){return(i.xhtmlOut?'<hr class=\"footnotes-sep\" />\\n':'<hr class=\"footnotes-sep\">\\n')+'<section class=\"footnotes\">\\n<ol class=\"footnotes-list\">\\n'},dA.footnote_block_close=function(){return\"</ol>\\n</section>\\n\"},dA.footnote_open=function(s,o){return'<li id=\"fn'+Number(s[o].id+1).toString()+'\"  class=\"footnote-item\">'},dA.footnote_close=function(){return\"</li>\\n\"},dA.footnote_anchor=function(s,o){var i=\"fnref\"+Number(s[o].id+1).toString();return s[o].subId>0&&(i+=\":\"+s[o].subId),' <a href=\"#'+i+'\" class=\"footnote-backref\">↩</a>'},dA.dl_open=function(){return\"<dl>\\n\"},dA.dt_open=function(){return\"<dt>\"},dA.dd_open=function(){return\"<dd>\"},dA.dl_close=function(){return\"</dl>\\n\"},dA.dt_close=function(){return\"</dt>\\n\"},dA.dd_close=function(){return\"</dd>\\n\"};var fA=dA.getBreak=function getBreak(s,o){return(o=nextToken(s,o))<s.length&&\"list_item_close\"===s[o].type?\"\":\"\\n\"};function Renderer(){this.rules=index_browser_assign({},dA),this.getBreak=dA.getBreak}function Ruler(){this.__rules__=[],this.__cache__=null}function StateInline(s,o,i,a,u){this.src=s,this.env=a,this.options=i,this.parser=o,this.tokens=u,this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=\"\",this.pendingLevel=0,this.cache=[],this.isInLabel=!1,this.linkLevel=0,this.linkContent=\"\",this.labelUnmatchedScopes=0}function parseLinkLabel(s,o){var i,a,u,_=-1,w=s.posMax,x=s.pos,C=s.isInLabel;if(s.isInLabel)return-1;if(s.labelUnmatchedScopes)return s.labelUnmatchedScopes--,-1;for(s.pos=o+1,s.isInLabel=!0,i=1;s.pos<w;){if(91===(u=s.src.charCodeAt(s.pos)))i++;else if(93===u&&0===--i){a=!0;break}s.parser.skipToken(s)}return a?(_=s.pos,s.labelUnmatchedScopes=0):s.labelUnmatchedScopes=i-1,s.pos=x,s.isInLabel=C,_}function parseAbbr(s,o,i,a){var u,_,w,x,C,j;if(42!==s.charCodeAt(0))return-1;if(91!==s.charCodeAt(1))return-1;if(-1===s.indexOf(\"]:\"))return-1;if((_=parseLinkLabel(u=new StateInline(s,o,i,a,[]),1))<0||58!==s.charCodeAt(_+1))return-1;for(x=u.posMax,w=_+2;w<x&&10!==u.src.charCodeAt(w);w++);return C=s.slice(2,_),0===(j=s.slice(_+2,w).trim()).length?-1:(a.abbreviations||(a.abbreviations={}),void 0===a.abbreviations[\":\"+C]&&(a.abbreviations[\":\"+C]=j),w)}function normalizeLink(s){var o=replaceEntities(s);try{o=decodeURI(o)}catch(s){}return encodeURI(o)}function parseLinkDestination(s,o){var i,a,u,_=o,w=s.posMax;if(60===s.src.charCodeAt(o)){for(o++;o<w;){if(10===(i=s.src.charCodeAt(o)))return!1;if(62===i)return u=normalizeLink(unescapeMd(s.src.slice(_+1,o))),!!s.parser.validateLink(u)&&(s.pos=o+1,s.linkContent=u,!0);92===i&&o+1<w?o+=2:o++}return!1}for(a=0;o<w&&32!==(i=s.src.charCodeAt(o))&&!(i<32||127===i);)if(92===i&&o+1<w)o+=2;else{if(40===i&&++a>1)break;if(41===i&&--a<0)break;o++}return _!==o&&(u=unescapeMd(s.src.slice(_,o)),!!s.parser.validateLink(u)&&(s.linkContent=u,s.pos=o,!0))}function parseLinkTitle(s,o){var i,a=o,u=s.posMax,_=s.src.charCodeAt(o);if(34!==_&&39!==_&&40!==_)return!1;for(o++,40===_&&(_=41);o<u;){if((i=s.src.charCodeAt(o))===_)return s.pos=o+1,s.linkContent=unescapeMd(s.src.slice(a+1,o)),!0;92===i&&o+1<u?o+=2:o++}return!1}function normalizeReference(s){return s.trim().replace(/\\s+/g,\" \").toUpperCase()}function parseReference(s,o,i,a){var u,_,w,x,C,j,L,B,$;if(91!==s.charCodeAt(0))return-1;if(-1===s.indexOf(\"]:\"))return-1;if((_=parseLinkLabel(u=new StateInline(s,o,i,a,[]),0))<0||58!==s.charCodeAt(_+1))return-1;for(x=u.posMax,w=_+2;w<x&&(32===(C=u.src.charCodeAt(w))||10===C);w++);if(!parseLinkDestination(u,w))return-1;for(L=u.linkContent,j=w=u.pos,w+=1;w<x&&(32===(C=u.src.charCodeAt(w))||10===C);w++);for(w<x&&j!==w&&parseLinkTitle(u,w)?(B=u.linkContent,w=u.pos):(B=\"\",w=j);w<x&&32===u.src.charCodeAt(w);)w++;return w<x&&10!==u.src.charCodeAt(w)?-1:($=normalizeReference(s.slice(1,_)),void 0===a.references[$]&&(a.references[$]={title:B,href:L}),w)}Renderer.prototype.renderInline=function(s,o,i){for(var a=this.rules,u=s.length,_=0,w=\"\";u--;)w+=a[s[_].type](s,_++,o,i,this);return w},Renderer.prototype.render=function(s,o,i){for(var a=this.rules,u=s.length,_=-1,w=\"\";++_<u;)\"inline\"===s[_].type?w+=this.renderInline(s[_].children,o,i):w+=a[s[_].type](s,_,o,i,this);return w},Ruler.prototype.__find__=function(s){for(var o=this.__rules__.length,i=-1;o--;)if(this.__rules__[++i].name===s)return i;return-1},Ruler.prototype.__compile__=function(){var s=this,o=[\"\"];s.__rules__.forEach((function(s){s.enabled&&s.alt.forEach((function(s){o.indexOf(s)<0&&o.push(s)}))})),s.__cache__={},o.forEach((function(o){s.__cache__[o]=[],s.__rules__.forEach((function(i){i.enabled&&(o&&i.alt.indexOf(o)<0||s.__cache__[o].push(i.fn))}))}))},Ruler.prototype.at=function(s,o,i){var a=this.__find__(s),u=i||{};if(-1===a)throw new Error(\"Parser rule not found: \"+s);this.__rules__[a].fn=o,this.__rules__[a].alt=u.alt||[],this.__cache__=null},Ruler.prototype.before=function(s,o,i,a){var u=this.__find__(s),_=a||{};if(-1===u)throw new Error(\"Parser rule not found: \"+s);this.__rules__.splice(u,0,{name:o,enabled:!0,fn:i,alt:_.alt||[]}),this.__cache__=null},Ruler.prototype.after=function(s,o,i,a){var u=this.__find__(s),_=a||{};if(-1===u)throw new Error(\"Parser rule not found: \"+s);this.__rules__.splice(u+1,0,{name:o,enabled:!0,fn:i,alt:_.alt||[]}),this.__cache__=null},Ruler.prototype.push=function(s,o,i){var a=i||{};this.__rules__.push({name:s,enabled:!0,fn:o,alt:a.alt||[]}),this.__cache__=null},Ruler.prototype.enable=function(s,o){s=Array.isArray(s)?s:[s],o&&this.__rules__.forEach((function(s){s.enabled=!1})),s.forEach((function(s){var o=this.__find__(s);if(o<0)throw new Error(\"Rules manager: invalid rule name \"+s);this.__rules__[o].enabled=!0}),this),this.__cache__=null},Ruler.prototype.disable=function(s){(s=Array.isArray(s)?s:[s]).forEach((function(s){var o=this.__find__(s);if(o<0)throw new Error(\"Rules manager: invalid rule name \"+s);this.__rules__[o].enabled=!1}),this),this.__cache__=null},Ruler.prototype.getRules=function(s){return null===this.__cache__&&this.__compile__(),this.__cache__[s]||[]},StateInline.prototype.pushPending=function(){this.tokens.push({type:\"text\",content:this.pending,level:this.pendingLevel}),this.pending=\"\"},StateInline.prototype.push=function(s){this.pending&&this.pushPending(),this.tokens.push(s),this.pendingLevel=this.level},StateInline.prototype.cacheSet=function(s,o){for(var i=this.cache.length;i<=s;i++)this.cache.push(0);this.cache[s]=o},StateInline.prototype.cacheGet=function(s){return s<this.cache.length?this.cache[s]:0};var mA=\" \\n()[]'\\\".,!?-\";function regEscape(s){return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\")}var gA=/\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,yA=/\\((c|tm|r|p)\\)/gi,vA={c:\"©\",r:\"®\",p:\"§\",tm:\"™\"};function replaceScopedAbbr(s){return s.indexOf(\"(\")<0?s:s.replace(yA,(function(s,o){return vA[o.toLowerCase()]}))}var bA=/['\"]/,_A=/['\"]/g,SA=/[-\\s()\\[\\]]/;function isLetter(s,o){return!(o<0||o>=s.length)&&!SA.test(s[o])}function replaceAt(s,o,i){return s.substr(0,o)+i+s.substr(o+1)}var EA=[[\"block\",function block(s){s.inlineMode?s.tokens.push({type:\"inline\",content:s.src.replace(/\\n/g,\" \").trim(),level:0,lines:[0,1],children:[]}):s.block.parse(s.src,s.options,s.env,s.tokens)}],[\"abbr\",function abbr(s){var o,i,a,u,_=s.tokens;if(!s.inlineMode)for(o=1,i=_.length-1;o<i;o++)if(\"paragraph_open\"===_[o-1].type&&\"inline\"===_[o].type&&\"paragraph_close\"===_[o+1].type){for(a=_[o].content;a.length&&!((u=parseAbbr(a,s.inline,s.options,s.env))<0);)a=a.slice(u).trim();_[o].content=a,a.length||(_[o-1].tight=!0,_[o+1].tight=!0)}}],[\"references\",function references(s){var o,i,a,u,_=s.tokens;if(s.env.references=s.env.references||{},!s.inlineMode)for(o=1,i=_.length-1;o<i;o++)if(\"inline\"===_[o].type&&\"paragraph_open\"===_[o-1].type&&\"paragraph_close\"===_[o+1].type){for(a=_[o].content;a.length&&!((u=parseReference(a,s.inline,s.options,s.env))<0);)a=a.slice(u).trim();_[o].content=a,a.length||(_[o-1].tight=!0,_[o+1].tight=!0)}}],[\"inline\",function inline(s){var o,i,a,u=s.tokens;for(i=0,a=u.length;i<a;i++)\"inline\"===(o=u[i]).type&&s.inline.parse(o.content,s.options,s.env,o.children)}],[\"footnote_tail\",function footnote_block(s){var o,i,a,u,_,w,x,C,j,L=0,B=!1,$={};if(s.env.footnotes&&(s.tokens=s.tokens.filter((function(s){return\"footnote_reference_open\"===s.type?(B=!0,C=[],j=s.label,!1):\"footnote_reference_close\"===s.type?(B=!1,$[\":\"+j]=C,!1):(B&&C.push(s),!B)})),s.env.footnotes.list)){for(w=s.env.footnotes.list,s.tokens.push({type:\"footnote_block_open\",level:L++}),o=0,i=w.length;o<i;o++){for(s.tokens.push({type:\"footnote_open\",id:o,level:L++}),w[o].tokens?((x=[]).push({type:\"paragraph_open\",tight:!1,level:L++}),x.push({type:\"inline\",content:\"\",level:L,children:w[o].tokens}),x.push({type:\"paragraph_close\",tight:!1,level:--L})):w[o].label&&(x=$[\":\"+w[o].label]),s.tokens=s.tokens.concat(x),_=\"paragraph_close\"===s.tokens[s.tokens.length-1].type?s.tokens.pop():null,u=w[o].count>0?w[o].count:1,a=0;a<u;a++)s.tokens.push({type:\"footnote_anchor\",id:o,subId:a,level:L});_&&s.tokens.push(_),s.tokens.push({type:\"footnote_close\",level:--L})}s.tokens.push({type:\"footnote_block_close\",level:--L})}}],[\"abbr2\",function abbr2(s){var o,i,a,u,_,w,x,C,j,L,B,$,U=s.tokens;if(s.env.abbreviations)for(s.env.abbrRegExp||($=\"(^|[\"+mA.split(\"\").map(regEscape).join(\"\")+\"])(\"+Object.keys(s.env.abbreviations).map((function(s){return s.substr(1)})).sort((function(s,o){return o.length-s.length})).map(regEscape).join(\"|\")+\")($|[\"+mA.split(\"\").map(regEscape).join(\"\")+\"])\",s.env.abbrRegExp=new RegExp($,\"g\")),L=s.env.abbrRegExp,i=0,a=U.length;i<a;i++)if(\"inline\"===U[i].type)for(o=(u=U[i].children).length-1;o>=0;o--)if(\"text\"===(_=u[o]).type){for(C=0,w=_.content,L.lastIndex=0,j=_.level,x=[];B=L.exec(w);)L.lastIndex>C&&x.push({type:\"text\",content:w.slice(C,B.index+B[1].length),level:j}),x.push({type:\"abbr_open\",title:s.env.abbreviations[\":\"+B[2]],level:j++}),x.push({type:\"text\",content:B[2],level:j}),x.push({type:\"abbr_close\",level:--j}),C=L.lastIndex-B[3].length;x.length&&(C<w.length&&x.push({type:\"text\",content:w.slice(C),level:j}),U[i].children=u=[].concat(u.slice(0,o),x,u.slice(o+1)))}}],[\"replacements\",function index_browser_replace(s){var o,i,a,u,_;if(s.options.typographer)for(_=s.tokens.length-1;_>=0;_--)if(\"inline\"===s.tokens[_].type)for(o=(u=s.tokens[_].children).length-1;o>=0;o--)\"text\"===(i=u[o]).type&&(a=replaceScopedAbbr(a=i.content),gA.test(a)&&(a=a.replace(/\\+-/g,\"±\").replace(/\\.{2,}/g,\"…\").replace(/([?!])…/g,\"$1..\").replace(/([?!]){4,}/g,\"$1$1$1\").replace(/,{2,}/g,\",\").replace(/(^|[^-])---([^-]|$)/gm,\"$1—$2\").replace(/(^|\\s)--(\\s|$)/gm,\"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/gm,\"$1–$2\")),i.content=a)}],[\"smartquotes\",function smartquotes(s){var o,i,a,u,_,w,x,C,j,L,B,$,U,V,z,Y,Z;if(s.options.typographer)for(Z=[],z=s.tokens.length-1;z>=0;z--)if(\"inline\"===s.tokens[z].type)for(Y=s.tokens[z].children,Z.length=0,o=0;o<Y.length;o++)if(\"text\"===(i=Y[o]).type&&!bA.test(i.text)){for(x=Y[o].level,U=Z.length-1;U>=0&&!(Z[U].level<=x);U--);Z.length=U+1,_=0,w=(a=i.content).length;e:for(;_<w&&(_A.lastIndex=_,u=_A.exec(a));)if(C=!isLetter(a,u.index-1),_=u.index+1,V=\"'\"===u[0],(j=!isLetter(a,_))||C){if(B=!j,$=!C)for(U=Z.length-1;U>=0&&(L=Z[U],!(Z[U].level<x));U--)if(L.single===V&&Z[U].level===x){L=Z[U],V?(Y[L.token].content=replaceAt(Y[L.token].content,L.pos,s.options.quotes[2]),i.content=replaceAt(i.content,u.index,s.options.quotes[3])):(Y[L.token].content=replaceAt(Y[L.token].content,L.pos,s.options.quotes[0]),i.content=replaceAt(i.content,u.index,s.options.quotes[1])),Z.length=U;continue e}B?Z.push({token:o,pos:u.index,single:V,level:x}):$&&V&&(i.content=replaceAt(i.content,u.index,\"’\"))}else V&&(i.content=replaceAt(i.content,u.index,\"’\"))}}]];function Core(){this.options={},this.ruler=new Ruler;for(var s=0;s<EA.length;s++)this.ruler.push(EA[s][0],EA[s][1])}function StateBlock(s,o,i,a,u){var _,w,x,C,j,L,B;for(this.src=s,this.parser=o,this.options=i,this.env=a,this.tokens=u,this.bMarks=[],this.eMarks=[],this.tShift=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.parentType=\"root\",this.ddIndent=-1,this.level=0,this.result=\"\",L=0,B=!1,x=C=L=0,j=(w=this.src).length;C<j;C++){if(_=w.charCodeAt(C),!B){if(32===_){L++;continue}B=!0}10!==_&&C!==j-1||(10!==_&&C++,this.bMarks.push(x),this.eMarks.push(C),this.tShift.push(L),B=!1,L=0,x=C+1)}this.bMarks.push(w.length),this.eMarks.push(w.length),this.tShift.push(0),this.lineMax=this.bMarks.length-1}function skipBulletListMarker(s,o){var i,a,u;return(a=s.bMarks[o]+s.tShift[o])>=(u=s.eMarks[o])||42!==(i=s.src.charCodeAt(a++))&&45!==i&&43!==i||a<u&&32!==s.src.charCodeAt(a)?-1:a}function skipOrderedListMarker(s,o){var i,a=s.bMarks[o]+s.tShift[o],u=s.eMarks[o];if(a+1>=u)return-1;if((i=s.src.charCodeAt(a++))<48||i>57)return-1;for(;;){if(a>=u)return-1;if(!((i=s.src.charCodeAt(a++))>=48&&i<=57)){if(41===i||46===i)break;return-1}}return a<u&&32!==s.src.charCodeAt(a)?-1:a}Core.prototype.process=function(s){var o,i,a;for(o=0,i=(a=this.ruler.getRules(\"\")).length;o<i;o++)a[o](s)},StateBlock.prototype.isEmpty=function isEmpty(s){return this.bMarks[s]+this.tShift[s]>=this.eMarks[s]},StateBlock.prototype.skipEmptyLines=function skipEmptyLines(s){for(var o=this.lineMax;s<o&&!(this.bMarks[s]+this.tShift[s]<this.eMarks[s]);s++);return s},StateBlock.prototype.skipSpaces=function skipSpaces(s){for(var o=this.src.length;s<o&&32===this.src.charCodeAt(s);s++);return s},StateBlock.prototype.skipChars=function skipChars(s,o){for(var i=this.src.length;s<i&&this.src.charCodeAt(s)===o;s++);return s},StateBlock.prototype.skipCharsBack=function skipCharsBack(s,o,i){if(s<=i)return s;for(;s>i;)if(o!==this.src.charCodeAt(--s))return s+1;return s},StateBlock.prototype.getLines=function getLines(s,o,i,a){var u,_,w,x,C,j=s;if(s>=o)return\"\";if(j+1===o)return _=this.bMarks[j]+Math.min(this.tShift[j],i),w=a?this.eMarks[j]+1:this.eMarks[j],this.src.slice(_,w);for(x=new Array(o-s),u=0;j<o;j++,u++)(C=this.tShift[j])>i&&(C=i),C<0&&(C=0),_=this.bMarks[j]+C,w=j+1<o||a?this.eMarks[j]+1:this.eMarks[j],x[u]=this.src.slice(_,w);return x.join(\"\")};var wA={};[\"article\",\"aside\",\"button\",\"blockquote\",\"body\",\"canvas\",\"caption\",\"col\",\"colgroup\",\"dd\",\"div\",\"dl\",\"dt\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"iframe\",\"li\",\"map\",\"object\",\"ol\",\"output\",\"p\",\"pre\",\"progress\",\"script\",\"section\",\"style\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"tr\",\"thead\",\"ul\",\"video\"].forEach((function(s){wA[s]=!0}));var xA=/^<([a-zA-Z]{1,15})[\\s\\/>]/,kA=/^<\\/([a-zA-Z]{1,15})[\\s>]/;function index_browser_getLine(s,o){var i=s.bMarks[o]+s.blkIndent,a=s.eMarks[o];return s.src.substr(i,a-i)}function skipMarker(s,o){var i,a,u=s.bMarks[o]+s.tShift[o],_=s.eMarks[o];return u>=_||126!==(a=s.src.charCodeAt(u++))&&58!==a||u===(i=s.skipSpaces(u))||i>=_?-1:i}var OA=[[\"code\",function code(s,o,i){var a,u;if(s.tShift[o]-s.blkIndent<4)return!1;for(u=a=o+1;a<i;)if(s.isEmpty(a))a++;else{if(!(s.tShift[a]-s.blkIndent>=4))break;u=++a}return s.line=a,s.tokens.push({type:\"code\",content:s.getLines(o,u,4+s.blkIndent,!0),block:!0,lines:[o,s.line],level:s.level}),!0}],[\"fences\",function fences(s,o,i,a){var u,_,w,x,C,j=!1,L=s.bMarks[o]+s.tShift[o],B=s.eMarks[o];if(L+3>B)return!1;if(126!==(u=s.src.charCodeAt(L))&&96!==u)return!1;if(C=L,(_=(L=s.skipChars(L,u))-C)<3)return!1;if((w=s.src.slice(L,B).trim()).indexOf(\"`\")>=0)return!1;if(a)return!0;for(x=o;!(++x>=i)&&!((L=C=s.bMarks[x]+s.tShift[x])<(B=s.eMarks[x])&&s.tShift[x]<s.blkIndent);)if(s.src.charCodeAt(L)===u&&!(s.tShift[x]-s.blkIndent>=4||(L=s.skipChars(L,u))-C<_||(L=s.skipSpaces(L))<B)){j=!0;break}return _=s.tShift[o],s.line=x+(j?1:0),s.tokens.push({type:\"fence\",params:w,content:s.getLines(o+1,x,_,!0),lines:[o,s.line],level:s.level}),!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"blockquote\",function blockquote(s,o,i,a){var u,_,w,x,C,j,L,B,$,U,V,z=s.bMarks[o]+s.tShift[o],Y=s.eMarks[o];if(z>Y)return!1;if(62!==s.src.charCodeAt(z++))return!1;if(s.level>=s.options.maxNesting)return!1;if(a)return!0;for(32===s.src.charCodeAt(z)&&z++,C=s.blkIndent,s.blkIndent=0,x=[s.bMarks[o]],s.bMarks[o]=z,_=(z=z<Y?s.skipSpaces(z):z)>=Y,w=[s.tShift[o]],s.tShift[o]=z-s.bMarks[o],B=s.parser.ruler.getRules(\"blockquote\"),u=o+1;u<i&&!((z=s.bMarks[u]+s.tShift[u])>=(Y=s.eMarks[u]));u++)if(62!==s.src.charCodeAt(z++)){if(_)break;for(V=!1,$=0,U=B.length;$<U;$++)if(B[$](s,u,i,!0)){V=!0;break}if(V)break;x.push(s.bMarks[u]),w.push(s.tShift[u]),s.tShift[u]=-1337}else 32===s.src.charCodeAt(z)&&z++,x.push(s.bMarks[u]),s.bMarks[u]=z,_=(z=z<Y?s.skipSpaces(z):z)>=Y,w.push(s.tShift[u]),s.tShift[u]=z-s.bMarks[u];for(j=s.parentType,s.parentType=\"blockquote\",s.tokens.push({type:\"blockquote_open\",lines:L=[o,0],level:s.level++}),s.parser.tokenize(s,o,u),s.tokens.push({type:\"blockquote_close\",level:--s.level}),s.parentType=j,L[1]=s.line,$=0;$<w.length;$++)s.bMarks[$+o]=x[$],s.tShift[$+o]=w[$];return s.blkIndent=C,!0},[\"paragraph\",\"blockquote\",\"list\"]],[\"hr\",function hr(s,o,i,a){var u,_,w,x=s.bMarks[o],C=s.eMarks[o];if((x+=s.tShift[o])>C)return!1;if(42!==(u=s.src.charCodeAt(x++))&&45!==u&&95!==u)return!1;for(_=1;x<C;){if((w=s.src.charCodeAt(x++))!==u&&32!==w)return!1;w===u&&_++}return!(_<3)&&(a||(s.line=o+1,s.tokens.push({type:\"hr\",lines:[o,s.line],level:s.level})),!0)},[\"paragraph\",\"blockquote\",\"list\"]],[\"list\",function index_browser_list(s,o,i,a){var u,_,w,x,C,j,L,B,$,U,V,z,Y,Z,ee,ie,ae,ce,le,pe,de,fe=!0;if((B=skipOrderedListMarker(s,o))>=0)z=!0;else{if(!((B=skipBulletListMarker(s,o))>=0))return!1;z=!1}if(s.level>=s.options.maxNesting)return!1;if(V=s.src.charCodeAt(B-1),a)return!0;for(Z=s.tokens.length,z?(L=s.bMarks[o]+s.tShift[o],U=Number(s.src.substr(L,B-L-1)),s.tokens.push({type:\"ordered_list_open\",order:U,lines:ie=[o,0],level:s.level++})):s.tokens.push({type:\"bullet_list_open\",lines:ie=[o,0],level:s.level++}),u=o,ee=!1,ce=s.parser.ruler.getRules(\"list\");!(!(u<i)||(($=(Y=s.skipSpaces(B))>=s.eMarks[u]?1:Y-B)>4&&($=1),$<1&&($=1),_=B-s.bMarks[u]+$,s.tokens.push({type:\"list_item_open\",lines:ae=[o,0],level:s.level++}),x=s.blkIndent,C=s.tight,w=s.tShift[o],j=s.parentType,s.tShift[o]=Y-s.bMarks[o],s.blkIndent=_,s.tight=!0,s.parentType=\"list\",s.parser.tokenize(s,o,i,!0),s.tight&&!ee||(fe=!1),ee=s.line-o>1&&s.isEmpty(s.line-1),s.blkIndent=x,s.tShift[o]=w,s.tight=C,s.parentType=j,s.tokens.push({type:\"list_item_close\",level:--s.level}),u=o=s.line,ae[1]=u,Y=s.bMarks[o],u>=i)||s.isEmpty(u)||s.tShift[u]<s.blkIndent);){for(de=!1,le=0,pe=ce.length;le<pe;le++)if(ce[le](s,u,i,!0)){de=!0;break}if(de)break;if(z){if((B=skipOrderedListMarker(s,u))<0)break}else if((B=skipBulletListMarker(s,u))<0)break;if(V!==s.src.charCodeAt(B-1))break}return s.tokens.push({type:z?\"ordered_list_close\":\"bullet_list_close\",level:--s.level}),ie[1]=u,s.line=u,fe&&function markTightParagraphs(s,o){var i,a,u=s.level+2;for(i=o+2,a=s.tokens.length-2;i<a;i++)s.tokens[i].level===u&&\"paragraph_open\"===s.tokens[i].type&&(s.tokens[i+2].tight=!0,s.tokens[i].tight=!0,i+=2)}(s,Z),!0},[\"paragraph\",\"blockquote\"]],[\"footnote\",function footnote(s,o,i,a){var u,_,w,x,C,j=s.bMarks[o]+s.tShift[o],L=s.eMarks[o];if(j+4>L)return!1;if(91!==s.src.charCodeAt(j))return!1;if(94!==s.src.charCodeAt(j+1))return!1;if(s.level>=s.options.maxNesting)return!1;for(x=j+2;x<L;x++){if(32===s.src.charCodeAt(x))return!1;if(93===s.src.charCodeAt(x))break}return x!==j+2&&(!(x+1>=L||58!==s.src.charCodeAt(++x))&&(a||(x++,s.env.footnotes||(s.env.footnotes={}),s.env.footnotes.refs||(s.env.footnotes.refs={}),C=s.src.slice(j+2,x-2),s.env.footnotes.refs[\":\"+C]=-1,s.tokens.push({type:\"footnote_reference_open\",label:C,level:s.level++}),u=s.bMarks[o],_=s.tShift[o],w=s.parentType,s.tShift[o]=s.skipSpaces(x)-x,s.bMarks[o]=x,s.blkIndent+=4,s.parentType=\"footnote\",s.tShift[o]<s.blkIndent&&(s.tShift[o]+=s.blkIndent,s.bMarks[o]-=s.blkIndent),s.parser.tokenize(s,o,i,!0),s.parentType=w,s.blkIndent-=4,s.tShift[o]=_,s.bMarks[o]=u,s.tokens.push({type:\"footnote_reference_close\",level:--s.level})),!0))},[\"paragraph\"]],[\"heading\",function heading(s,o,i,a){var u,_,w,x=s.bMarks[o]+s.tShift[o],C=s.eMarks[o];if(x>=C)return!1;if(35!==(u=s.src.charCodeAt(x))||x>=C)return!1;for(_=1,u=s.src.charCodeAt(++x);35===u&&x<C&&_<=6;)_++,u=s.src.charCodeAt(++x);return!(_>6||x<C&&32!==u)&&(a||(C=s.skipCharsBack(C,32,x),(w=s.skipCharsBack(C,35,x))>x&&32===s.src.charCodeAt(w-1)&&(C=w),s.line=o+1,s.tokens.push({type:\"heading_open\",hLevel:_,lines:[o,s.line],level:s.level}),x<C&&s.tokens.push({type:\"inline\",content:s.src.slice(x,C).trim(),level:s.level+1,lines:[o,s.line],children:[]}),s.tokens.push({type:\"heading_close\",hLevel:_,level:s.level})),!0)},[\"paragraph\",\"blockquote\"]],[\"lheading\",function lheading(s,o,i){var a,u,_,w=o+1;return!(w>=i)&&(!(s.tShift[w]<s.blkIndent)&&(!(s.tShift[w]-s.blkIndent>3)&&(!((u=s.bMarks[w]+s.tShift[w])>=(_=s.eMarks[w]))&&((45===(a=s.src.charCodeAt(u))||61===a)&&(u=s.skipChars(u,a),!((u=s.skipSpaces(u))<_)&&(u=s.bMarks[o]+s.tShift[o],s.line=w+1,s.tokens.push({type:\"heading_open\",hLevel:61===a?1:2,lines:[o,s.line],level:s.level}),s.tokens.push({type:\"inline\",content:s.src.slice(u,s.eMarks[o]).trim(),level:s.level+1,lines:[o,s.line-1],children:[]}),s.tokens.push({type:\"heading_close\",hLevel:61===a?1:2,level:s.level}),!0))))))}],[\"htmlblock\",function htmlblock(s,o,i,a){var u,_,w,x=s.bMarks[o],C=s.eMarks[o],j=s.tShift[o];if(x+=j,!s.options.html)return!1;if(j>3||x+2>=C)return!1;if(60!==s.src.charCodeAt(x))return!1;if(33===(u=s.src.charCodeAt(x+1))||63===u){if(a)return!0}else{if(47!==u&&!function isLetter$1(s){var o=32|s;return o>=97&&o<=122}(u))return!1;if(47===u){if(!(_=s.src.slice(x,C).match(kA)))return!1}else if(!(_=s.src.slice(x,C).match(xA)))return!1;if(!0!==wA[_[1].toLowerCase()])return!1;if(a)return!0}for(w=o+1;w<s.lineMax&&!s.isEmpty(w);)w++;return s.line=w,s.tokens.push({type:\"htmlblock\",level:s.level,lines:[o,s.line],content:s.getLines(o,w,0,!0)}),!0},[\"paragraph\",\"blockquote\"]],[\"table\",function table(s,o,i,a){var u,_,w,x,C,j,L,B,$,U,V;if(o+2>i)return!1;if(C=o+1,s.tShift[C]<s.blkIndent)return!1;if((w=s.bMarks[C]+s.tShift[C])>=s.eMarks[C])return!1;if(124!==(u=s.src.charCodeAt(w))&&45!==u&&58!==u)return!1;if(_=index_browser_getLine(s,o+1),!/^[-:| ]+$/.test(_))return!1;if((j=_.split(\"|\"))<=2)return!1;for(B=[],x=0;x<j.length;x++){if(!($=j[x].trim())){if(0===x||x===j.length-1)continue;return!1}if(!/^:?-+:?$/.test($))return!1;58===$.charCodeAt($.length-1)?B.push(58===$.charCodeAt(0)?\"center\":\"right\"):58===$.charCodeAt(0)?B.push(\"left\"):B.push(\"\")}if(-1===(_=index_browser_getLine(s,o).trim()).indexOf(\"|\"))return!1;if(j=_.replace(/^\\||\\|$/g,\"\").split(\"|\"),B.length!==j.length)return!1;if(a)return!0;for(s.tokens.push({type:\"table_open\",lines:U=[o,0],level:s.level++}),s.tokens.push({type:\"thead_open\",lines:[o,o+1],level:s.level++}),s.tokens.push({type:\"tr_open\",lines:[o,o+1],level:s.level++}),x=0;x<j.length;x++)s.tokens.push({type:\"th_open\",align:B[x],lines:[o,o+1],level:s.level++}),s.tokens.push({type:\"inline\",content:j[x].trim(),lines:[o,o+1],level:s.level,children:[]}),s.tokens.push({type:\"th_close\",level:--s.level});for(s.tokens.push({type:\"tr_close\",level:--s.level}),s.tokens.push({type:\"thead_close\",level:--s.level}),s.tokens.push({type:\"tbody_open\",lines:V=[o+2,0],level:s.level++}),C=o+2;C<i&&!(s.tShift[C]<s.blkIndent)&&-1!==(_=index_browser_getLine(s,C).trim()).indexOf(\"|\");C++){for(j=_.replace(/^\\||\\|$/g,\"\").split(\"|\"),s.tokens.push({type:\"tr_open\",level:s.level++}),x=0;x<j.length;x++)s.tokens.push({type:\"td_open\",align:B[x],level:s.level++}),L=j[x].substring(124===j[x].charCodeAt(0)?1:0,124===j[x].charCodeAt(j[x].length-1)?j[x].length-1:j[x].length).trim(),s.tokens.push({type:\"inline\",content:L,level:s.level,children:[]}),s.tokens.push({type:\"td_close\",level:--s.level});s.tokens.push({type:\"tr_close\",level:--s.level})}return s.tokens.push({type:\"tbody_close\",level:--s.level}),s.tokens.push({type:\"table_close\",level:--s.level}),U[1]=V[1]=C,s.line=C,!0},[\"paragraph\"]],[\"deflist\",function deflist(s,o,i,a){var u,_,w,x,C,j,L,B,$,U,V,z,Y,Z;if(a)return!(s.ddIndent<0)&&skipMarker(s,o)>=0;if(L=o+1,s.isEmpty(L)&&++L>i)return!1;if(s.tShift[L]<s.blkIndent)return!1;if((u=skipMarker(s,L))<0)return!1;if(s.level>=s.options.maxNesting)return!1;j=s.tokens.length,s.tokens.push({type:\"dl_open\",lines:C=[o,0],level:s.level++}),w=o,_=L;e:for(;;){for(Z=!0,Y=!1,s.tokens.push({type:\"dt_open\",lines:[w,w],level:s.level++}),s.tokens.push({type:\"inline\",content:s.getLines(w,w+1,s.blkIndent,!1).trim(),level:s.level+1,lines:[w,w],children:[]}),s.tokens.push({type:\"dt_close\",level:--s.level});;){if(s.tokens.push({type:\"dd_open\",lines:x=[L,0],level:s.level++}),z=s.tight,$=s.ddIndent,B=s.blkIndent,V=s.tShift[_],U=s.parentType,s.blkIndent=s.ddIndent=s.tShift[_]+2,s.tShift[_]=u-s.bMarks[_],s.tight=!0,s.parentType=\"deflist\",s.parser.tokenize(s,_,i,!0),s.tight&&!Y||(Z=!1),Y=s.line-_>1&&s.isEmpty(s.line-1),s.tShift[_]=V,s.tight=z,s.parentType=U,s.blkIndent=B,s.ddIndent=$,s.tokens.push({type:\"dd_close\",level:--s.level}),x[1]=L=s.line,L>=i)break e;if(s.tShift[L]<s.blkIndent)break e;if((u=skipMarker(s,L))<0)break;_=L}if(L>=i)break;if(w=L,s.isEmpty(w))break;if(s.tShift[w]<s.blkIndent)break;if((_=w+1)>=i)break;if(s.isEmpty(_)&&_++,_>=i)break;if(s.tShift[_]<s.blkIndent)break;if((u=skipMarker(s,_))<0)break}return s.tokens.push({type:\"dl_close\",level:--s.level}),C[1]=L,s.line=L,Z&&function markTightParagraphs$1(s,o){var i,a,u=s.level+2;for(i=o+2,a=s.tokens.length-2;i<a;i++)s.tokens[i].level===u&&\"paragraph_open\"===s.tokens[i].type&&(s.tokens[i+2].tight=!0,s.tokens[i].tight=!0,i+=2)}(s,j),!0},[\"paragraph\"]],[\"paragraph\",function paragraph(s,o){var i,a,u,_,w,x,C=o+1;if(C<(i=s.lineMax)&&!s.isEmpty(C))for(x=s.parser.ruler.getRules(\"paragraph\");C<i&&!s.isEmpty(C);C++)if(!(s.tShift[C]-s.blkIndent>3)){for(u=!1,_=0,w=x.length;_<w;_++)if(x[_](s,C,i,!0)){u=!0;break}if(u)break}return a=s.getLines(o,C,s.blkIndent,!1).trim(),s.line=C,a.length&&(s.tokens.push({type:\"paragraph_open\",tight:!1,lines:[o,s.line],level:s.level}),s.tokens.push({type:\"inline\",content:a,level:s.level+1,lines:[o,s.line],children:[]}),s.tokens.push({type:\"paragraph_close\",tight:!1,level:s.level})),!0}]];function ParserBlock(){this.ruler=new Ruler;for(var s=0;s<OA.length;s++)this.ruler.push(OA[s][0],OA[s][1],{alt:(OA[s][2]||[]).slice()})}ParserBlock.prototype.tokenize=function(s,o,i){for(var a,u=this.ruler.getRules(\"\"),_=u.length,w=o,x=!1;w<i&&(s.line=w=s.skipEmptyLines(w),!(w>=i))&&!(s.tShift[w]<s.blkIndent);){for(a=0;a<_&&!u[a](s,w,i,!1);a++);if(s.tight=!x,s.isEmpty(s.line-1)&&(x=!0),(w=s.line)<i&&s.isEmpty(w)){if(x=!0,++w<i&&\"list\"===s.parentType&&s.isEmpty(w))break;s.line=w}}};var AA=/[\\n\\t]/g,CA=/\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,jA=/\\u00a0/g;function isTerminatorChar(s){switch(s){case 10:case 92:case 96:case 42:case 95:case 94:case 91:case 93:case 33:case 38:case 60:case 62:case 123:case 125:case 36:case 37:case 64:case 126:case 43:case 61:case 58:return!0;default:return!1}}ParserBlock.prototype.parse=function(s,o,i,a){var u,_=0,w=0;if(!s)return[];(s=(s=s.replace(jA,\" \")).replace(CA,\"\\n\")).indexOf(\"\\t\")>=0&&(s=s.replace(AA,(function(o,i){var a;return 10===s.charCodeAt(i)?(_=i+1,w=0,o):(a=\"    \".slice((i-_-w)%4),w=i-_+1,a)}))),u=new StateBlock(s,this,o,i,a),this.tokenize(u,u.line,u.lineMax)};for(var PA=[],IA=0;IA<256;IA++)PA.push(0);function isAlphaNum(s){return s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122}function scanDelims(s,o){var i,a,u,_=o,w=!0,x=!0,C=s.posMax,j=s.src.charCodeAt(o);for(i=o>0?s.src.charCodeAt(o-1):-1;_<C&&s.src.charCodeAt(_)===j;)_++;return _>=C&&(w=!1),(u=_-o)>=4?w=x=!1:(32!==(a=_<C?s.src.charCodeAt(_):-1)&&10!==a||(w=!1),32!==i&&10!==i||(x=!1),95===j&&(isAlphaNum(i)&&(w=!1),isAlphaNum(a)&&(x=!1))),{can_open:w,can_close:x,delims:u}}\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach((function(s){PA[s.charCodeAt(0)]=1}));var TA=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var NA=/\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;var MA=[\"coap\",\"doi\",\"javascript\",\"aaa\",\"aaas\",\"about\",\"acap\",\"cap\",\"cid\",\"crid\",\"data\",\"dav\",\"dict\",\"dns\",\"file\",\"ftp\",\"geo\",\"go\",\"gopher\",\"h323\",\"http\",\"https\",\"iax\",\"icap\",\"im\",\"imap\",\"info\",\"ipp\",\"iris\",\"iris.beep\",\"iris.xpc\",\"iris.xpcs\",\"iris.lwz\",\"ldap\",\"mailto\",\"mid\",\"msrp\",\"msrps\",\"mtqp\",\"mupdate\",\"news\",\"nfs\",\"ni\",\"nih\",\"nntp\",\"opaquelocktoken\",\"pop\",\"pres\",\"rtsp\",\"service\",\"session\",\"shttp\",\"sieve\",\"sip\",\"sips\",\"sms\",\"snmp\",\"soap.beep\",\"soap.beeps\",\"tag\",\"tel\",\"telnet\",\"tftp\",\"thismessage\",\"tn3270\",\"tip\",\"tv\",\"urn\",\"vemmi\",\"ws\",\"wss\",\"xcon\",\"xcon-userid\",\"xmlrpc.beep\",\"xmlrpc.beeps\",\"xmpp\",\"z39.50r\",\"z39.50s\",\"adiumxtra\",\"afp\",\"afs\",\"aim\",\"apt\",\"attachment\",\"aw\",\"beshare\",\"bitcoin\",\"bolo\",\"callto\",\"chrome\",\"chrome-extension\",\"com-eventbrite-attendee\",\"content\",\"cvs\",\"dlna-playsingle\",\"dlna-playcontainer\",\"dtn\",\"dvb\",\"ed2k\",\"facetime\",\"feed\",\"finger\",\"fish\",\"gg\",\"git\",\"gizmoproject\",\"gtalk\",\"hcp\",\"icon\",\"ipn\",\"irc\",\"irc6\",\"ircs\",\"itms\",\"jar\",\"jms\",\"keyparc\",\"lastfm\",\"ldaps\",\"magnet\",\"maps\",\"market\",\"message\",\"mms\",\"ms-help\",\"msnim\",\"mumble\",\"mvn\",\"notes\",\"oid\",\"palm\",\"paparazzi\",\"platform\",\"proxy\",\"psyc\",\"query\",\"res\",\"resource\",\"rmi\",\"rsync\",\"rtmp\",\"secondlife\",\"sftp\",\"sgn\",\"skype\",\"smb\",\"soldat\",\"spotify\",\"ssh\",\"steam\",\"svn\",\"teamspeak\",\"things\",\"udp\",\"unreal\",\"ut2004\",\"ventrilo\",\"view-source\",\"webcal\",\"wtai\",\"wyciwyg\",\"xfire\",\"xri\",\"ymsgr\"],RA=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,DA=/^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;function replace$1(s,o){return s=s.source,o=o||\"\",function self(i,a){return i?(a=a.source||a,s=s.replace(i,a),self):new RegExp(s,o)}}var LA=replace$1(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\",/[^\"'=<>`\\x00-\\x20]+/)(\"single_quoted\",/'[^']*'/)(\"double_quoted\",/\"[^\"]*\"/)(),FA=replace$1(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)(\"attr_value\",LA)(),BA=replace$1(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\",FA)(),$A=replace$1(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\",BA)(\"close_tag\",/<\\/[A-Za-z][A-Za-z0-9]*\\s*>/)(\"comment\",/<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/)(\"processing\",/<[?].*?[?]>/)(\"declaration\",/<![A-Z]+\\s+[^>]*>/)(\"cdata\",/<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/)();var qA=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,UA=/^&([a-z][a-z0-9]{1,31});/i;var VA=[[\"text\",function index_browser_text(s,o){for(var i=s.pos;i<s.posMax&&!isTerminatorChar(s.src.charCodeAt(i));)i++;return i!==s.pos&&(o||(s.pending+=s.src.slice(s.pos,i)),s.pos=i,!0)}],[\"newline\",function newline(s,o){var i,a,u=s.pos;if(10!==s.src.charCodeAt(u))return!1;if(i=s.pending.length-1,a=s.posMax,!o)if(i>=0&&32===s.pending.charCodeAt(i))if(i>=1&&32===s.pending.charCodeAt(i-1)){for(var _=i-2;_>=0;_--)if(32!==s.pending.charCodeAt(_)){s.pending=s.pending.substring(0,_+1);break}s.push({type:\"hardbreak\",level:s.level})}else s.pending=s.pending.slice(0,-1),s.push({type:\"softbreak\",level:s.level});else s.push({type:\"softbreak\",level:s.level});for(u++;u<a&&32===s.src.charCodeAt(u);)u++;return s.pos=u,!0}],[\"escape\",function index_browser_escape(s,o){var i,a=s.pos,u=s.posMax;if(92!==s.src.charCodeAt(a))return!1;if(++a<u){if((i=s.src.charCodeAt(a))<256&&0!==PA[i])return o||(s.pending+=s.src[a]),s.pos+=2,!0;if(10===i){for(o||s.push({type:\"hardbreak\",level:s.level}),a++;a<u&&32===s.src.charCodeAt(a);)a++;return s.pos=a,!0}}return o||(s.pending+=\"\\\\\"),s.pos++,!0}],[\"backticks\",function backticks(s,o){var i,a,u,_,w,x=s.pos;if(96!==s.src.charCodeAt(x))return!1;for(i=x,x++,a=s.posMax;x<a&&96===s.src.charCodeAt(x);)x++;for(u=s.src.slice(i,x),_=w=x;-1!==(_=s.src.indexOf(\"`\",w));){for(w=_+1;w<a&&96===s.src.charCodeAt(w);)w++;if(w-_===u.length)return o||s.push({type:\"code\",content:s.src.slice(x,_).replace(/[ \\n]+/g,\" \").trim(),block:!1,level:s.level}),s.pos=w,!0}return o||(s.pending+=u),s.pos+=u.length,!0}],[\"del\",function del(s,o){var i,a,u,_,w,x=s.posMax,C=s.pos;if(126!==s.src.charCodeAt(C))return!1;if(o)return!1;if(C+4>=x)return!1;if(126!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),126===_)return!1;if(126===w)return!1;if(32===w||10===w)return!1;for(a=C+2;a<x&&126===s.src.charCodeAt(a);)a++;if(a>C+3)return s.pos+=a-C,o||(s.pending+=s.src.slice(C,a)),!0;for(s.pos=C+2,u=1;s.pos+1<x;){if(126===s.src.charCodeAt(s.pos)&&126===s.src.charCodeAt(s.pos+1)&&(_=s.src.charCodeAt(s.pos-1),126!==(w=s.pos+2<x?s.src.charCodeAt(s.pos+2):-1)&&126!==_&&(32!==_&&10!==_?u--:32!==w&&10!==w&&u++,u<=0))){i=!0;break}s.parser.skipToken(s)}return i?(s.posMax=s.pos,s.pos=C+2,o||(s.push({type:\"del_open\",level:s.level++}),s.parser.tokenize(s),s.push({type:\"del_close\",level:--s.level})),s.pos=s.posMax+2,s.posMax=x,!0):(s.pos=C,!1)}],[\"ins\",function ins(s,o){var i,a,u,_,w,x=s.posMax,C=s.pos;if(43!==s.src.charCodeAt(C))return!1;if(o)return!1;if(C+4>=x)return!1;if(43!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),43===_)return!1;if(43===w)return!1;if(32===w||10===w)return!1;for(a=C+2;a<x&&43===s.src.charCodeAt(a);)a++;if(a!==C+2)return s.pos+=a-C,o||(s.pending+=s.src.slice(C,a)),!0;for(s.pos=C+2,u=1;s.pos+1<x;){if(43===s.src.charCodeAt(s.pos)&&43===s.src.charCodeAt(s.pos+1)&&(_=s.src.charCodeAt(s.pos-1),43!==(w=s.pos+2<x?s.src.charCodeAt(s.pos+2):-1)&&43!==_&&(32!==_&&10!==_?u--:32!==w&&10!==w&&u++,u<=0))){i=!0;break}s.parser.skipToken(s)}return i?(s.posMax=s.pos,s.pos=C+2,o||(s.push({type:\"ins_open\",level:s.level++}),s.parser.tokenize(s),s.push({type:\"ins_close\",level:--s.level})),s.pos=s.posMax+2,s.posMax=x,!0):(s.pos=C,!1)}],[\"mark\",function mark(s,o){var i,a,u,_,w,x=s.posMax,C=s.pos;if(61!==s.src.charCodeAt(C))return!1;if(o)return!1;if(C+4>=x)return!1;if(61!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),61===_)return!1;if(61===w)return!1;if(32===w||10===w)return!1;for(a=C+2;a<x&&61===s.src.charCodeAt(a);)a++;if(a!==C+2)return s.pos+=a-C,o||(s.pending+=s.src.slice(C,a)),!0;for(s.pos=C+2,u=1;s.pos+1<x;){if(61===s.src.charCodeAt(s.pos)&&61===s.src.charCodeAt(s.pos+1)&&(_=s.src.charCodeAt(s.pos-1),61!==(w=s.pos+2<x?s.src.charCodeAt(s.pos+2):-1)&&61!==_&&(32!==_&&10!==_?u--:32!==w&&10!==w&&u++,u<=0))){i=!0;break}s.parser.skipToken(s)}return i?(s.posMax=s.pos,s.pos=C+2,o||(s.push({type:\"mark_open\",level:s.level++}),s.parser.tokenize(s),s.push({type:\"mark_close\",level:--s.level})),s.pos=s.posMax+2,s.posMax=x,!0):(s.pos=C,!1)}],[\"emphasis\",function emphasis(s,o){var i,a,u,_,w,x,C,j=s.posMax,L=s.pos,B=s.src.charCodeAt(L);if(95!==B&&42!==B)return!1;if(o)return!1;if(i=(C=scanDelims(s,L)).delims,!C.can_open)return s.pos+=i,o||(s.pending+=s.src.slice(L,s.pos)),!0;if(s.level>=s.options.maxNesting)return!1;for(s.pos=L+i,x=[i];s.pos<j;)if(s.src.charCodeAt(s.pos)!==B)s.parser.skipToken(s);else{if(a=(C=scanDelims(s,s.pos)).delims,C.can_close){for(_=x.pop(),w=a;_!==w;){if(w<_){x.push(_-w);break}if(w-=_,0===x.length)break;s.pos+=_,_=x.pop()}if(0===x.length){i=_,u=!0;break}s.pos+=a;continue}C.can_open&&x.push(a),s.pos+=a}return u?(s.posMax=s.pos,s.pos=L+i,o||(2!==i&&3!==i||s.push({type:\"strong_open\",level:s.level++}),1!==i&&3!==i||s.push({type:\"em_open\",level:s.level++}),s.parser.tokenize(s),1!==i&&3!==i||s.push({type:\"em_close\",level:--s.level}),2!==i&&3!==i||s.push({type:\"strong_close\",level:--s.level})),s.pos=s.posMax+i,s.posMax=j,!0):(s.pos=L,!1)}],[\"sub\",function sub(s,o){var i,a,u=s.posMax,_=s.pos;if(126!==s.src.charCodeAt(_))return!1;if(o)return!1;if(_+2>=u)return!1;if(s.level>=s.options.maxNesting)return!1;for(s.pos=_+1;s.pos<u;){if(126===s.src.charCodeAt(s.pos)){i=!0;break}s.parser.skipToken(s)}return i&&_+1!==s.pos?(a=s.src.slice(_+1,s.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(s.pos=_,!1):(s.posMax=s.pos,s.pos=_+1,o||s.push({type:\"sub\",level:s.level,content:a.replace(TA,\"$1\")}),s.pos=s.posMax+1,s.posMax=u,!0):(s.pos=_,!1)}],[\"sup\",function sup(s,o){var i,a,u=s.posMax,_=s.pos;if(94!==s.src.charCodeAt(_))return!1;if(o)return!1;if(_+2>=u)return!1;if(s.level>=s.options.maxNesting)return!1;for(s.pos=_+1;s.pos<u;){if(94===s.src.charCodeAt(s.pos)){i=!0;break}s.parser.skipToken(s)}return i&&_+1!==s.pos?(a=s.src.slice(_+1,s.pos)).match(/(^|[^\\\\])(\\\\\\\\)*\\s/)?(s.pos=_,!1):(s.posMax=s.pos,s.pos=_+1,o||s.push({type:\"sup\",level:s.level,content:a.replace(NA,\"$1\")}),s.pos=s.posMax+1,s.posMax=u,!0):(s.pos=_,!1)}],[\"links\",function links(s,o){var i,a,u,_,w,x,C,j,L=!1,B=s.pos,$=s.posMax,U=s.pos,V=s.src.charCodeAt(U);if(33===V&&(L=!0,V=s.src.charCodeAt(++U)),91!==V)return!1;if(s.level>=s.options.maxNesting)return!1;if(i=U+1,(a=parseLinkLabel(s,U))<0)return!1;if((x=a+1)<$&&40===s.src.charCodeAt(x)){for(x++;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x>=$)return!1;for(U=x,parseLinkDestination(s,x)?(_=s.linkContent,x=s.pos):_=\"\",U=x;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x<$&&U!==x&&parseLinkTitle(s,x))for(w=s.linkContent,x=s.pos;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);else w=\"\";if(x>=$||41!==s.src.charCodeAt(x))return s.pos=B,!1;x++}else{if(s.linkLevel>0)return!1;for(;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x<$&&91===s.src.charCodeAt(x)&&(U=x+1,(x=parseLinkLabel(s,x))>=0?u=s.src.slice(U,x++):x=U-1),u||(void 0===u&&(x=a+1),u=s.src.slice(i,a)),!(C=s.env.references[normalizeReference(u)]))return s.pos=B,!1;_=C.href,w=C.title}return o||(s.pos=i,s.posMax=a,L?s.push({type:\"image\",src:_,title:w,alt:s.src.substr(i,a-i),level:s.level}):(s.push({type:\"link_open\",href:_,title:w,level:s.level++}),s.linkLevel++,s.parser.tokenize(s),s.linkLevel--,s.push({type:\"link_close\",level:--s.level}))),s.pos=x,s.posMax=$,!0}],[\"footnote_inline\",function footnote_inline(s,o){var i,a,u,_,w=s.posMax,x=s.pos;return!(x+2>=w)&&(94===s.src.charCodeAt(x)&&(91===s.src.charCodeAt(x+1)&&(!(s.level>=s.options.maxNesting)&&(i=x+2,!((a=parseLinkLabel(s,x+1))<0)&&(o||(s.env.footnotes||(s.env.footnotes={}),s.env.footnotes.list||(s.env.footnotes.list=[]),u=s.env.footnotes.list.length,s.pos=i,s.posMax=a,s.push({type:\"footnote_ref\",id:u,level:s.level}),s.linkLevel++,_=s.tokens.length,s.parser.tokenize(s),s.env.footnotes.list[u]={tokens:s.tokens.splice(_)},s.linkLevel--),s.pos=a+1,s.posMax=w,!0)))))}],[\"footnote_ref\",function footnote_ref(s,o){var i,a,u,_,w=s.posMax,x=s.pos;if(x+3>w)return!1;if(!s.env.footnotes||!s.env.footnotes.refs)return!1;if(91!==s.src.charCodeAt(x))return!1;if(94!==s.src.charCodeAt(x+1))return!1;if(s.level>=s.options.maxNesting)return!1;for(a=x+2;a<w;a++){if(32===s.src.charCodeAt(a))return!1;if(10===s.src.charCodeAt(a))return!1;if(93===s.src.charCodeAt(a))break}return a!==x+2&&(!(a>=w)&&(a++,i=s.src.slice(x+2,a-1),void 0!==s.env.footnotes.refs[\":\"+i]&&(o||(s.env.footnotes.list||(s.env.footnotes.list=[]),s.env.footnotes.refs[\":\"+i]<0?(u=s.env.footnotes.list.length,s.env.footnotes.list[u]={label:i,count:0},s.env.footnotes.refs[\":\"+i]=u):u=s.env.footnotes.refs[\":\"+i],_=s.env.footnotes.list[u].count,s.env.footnotes.list[u].count++,s.push({type:\"footnote_ref\",id:u,subId:_,level:s.level})),s.pos=a,s.posMax=w,!0)))}],[\"autolink\",function autolink(s,o){var i,a,u,_,w,x=s.pos;return 60===s.src.charCodeAt(x)&&(!((i=s.src.slice(x)).indexOf(\">\")<0)&&((a=i.match(DA))?!(MA.indexOf(a[1].toLowerCase())<0)&&(w=normalizeLink(_=a[0].slice(1,-1)),!!s.parser.validateLink(_)&&(o||(s.push({type:\"link_open\",href:w,level:s.level}),s.push({type:\"text\",content:_,level:s.level+1}),s.push({type:\"link_close\",level:s.level})),s.pos+=a[0].length,!0)):!!(u=i.match(RA))&&(w=normalizeLink(\"mailto:\"+(_=u[0].slice(1,-1))),!!s.parser.validateLink(w)&&(o||(s.push({type:\"link_open\",href:w,level:s.level}),s.push({type:\"text\",content:_,level:s.level+1}),s.push({type:\"link_close\",level:s.level})),s.pos+=u[0].length,!0))))}],[\"htmltag\",function htmltag(s,o){var i,a,u,_=s.pos;return!!s.options.html&&(u=s.posMax,!(60!==s.src.charCodeAt(_)||_+2>=u)&&(!(33!==(i=s.src.charCodeAt(_+1))&&63!==i&&47!==i&&!function isLetter$2(s){var o=32|s;return o>=97&&o<=122}(i))&&(!!(a=s.src.slice(_).match($A))&&(o||s.push({type:\"htmltag\",content:s.src.slice(_,_+a[0].length),level:s.level}),s.pos+=a[0].length,!0))))}],[\"entity\",function entity(s,o){var i,a,u=s.pos,_=s.posMax;if(38!==s.src.charCodeAt(u))return!1;if(u+1<_)if(35===s.src.charCodeAt(u+1)){if(a=s.src.slice(u).match(qA))return o||(i=\"x\"===a[1][0].toLowerCase()?parseInt(a[1].slice(1),16):parseInt(a[1],10),s.pending+=isValidEntityCode(i)?fromCodePoint(i):fromCodePoint(65533)),s.pos+=a[0].length,!0}else if(a=s.src.slice(u).match(UA)){var w=decodeEntity(a[1]);if(a[1]!==w)return o||(s.pending+=w),s.pos+=a[0].length,!0}return o||(s.pending+=\"&\"),s.pos++,!0}]];function ParserInline(){this.ruler=new Ruler;for(var s=0;s<VA.length;s++)this.ruler.push(VA[s][0],VA[s][1]);this.validateLink=validateLink}function validateLink(s){var o=s.trim().toLowerCase();return-1===(o=replaceEntities(o)).indexOf(\":\")||-1===[\"vbscript\",\"javascript\",\"file\",\"data\"].indexOf(o.split(\":\")[0])}ParserInline.prototype.skipToken=function(s){var o,i,a=this.ruler.getRules(\"\"),u=a.length,_=s.pos;if((i=s.cacheGet(_))>0)s.pos=i;else{for(o=0;o<u;o++)if(a[o](s,!0))return void s.cacheSet(_,s.pos);s.pos++,s.cacheSet(_,s.pos)}},ParserInline.prototype.tokenize=function(s){for(var o,i,a=this.ruler.getRules(\"\"),u=a.length,_=s.posMax;s.pos<_;){for(i=0;i<u&&!(o=a[i](s,!1));i++);if(o){if(s.pos>=_)break}else s.pending+=s.src[s.pos++]}s.pending&&s.pushPending()},ParserInline.prototype.parse=function(s,o,i,a){var u=new StateInline(s,this,o,i,a);this.tokenize(u)};var zA={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"replacements\",\"smartquotes\",\"references\",\"abbr2\",\"footnote_tail\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"footnote\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\",\"table\"]},inline:{rules:[\"autolink\",\"backticks\",\"del\",\"emphasis\",\"entity\",\"escape\",\"footnote_ref\",\"htmltag\",\"links\",\"newline\",\"text\"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:\"language-\",linkTarget:\"\",typographer:!1,quotes:\"“”‘’\",highlight:null,maxNesting:20},components:{core:{rules:[\"block\",\"inline\",\"references\",\"abbr2\"]},block:{rules:[\"blockquote\",\"code\",\"fences\",\"heading\",\"hr\",\"htmlblock\",\"lheading\",\"list\",\"paragraph\"]},inline:{rules:[\"autolink\",\"backticks\",\"emphasis\",\"entity\",\"escape\",\"htmltag\",\"links\",\"newline\",\"text\"]}}}};function StateCore(s,o,i){this.src=o,this.env=i,this.options=s.options,this.tokens=[],this.inlineMode=!1,this.inline=s.inline,this.block=s.block,this.renderer=s.renderer,this.typographer=s.typographer}function Remarkable(s,o){\"string\"!=typeof s&&(o=s,s=\"default\"),o&&null!=o.linkify&&console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"),this.inline=new ParserInline,this.block=new ParserBlock,this.core=new Core,this.renderer=new Renderer,this.ruler=new Ruler,this.options={},this.configure(zA[s]),this.set(o||{})}Remarkable.prototype.set=function(s){index_browser_assign(this.options,s)},Remarkable.prototype.configure=function(s){var o=this;if(!s)throw new Error(\"Wrong `remarkable` preset, check name/content\");s.options&&o.set(s.options),s.components&&Object.keys(s.components).forEach((function(i){s.components[i].rules&&o[i].ruler.enable(s.components[i].rules,!0)}))},Remarkable.prototype.use=function(s,o){return s(this,o),this},Remarkable.prototype.parse=function(s,o){var i=new StateCore(this,s,o);return this.core.process(i),i.tokens},Remarkable.prototype.render=function(s,o){return o=o||{},this.renderer.render(this.parse(s,o),this.options,o)},Remarkable.prototype.parseInline=function(s,o){var i=new StateCore(this,s,o);return i.inlineMode=!0,this.core.process(i),i.tokens},Remarkable.prototype.renderInline=function(s,o){return o=o||{},this.renderer.render(this.parseInline(s,o),this.options,o)};function indexOf(s,o){if(Array.prototype.indexOf)return s.indexOf(o);for(var i=0,a=s.length;i<a;i++)if(s[i]===o)return i;return-1}function utils_remove(s,o){for(var i=s.length-1;i>=0;i--)!0===o(s[i])&&s.splice(i,1)}function throwUnhandledCaseError(s){throw new Error(\"Unhandled case for value: '\".concat(s,\"'\"))}var WA=function(){function HtmlTag(s){void 0===s&&(s={}),this.tagName=\"\",this.attrs={},this.innerHTML=\"\",this.whitespaceRegex=/\\s+/,this.tagName=s.tagName||\"\",this.attrs=s.attrs||{},this.innerHTML=s.innerHtml||s.innerHTML||\"\"}return HtmlTag.prototype.setTagName=function(s){return this.tagName=s,this},HtmlTag.prototype.getTagName=function(){return this.tagName||\"\"},HtmlTag.prototype.setAttr=function(s,o){return this.getAttrs()[s]=o,this},HtmlTag.prototype.getAttr=function(s){return this.getAttrs()[s]},HtmlTag.prototype.setAttrs=function(s){return Object.assign(this.getAttrs(),s),this},HtmlTag.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},HtmlTag.prototype.setClass=function(s){return this.setAttr(\"class\",s)},HtmlTag.prototype.addClass=function(s){for(var o,i=this.getClass(),a=this.whitespaceRegex,u=i?i.split(a):[],_=s.split(a);o=_.shift();)-1===indexOf(u,o)&&u.push(o);return this.getAttrs().class=u.join(\" \"),this},HtmlTag.prototype.removeClass=function(s){for(var o,i=this.getClass(),a=this.whitespaceRegex,u=i?i.split(a):[],_=s.split(a);u.length&&(o=_.shift());){var w=indexOf(u,o);-1!==w&&u.splice(w,1)}return this.getAttrs().class=u.join(\" \"),this},HtmlTag.prototype.getClass=function(){return this.getAttrs().class||\"\"},HtmlTag.prototype.hasClass=function(s){return-1!==(\" \"+this.getClass()+\" \").indexOf(\" \"+s+\" \")},HtmlTag.prototype.setInnerHTML=function(s){return this.innerHTML=s,this},HtmlTag.prototype.setInnerHtml=function(s){return this.setInnerHTML(s)},HtmlTag.prototype.getInnerHTML=function(){return this.innerHTML||\"\"},HtmlTag.prototype.getInnerHtml=function(){return this.getInnerHTML()},HtmlTag.prototype.toAnchorString=function(){var s=this.getTagName(),o=this.buildAttrsStr();return[\"<\",s,o=o?\" \"+o:\"\",\">\",this.getInnerHtml(),\"</\",s,\">\"].join(\"\")},HtmlTag.prototype.buildAttrsStr=function(){if(!this.attrs)return\"\";var s=this.getAttrs(),o=[];for(var i in s)s.hasOwnProperty(i)&&o.push(i+'=\"'+s[i]+'\"');return o.join(\" \")},HtmlTag}();var JA=function(){function AnchorTagBuilder(s){void 0===s&&(s={}),this.newWindow=!1,this.truncate={},this.className=\"\",this.newWindow=s.newWindow||!1,this.truncate=s.truncate||{},this.className=s.className||\"\"}return AnchorTagBuilder.prototype.build=function(s){return new WA({tagName:\"a\",attrs:this.createAttrs(s),innerHtml:this.processAnchorText(s.getAnchorText())})},AnchorTagBuilder.prototype.createAttrs=function(s){var o={href:s.getAnchorHref()},i=this.createCssClass(s);return i&&(o.class=i),this.newWindow&&(o.target=\"_blank\",o.rel=\"noopener noreferrer\"),this.truncate&&this.truncate.length&&this.truncate.length<s.getAnchorText().length&&(o.title=s.getAnchorHref()),o},AnchorTagBuilder.prototype.createCssClass=function(s){var o=this.className;if(o){for(var i=[o],a=s.getCssClassSuffixes(),u=0,_=a.length;u<_;u++)i.push(o+\"-\"+a[u]);return i.join(\" \")}return\"\"},AnchorTagBuilder.prototype.processAnchorText=function(s){return s=this.doTruncate(s)},AnchorTagBuilder.prototype.doTruncate=function(s){var o=this.truncate;if(!o||!o.length)return s;var i=o.length,a=o.location;return\"smart\"===a?function truncateSmart(s,o,i){var a,u;null==i?(i=\"&hellip;\",u=3,a=8):(u=i.length,a=i.length);var buildUrl=function(s){var o=\"\";return s.scheme&&s.host&&(o+=s.scheme+\"://\"),s.host&&(o+=s.host),s.path&&(o+=\"/\"+s.path),s.query&&(o+=\"?\"+s.query),s.fragment&&(o+=\"#\"+s.fragment),o},buildSegment=function(s,o){var a=o/2,u=Math.ceil(a),_=-1*Math.floor(a),w=\"\";return _<0&&(w=s.substr(_)),s.substr(0,u)+i+w};if(s.length<=o)return s;var _=o-u,w=function(s){var o={},i=s,a=i.match(/^([a-z]+):\\/\\//i);return a&&(o.scheme=a[1],i=i.substr(a[0].length)),(a=i.match(/^(.*?)(?=(\\?|#|\\/|$))/i))&&(o.host=a[1],i=i.substr(a[0].length)),(a=i.match(/^\\/(.*?)(?=(\\?|#|$))/i))&&(o.path=a[1],i=i.substr(a[0].length)),(a=i.match(/^\\?(.*?)(?=(#|$))/i))&&(o.query=a[1],i=i.substr(a[0].length)),(a=i.match(/^#(.*?)$/i))&&(o.fragment=a[1]),o}(s);if(w.query){var x=w.query.match(/^(.*?)(?=(\\?|\\#))(.*?)$/i);x&&(w.query=w.query.substr(0,x[1].length),s=buildUrl(w))}if(s.length<=o)return s;if(w.host&&(w.host=w.host.replace(/^www\\./,\"\"),s=buildUrl(w)),s.length<=o)return s;var C=\"\";if(w.host&&(C+=w.host),C.length>=_)return w.host.length==o?(w.host.substr(0,o-u)+i).substr(0,_+a):buildSegment(C,_).substr(0,_+a);var j=\"\";if(w.path&&(j+=\"/\"+w.path),w.query&&(j+=\"?\"+w.query),j){if((C+j).length>=_)return(C+j).length==o?(C+j).substr(0,o):(C+buildSegment(j,_-C.length)).substr(0,_+a);C+=j}if(w.fragment){var L=\"#\"+w.fragment;if((C+L).length>=_)return(C+L).length==o?(C+L).substr(0,o):(C+buildSegment(L,_-C.length)).substr(0,_+a);C+=L}if(w.scheme&&w.host){var B=w.scheme+\"://\";if((C+B).length<_)return(B+C).substr(0,o)}if(C.length<=o)return C;var $=\"\";return _>0&&($=C.substr(-1*Math.floor(_/2))),(C.substr(0,Math.ceil(_/2))+i+$).substr(0,_+a)}(s,i):\"middle\"===a?function truncateMiddle(s,o,i){if(s.length<=o)return s;var a,u;null==i?(i=\"&hellip;\",a=8,u=3):(a=i.length,u=i.length);var _=o-u,w=\"\";return _>0&&(w=s.substr(-1*Math.floor(_/2))),(s.substr(0,Math.ceil(_/2))+i+w).substr(0,_+a)}(s,i):function truncateEnd(s,o,i){return function ellipsis(s,o,i){var a;return s.length>o&&(null==i?(i=\"&hellip;\",a=3):a=i.length,s=s.substring(0,o-a)+i),s}(s,o,i)}(s,i)},AnchorTagBuilder}(),HA=function(){function Match(s){this.__jsduckDummyDocProp=null,this.matchedText=\"\",this.offset=0,this.tagBuilder=s.tagBuilder,this.matchedText=s.matchedText,this.offset=s.offset}return Match.prototype.getMatchedText=function(){return this.matchedText},Match.prototype.setOffset=function(s){this.offset=s},Match.prototype.getOffset=function(){return this.offset},Match.prototype.getCssClassSuffixes=function(){return[this.getType()]},Match.prototype.buildTag=function(){return this.tagBuilder.build(this)},Match}(),extendStatics=function(s,o){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(s[i]=o[i])},extendStatics(s,o)};function tslib_es6_extends(s,o){if(\"function\"!=typeof o&&null!==o)throw new TypeError(\"Class extends value \"+String(o)+\" is not a constructor or null\");function __(){this.constructor=s}extendStatics(s,o),s.prototype=null===o?Object.create(o):(__.prototype=o.prototype,new __)}var __assign=function(){return __assign=Object.assign||function __assign(s){for(var o,i=1,a=arguments.length;i<a;i++)for(var u in o=arguments[i])Object.prototype.hasOwnProperty.call(o,u)&&(s[u]=o[u]);return s},__assign.apply(this,arguments)};Object.create;Object.create;\"function\"==typeof SuppressedError&&SuppressedError;var KA,GA=function(s){function EmailMatch(o){var i=s.call(this,o)||this;return i.email=\"\",i.email=o.email,i}return tslib_es6_extends(EmailMatch,s),EmailMatch.prototype.getType=function(){return\"email\"},EmailMatch.prototype.getEmail=function(){return this.email},EmailMatch.prototype.getAnchorHref=function(){return\"mailto:\"+this.email},EmailMatch.prototype.getAnchorText=function(){return this.email},EmailMatch}(HA),YA=function(s){function HashtagMatch(o){var i=s.call(this,o)||this;return i.serviceName=\"\",i.hashtag=\"\",i.serviceName=o.serviceName,i.hashtag=o.hashtag,i}return tslib_es6_extends(HashtagMatch,s),HashtagMatch.prototype.getType=function(){return\"hashtag\"},HashtagMatch.prototype.getServiceName=function(){return this.serviceName},HashtagMatch.prototype.getHashtag=function(){return this.hashtag},HashtagMatch.prototype.getAnchorHref=function(){var s=this.serviceName,o=this.hashtag;switch(s){case\"twitter\":return\"https://twitter.com/hashtag/\"+o;case\"facebook\":return\"https://www.facebook.com/hashtag/\"+o;case\"instagram\":return\"https://instagram.com/explore/tags/\"+o;case\"tiktok\":return\"https://www.tiktok.com/tag/\"+o;default:throw new Error(\"Unknown service name to point hashtag to: \"+s)}},HashtagMatch.prototype.getAnchorText=function(){return\"#\"+this.hashtag},HashtagMatch}(HA),XA=function(s){function MentionMatch(o){var i=s.call(this,o)||this;return i.serviceName=\"twitter\",i.mention=\"\",i.mention=o.mention,i.serviceName=o.serviceName,i}return tslib_es6_extends(MentionMatch,s),MentionMatch.prototype.getType=function(){return\"mention\"},MentionMatch.prototype.getMention=function(){return this.mention},MentionMatch.prototype.getServiceName=function(){return this.serviceName},MentionMatch.prototype.getAnchorHref=function(){switch(this.serviceName){case\"twitter\":return\"https://twitter.com/\"+this.mention;case\"instagram\":return\"https://instagram.com/\"+this.mention;case\"soundcloud\":return\"https://soundcloud.com/\"+this.mention;case\"tiktok\":return\"https://www.tiktok.com/@\"+this.mention;default:throw new Error(\"Unknown service name to point mention to: \"+this.serviceName)}},MentionMatch.prototype.getAnchorText=function(){return\"@\"+this.mention},MentionMatch.prototype.getCssClassSuffixes=function(){var o=s.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&o.push(i),o},MentionMatch}(HA),QA=function(s){function PhoneMatch(o){var i=s.call(this,o)||this;return i.number=\"\",i.plusSign=!1,i.number=o.number,i.plusSign=o.plusSign,i}return tslib_es6_extends(PhoneMatch,s),PhoneMatch.prototype.getType=function(){return\"phone\"},PhoneMatch.prototype.getPhoneNumber=function(){return this.number},PhoneMatch.prototype.getNumber=function(){return this.getPhoneNumber()},PhoneMatch.prototype.getAnchorHref=function(){return\"tel:\"+(this.plusSign?\"+\":\"\")+this.number},PhoneMatch.prototype.getAnchorText=function(){return this.matchedText},PhoneMatch}(HA),ZA=function(s){function UrlMatch(o){var i=s.call(this,o)||this;return i.url=\"\",i.urlMatchType=\"scheme\",i.protocolUrlMatch=!1,i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.schemePrefixRegex=/^(https?:\\/\\/)?/i,i.wwwPrefixRegex=/^(https?:\\/\\/)?(www\\.)?/i,i.protocolRelativeRegex=/^\\/\\//,i.protocolPrepended=!1,i.urlMatchType=o.urlMatchType,i.url=o.url,i.protocolUrlMatch=o.protocolUrlMatch,i.protocolRelativeMatch=o.protocolRelativeMatch,i.stripPrefix=o.stripPrefix,i.stripTrailingSlash=o.stripTrailingSlash,i.decodePercentEncoding=o.decodePercentEncoding,i}return tslib_es6_extends(UrlMatch,s),UrlMatch.prototype.getType=function(){return\"url\"},UrlMatch.prototype.getUrlMatchType=function(){return this.urlMatchType},UrlMatch.prototype.getUrl=function(){var s=this.url;return this.protocolRelativeMatch||this.protocolUrlMatch||this.protocolPrepended||(s=this.url=\"http://\"+s,this.protocolPrepended=!0),s},UrlMatch.prototype.getAnchorHref=function(){return this.getUrl().replace(/&amp;/g,\"&\")},UrlMatch.prototype.getAnchorText=function(){var s=this.getMatchedText();return this.protocolRelativeMatch&&(s=this.stripProtocolRelativePrefix(s)),this.stripPrefix.scheme&&(s=this.stripSchemePrefix(s)),this.stripPrefix.www&&(s=this.stripWwwPrefix(s)),this.stripTrailingSlash&&(s=this.removeTrailingSlash(s)),this.decodePercentEncoding&&(s=this.removePercentEncoding(s)),s},UrlMatch.prototype.stripSchemePrefix=function(s){return s.replace(this.schemePrefixRegex,\"\")},UrlMatch.prototype.stripWwwPrefix=function(s){return s.replace(this.wwwPrefixRegex,\"$1\")},UrlMatch.prototype.stripProtocolRelativePrefix=function(s){return s.replace(this.protocolRelativeRegex,\"\")},UrlMatch.prototype.removeTrailingSlash=function(s){return\"/\"===s.charAt(s.length-1)&&(s=s.slice(0,-1)),s},UrlMatch.prototype.removePercentEncoding=function(s){var o=s.replace(/%22/gi,\"&quot;\").replace(/%26/gi,\"&amp;\").replace(/%27/gi,\"&#39;\").replace(/%3C/gi,\"&lt;\").replace(/%3E/gi,\"&gt;\");try{return decodeURIComponent(o)}catch(s){return o}},UrlMatch}(HA),eC=function eC(s){this.__jsduckDummyDocProp=null,this.tagBuilder=s.tagBuilder},tC=/[A-Za-z]/,rC=/[\\d]/,nC=/[\\D]/,sC=/\\s/,oC=/['\"]/,iC=/[\\x00-\\x1F\\x7F]/,aC=/A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AE\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC/.source,cC=aC+/\\u2700-\\u27bf\\udde6-\\uddff\\ud800-\\udbff\\udc00-\\udfff\\ufe0e\\ufe0f\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ud83c\\udffb-\\udfff\\u200d\\u3299\\u3297\\u303d\\u3030\\u24c2\\ud83c\\udd70-\\udd71\\udd7e-\\udd7f\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01-\\ude02\\ude1a\\ude2f\\ude32-\\ude3a\\ude50-\\ude51\\u203c\\u2049\\u25aa-\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u00a9\\u00ae\\u2122\\u2139\\udc04\\u2600-\\u26FF\\u2b05\\u2b06\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u231a\\u231b\\u2328\\u23cf\\u23e9-\\u23f3\\u23f8-\\u23fa\\udccf\\u2935\\u2934\\u2190-\\u21ff/.source+/\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D4-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D01-\\u0D03\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1ABE\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF5\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F/.source,lC=/0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19/.source,uC=cC+lC,pC=cC+lC,hC=new RegExp(\"[\".concat(pC,\"]\")),dC=\"(?:[\"+lC+\"]{1,3}\\\\.){3}[\"+lC+\"]{1,3}\",fC=\"[\"+pC+\"](?:[\"+pC+\"\\\\-_]{0,61}[\"+pC+\"])?\",getDomainLabelStr=function(s){return\"(?=(\"+fC+\"))\\\\\"+s},getDomainNameStr=function(s){return\"(?:\"+getDomainLabelStr(s)+\"(?:\\\\.\"+getDomainLabelStr(s+1)+\"){0,126}|\"+dC+\")\"},mC=(new RegExp(\"[\"+pC+\".\\\\-]*[\"+pC+\"\\\\-]\"),hC),gC=/(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|vermögensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|vermögensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|موريتانيا|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|السعودية|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|католик|اتصالات|البحرين|الجزائر|العليان|پاکستان|كاثوليك|இந்தியா|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|москва|онлайн|ابوظبي|ارامكو|الاردن|المغرب|امارات|فلسطين|مليسيا|भारतम्|இலங்கை|ファッション|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|ישראל|ایران|بازار|بھارت|سودان|سورية|همراه|भारोत|संगठन|বাংলা|భారత్|ഭാരതം|嘉里大酒店|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|дети|сайт|بارت|بيتك|ڀارت|تونس|شبكة|عراق|عمان|موقع|भारत|ভারত|ভাৰত|ਭਾਰਤ|ભારત|ଭାରତ|ಭಾರತ|ලංකා|アマゾン|グーグル|クラウド|ポイント|组织机构|電訊盈科|香格里拉|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|бел|ком|қаз|мкд|мон|орг|рус|срб|укр|հայ|קום|عرب|قطر|كوم|مصر|कॉम|नेट|คอม|ไทย|ລາວ|ストア|セール|みんな|中文网|亚马逊|天主教|我爱你|新加坡|淡马锡|诺基亚|飞利浦|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|ελ|ευ|бг|ею|рф|გე|닷넷|닷컴|삼성|한국|コム|世界|中信|中国|中國|企业|佛山|信息|健康|八卦|公司|公益|台湾|台灣|商城|商店|商标|嘉里|在线|大拿|娱乐|家電|广东|微博|慈善|手机|招聘|政务|政府|新闻|时尚|書籍|机构|游戏|澳門|点看|移动|网址|网店|网站|网络|联通|谷歌|购物|通販|集团|食品|餐厅|香港)/,yC=new RegExp(\"[\".concat(pC,\"!#$%&'*+/=?^_`{|}~-]\")),vC=new RegExp(\"^\".concat(gC.source,\"$\")),bC=function(s){function EmailMatcher(){var o=null!==s&&s.apply(this,arguments)||this;return o.localPartCharRegex=yC,o.strictTldRegex=vC,o}return tslib_es6_extends(EmailMatcher,s),EmailMatcher.prototype.parseMatches=function(s){for(var o=this.tagBuilder,i=this.localPartCharRegex,a=this.strictTldRegex,u=[],_=s.length,w=new _C,x={m:\"a\",a:\"i\",i:\"l\",l:\"t\",t:\"o\",o:\":\"},C=0,j=0,L=w;C<_;){var B=s.charAt(C);switch(j){case 0:stateNonEmailAddress(B);break;case 1:stateMailTo(s.charAt(C-1),B);break;case 2:stateLocalPart(B);break;case 3:stateLocalPartDot(B);break;case 4:stateAtSign(B);break;case 5:stateDomainChar(B);break;case 6:stateDomainHyphen(B);break;case 7:stateDomainDot(B);break;default:throwUnhandledCaseError(j)}C++}return captureMatchIfValidAndReset(),u;function stateNonEmailAddress(s){\"m\"===s?beginEmailMatch(1):i.test(s)&&beginEmailMatch()}function stateMailTo(s,o){\":\"===s?i.test(o)?(j=2,L=new _C(__assign(__assign({},L),{hasMailtoPrefix:!0}))):resetToNonEmailMatchState():x[s]===o||(i.test(o)?j=2:\".\"===o?j=3:\"@\"===o?j=4:resetToNonEmailMatchState())}function stateLocalPart(s){\".\"===s?j=3:\"@\"===s?j=4:i.test(s)||resetToNonEmailMatchState()}function stateLocalPartDot(s){\".\"===s||\"@\"===s?resetToNonEmailMatchState():i.test(s)?j=2:resetToNonEmailMatchState()}function stateAtSign(s){mC.test(s)?j=5:resetToNonEmailMatchState()}function stateDomainChar(s){\".\"===s?j=7:\"-\"===s?j=6:mC.test(s)||captureMatchIfValidAndReset()}function stateDomainHyphen(s){\"-\"===s||\".\"===s?captureMatchIfValidAndReset():mC.test(s)?j=5:captureMatchIfValidAndReset()}function stateDomainDot(s){\".\"===s||\"-\"===s?captureMatchIfValidAndReset():mC.test(s)?(j=5,L=new _C(__assign(__assign({},L),{hasDomainDot:!0}))):captureMatchIfValidAndReset()}function beginEmailMatch(s){void 0===s&&(s=2),j=s,L=new _C({idx:C})}function resetToNonEmailMatchState(){j=0,L=w}function captureMatchIfValidAndReset(){if(L.hasDomainDot){var i=s.slice(L.idx,C);/[-.]$/.test(i)&&(i=i.slice(0,-1));var _=L.hasMailtoPrefix?i.slice(7):i;(function doesEmailHaveValidTld(s){var o=s.split(\".\").pop()||\"\",i=o.toLowerCase();return a.test(i)})(_)&&u.push(new GA({tagBuilder:o,matchedText:i,offset:L.idx,email:_}))}resetToNonEmailMatchState()}},EmailMatcher}(eC),_C=function _C(s){void 0===s&&(s={}),this.idx=void 0!==s.idx?s.idx:-1,this.hasMailtoPrefix=!!s.hasMailtoPrefix,this.hasDomainDot=!!s.hasDomainDot},SC=function(){function UrlMatchValidator(){}return UrlMatchValidator.isValid=function(s,o){return!(o&&!this.isValidUriScheme(o)||this.urlMatchDoesNotHaveProtocolOrDot(s,o)||this.urlMatchDoesNotHaveAtLeastOneWordChar(s,o)&&!this.isValidIpAddress(s)||this.containsMultipleDots(s))},UrlMatchValidator.isValidIpAddress=function(s){var o=new RegExp(this.hasFullProtocolRegex.source+this.ipRegex.source);return null!==s.match(o)},UrlMatchValidator.containsMultipleDots=function(s){var o=s;return this.hasFullProtocolRegex.test(s)&&(o=s.split(\"://\")[1]),o.split(\"/\")[0].indexOf(\"..\")>-1},UrlMatchValidator.isValidUriScheme=function(s){var o=s.match(this.uriSchemeRegex),i=o&&o[0].toLowerCase();return\"javascript:\"!==i&&\"vbscript:\"!==i},UrlMatchValidator.urlMatchDoesNotHaveProtocolOrDot=function(s,o){return!(!s||o&&this.hasFullProtocolRegex.test(o)||-1!==s.indexOf(\".\"))},UrlMatchValidator.urlMatchDoesNotHaveAtLeastOneWordChar=function(s,o){return!(!s||!o)&&(!this.hasFullProtocolRegex.test(o)&&!this.hasWordCharAfterProtocolRegex.test(s))},UrlMatchValidator.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\\/\\//,UrlMatchValidator.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,UrlMatchValidator.hasWordCharAfterProtocolRegex=new RegExp(\":[^\\\\s]*?[\"+aC+\"]\"),UrlMatchValidator.ipRegex=/[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?\\.[0-9][0-9]?[0-9]?(:[0-9]*)?\\/?$/,UrlMatchValidator}(),EC=(KA=new RegExp(\"[/?#](?:[\"+pC+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]{}?!:,.;^✓]*[\"+pC+\"\\\\-+&@#/%=~_()|'$*\\\\[\\\\]{}✓])?\"),new RegExp([\"(?:\",\"(\",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\\/\\/)(?!\\d+\\/?)(?:\\/\\/)?)/.source,getDomainNameStr(2),\")\",\"|\",\"(\",\"(//)?\",/(?:www\\.)/.source,getDomainNameStr(6),\")\",\"|\",\"(\",\"(//)?\",getDomainNameStr(10)+\"\\\\.\",gC.source,\"(?![-\"+uC+\"])\",\")\",\")\",\"(?::[0-9]+)?\",\"(?:\"+KA.source+\")?\"].join(\"\"),\"gi\")),wC=new RegExp(\"[\"+pC+\"]\"),xC=function(s){function UrlMatcher(o){var i=s.call(this,o)||this;return i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.matcherRegex=EC,i.wordCharRegExp=wC,i.stripPrefix=o.stripPrefix,i.stripTrailingSlash=o.stripTrailingSlash,i.decodePercentEncoding=o.decodePercentEncoding,i}return tslib_es6_extends(UrlMatcher,s),UrlMatcher.prototype.parseMatches=function(s){for(var o,i=this.matcherRegex,a=this.stripPrefix,u=this.stripTrailingSlash,_=this.decodePercentEncoding,w=this.tagBuilder,x=[],_loop_1=function(){var i=o[0],j=o[1],L=o[4],B=o[5],$=o[9],U=o.index,V=B||$,z=s.charAt(U-1);if(!SC.isValid(i,j))return\"continue\";if(U>0&&\"@\"===z)return\"continue\";if(U>0&&V&&C.wordCharRegExp.test(z))return\"continue\";if(/\\?$/.test(i)&&(i=i.substr(0,i.length-1)),C.matchHasUnbalancedClosingParen(i))i=i.substr(0,i.length-1);else{var Y=C.matchHasInvalidCharAfterTld(i,j);Y>-1&&(i=i.substr(0,Y))}var Z=[\"http://\",\"https://\"].find((function(s){return!!j&&-1!==j.indexOf(s)}));if(Z){var ee=i.indexOf(Z);i=i.substr(ee),j=j.substr(ee),U+=ee}var ie=j?\"scheme\":L?\"www\":\"tld\",ae=!!j;x.push(new ZA({tagBuilder:w,matchedText:i,offset:U,urlMatchType:ie,url:i,protocolUrlMatch:ae,protocolRelativeMatch:!!V,stripPrefix:a,stripTrailingSlash:u,decodePercentEncoding:_}))},C=this;null!==(o=i.exec(s));)_loop_1();return x},UrlMatcher.prototype.matchHasUnbalancedClosingParen=function(s){var o,i=s.charAt(s.length-1);if(\")\"===i)o=\"(\";else if(\"]\"===i)o=\"[\";else{if(\"}\"!==i)return!1;o=\"{\"}for(var a=0,u=0,_=s.length-1;u<_;u++){var w=s.charAt(u);w===o?a++:w===i&&(a=Math.max(a-1,0))}return 0===a},UrlMatcher.prototype.matchHasInvalidCharAfterTld=function(s,o){if(!s)return-1;var i=0;o&&(i=s.indexOf(\":\"),s=s.slice(i));var a=new RegExp(\"^((.?//)?[-.\"+pC+\"]*[-\"+pC+\"]\\\\.[-\"+pC+\"]+)\").exec(s);return null===a?-1:(i+=a[1].length,s=s.slice(a[1].length),/^[^-.A-Za-z0-9:\\/?#]/.test(s)?i:-1)},UrlMatcher}(eC),kC=new RegExp(\"[_\".concat(pC,\"]\")),OC=function(s){function HashtagMatcher(o){var i=s.call(this,o)||this;return i.serviceName=\"twitter\",i.serviceName=o.serviceName,i}return tslib_es6_extends(HashtagMatcher,s),HashtagMatcher.prototype.parseMatches=function(s){for(var o=this.tagBuilder,i=this.serviceName,a=[],u=s.length,_=0,w=-1,x=0;_<u;){var C=s.charAt(_);switch(x){case 0:stateNone(C);break;case 1:stateNonHashtagWordChar(C);break;case 2:stateHashtagHashChar(C);break;case 3:stateHashtagTextChar(C);break;default:throwUnhandledCaseError(x)}_++}return captureMatchIfValid(),a;function stateNone(s){\"#\"===s?(x=2,w=_):hC.test(s)&&(x=1)}function stateNonHashtagWordChar(s){hC.test(s)||(x=0)}function stateHashtagHashChar(s){x=kC.test(s)?3:hC.test(s)?1:0}function stateHashtagTextChar(s){kC.test(s)||(captureMatchIfValid(),w=-1,x=hC.test(s)?1:0)}function captureMatchIfValid(){if(w>-1&&_-w<=140){var u=s.slice(w,_),x=new YA({tagBuilder:o,matchedText:u,offset:w,serviceName:i,hashtag:u.slice(1)});a.push(x)}}},HashtagMatcher}(eC),AC=[\"twitter\",\"facebook\",\"instagram\",\"tiktok\"],CC=new RegExp(\"\".concat(/(?:(?:(?:(\\+)?\\d{1,3}[-\\040.]?)?\\(?\\d{3}\\)?[-\\040.]?\\d{3}[-\\040.]?\\d{4})|(?:(\\+)(?:9[976]\\d|8[987530]\\d|6[987]\\d|5[90]\\d|42\\d|3[875]\\d|2[98654321]\\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\\040.]?(?:\\d[-\\040.]?){6,12}\\d+))([,;]+[0-9]+#?)*/.source,\"|\").concat(/(0([1-9]{1}-?[1-9]\\d{3}|[1-9]{2}-?\\d{3}|[1-9]{2}\\d{1}-?\\d{2}|[1-9]{2}\\d{2}-?\\d{1})-?\\d{4}|0[789]0-?\\d{4}-?\\d{4}|050-?\\d{4}-?\\d{4})/.source),\"g\"),jC=function(s){function PhoneMatcher(){var o=null!==s&&s.apply(this,arguments)||this;return o.matcherRegex=CC,o}return tslib_es6_extends(PhoneMatcher,s),PhoneMatcher.prototype.parseMatches=function(s){for(var o,i=this.matcherRegex,a=this.tagBuilder,u=[];null!==(o=i.exec(s));){var _=o[0],w=_.replace(/[^0-9,;#]/g,\"\"),x=!(!o[1]&&!o[2]),C=0==o.index?\"\":s.substr(o.index-1,1),j=s.substr(o.index+_.length,1),L=!C.match(/\\d/)&&!j.match(/\\d/);this.testMatch(o[3])&&this.testMatch(_)&&L&&u.push(new QA({tagBuilder:a,matchedText:_,offset:o.index,number:w,plusSign:x}))}return u},PhoneMatcher.prototype.testMatch=function(s){return nC.test(s)},PhoneMatcher}(eC),PC=new RegExp(\"@[_\".concat(pC,\"]{1,50}(?![_\").concat(pC,\"])\"),\"g\"),IC=new RegExp(\"@[_.\".concat(pC,\"]{1,30}(?![_\").concat(pC,\"])\"),\"g\"),TC=new RegExp(\"@[-_.\".concat(pC,\"]{1,50}(?![-_\").concat(pC,\"])\"),\"g\"),NC=new RegExp(\"@[_.\".concat(pC,\"]{1,23}[_\").concat(pC,\"](?![_\").concat(pC,\"])\"),\"g\"),MC=new RegExp(\"[^\"+pC+\"]\"),RC=function(s){function MentionMatcher(o){var i=s.call(this,o)||this;return i.serviceName=\"twitter\",i.matcherRegexes={twitter:PC,instagram:IC,soundcloud:TC,tiktok:NC},i.nonWordCharRegex=MC,i.serviceName=o.serviceName,i}return tslib_es6_extends(MentionMatcher,s),MentionMatcher.prototype.parseMatches=function(s){var o,i=this.serviceName,a=this.matcherRegexes[this.serviceName],u=this.nonWordCharRegex,_=this.tagBuilder,w=[];if(!a)return w;for(;null!==(o=a.exec(s));){var x=o.index,C=s.charAt(x-1);if(0===x||u.test(C)){var j=o[0].replace(/\\.+$/g,\"\"),L=j.slice(1);w.push(new XA({tagBuilder:_,matchedText:j,offset:x,serviceName:i,mention:L}))}}return w},MentionMatcher}(eC);function parseHtml(s,o){for(var i=o.onOpenTag,a=o.onCloseTag,u=o.onText,_=o.onComment,w=o.onDoctype,x=new DC,C=0,j=s.length,L=0,B=0,$=x;C<j;){var U=s.charAt(C);switch(L){case 0:stateData(U);break;case 1:stateTagOpen(U);break;case 2:stateEndTagOpen(U);break;case 3:stateTagName(U);break;case 4:stateBeforeAttributeName(U);break;case 5:stateAttributeName(U);break;case 6:stateAfterAttributeName(U);break;case 7:stateBeforeAttributeValue(U);break;case 8:stateAttributeValueDoubleQuoted(U);break;case 9:stateAttributeValueSingleQuoted(U);break;case 10:stateAttributeValueUnquoted(U);break;case 11:stateAfterAttributeValueQuoted(U);break;case 12:stateSelfClosingStartTag(U);break;case 13:stateMarkupDeclarationOpen(U);break;case 14:stateCommentStart(U);break;case 15:stateCommentStartDash(U);break;case 16:stateComment(U);break;case 17:stateCommentEndDash(U);break;case 18:stateCommentEnd(U);break;case 19:stateCommentEndBang(U);break;case 20:stateDoctype(U);break;default:throwUnhandledCaseError(L)}C++}function stateData(s){\"<\"===s&&startNewTag()}function stateTagOpen(s){\"!\"===s?L=13:\"/\"===s?(L=2,$=new DC(__assign(__assign({},$),{isClosing:!0}))):\"<\"===s?startNewTag():tC.test(s)?(L=3,$=new DC(__assign(__assign({},$),{isOpening:!0}))):(L=0,$=x)}function stateTagName(s){sC.test(s)?($=new DC(__assign(__assign({},$),{name:captureTagName()})),L=4):\"<\"===s?startNewTag():\"/\"===s?($=new DC(__assign(__assign({},$),{name:captureTagName()})),L=12):\">\"===s?($=new DC(__assign(__assign({},$),{name:captureTagName()})),emitTagAndPreviousTextNode()):tC.test(s)||rC.test(s)||\":\"===s||resetToDataState()}function stateEndTagOpen(s){\">\"===s?resetToDataState():tC.test(s)?L=3:resetToDataState()}function stateBeforeAttributeName(s){sC.test(s)||(\"/\"===s?L=12:\">\"===s?emitTagAndPreviousTextNode():\"<\"===s?startNewTag():\"=\"===s||oC.test(s)||iC.test(s)?resetToDataState():L=5)}function stateAttributeName(s){sC.test(s)?L=6:\"/\"===s?L=12:\"=\"===s?L=7:\">\"===s?emitTagAndPreviousTextNode():\"<\"===s?startNewTag():oC.test(s)&&resetToDataState()}function stateAfterAttributeName(s){sC.test(s)||(\"/\"===s?L=12:\"=\"===s?L=7:\">\"===s?emitTagAndPreviousTextNode():\"<\"===s?startNewTag():oC.test(s)?resetToDataState():L=5)}function stateBeforeAttributeValue(s){sC.test(s)||('\"'===s?L=8:\"'\"===s?L=9:/[>=`]/.test(s)?resetToDataState():\"<\"===s?startNewTag():L=10)}function stateAttributeValueDoubleQuoted(s){'\"'===s&&(L=11)}function stateAttributeValueSingleQuoted(s){\"'\"===s&&(L=11)}function stateAttributeValueUnquoted(s){sC.test(s)?L=4:\">\"===s?emitTagAndPreviousTextNode():\"<\"===s&&startNewTag()}function stateAfterAttributeValueQuoted(s){sC.test(s)?L=4:\"/\"===s?L=12:\">\"===s?emitTagAndPreviousTextNode():\"<\"===s?startNewTag():(L=4,function reconsumeCurrentCharacter(){C--}())}function stateSelfClosingStartTag(s){\">\"===s?($=new DC(__assign(__assign({},$),{isClosing:!0})),emitTagAndPreviousTextNode()):L=4}function stateMarkupDeclarationOpen(o){\"--\"===s.substr(C,2)?(C+=2,$=new DC(__assign(__assign({},$),{type:\"comment\"})),L=14):\"DOCTYPE\"===s.substr(C,7).toUpperCase()?(C+=7,$=new DC(__assign(__assign({},$),{type:\"doctype\"})),L=20):resetToDataState()}function stateCommentStart(s){\"-\"===s?L=15:\">\"===s?resetToDataState():L=16}function stateCommentStartDash(s){\"-\"===s?L=18:\">\"===s?resetToDataState():L=16}function stateComment(s){\"-\"===s&&(L=17)}function stateCommentEndDash(s){L=\"-\"===s?18:16}function stateCommentEnd(s){\">\"===s?emitTagAndPreviousTextNode():\"!\"===s?L=19:\"-\"===s||(L=16)}function stateCommentEndBang(s){\"-\"===s?L=17:\">\"===s?emitTagAndPreviousTextNode():L=16}function stateDoctype(s){\">\"===s?emitTagAndPreviousTextNode():\"<\"===s&&startNewTag()}function resetToDataState(){L=0,$=x}function startNewTag(){L=1,$=new DC({idx:C})}function emitTagAndPreviousTextNode(){var o=s.slice(B,$.idx);o&&u(o,B),\"comment\"===$.type?_($.idx):\"doctype\"===$.type?w($.idx):($.isOpening&&i($.name,$.idx),$.isClosing&&a($.name,$.idx)),resetToDataState(),B=C+1}function captureTagName(){var o=$.idx+($.isClosing?2:1);return s.slice(o,C).toLowerCase()}B<C&&function emitText(){var o=s.slice(B,C);u(o,B),B=C+1}()}var DC=function DC(s){void 0===s&&(s={}),this.idx=void 0!==s.idx?s.idx:-1,this.type=s.type||\"tag\",this.name=s.name||\"\",this.isOpening=!!s.isOpening,this.isClosing=!!s.isClosing},LC=function(){function Autolinker(s){void 0===s&&(s={}),this.version=Autolinker.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:\"end\"},this.className=\"\",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.matchers=null,this.tagBuilder=null,this.urls=this.normalizeUrlsCfg(s.urls),this.email=\"boolean\"==typeof s.email?s.email:this.email,this.phone=\"boolean\"==typeof s.phone?s.phone:this.phone,this.hashtag=s.hashtag||this.hashtag,this.mention=s.mention||this.mention,this.newWindow=\"boolean\"==typeof s.newWindow?s.newWindow:this.newWindow,this.stripPrefix=this.normalizeStripPrefixCfg(s.stripPrefix),this.stripTrailingSlash=\"boolean\"==typeof s.stripTrailingSlash?s.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=\"boolean\"==typeof s.decodePercentEncoding?s.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=s.sanitizeHtml||!1;var o=this.mention;if(!1!==o&&-1===[\"twitter\",\"instagram\",\"soundcloud\",\"tiktok\"].indexOf(o))throw new Error(\"invalid `mention` cfg '\".concat(o,\"' - see docs\"));var i=this.hashtag;if(!1!==i&&-1===AC.indexOf(i))throw new Error(\"invalid `hashtag` cfg '\".concat(i,\"' - see docs\"));this.truncate=this.normalizeTruncateCfg(s.truncate),this.className=s.className||this.className,this.replaceFn=s.replaceFn||this.replaceFn,this.context=s.context||this}return Autolinker.link=function(s,o){return new Autolinker(o).link(s)},Autolinker.parse=function(s,o){return new Autolinker(o).parse(s)},Autolinker.prototype.normalizeUrlsCfg=function(s){return null==s&&(s=!0),\"boolean\"==typeof s?{schemeMatches:s,wwwMatches:s,tldMatches:s}:{schemeMatches:\"boolean\"!=typeof s.schemeMatches||s.schemeMatches,wwwMatches:\"boolean\"!=typeof s.wwwMatches||s.wwwMatches,tldMatches:\"boolean\"!=typeof s.tldMatches||s.tldMatches}},Autolinker.prototype.normalizeStripPrefixCfg=function(s){return null==s&&(s=!0),\"boolean\"==typeof s?{scheme:s,www:s}:{scheme:\"boolean\"!=typeof s.scheme||s.scheme,www:\"boolean\"!=typeof s.www||s.www}},Autolinker.prototype.normalizeTruncateCfg=function(s){return\"number\"==typeof s?{length:s,location:\"end\"}:function defaults(s,o){for(var i in o)o.hasOwnProperty(i)&&void 0===s[i]&&(s[i]=o[i]);return s}(s||{},{length:Number.POSITIVE_INFINITY,location:\"end\"})},Autolinker.prototype.parse=function(s){var o=this,i=[\"a\",\"style\",\"script\"],a=0,u=[];return parseHtml(s,{onOpenTag:function(s){i.indexOf(s)>=0&&a++},onText:function(s,i){if(0===a){var _=function splitAndCapture(s,o){if(!o.global)throw new Error(\"`splitRegex` must have the 'g' flag set\");for(var i,a=[],u=0;i=o.exec(s);)a.push(s.substring(u,i.index)),a.push(i[0]),u=i.index+i[0].length;return a.push(s.substring(u)),a}(s,/(&nbsp;|&#160;|&lt;|&#60;|&gt;|&#62;|&quot;|&#34;|&#39;)/gi),w=i;_.forEach((function(s,i){if(i%2==0){var a=o.parseText(s,w);u.push.apply(u,a)}w+=s.length}))}},onCloseTag:function(s){i.indexOf(s)>=0&&(a=Math.max(a-1,0))},onComment:function(s){},onDoctype:function(s){}}),u=this.compactMatches(u),u=this.removeUnwantedMatches(u)},Autolinker.prototype.compactMatches=function(s){s.sort((function(s,o){return s.getOffset()-o.getOffset()}));for(var o=0;o<s.length-1;){var i=s[o],a=i.getOffset(),u=i.getMatchedText().length,_=a+u;if(o+1<s.length){if(s[o+1].getOffset()===a){var w=s[o+1].getMatchedText().length>u?o:o+1;s.splice(w,1);continue}if(s[o+1].getOffset()<_){s.splice(o+1,1);continue}}o++}return s},Autolinker.prototype.removeUnwantedMatches=function(s){return this.hashtag||utils_remove(s,(function(s){return\"hashtag\"===s.getType()})),this.email||utils_remove(s,(function(s){return\"email\"===s.getType()})),this.phone||utils_remove(s,(function(s){return\"phone\"===s.getType()})),this.mention||utils_remove(s,(function(s){return\"mention\"===s.getType()})),this.urls.schemeMatches||utils_remove(s,(function(s){return\"url\"===s.getType()&&\"scheme\"===s.getUrlMatchType()})),this.urls.wwwMatches||utils_remove(s,(function(s){return\"url\"===s.getType()&&\"www\"===s.getUrlMatchType()})),this.urls.tldMatches||utils_remove(s,(function(s){return\"url\"===s.getType()&&\"tld\"===s.getUrlMatchType()})),s},Autolinker.prototype.parseText=function(s,o){void 0===o&&(o=0),o=o||0;for(var i=this.getMatchers(),a=[],u=0,_=i.length;u<_;u++){for(var w=i[u].parseMatches(s),x=0,C=w.length;x<C;x++)w[x].setOffset(o+w[x].getOffset());a.push.apply(a,w)}return a},Autolinker.prototype.link=function(s){if(!s)return\"\";this.sanitizeHtml&&(s=s.replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\"));for(var o=this.parse(s),i=[],a=0,u=0,_=o.length;u<_;u++){var w=o[u];i.push(s.substring(a,w.getOffset())),i.push(this.createMatchReturnVal(w)),a=w.getOffset()+w.getMatchedText().length}return i.push(s.substring(a)),i.join(\"\")},Autolinker.prototype.createMatchReturnVal=function(s){var o;return this.replaceFn&&(o=this.replaceFn.call(this.context,s)),\"string\"==typeof o?o:!1===o?s.getMatchedText():o instanceof WA?o.toAnchorString():s.buildTag().toAnchorString()},Autolinker.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var s=this.getTagBuilder(),o=[new OC({tagBuilder:s,serviceName:this.hashtag}),new bC({tagBuilder:s}),new jC({tagBuilder:s}),new RC({tagBuilder:s,serviceName:this.mention}),new xC({tagBuilder:s,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=o},Autolinker.prototype.getTagBuilder=function(){var s=this.tagBuilder;return s||(s=this.tagBuilder=new JA({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),s},Autolinker.version=\"3.16.2\",Autolinker.AnchorTagBuilder=JA,Autolinker.HtmlTag=WA,Autolinker.matcher={Email:bC,Hashtag:OC,Matcher:eC,Mention:RC,Phone:jC,Url:xC},Autolinker.match={Email:GA,Hashtag:YA,Match:HA,Mention:XA,Phone:QA,Url:ZA},Autolinker}();const FC=LC;var BC=/www|@|\\:\\/\\//;function isLinkOpen(s){return/^<a[>\\s]/i.test(s)}function isLinkClose(s){return/^<\\/a\\s*>/i.test(s)}function createLinkifier(){var s=[],o=new FC({stripPrefix:!1,url:!0,email:!0,replaceFn:function(o){switch(o.getType()){case\"url\":s.push({text:o.matchedText,url:o.getUrl()});break;case\"email\":s.push({text:o.matchedText,url:\"mailto:\"+o.getEmail().replace(/^mailto:/i,\"\")})}return!1}});return{links:s,autolinker:o}}function parseTokens(s){var o,i,a,u,_,w,x,C,j,L,B,$,U,V=s.tokens,z=null;for(i=0,a=V.length;i<a;i++)if(\"inline\"===V[i].type)for(B=0,o=(u=V[i].children).length-1;o>=0;o--)if(\"link_close\"!==(_=u[o]).type){if(\"htmltag\"===_.type&&(isLinkOpen(_.content)&&B>0&&B--,isLinkClose(_.content)&&B++),!(B>0)&&\"text\"===_.type&&BC.test(_.content)){if(z||($=(z=createLinkifier()).links,U=z.autolinker),w=_.content,$.length=0,U.link(w),!$.length)continue;for(x=[],L=_.level,C=0;C<$.length;C++)s.inline.validateLink($[C].url)&&((j=w.indexOf($[C].text))&&x.push({type:\"text\",content:w.slice(0,j),level:L}),x.push({type:\"link_open\",href:$[C].url,title:\"\",level:L++}),x.push({type:\"text\",content:$[C].text,level:L}),x.push({type:\"link_close\",level:--L}),w=w.slice(j+$[C].text.length));w.length&&x.push({type:\"text\",content:w,level:L}),V[i].children=u=[].concat(u.slice(0,o),x,u.slice(o+1))}}else for(o--;u[o].level!==_.level&&\"link_open\"!==u[o].type;)o--}function linkify(s){s.core.ruler.push(\"linkify\",parseTokens)}const{entries:$C,setPrototypeOf:qC,isFrozen:UC,getPrototypeOf:VC,getOwnPropertyDescriptor:zC}=Object;let{freeze:WC,seal:JC,create:HC}=Object,{apply:KC,construct:GC}=\"undefined\"!=typeof Reflect&&Reflect;WC||(WC=function freeze(s){return s}),JC||(JC=function seal(s){return s}),KC||(KC=function apply(s,o,i){return s.apply(o,i)}),GC||(GC=function construct(s,o){return new s(...o)});const YC=unapply(Array.prototype.forEach),XC=unapply(Array.prototype.lastIndexOf),QC=unapply(Array.prototype.pop),ZC=unapply(Array.prototype.push),ej=unapply(Array.prototype.splice),fj=unapply(String.prototype.toLowerCase),mj=unapply(String.prototype.toString),_j=unapply(String.prototype.match),Aj=unapply(String.prototype.replace),Cj=unapply(String.prototype.indexOf),Nj=unapply(String.prototype.trim),Bj=unapply(Object.prototype.hasOwnProperty),$j=unapply(RegExp.prototype.test),zj=function unconstruct(s){return function(){for(var o=arguments.length,i=new Array(o),a=0;a<o;a++)i[a]=arguments[a];return GC(s,i)}}(TypeError);function unapply(s){return function(o){o instanceof RegExp&&(o.lastIndex=0);for(var i=arguments.length,a=new Array(i>1?i-1:0),u=1;u<i;u++)a[u-1]=arguments[u];return KC(s,o,a)}}function addToSet(s,o){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:fj;qC&&qC(s,null);let a=o.length;for(;a--;){let u=o[a];if(\"string\"==typeof u){const s=i(u);s!==u&&(UC(o)||(o[a]=s),u=s)}s[u]=!0}return s}function purify_es_cleanArray(s){for(let o=0;o<s.length;o++){Bj(s,o)||(s[o]=null)}return s}function clone(s){const o=HC(null);for(const[i,a]of $C(s)){Bj(s,i)&&(Array.isArray(a)?o[i]=purify_es_cleanArray(a):a&&\"object\"==typeof a&&a.constructor===Object?o[i]=clone(a):o[i]=a)}return o}function lookupGetter(s,o){for(;null!==s;){const i=zC(s,o);if(i){if(i.get)return unapply(i.get);if(\"function\"==typeof i.value)return unapply(i.value)}s=VC(s)}return function fallbackValue(){return null}}const Jj=WC([\"a\",\"abbr\",\"acronym\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"bdi\",\"bdo\",\"big\",\"blink\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"center\",\"cite\",\"code\",\"col\",\"colgroup\",\"content\",\"data\",\"datalist\",\"dd\",\"decorator\",\"del\",\"details\",\"dfn\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"element\",\"em\",\"fieldset\",\"figcaption\",\"figure\",\"font\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"img\",\"input\",\"ins\",\"kbd\",\"label\",\"legend\",\"li\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meter\",\"nav\",\"nobr\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"section\",\"select\",\"shadow\",\"small\",\"source\",\"spacer\",\"span\",\"strike\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"template\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"tt\",\"u\",\"ul\",\"var\",\"video\",\"wbr\"]),Kj=WC([\"svg\",\"a\",\"altglyph\",\"altglyphdef\",\"altglyphitem\",\"animatecolor\",\"animatemotion\",\"animatetransform\",\"circle\",\"clippath\",\"defs\",\"desc\",\"ellipse\",\"filter\",\"font\",\"g\",\"glyph\",\"glyphref\",\"hkern\",\"image\",\"line\",\"lineargradient\",\"marker\",\"mask\",\"metadata\",\"mpath\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialgradient\",\"rect\",\"stop\",\"style\",\"switch\",\"symbol\",\"text\",\"textpath\",\"title\",\"tref\",\"tspan\",\"view\",\"vkern\"]),Gj=WC([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\"]),Xj=WC([\"animate\",\"color-profile\",\"cursor\",\"discard\",\"font-face\",\"font-face-format\",\"font-face-name\",\"font-face-src\",\"font-face-uri\",\"foreignobject\",\"hatch\",\"hatchpath\",\"mesh\",\"meshgradient\",\"meshpatch\",\"meshrow\",\"missing-glyph\",\"script\",\"set\",\"solidcolor\",\"unknown\",\"use\"]),eP=WC([\"math\",\"menclose\",\"merror\",\"mfenced\",\"mfrac\",\"mglyph\",\"mi\",\"mlabeledtr\",\"mmultiscripts\",\"mn\",\"mo\",\"mover\",\"mpadded\",\"mphantom\",\"mroot\",\"mrow\",\"ms\",\"mspace\",\"msqrt\",\"mstyle\",\"msub\",\"msup\",\"msubsup\",\"mtable\",\"mtd\",\"mtext\",\"mtr\",\"munder\",\"munderover\",\"mprescripts\"]),tP=WC([\"maction\",\"maligngroup\",\"malignmark\",\"mlongdiv\",\"mscarries\",\"mscarry\",\"msgroup\",\"mstack\",\"msline\",\"msrow\",\"semantics\",\"annotation\",\"annotation-xml\",\"mprescripts\",\"none\"]),rP=WC([\"#text\"]),nP=WC([\"accept\",\"action\",\"align\",\"alt\",\"autocapitalize\",\"autocomplete\",\"autopictureinpicture\",\"autoplay\",\"background\",\"bgcolor\",\"border\",\"capture\",\"cellpadding\",\"cellspacing\",\"checked\",\"cite\",\"class\",\"clear\",\"color\",\"cols\",\"colspan\",\"controls\",\"controlslist\",\"coords\",\"crossorigin\",\"datetime\",\"decoding\",\"default\",\"dir\",\"disabled\",\"disablepictureinpicture\",\"disableremoteplayback\",\"download\",\"draggable\",\"enctype\",\"enterkeyhint\",\"face\",\"for\",\"headers\",\"height\",\"hidden\",\"high\",\"href\",\"hreflang\",\"id\",\"inputmode\",\"integrity\",\"ismap\",\"kind\",\"label\",\"lang\",\"list\",\"loading\",\"loop\",\"low\",\"max\",\"maxlength\",\"media\",\"method\",\"min\",\"minlength\",\"multiple\",\"muted\",\"name\",\"nonce\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"optimum\",\"pattern\",\"placeholder\",\"playsinline\",\"popover\",\"popovertarget\",\"popovertargetaction\",\"poster\",\"preload\",\"pubdate\",\"radiogroup\",\"readonly\",\"rel\",\"required\",\"rev\",\"reversed\",\"role\",\"rows\",\"rowspan\",\"spellcheck\",\"scope\",\"selected\",\"shape\",\"size\",\"sizes\",\"span\",\"srclang\",\"start\",\"src\",\"srcset\",\"step\",\"style\",\"summary\",\"tabindex\",\"title\",\"translate\",\"type\",\"usemap\",\"valign\",\"value\",\"width\",\"wrap\",\"xmlns\",\"slot\"]),sP=WC([\"accent-height\",\"accumulate\",\"additive\",\"alignment-baseline\",\"amplitude\",\"ascent\",\"attributename\",\"attributetype\",\"azimuth\",\"basefrequency\",\"baseline-shift\",\"begin\",\"bias\",\"by\",\"class\",\"clip\",\"clippathunits\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-profile\",\"color-rendering\",\"cx\",\"cy\",\"d\",\"dx\",\"dy\",\"diffuseconstant\",\"direction\",\"display\",\"divisor\",\"dur\",\"edgemode\",\"elevation\",\"end\",\"exponent\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"filterunits\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"fx\",\"fy\",\"g1\",\"g2\",\"glyph-name\",\"glyphref\",\"gradientunits\",\"gradienttransform\",\"height\",\"href\",\"id\",\"image-rendering\",\"in\",\"in2\",\"intercept\",\"k\",\"k1\",\"k2\",\"k3\",\"k4\",\"kerning\",\"keypoints\",\"keysplines\",\"keytimes\",\"lang\",\"lengthadjust\",\"letter-spacing\",\"kernelmatrix\",\"kernelunitlength\",\"lighting-color\",\"local\",\"marker-end\",\"marker-mid\",\"marker-start\",\"markerheight\",\"markerunits\",\"markerwidth\",\"maskcontentunits\",\"maskunits\",\"max\",\"mask\",\"media\",\"method\",\"mode\",\"min\",\"name\",\"numoctaves\",\"offset\",\"operator\",\"opacity\",\"order\",\"orient\",\"orientation\",\"origin\",\"overflow\",\"paint-order\",\"path\",\"pathlength\",\"patterncontentunits\",\"patterntransform\",\"patternunits\",\"points\",\"preservealpha\",\"preserveaspectratio\",\"primitiveunits\",\"r\",\"rx\",\"ry\",\"radius\",\"refx\",\"refy\",\"repeatcount\",\"repeatdur\",\"restart\",\"result\",\"rotate\",\"scale\",\"seed\",\"shape-rendering\",\"slope\",\"specularconstant\",\"specularexponent\",\"spreadmethod\",\"startoffset\",\"stddeviation\",\"stitchtiles\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke\",\"stroke-width\",\"style\",\"surfacescale\",\"systemlanguage\",\"tabindex\",\"tablevalues\",\"targetx\",\"targety\",\"transform\",\"transform-origin\",\"text-anchor\",\"text-decoration\",\"text-rendering\",\"textlength\",\"type\",\"u1\",\"u2\",\"unicode\",\"values\",\"viewbox\",\"visibility\",\"version\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\",\"width\",\"word-spacing\",\"wrap\",\"writing-mode\",\"xchannelselector\",\"ychannelselector\",\"x\",\"x1\",\"x2\",\"xmlns\",\"y\",\"y1\",\"y2\",\"z\",\"zoomandpan\"]),oP=WC([\"accent\",\"accentunder\",\"align\",\"bevelled\",\"close\",\"columnsalign\",\"columnlines\",\"columnspan\",\"denomalign\",\"depth\",\"dir\",\"display\",\"displaystyle\",\"encoding\",\"fence\",\"frame\",\"height\",\"href\",\"id\",\"largeop\",\"length\",\"linethickness\",\"lspace\",\"lquote\",\"mathbackground\",\"mathcolor\",\"mathsize\",\"mathvariant\",\"maxsize\",\"minsize\",\"movablelimits\",\"notation\",\"numalign\",\"open\",\"rowalign\",\"rowlines\",\"rowspacing\",\"rowspan\",\"rspace\",\"rquote\",\"scriptlevel\",\"scriptminsize\",\"scriptsizemultiplier\",\"selection\",\"separator\",\"separators\",\"stretchy\",\"subscriptshift\",\"supscriptshift\",\"symmetric\",\"voffset\",\"width\",\"xmlns\"]),iP=WC([\"xlink:href\",\"xml:id\",\"xlink:title\",\"xml:space\",\"xmlns:xlink\"]),aP=JC(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm),cP=JC(/<%[\\w\\W]*|[\\w\\W]*%>/gm),lP=JC(/\\$\\{[\\w\\W]*/gm),uP=JC(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/),pP=JC(/^aria-[\\-\\w]+$/),hP=JC(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),dP=JC(/^(?:\\w+script|data):/i),fP=JC(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),mP=JC(/^html$/i),gP=JC(/^[a-z][.\\w]*(-[.\\w]+)+$/i);var yP=Object.freeze({__proto__:null,ARIA_ATTR:pP,ATTR_WHITESPACE:fP,CUSTOM_ELEMENT:gP,DATA_ATTR:uP,DOCTYPE_NAME:mP,ERB_EXPR:cP,IS_ALLOWED_URI:hP,IS_SCRIPT_OR_DATA:dP,MUSTACHE_EXPR:aP,TMPLIT_EXPR:lP});const vP=1,bP=3,_P=7,SP=8,EP=9,wP=function getGlobal(){return\"undefined\"==typeof window?null:window};var xP=function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wP();const DOMPurify=s=>createDOMPurify(s);if(DOMPurify.version=\"3.2.6\",DOMPurify.removed=[],!s||!s.document||s.document.nodeType!==EP||!s.Element)return DOMPurify.isSupported=!1,DOMPurify;let{document:o}=s;const i=o,a=i.currentScript,{DocumentFragment:u,HTMLTemplateElement:_,Node:w,Element:x,NodeFilter:C,NamedNodeMap:j=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:L,DOMParser:B,trustedTypes:$}=s,U=x.prototype,V=lookupGetter(U,\"cloneNode\"),z=lookupGetter(U,\"remove\"),Y=lookupGetter(U,\"nextSibling\"),Z=lookupGetter(U,\"childNodes\"),ee=lookupGetter(U,\"parentNode\");if(\"function\"==typeof _){const s=o.createElement(\"template\");s.content&&s.content.ownerDocument&&(o=s.content.ownerDocument)}let ie,ae=\"\";const{implementation:ce,createNodeIterator:le,createDocumentFragment:pe,getElementsByTagName:de}=o,{importNode:fe}=i;let ye={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};DOMPurify.isSupported=\"function\"==typeof $C&&\"function\"==typeof ee&&ce&&void 0!==ce.createHTMLDocument;const{MUSTACHE_EXPR:be,ERB_EXPR:_e,TMPLIT_EXPR:Se,DATA_ATTR:we,ARIA_ATTR:xe,IS_SCRIPT_OR_DATA:Pe,ATTR_WHITESPACE:Te,CUSTOM_ELEMENT:Re}=yP;let{IS_ALLOWED_URI:$e}=yP,qe=null;const ze=addToSet({},[...Jj,...Kj,...Gj,...eP,...rP]);let We=null;const He=addToSet({},[...nP,...sP,...oP,...iP]);let Ye=Object.seal(HC(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Xe=null,Qe=null,et=!0,tt=!0,rt=!1,nt=!0,st=!1,ot=!0,it=!1,at=!1,ct=!1,lt=!1,ut=!1,pt=!1,ht=!0,dt=!1,mt=!0,gt=!1,yt={},vt=null;const bt=addToSet({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]);let _t=null;const St=addToSet({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]);let Et=null;const wt=addToSet({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),xt=\"http://www.w3.org/1998/Math/MathML\",kt=\"http://www.w3.org/2000/svg\",Ot=\"http://www.w3.org/1999/xhtml\";let At=Ot,Ct=!1,jt=null;const Pt=addToSet({},[xt,kt,Ot],mj);let It=addToSet({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),Tt=addToSet({},[\"annotation-xml\"]);const Nt=addToSet({},[\"title\",\"style\",\"font\",\"a\",\"script\"]);let Mt=null;const Rt=[\"application/xhtml+xml\",\"text/html\"];let Dt=null,Lt=null;const Ft=o.createElement(\"form\"),Bt=function isRegexOrFunction(s){return s instanceof RegExp||s instanceof Function},$t=function _parseConfig(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Lt||Lt!==s){if(s&&\"object\"==typeof s||(s={}),s=clone(s),Mt=-1===Rt.indexOf(s.PARSER_MEDIA_TYPE)?\"text/html\":s.PARSER_MEDIA_TYPE,Dt=\"application/xhtml+xml\"===Mt?mj:fj,qe=Bj(s,\"ALLOWED_TAGS\")?addToSet({},s.ALLOWED_TAGS,Dt):ze,We=Bj(s,\"ALLOWED_ATTR\")?addToSet({},s.ALLOWED_ATTR,Dt):He,jt=Bj(s,\"ALLOWED_NAMESPACES\")?addToSet({},s.ALLOWED_NAMESPACES,mj):Pt,Et=Bj(s,\"ADD_URI_SAFE_ATTR\")?addToSet(clone(wt),s.ADD_URI_SAFE_ATTR,Dt):wt,_t=Bj(s,\"ADD_DATA_URI_TAGS\")?addToSet(clone(St),s.ADD_DATA_URI_TAGS,Dt):St,vt=Bj(s,\"FORBID_CONTENTS\")?addToSet({},s.FORBID_CONTENTS,Dt):bt,Xe=Bj(s,\"FORBID_TAGS\")?addToSet({},s.FORBID_TAGS,Dt):clone({}),Qe=Bj(s,\"FORBID_ATTR\")?addToSet({},s.FORBID_ATTR,Dt):clone({}),yt=!!Bj(s,\"USE_PROFILES\")&&s.USE_PROFILES,et=!1!==s.ALLOW_ARIA_ATTR,tt=!1!==s.ALLOW_DATA_ATTR,rt=s.ALLOW_UNKNOWN_PROTOCOLS||!1,nt=!1!==s.ALLOW_SELF_CLOSE_IN_ATTR,st=s.SAFE_FOR_TEMPLATES||!1,ot=!1!==s.SAFE_FOR_XML,it=s.WHOLE_DOCUMENT||!1,lt=s.RETURN_DOM||!1,ut=s.RETURN_DOM_FRAGMENT||!1,pt=s.RETURN_TRUSTED_TYPE||!1,ct=s.FORCE_BODY||!1,ht=!1!==s.SANITIZE_DOM,dt=s.SANITIZE_NAMED_PROPS||!1,mt=!1!==s.KEEP_CONTENT,gt=s.IN_PLACE||!1,$e=s.ALLOWED_URI_REGEXP||hP,At=s.NAMESPACE||Ot,It=s.MATHML_TEXT_INTEGRATION_POINTS||It,Tt=s.HTML_INTEGRATION_POINTS||Tt,Ye=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&Bt(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ye.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&Bt(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ye.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ye.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),st&&(tt=!1),ut&&(lt=!0),yt&&(qe=addToSet({},rP),We=[],!0===yt.html&&(addToSet(qe,Jj),addToSet(We,nP)),!0===yt.svg&&(addToSet(qe,Kj),addToSet(We,sP),addToSet(We,iP)),!0===yt.svgFilters&&(addToSet(qe,Gj),addToSet(We,sP),addToSet(We,iP)),!0===yt.mathMl&&(addToSet(qe,eP),addToSet(We,oP),addToSet(We,iP))),s.ADD_TAGS&&(qe===ze&&(qe=clone(qe)),addToSet(qe,s.ADD_TAGS,Dt)),s.ADD_ATTR&&(We===He&&(We=clone(We)),addToSet(We,s.ADD_ATTR,Dt)),s.ADD_URI_SAFE_ATTR&&addToSet(Et,s.ADD_URI_SAFE_ATTR,Dt),s.FORBID_CONTENTS&&(vt===bt&&(vt=clone(vt)),addToSet(vt,s.FORBID_CONTENTS,Dt)),mt&&(qe[\"#text\"]=!0),it&&addToSet(qe,[\"html\",\"head\",\"body\"]),qe.table&&(addToSet(qe,[\"tbody\"]),delete Xe.tbody),s.TRUSTED_TYPES_POLICY){if(\"function\"!=typeof s.TRUSTED_TYPES_POLICY.createHTML)throw zj('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');if(\"function\"!=typeof s.TRUSTED_TYPES_POLICY.createScriptURL)throw zj('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');ie=s.TRUSTED_TYPES_POLICY,ae=ie.createHTML(\"\")}else void 0===ie&&(ie=function _createTrustedTypesPolicy(s,o){if(\"object\"!=typeof s||\"function\"!=typeof s.createPolicy)return null;let i=null;const a=\"data-tt-policy-suffix\";o&&o.hasAttribute(a)&&(i=o.getAttribute(a));const u=\"dompurify\"+(i?\"#\"+i:\"\");try{return s.createPolicy(u,{createHTML:s=>s,createScriptURL:s=>s})}catch(s){return console.warn(\"TrustedTypes policy \"+u+\" could not be created.\"),null}}($,a)),null!==ie&&\"string\"==typeof ae&&(ae=ie.createHTML(\"\"));WC&&WC(s),Lt=s}},qt=addToSet({},[...Kj,...Gj,...Xj]),Ut=addToSet({},[...eP,...tP]),Vt=function _forceRemove(s){ZC(DOMPurify.removed,{element:s});try{ee(s).removeChild(s)}catch(o){z(s)}},zt=function _removeAttribute(s,o){try{ZC(DOMPurify.removed,{attribute:o.getAttributeNode(s),from:o})}catch(s){ZC(DOMPurify.removed,{attribute:null,from:o})}if(o.removeAttribute(s),\"is\"===s)if(lt||ut)try{Vt(o)}catch(s){}else try{o.setAttribute(s,\"\")}catch(s){}},Wt=function _initDocument(s){let i=null,a=null;if(ct)s=\"<remove></remove>\"+s;else{const o=_j(s,/^[\\r\\n\\t ]+/);a=o&&o[0]}\"application/xhtml+xml\"===Mt&&At===Ot&&(s='<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>'+s+\"</body></html>\");const u=ie?ie.createHTML(s):s;if(At===Ot)try{i=(new B).parseFromString(u,Mt)}catch(s){}if(!i||!i.documentElement){i=ce.createDocument(At,\"template\",null);try{i.documentElement.innerHTML=Ct?ae:u}catch(s){}}const _=i.body||i.documentElement;return s&&a&&_.insertBefore(o.createTextNode(a),_.childNodes[0]||null),At===Ot?de.call(i,it?\"html\":\"body\")[0]:it?i.documentElement:_},Jt=function _createNodeIterator(s){return le.call(s.ownerDocument||s,s,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT|C.SHOW_PROCESSING_INSTRUCTION|C.SHOW_CDATA_SECTION,null)},Ht=function _isClobbered(s){return s instanceof L&&(\"string\"!=typeof s.nodeName||\"string\"!=typeof s.textContent||\"function\"!=typeof s.removeChild||!(s.attributes instanceof j)||\"function\"!=typeof s.removeAttribute||\"function\"!=typeof s.setAttribute||\"string\"!=typeof s.namespaceURI||\"function\"!=typeof s.insertBefore||\"function\"!=typeof s.hasChildNodes)},Kt=function _isNode(s){return\"function\"==typeof w&&s instanceof w};function _executeHooks(s,o,i){YC(s,(s=>{s.call(DOMPurify,o,i,Lt)}))}const Gt=function _sanitizeElements(s){let o=null;if(_executeHooks(ye.beforeSanitizeElements,s,null),Ht(s))return Vt(s),!0;const i=Dt(s.nodeName);if(_executeHooks(ye.uponSanitizeElement,s,{tagName:i,allowedTags:qe}),ot&&s.hasChildNodes()&&!Kt(s.firstElementChild)&&$j(/<[/\\w!]/g,s.innerHTML)&&$j(/<[/\\w!]/g,s.textContent))return Vt(s),!0;if(s.nodeType===_P)return Vt(s),!0;if(ot&&s.nodeType===SP&&$j(/<[/\\w]/g,s.data))return Vt(s),!0;if(!qe[i]||Xe[i]){if(!Xe[i]&&Xt(i)){if(Ye.tagNameCheck instanceof RegExp&&$j(Ye.tagNameCheck,i))return!1;if(Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(i))return!1}if(mt&&!vt[i]){const o=ee(s)||s.parentNode,i=Z(s)||s.childNodes;if(i&&o){for(let a=i.length-1;a>=0;--a){const u=V(i[a],!0);u.__removalCount=(s.__removalCount||0)+1,o.insertBefore(u,Y(s))}}}return Vt(s),!0}return s instanceof x&&!function _checkValidNamespace(s){let o=ee(s);o&&o.tagName||(o={namespaceURI:At,tagName:\"template\"});const i=fj(s.tagName),a=fj(o.tagName);return!!jt[s.namespaceURI]&&(s.namespaceURI===kt?o.namespaceURI===Ot?\"svg\"===i:o.namespaceURI===xt?\"svg\"===i&&(\"annotation-xml\"===a||It[a]):Boolean(qt[i]):s.namespaceURI===xt?o.namespaceURI===Ot?\"math\"===i:o.namespaceURI===kt?\"math\"===i&&Tt[a]:Boolean(Ut[i]):s.namespaceURI===Ot?!(o.namespaceURI===kt&&!Tt[a])&&!(o.namespaceURI===xt&&!It[a])&&!Ut[i]&&(Nt[i]||!qt[i]):!(\"application/xhtml+xml\"!==Mt||!jt[s.namespaceURI]))}(s)?(Vt(s),!0):\"noscript\"!==i&&\"noembed\"!==i&&\"noframes\"!==i||!$j(/<\\/no(script|embed|frames)/i,s.innerHTML)?(st&&s.nodeType===bP&&(o=s.textContent,YC([be,_e,Se],(s=>{o=Aj(o,s,\" \")})),s.textContent!==o&&(ZC(DOMPurify.removed,{element:s.cloneNode()}),s.textContent=o)),_executeHooks(ye.afterSanitizeElements,s,null),!1):(Vt(s),!0)},Yt=function _isValidAttribute(s,i,a){if(ht&&(\"id\"===i||\"name\"===i)&&(a in o||a in Ft))return!1;if(tt&&!Qe[i]&&$j(we,i));else if(et&&$j(xe,i));else if(!We[i]||Qe[i]){if(!(Xt(s)&&(Ye.tagNameCheck instanceof RegExp&&$j(Ye.tagNameCheck,s)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(s))&&(Ye.attributeNameCheck instanceof RegExp&&$j(Ye.attributeNameCheck,i)||Ye.attributeNameCheck instanceof Function&&Ye.attributeNameCheck(i))||\"is\"===i&&Ye.allowCustomizedBuiltInElements&&(Ye.tagNameCheck instanceof RegExp&&$j(Ye.tagNameCheck,a)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(a))))return!1}else if(Et[i]);else if($j($e,Aj(a,Te,\"\")));else if(\"src\"!==i&&\"xlink:href\"!==i&&\"href\"!==i||\"script\"===s||0!==Cj(a,\"data:\")||!_t[s]){if(rt&&!$j(Pe,Aj(a,Te,\"\")));else if(a)return!1}else;return!0},Xt=function _isBasicCustomElement(s){return\"annotation-xml\"!==s&&_j(s,Re)},Qt=function _sanitizeAttributes(s){_executeHooks(ye.beforeSanitizeAttributes,s,null);const{attributes:o}=s;if(!o||Ht(s))return;const i={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:We,forceKeepAttr:void 0};let a=o.length;for(;a--;){const u=o[a],{name:_,namespaceURI:w,value:x}=u,C=Dt(_),j=x;let L=\"value\"===_?j:Nj(j);if(i.attrName=C,i.attrValue=L,i.keepAttr=!0,i.forceKeepAttr=void 0,_executeHooks(ye.uponSanitizeAttribute,s,i),L=i.attrValue,!dt||\"id\"!==C&&\"name\"!==C||(zt(_,s),L=\"user-content-\"+L),ot&&$j(/((--!?|])>)|<\\/(style|title)/i,L)){zt(_,s);continue}if(i.forceKeepAttr)continue;if(!i.keepAttr){zt(_,s);continue}if(!nt&&$j(/\\/>/i,L)){zt(_,s);continue}st&&YC([be,_e,Se],(s=>{L=Aj(L,s,\" \")}));const B=Dt(s.nodeName);if(Yt(B,C,L)){if(ie&&\"object\"==typeof $&&\"function\"==typeof $.getAttributeType)if(w);else switch($.getAttributeType(B,C)){case\"TrustedHTML\":L=ie.createHTML(L);break;case\"TrustedScriptURL\":L=ie.createScriptURL(L)}if(L!==j)try{w?s.setAttributeNS(w,_,L):s.setAttribute(_,L),Ht(s)?Vt(s):QC(DOMPurify.removed)}catch(o){zt(_,s)}}else zt(_,s)}_executeHooks(ye.afterSanitizeAttributes,s,null)},Zt=function _sanitizeShadowDOM(s){let o=null;const i=Jt(s);for(_executeHooks(ye.beforeSanitizeShadowDOM,s,null);o=i.nextNode();)_executeHooks(ye.uponSanitizeShadowNode,o,null),Gt(o),Qt(o),o.content instanceof u&&_sanitizeShadowDOM(o.content);_executeHooks(ye.afterSanitizeShadowDOM,s,null)};return DOMPurify.sanitize=function(s){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null,_=null,x=null,C=null;if(Ct=!s,Ct&&(s=\"\\x3c!--\\x3e\"),\"string\"!=typeof s&&!Kt(s)){if(\"function\"!=typeof s.toString)throw zj(\"toString is not a function\");if(\"string\"!=typeof(s=s.toString()))throw zj(\"dirty is not a string, aborting\")}if(!DOMPurify.isSupported)return s;if(at||$t(o),DOMPurify.removed=[],\"string\"==typeof s&&(gt=!1),gt){if(s.nodeName){const o=Dt(s.nodeName);if(!qe[o]||Xe[o])throw zj(\"root node is forbidden and cannot be sanitized in-place\")}}else if(s instanceof w)a=Wt(\"\\x3c!----\\x3e\"),_=a.ownerDocument.importNode(s,!0),_.nodeType===vP&&\"BODY\"===_.nodeName||\"HTML\"===_.nodeName?a=_:a.appendChild(_);else{if(!lt&&!st&&!it&&-1===s.indexOf(\"<\"))return ie&&pt?ie.createHTML(s):s;if(a=Wt(s),!a)return lt?null:pt?ae:\"\"}a&&ct&&Vt(a.firstChild);const j=Jt(gt?s:a);for(;x=j.nextNode();)Gt(x),Qt(x),x.content instanceof u&&Zt(x.content);if(gt)return s;if(lt){if(ut)for(C=pe.call(a.ownerDocument);a.firstChild;)C.appendChild(a.firstChild);else C=a;return(We.shadowroot||We.shadowrootmode)&&(C=fe.call(i,C,!0)),C}let L=it?a.outerHTML:a.innerHTML;return it&&qe[\"!doctype\"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&$j(mP,a.ownerDocument.doctype.name)&&(L=\"<!DOCTYPE \"+a.ownerDocument.doctype.name+\">\\n\"+L),st&&YC([be,_e,Se],(s=>{L=Aj(L,s,\" \")})),ie&&pt?ie.createHTML(L):L},DOMPurify.setConfig=function(){$t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),at=!0},DOMPurify.clearConfig=function(){Lt=null,at=!1},DOMPurify.isValidAttribute=function(s,o,i){Lt||$t({});const a=Dt(s),u=Dt(o);return Yt(a,u,i)},DOMPurify.addHook=function(s,o){\"function\"==typeof o&&ZC(ye[s],o)},DOMPurify.removeHook=function(s,o){if(void 0!==o){const i=XC(ye[s],o);return-1===i?void 0:ej(ye[s],i,1)[0]}return QC(ye[s])},DOMPurify.removeHooks=function(s){ye[s]=[]},DOMPurify.removeAllHooks=function(){ye={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},DOMPurify}();xP.addHook&&xP.addHook(\"beforeSanitizeElements\",(function(s){return s.href&&s.setAttribute(\"rel\",\"noopener noreferrer\"),s}));const kP=function Markdown({source:s,className:o=\"\",getConfigs:i=()=>({useUnsafeMarkdown:!1})}){if(\"string\"!=typeof s)return null;const a=new Remarkable({html:!0,typographer:!0,breaks:!0,linkTarget:\"_blank\"}).use(linkify);a.core.ruler.disable([\"replacements\",\"smartquotes\"]);const{useUnsafeMarkdown:u}=i(),_=a.render(s),w=sanitizer(_,{useUnsafeMarkdown:u});return s&&_&&w?Re.createElement(\"div\",{className:Jn()(o,\"markdown\"),dangerouslySetInnerHTML:{__html:w}}):null};function sanitizer(s,{useUnsafeMarkdown:o=!1}={}){const i=o,a=o?[]:[\"style\",\"class\"];return o&&!sanitizer.hasWarnedAboutDeprecation&&(console.warn(\"useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0.\"),sanitizer.hasWarnedAboutDeprecation=!0),xP.sanitize(s,{ADD_ATTR:[\"target\"],FORBID_TAGS:[\"style\",\"form\"],ALLOW_DATA_ATTR:i,FORBID_ATTR:a})}sanitizer.hasWarnedAboutDeprecation=!1;class BaseLayout extends Re.Component{render(){const{errSelectors:s,specSelectors:o,getComponent:i}=this.props,a=i(\"SvgAssets\"),u=i(\"InfoContainer\",!0),_=i(\"VersionPragmaFilter\"),w=i(\"operations\",!0),x=i(\"Models\",!0),C=i(\"Webhooks\",!0),j=i(\"Row\"),L=i(\"Col\"),B=i(\"errors\",!0),$=i(\"ServersContainer\",!0),U=i(\"SchemesContainer\",!0),V=i(\"AuthorizeBtnContainer\",!0),z=i(\"FilterContainer\",!0),Y=o.isSwagger2(),Z=o.isOAS3(),ee=o.isOAS31(),ie=!o.specStr(),ae=o.loadingStatus();let ce=null;if(\"loading\"===ae&&(ce=Re.createElement(\"div\",{className:\"info\"},Re.createElement(\"div\",{className:\"loading-container\"},Re.createElement(\"div\",{className:\"loading\"})))),\"failed\"===ae&&(ce=Re.createElement(\"div\",{className:\"info\"},Re.createElement(\"div\",{className:\"loading-container\"},Re.createElement(\"h4\",{className:\"title\"},\"Failed to load API definition.\"),Re.createElement(B,null)))),\"failedConfig\"===ae){const o=s.lastError(),i=o?o.get(\"message\"):\"\";ce=Re.createElement(\"div\",{className:\"info failed-config\"},Re.createElement(\"div\",{className:\"loading-container\"},Re.createElement(\"h4\",{className:\"title\"},\"Failed to load remote configuration.\"),Re.createElement(\"p\",null,i)))}if(!ce&&ie&&(ce=Re.createElement(\"h4\",null,\"No API definition provided.\")),ce)return Re.createElement(\"div\",{className:\"swagger-ui\"},Re.createElement(\"div\",{className:\"loading-container\"},ce));const le=o.servers(),pe=o.schemes(),de=le&&le.size,fe=pe&&pe.size,ye=!!o.securityDefinitions();return Re.createElement(\"div\",{className:\"swagger-ui\"},Re.createElement(a,null),Re.createElement(_,{isSwagger2:Y,isOAS3:Z,alsoShow:Re.createElement(B,null)},Re.createElement(B,null),Re.createElement(j,{className:\"information-container\"},Re.createElement(L,{mobile:12},Re.createElement(u,null))),de||fe||ye?Re.createElement(\"div\",{className:\"scheme-container\"},Re.createElement(L,{className:\"schemes wrapper\",mobile:12},de||fe?Re.createElement(\"div\",{className:\"schemes-server-container\"},de?Re.createElement($,null):null,fe?Re.createElement(U,null):null):null,ye?Re.createElement(V,null):null)):null,Re.createElement(z,null),Re.createElement(j,null,Re.createElement(L,{mobile:12,desktop:12},Re.createElement(w,null))),ee&&Re.createElement(j,{className:\"webhooks-container\"},Re.createElement(L,{mobile:12,desktop:12},Re.createElement(C,null))),Re.createElement(j,null,Re.createElement(L,{mobile:12,desktop:12},Re.createElement(x,null)))))}}const core_components=()=>({components:{App:JO,authorizationPopup:AuthorizationPopup,authorizeBtn:AuthorizeBtn,AuthorizeBtnContainer,authorizeOperationBtn:AuthorizeOperationBtn,auths:Auths,AuthItem:auth_item_Auths,authError:AuthError,oauth2:Oauth2,apiKeyAuth:ApiKeyAuth,basicAuth:BasicAuth,clear:Clear,liveResponse:LiveResponse,InitializedInput,info:tA,InfoContainer,InfoUrl,InfoBasePath,Contact:rA,License:nA,JumpToPath,CopyToClipboardBtn,onlineValidatorBadge:OnlineValidatorBadge,operations:Operations,operation:operation_Operation,OperationSummary,OperationSummaryMethod,OperationSummaryPath,responses:responses_Responses,response:response_Response,ResponseExtension:response_extension,responseBody:ResponseBody,parameters:Parameters,parameterRow:ParameterRow,execute:Execute,headers:headers_Headers,errors:Errors,contentType:ContentType,overview:Overview,footer:Footer,FilterContainer,ParamBody,curl:Curl,Property:property,TryItOutButton,Markdown:kP,BaseLayout,VersionPragmaFilter,VersionStamp:version_stamp,OperationExt:operation_extensions,OperationExtRow:operation_extension_row,ParameterExt:parameter_extension,ParameterIncludeEmpty,OperationTag,OperationContainer,OpenAPIVersion:openapi_version,DeepLink:deep_link,SvgAssets:svg_assets,Example:example_Example,ExamplesSelect,ExamplesSelectValueRetainer}}),form_components=()=>({components:{..._e}}),base=()=>[configsPlugin,util,logs,view,view_legacy,plugins_spec,err,icons,plugins_layout,json_schema_5,json_schema_5_samples,core_components,form_components,swagger_client,auth,downloadUrlPlugin,deep_linking,filter,on_complete,plugins_request_snippets,syntax_highlighting,versions,safe_render()],OP=(0,ze.Map)();function onlyOAS3(s){return(o,i)=>(...a)=>{if(i.getSystem().specSelectors.isOAS3()){const o=s(...a);return\"function\"==typeof o?o(i):o}return o(...a)}}const AP=onlyOAS3(xs()(null)),CP=onlyOAS3(((s,o)=>s=>s.getSystem().specSelectors.findSchema(o))),jP=onlyOAS3((()=>s=>{const o=s.getSystem().specSelectors.specJson().getIn([\"components\",\"schemas\"]);return ze.Map.isMap(o)?o:OP})),PP=onlyOAS3((()=>s=>s.getSystem().specSelectors.specJson().hasIn([\"servers\",0]))),IP=onlyOAS3(Ut(Ns,(s=>s.getIn([\"components\",\"securitySchemes\"])||null))),wrap_selectors_validOperationMethods=(s,o)=>(i,...a)=>o.specSelectors.isOAS3()?o.oas3Selectors.validOperationMethods():s(...a),TP=AP,NP=AP,MP=AP,RP=AP,DP=AP;const LP=function wrap_selectors_onlyOAS3(s){return(o,i)=>(...a)=>{if(i.getSystem().specSelectors.isOAS3()){let o=i.getState().getIn([\"spec\",\"resolvedSubtrees\",\"components\",\"securitySchemes\"]);return s(i,o,...a)}return o(...a)}}(Ut((s=>s),(({specSelectors:s})=>s.securityDefinitions()),((s,o)=>{let i=(0,ze.List)();return o?(o.entrySeq().forEach((([s,o])=>{const a=o?.get(\"type\");if(\"oauth2\"===a&&o.get(\"flows\").entrySeq().forEach((([a,u])=>{let _=(0,ze.fromJS)({flow:a,authorizationUrl:u.get(\"authorizationUrl\"),tokenUrl:u.get(\"tokenUrl\"),scopes:u.get(\"scopes\"),type:o.get(\"type\"),description:o.get(\"description\")});i=i.push(new ze.Map({[s]:_.filter((s=>void 0!==s))}))})),\"http\"!==a&&\"apiKey\"!==a||(i=i.push(new ze.Map({[s]:o}))),\"openIdConnect\"===a&&o.get(\"openIdConnectData\")){let a=o.get(\"openIdConnectData\");(a.get(\"grant_types_supported\")||[\"authorization_code\",\"implicit\"]).forEach((u=>{let _=a.get(\"scopes_supported\")&&a.get(\"scopes_supported\").reduce(((s,o)=>s.set(o,\"\")),new ze.Map),w=(0,ze.fromJS)({flow:u,authorizationUrl:a.get(\"authorization_endpoint\"),tokenUrl:a.get(\"token_endpoint\"),scopes:_,type:\"oauth2\",openIdConnectUrl:o.get(\"openIdConnectUrl\")});i=i.push(new ze.Map({[s]:w.filter((s=>void 0!==s))}))}))}})),i):i})));function OAS3ComponentWrapFactory(s){return(o,i)=>a=>\"function\"==typeof i.specSelectors?.isOAS3?i.specSelectors.isOAS3()?Re.createElement(s,Mn()({},a,i,{Ori:o})):Re.createElement(o,a):(console.warn(\"OAS3 wrapper: couldn't get spec\"),null)}const FP=(0,ze.Map)(),selectors_isSwagger2=()=>s=>function isSwagger2(s){const o=s.get(\"swagger\");return\"string\"==typeof o&&\"2.0\"===o}(s.getSystem().specSelectors.specJson()),selectors_isOAS30=()=>s=>function isOAS30(s){const o=s.get(\"openapi\");return\"string\"==typeof o&&/^3\\.0\\.(?:[1-9]\\d*|0)$/.test(o)}(s.getSystem().specSelectors.specJson()),selectors_isOAS3=()=>s=>s.getSystem().specSelectors.isOAS30();function selectors_onlyOAS3(s){return(o,...i)=>a=>{if(a.specSelectors.isOAS3()){const u=s(o,...i);return\"function\"==typeof u?u(a):u}return null}}const BP=selectors_onlyOAS3((()=>s=>s.specSelectors.specJson().get(\"servers\",FP))),findSchema=(s,o)=>{const i=s.getIn([\"resolvedSubtrees\",\"components\",\"schemas\",o],null),a=s.getIn([\"json\",\"components\",\"schemas\",o],null);return i||a||null},$P=selectors_onlyOAS3(((s,{callbacks:o,specPath:i})=>s=>{const a=s.specSelectors.validOperationMethods();return ze.Map.isMap(o)?o.reduce(((s,o,u)=>{if(!ze.Map.isMap(o))return s;const _=o.reduce(((s,o,_)=>{if(!ze.Map.isMap(o))return s;const w=o.entrySeq().filter((([s])=>a.includes(s))).map((([s,o])=>({operation:(0,ze.Map)({operation:o}),method:s,path:_,callbackName:u,specPath:i.concat([u,_,s])})));return s.concat(w)}),(0,ze.List)());return s.concat(_)}),(0,ze.List)()).groupBy((s=>s.callbackName)).map((s=>s.toArray())).toObject():{}})),callbacks=({callbacks:s,specPath:o,specSelectors:i,getComponent:a})=>{const u=i.callbacksOperations({callbacks:s,specPath:o}),_=Object.keys(u),w=a(\"OperationContainer\",!0);return 0===_.length?Re.createElement(\"span\",null,\"No callbacks\"):Re.createElement(\"div\",null,_.map((s=>Re.createElement(\"div\",{key:`${s}`},Re.createElement(\"h2\",null,s),u[s].map((o=>Re.createElement(w,{key:`${s}-${o.path}-${o.method}`,op:o.operation,tag:\"callbacks\",method:o.method,path:o.path,specPath:o.specPath,allowTryItOut:!1})))))))},getDefaultRequestBodyValue=(s,o,i,a)=>{const u=s.getIn([\"content\",o])??(0,ze.OrderedMap)(),_=u.get(\"schema\",(0,ze.OrderedMap)()).toJS(),w=void 0!==u.get(\"examples\"),x=u.get(\"example\"),C=w?u.getIn([\"examples\",i,\"value\"]):x;return stringify(a.getSampleSchema(_,o,{includeWriteOnly:!0},C))},components_request_body=({userHasEditedBody:s,requestBody:o,requestBodyValue:i,requestBodyInclusionSetting:a,requestBodyErrors:u,getComponent:_,getConfigs:w,specSelectors:x,fn:C,contentType:j,isExecute:L,specPath:B,onChange:$,onChangeIncludeEmpty:U,activeExamplesKey:V,updateActiveExamplesKey:z,setRetainRequestBodyValueFlag:Y})=>{const handleFile=s=>{$(s.target.files[0])},setIsIncludedOptions=s=>{let o={key:s,shouldDispatchInit:!1,defaultValue:!0};return\"no value\"===a.get(s,\"no value\")&&(o.shouldDispatchInit=!0),o},Z=_(\"Markdown\",!0),ee=_(\"modelExample\"),ie=_(\"RequestBodyEditor\"),ae=_(\"HighlightCode\",!0),ce=_(\"ExamplesSelectValueRetainer\"),le=_(\"Example\"),pe=_(\"ParameterIncludeEmpty\"),{showCommonExtensions:de}=w(),fe=o?.get(\"description\")??null,ye=o?.get(\"content\")??new ze.OrderedMap;j=j||ye.keySeq().first()||\"\";const be=ye.get(j)??(0,ze.OrderedMap)(),_e=be.get(\"schema\",(0,ze.OrderedMap)()),Se=be.get(\"examples\",null),we=Se?.map(((s,i)=>{const a=s?.get(\"value\",null);return a&&(s=s.set(\"value\",getDefaultRequestBodyValue(o,j,i,C),a)),s}));u=ze.List.isList(u)?u:(0,ze.List)();if(C.isFileUploadIntended(be?.get(\"schema\"),j)){const s=_(\"Input\");return L?Re.createElement(s,{type:\"file\",onChange:handleFile}):Re.createElement(\"i\",null,\"Example values are not available for \",Re.createElement(\"code\",null,j),\" media types.\")}if(!be.size)return null;if(C.hasSchemaType(be.get(\"schema\"),\"object\")&&(\"application/x-www-form-urlencoded\"===j||0===j.indexOf(\"multipart/\"))&&_e.get(\"properties\",(0,ze.OrderedMap)()).size>0){const s=_(\"JsonSchemaForm\"),o=_(\"ParameterExt\"),j=_e.get(\"properties\",(0,ze.OrderedMap)());return i=ze.Map.isMap(i)?i:(0,ze.OrderedMap)(),Re.createElement(\"div\",{className:\"table-container\"},fe&&Re.createElement(Z,{source:fe}),Re.createElement(\"table\",null,Re.createElement(\"tbody\",null,ze.Map.isMap(j)&&j.entrySeq().map((([j,V])=>{if(V.get(\"readOnly\"))return;const z=V.get(\"oneOf\")?.get(0)?.toJS(),Y=V.get(\"anyOf\")?.get(0)?.toJS();V=(0,ze.fromJS)(C.mergeJsonSchema(V.toJS(),z??Y??{}));let ie=de?getCommonExtensions(V):null;const ae=_e.get(\"required\",(0,ze.List)()).includes(j),ce=C.getSchemaObjectType(V),le=C.getSchemaObjectTypeLabel(V),fe=C.getSchemaObjectType(V?.get(\"items\")),ye=V.get(\"format\"),be=V.get(\"description\"),Se=i.getIn([j,\"value\"]),we=i.getIn([j,\"errors\"])||u,xe=a.get(j)||!1;let Pe=C.getSampleSchema(V,!1,{includeWriteOnly:!0});!1===Pe&&(Pe=\"false\"),0===Pe&&(Pe=\"0\"),\"string\"!=typeof Pe&&\"object\"===ce&&(Pe=stringify(Pe)),\"string\"==typeof Pe&&\"array\"===ce&&(Pe=JSON.parse(Pe));const Te=C.isFileUploadIntended(V),$e=Re.createElement(s,{fn:C,dispatchInitialValue:!Te,schema:V,description:j,getComponent:_,value:void 0===Se?Pe:Se,required:ae,errors:we,onChange:s=>{$(s,[j])}});return Re.createElement(\"tr\",{key:j,className:\"parameters\",\"data-property-name\":j},Re.createElement(\"td\",{className:\"parameters-col_name\"},Re.createElement(\"div\",{className:ae?\"parameter__name required\":\"parameter__name\"},j,ae?Re.createElement(\"span\",null,\" *\"):null),Re.createElement(\"div\",{className:\"parameter__type\"},le,ye&&Re.createElement(\"span\",{className:\"prop-format\"},\"($\",ye,\")\"),de&&ie.size?ie.entrySeq().map((([s,i])=>Re.createElement(o,{key:`${s}-${i}`,xKey:s,xVal:i}))):null),Re.createElement(\"div\",{className:\"parameter__deprecated\"},V.get(\"deprecated\")?\"deprecated\":null)),Re.createElement(\"td\",{className:\"parameters-col_description\"},Re.createElement(Z,{source:be}),L?Re.createElement(\"div\",null,\"object\"===ce||\"object\"===fe?Re.createElement(ee,{getComponent:_,specPath:B.push(\"schema\"),getConfigs:w,isExecute:L,specSelectors:x,schema:V,example:$e}):$e,ae?null:Re.createElement(pe,{onChange:s=>U(j,s),isIncluded:xe,isIncludedOptions:setIsIncludedOptions(j),isDisabled:Array.isArray(Se)?0!==Se.length:!isEmptyValue(Se)})):null))})))))}const xe=getDefaultRequestBodyValue(o,j,V,C);let Pe=null;getKnownSyntaxHighlighterLanguage(xe)&&(Pe=\"json\");const Te=L?Re.createElement(ie,{value:i,errors:u,defaultValue:xe,onChange:$,getComponent:_}):Re.createElement(ae,{className:\"body-param__example\",language:Pe},stringify(i)||xe);return Re.createElement(\"div\",null,fe&&Re.createElement(Z,{source:fe}),we?Re.createElement(ce,{userHasEditedBody:s,examples:we,currentKey:V,currentUserInputValue:i,onSelect:s=>{z(s)},updateValue:$,defaultToFirstExample:!0,getComponent:_,setRetainRequestBodyValueFlag:Y}):null,Re.createElement(ee,{getComponent:_,getConfigs:w,specSelectors:x,expandDepth:1,isExecute:L,schema:be.get(\"schema\"),specPath:B.push(\"content\",j,\"schema\"),example:Te,includeWriteOnly:!0}),we?Re.createElement(le,{example:we.get(V),getComponent:_,getConfigs:w}):null)};class operation_link_OperationLink extends Re.Component{render(){const{link:s,name:o,getComponent:i}=this.props,a=i(\"Markdown\",!0);let u=s.get(\"operationId\")||s.get(\"operationRef\"),_=s.get(\"parameters\")&&s.get(\"parameters\").toJS(),w=s.get(\"description\");return Re.createElement(\"div\",{className:\"operation-link\"},Re.createElement(\"div\",{className:\"description\"},Re.createElement(\"b\",null,Re.createElement(\"code\",null,o)),w?Re.createElement(a,{source:w}):null),Re.createElement(\"pre\",null,\"Operation `\",u,\"`\",Re.createElement(\"br\",null),Re.createElement(\"br\",null),\"Parameters \",function padString(s,o){if(\"string\"!=typeof o)return\"\";return o.split(\"\\n\").map(((o,i)=>i>0?Array(s+1).join(\" \")+o:o)).join(\"\\n\")}(0,JSON.stringify(_,null,2))||\"{}\",Re.createElement(\"br\",null)))}}const qP=operation_link_OperationLink,components_servers=({servers:s,currentServer:o,setSelectedServer:i,setServerVariableValue:a,getServerVariable:u,getEffectiveServerValue:_})=>{const w=(s.find((s=>s.get(\"url\")===o))||(0,ze.OrderedMap)()).get(\"variables\")||(0,ze.OrderedMap)(),x=0!==w.size;(0,Re.useEffect)((()=>{o||i(s.first()?.get(\"url\"))}),[]),(0,Re.useEffect)((()=>{const u=s.find((s=>s.get(\"url\")===o));if(!u)return void i(s.first().get(\"url\"));(u.get(\"variables\")||(0,ze.OrderedMap)()).map(((s,i)=>{a({server:o,key:i,val:s.get(\"default\")||\"\"})}))}),[o,s]);const C=(0,Re.useCallback)((s=>{i(s.target.value)}),[i]),j=(0,Re.useCallback)((s=>{const i=s.target.getAttribute(\"data-variable\"),u=s.target.value;a({server:o,key:i,val:u})}),[a,o]);return Re.createElement(\"div\",{className:\"servers\"},Re.createElement(\"label\",{htmlFor:\"servers\"},Re.createElement(\"select\",{onChange:C,value:o,id:\"servers\"},s.valueSeq().map((s=>Re.createElement(\"option\",{value:s.get(\"url\"),key:s.get(\"url\")},s.get(\"url\"),s.get(\"description\")&&` - ${s.get(\"description\")}`))).toArray())),x&&Re.createElement(\"div\",null,Re.createElement(\"div\",{className:\"computed-url\"},\"Computed URL:\",Re.createElement(\"code\",null,_(o))),Re.createElement(\"h4\",null,\"Server variables\"),Re.createElement(\"table\",null,Re.createElement(\"tbody\",null,w.entrySeq().map((([s,i])=>Re.createElement(\"tr\",{key:s},Re.createElement(\"td\",null,s),Re.createElement(\"td\",null,i.get(\"enum\")?Re.createElement(\"select\",{\"data-variable\":s,onChange:j},i.get(\"enum\").map((i=>Re.createElement(\"option\",{selected:i===u(o,s),key:i,value:i},i)))):Re.createElement(\"input\",{type:\"text\",value:u(o,s)||\"\",onChange:j,\"data-variable\":s})))))))))};class ServersContainer extends Re.Component{render(){const{specSelectors:s,oas3Selectors:o,oas3Actions:i,getComponent:a}=this.props,u=s.servers(),_=a(\"Servers\");return u&&u.size?Re.createElement(\"div\",null,Re.createElement(\"span\",{className:\"servers-title\"},\"Servers\"),Re.createElement(_,{servers:u,currentServer:o.selectedServer(),setSelectedServer:i.setSelectedServer,setServerVariableValue:i.setServerVariableValue,getServerVariable:o.serverVariableValue,getEffectiveServerValue:o.serverEffectiveValue})):null}}const UP=Function.prototype;class RequestBodyEditor extends Re.PureComponent{static defaultProps={onChange:UP,userHasEditedBody:!1};constructor(s,o){super(s,o),this.state={value:stringify(s.value)||s.defaultValue},s.onChange(s.value)}applyDefaultValue=s=>{const{onChange:o,defaultValue:i}=s||this.props;return this.setState({value:i}),o(i)};onChange=s=>{this.props.onChange(stringify(s))};onDomChange=s=>{const o=s.target.value;this.setState({value:o},(()=>this.onChange(o)))};UNSAFE_componentWillReceiveProps(s){this.props.value!==s.value&&s.value!==this.state.value&&this.setState({value:stringify(s.value)}),!s.value&&s.defaultValue&&this.state.value&&this.applyDefaultValue(s)}render(){let{getComponent:s,errors:o}=this.props,{value:i}=this.state,a=o.size>0;const u=s(\"TextArea\");return Re.createElement(\"div\",{className:\"body-param\"},Re.createElement(u,{className:Jn()(\"body-param__text\",{invalid:a}),title:o.size?o.join(\", \"):\"\",value:i,onChange:this.onDomChange}))}}class HttpAuth extends Re.Component{constructor(s,o){super(s,o);let{name:i,schema:a}=this.props,u=this.getValue();this.state={name:i,schema:a,value:u}}getValue(){let{name:s,authorized:o}=this.props;return o&&o.getIn([s,\"value\"])}onChange=s=>{let{onChange:o}=this.props,{value:i,name:a}=s.target,u=Object.assign({},this.state.value);a?u[a]=i:u=i,this.setState({value:u},(()=>o(this.state)))};render(){let{schema:s,getComponent:o,errSelectors:i,name:a,authSelectors:u}=this.props;const _=o(\"Input\"),w=o(\"Row\"),x=o(\"Col\"),C=o(\"authError\"),j=o(\"Markdown\",!0),L=o(\"JumpToPath\",!0),B=(s.get(\"scheme\")||\"\").toLowerCase(),$=u.selectAuthPath(a);let U=this.getValue(),V=i.allErrors().filter((s=>s.get(\"authId\")===a));if(\"basic\"===B){let o=U?U.get(\"username\"):null;return Re.createElement(\"div\",null,Re.createElement(\"h4\",null,Re.createElement(\"code\",null,a),\"  (http, Basic)\",Re.createElement(L,{path:$})),o&&Re.createElement(\"h6\",null,\"Authorized\"),Re.createElement(w,null,Re.createElement(j,{source:s.get(\"description\")})),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"auth-basic-username\"},\"Username:\"),o?Re.createElement(\"code\",null,\" \",o,\" \"):Re.createElement(x,null,Re.createElement(_,{id:\"auth-basic-username\",type:\"text\",required:\"required\",name:\"username\",\"aria-label\":\"auth-basic-username\",onChange:this.onChange,autoFocus:!0}))),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"auth-basic-password\"},\"Password:\"),o?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(x,null,Re.createElement(_,{id:\"auth-basic-password\",autoComplete:\"new-password\",name:\"password\",type:\"password\",\"aria-label\":\"auth-basic-password\",onChange:this.onChange}))),V.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o}))))}return\"bearer\"===B?Re.createElement(\"div\",null,Re.createElement(\"h4\",null,Re.createElement(\"code\",null,a),\"  (http, Bearer)\",Re.createElement(L,{path:$})),U&&Re.createElement(\"h6\",null,\"Authorized\"),Re.createElement(w,null,Re.createElement(j,{source:s.get(\"description\")})),Re.createElement(w,null,Re.createElement(\"label\",{htmlFor:\"auth-bearer-value\"},\"Value:\"),U?Re.createElement(\"code\",null,\" ****** \"):Re.createElement(x,null,Re.createElement(_,{id:\"auth-bearer-value\",type:\"text\",\"aria-label\":\"auth-bearer-value\",onChange:this.onChange,autoFocus:!0}))),V.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o})))):Re.createElement(\"div\",null,Re.createElement(\"em\",null,Re.createElement(\"b\",null,a),\" HTTP authentication: unsupported scheme \",`'${B}'`))}}class operation_servers_OperationServers extends Re.Component{setSelectedServer=s=>{const{path:o,method:i}=this.props;return this.forceUpdate(),this.props.setSelectedServer(s,`${o}:${i}`)};setServerVariableValue=s=>{const{path:o,method:i}=this.props;return this.forceUpdate(),this.props.setServerVariableValue({...s,namespace:`${o}:${i}`})};getSelectedServer=()=>{const{path:s,method:o}=this.props;return this.props.getSelectedServer(`${s}:${o}`)};getServerVariable=(s,o)=>{const{path:i,method:a}=this.props;return this.props.getServerVariable({namespace:`${i}:${a}`,server:s},o)};getEffectiveServerValue=s=>{const{path:o,method:i}=this.props;return this.props.getEffectiveServerValue({server:s,namespace:`${o}:${i}`})};render(){const{operationServers:s,pathServers:o,getComponent:i}=this.props;if(!s&&!o)return null;const a=i(\"Servers\"),u=s||o,_=s?\"operation\":\"path\";return Re.createElement(\"div\",{className:\"opblock-section operation-servers\"},Re.createElement(\"div\",{className:\"opblock-section-header\"},Re.createElement(\"div\",{className:\"tab-header\"},Re.createElement(\"h4\",{className:\"opblock-title\"},\"Servers\"))),Re.createElement(\"div\",{className:\"opblock-description-wrapper\"},Re.createElement(\"h4\",{className:\"message\"},\"These \",_,\"-level options override the global server options.\"),Re.createElement(a,{servers:u,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}const VP={Callbacks:callbacks,HttpAuth,RequestBody:components_request_body,Servers:components_servers,ServersContainer,RequestBodyEditor,OperationServers:operation_servers_OperationServers,operationLink:qP},zP=new Remarkable(\"commonmark\");zP.block.ruler.enable([\"table\"]),zP.set({linkTarget:\"_blank\"});const WP=OAS3ComponentWrapFactory((({source:s,className:o=\"\",getConfigs:i=()=>({useUnsafeMarkdown:!1})})=>{if(\"string\"!=typeof s)return null;if(s){const{useUnsafeMarkdown:a}=i(),u=sanitizer(zP.render(s),{useUnsafeMarkdown:a});let _;return\"string\"==typeof u&&(_=u.trim()),Re.createElement(\"div\",{dangerouslySetInnerHTML:{__html:_},className:Jn()(o,\"renderedMarkdown\")})}return null})),JP=OAS3ComponentWrapFactory((({Ori:s,...o})=>{const{schema:i,getComponent:a,errSelectors:u,authorized:_,onAuthChange:w,name:x,authSelectors:C}=o,j=a(\"HttpAuth\");return\"http\"===i.get(\"type\")?Re.createElement(j,{key:x,schema:i,name:x,errSelectors:u,authorized:_,getComponent:a,onChange:w,authSelectors:C}):Re.createElement(s,o)})),HP=OAS3ComponentWrapFactory(OnlineValidatorBadge);class ModelComponent extends Re.Component{render(){let{getConfigs:s,schema:o,Ori:i}=this.props,a=[\"model-box\"],u=null;return!0===o.get(\"deprecated\")&&(a.push(\"deprecated\"),u=Re.createElement(\"span\",{className:\"model-deprecated-warning\"},\"Deprecated:\")),Re.createElement(\"div\",{className:a.join(\" \")},u,Re.createElement(i,Mn()({},this.props,{getConfigs:s,depth:1,expandDepth:this.props.expandDepth||0})))}}const KP=OAS3ComponentWrapFactory(ModelComponent),GP=OAS3ComponentWrapFactory((({Ori:s,...o})=>{const{schema:i,getComponent:a,errors:u,onChange:_,fn:w}=o,x=w.isFileUploadIntended(i),C=a(\"Input\");return x?Re.createElement(C,{type:\"file\",className:u.length?\"invalid\":\"\",title:u.length?u:\"\",onChange:s=>{_(s.target.files[0])},disabled:s.isDisabled}):Re.createElement(s,o)})),YP={Markdown:WP,AuthItem:JP,OpenAPIVersion:function OAS30ComponentWrapFactory(s){return(o,i)=>a=>\"function\"==typeof i.specSelectors?.isOAS30?i.specSelectors.isOAS30()?Re.createElement(s,Mn()({},a,i,{Ori:o})):Re.createElement(o,a):(console.warn(\"OAS30 wrapper: couldn't get spec\"),null)}((s=>{const{Ori:o}=s;return Re.createElement(o,{oasVersion:\"3.0\"})})),JsonSchema_string:GP,model:KP,onlineValidatorBadge:HP},XP=\"oas3_set_servers\",QP=\"oas3_set_request_body_value\",ZP=\"oas3_set_request_body_retain_flag\",eI=\"oas3_set_request_body_inclusion\",tI=\"oas3_set_active_examples_member\",rI=\"oas3_set_request_content_type\",nI=\"oas3_set_response_content_type\",sI=\"oas3_set_server_variable_value\",oI=\"oas3_set_request_body_validate_error\",iI=\"oas3_clear_request_body_validate_error\",aI=\"oas3_clear_request_body_value\";function setSelectedServer(s,o){return{type:XP,payload:{selectedServerUrl:s,namespace:o}}}function setRequestBodyValue({value:s,pathMethod:o}){return{type:QP,payload:{value:s,pathMethod:o}}}const setRetainRequestBodyValueFlag=({value:s,pathMethod:o})=>({type:ZP,payload:{value:s,pathMethod:o}});function setRequestBodyInclusion({value:s,pathMethod:o,name:i}){return{type:eI,payload:{value:s,pathMethod:o,name:i}}}function setActiveExamplesMember({name:s,pathMethod:o,contextType:i,contextName:a}){return{type:tI,payload:{name:s,pathMethod:o,contextType:i,contextName:a}}}function setRequestContentType({value:s,pathMethod:o}){return{type:rI,payload:{value:s,pathMethod:o}}}function setResponseContentType({value:s,path:o,method:i}){return{type:nI,payload:{value:s,path:o,method:i}}}function setServerVariableValue({server:s,namespace:o,key:i,val:a}){return{type:sI,payload:{server:s,namespace:o,key:i,val:a}}}const setRequestBodyValidateError=({path:s,method:o,validationErrors:i})=>({type:oI,payload:{path:s,method:o,validationErrors:i}}),clearRequestBodyValidateError=({path:s,method:o})=>({type:iI,payload:{path:s,method:o}}),initRequestBodyValidateError=({pathMethod:s})=>({type:iI,payload:{path:s[0],method:s[1]}}),clearRequestBodyValue=({pathMethod:s})=>({type:aI,payload:{pathMethod:s}});var cI=__webpack_require__(60680),lI=__webpack_require__.n(cI);const oas3_selectors_onlyOAS3=s=>(o,...i)=>a=>{if(a.getSystem().specSelectors.isOAS3()){const u=s(o,...i);return\"function\"==typeof u?u(a):u}return null};const uI=oas3_selectors_onlyOAS3(((s,o)=>{const i=o?[o,\"selectedServer\"]:[\"selectedServer\"];return s.getIn(i)||\"\"})),pI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"bodyValue\"])||null)),hI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"retainBodyValue\"])||!1)),selectDefaultRequestBodyValue=(s,o,i)=>s=>{const{oas3Selectors:a,specSelectors:u,fn:_}=s.getSystem();if(u.isOAS3()){const s=a.requestContentType(o,i);if(s)return getDefaultRequestBodyValue(u.specResolvedSubtree([\"paths\",o,i,\"requestBody\"]),s,a.activeExamplesMember(o,i,\"requestBody\",\"requestBody\"),_)}return null},dI=oas3_selectors_onlyOAS3(((s,o,i)=>s=>{const{oas3Selectors:a,specSelectors:u,fn:_}=s;let w=!1;const x=a.requestContentType(o,i);let C=a.requestBodyValue(o,i);const j=u.specResolvedSubtree([\"paths\",o,i,\"requestBody\"]);if(!j)return!1;if(ze.Map.isMap(C)&&(C=stringify(C.mapEntries((s=>ze.Map.isMap(s[1])?[s[0],s[1].get(\"value\")]:s)).toJS())),ze.List.isList(C)&&(C=stringify(C)),x){const s=getDefaultRequestBodyValue(j,x,a.activeExamplesMember(o,i,\"requestBody\",\"requestBody\"),_);w=!!C&&C!==s}return w})),fI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"bodyInclusion\"])||(0,ze.Map)())),mI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"errors\"])||null)),gI=oas3_selectors_onlyOAS3(((s,o,i,a,u)=>s.getIn([\"examples\",o,i,a,u,\"activeExample\"])||null)),yI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"requestContentType\"])||null)),vI=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn([\"requestData\",o,i,\"responseContentType\"])||null)),bI=oas3_selectors_onlyOAS3(((s,o,i)=>{let a;if(\"string\"!=typeof o){const{server:s,namespace:u}=o;a=u?[u,\"serverVariableValues\",s,i]:[\"serverVariableValues\",s,i]}else{a=[\"serverVariableValues\",o,i]}return s.getIn(a)||null})),_I=oas3_selectors_onlyOAS3(((s,o)=>{let i;if(\"string\"!=typeof o){const{server:s,namespace:a}=o;i=a?[a,\"serverVariableValues\",s]:[\"serverVariableValues\",s]}else{i=[\"serverVariableValues\",o]}return s.getIn(i)||(0,ze.OrderedMap)()})),SI=oas3_selectors_onlyOAS3(((s,o)=>{var i,a;if(\"string\"!=typeof o){const{server:u,namespace:_}=o;a=u,i=_?s.getIn([_,\"serverVariableValues\",a]):s.getIn([\"serverVariableValues\",a])}else a=o,i=s.getIn([\"serverVariableValues\",a]);i=i||(0,ze.OrderedMap)();let u=a;return i.map(((s,o)=>{u=u.replace(new RegExp(`{${lI()(o)}}`,\"g\"),s)})),u})),EI=function validateRequestBodyIsRequired(s){return(...o)=>i=>{const a=i.getSystem().specSelectors.specJson();let u=[...o][1]||[];return!a.getIn([\"paths\",...u,\"requestBody\",\"required\"])||s(...o)}}(((s,o)=>((s,o)=>(o=o||[],!!s.getIn([\"requestData\",...o,\"bodyValue\"])))(s,o))),validateShallowRequired=(s,{oas3RequiredRequestBodyContentType:o,oas3RequestContentType:i,oas3RequestBodyValue:a})=>{let u=[];if(!ze.Map.isMap(a))return u;let _=[];return Object.keys(o.requestContentType).forEach((s=>{if(s===i){o.requestContentType[s].forEach((s=>{_.indexOf(s)<0&&_.push(s)}))}})),_.forEach((s=>{a.getIn([s,\"value\"])||u.push(s)})),u},wI=xs()([\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"]),xI={[XP]:(s,{payload:{selectedServerUrl:o,namespace:i}})=>{const a=i?[i,\"selectedServer\"]:[\"selectedServer\"];return s.setIn(a,o)},[QP]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;if(!ze.Map.isMap(o))return s.setIn([\"requestData\",a,u,\"bodyValue\"],o);let _=s.getIn([\"requestData\",a,u,\"bodyValue\"])||(0,ze.Map)();ze.Map.isMap(_)||(_=(0,ze.Map)());let w=_;const[...x]=o.keys();return x.forEach((s=>{let i=o.getIn([s]);w.has(s)&&ze.Map.isMap(i)||(w=w.setIn([s,\"value\"],i))})),s.setIn([\"requestData\",a,u,\"bodyValue\"],w)},[ZP]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;return s.setIn([\"requestData\",a,u,\"retainBodyValue\"],o)},[eI]:(s,{payload:{value:o,pathMethod:i,name:a}})=>{let[u,_]=i;return s.setIn([\"requestData\",u,_,\"bodyInclusion\",a],o)},[tI]:(s,{payload:{name:o,pathMethod:i,contextType:a,contextName:u}})=>{let[_,w]=i;return s.setIn([\"examples\",_,w,a,u,\"activeExample\"],o)},[rI]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;return s.setIn([\"requestData\",a,u,\"requestContentType\"],o)},[nI]:(s,{payload:{value:o,path:i,method:a}})=>s.setIn([\"requestData\",i,a,\"responseContentType\"],o),[sI]:(s,{payload:{server:o,namespace:i,key:a,val:u}})=>{const _=i?[i,\"serverVariableValues\",o,a]:[\"serverVariableValues\",o,a];return s.setIn(_,u)},[oI]:(s,{payload:{path:o,method:i,validationErrors:a}})=>{let u=[];if(u.push(\"Required field is not provided\"),a.missingBodyValue)return s.setIn([\"requestData\",o,i,\"errors\"],(0,ze.fromJS)(u));if(a.missingRequiredKeys&&a.missingRequiredKeys.length>0){const{missingRequiredKeys:_}=a;return s.updateIn([\"requestData\",o,i,\"bodyValue\"],(0,ze.fromJS)({}),(s=>_.reduce(((s,o)=>s.setIn([o,\"errors\"],(0,ze.fromJS)(u))),s)))}return console.warn(\"unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR\"),s},[iI]:(s,{payload:{path:o,method:i}})=>{const a=s.getIn([\"requestData\",o,i,\"bodyValue\"]);if(!ze.Map.isMap(a))return s.setIn([\"requestData\",o,i,\"errors\"],(0,ze.fromJS)([]));const[...u]=a.keys();return u?s.updateIn([\"requestData\",o,i,\"bodyValue\"],(0,ze.fromJS)({}),(s=>u.reduce(((s,o)=>s.setIn([o,\"errors\"],(0,ze.fromJS)([]))),s))):s},[aI]:(s,{payload:{pathMethod:o}})=>{let[i,a]=o;const u=s.getIn([\"requestData\",i,a,\"bodyValue\"]);return u?ze.Map.isMap(u)?s.setIn([\"requestData\",i,a,\"bodyValue\"],(0,ze.Map)()):s.setIn([\"requestData\",i,a,\"bodyValue\"],\"\"):s}};function oas3({getSystem:s}){const o=(s=>(o,i=null)=>{const{getConfigs:a,fn:u}=s(),{fileUploadMediaTypes:_}=a();if(\"string\"==typeof i&&_.some((s=>i.startsWith(s))))return!0;const w=ze.Map.isMap(o);if(!w&&!as()(o))return!1;const x=w?o.get(\"format\"):o.format;return u.hasSchemaType(o,\"string\")&&[\"binary\",\"byte\"].includes(x)})(s);return{components:VP,wrapComponents:YP,statePlugins:{spec:{wrapSelectors:Se,selectors:xe},auth:{wrapSelectors:we},oas3:{actions:{...Pe},reducers:xI,selectors:{...Te}}},fn:{isFileUploadIntended:o,isFileUploadIntendedOAS30:o}}}const webhooks=({specSelectors:s,getComponent:o})=>{const i=s.selectWebhooksOperations();if(!i)return null;const a=Object.keys(i),u=o(\"OperationContainer\",!0);return 0===a.length?null:Re.createElement(\"div\",{className:\"webhooks\"},Re.createElement(\"h2\",null,\"Webhooks\"),a.map((s=>Re.createElement(\"div\",{key:`${s}-webhook`},i[s].map((o=>Re.createElement(u,{key:`${s}-${o.method}-webhook`,op:o.operation,tag:\"webhooks\",method:o.method,path:s,specPath:(0,ze.List)(o.specPath),allowTryItOut:!1})))))))},oas31_components_license=({getComponent:s,specSelectors:o})=>{const i=o.selectLicenseNameField(),a=o.selectLicenseUrl(),u=s(\"Link\");return Re.createElement(\"div\",{className:\"info__license\"},a?Re.createElement(\"div\",{className:\"info__license__url\"},Re.createElement(u,{target:\"_blank\",href:sanitizeUrl(a)},i)):Re.createElement(\"span\",null,i))},oas31_components_contact=({getComponent:s,specSelectors:o})=>{const i=o.selectContactNameField(),a=o.selectContactUrl(),u=o.selectContactEmailField(),_=s(\"Link\");return Re.createElement(\"div\",{className:\"info__contact\"},a&&Re.createElement(\"div\",null,Re.createElement(_,{href:sanitizeUrl(a),target:\"_blank\"},i,\" - Website\")),u&&Re.createElement(_,{href:sanitizeUrl(`mailto:${u}`)},a?`Send email to ${i}`:`Contact ${i}`))},oas31_components_info=({getComponent:s,specSelectors:o})=>{const i=o.version(),a=o.url(),u=o.basePath(),_=o.host(),w=o.selectInfoSummaryField(),x=o.selectInfoDescriptionField(),C=o.selectInfoTitleField(),j=o.selectInfoTermsOfServiceUrl(),L=o.selectExternalDocsUrl(),B=o.selectExternalDocsDescriptionField(),$=o.contact(),U=o.license(),V=s(\"Markdown\",!0),z=s(\"Link\"),Y=s(\"VersionStamp\"),Z=s(\"OpenAPIVersion\"),ee=s(\"InfoUrl\"),ie=s(\"InfoBasePath\"),ae=s(\"License\",!0),ce=s(\"Contact\",!0),le=s(\"JsonSchemaDialect\",!0);return Re.createElement(\"div\",{className:\"info\"},Re.createElement(\"hgroup\",{className:\"main\"},Re.createElement(\"h1\",{className:\"title\"},C,Re.createElement(\"span\",null,i&&Re.createElement(Y,{version:i}),Re.createElement(Z,{oasVersion:\"3.1\"}))),(_||u)&&Re.createElement(ie,{host:_,basePath:u}),a&&Re.createElement(ee,{getComponent:s,url:a})),w&&Re.createElement(\"p\",{className:\"info__summary\"},w),Re.createElement(\"div\",{className:\"info__description description\"},Re.createElement(V,{source:x})),j&&Re.createElement(\"div\",{className:\"info__tos\"},Re.createElement(z,{target:\"_blank\",href:sanitizeUrl(j)},\"Terms of service\")),$.size>0&&Re.createElement(ce,null),U.size>0&&Re.createElement(ae,null),L&&Re.createElement(z,{className:\"info__extdocs\",target:\"_blank\",href:sanitizeUrl(L)},B||L),Re.createElement(le,null))},json_schema_dialect=({getComponent:s,specSelectors:o})=>{const i=o.selectJsonSchemaDialectField(),a=o.selectJsonSchemaDialectDefault(),u=s(\"Link\");return Re.createElement(Re.Fragment,null,i&&i===a&&Re.createElement(\"p\",{className:\"info__jsonschemadialect\"},\"JSON Schema dialect:\",\" \",Re.createElement(u,{target:\"_blank\",href:sanitizeUrl(i)},i)),i&&i!==a&&Re.createElement(\"div\",{className:\"error-wrapper\"},Re.createElement(\"div\",{className:\"no-margin\"},Re.createElement(\"div\",{className:\"errors\"},Re.createElement(\"div\",{className:\"errors-wrapper\"},Re.createElement(\"h4\",{className:\"center\"},\"Warning\"),Re.createElement(\"p\",{className:\"message\"},Re.createElement(\"strong\",null,\"OpenAPI.jsonSchemaDialect\"),\" field contains a value different from the default value of\",\" \",Re.createElement(u,{target:\"_blank\",href:a},a),\". Values different from the default one are currently not supported. Please either omit the field or provide it with the default value.\"))))))},version_pragma_filter=({bypass:s,isSwagger2:o,isOAS3:i,isOAS31:a,alsoShow:u,children:_})=>s?Re.createElement(\"div\",null,_):o&&(i||a)?Re.createElement(\"div\",{className:\"version-pragma\"},u,Re.createElement(\"div\",{className:\"version-pragma__message version-pragma__message--ambiguous\"},Re.createElement(\"div\",null,Re.createElement(\"h3\",null,\"Unable to render this definition\"),Re.createElement(\"p\",null,Re.createElement(\"code\",null,\"swagger\"),\" and \",Re.createElement(\"code\",null,\"openapi\"),\" fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields.\"),Re.createElement(\"p\",null,\"Supported version fields are \",Re.createElement(\"code\",null,'swagger: \"2.0\"'),\" and those that match \",Re.createElement(\"code\",null,\"openapi: 3.x.y\"),\" (for example,\",\" \",Re.createElement(\"code\",null,\"openapi: 3.1.0\"),\").\")))):o||i||a?Re.createElement(\"div\",null,_):Re.createElement(\"div\",{className:\"version-pragma\"},u,Re.createElement(\"div\",{className:\"version-pragma__message version-pragma__message--missing\"},Re.createElement(\"div\",null,Re.createElement(\"h3\",null,\"Unable to render this definition\"),Re.createElement(\"p\",null,\"The provided definition does not specify a valid version field.\"),Re.createElement(\"p\",null,\"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are \",Re.createElement(\"code\",null,'swagger: \"2.0\"'),\" and those that match \",Re.createElement(\"code\",null,\"openapi: 3.x.y\"),\" (for example,\",\" \",Re.createElement(\"code\",null,\"openapi: 3.1.0\"),\").\")))),getModelName=s=>\"string\"==typeof s&&s.includes(\"#/components/schemas/\")?(s=>{const o=s.replace(/~1/g,\"/\").replace(/~0/g,\"~\");try{return decodeURIComponent(o)}catch{return o}})(s.replace(/^.*#\\/components\\/schemas\\//,\"\")):null,kI=(0,Re.forwardRef)((({schema:s,getComponent:o,onToggle:i=()=>{},specPath:a},u)=>{const _=o(\"JSONSchema202012\"),w=getModelName(s.get(\"$$ref\")),x=(0,Re.useCallback)(((s,o)=>{i(w,o)}),[w,i]);return Re.createElement(_,{name:w,schema:s.toJS(),ref:u,onExpand:x,identifier:a.toJS().join(\"_\")})})),OI=kI,models=({specActions:s,specSelectors:o,layoutSelectors:i,layoutActions:a,getComponent:u,getConfigs:_,fn:w})=>{const x=o.selectSchemas(),C=Object.keys(x).length>0,j=[\"components\",\"schemas\"],{docExpansion:L,defaultModelsExpandDepth:B}=_(),$=B>0&&\"none\"!==L,U=i.isShown(j,$),V=u(\"Collapse\"),z=u(\"JSONSchema202012\"),Y=u(\"ArrowUpIcon\"),Z=u(\"ArrowDownIcon\"),{getTitle:ee}=w.jsonSchema202012.useFn();(0,Re.useEffect)((()=>{const a=Object.entries(x).some((([s])=>i.isShown([...j,s],!1))),u=U&&(B>1||a),_=null!=o.specResolvedSubtree(j);u&&!_&&s.requestResolvedSubtree(j)}),[U,B]);const ie=(0,Re.useCallback)((()=>{a.show(j,!U)}),[U]),ae=(0,Re.useCallback)((s=>{null!==s&&a.readyToScroll(j,s)}),[]),handleJSONSchema202012Ref=s=>o=>{null!==o&&a.readyToScroll([...j,s],o)},handleJSONSchema202012Expand=i=>(u,_)=>{const w=[...j,i];if(_){null!=o.specResolvedSubtree(w)||s.requestResolvedSubtree([...j,i]),a.show(w,!0)}else a.show(w,!1)};return!C||B<0?null:Re.createElement(\"section\",{className:Jn()(\"models\",{\"is-open\":U}),ref:ae},Re.createElement(\"h4\",null,Re.createElement(\"button\",{\"aria-expanded\":U,className:\"models-control\",onClick:ie},Re.createElement(\"span\",null,\"Schemas\"),U?Re.createElement(Y,null):Re.createElement(Z,null))),Re.createElement(V,{isOpened:U},Object.entries(x).map((([s,o])=>{const i=ee(o,{lookup:\"basic\"})||s;return Re.createElement(z,{key:s,ref:handleJSONSchema202012Ref(s),schema:o,name:i,onExpand:handleJSONSchema202012Expand(s)})}))))},mutual_tls_auth=({schema:s,getComponent:o,name:i,authSelectors:a})=>{const u=o(\"JumpToPath\",!0),_=a.selectAuthPath(i);return Re.createElement(\"div\",null,Re.createElement(\"h4\",null,i,\" (mutualTLS) \",Re.createElement(u,{path:_})),Re.createElement(\"p\",null,\"Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser.\"),Re.createElement(\"p\",null,s.get(\"description\")))};class auths_Auths extends Re.Component{constructor(s,o){super(s,o),this.state={}}onAuthChange=s=>{let{name:o}=s;this.setState({[o]:s})};submitAuth=s=>{s.preventDefault();let{authActions:o}=this.props;o.authorizeWithPersistOption(this.state)};logoutClick=s=>{s.preventDefault();let{authActions:o,definitions:i}=this.props,a=i.map(((s,o)=>o)).toArray();this.setState(a.reduce(((s,o)=>(s[o]=\"\",s)),{})),o.logoutWithPersistOption(a)};close=s=>{s.preventDefault();let{authActions:o}=this.props;o.showDefinitions(!1)};render(){let{definitions:s,getComponent:o,authSelectors:i,errSelectors:a}=this.props;const u=o(\"AuthItem\"),_=o(\"oauth2\",!0),w=o(\"Button\"),x=i.authorized(),C=s.filter(((s,o)=>!!x.get(o))),j=s.filter((s=>\"oauth2\"!==s.get(\"type\")&&\"mutualTLS\"!==s.get(\"type\"))),L=s.filter((s=>\"oauth2\"===s.get(\"type\"))),B=s.filter((s=>\"mutualTLS\"===s.get(\"type\")));return Re.createElement(\"div\",{className:\"auth-container\"},j.size>0&&Re.createElement(\"form\",{onSubmit:this.submitAuth},j.map(((s,_)=>Re.createElement(u,{key:_,schema:s,name:_,getComponent:o,onAuthChange:this.onAuthChange,authorized:x,errSelectors:a,authSelectors:i}))).toArray(),Re.createElement(\"div\",{className:\"auth-btn-wrapper\"},j.size===C.size?Re.createElement(w,{className:\"btn modal-btn auth\",onClick:this.logoutClick,\"aria-label\":\"Remove authorization\"},\"Logout\"):Re.createElement(w,{type:\"submit\",className:\"btn modal-btn auth authorize\",\"aria-label\":\"Apply credentials\"},\"Authorize\"),Re.createElement(w,{className:\"btn modal-btn auth btn-done\",onClick:this.close},\"Close\"))),L.size>0?Re.createElement(\"div\",null,Re.createElement(\"div\",{className:\"scope-def\"},Re.createElement(\"p\",null,\"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes.\"),Re.createElement(\"p\",null,\"API requires the following scopes. Select which ones you want to grant to Swagger UI.\")),s.filter((s=>\"oauth2\"===s.get(\"type\"))).map(((s,o)=>Re.createElement(\"div\",{key:o},Re.createElement(_,{authorized:x,schema:s,name:o})))).toArray()):null,B.size>0&&Re.createElement(\"div\",null,B.map(((s,_)=>Re.createElement(u,{key:_,schema:s,name:_,getComponent:o,onAuthChange:this.onAuthChange,authorized:x,errSelectors:a,authSelectors:i}))).toArray()))}}const AI=auths_Auths,isOAS31=s=>{const o=s.get(\"openapi\");return\"string\"==typeof o&&/^3\\.1\\.(?:[1-9]\\d*|0)$/.test(o)},fn_createOnlyOAS31Selector=s=>(o,...i)=>a=>{if(a.getSystem().specSelectors.isOAS31()){const u=s(o,...i);return\"function\"==typeof u?u(a):u}return null},createOnlyOAS31SelectorWrapper=s=>(o,i)=>(a,...u)=>{if(i.getSystem().specSelectors.isOAS31()){const _=s(a,...u);return\"function\"==typeof _?_(o,i):_}return o(...u)},fn_createSystemSelector=s=>(o,...i)=>a=>{const u=s(o,a,...i);return\"function\"==typeof u?u(a):u},createOnlyOAS31ComponentWrapper=s=>(o,i)=>a=>i.specSelectors.isOAS31()?Re.createElement(s,Mn()({},a,{originalComponent:o,getSystem:i.getSystem})):Re.createElement(o,a),wrapOAS31Fn=(s,o)=>{const{fn:i,specSelectors:a}=o;return Object.fromEntries(Object.entries(s).map((([s,o])=>{const u=i[s];return[s,(...s)=>a.isOAS31()?o(...s):\"function\"==typeof u?u(...s):void 0]})))},CI=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent(\"OAS31License\",!0);return Re.createElement(o,null)})),jI=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent(\"OAS31Contact\",!0);return Re.createElement(o,null)})),PI=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent(\"OAS31Info\",!0);return Re.createElement(o,null)})),getProperties=(s,{includeReadOnly:o,includeWriteOnly:i})=>{if(!s?.properties)return{};const a=Object.entries(s.properties).filter((([,s])=>(!(!0===s?.readOnly)||o)&&(!(!0===s?.writeOnly)||i)));return Object.fromEntries(a)},makeGetSchemaKeywords=s=>{if(\"function\"!=typeof s)return null;const o=s();return()=>[...o,\"discriminator\",\"xml\",\"externalDocs\",\"example\",\"$$ref\"]},II=createOnlyOAS31ComponentWrapper((({getSystem:s,...o})=>{const i=s(),{getComponent:a,fn:u,getConfigs:_}=i,w=_(),x=a(\"OAS31Model\"),C=a(\"withJSONSchema202012SystemContext\");return II.ModelWithJSONSchemaContext??=C(x,{config:{default$schema:\"https://spec.openapis.org/oas/3.1/dialect/base\",defaultExpandedLevels:w.defaultModelExpandDepth,includeReadOnly:o.includeReadOnly,includeWriteOnly:o.includeWriteOnly},fn:{getProperties:u.jsonSchema202012.getProperties,isExpandable:u.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(u.jsonSchema202012.getSchemaKeywords)}}),Re.createElement(II.ModelWithJSONSchemaContext,o)})),TI=II,NI=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const{getComponent:o,fn:i,getConfigs:a}=s(),u=a();if(NI.ModelsWithJSONSchemaContext)return Re.createElement(NI.ModelsWithJSONSchemaContext,null);const _=o(\"OAS31Models\",!0),w=o(\"withJSONSchema202012SystemContext\");return NI.ModelsWithJSONSchemaContext??=w(_,{config:{default$schema:\"https://spec.openapis.org/oas/3.1/dialect/base\",defaultExpandedLevels:u.defaultModelsExpandDepth-1,includeReadOnly:!0,includeWriteOnly:!0},fn:{getProperties:i.jsonSchema202012.getProperties,isExpandable:i.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(i.jsonSchema202012.getSchemaKeywords)}}),Re.createElement(NI.ModelsWithJSONSchemaContext,null)}));NI.ModelsWithJSONSchemaContext=null;const MI=NI,wrap_components_version_pragma_filter=(s,o)=>s=>{const i=o.specSelectors.isOAS31(),a=o.getComponent(\"OAS31VersionPragmaFilter\");return Re.createElement(a,Mn()({isOAS31:i},s))},RI=createOnlyOAS31ComponentWrapper((({originalComponent:s,...o})=>{const{getComponent:i,schema:a,name:u}=o,_=i(\"MutualTLSAuth\",!0);return\"mutualTLS\"===a.get(\"type\")?Re.createElement(_,{schema:a,name:u}):Re.createElement(s,o)})),DI=RI,LI=createOnlyOAS31ComponentWrapper((({getSystem:s,...o})=>{const i=s().getComponent(\"OAS31Auths\",!0);return Re.createElement(i,o)})),FI=(0,ze.Map)(),BI=Ut(((s,o)=>o.specSelectors.specJson()),isOAS31),selectors_webhooks=()=>s=>{const o=s.specSelectors.specJson().get(\"webhooks\");return ze.Map.isMap(o)?o:FI},$I=Ut([(s,o)=>o.specSelectors.webhooks(),(s,o)=>o.specSelectors.validOperationMethods(),(s,o)=>o.specSelectors.specResolvedSubtree([\"webhooks\"])],((s,o)=>s.reduce(((s,i,a)=>{if(!ze.Map.isMap(i))return s;const u=i.entrySeq().filter((([s])=>o.includes(s))).map((([s,o])=>({operation:(0,ze.Map)({operation:o}),method:s,path:a,specPath:[\"webhooks\",a,s]})));return s.concat(u)}),(0,ze.List)()).groupBy((s=>s.path)).map((s=>s.toArray())).toObject())),selectors_license=()=>s=>{const o=s.specSelectors.info().get(\"license\");return ze.Map.isMap(o)?o:FI},selectLicenseNameField=()=>s=>s.specSelectors.license().get(\"name\",\"License\"),selectLicenseUrlField=()=>s=>s.specSelectors.license().get(\"url\"),qI=Ut([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectLicenseUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectLicenseIdentifierField=()=>s=>s.specSelectors.license().get(\"identifier\"),selectors_contact=()=>s=>{const o=s.specSelectors.info().get(\"contact\");return ze.Map.isMap(o)?o:FI},selectContactNameField=()=>s=>s.specSelectors.contact().get(\"name\",\"the developer\"),selectContactEmailField=()=>s=>s.specSelectors.contact().get(\"email\"),selectContactUrlField=()=>s=>s.specSelectors.contact().get(\"url\"),UI=Ut([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectContactUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectInfoTitleField=()=>s=>s.specSelectors.info().get(\"title\"),selectInfoSummaryField=()=>s=>s.specSelectors.info().get(\"summary\"),selectInfoDescriptionField=()=>s=>s.specSelectors.info().get(\"description\"),selectInfoTermsOfServiceField=()=>s=>s.specSelectors.info().get(\"termsOfService\"),VI=Ut([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectInfoTermsOfServiceField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectExternalDocsDescriptionField=()=>s=>s.specSelectors.externalDocs().get(\"description\"),selectExternalDocsUrlField=()=>s=>s.specSelectors.externalDocs().get(\"url\"),zI=Ut([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectExternalDocsUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectJsonSchemaDialectField=()=>s=>s.specSelectors.specJson().get(\"jsonSchemaDialect\"),selectJsonSchemaDialectDefault=()=>\"https://spec.openapis.org/oas/3.1/dialect/base\",WI=Ut(((s,o)=>o.specSelectors.definitions()),((s,o)=>o.specSelectors.specResolvedSubtree([\"components\",\"schemas\"])),((s,o)=>ze.Map.isMap(s)?ze.Map.isMap(o)?Object.entries(s.toJS()).reduce(((s,[i,a])=>{const u=o.get(i);return s[i]=u?.toJS()||a,s}),{}):s.toJS():{})),wrap_selectors_isOAS3=(s,o)=>(i,...a)=>o.specSelectors.isOAS31()||s(...a),JI=createOnlyOAS31SelectorWrapper((()=>(s,o)=>o.oas31Selectors.selectLicenseUrl())),HI=createOnlyOAS31SelectorWrapper((()=>(s,o)=>{const i=o.specSelectors.securityDefinitions();let a=s();return i?(i.entrySeq().forEach((([s,o])=>{const i=o?.get(\"type\");\"mutualTLS\"===i&&(a=a.push(new ze.Map({[s]:o})))})),a):a})),KI=Ut([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectLicenseUrlField(),(s,o)=>o.specSelectors.selectLicenseIdentifierField()],((s,o,i,a)=>i?safeBuildUrl(i,s,{selectedServer:o}):a?`https://spdx.org/licenses/${a}.html`:void 0)),keywords_Example=({schema:s,getSystem:o})=>{const{fn:i,getComponent:a}=o(),{hasKeyword:u}=i.jsonSchema202012.useFn(),_=a(\"JSONSchema202012JSONViewer\");return u(s,\"example\")?Re.createElement(_,{name:\"Example\",value:s.example,className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--example\"}):null},keywords_Xml=({schema:s,getSystem:o})=>{const i=s?.xml||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,{path:B}=j(\"xml\"),{isExpanded:$,setExpanded:U,setCollapsed:V}=C(\"xml\"),[z,Y]=L(),Z=w?getExtensions(i):[],ee=!!(i.name||i.namespace||i.prefix||Z.length>0),ie=x(\"Accordion\"),ae=x(\"ExpandDeepButton\"),ce=u(\"OpenAPI31Extensions\"),le=u(\"JSONSchema202012PathContext\")(),pe=u(\"JSONSchema202012LevelContext\")(),de=(0,Re.useCallback)((()=>{$?V():U()}),[$,U,V]),fe=(0,Re.useCallback)(((s,o)=>{o?U({deep:!0}):V({deep:!0})}),[U,V]);return 0===Object.keys(i).length?null:Re.createElement(le.Provider,{value:B},Re.createElement(pe.Provider,{value:Y},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--xml\",\"data-json-schema-level\":z},ee?Re.createElement(Re.Fragment,null,Re.createElement(ie,{expanded:$,onChange:de},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"XML\")),Re.createElement(ae,{expanded:$,onClick:fe})):Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"XML\"),!0===i.attribute&&Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\"},\"attribute\"),!0===i.wrapped&&Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\"},\"wrapped\"),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!$})},$&&Re.createElement(Re.Fragment,null,i.name&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"name\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},i.name))),i.namespace&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"namespace\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},i.namespace))),i.prefix&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"prefix\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},i.prefix)))),Z.length>0&&Re.createElement(ce,{openAPISpecObj:i,openAPIExtensions:Z,getSystem:o})))))},Discriminator_DiscriminatorMapping=({discriminator:s})=>{const o=s?.mapping||{};return 0===Object.keys(o).length?null:Object.entries(o).map((([s,o])=>Re.createElement(\"div\",{key:`${s}-${o}`,className:\"json-schema-2020-12-keyword\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},s),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},o))))},keywords_Discriminator_Discriminator=({schema:s,getSystem:o})=>{const i=s?.discriminator||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,B=\"discriminator\",{path:$}=j(B),{isExpanded:U,setExpanded:V,setCollapsed:z}=C(B),[Y,Z]=L(),ee=w?getExtensions(i):[],ie=!!(i.mapping||ee.length>0),ae=x(\"Accordion\"),ce=x(\"ExpandDeepButton\"),le=u(\"OpenAPI31Extensions\"),pe=u(\"JSONSchema202012PathContext\")(),de=u(\"JSONSchema202012LevelContext\")(),fe=(0,Re.useCallback)((()=>{U?z():V()}),[U,V,z]),ye=(0,Re.useCallback)(((s,o)=>{o?V({deep:!0}):z({deep:!0})}),[V,z]);return 0===Object.keys(i).length?null:Re.createElement(pe.Provider,{value:$},Re.createElement(de.Provider,{value:Z},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator\",\"data-json-schema-level\":Y},ie?Re.createElement(Re.Fragment,null,Re.createElement(ae,{expanded:U,onChange:fe},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"Discriminator\")),Re.createElement(ce,{expanded:U,onClick:ye})):Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"Discriminator\"),i.propertyName&&Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\"},i.propertyName),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!U})},U&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(Discriminator_DiscriminatorMapping,{discriminator:i})),ee.length>0&&Re.createElement(le,{openAPISpecObj:i,openAPIExtensions:ee,getSystem:o})))))},keywords_OpenAPIExtensions=({openAPISpecObj:s,getSystem:o,openAPIExtensions:i})=>{const{fn:a}=o(),{useComponent:u}=a.jsonSchema202012,_=u(\"JSONViewer\");return i.map((o=>Re.createElement(_,{key:o,name:o,value:s[o],className:\"json-schema-2020-12-json-viewer-extension-keyword\"})))},keywords_ExternalDocs=({schema:s,getSystem:o})=>{const i=s?.externalDocs||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,B=\"externalDocs\",{path:$}=j(B),{isExpanded:U,setExpanded:V,setCollapsed:z}=C(B),[Y,Z]=L(),ee=w?getExtensions(i):[],ie=!!(i.description||i.url||ee.length>0),ae=x(\"Accordion\"),ce=x(\"ExpandDeepButton\"),le=u(\"JSONSchema202012KeywordDescription\"),pe=u(\"Link\"),de=u(\"OpenAPI31Extensions\"),fe=u(\"JSONSchema202012PathContext\")(),ye=u(\"JSONSchema202012LevelContext\")(),be=(0,Re.useCallback)((()=>{U?z():V()}),[U,V,z]),_e=(0,Re.useCallback)(((s,o)=>{o?V({deep:!0}):z({deep:!0})}),[V,z]);return 0===Object.keys(i).length?null:Re.createElement(fe.Provider,{value:$},Re.createElement(ye.Provider,{value:Z},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs\",\"data-json-schema-level\":Y},ie?Re.createElement(Re.Fragment,null,Re.createElement(ae,{expanded:U,onChange:be},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"External documentation\")),Re.createElement(ce,{expanded:U,onClick:_e})):Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"External documentation\"),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!U})},U&&Re.createElement(Re.Fragment,null,i.description&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(le,{schema:i,getSystem:o})),i.url&&Re.createElement(\"li\",{className:\"json-schema-2020-12-property\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"url\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},Re.createElement(pe,{target:\"_blank\",href:sanitizeUrl(i.url)},i.url))))),ee.length>0&&Re.createElement(de,{openAPISpecObj:i,openAPIExtensions:ee,getSystem:o})))))},keywords_Description=({schema:s,getSystem:o})=>{if(!s?.description)return null;const{getComponent:i}=o(),a=i(\"Markdown\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--description\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary\"},Re.createElement(a,{source:s.description})))},GI=createOnlyOAS31ComponentWrapper(keywords_Description),YI=createOnlyOAS31ComponentWrapper((({schema:s,getSystem:o,originalComponent:i})=>{const{getComponent:a}=o(),u=a(\"JSONSchema202012KeywordDiscriminator\"),_=a(\"JSONSchema202012KeywordXml\"),w=a(\"JSONSchema202012KeywordExample\"),x=a(\"JSONSchema202012KeywordExternalDocs\");return Re.createElement(Re.Fragment,null,Re.createElement(i,{schema:s}),Re.createElement(u,{schema:s,getSystem:o}),Re.createElement(_,{schema:s,getSystem:o}),Re.createElement(x,{schema:s,getSystem:o}),Re.createElement(w,{schema:s,getSystem:o}))})),XI=YI,keywords_Properties=({schema:s,getSystem:o})=>{const{fn:i,getComponent:a}=o(),{useComponent:u,usePath:_}=i.jsonSchema202012,{getDependentRequired:w,getProperties:x}=i.jsonSchema202012.useFn(),C=i.jsonSchema202012.useConfig(),j=Array.isArray(s?.required)?s.required:[],{path:L}=_(\"properties\"),B=u(\"JSONSchema\"),$=a(\"JSONSchema202012PathContext\")(),U=x(s,C);return 0===Object.keys(U).length?null:Re.createElement($.Provider,{value:L},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties\"},Re.createElement(\"ul\",null,Object.entries(U).map((([o,i])=>{const a=j.includes(o),u=w(o,s);return Re.createElement(\"li\",{key:o,className:Jn()(\"json-schema-2020-12-property\",{\"json-schema-2020-12-property--required\":a})},Re.createElement(B,{name:o,schema:i,dependentRequired:u}))})))))},QI=createOnlyOAS31ComponentWrapper(keywords_Properties);const ZI=function oas31_after_load_afterLoad({fn:s,getSystem:o}){if(s.jsonSchema202012){const i=((s,o)=>{const{fn:i}=o();if(\"function\"!=typeof s)return null;const{hasKeyword:a}=i.jsonSchema202012;return o=>s(o)||a(o,\"example\")||o?.xml||o?.discriminator||o?.externalDocs})(s.jsonSchema202012.isExpandable,o);Object.assign(this.fn.jsonSchema202012,{isExpandable:i,getProperties})}if(\"function\"==typeof s.sampleFromSchema&&s.jsonSchema202012){const i=wrapOAS31Fn({sampleFromSchema:s.jsonSchema202012.sampleFromSchema,sampleFromSchemaGeneric:s.jsonSchema202012.sampleFromSchemaGeneric,createXMLExample:s.jsonSchema202012.createXMLExample,memoizedSampleFromSchema:s.jsonSchema202012.memoizedSampleFromSchema,memoizedCreateXMLExample:s.jsonSchema202012.memoizedCreateXMLExample,getJsonSampleSchema:s.jsonSchema202012.getJsonSampleSchema,getYamlSampleSchema:s.jsonSchema202012.getYamlSampleSchema,getXmlSampleSchema:s.jsonSchema202012.getXmlSampleSchema,getSampleSchema:s.jsonSchema202012.getSampleSchema,mergeJsonSchema:s.jsonSchema202012.mergeJsonSchema,getSchemaObjectTypeLabel:o=>s.jsonSchema202012.getType(immutableToJS(o)),getSchemaObjectType:o=>s.jsonSchema202012.foldType(immutableToJS(o)?.type)},o());Object.assign(this.fn,i)}const i=(s=>(o,i=null)=>{const{fn:a}=s();if(a.isFileUploadIntendedOAS30(o,i))return!0;const u=ze.Map.isMap(o);if(!u&&!as()(o))return!1;const _=u?o.get(\"contentMediaType\"):o.contentMediaType,w=u?o.get(\"contentEncoding\"):o.contentEncoding;return\"string\"==typeof _&&\"\"!==_||\"string\"==typeof w&&\"\"!==w})(o),{isFileUploadIntended:a}=wrapOAS31Fn({isFileUploadIntended:i},o());if(this.fn.isFileUploadIntended=a,this.fn.isFileUploadIntendedOAS31=i,s.jsonSchema202012){const{hasSchemaType:i}=wrapOAS31Fn({hasSchemaType:s.jsonSchema202012.hasSchemaType},o());this.fn.hasSchemaType=i}},oas31=({fn:s})=>{const o=s.createSystemSelector||fn_createSystemSelector,i=s.createOnlyOAS31Selector||fn_createOnlyOAS31Selector;return{afterLoad:ZI,fn:{isOAS31,createSystemSelector:fn_createSystemSelector,createOnlyOAS31Selector:fn_createOnlyOAS31Selector},components:{Webhooks:webhooks,JsonSchemaDialect:json_schema_dialect,MutualTLSAuth:mutual_tls_auth,OAS31Info:oas31_components_info,OAS31License:oas31_components_license,OAS31Contact:oas31_components_contact,OAS31VersionPragmaFilter:version_pragma_filter,OAS31Model:OI,OAS31Models:models,OAS31Auths:AI,JSONSchema202012KeywordExample:keywords_Example,JSONSchema202012KeywordXml:keywords_Xml,JSONSchema202012KeywordDiscriminator:keywords_Discriminator_Discriminator,JSONSchema202012KeywordExternalDocs:keywords_ExternalDocs,OpenAPI31Extensions:keywords_OpenAPIExtensions},wrapComponents:{InfoContainer:PI,License:CI,Contact:jI,VersionPragmaFilter:wrap_components_version_pragma_filter,Model:TI,Models:MI,AuthItem:DI,auths:LI,JSONSchema202012KeywordDescription:GI,JSONSchema202012KeywordExamples:XI,JSONSchema202012KeywordProperties:QI},statePlugins:{auth:{wrapSelectors:{definitionsToAuthorize:HI}},spec:{selectors:{isOAS31:o(BI),license:selectors_license,selectLicenseNameField,selectLicenseUrlField,selectLicenseIdentifierField:i(selectLicenseIdentifierField),selectLicenseUrl:o(qI),contact:selectors_contact,selectContactNameField,selectContactEmailField,selectContactUrlField,selectContactUrl:o(UI),selectInfoTitleField,selectInfoSummaryField:i(selectInfoSummaryField),selectInfoDescriptionField,selectInfoTermsOfServiceField,selectInfoTermsOfServiceUrl:o(VI),selectExternalDocsDescriptionField,selectExternalDocsUrlField,selectExternalDocsUrl:o(zI),webhooks:i(selectors_webhooks),selectWebhooksOperations:i(o($I)),selectJsonSchemaDialectField,selectJsonSchemaDialectDefault,selectSchemas:o(WI)},wrapSelectors:{isOAS3:wrap_selectors_isOAS3,selectLicenseUrl:JI}},oas31:{selectors:{selectLicenseUrl:i(o(KI))}}}}},eT=es().object,tT=es().bool,rT=(es().oneOfType([eT,tT]),(0,Re.createContext)(null));rT.displayName=\"JSONSchemaContext\";const nT=(0,Re.createContext)(0);nT.displayName=\"JSONSchemaLevelContext\";const sT=(0,Re.createContext)(new Set),oT=(0,Re.createContext)([]);class JSONSchemaIsExpandedState{static Collapsed=\"collapsed\";static Expanded=\"expanded\";static DeeplyExpanded=\"deeply-expanded\"}const useConfig=()=>{const{config:s}=(0,Re.useContext)(rT);return s},useComponent=s=>{const{components:o}=(0,Re.useContext)(rT);return o[s]||null},useFn=(s=void 0)=>{const{fn:o}=(0,Re.useContext)(rT);return void 0!==s?o[s]:o},useJSONSchemaContextState=()=>{const[,s]=(0,Re.useState)(null),{state:o}=(0,Re.useContext)(rT);return{state:o,setState:i=>{i(o),s({})}}},useLevel=()=>{const s=(0,Re.useContext)(nT);return[s,s+1]},usePath=s=>{const o=(0,Re.useContext)(oT),{setState:i}=useJSONSchemaContextState(),a=\"string\"==typeof s?[...o,s]:o;return{path:a,pathMutator:(s,o={deep:!1})=>{const u=a.toString(),updateFn=o=>{o.paths[u]=s,s===JSONSchemaIsExpandedState.Collapsed&&Object.keys(o.paths).forEach((s=>{s.startsWith(u)&&o.paths[s]===JSONSchemaIsExpandedState.DeeplyExpanded&&(o.paths[s]=JSONSchemaIsExpandedState.Expanded)}))},updateDeepFn=o=>{Object.keys(o.paths).forEach((i=>{i.startsWith(u)&&(o.paths[i]=s)}))};o.deep?i(updateDeepFn):i(updateFn)}}},useIsExpanded=s=>{const[o]=useLevel(),{defaultExpandedLevels:i}=useConfig(),{path:a,pathMutator:u}=usePath(s),{path:_}=usePath(),{state:w}=useJSONSchemaContextState(),x=w.paths[a.toString()],C=w.paths[_.toString()]??w.paths[_.slice(0,-1).toString()],j=x??(i-o>0?JSONSchemaIsExpandedState.Expanded:JSONSchemaIsExpandedState.Collapsed),L=j!==JSONSchemaIsExpandedState.Collapsed;(0,Re.useEffect)((()=>{u(C===JSONSchemaIsExpandedState.DeeplyExpanded?JSONSchemaIsExpandedState.DeeplyExpanded:j)}),[C]);return{isExpanded:L,setExpanded:(0,Re.useCallback)(((s={deep:!1})=>{u(s.deep?JSONSchemaIsExpandedState.DeeplyExpanded:JSONSchemaIsExpandedState.Expanded)}),[]),setCollapsed:(0,Re.useCallback)(((s={deep:!1})=>{u(JSONSchemaIsExpandedState.Collapsed,s)}),[])}},useRenderedSchemas=(s=void 0)=>{if(void 0===s)return(0,Re.useContext)(sT);const o=(0,Re.useContext)(sT);return new Set([...o,s])},iT=(0,Re.forwardRef)((({schema:s,name:o=\"\",dependentRequired:i=[],onExpand:a=()=>{},identifier:u=\"\"},_)=>{const w=useFn(),x=u||s?.$id||o,{path:C}=usePath(x),{isExpanded:j,setExpanded:L,setCollapsed:B}=useIsExpanded(x),[$,U]=useLevel(),V=(()=>{const[s]=useLevel();return s>0})(),z=w.isExpandable(s)||i.length>0,Y=(s=>useRenderedSchemas().has(s))(s),Z=useRenderedSchemas(s),ee=w.stringifyConstraints(s),ie=useComponent(\"Accordion\"),ae=useComponent(\"Keyword$schema\"),ce=useComponent(\"Keyword$vocabulary\"),le=useComponent(\"Keyword$id\"),pe=useComponent(\"Keyword$anchor\"),de=useComponent(\"Keyword$dynamicAnchor\"),fe=useComponent(\"Keyword$ref\"),ye=useComponent(\"Keyword$dynamicRef\"),be=useComponent(\"Keyword$defs\"),_e=useComponent(\"Keyword$comment\"),Se=useComponent(\"KeywordAllOf\"),we=useComponent(\"KeywordAnyOf\"),xe=useComponent(\"KeywordOneOf\"),Pe=useComponent(\"KeywordNot\"),Te=useComponent(\"KeywordIf\"),$e=useComponent(\"KeywordThen\"),qe=useComponent(\"KeywordElse\"),ze=useComponent(\"KeywordDependentSchemas\"),We=useComponent(\"KeywordPrefixItems\"),He=useComponent(\"KeywordItems\"),Ye=useComponent(\"KeywordContains\"),Xe=useComponent(\"KeywordProperties\"),Qe=useComponent(\"KeywordPatternProperties\"),et=useComponent(\"KeywordAdditionalProperties\"),tt=useComponent(\"KeywordPropertyNames\"),rt=useComponent(\"KeywordUnevaluatedItems\"),nt=useComponent(\"KeywordUnevaluatedProperties\"),st=useComponent(\"KeywordType\"),ot=useComponent(\"KeywordEnum\"),it=useComponent(\"KeywordConst\"),at=useComponent(\"KeywordConstraint\"),ct=useComponent(\"KeywordDependentRequired\"),lt=useComponent(\"KeywordContentSchema\"),ut=useComponent(\"KeywordTitle\"),pt=useComponent(\"KeywordDescription\"),ht=useComponent(\"KeywordDefault\"),dt=useComponent(\"KeywordDeprecated\"),mt=useComponent(\"KeywordReadOnly\"),gt=useComponent(\"KeywordWriteOnly\"),yt=useComponent(\"KeywordExamples\"),vt=useComponent(\"ExtensionKeywords\"),bt=useComponent(\"ExpandDeepButton\"),_t=(0,Re.useCallback)(((s,o)=>{o?L():B(),a(s,o,!1)}),[a,L,B]),St=(0,Re.useCallback)(((s,o)=>{o?L({deep:!0}):B({deep:!0}),a(s,o,!0)}),[a,L,B]);return Re.createElement(oT.Provider,{value:C},Re.createElement(nT.Provider,{value:U},Re.createElement(sT.Provider,{value:Z},Re.createElement(\"article\",{ref:_,\"data-json-schema-level\":$,className:Jn()(\"json-schema-2020-12\",{\"json-schema-2020-12--embedded\":V,\"json-schema-2020-12--circular\":Y})},Re.createElement(\"div\",{className:\"json-schema-2020-12-head\"},z&&!Y?Re.createElement(Re.Fragment,null,Re.createElement(ie,{expanded:j,onChange:_t},Re.createElement(ut,{title:o,schema:s})),Re.createElement(bt,{expanded:j,onClick:St})):Re.createElement(ut,{title:o,schema:s}),Re.createElement(dt,{schema:s}),Re.createElement(mt,{schema:s}),Re.createElement(gt,{schema:s}),Re.createElement(st,{schema:s,isCircular:Y}),ee.length>0&&ee.map((s=>Re.createElement(at,{key:`${s.scope}-${s.value}`,constraint:s})))),Re.createElement(\"div\",{className:Jn()(\"json-schema-2020-12-body\",{\"json-schema-2020-12-body--collapsed\":!j})},j&&Re.createElement(Re.Fragment,null,Re.createElement(pt,{schema:s}),!Y&&z&&Re.createElement(Re.Fragment,null,Re.createElement(Xe,{schema:s}),Re.createElement(Qe,{schema:s}),Re.createElement(et,{schema:s}),Re.createElement(nt,{schema:s}),Re.createElement(tt,{schema:s}),Re.createElement(Se,{schema:s}),Re.createElement(we,{schema:s}),Re.createElement(xe,{schema:s}),Re.createElement(Pe,{schema:s}),Re.createElement(Te,{schema:s}),Re.createElement($e,{schema:s}),Re.createElement(qe,{schema:s}),Re.createElement(ze,{schema:s}),Re.createElement(We,{schema:s}),Re.createElement(He,{schema:s}),Re.createElement(rt,{schema:s}),Re.createElement(Ye,{schema:s}),Re.createElement(lt,{schema:s})),Re.createElement(ot,{schema:s}),Re.createElement(it,{schema:s}),Re.createElement(ct,{schema:s,dependentRequired:i}),Re.createElement(ht,{schema:s}),Re.createElement(yt,{schema:s}),Re.createElement(ae,{schema:s}),Re.createElement(ce,{schema:s}),Re.createElement(le,{schema:s}),Re.createElement(pe,{schema:s}),Re.createElement(de,{schema:s}),Re.createElement(fe,{schema:s}),!Y&&z&&Re.createElement(be,{schema:s}),Re.createElement(ye,{schema:s}),Re.createElement(_e,{schema:s}),Re.createElement(vt,{schema:s})))))))})),aT=iT,keywords_$schema=({schema:s})=>s?.$schema?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$schema\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$schema)):null,$vocabulary_$vocabulary=({schema:s})=>{const o=\"$vocabulary\",{path:i}=usePath(o),{isExpanded:a,setExpanded:u,setCollapsed:_}=useIsExpanded(o),w=useComponent(\"Accordion\"),x=(0,Re.useCallback)((()=>{a?_():u()}),[a,u,_]);return s?.$vocabulary?\"object\"!=typeof s.$vocabulary?null:Re.createElement(oT.Provider,{value:i},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary\"},Re.createElement(w,{expanded:a,onChange:x},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$vocabulary\")),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",null,a&&Object.entries(s.$vocabulary).map((([s,o])=>Re.createElement(\"li\",{key:s,className:Jn()(\"json-schema-2020-12-$vocabulary-uri\",{\"json-schema-2020-12-$vocabulary-uri--disabled\":!o})},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s))))))):null},keywords_$id=({schema:s})=>s?.$id?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$id\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$id\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$id)):null,keywords_$anchor=({schema:s})=>s?.$anchor?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$anchor\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$anchor)):null,keywords_$dynamicAnchor=({schema:s})=>s?.$dynamicAnchor?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$dynamicAnchor\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$dynamicAnchor)):null,keywords_$ref=({schema:s})=>s?.$ref?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$ref\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$ref)):null,keywords_$dynamicRef=({schema:s})=>s?.$dynamicRef?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$dynamicRef\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$dynamicRef)):null,keywords_$defs=({schema:s})=>{const o=s?.$defs||{},i=\"$defs\",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent(\"Accordion\"),L=useComponent(\"ExpandDeepButton\"),B=useComponent(\"JSONSchema\"),$=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),U=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return 0===Object.keys(o).length?null:Re.createElement(oT.Provider,{value:a},Re.createElement(nT.Provider,{value:C},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs\",\"data-json-schema-level\":x},Re.createElement(j,{expanded:u,onChange:$},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$defs\")),Re.createElement(L,{expanded:u,onClick:U}),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!u})},u&&Re.createElement(Re.Fragment,null,Object.entries(o).map((([s,o])=>Re.createElement(\"li\",{key:s,className:\"json-schema-2020-12-property\"},Re.createElement(B,{name:s,schema:o})))))))))},keywords_$comment=({schema:s})=>s?.$comment?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary\"},\"$comment\"),Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary\"},s.$comment)):null,keywords_AllOf=({schema:s})=>{const o=s?.allOf||[],i=useFn(),a=\"allOf\",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent(\"Accordion\"),B=useComponent(\"ExpandDeepButton\"),$=useComponent(\"JSONSchema\"),U=useComponent(\"KeywordType\"),V=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(oT.Provider,{value:u},Re.createElement(nT.Provider,{value:j},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf\",\"data-json-schema-level\":C},Re.createElement(L,{expanded:_,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"All of\")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(U,{schema:{allOf:o}}),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement(\"li\",{key:`#${o}`,className:\"json-schema-2020-12-property\"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_AnyOf=({schema:s})=>{const o=s?.anyOf||[],i=useFn(),a=\"anyOf\",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent(\"Accordion\"),B=useComponent(\"ExpandDeepButton\"),$=useComponent(\"JSONSchema\"),U=useComponent(\"KeywordType\"),V=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(oT.Provider,{value:u},Re.createElement(nT.Provider,{value:j},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf\",\"data-json-schema-level\":C},Re.createElement(L,{expanded:_,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Any of\")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(U,{schema:{anyOf:o}}),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement(\"li\",{key:`#${o}`,className:\"json-schema-2020-12-property\"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_OneOf=({schema:s})=>{const o=s?.oneOf||[],i=useFn(),a=\"oneOf\",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent(\"Accordion\"),B=useComponent(\"ExpandDeepButton\"),$=useComponent(\"JSONSchema\"),U=useComponent(\"KeywordType\"),V=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(oT.Provider,{value:u},Re.createElement(nT.Provider,{value:j},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf\",\"data-json-schema-level\":C},Re.createElement(L,{expanded:_,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"One of\")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(U,{schema:{oneOf:o}}),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement(\"li\",{key:`#${o}`,className:\"json-schema-2020-12-property\"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_Not=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"not\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Not\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--not\"},Re.createElement(i,{name:a,schema:s.not,identifier:\"not\"}))},keywords_If=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"if\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"If\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--if\"},Re.createElement(i,{name:a,schema:s.if,identifier:\"if\"}))},keywords_Then=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"then\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Then\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--then\"},Re.createElement(i,{name:a,schema:s.then,identifier:\"then\"}))},keywords_Else=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"else\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Else\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--if\"},Re.createElement(i,{name:a,schema:s.else,identifier:\"else\"}))},keywords_DependentSchemas=({schema:s})=>{const o=s?.dependentSchemas||[],i=\"dependentSchemas\",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent(\"Accordion\"),L=useComponent(\"ExpandDeepButton\"),B=useComponent(\"JSONSchema\"),$=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),U=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return\"object\"!=typeof o||0===Object.keys(o).length?null:Re.createElement(oT.Provider,{value:a},Re.createElement(nT.Provider,{value:C},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas\",\"data-json-schema-level\":x},Re.createElement(j,{expanded:u,onChange:$},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Dependent schemas\")),Re.createElement(L,{expanded:u,onClick:U}),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!u})},u&&Re.createElement(Re.Fragment,null,Object.entries(o).map((([s,o])=>Re.createElement(\"li\",{key:s,className:\"json-schema-2020-12-property\"},Re.createElement(B,{name:s,schema:o})))))))))},keywords_PrefixItems=({schema:s})=>{const o=s?.prefixItems||[],i=useFn(),a=\"prefixItems\",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent(\"Accordion\"),B=useComponent(\"ExpandDeepButton\"),$=useComponent(\"JSONSchema\"),U=useComponent(\"KeywordType\"),V=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(oT.Provider,{value:u},Re.createElement(nT.Provider,{value:j},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems\",\"data-json-schema-level\":C},Re.createElement(L,{expanded:_,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Prefix items\")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(U,{schema:{prefixItems:o}}),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement(\"li\",{key:`#${o}`,className:\"json-schema-2020-12-property\"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_Items=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"items\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Items\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--items\"},Re.createElement(i,{name:a,schema:s.items,identifier:\"items\"}))},keywords_Contains=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"contains\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Contains\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--contains\"},Re.createElement(i,{name:a,schema:s.contains,identifier:\"contains\"}))},keywords_Properties_Properties=({schema:s})=>{const o=useFn(),i=s?.properties||{},a=Array.isArray(s?.required)?s.required:[],u=useComponent(\"JSONSchema\"),{path:_}=usePath(\"properties\");return 0===Object.keys(i).length?null:Re.createElement(oT.Provider,{value:_},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties\"},Re.createElement(\"ul\",null,Object.entries(i).map((([i,_])=>{const w=a.includes(i),x=o.getDependentRequired(i,s);return Re.createElement(\"li\",{key:i,className:Jn()(\"json-schema-2020-12-property\",{\"json-schema-2020-12-property--required\":w})},Re.createElement(u,{name:i,schema:_,dependentRequired:x}))})))))},PatternProperties_PatternProperties=({schema:s})=>{const o=s?.patternProperties||{},i=useComponent(\"JSONSchema\"),{path:a}=usePath(\"patternProperties\");return 0===Object.keys(o).length?null:Re.createElement(oT.Provider,{value:a},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties\"},Re.createElement(\"ul\",null,Object.entries(o).map((([s,o])=>Re.createElement(\"li\",{key:s,className:\"json-schema-2020-12-property\"},Re.createElement(i,{name:s,schema:o})))))))},keywords_AdditionalProperties=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"additionalProperties\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Additional properties\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties\"},!0===s.additionalProperties?Re.createElement(Re.Fragment,null,a,Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"allowed\")):!1===s.additionalProperties?Re.createElement(Re.Fragment,null,a,Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},\"forbidden\")):Re.createElement(i,{name:a,schema:s.additionalProperties,identifier:\"additionalProperties\"}))},keywords_PropertyNames=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\"),a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Property names\");return o.hasKeyword(s,\"propertyNames\")?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames\"},Re.createElement(i,{name:a,schema:s.propertyNames,identifier:\"propertyNames\"})):null},keywords_UnevaluatedItems=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"unevaluatedItems\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Unevaluated items\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems\"},Re.createElement(i,{name:a,schema:s.unevaluatedItems,identifier:\"unevaluatedItems\"}))},keywords_UnevaluatedProperties=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"unevaluatedProperties\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Unevaluated properties\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties\"},Re.createElement(i,{name:a,schema:s.unevaluatedProperties,identifier:\"unevaluatedProperties\"}))},keywords_Type=({schema:s,isCircular:o=!1})=>{const i=useFn().getType(s),a=o?\" [circular]\":\"\";return Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},`${i}${a}`)},Enum_Enum=({schema:s})=>{const o=useComponent(\"JSONViewer\");return Array.isArray(s?.enum)?Re.createElement(o,{name:\"Enum\",value:s.enum,className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--enum\"}):null},Const_Const=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONViewer\");return o.hasKeyword(s,\"const\")?Re.createElement(i,{name:\"Const\",value:s.const,className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--const\"}):null},fn_upperFirst=s=>\"string\"==typeof s?`${s.charAt(0).toUpperCase()}${s.slice(1)}`:s,makeGetTitle=s=>(o,{lookup:i=\"extended\"}={})=>{const a=s();if(null!=o?.title)return a.upperFirst(String(o.title));if(\"extended\"===i){if(null!=o?.$anchor)return a.upperFirst(String(o.$anchor));if(null!=o?.$id)return String(o.$id)}return\"\"},makeGetType=s=>{const getType=(o,i=new WeakSet)=>{const a=s();if(null==o)return\"any\";if(a.isBooleanJSONSchema(o))return o?\"any\":\"never\";if(\"object\"!=typeof o)return\"any\";if(i.has(o))return\"any\";i.add(o);const{type:u,prefixItems:_,items:w}=o,getArrayType=()=>{if(Array.isArray(_)){const s=_.map((s=>getType(s,i))),o=w?getType(w,i):\"any\";return`array<[${s.join(\", \")}], ${o}>`}if(w){return`array<${getType(w,i)}>`}return\"array<any>\"};if(o.not&&\"any\"===getType(o.not))return\"never\";const handleCombiningKeywords=(s,a)=>{if(Array.isArray(o[s])){return`(${o[s].map((s=>getType(s,i))).join(a)})`}return null},x=[Array.isArray(u)?u.map((s=>\"array\"===s?getArrayType():s)).join(\" | \"):\"array\"===u?getArrayType():[\"null\",\"boolean\",\"object\",\"array\",\"number\",\"integer\",\"string\"].includes(u)?u:(()=>{if(Object.hasOwn(o,\"prefixItems\")||Object.hasOwn(o,\"items\")||Object.hasOwn(o,\"contains\"))return getArrayType();if(Object.hasOwn(o,\"properties\")||Object.hasOwn(o,\"additionalProperties\")||Object.hasOwn(o,\"patternProperties\"))return\"object\";if([\"int32\",\"int64\"].includes(o.format))return\"integer\";if([\"float\",\"double\"].includes(o.format))return\"number\";if(Object.hasOwn(o,\"minimum\")||Object.hasOwn(o,\"maximum\")||Object.hasOwn(o,\"exclusiveMinimum\")||Object.hasOwn(o,\"exclusiveMaximum\")||Object.hasOwn(o,\"multipleOf\"))return\"number | integer\";if(Object.hasOwn(o,\"pattern\")||Object.hasOwn(o,\"format\")||Object.hasOwn(o,\"minLength\")||Object.hasOwn(o,\"maxLength\")||Object.hasOwn(o,\"contentEncoding\")||Object.hasOwn(o,\"contentMediaType\"))return\"string\";if(void 0!==o.const){if(null===o.const)return\"null\";if(\"boolean\"==typeof o.const)return\"boolean\";if(\"number\"==typeof o.const)return Number.isInteger(o.const)?\"integer\":\"number\";if(\"string\"==typeof o.const)return\"string\";if(Array.isArray(o.const))return\"array<any>\";if(\"object\"==typeof o.const)return\"object\"}return null})(),handleCombiningKeywords(\"oneOf\",\" | \"),handleCombiningKeywords(\"anyOf\",\" | \"),handleCombiningKeywords(\"allOf\",\" & \")].filter(Boolean).join(\" | \");return i.delete(o),x||\"any\"};return getType},isBooleanJSONSchema=s=>\"boolean\"==typeof s,hasKeyword=(s,o)=>null!==s&&\"object\"==typeof s&&Object.hasOwn(s,o),fn_makeIsExpandable=s=>o=>{const i=s();return o?.$schema||o?.$vocabulary||o?.$id||o?.$anchor||o?.$dynamicAnchor||o?.$ref||o?.$dynamicRef||o?.$defs||o?.$comment||o?.allOf||o?.anyOf||o?.oneOf||i.hasKeyword(o,\"not\")||i.hasKeyword(o,\"if\")||i.hasKeyword(o,\"then\")||i.hasKeyword(o,\"else\")||o?.dependentSchemas||o?.prefixItems||i.hasKeyword(o,\"items\")||i.hasKeyword(o,\"contains\")||o?.properties||o?.patternProperties||i.hasKeyword(o,\"additionalProperties\")||i.hasKeyword(o,\"propertyNames\")||i.hasKeyword(o,\"unevaluatedItems\")||i.hasKeyword(o,\"unevaluatedProperties\")||o?.description||o?.enum||i.hasKeyword(o,\"const\")||i.hasKeyword(o,\"contentSchema\")||i.hasKeyword(o,\"default\")||o?.examples||i.getExtensionKeywords(o).length>0},fn_stringify=s=>null===s||[\"number\",\"bigint\",\"boolean\"].includes(typeof s)?String(s):Array.isArray(s)?`[${s.map(fn_stringify).join(\", \")}]`:JSON.stringify(s),stringifyConstraintRange=(s,o,i)=>{const a=\"number\"==typeof o,u=\"number\"==typeof i;return a&&u?o===i?`${o} ${s}`:`[${o}, ${i}] ${s}`:a?`≥ ${o} ${s}`:u?`≤ ${i} ${s}`:null},stringifyConstraints=s=>{const o=[],i=(s=>{if(\"number\"!=typeof s?.multipleOf)return null;if(s.multipleOf<=0)return null;if(1===s.multipleOf)return null;const{multipleOf:o}=s;if(Number.isInteger(o))return`multiple of ${o}`;const i=10**o.toString().split(\".\")[1].length;return`multiple of ${o*i}/${i}`})(s);null!==i&&o.push({scope:\"number\",value:i});const a=(s=>{const o=s?.minimum,i=s?.maximum,a=s?.exclusiveMinimum,u=s?.exclusiveMaximum,_=\"number\"==typeof o,w=\"number\"==typeof i,x=\"number\"==typeof a,C=\"number\"==typeof u,j=x&&(!_||o<a),L=C&&(!w||i>u);if((_||x)&&(w||C))return`${j?\"(\":\"[\"}${j?a:o}, ${L?u:i}${L?\")\":\"]\"}`;if(_||x)return`${j?\">\":\"≥\"} ${j?a:o}`;if(w||C)return`${L?\"<\":\"≤\"} ${L?u:i}`;return null})(s);null!==a&&o.push({scope:\"number\",value:a}),s?.format&&o.push({scope:\"string\",value:s.format});const u=stringifyConstraintRange(\"characters\",s?.minLength,s?.maxLength);null!==u&&o.push({scope:\"string\",value:u}),s?.pattern&&o.push({scope:\"string\",value:`matches ${s?.pattern}`}),s?.contentMediaType&&o.push({scope:\"string\",value:`media type: ${s.contentMediaType}`}),s?.contentEncoding&&o.push({scope:\"string\",value:`encoding: ${s.contentEncoding}`});const _=stringifyConstraintRange(s?.uniqueItems?\"unique items\":\"items\",s?.minItems,s?.maxItems);null!==_&&o.push({scope:\"array\",value:_}),s?.uniqueItems&&!_&&o.push({scope:\"array\",value:\"unique\"});const w=stringifyConstraintRange(\"contained items\",s?.minContains,s?.maxContains);null!==w&&o.push({scope:\"array\",value:w});const x=stringifyConstraintRange(\"properties\",s?.minProperties,s?.maxProperties);return null!==x&&o.push({scope:\"object\",value:x}),o},getDependentRequired=(s,o)=>o?.dependentRequired?Array.from(Object.entries(o.dependentRequired).reduce(((o,[i,a])=>Array.isArray(a)&&a.includes(s)?(o.add(i),o):o),new Set)):[],fn_isPlainObject=s=>\"object\"==typeof s&&null!==s&&!Array.isArray(s)&&(null===Object.getPrototypeOf(s)||Object.getPrototypeOf(s)===Object.prototype),getSchemaKeywords=()=>[\"$schema\",\"$vocabulary\",\"$id\",\"$anchor\",\"$dynamicAnchor\",\"$dynamicRef\",\"$ref\",\"$defs\",\"$comment\",\"allOf\",\"anyOf\",\"oneOf\",\"not\",\"if\",\"then\",\"else\",\"dependentSchemas\",\"prefixItems\",\"items\",\"contains\",\"properties\",\"patternProperties\",\"additionalProperties\",\"propertyNames\",\"unevaluatedItems\",\"unevaluatedProperties\",\"type\",\"enum\",\"const\",\"multipleOf\",\"maximum\",\"exclusiveMaximum\",\"minimum\",\"exclusiveMinimum\",\"maxLength\",\"minLength\",\"pattern\",\"maxItems\",\"minItems\",\"uniqueItems\",\"maxContains\",\"minContains\",\"maxProperties\",\"minProperties\",\"required\",\"dependentRequired\",\"title\",\"description\",\"default\",\"deprecated\",\"readOnly\",\"writeOnly\",\"examples\",\"format\",\"contentEncoding\",\"contentMediaType\",\"contentSchema\"],makeGetExtensionKeywords=s=>o=>{const i=s().getSchemaKeywords();return fn_isPlainObject(o)?((s,o)=>{const i=new Set(o);return s.filter((s=>!i.has(s)))})(Object.keys(o),i):[]},fn_hasSchemaType=(s,o)=>{const i=ze.Map.isMap(s);if(!i&&!fn_isPlainObject(s))return!1;const hasType=s=>o===s||Array.isArray(o)&&o.includes(s),a=i?s.get(\"type\"):s.type;return ze.List.isList(a)||Array.isArray(a)?a.some((s=>hasType(s))):hasType(a)},Constraint=({constraint:s})=>fn_isPlainObject(s)&&\"string\"==typeof s.scope&&\"string\"==typeof s.value?Re.createElement(\"span\",{className:`json-schema-2020-12__constraint json-schema-2020-12__constraint--${s.scope}`},s.value):null,cT=Re.memo(Constraint),DependentRequired_DependentRequired=({dependentRequired:s})=>Array.isArray(s)&&0!==s.length?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired\"},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Required when defined\"),Re.createElement(\"ul\",null,s.map((s=>Re.createElement(\"li\",{key:s},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning\"},s)))))):null,keywords_ContentSchema=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONSchema\");if(!o.hasKeyword(s,\"contentSchema\"))return null;const a=Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary\"},\"Content schema\");return Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema\"},Re.createElement(i,{name:a,schema:s.contentSchema,identifier:\"contentSchema\"}))},Title_Title=({title:s=\"\",schema:o})=>{const i=useFn(),a=s||i.getTitle(o);return a?Re.createElement(\"div\",{className:\"json-schema-2020-12__title\"},a):null},keywords_Description_Description=({schema:s})=>s?.description?Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--description\"},Re.createElement(\"div\",{className:\"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary\"},s.description)):null,Default_Default=({schema:s})=>{const o=useFn(),i=useComponent(\"JSONViewer\");return o.hasKeyword(s,\"default\")?Re.createElement(i,{name:\"Default\",value:s.default,className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--default\"}):null},keywords_Deprecated=({schema:s})=>!0!==s?.deprecated?null:Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--warning\"},\"deprecated\"),keywords_ReadOnly=({schema:s})=>!0!==s?.readOnly?null:Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\"},\"read-only\"),keywords_WriteOnly=({schema:s})=>!0!==s?.writeOnly?null:Re.createElement(\"span\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted\"},\"write-only\"),keywords_Examples_Examples=({schema:s})=>{const o=s?.examples||[],i=useComponent(\"JSONViewer\");return Array.isArray(o)&&0!==o.length?Re.createElement(i,{name:\"Examples\",value:s.examples,className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--examples\"}):null},ExtensionKeywords_ExtensionKeywords=({schema:s})=>{const o=useFn(),i=\"ExtensionKeywords\",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent(\"Accordion\"),L=useComponent(\"ExpandDeepButton\"),B=useComponent(\"JSONViewer\"),{showExtensionKeywords:$}=useConfig(),U=o.getExtensionKeywords(s),V=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),z=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return $&&0!==U.length?Re.createElement(oT.Provider,{value:a},Re.createElement(nT.Provider,{value:C},Re.createElement(\"div\",{className:\"json-schema-2020-12-keyword json-schema-2020-12-keyword--extension-keywords\",\"data-json-schema-level\":x},Re.createElement(j,{expanded:u,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--extension\"},\"Extension Keywords\")),Re.createElement(L,{expanded:u,onClick:z}),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-keyword__children\",{\"json-schema-2020-12-keyword__children--collapsed\":!u})},u&&Re.createElement(Re.Fragment,null,U.map((o=>Re.createElement(B,{key:o,name:o,value:s[o],className:\"json-schema-2020-12-json-viewer-extension-keyword\"})))))))):null},JSONViewer=({name:s,value:o,className:i})=>{const a=useFn(),{path:u}=usePath(s),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(s),[C,j]=useLevel(),L=useComponent(\"Accordion\"),B=useComponent(\"ExpandDeepButton\"),$=\"string\"==typeof o||\"number\"==typeof o||\"bigint\"==typeof o||\"boolean\"==typeof o||\"symbol\"==typeof o||null==o,U=(s=>fn_isPlainObject(s)&&0===Object.keys(s).length)(o)||(s=>Array.isArray(s)&&0===s.length)(o),V=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return $?Re.createElement(\"div\",{className:Jn()(\"json-schema-2020-12-json-viewer\",i)},Re.createElement(\"span\",{className:\"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary\"},s),Re.createElement(\"span\",{className:\"json-schema-2020-12-json-viewer__value json-schema-2020-12-json-viewer__value--secondary\"},a.stringify(o))):U?Re.createElement(\"div\",{className:Jn()(\"json-schema-2020-12-json-viewer\",i)},Re.createElement(\"span\",{className:\"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary\"},s),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},Array.isArray(o)?\"empty array\":\"empty object\")):Re.createElement(oT.Provider,{value:u},Re.createElement(nT.Provider,{value:j},Re.createElement(\"div\",{className:Jn()(\"json-schema-2020-12-json-viewer\",i),\"data-json-schema-level\":C},Re.createElement(L,{expanded:_,onChange:V},Re.createElement(\"span\",{className:\"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary\"},s)),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(\"strong\",{className:\"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary\"},Array.isArray(o)?\"array\":\"object\"),Re.createElement(\"ul\",{className:Jn()(\"json-schema-2020-12-json-viewer__children\",{\"json-schema-2020-12-json-viewer__children--collapsed\":!_})},_&&Re.createElement(Re.Fragment,null,Array.isArray(o)?o.map(((s,o)=>Re.createElement(\"li\",{key:`#${o}`,className:\"json-schema-2020-12-property\"},Re.createElement(JSONViewer,{name:`#${o}`,value:s,className:i})))):Object.entries(o).map((([s,o])=>Re.createElement(\"li\",{key:s,className:\"json-schema-2020-12-property\"},Re.createElement(JSONViewer,{name:s,value:o,className:i})))))))))},lT=JSONViewer,Accordion_Accordion=({expanded:s=!1,children:o,onChange:i})=>{const a=useComponent(\"ChevronRightIcon\"),u=(0,Re.useCallback)((o=>{i(o,!s)}),[s,i]);return Re.createElement(\"button\",{type:\"button\",className:\"json-schema-2020-12-accordion\",onClick:u},Re.createElement(\"div\",{className:\"json-schema-2020-12-accordion__children\"},o),Re.createElement(\"span\",{className:Jn()(\"json-schema-2020-12-accordion__icon\",{\"json-schema-2020-12-accordion__icon--expanded\":s,\"json-schema-2020-12-accordion__icon--collapsed\":!s})},Re.createElement(a,null)))},ExpandDeepButton_ExpandDeepButton=({expanded:s,onClick:o})=>{const i=(0,Re.useCallback)((i=>{o(i,!s)}),[s,o]);return Re.createElement(\"button\",{type:\"button\",className:\"json-schema-2020-12-expand-deep-button\",onClick:i},s?\"Collapse all\":\"Expand all\")},icons_ChevronRight=()=>Re.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"24\",height:\"24\",viewBox:\"0 0 24 24\"},Re.createElement(\"path\",{d:\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"})),withJSONSchemaContext=(s,o={})=>{const i={components:{JSONSchema:aT,Keyword$schema:keywords_$schema,Keyword$vocabulary:$vocabulary_$vocabulary,Keyword$id:keywords_$id,Keyword$anchor:keywords_$anchor,Keyword$dynamicAnchor:keywords_$dynamicAnchor,Keyword$ref:keywords_$ref,Keyword$dynamicRef:keywords_$dynamicRef,Keyword$defs:keywords_$defs,Keyword$comment:keywords_$comment,KeywordAllOf:keywords_AllOf,KeywordAnyOf:keywords_AnyOf,KeywordOneOf:keywords_OneOf,KeywordNot:keywords_Not,KeywordIf:keywords_If,KeywordThen:keywords_Then,KeywordElse:keywords_Else,KeywordDependentSchemas:keywords_DependentSchemas,KeywordPrefixItems:keywords_PrefixItems,KeywordItems:keywords_Items,KeywordContains:keywords_Contains,KeywordProperties:keywords_Properties_Properties,KeywordPatternProperties:PatternProperties_PatternProperties,KeywordAdditionalProperties:keywords_AdditionalProperties,KeywordPropertyNames:keywords_PropertyNames,KeywordUnevaluatedItems:keywords_UnevaluatedItems,KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,KeywordType:keywords_Type,KeywordEnum:Enum_Enum,KeywordConst:Const_Const,KeywordConstraint:cT,KeywordDependentRequired:DependentRequired_DependentRequired,KeywordContentSchema:keywords_ContentSchema,KeywordTitle:Title_Title,KeywordDescription:keywords_Description_Description,KeywordDefault:Default_Default,KeywordDeprecated:keywords_Deprecated,KeywordReadOnly:keywords_ReadOnly,KeywordWriteOnly:keywords_WriteOnly,KeywordExamples:keywords_Examples_Examples,ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONViewer:lT,Accordion:Accordion_Accordion,ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,ChevronRightIcon:icons_ChevronRight,...o.components},config:{default$schema:\"https://json-schema.org/draft/2020-12/schema\",defaultExpandedLevels:0,showExtensionKeywords:!0,...o.config},fn:{upperFirst:fn_upperFirst,getTitle:makeGetTitle(useFn),getType:makeGetType(useFn),isBooleanJSONSchema,hasKeyword,isExpandable:fn_makeIsExpandable(useFn),stringify:fn_stringify,stringifyConstraints,getDependentRequired,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(useFn),...o.fn},state:{paths:{}}},HOC=o=>Re.createElement(rT.Provider,{value:i},Re.createElement(s,o));return HOC.contexts={JSONSchemaContext:rT},HOC.displayName=s.displayName,HOC},makeWithJSONSchemaSystemContext=({getSystem:s})=>(o,i={})=>{const{getComponent:a,getConfigs:u}=s(),_=u(),w=a(\"JSONSchema202012\"),x=a(\"JSONSchema202012Keyword$schema\"),C=a(\"JSONSchema202012Keyword$vocabulary\"),j=a(\"JSONSchema202012Keyword$id\"),L=a(\"JSONSchema202012Keyword$anchor\"),B=a(\"JSONSchema202012Keyword$dynamicAnchor\"),$=a(\"JSONSchema202012Keyword$ref\"),U=a(\"JSONSchema202012Keyword$dynamicRef\"),V=a(\"JSONSchema202012Keyword$defs\"),z=a(\"JSONSchema202012Keyword$comment\"),Y=a(\"JSONSchema202012KeywordAllOf\"),Z=a(\"JSONSchema202012KeywordAnyOf\"),ee=a(\"JSONSchema202012KeywordOneOf\"),ie=a(\"JSONSchema202012KeywordNot\"),ae=a(\"JSONSchema202012KeywordIf\"),ce=a(\"JSONSchema202012KeywordThen\"),le=a(\"JSONSchema202012KeywordElse\"),pe=a(\"JSONSchema202012KeywordDependentSchemas\"),de=a(\"JSONSchema202012KeywordPrefixItems\"),fe=a(\"JSONSchema202012KeywordItems\"),ye=a(\"JSONSchema202012KeywordContains\"),be=a(\"JSONSchema202012KeywordProperties\"),_e=a(\"JSONSchema202012KeywordPatternProperties\"),Se=a(\"JSONSchema202012KeywordAdditionalProperties\"),we=a(\"JSONSchema202012KeywordPropertyNames\"),xe=a(\"JSONSchema202012KeywordUnevaluatedItems\"),Pe=a(\"JSONSchema202012KeywordUnevaluatedProperties\"),Te=a(\"JSONSchema202012KeywordType\"),Re=a(\"JSONSchema202012KeywordEnum\"),$e=a(\"JSONSchema202012KeywordConst\"),qe=a(\"JSONSchema202012KeywordConstraint\"),ze=a(\"JSONSchema202012KeywordDependentRequired\"),We=a(\"JSONSchema202012KeywordContentSchema\"),He=a(\"JSONSchema202012KeywordTitle\"),Ye=a(\"JSONSchema202012KeywordDescription\"),Xe=a(\"JSONSchema202012KeywordDefault\"),Qe=a(\"JSONSchema202012KeywordDeprecated\"),et=a(\"JSONSchema202012KeywordReadOnly\"),tt=a(\"JSONSchema202012KeywordWriteOnly\"),rt=a(\"JSONSchema202012KeywordExamples\"),nt=a(\"JSONSchema202012ExtensionKeywords\"),st=a(\"JSONSchema202012JSONViewer\"),ot=a(\"JSONSchema202012Accordion\"),it=a(\"JSONSchema202012ExpandDeepButton\"),at=a(\"JSONSchema202012ChevronRightIcon\");return withJSONSchemaContext(o,{components:{JSONSchema:w,Keyword$schema:x,Keyword$vocabulary:C,Keyword$id:j,Keyword$anchor:L,Keyword$dynamicAnchor:B,Keyword$ref:$,Keyword$dynamicRef:U,Keyword$defs:V,Keyword$comment:z,KeywordAllOf:Y,KeywordAnyOf:Z,KeywordOneOf:ee,KeywordNot:ie,KeywordIf:ae,KeywordThen:ce,KeywordElse:le,KeywordDependentSchemas:pe,KeywordPrefixItems:de,KeywordItems:fe,KeywordContains:ye,KeywordProperties:be,KeywordPatternProperties:_e,KeywordAdditionalProperties:Se,KeywordPropertyNames:we,KeywordUnevaluatedItems:xe,KeywordUnevaluatedProperties:Pe,KeywordType:Te,KeywordEnum:Re,KeywordConst:$e,KeywordConstraint:qe,KeywordDependentRequired:ze,KeywordContentSchema:We,KeywordTitle:He,KeywordDescription:Ye,KeywordDefault:Xe,KeywordDeprecated:Qe,KeywordReadOnly:et,KeywordWriteOnly:tt,KeywordExamples:rt,ExtensionKeywords:nt,JSONViewer:st,Accordion:ot,ExpandDeepButton:it,ChevronRightIcon:at,...i.components},config:{showExtensionKeywords:_.showExtensions,...i.config},fn:{...i.fn}})},json_schema_2020_12=({getSystem:s,fn:o})=>{const fnAccessor=()=>({upperFirst:o.upperFirst,...o.jsonSchema202012});return{components:{JSONSchema202012:aT,JSONSchema202012Keyword$schema:keywords_$schema,JSONSchema202012Keyword$vocabulary:$vocabulary_$vocabulary,JSONSchema202012Keyword$id:keywords_$id,JSONSchema202012Keyword$anchor:keywords_$anchor,JSONSchema202012Keyword$dynamicAnchor:keywords_$dynamicAnchor,JSONSchema202012Keyword$ref:keywords_$ref,JSONSchema202012Keyword$dynamicRef:keywords_$dynamicRef,JSONSchema202012Keyword$defs:keywords_$defs,JSONSchema202012Keyword$comment:keywords_$comment,JSONSchema202012KeywordAllOf:keywords_AllOf,JSONSchema202012KeywordAnyOf:keywords_AnyOf,JSONSchema202012KeywordOneOf:keywords_OneOf,JSONSchema202012KeywordNot:keywords_Not,JSONSchema202012KeywordIf:keywords_If,JSONSchema202012KeywordThen:keywords_Then,JSONSchema202012KeywordElse:keywords_Else,JSONSchema202012KeywordDependentSchemas:keywords_DependentSchemas,JSONSchema202012KeywordPrefixItems:keywords_PrefixItems,JSONSchema202012KeywordItems:keywords_Items,JSONSchema202012KeywordContains:keywords_Contains,JSONSchema202012KeywordProperties:keywords_Properties_Properties,JSONSchema202012KeywordPatternProperties:PatternProperties_PatternProperties,JSONSchema202012KeywordAdditionalProperties:keywords_AdditionalProperties,JSONSchema202012KeywordPropertyNames:keywords_PropertyNames,JSONSchema202012KeywordUnevaluatedItems:keywords_UnevaluatedItems,JSONSchema202012KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,JSONSchema202012KeywordType:keywords_Type,JSONSchema202012KeywordEnum:Enum_Enum,JSONSchema202012KeywordConst:Const_Const,JSONSchema202012KeywordConstraint:cT,JSONSchema202012KeywordDependentRequired:DependentRequired_DependentRequired,JSONSchema202012KeywordContentSchema:keywords_ContentSchema,JSONSchema202012KeywordTitle:Title_Title,JSONSchema202012KeywordDescription:keywords_Description_Description,JSONSchema202012KeywordDefault:Default_Default,JSONSchema202012KeywordDeprecated:keywords_Deprecated,JSONSchema202012KeywordReadOnly:keywords_ReadOnly,JSONSchema202012KeywordWriteOnly:keywords_WriteOnly,JSONSchema202012KeywordExamples:keywords_Examples_Examples,JSONSchema202012ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONSchema202012JSONViewer:lT,JSONSchema202012Accordion:Accordion_Accordion,JSONSchema202012ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,JSONSchema202012ChevronRightIcon:icons_ChevronRight,withJSONSchema202012Context:withJSONSchemaContext,withJSONSchema202012SystemContext:makeWithJSONSchemaSystemContext(s()),JSONSchema202012PathContext:()=>oT,JSONSchema202012LevelContext:()=>nT},fn:{upperFirst:fn_upperFirst,jsonSchema202012:{getTitle:makeGetTitle(fnAccessor),getType:makeGetType(fnAccessor),isExpandable:fn_makeIsExpandable(fnAccessor),isBooleanJSONSchema,hasKeyword,useFn,useConfig,useComponent,useIsExpanded,usePath,useLevel,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(fnAccessor),hasSchemaType:fn_hasSchemaType}}}},array=(s,{sample:o=[]}={})=>((s,o={})=>{const{minItems:i,maxItems:a,uniqueItems:u}=o,{contains:_,minContains:w,maxContains:x}=o;let C=[...s];if(null!=_&&\"object\"==typeof _){if(Number.isInteger(w)&&w>1){const s=C.at(0);for(let o=1;o<w;o+=1)C.unshift(s)}Number.isInteger(x)}if(Number.isInteger(a)&&a>0&&(C=s.slice(0,a)),Number.isInteger(i)&&i>0)for(let s=0;C.length<i;s+=1)C.push(C[s%C.length]);return!0===u&&(C=Array.from(new Set(C))),C})(o,s),object=()=>{throw new Error(\"Not implemented\")},bytes=s=>xt()(s),random_pick=s=>s.at(0),predicates_isBooleanJSONSchema=s=>\"boolean\"==typeof s,isJSONSchemaObject=s=>as()(s),isJSONSchema=s=>predicates_isBooleanJSONSchema(s)||isJSONSchemaObject(s);const uT=class Registry{data={};register(s,o){this.data[s]=o}unregister(s){void 0===s?this.data={}:delete this.data[s]}get(s){return this.data[s]}},int32=()=>0,int64=()=>0,generators_float=()=>.1,generators_double=()=>.1,email=()=>\"user@example.com\",idn_email=()=>\"실례@example.com\",hostname=()=>\"example.com\",idn_hostname=()=>\"실례.com\",ipv4=()=>\"198.51.100.42\",ipv6=()=>\"2001:0db8:5b96:0000:0000:426f:8e17:642a\",uri=()=>\"https://example.com/\",uri_reference=()=>\"path/index.html\",iri=()=>\"https://실례.com/\",iri_reference=()=>\"path/실례.html\",uuid=()=>\"3fa85f64-5717-4562-b3fc-2c963f66afa6\",uri_template=()=>\"https://example.com/dictionary/{term:1}/{term}\",generators_json_pointer=()=>\"/a/b/c\",relative_json_pointer=()=>\"1/0\",date_time=()=>(new Date).toISOString(),date=()=>(new Date).toISOString().substring(0,10),time=()=>(new Date).toISOString().substring(11),duration=()=>\"P3D\",generators_password=()=>\"********\",regex=()=>\"^[a-z]+$\";const pT=new class FormatRegistry extends uT{#s={int32,int64,float:generators_float,double:generators_double,email,\"idn-email\":idn_email,hostname,\"idn-hostname\":idn_hostname,ipv4,ipv6,uri,\"uri-reference\":uri_reference,iri,\"iri-reference\":iri_reference,uuid,\"uri-template\":uri_template,\"json-pointer\":generators_json_pointer,\"relative-json-pointer\":relative_json_pointer,\"date-time\":date_time,date,time,duration,password:generators_password,regex};data={...this.#s};get defaults(){return{...this.#s}}},formatAPI=(s,o)=>\"function\"==typeof o?pT.register(s,o):null===o?pT.unregister(s):pT.get(s);formatAPI.getDefaults=()=>pT.defaults;const hT=formatAPI;var dT=__webpack_require__(48287).Buffer;const _7bit=s=>dT.from(s).toString(\"ascii\");var fT=__webpack_require__(48287).Buffer;const _8bit=s=>fT.from(s).toString(\"utf8\");var mT=__webpack_require__(48287).Buffer;const encoders_binary=s=>mT.from(s).toString(\"binary\"),quoted_printable=s=>{let o=\"\";for(let i=0;i<s.length;i++){const a=s.charCodeAt(i);if(61===a)o+=\"=3D\";else if(a>=33&&a<=60||a>=62&&a<=126||9===a||32===a)o+=s.charAt(i);else if(13===a||10===a)o+=\"\\r\\n\";else if(a>126){const a=unescape(encodeURIComponent(s.charAt(i)));for(let s=0;s<a.length;s++)o+=\"=\"+(\"0\"+a.charCodeAt(s).toString(16)).slice(-2).toUpperCase()}else o+=\"=\"+(\"0\"+a.toString(16)).slice(-2).toUpperCase()}return o};var gT=__webpack_require__(48287).Buffer;const base16=s=>gT.from(s).toString(\"hex\");var yT=__webpack_require__(48287).Buffer;const base32=s=>{const o=yT.from(s).toString(\"utf8\"),i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";let a=0,u=\"\",_=0,w=0;for(let s=0;s<o.length;s++)for(_=_<<8|o.charCodeAt(s),w+=8;w>=5;)u+=i.charAt(_>>>w-5&31),w-=5;w>0&&(u+=i.charAt(_<<5-w&31),a=(8-8*o.length%5)%5);for(let s=0;s<a;s++)u+=\"=\";return u};var vT=__webpack_require__(48287).Buffer;const base64=s=>vT.from(s).toString(\"base64\");var bT=__webpack_require__(48287).Buffer;const base64url=s=>bT.from(s).toString(\"base64url\");const _T=new class EncoderRegistry extends uT{#s={\"7bit\":_7bit,\"8bit\":_8bit,binary:encoders_binary,\"quoted-printable\":quoted_printable,base16,base32,base64,base64url};data={...this.#s};get defaults(){return{...this.#s}}},encoderAPI=(s,o)=>\"function\"==typeof o?_T.register(s,o):null===o?_T.unregister(s):_T.get(s);encoderAPI.getDefaults=()=>_T.defaults;const ST=encoderAPI,ET={\"text/plain\":()=>\"string\",\"text/css\":()=>\".selector { border: 1px solid red }\",\"text/csv\":()=>\"value1,value2,value3\",\"text/html\":()=>\"<p>content</p>\",\"text/calendar\":()=>\"BEGIN:VCALENDAR\",\"text/javascript\":()=>\"console.dir('Hello world!');\",\"text/xml\":()=>'<person age=\"30\">John Doe</person>',\"text/*\":()=>\"string\"},wT={\"image/*\":()=>bytes(25).toString(\"binary\")},xT={\"audio/*\":()=>bytes(25).toString(\"binary\")},kT={\"video/*\":()=>bytes(25).toString(\"binary\")},OT={\"application/json\":()=>'{\"key\":\"value\"}',\"application/ld+json\":()=>'{\"name\": \"John Doe\"}',\"application/x-httpd-php\":()=>\"<?php echo '<p>Hello World!</p>'; ?>\",\"application/rtf\":()=>String.raw`{\\rtf1\\adeflang1025\\ansi\\ansicpg1252\\uc1`,\"application/x-sh\":()=>'echo \"Hello World!\"',\"application/xhtml+xml\":()=>\"<p>content</p>\",\"application/*\":()=>bytes(25).toString(\"binary\")};const AT=new class MediaTypeRegistry extends uT{#s={...ET,...wT,...xT,...kT,...OT};data={...this.#s};get defaults(){return{...this.#s}}},mediaTypeAPI=(s,o)=>{if(\"function\"==typeof o)return AT.register(s,o);if(null===o)return AT.unregister(s);const i=s.split(\";\").at(0),a=`${i.split(\"/\").at(0)}/*`;return AT.get(s)||AT.get(i)||AT.get(a)};mediaTypeAPI.getDefaults=()=>AT.defaults;const CT=mediaTypeAPI,applyStringConstraints=(s,o={})=>{const{maxLength:i,minLength:a}=o;let u=s;if(Number.isInteger(i)&&i>0&&(u=u.slice(0,i)),Number.isInteger(a)&&a>0){let s=0;for(;u.length<a;)u+=u[s++%u.length]}return u},types_string=(s,{sample:o}={})=>{const{contentEncoding:i,contentMediaType:a,contentSchema:u}=s,{pattern:_,format:w}=s,x=ST(i)||gO();let C;return C=\"string\"==typeof _?applyStringConstraints((s=>{try{const o=/(?<=(?<!\\\\)\\{)(\\d{3,})(?=\\})|(?<=(?<!\\\\)\\{\\d*,)(\\d{3,})(?=\\})|(?<=(?<!\\\\)\\{)(\\d{3,})(?=,\\d*\\})/g,i=s.replace(o,\"100\"),a=new(ps())(i);return a.max=100,a.gen()}catch{return\"string\"}})(_),s):\"string\"==typeof w?(s=>{const{format:o}=s,i=hT(o);return\"function\"==typeof i?i(s):\"string\"})(s):isJSONSchema(u)&&\"string\"==typeof a&&void 0!==o?Array.isArray(o)||\"object\"==typeof o?JSON.stringify(o):applyStringConstraints(String(o),s):\"string\"==typeof a?(s=>{const{contentMediaType:o}=s,i=CT(o);return\"function\"==typeof i?i(s):\"string\"})(s):applyStringConstraints(\"string\",s),x(C)},applyNumberConstraints=(s,o={})=>{const{minimum:i,maximum:a,exclusiveMinimum:u,exclusiveMaximum:_}=o,{multipleOf:w}=o,x=Number.isInteger(s)?1:Number.EPSILON;let C=\"number\"==typeof i?i:null,j=\"number\"==typeof a?a:null,L=s;if(\"number\"==typeof u&&(C=null!==C?Math.max(C,u+x):u+x),\"number\"==typeof _&&(j=null!==j?Math.min(j,_-x):_-x),L=C>j&&s||C||j||L,\"number\"==typeof w&&w>0){const s=L%w;L=0===s?L:L+w-s}return L},types_number=s=>{const{format:o}=s;let i;return i=\"string\"==typeof o?(s=>{const{format:o}=s,i=hT(o);return\"function\"==typeof i?i(s):0})(s):0,applyNumberConstraints(i,s)},types_integer=s=>{const{format:o}=s;let i;return i=\"string\"==typeof o?(s=>{const{format:o}=s,i=hT(o);if(\"function\"==typeof i)return i(s);switch(o){case\"int32\":return int32();case\"int64\":return int64()}return 0})(s):0,applyNumberConstraints(i,s)},types_boolean=s=>\"boolean\"!=typeof s.default||s.default,jT=new Proxy({array,object,string:types_string,number:types_number,integer:types_integer,boolean:types_boolean,null:()=>null},{get:(s,o)=>\"string\"==typeof o&&Object.hasOwn(s,o)?s[o]:()=>`Unknown Type: ${o}`}),PT=[\"array\",\"object\",\"number\",\"integer\",\"string\",\"boolean\",\"null\"],hasExample=s=>{if(!isJSONSchemaObject(s))return!1;const{examples:o,example:i,default:a}=s;return!!(Array.isArray(o)&&o.length>=1)||(void 0!==a||void 0!==i)},extractExample=s=>{if(!isJSONSchemaObject(s))return null;const{examples:o,example:i,default:a}=s;return Array.isArray(o)&&o.length>=1?o.at(0):void 0!==a?a:void 0!==i?i:void 0},IT={array:[\"items\",\"prefixItems\",\"contains\",\"maxContains\",\"minContains\",\"maxItems\",\"minItems\",\"uniqueItems\",\"unevaluatedItems\"],object:[\"properties\",\"additionalProperties\",\"patternProperties\",\"propertyNames\",\"minProperties\",\"maxProperties\",\"required\",\"dependentSchemas\",\"dependentRequired\",\"unevaluatedProperties\"],string:[\"pattern\",\"format\",\"minLength\",\"maxLength\",\"contentEncoding\",\"contentMediaType\",\"contentSchema\"],integer:[\"minimum\",\"maximum\",\"exclusiveMinimum\",\"exclusiveMaximum\",\"multipleOf\"]};IT.number=IT.integer;const TT=\"string\",inferTypeFromValue=s=>void 0===s?null:null===s?\"null\":Array.isArray(s)?\"array\":Number.isInteger(s)?\"integer\":typeof s,foldType=s=>{if(Array.isArray(s)&&s.length>=1){if(s.includes(\"array\"))return\"array\";if(s.includes(\"object\"))return\"object\";{const o=s.filter((s=>\"null\"!==s)),i=random_pick(o.length>0?o:s);if(PT.includes(i))return i}}return PT.includes(s)?s:null},inferType=(s,o=new WeakSet)=>{if(!isJSONSchemaObject(s))return TT;if(o.has(s))return TT;o.add(s);let{type:i,const:a}=s;if(i=foldType(i),\"string\"!=typeof i){const o=Object.keys(IT);e:for(let a=0;a<o.length;a+=1){const u=o[a],_=IT[u];for(let o=0;o<_.length;o+=1){const a=_[o];if(Object.hasOwn(s,a)){i=u;break e}}}}if(\"string\"!=typeof i&&void 0!==a){const s=inferTypeFromValue(a);i=\"string\"==typeof s?s:i}if(\"string\"!=typeof i){const combineTypes=i=>{if(Array.isArray(s[i])){const a=s[i].map((s=>inferType(s,o)));return foldType(a)}return null},a=combineTypes(\"allOf\"),u=combineTypes(\"anyOf\"),_=combineTypes(\"oneOf\"),w=s.not?inferType(s.not,o):null;(a||u||_||w)&&(i=foldType([a,u,_,w].filter(Boolean)))}if(\"string\"!=typeof i&&hasExample(s)){const o=extractExample(s),a=inferTypeFromValue(o);i=\"string\"==typeof a?a:i}return o.delete(s),i||TT},type_getType=s=>inferType(s),typeCast=s=>predicates_isBooleanJSONSchema(s)?(s=>!1===s?{not:{}}:{})(s):isJSONSchemaObject(s)?s:{},merge_merge=(s,o,i={})=>{if(predicates_isBooleanJSONSchema(s)&&!0===s)return!0;if(predicates_isBooleanJSONSchema(s)&&!1===s)return!1;if(predicates_isBooleanJSONSchema(o)&&!0===o)return!0;if(predicates_isBooleanJSONSchema(o)&&!1===o)return!1;if(!isJSONSchema(s))return o;if(!isJSONSchema(o))return s;const a={...o,...s};if(o.type&&s.type&&Array.isArray(o.type)&&\"string\"==typeof o.type){const i=normalizeArray(o.type).concat(s.type);a.type=Array.from(new Set(i))}if(Array.isArray(o.required)&&Array.isArray(s.required)&&(a.required=[...new Set([...s.required,...o.required])]),o.properties&&s.properties){const u=new Set([...Object.keys(o.properties),...Object.keys(s.properties)]);a.properties={};for(const _ of u){const u=o.properties[_]||{},w=s.properties[_]||{};u.readOnly&&!i.includeReadOnly||u.writeOnly&&!i.includeWriteOnly?a.required=(a.required||[]).filter((s=>s!==_)):a.properties[_]=merge_merge(w,u,i)}}return isJSONSchema(o.items)&&isJSONSchema(s.items)&&(a.items=merge_merge(s.items,o.items,i)),isJSONSchema(o.contains)&&isJSONSchema(s.contains)&&(a.contains=merge_merge(s.contains,o.contains,i)),isJSONSchema(o.contentSchema)&&isJSONSchema(s.contentSchema)&&(a.contentSchema=merge_merge(s.contentSchema,o.contentSchema,i)),a},NT=merge_merge,main_sampleFromSchemaGeneric=(s,o={},i=void 0,a=!1)=>{if(null==s&&void 0===i)return;\"function\"==typeof s?.toJS&&(s=s.toJS()),s=typeCast(s);let u=void 0!==i||hasExample(s);const _=!u&&Array.isArray(s.oneOf)&&s.oneOf.length>0,w=!u&&Array.isArray(s.anyOf)&&s.anyOf.length>0;if(!u&&(_||w)){const i=typeCast(random_pick(_?s.oneOf:s.anyOf));!(s=NT(s,i,o)).xml&&i.xml&&(s.xml=i.xml),hasExample(s)&&hasExample(i)&&(u=!0)}const x={};let{xml:C,properties:j,additionalProperties:L,items:B,contains:$}=s||{},U=type_getType(s),{includeReadOnly:V,includeWriteOnly:z}=o;C=C||{};let Y,{name:Z,prefix:ee,namespace:ie}=C,ae={};if(Object.hasOwn(s,\"type\")||(s.type=U),a&&(Z=Z||\"notagname\",Y=(ee?`${ee}:`:\"\")+Z,ie)){x[ee?`xmlns:${ee}`:\"xmlns\"]=ie}a&&(ae[Y]=[]);const ce=objectify(j);let le,pe=0;const hasExceededMaxProperties=()=>Number.isInteger(s.maxProperties)&&s.maxProperties>0&&pe>=s.maxProperties,canAddProperty=o=>!(Number.isInteger(s.maxProperties)&&s.maxProperties>0)||!hasExceededMaxProperties()&&(!(o=>!Array.isArray(s.required)||0===s.required.length||!s.required.includes(o))(o)||s.maxProperties-pe-(()=>{if(!Array.isArray(s.required)||0===s.required.length)return 0;let o=0;return a?s.required.forEach((s=>o+=void 0===ae[s]?0:1)):s.required.forEach((s=>{o+=void 0===ae[Y]?.find((o=>void 0!==o[s]))?0:1})),s.required.length-o})()>0);if(le=a?(i,u=void 0)=>{if(s&&ce[i]){if(ce[i].xml=ce[i].xml||{},ce[i].xml.attribute){const s=Array.isArray(ce[i].enum)?random_pick(ce[i].enum):void 0;if(hasExample(ce[i]))x[ce[i].xml.name||i]=extractExample(ce[i]);else if(void 0!==s)x[ce[i].xml.name||i]=s;else{const s=typeCast(ce[i]),a=type_getType(s),_=ce[i].xml.name||i;if(\"array\"===a){const s=main_sampleFromSchemaGeneric(ce[i],o,u,!1);x[_]=s.map((s=>as()(s)?\"UnknownTypeObject\":Array.isArray(s)?\"UnknownTypeArray\":s)).join(\" \")}else x[_]=\"object\"===a?\"UnknownTypeObject\":jT[a](s)}return}ce[i].xml.name=ce[i].xml.name||i}else ce[i]||!1===L||(ce[i]={xml:{name:i}});let _=main_sampleFromSchemaGeneric(ce[i],o,u,a);canAddProperty(i)&&(pe++,Array.isArray(_)?ae[Y]=ae[Y].concat(_):ae[Y].push(_))}:(i,u)=>{if(canAddProperty(i)){if(as()(s.discriminator?.mapping)&&s.discriminator.propertyName===i&&\"string\"==typeof s.$$ref){for(const o in s.discriminator.mapping)if(-1!==s.$$ref.search(s.discriminator.mapping[o])){ae[i]=o;break}}else ae[i]=main_sampleFromSchemaGeneric(ce[i],o,u,a);pe++}},u){let u;if(u=void 0!==i?i:extractExample(s),!a){if(\"number\"==typeof u&&\"string\"===U)return`${u}`;if(\"string\"!=typeof u||\"string\"===U)return u;try{return JSON.parse(u)}catch{return u}}if(\"array\"===U){if(!Array.isArray(u)){if(\"string\"==typeof u)return u;u=[u]}let i=[];return isJSONSchemaObject(B)&&(B.xml=B.xml||C||{},B.xml.name=B.xml.name||C.name,i=u.map((s=>main_sampleFromSchemaGeneric(B,o,s,a)))),isJSONSchemaObject($)&&($.xml=$.xml||C||{},$.xml.name=$.xml.name||C.name,i=[main_sampleFromSchemaGeneric($,o,void 0,a),...i]),i=jT.array(s,{sample:i}),C.wrapped?(ae[Y]=i,ds()(x)||ae[Y].push({_attr:x})):ae=i,ae}if(\"object\"===U){if(\"string\"==typeof u)return u;for(const s in u)Object.hasOwn(u,s)&&(ce[s]?.readOnly&&!V||ce[s]?.writeOnly&&!z||(ce[s]?.xml?.attribute?x[ce[s].xml.name||s]=u[s]:le(s,u[s])));return ds()(x)||ae[Y].push({_attr:x}),ae}return ae[Y]=ds()(x)?u:[{_attr:x},u],ae}if(\"array\"===U){let i=[];if(isJSONSchemaObject($))if(a&&($.xml=$.xml||s.xml||{},$.xml.name=$.xml.name||C.name),Array.isArray($.anyOf)){const{anyOf:s,...u}=B;i.push(...$.anyOf.map((s=>main_sampleFromSchemaGeneric(NT(s,u,o),o,void 0,a))))}else if(Array.isArray($.oneOf)){const{oneOf:s,...u}=B;i.push(...$.oneOf.map((s=>main_sampleFromSchemaGeneric(NT(s,u,o),o,void 0,a))))}else{if(!(!a||a&&C.wrapped))return main_sampleFromSchemaGeneric($,o,void 0,a);i.push(main_sampleFromSchemaGeneric($,o,void 0,a))}if(isJSONSchemaObject(B))if(a&&(B.xml=B.xml||s.xml||{},B.xml.name=B.xml.name||C.name),Array.isArray(B.anyOf)){const{anyOf:s,...u}=B;i.push(...B.anyOf.map((s=>main_sampleFromSchemaGeneric(NT(s,u,o),o,void 0,a))))}else if(Array.isArray(B.oneOf)){const{oneOf:s,...u}=B;i.push(...B.oneOf.map((s=>main_sampleFromSchemaGeneric(NT(s,u,o),o,void 0,a))))}else{if(!(!a||a&&C.wrapped))return main_sampleFromSchemaGeneric(B,o,void 0,a);i.push(main_sampleFromSchemaGeneric(B,o,void 0,a))}return i=jT.array(s,{sample:i}),a&&C.wrapped?(ae[Y]=i,ds()(x)||ae[Y].push({_attr:x}),ae):i}if(\"object\"===U){for(let s in ce)Object.hasOwn(ce,s)&&(ce[s]?.deprecated||ce[s]?.readOnly&&!V||ce[s]?.writeOnly&&!z||le(s));if(a&&x&&ae[Y].push({_attr:x}),hasExceededMaxProperties())return ae;if(predicates_isBooleanJSONSchema(L)&&L)a?ae[Y].push({additionalProp:\"Anything can be here\"}):ae.additionalProp1={},pe++;else if(isJSONSchemaObject(L)){const i=L,u=main_sampleFromSchemaGeneric(i,o,void 0,a);if(a&&\"string\"==typeof i?.xml?.name&&\"notagname\"!==i?.xml?.name)ae[Y].push(u);else{const o=i?.[\"x-additionalPropertiesName\"]||\"additionalProp\",_=Number.isInteger(s.minProperties)&&s.minProperties>0&&pe<s.minProperties?s.minProperties-pe:3;for(let s=1;s<=_;s++){if(hasExceededMaxProperties())return ae;if(a){const i={};i[o+s]=u.notagname,ae[Y].push(i)}else ae[o+s]=u;pe++}}}return ae}let de;if(void 0!==s.const)de=s.const;else if(s&&Array.isArray(s.enum))de=random_pick(normalizeArray(s.enum));else{const i=isJSONSchemaObject(s.contentSchema)?main_sampleFromSchemaGeneric(s.contentSchema,o,void 0,a):void 0;de=jT[U](s,{sample:i})}return a?(ae[Y]=ds()(x)?de:[{_attr:x},de],ae):de},main_createXMLExample=(s,o,i)=>{const a=main_sampleFromSchemaGeneric(s,o,i,!0);if(a)return\"string\"==typeof a?a:ls()(a,{declaration:!0,indent:\"\\t\"})},main_sampleFromSchema=(s,o,i)=>main_sampleFromSchemaGeneric(s,o,i,!1),main_resolver=(s,o,i)=>[s,JSON.stringify(o),JSON.stringify(i)],MT=utils_memoizeN(main_createXMLExample,main_resolver),RT=utils_memoizeN(main_sampleFromSchema,main_resolver);const DT=new class OptionRegistry extends uT{#s={};data={...this.#s};get defaults(){return{...this.#s}}},api_optionAPI=(s,o)=>(void 0!==o&&DT.register(s,o),DT.get(s)),LT=[{when:/json/,shouldStringifyTypes:[\"string\"]}],FT=[\"object\"],fn_get_json_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.jsonSchema202012.memoizedSampleFromSchema(o,i,u),x=typeof w,C=LT.reduce(((s,o)=>o.when.test(a)?[...s,...o.shouldStringifyTypes]:s),FT);return gt()(C,(s=>s===x))?JSON.stringify(w,null,2):w},fn_get_yaml_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.jsonSchema202012.getJsonSampleSchema(o,i,a,u);let x;try{x=fn.dump(fn.load(w),{lineWidth:-1},{schema:rn}),\"\\n\"===x[x.length-1]&&(x=x.slice(0,x.length-1))}catch(s){return console.error(s),\"error: could not generate yaml example\"}return x.replace(/\\t/g,\"  \")},fn_get_xml_sample_schema=s=>(o,i,a)=>{const{fn:u}=s();if(o&&!o.xml&&(o.xml={}),o&&!o.xml.name){if(!o.$$ref&&(o.type||o.items||o.properties||o.additionalProperties))return'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n\\x3c!-- XML example cannot be generated; root element name is undefined --\\x3e';if(o.$$ref){let s=o.$$ref.match(/\\S*\\/(\\S+)$/);o.xml.name=s[1]}}return u.jsonSchema202012.memoizedCreateXMLExample(o,i,a)},fn_get_sample_schema=s=>(o,i=\"\",a={},u=void 0)=>{const{fn:_}=s();return\"function\"==typeof o?.toJS&&(o=o.toJS()),\"function\"==typeof u?.toJS&&(u=u.toJS()),/xml/.test(i)?_.jsonSchema202012.getXmlSampleSchema(o,a,u):/(yaml|yml)/.test(i)?_.jsonSchema202012.getYamlSampleSchema(o,a,i,u):_.jsonSchema202012.getJsonSampleSchema(o,a,i,u)},json_schema_2020_12_samples=({getSystem:s})=>{const o=fn_get_json_sample_schema(s),i=fn_get_yaml_sample_schema(s),a=fn_get_xml_sample_schema(s),u=fn_get_sample_schema(s);return{fn:{jsonSchema202012:{sampleFromSchema:main_sampleFromSchema,sampleFromSchemaGeneric:main_sampleFromSchemaGeneric,sampleOptionAPI:api_optionAPI,sampleEncoderAPI:ST,sampleFormatAPI:hT,sampleMediaTypeAPI:CT,createXMLExample:main_createXMLExample,memoizedSampleFromSchema:RT,memoizedCreateXMLExample:MT,getJsonSampleSchema:o,getYamlSampleSchema:i,getXmlSampleSchema:a,getSampleSchema:u,mergeJsonSchema:NT,foldType}}}};function PresetApis(){return[base,oas3,json_schema_2020_12,json_schema_2020_12_samples,oas31]}const inline_plugin=s=>()=>({fn:s.fn,components:s.components}),factorization_system=s=>{const o=Ye()({layout:{layout:s.layout,filter:s.filter},spec:{spec:\"\",url:s.url},requestSnippets:s.requestSnippets},s.initialState);if(s.initialState)for(const[i,a]of Object.entries(s.initialState))void 0===a&&delete o[i];return{system:{configs:s.configs},plugins:s.presets,state:o}},sources_query=()=>s=>{const o=s.queryConfigEnabled?(()=>{const s=new URLSearchParams(lt.location.search);return Object.fromEntries(s)})():{};return Object.entries(o).reduce(((s,[o,i])=>(\"config\"===o?s.configUrl=i:\"urls.primaryName\"===o?s[o]=i:s=co()(s,o,i),s)),{})},sources_url=({url:s,system:o})=>async i=>{if(!s)return{};if(\"function\"!=typeof o.configsActions?.getConfigByUrl)return{};const a=(()=>{const s={};return s.promise=new Promise(((o,i)=>{s.resolve=o,s.reject=i})),s})();return o.configsActions.getConfigByUrl({url:s,loadRemoteConfig:!0,requestInterceptor:i.requestInterceptor,responseInterceptor:i.responseInterceptor},(s=>{a.resolve(s)})),a.promise},runtime=()=>()=>{const s={};return globalThis.location&&(s.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf(\"/\"))}/oauth2-redirect.html`),s},BT=Object.freeze({dom_id:null,domNode:null,spec:{},url:\"\",urls:null,configUrl:null,layout:\"BaseLayout\",docExpansion:\"list\",maxDisplayedTags:-1,filter:!1,validatorUrl:\"https://validator.swagger.io/validator\",oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:s=>(s.curlOptions=[],s),responseInterceptor:s=>s,showMutatedRequest:!0,defaultModelRendering:\"example\",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:\"cURL (bash)\",syntax:\"bash\"},curl_powershell:{title:\"cURL (PowerShell)\",syntax:\"powershell\"},curl_cmd:{title:\"cURL (CMD)\",syntax:\"bash\"}},defaultExpanded:!0,languages:null},supportedSubmitMethods:[\"get\",\"put\",\"post\",\"delete\",\"options\",\"head\",\"patch\",\"trace\"],queryConfigEnabled:!1,presets:[PresetApis],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:\"agate\"},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:[\"application/octet-stream\",\"image/\",\"audio/\",\"video/\"],uncaughtExceptionHandler:null});var $T=__webpack_require__(61448),qT=__webpack_require__.n($T),UT=__webpack_require__(77731),VT=__webpack_require__.n(UT);const type_casters_array=(s,o=[])=>Array.isArray(s)?s:o,type_casters_boolean=(s,o=!1)=>!0===s||\"true\"===s||1===s||\"1\"===s||!1!==s&&\"false\"!==s&&0!==s&&\"0\"!==s&&o,dom_node=s=>null===s||\"null\"===s?null:s,type_casters_filter=s=>{const o=String(s);return type_casters_boolean(s,o)},type_casters_function=(s,o)=>\"function\"==typeof s?s:o,nullable_array=s=>Array.isArray(s)?s:null,nullable_function=s=>\"function\"==typeof s?s:null,nullable_string=s=>null===s||\"null\"===s?null:String(s),type_casters_number=(s,o=-1)=>{const i=parseInt(s,10);return Number.isNaN(i)?o:i},type_casters_object=(s,o={})=>as()(s)?s:o,sorter=s=>\"function\"==typeof s||\"string\"==typeof s?s:null,type_casters_string=s=>String(s),syntax_highlight=(s,o)=>as()(s)?s:!1===s||\"false\"===s||0===s||\"0\"===s?{activated:!1}:o,undefined_string=s=>void 0===s||\"undefined\"===s?void 0:String(s),zT={components:{typeCaster:type_casters_object},configs:{typeCaster:type_casters_object},configUrl:{typeCaster:nullable_string},deepLinking:{typeCaster:type_casters_boolean,defaultValue:BT.deepLinking},defaultModelExpandDepth:{typeCaster:type_casters_number,defaultValue:BT.defaultModelExpandDepth},defaultModelRendering:{typeCaster:type_casters_string},defaultModelsExpandDepth:{typeCaster:type_casters_number,defaultValue:BT.defaultModelsExpandDepth},displayOperationId:{typeCaster:type_casters_boolean,defaultValue:BT.displayOperationId},displayRequestDuration:{typeCaster:type_casters_boolean,defaultValue:BT.displayRequestDuration},docExpansion:{typeCaster:type_casters_string},dom_id:{typeCaster:nullable_string},domNode:{typeCaster:dom_node},fileUploadMediaTypes:{typeCaster:type_casters_array,defaultValue:BT.fileUploadMediaTypes},filter:{typeCaster:type_casters_filter},fn:{typeCaster:type_casters_object},initialState:{typeCaster:type_casters_object},layout:{typeCaster:type_casters_string},maxDisplayedTags:{typeCaster:type_casters_number,defaultValue:BT.maxDisplayedTags},modelPropertyMacro:{typeCaster:nullable_function},oauth2RedirectUrl:{typeCaster:undefined_string},onComplete:{typeCaster:nullable_function},operationsSorter:{typeCaster:sorter},paramaterMacro:{typeCaster:nullable_function},persistAuthorization:{typeCaster:type_casters_boolean,defaultValue:BT.persistAuthorization},plugins:{typeCaster:type_casters_array,defaultValue:BT.plugins},presets:{typeCaster:type_casters_array,defaultValue:BT.presets},requestInterceptor:{typeCaster:type_casters_function,defaultValue:BT.requestInterceptor},requestSnippets:{typeCaster:type_casters_object,defaultValue:BT.requestSnippets},requestSnippetsEnabled:{typeCaster:type_casters_boolean,defaultValue:BT.requestSnippetsEnabled},responseInterceptor:{typeCaster:type_casters_function,defaultValue:BT.responseInterceptor},showCommonExtensions:{typeCaster:type_casters_boolean,defaultValue:BT.showCommonExtensions},showExtensions:{typeCaster:type_casters_boolean,defaultValue:BT.showExtensions},showMutatedRequest:{typeCaster:type_casters_boolean,defaultValue:BT.showMutatedRequest},spec:{typeCaster:type_casters_object,defaultValue:BT.spec},supportedSubmitMethods:{typeCaster:type_casters_array,defaultValue:BT.supportedSubmitMethods},syntaxHighlight:{typeCaster:syntax_highlight,defaultValue:BT.syntaxHighlight},\"syntaxHighlight.activated\":{typeCaster:type_casters_boolean,defaultValue:BT.syntaxHighlight.activated},\"syntaxHighlight.theme\":{typeCaster:type_casters_string},tagsSorter:{typeCaster:sorter},tryItOutEnabled:{typeCaster:type_casters_boolean,defaultValue:BT.tryItOutEnabled},url:{typeCaster:type_casters_string},urls:{typeCaster:nullable_array},\"urls.primaryName\":{typeCaster:type_casters_string},validatorUrl:{typeCaster:nullable_string},withCredentials:{typeCaster:type_casters_boolean,defaultValue:BT.withCredentials},uncaughtExceptionHandler:{typeCaster:nullable_function}},type_cast=s=>Object.entries(zT).reduce(((s,[o,{typeCaster:i,defaultValue:a}])=>{if(qT()(s,o)){const u=i(Cn()(s,o),a);s=VT()(o,u,s)}return s}),{...s}),config_merge=(s,...o)=>{let i=Symbol.for(\"domNode\"),a=Symbol.for(\"primaryName\");const u=[];for(const s of o){const o={...s};Object.hasOwn(o,\"domNode\")&&(i=o.domNode,delete o.domNode),Object.hasOwn(o,\"urls.primaryName\")?(a=o[\"urls.primaryName\"],delete o[\"urls.primaryName\"]):Array.isArray(o.urls)&&Object.hasOwn(o.urls,\"primaryName\")&&(a=o.urls.primaryName,delete o.urls.primaryName),u.push(o)}const _=Ye()(s,...u);return i!==Symbol.for(\"domNode\")&&(_.domNode=i),a!==Symbol.for(\"primaryName\")&&Array.isArray(_.urls)&&(_.urls.primaryName=a),type_cast(_)};function SwaggerUI(s){const o=sources_query()(s),i=runtime()(),a=SwaggerUI.config.merge({},SwaggerUI.config.defaults,i,s,o),u=factorization_system(a),_=inline_plugin(a),w=new Store(u);w.register([a.plugins,_]);const x=w.getSystem(),persistConfigs=s=>{w.setConfigs(s),x.configsActions.loaded()},updateSpec=s=>{!o.url&&\"object\"==typeof s.spec&&Object.keys(s.spec).length>0?(x.specActions.updateUrl(\"\"),x.specActions.updateLoadingStatus(\"success\"),x.specActions.updateSpec(JSON.stringify(s.spec))):\"function\"==typeof x.specActions.download&&s.url&&!s.urls&&(x.specActions.updateUrl(s.url),x.specActions.download(s.url))},render=s=>{if(s.domNode)x.render(s.domNode,\"App\");else if(s.dom_id){const o=document.querySelector(s.dom_id);x.render(o,\"App\")}else null===s.dom_id||null===s.domNode||console.error(\"Skipped rendering: no `dom_id` or `domNode` was specified\")};return a.configUrl?((async()=>{const{configUrl:s}=a,i=await sources_url({url:s,system:x})(a),u=SwaggerUI.config.merge({},a,i,o);persistConfigs(u),null!==i&&updateSpec(u),render(u)})(),x):(persistConfigs(a),updateSpec(a),render(a),x)}SwaggerUI.System=Store,SwaggerUI.config={defaults:BT,merge:config_merge,typeCast:type_cast,typeCastMappings:zT},SwaggerUI.presets={base,apis:PresetApis},SwaggerUI.plugins={Auth:auth,Configs:configsPlugin,DeepLining:deep_linking,Err:err,Filter:filter,Icons:icons,JSONSchema5:json_schema_5,JSONSchema5Samples:json_schema_5_samples,JSONSchema202012:json_schema_2020_12,JSONSchema202012Samples:json_schema_2020_12_samples,Layout:plugins_layout,Logs:logs,OpenAPI30:oas3,OpenAPI31:oas3,OnComplete:on_complete,RequestSnippets:plugins_request_snippets,Spec:plugins_spec,SwaggerClient:swagger_client,Util:util,View:view,ViewLegacy:view_legacy,DownloadUrl:downloadUrlPlugin,SyntaxHighlighting:syntax_highlighting,Versions:versions,SafeRender:safe_render};const WT=SwaggerUI})(),i=i.default})()));"
  },
  {
    "path": "ninja/static/ninja/swagger-ui-init.js",
    "content": "/**JS file for handling the SwaggerUIBundle and avoid inline script */\nconst csrfSettings = document.querySelector(\"body\").dataset\nconst configJson = document.getElementById(\"swagger-settings\").textContent;\nconst configObject = JSON.parse(configJson);\n\nconfigObject.dom_id = \"#swagger-ui\";\nconfigObject.presets = [\n    SwaggerUIBundle.presets.apis,\n    SwaggerUIBundle.SwaggerUIStandalonePreset\n];\n\nif (csrfSettings.apiCsrf && csrfSettings.csrfToken) {\n    configObject.requestInterceptor = (req) => {\n        req.headers['X-CSRFToken'] = csrfSettings.csrfToken\n        return req;\n    };\n};\n\n\n// {% if add_csrf %}\n// configObject.requestInterceptor = (req) => {\n//     req.headers['X-CSRFToken'] = \"{{csrf_token}}\";\n//     return req;\n// };\n// {% endif %}\n\nconst ui = SwaggerUIBundle(configObject);\n\n\n\n// SwaggerUIBundle({\n//     url: swaggerUi.dataset.openapiUrl,\n//     dom_id: '#swagger-ui',\n//     presets: [\n//         SwaggerUIBundle.presets.apis,\n//         SwaggerUIBundle.SwaggerUIStandalonePreset\n//     ],\n//     layout: \"BaseLayout\",\n//     requestInterceptor: (req) => {\n//         if (swaggerUi.dataset.apiCsrf && swaggerUi.dataset.csrfToken) {\n//             req.headers['X-CSRFToken'] = swaggerUi.dataset.csrfToken\n//         }\n//         return req;\n//     },\n//     deepLinking: true\n// })"
  },
  {
    "path": "ninja/static/ninja/swagger-ui.css",
    "content": ".swagger-ui{color:#3b4151;font-family:sans-serif}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.013)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.013)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{bottom:0;left:0;right:0;top:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{bottom:0;left:0;right:0;top:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:\" \";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{-webkit-text-decoration:none;text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline{-webkit-text-decoration:none;text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-ns{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-ns{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .strike-m{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-m{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-m{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-l{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-l{-webkit-text-decoration:none;text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:\"smcp\";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:\"smcp\";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:\"smcp\";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:\"smcp\";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px rgba(0,0,0,.2);content:\"\";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial,.swagger-ui .z-unset{z-index:auto}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid rgba(59,65,81,.3);cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:2;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .opblock-tag>div{flex:1 1 150px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.swagger-ui .opblock-tag small,.swagger-ui .opblock-tag>div{flex:1}}.swagger-ui .opblock-tag .info__externaldocs{text-align:right}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.19);margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:grey;bottom:-15px;content:\"\";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:hsla(0,0%,100%,.8);box-shadow:0 1px 2px rgba(0,0,0,.1);display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1)}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-method{font-size:12px}}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;word-break:break-word}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:1}@media(max-width:640px){.swagger-ui .opblock .opblock-summary-path{max-width:100%}}.swagger-ui .opblock .opblock-summary-path__deprecated{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:center;display:flex;flex-direction:row;flex-grow:1;flex-wrap:wrap;gap:0 10px;padding:0 10px}@media(max-width:550px){.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:flex-start;flex-direction:column}}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock .opblock-summary:hover .view-line-link.copy-to-clipboard{width:24px}.swagger-ui .opblock.opblock-post{background:rgba(73,204,144,.1);border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:rgba(252,161,48,.1);border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:rgba(249,62,62,.1);border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:rgba(97,175,254,.1);border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:rgba(80,227,194,.1);border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:rgba(144,18,254,.1);border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:rgba(13,90,167,.1);border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:hsla(0,0%,92%,.1);border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .model-example .model-container{overflow-x:auto;width:100%}.swagger-ui .model-example .model-container .model-hint:not(.model-hint--embedded){top:-1.15em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:rgba(0,0,0,.2);content:\"\";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{background:#333;border-radius:4px;font-size:12px;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word;word-wrap:break-word;color:#fff;font-family:monospace;font-weight:600}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;color:#fff;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.15);margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.swagger-ui .scheme-container .schemes>.schemes-server-container{display:flex;flex-wrap:wrap;gap:10px}.swagger-ui .scheme-container .schemes>.schemes-server-container>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>.schemes-server-container>label select{min-width:130px;text-transform:uppercase}.swagger-ui .scheme-container .schemes:not(:has(.schemes-server-container)){justify-content:flex-end}.swagger-ui .scheme-container .schemes .auth-wrapper{flex:none;justify-content:start}.swagger-ui .scheme-container .schemes .auth-wrapper .authorize{display:flex;flex-wrap:nowrap;margin:0;padding-right:20px}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:\"loading\";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border:2px solid rgba(85,85,85,.1);border-radius:100%;border-top-color:rgba(0,0,0,.6);content:\"\";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:transparent;border:2px solid grey;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.1);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{background-color:transparent;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:transparent;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 0 0 10px}.swagger-ui .authorization__btn .locked{opacity:1}.swagger-ui .authorization__btn .unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"15\\\" aria-hidden=\\\"true\\\"><path fill=\\\"%23fff\\\" fill-rule=\\\"evenodd\\\" d=\\\"M4 12h4v1H4zm5-6H4v1h5zm2 3V7l-3 3 3 3v-2h5V9zM6.5 8H4v1h2.5zM4 11h2.5v-1H4zm9 1h1v2c-.02.28-.11.52-.3.7s-.42.28-.7.3H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3c0-1.11.89-2 2-2s2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V5H3v9h10zM4 4h8c0-.55-.45-1-1-1h-1c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H5c-.55 0-1 .45-1 1\\\"/></svg>\") 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .copy-to-clipboard:active{background:#5e626f}.swagger-ui .opblock-control-arrow{background:none;border:none;text-align:center}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui .opblock .opblock-summary .view-line-link.copy-to-clipboard{height:26px;position:static}.swagger-ui select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f7f7 url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\"><path d=\\\"M13.418 7.859a.695.695 0 0 1 .978 0 .68.68 0 0 1 0 .969l-3.908 3.83a.697.697 0 0 1-.979 0l-3.908-3.83a.68.68 0 0 1 0-.969.695.695 0 0 1 .978 0L10 11z\\\"/></svg>\") right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px 0 rgba(0,0,0,.25);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media(max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}@media(max-width:640px){.swagger-ui .opblock-body select{min-width:100%;width:100%}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{line-height:1}@media(max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:hsla(0,0%,100%,.8);border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:400!important;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"10\\\" height=\\\"8\\\" viewBox=\\\"3 7 10 8\\\"><path fill=\\\"%2341474E\\\" fill-rule=\\\"evenodd\\\" d=\\\"M6.333 15 3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z\\\"/></svg>\") 50% no-repeat}.swagger-ui .dialog-ux{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:rgba(0,0,0,.8);bottom:0;left:0;position:fixed;right:0;top:0}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px 0 rgba(0,0,0,.2);left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{background:url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path d=\\\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\"/></svg>\") 50% no-repeat;background-size:100%;content:\"\";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{display:block}.swagger-ui .model-hint{background:rgba(0,0,0,.7);border-radius:4px;color:#ebebeb;display:none;padding:.1em .5em;position:absolute;top:-1.8em;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui .model .property.primitive.extension{display:block}.swagger-ui .model .property.primitive.extension>td:first-child{padding-left:0;padding-right:0;width:auto}.swagger-ui .model .property.primitive.extension>td:first-child:after{content:\": \"}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui table.model tr.external-docs td:first-child{font-weight:700}.swagger-ui table.model tr .renderedMarkdown p:first-child{margin-top:0}.swagger-ui section.models{border:1px solid rgba(59,65,81,.3);border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid rgba(59,65,81,.3);margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui section.models .model-box:has(.model-box){overflow-x:auto;width:100%}.swagger-ui .model-box{background:rgba(0,0,0,.1);border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px;width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0 0 0 1em;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table tbody tr td:has(.model-box){max-width:1px}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid rgba(59,65,81,.2);color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameters-col_description .markdown:first-child p:first-child,.swagger-ui .parameters-col_description .renderedMarkdown:first-child p:first-child{margin:0}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:rgba(255,0,0,.6);content:\"required\";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px;width:auto}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_description .markdown p:first-child,.swagger-ui .response-col_description .renderedMarkdown p:first-child{margin:0}.swagger-ui .response-col_description .markdown p:last-child,.swagger-ui .response-col_description .renderedMarkdown p:last-child{margin-bottom:0}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@media(max-width:550px){.swagger-ui .topbar .topbar-wrapper{align-items:start;flex-direction:column}}.swagger-ui .topbar a{align-items:center;color:#fff;display:flex;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;-webkit-text-decoration:none;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end;margin-left:auto;max-width:600px}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;max-width:100%;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}@media(max-width:550px){.swagger-ui .topbar .download-url-wrapper{width:100%}}.swagger-ui .topbar .dark-mode-toggle{cursor:pointer;margin-left:10px;opacity:.8;transition:all .2s}.swagger-ui .topbar .dark-mode-toggle button{background:none;border:none;padding:0}.swagger-ui .topbar .dark-mode-toggle button svg{fill:#e4e6e6}.swagger-ui .topbar .dark-mode-toggle:hover{opacity:1}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info pre,.swagger-ui .info table{font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300!important;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-left:10px;margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:rgba(249,62,62,.1);border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:rgba(0,0,0,.05);border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.swagger-ui .json-schema-2020-12-keyword--\\$vocabulary ul{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px}.swagger-ui .json-schema-2020-12-\\$vocabulary-uri{margin-left:35px}.swagger-ui .json-schema-2020-12-\\$vocabulary-uri--disabled{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .json-schema-2020-12-keyword--const .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--const .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12__constraint{background-color:#805ad5;border-radius:4px;color:#3b4151;color:#fff;font-family:monospace;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 3px}.swagger-ui .json-schema-2020-12__constraint--string{background-color:#d69e2e;color:#fff}.swagger-ui .json-schema-2020-12-keyword--default .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--default .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul li{display:inline;list-style-type:none}.swagger-ui .json-schema-2020-12-keyword--description{color:#6b6b6b;font-size:12px;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword--description p{margin:0}.swagger-ui .json-schema-2020-12-keyword--enum .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--enum .json-schema-2020-12-json-viewer__value,.swagger-ui .json-schema-2020-12-keyword--examples .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--examples .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer-extension-keyword .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-json-viewer-extension-keyword .json-schema-2020-12-json-viewer__value{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword--patternProperties ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:after,.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:before{color:#55a;content:\"/\"}.swagger-ui .json-schema-2020-12-keyword--properties>ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-property{list-style-type:none}.swagger-ui .json-schema-2020-12-property--required>.json-schema-2020-12:first-of-type>.json-schema-2020-12-head .json-schema-2020-12__title:after{color:red;content:\"*\";font-weight:700}.swagger-ui .json-schema-2020-12__title{color:#505050;display:inline-block;font-family:sans-serif;font-size:12px;font-weight:700;line-height:normal}.swagger-ui .json-schema-2020-12__title .json-schema-2020-12-keyword__name{margin:0}.swagger-ui .json-schema-2020-12-property{margin:7px 0}.swagger-ui .json-schema-2020-12-property .json-schema-2020-12__title{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;vertical-align:middle}.swagger-ui .json-schema-2020-12-keyword{margin:5px 0}.swagger-ui .json-schema-2020-12-keyword__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-keyword__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-keyword__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__name--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-keyword__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed red;border-radius:4px;color:#3b4151;color:red;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-keyword__name--secondary+.json-schema-2020-12-keyword__value--secondary:before{content:\"=\"}.swagger-ui .json-schema-2020-12__attribute{color:#3b4151;font-family:monospace;font-size:12px;padding-left:10px;text-transform:lowercase}.swagger-ui .json-schema-2020-12__attribute--primary{color:#55a}.swagger-ui .json-schema-2020-12__attribute--muted{color:gray}.swagger-ui .json-schema-2020-12__attribute--warning{color:red}.swagger-ui .json-schema-2020-12-json-viewer{margin:5px 0}.swagger-ui .json-schema-2020-12-json-viewer__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-json-viewer__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-json-viewer__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-json-viewer__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__name--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-json-viewer__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value--warning{border:1px dashed red;border-radius:4px;color:#3b4151;color:red;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-json-viewer__name--secondary+.json-schema-2020-12-json-viewer__value--secondary:before{content:\"=\"}.swagger-ui .json-schema-2020-12{background-color:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;padding:12px 0 12px 20px}.swagger-ui .json-schema-2020-12:first-of-type{margin:20px}.swagger-ui .json-schema-2020-12:last-of-type{margin:0 20px}.swagger-ui .json-schema-2020-12--embedded{background-color:inherit;padding-bottom:0;padding-left:inherit;padding-right:inherit;padding-top:0}.swagger-ui .json-schema-2020-12-body{border-left:1px dashed rgba(0,0,0,.1);margin:2px 0}.swagger-ui .json-schema-2020-12-body--collapsed{display:none}.swagger-ui .json-schema-2020-12-accordion{border:none;outline:none;padding-left:0}.swagger-ui .json-schema-2020-12-accordion__children{display:inline-block}.swagger-ui .json-schema-2020-12-accordion__icon{display:inline-block;height:18px;vertical-align:bottom;width:18px}.swagger-ui .json-schema-2020-12-accordion__icon--expanded{transform:rotate(-90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon--collapsed{transform:rotate(0deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon svg{height:20px;width:20px}.swagger-ui .json-schema-2020-12-expand-deep-button{border:none;color:#505050;color:#afaeae;font-family:sans-serif;font-size:12px;padding-right:0}.swagger-ui .model-box .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .model-box>.json-schema-2020-12{margin:0}.swagger-ui .model-box .json-schema-2020-12{background-color:transparent;padding:0}.swagger-ui .model-box .json-schema-2020-12-accordion,.swagger-ui .model-box .json-schema-2020-12-expand-deep-button{background-color:transparent}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded){overflow-x:auto;width:calc(100% - 40px)}html.dark-mode{background:#1c2022}html.dark-mode .swagger-ui{background:#1c2022;color:#e4e6e6}html.dark-mode .swagger-ui .authorization__btn svg,html.dark-mode .swagger-ui .expand-operation svg,html.dark-mode .swagger-ui .opblock-control-arrow svg{fill:#b7bcbf;opacity:1}html.dark-mode .swagger-ui .markdown p,html.dark-mode .swagger-ui .markdown pre,html.dark-mode .swagger-ui .renderedMarkdown p,html.dark-mode .swagger-ui .renderedMarkdown pre,html.dark-mode .swagger-ui section h3,html.dark-mode .swagger-ui table thead tr td,html.dark-mode .swagger-ui table thead tr th{color:#e4e6e6}html.dark-mode .swagger-ui .markdown code,html.dark-mode .swagger-ui .renderedMarkdown code{background:#080a0b;color:#b68ae1}html.dark-mode .swagger-ui input{background:#1c2022;border-color:#b7bcbf;color:#f0f1f1}html.dark-mode .swagger-ui input:focus:not(.download-url-input){border-color:#51a8ff!important;box-shadow:none;outline:none}html.dark-mode .swagger-ui textarea{background:#0d1014;border:1px solid #0d1014;color:#f0f1f1}html.dark-mode .swagger-ui textarea:focus{border-color:#51a8ff}html.dark-mode .swagger-ui textarea[disabled]{background-color:#202225;border-color:#202225;color:#8c969a}html.dark-mode .swagger-ui select{background:#1c2022 url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 20 20\\\"><path fill=\\\"%23B7BCBF\\\" d=\\\"M13.418 7.859a.695.695 0 0 1 .978 0 .68.68 0 0 1 0 .969l-3.908 3.83a.697.697 0 0 1-.979 0l-3.908-3.83a.68.68 0 0 1 0-.969.695.695 0 0 1 .978 0L10 11z\\\"/></svg>\") right 10px center no-repeat;border-color:#b7bcbf;box-shadow:none;color:#f0f1f1;outline:none}html.dark-mode .swagger-ui select[multiple]{background:#1c2022}html.dark-mode .swagger-ui select:focus{border-color:#51a8ff}html.dark-mode .swagger-ui input::-moz-placeholder, html.dark-mode .swagger-ui textarea::-moz-placeholder{color:#f0f1f1;opacity:.5}html.dark-mode .swagger-ui input::placeholder,html.dark-mode .swagger-ui textarea::placeholder{color:#f0f1f1;opacity:.5}html.dark-mode .swagger-ui input.invalid,html.dark-mode .swagger-ui select.invalid,html.dark-mode .swagger-ui textarea.invalid{background:#1c2022;border-color:#ff5f5f}html.dark-mode .swagger-ui .topbar{background:#2a2e30}html.dark-mode .swagger-ui .topbar .download-url-wrapper .download-url-button{background:#1d632e;color:#e4e6e6}html.dark-mode .swagger-ui .topbar .download-url-wrapper .download-url-input{border-color:#1d632e}html.dark-mode .swagger-ui .topbar .download-url-wrapper .download-url-input.failed{color:#ff5f5f}html.dark-mode .swagger-ui .dialog-ux .modal-ux{background-color:#2a2e30;border:none;color:#e4e6e6}html.dark-mode .swagger-ui .dialog-ux .modal-ux-header{border-color:#545d61}html.dark-mode .swagger-ui .dialog-ux .modal-ux-header .close-modal svg{fill:#e4e6e6}html.dark-mode .swagger-ui .dialog-ux .modal-ux h2,html.dark-mode .swagger-ui .dialog-ux .modal-ux h3,html.dark-mode .swagger-ui .dialog-ux .modal-ux h4,html.dark-mode .swagger-ui .dialog-ux .modal-ux h5,html.dark-mode .swagger-ui .dialog-ux .modal-ux label,html.dark-mode .swagger-ui .dialog-ux .modal-ux p{color:#e4e6e6}html.dark-mode .swagger-ui .dialog-ux .modal-ux .scopes a{color:#51a8ff}html.dark-mode .swagger-ui .dialog-ux .modal-ux .btn.modal-btn{border-color:#3ece90;color:#3ece90}html.dark-mode .swagger-ui .dialog-ux .modal-ux .btn.modal-btn.btn-done{border-color:#e4e6e6;color:#e4e6e6}html.dark-mode .swagger-ui .dialog-ux .modal-ux .auth-container{border-color:#545d61}html.dark-mode .swagger-ui .dialog-ux .modal-ux .checkbox input[type=checkbox]+label>.item{background:#545d61;box-shadow:none;color:#f0f1f1!important}html.dark-mode .swagger-ui .dialog-ux .modal-ux .checkbox input[type=checkbox]:checked+label>.item{background:#545d61 url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"10\\\" height=\\\"8\\\" viewBox=\\\"3 7 10 8\\\"><path fill=\\\"%23E4E6E6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M6.333 15 3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z\\\"/></svg>\") 50% no-repeat}html.dark-mode .swagger-ui .loading-container .loading:before{border-color:#e4e6e6 #545d61 #545d61}html.dark-mode .swagger-ui .loading-container .loading:after{color:#e4e6e6}html.dark-mode .swagger-ui .scheme-container{background:#1c2022;box-shadow:0 1px 2px 0 #545d61}html.dark-mode .swagger-ui .scheme-container .schemes>.schemes-server-container>label{color:#e4e6e6}html.dark-mode .swagger-ui .scheme-container .btn.authorize{border-color:#3ece90;color:#3ece90}html.dark-mode .swagger-ui .scheme-container .btn.authorize svg{fill:#3ece90}html.dark-mode .swagger-ui .info .title,html.dark-mode .swagger-ui .info h1,html.dark-mode .swagger-ui .info h2,html.dark-mode .swagger-ui .info h3,html.dark-mode .swagger-ui .info h4,html.dark-mode .swagger-ui .info h5{color:#d2d6d7}html.dark-mode .swagger-ui .info .base-url,html.dark-mode .swagger-ui .info li,html.dark-mode .swagger-ui .info p,html.dark-mode .swagger-ui .info table{color:#e4e6e6}html.dark-mode .swagger-ui .info a{color:#51a8ff}html.dark-mode .swagger-ui .info .title small{background:#434b4f}html.dark-mode .swagger-ui .info .title small.version-stamp{background:#1d632e}html.dark-mode .swagger-ui .info .errors-wrapper{background:#434b4f;border-color:#ff5f5f}html.dark-mode .swagger-ui .info .errors-wrapper h4,html.dark-mode .swagger-ui .info .errors-wrapper span{color:#e4e6e6}html.dark-mode .swagger-ui .info .errors-wrapper .btn.errors__clear-btn{border-color:#e4e6e6;color:#e4e6e6}html.dark-mode .swagger-ui .copy-to-clipboard,html.dark-mode .swagger-ui .download-contents{background:#545d61;color:#e4e6e6}html.dark-mode .swagger-ui .copy-to-clipboard button,html.dark-mode .swagger-ui .download-contents button{background:url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"16\\\" height=\\\"15\\\" aria-hidden=\\\"true\\\"><path fill=\\\"%23E4E6E6\\\" fill-rule=\\\"evenodd\\\" d=\\\"M4 12h4v1H4zm5-6H4v1h5zm2 3V7l-3 3 3 3v-2h5V9zM6.5 8H4v1h2.5zM4 11h2.5v-1H4zm9 1h1v2c-.02.28-.11.52-.3.7s-.42.28-.7.3H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3c0-1.11.89-2 2-2s2 .89 2 2h3c.55 0 1 .45 1 1v5h-1V5H3v9h10zM4 4h8c0-.55-.45-1-1-1h-1c-.55 0-1-.45-1-1s-.45-1-1-1-1 .45-1 1-.45 1-1 1H5c-.55 0-1 .45-1 1\\\"/></svg>\") 50% no-repeat}html.dark-mode .swagger-ui .opblock-tag{border-bottom-color:#545d61;color:#e4e6e6}html.dark-mode .swagger-ui .opblock-tag small{color:#e4e6e6}html.dark-mode .swagger-ui .opblock-tag a.link{color:#51a8ff}html.dark-mode .swagger-ui .opblock.opblock-post{background:#112929;border-color:#104834}html.dark-mode .swagger-ui .opblock.opblock-post thead tr td,html.dark-mode .swagger-ui .opblock.opblock-post thead tr th{border-color:#104834;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-section-header{background:#14392c;border-bottom:1px solid #104834;border-top:1px solid #104834}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#00b572}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary{border-bottom:none;border-color:#104834}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-summary-method{background:#00b572;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-post .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-post .opblock-body>.opblock-title_normal{border-top:1px solid #104834}html.dark-mode .swagger-ui .opblock.opblock-deprecated{background:#272c34;border-color:#495361}html.dark-mode .swagger-ui .opblock.opblock-deprecated thead tr td,html.dark-mode .swagger-ui .opblock.opblock-deprecated thead tr th{border-color:#495361;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-section-header{background:#262e36;border-bottom:1px solid #495361;border-top:1px solid #495361}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#6a6a6a}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-summary{border-bottom:none;border-color:#495361}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#6a6a6a;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-deprecated .opblock-body>.opblock-title_normal{border-top:1px solid #495361}html.dark-mode .swagger-ui .opblock.opblock-put{background:#27201e;border-color:#523524}html.dark-mode .swagger-ui .opblock.opblock-put thead tr td,html.dark-mode .swagger-ui .opblock.opblock-put thead tr th{border-color:#523524;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-section-header{background:#9a5b3e;border-bottom:1px solid #523524;border-top:1px solid #523524}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#ff7d35}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-summary{border-bottom:none;border-color:#523524}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-summary-method{background:#ff7d35;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-put .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-put .opblock-body>.opblock-title_normal{border-top:1px solid #523524}html.dark-mode .swagger-ui .opblock.opblock-get{background:#182536;border-color:#294262}html.dark-mode .swagger-ui .opblock.opblock-get thead tr td,html.dark-mode .swagger-ui .opblock.opblock-get thead tr th{border-color:#294262;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-section-header{background:#1c3043;border-bottom:1px solid #294262;border-top:1px solid #294262}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#55a1ff}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary{border-bottom:none;border-color:#294262}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-summary-method{background:#55a1ff;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-get .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-get .opblock-body>.opblock-title_normal{border-top:1px solid #294262}html.dark-mode .swagger-ui .opblock.opblock-delete{background:#241a20;border-color:#4b2420}html.dark-mode .swagger-ui .opblock.opblock-delete thead tr td,html.dark-mode .swagger-ui .opblock.opblock-delete thead tr th{border-color:#4b2420;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-section-header{background:#2f2020;border-bottom:1px solid #4b2420;border-top:1px solid #4b2420}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#eb6156}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary{border-bottom:none;border-color:#4b2420}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#eb6156;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-delete .opblock-body>.opblock-title_normal{border-top:1px solid #4b2420}html.dark-mode .swagger-ui .opblock.opblock-patch{background:#11282f;border-color:#16494b}html.dark-mode .swagger-ui .opblock.opblock-patch thead tr td,html.dark-mode .swagger-ui .opblock.opblock-patch thead tr th{border-color:#16494b;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-section-header{background:#113239;border-bottom:1px solid #16494b;border-top:1px solid #16494b}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#03b7bf}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-summary{border-bottom:none;border-color:#16494b}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#03b7bf;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-patch .opblock-body>.opblock-title_normal{border-top:1px solid #16494b}html.dark-mode .swagger-ui .opblock.opblock-head{background:#282231;border-color:#44336a}html.dark-mode .swagger-ui .opblock.opblock-head thead tr td,html.dark-mode .swagger-ui .opblock.opblock-head thead tr th{border-color:#44336a;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-section-header{background:#352c45;border-bottom:1px solid #44336a;border-top:1px solid #44336a}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#b889ff}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-summary{border-bottom:none;border-color:#44336a}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-summary-method{background:#b889ff;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-head .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-head .opblock-body>.opblock-title_normal{border-top:1px solid #44336a}html.dark-mode .swagger-ui .opblock.opblock-options{background:#202c3c;border-color:#33465e}html.dark-mode .swagger-ui .opblock.opblock-options thead tr td,html.dark-mode .swagger-ui .opblock.opblock-options thead tr th{border-color:#33465e;opacity:1}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-section-header{background:#314558;border-bottom:1px solid #33465e;border-top:1px solid #33465e}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-section-header .tab-header .tab-item .opblock-title span:after{background:#6895c8}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-summary{border-bottom:none;border-color:#33465e}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-summary-control:focus{outline:none}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-summary-method{background:#6895c8;color:#080a0b;text-shadow:none}html.dark-mode .swagger-ui .opblock.opblock-options .opblock-body>.opblock-description-wrapper,html.dark-mode .swagger-ui .opblock.opblock-options .opblock-body>.opblock-title_normal{border-top:1px solid #33465e}html.dark-mode .swagger-ui .opblock .opblock-section-header{box-shadow:none}html.dark-mode .swagger-ui .opblock .opblock-section-header h4,html.dark-mode .swagger-ui .opblock .opblock-section-header label{color:#e4e6e6}html.dark-mode .swagger-ui .opblock .opblock-section-header .try-out__btn{border-color:#b7bcbf;box-shadow:none;color:#e4e6e6}html.dark-mode .swagger-ui .opblock .opblock-section-header .try-out__btn.cancel{border-color:#ff5f5f;color:#ff5f5f}html.dark-mode .swagger-ui .opblock .btn.json-schema-form-item-add,html.dark-mode .swagger-ui .opblock .btn.json-schema-form-item-remove{border-color:#e4e6e6;color:#e4e6e6}html.dark-mode .swagger-ui .opblock .validation-errors.errors-wrapper{background:#434b4f;border-color:#ff5f5f;color:#e4e6e6}html.dark-mode .swagger-ui .opblock .body-param-options label span,html.dark-mode .swagger-ui .opblock .opblock-description-wrapper i,html.dark-mode .swagger-ui .opblock .opblock-description-wrapper p,html.dark-mode .swagger-ui .opblock .opblock-external-docs-wrapper,html.dark-mode .swagger-ui .opblock .opblock-summary-description,html.dark-mode .swagger-ui .opblock .opblock-summary-operation-id,html.dark-mode .swagger-ui .opblock .opblock-summary-path,html.dark-mode .swagger-ui .opblock .opblock-summary-path__deprecated,html.dark-mode .swagger-ui .opblock .opblock-title_normal,html.dark-mode .swagger-ui .opblock .parameter__in,html.dark-mode .swagger-ui .opblock .parameter__name,html.dark-mode .swagger-ui .opblock .parameter__type,html.dark-mode .swagger-ui .opblock .parameter__type .prop-format,html.dark-mode .swagger-ui .opblock .response-col_links,html.dark-mode .swagger-ui .opblock .response-col_status,html.dark-mode .swagger-ui .opblock .response-col_undocumented{color:#e4e6e6}html.dark-mode .swagger-ui .opblock .opblock-external-docs a.link{color:#51a8ff}html.dark-mode .swagger-ui .opblock .parameter__name.required span,html.dark-mode .swagger-ui .opblock .parameter__name.required:after{color:#ff5f5f}html.dark-mode .swagger-ui .opblock .parameter__empty_value_toggle{color:#e4e6e6}html.dark-mode .swagger-ui .opblock .btn.execute{background:#51a8ff;border-color:#51a8ff;color:#080a0b}html.dark-mode .swagger-ui .opblock .btn.btn-clear{border-color:#e4e6e6;color:#e4e6e6}html.dark-mode .swagger-ui .opblock .highlight-code pre.microlight{background:#2a2e30!important;color:#f0f1f1}html.dark-mode .swagger-ui .opblock .curl-command .btn{background:#3b424d!important;border-color:#2a2e30!important;color:#ebebeb!important}html.dark-mode .swagger-ui .opblock .curl-command .btn.active{background:#2a2e30!important;color:#e4e6e6!important}html.dark-mode .swagger-ui .opblock pre.microlight{background:#2a2e30!important;color:#f0f1f1}html.dark-mode .swagger-ui .opblock .model-example .tab button{color:#e4e6e6}html.dark-mode .swagger-ui .opblock .model-example .tabitem:after{background:#6b757a}html.dark-mode .swagger-ui .opblock .responses-inner h4,html.dark-mode .swagger-ui .opblock .responses-inner h5{color:#e4e6e6}html.dark-mode .swagger-ui .opblock .response-control-media-type--accept-controller select.content-type{border-color:#4ac966}html.dark-mode .swagger-ui .opblock .response-control-media-type--accept-controller .response-control-media-type__accept-message{color:#4ac966}html.dark-mode .swagger-ui .model-toggle:after{background:url(\"data:image/svg+xml;charset=utf-8,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"24\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\"><path fill=\\\"%23e4e6e6\\\" d=\\\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\\\"/></svg>\") 50% no-repeat;background-size:100%}html.dark-mode .swagger-ui .model .prop-type{color:#b68ae1}html.dark-mode .swagger-ui .model .brace-close,html.dark-mode .swagger-ui .model .brace-open,html.dark-mode .swagger-ui .model .description,html.dark-mode .swagger-ui .model .prop-format,html.dark-mode .swagger-ui .model .property,html.dark-mode .swagger-ui .model .property-row{color:#e4e6e6}html.dark-mode .swagger-ui .model .property-row.required .star{color:#ff5f5f}html.dark-mode .swagger-ui .model-box{background:#2a2e30}html.dark-mode .swagger-ui .model-box .model,html.dark-mode .swagger-ui .model-box .model-title{color:#e4e6e6}html.dark-mode .swagger-ui .model-box-control:focus{outline:none}html.dark-mode .swagger-ui .model-box-control:not(.prop){color:#e4e6e6}html.dark-mode .swagger-ui .json-schema-2020-12,html.dark-mode .swagger-ui .json-schema-2020-12 button{background:#2a2e30}html.dark-mode .swagger-ui .json-schema-2020-12 button svg{fill:#e4e6e6}html.dark-mode .swagger-ui .json-schema-2020-12 a{color:#51a8ff}html.dark-mode .swagger-ui .json-schema-2020-12__title{color:#e4e6e6}html.dark-mode .swagger-ui .json-schema-2020-12-property--required>.json-schema-2020-12:first-of-type>.json-schema-2020-12-head .json-schema-2020-12__title:after{color:#ff5f5f}html.dark-mode .swagger-ui .json-schema-2020-12-expand-deep-button{color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12-body{border-color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12-keyword__name--primary{color:#e4e6e6}html.dark-mode .swagger-ui .json-schema-2020-12-keyword__name--secondary,html.dark-mode .swagger-ui .json-schema-2020-12-keyword__value--secondary{color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12-keyword__value--warning{border-color:#ff5f5f;color:#ff5f5f}html.dark-mode .swagger-ui .json-schema-2020-12-keyword--\\$vocabulary ul{border-color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:after,html.dark-mode .swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:before,html.dark-mode .swagger-ui .json-schema-2020-12__attribute--primary{color:#9898ff}html.dark-mode .swagger-ui .json-schema-2020-12__attribute--muted{color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12__attribute--warning{color:#ff5f5f}html.dark-mode .swagger-ui .json-schema-2020-12-json-viewer__name--secondary,html.dark-mode .swagger-ui .json-schema-2020-12-json-viewer__value--secondary{color:#b7bcbf}html.dark-mode .swagger-ui .json-schema-2020-12__constraint{background:#9898ff;color:#080a0b}html.dark-mode .swagger-ui .json-schema-2020-12__constraint--string{background:#d4aa53}html.dark-mode .swagger-ui section.models,html.dark-mode .swagger-ui section.models h4{border-color:#545d61}html.dark-mode .swagger-ui section.models h4 span{color:#e4e6e6}html.dark-mode .swagger-ui section.models .model-container{background:#2a2e30}html.dark-mode .swagger-ui section.models .models-control:focus{outline:none}html.dark-mode .swagger-ui section.models .models-control svg{fill:#b7bcbf}\n\n/*# sourceMappingURL=swagger-ui.css.map*/"
  },
  {
    "path": "ninja/streaming.py",
    "content": "import json\nfrom typing import Any, Dict\n\nfrom ninja.responses import NinjaJSONEncoder\n\n__all__ = [\"StreamFormat\", \"SSE\", \"JSONL\"]\n\n\ndef _serialize_item(item: Any) -> str:\n    return json.dumps(item, cls=NinjaJSONEncoder)\n\n\nclass _StreamAlias:\n    \"\"\"Marker created by StreamFormat[ItemType].\"\"\"\n\n    def __init__(self, format_cls: type, item_type: type) -> None:\n        self.format_cls = format_cls\n        self.item_type = item_type\n\n\nclass StreamFormat:\n    \"\"\"Base class for streaming formats. Extensible by users.\"\"\"\n\n    media_type: str\n\n    def __class_getitem__(cls, item_type: type) -> \"_StreamAlias\":\n        return _StreamAlias(cls, item_type)\n\n    @classmethod\n    def format_chunk(cls, data: str) -> str:\n        \"\"\"Format a serialized JSON string for this stream.\"\"\"\n        raise NotImplementedError  # pragma: no cover\n\n    @classmethod\n    def openapi_content_schema(cls, item_schema: dict) -> dict:\n        \"\"\"Generate OpenAPI content dict for this format.\"\"\"\n        return {cls.media_type: {\"schema\": item_schema}}\n\n    @classmethod\n    def response_headers(cls) -> Dict[str, str]:\n        \"\"\"Extra headers for the streaming response.\"\"\"\n        return {}\n\n\nclass JSONL(StreamFormat):\n    media_type = \"application/jsonl\"\n\n    @classmethod\n    def format_chunk(cls, data: str) -> str:\n        return data + \"\\n\"\n\n\nclass SSE(StreamFormat):\n    media_type = \"text/event-stream\"\n\n    @classmethod\n    def format_chunk(cls, data: str) -> str:\n        return f\"data: {data}\\n\\n\"\n\n    @classmethod\n    def response_headers(cls) -> Dict[str, str]:\n        return {\"Cache-Control\": \"no-cache\", \"X-Accel-Buffering\": \"no\"}\n\n    @classmethod\n    def openapi_content_schema(cls, item_schema: dict) -> dict:\n        return {\n            cls.media_type: {\n                \"schema\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"data\": item_schema,\n                    },\n                    \"description\": \"SSE event with JSON data payload\",\n                }\n            }\n        }\n"
  },
  {
    "path": "ninja/templates/ninja/favicons.html",
    "content": "{% load static %}\n\n{% block favicons %}\n    <link rel=\"icon\" href=\"{% static 'ninja/favicon.svg' %}\" type=\"image/svg+xml\">\n    <link rel=\"icon\" href=\"{% static 'ninja/favicon.png' %}\" type=\"image/png\">\n{% endblock %}"
  },
  {
    "path": "ninja/templates/ninja/redoc.html",
    "content": "{% load static %}\n<!DOCTYPE html>\n<html>\n<head>\n    {% include \"ninja/favicons.html\" %}\n    <title>{{ api.title }}</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <style>\n        body {\n            margin: 0px;\n        }\n    </style>\n</head>\n<body>\n    <div id=\"redoc-ui\"></div>\n\n    <script src=\"{% static 'ninja/redoc.standalone.js' %}\"></script>\n    <script type=\"application/json\" id=\"redoc-settings\">\n        {{ redoc_settings | safe }}\n    </script>\n    <script>\n        const configJson = document.getElementById(\"redoc-settings\").textContent;\n        const configObject = JSON.parse(configJson);\n        const element = document.getElementById('redoc-ui');\n        Redoc.init('{{ openapi_json_url }}', configObject, element);\n    </script>\n</body>\n</html>\n"
  },
  {
    "path": "ninja/templates/ninja/redoc_cdn.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <link rel=\"icon\" href=\"https://django-ninja.dev/img/favicon.svg\" type=\"image/svg+xml\">\n    <link rel=\"icon\" href=\"https://django-ninja.dev/img/favicon.png\" type=\"image/png\">\n    <title>{{ api.title }}</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <style>\n        body {\n            margin: 0px;\n        }\n    </style>\n</head>\n<body>\n    <div id=\"redoc-ui\"></div>\n\n    <script src=\"https://cdn.jsdelivr.net/npm/redoc@2/bundles/redoc.standalone.js\"></script>\n    <script type=\"application/json\" id=\"redoc-settings\">\n        {{ redoc_settings | safe }}\n    </script>\n    <script>\n        const configJson = document.getElementById(\"redoc-settings\").textContent;\n        const configObject = JSON.parse(configJson);\n        const element = document.getElementById('redoc-ui');\n        Redoc.init('{{ openapi_json_url }}', configObject, element);\n    </script>\n</body>\n</html>\n"
  },
  {
    "path": "ninja/templates/ninja/swagger.html",
    "content": "{% load static %}\n<!DOCTYPE html>\n<html>\n<head>\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"{% static 'ninja/swagger-ui.css' %}\">\n    {% include \"ninja/favicons.html\" %}\n    <title>{{ api.title }}</title>\n</head>\n<body\n    data-csrf-token=\"{% if add_csrf %}{{ csrf_token }}{% endif %}\"\n    data-api-csrf=\"{% if add_csrf %}true{% endif %}\">\n\n    <script type=\"application/json\" id=\"swagger-settings\">\n        {{ swagger_settings | safe }}\n    </script>\n    \n    <div id=\"swagger-ui\"></div>\n\n    <script src=\"{% static 'ninja/swagger-ui-bundle.js' %}\"></script>\n    <script src=\"{% static 'ninja/swagger-ui-init.js' %}\"></script>\n\n</body>\n</html>\n"
  },
  {
    "path": "ninja/templates/ninja/swagger_cdn.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n    <link type=\"text/css\" rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css\">\n    <link rel=\"icon\" href=\"https://django-ninja.dev/img/favicon.svg\" type=\"image/svg+xml\">\n    <link rel=\"icon\" href=\"https://django-ninja.dev/img/favicon.png\" type=\"image/png\">\n    <title>{{ api.title }}</title>\n</head>\n<body>\n    <div id=\"swagger-ui\">\n    </div>\n\n    <script src=\"https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js\"></script>\n    <script type=\"application/json\" id=\"swagger-settings\">\n        {{ swagger_settings | safe }}\n    </script>\n    <script>\n\n        const configJson = document.getElementById(\"swagger-settings\").textContent;\n        const configObject = JSON.parse(configJson);\n\n        configObject.dom_id = \"#swagger-ui\";\n        configObject.presets = [\n            SwaggerUIBundle.presets.apis,\n            SwaggerUIBundle.SwaggerUIStandalonePreset\n        ];\n    {% if add_csrf %}\n        configObject.requestInterceptor = (req) => {\n            req.headers['X-CSRFToken'] = \"{{csrf_token}}\";\n            return req;\n        };\n    {% endif %}\n\n        const ui = SwaggerUIBundle(configObject);\n\n    </script>\n</body>\n</html>\n"
  },
  {
    "path": "ninja/testing/__init__.py",
    "content": "from ninja.testing.client import TestAsyncClient, TestClient\n\n__all__ = [\"TestClient\", \"TestAsyncClient\"]\n"
  },
  {
    "path": "ninja/testing/client.py",
    "content": "import inspect\nfrom json import dumps as json_dumps\nfrom json import loads as json_loads\nfrom typing import Any, Callable, Dict, List, Optional, Tuple, Union\nfrom unittest.mock import Mock\nfrom urllib.parse import urljoin\n\nfrom django.http import QueryDict, StreamingHttpResponse\nfrom django.http.request import HttpHeaders, HttpRequest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.responses import NinjaJSONEncoder\nfrom ninja.responses import Response as HttpResponse\n\n\ndef build_absolute_uri(location: Optional[str] = None) -> str:\n    base = \"http://testlocation/\"\n\n    if location:\n        base = urljoin(base, location)\n\n    return base\n\n\n# TODO: this should be changed\n# maybe add here urlconf object and add urls from here\nclass NinjaClientBase:\n    __test__ = False  # <- skip pytest\n\n    def __init__(\n        self,\n        router_or_app: Union[NinjaAPI, Router],\n        headers: Optional[Dict[str, str]] = None,\n        COOKIES: Optional[Dict[str, str]] = None,\n    ) -> None:\n        self.headers = headers or {}\n        self.cookies = COOKIES or {}\n        self.router_or_app = router_or_app\n\n    def get(\n        self, path: str, data: Optional[Dict] = None, **request_params: Any\n    ) -> \"NinjaResponse\":\n        return self.request(\"GET\", path, data, **request_params)\n\n    def post(\n        self,\n        path: str,\n        data: Optional[Dict] = None,\n        json: Any = None,\n        **request_params: Any,\n    ) -> \"NinjaResponse\":\n        return self.request(\"POST\", path, data, json, **request_params)\n\n    def patch(\n        self,\n        path: str,\n        data: Optional[Dict] = None,\n        json: Any = None,\n        **request_params: Any,\n    ) -> \"NinjaResponse\":\n        return self.request(\"PATCH\", path, data, json, **request_params)\n\n    def put(\n        self,\n        path: str,\n        data: Optional[Dict] = None,\n        json: Any = None,\n        **request_params: Any,\n    ) -> \"NinjaResponse\":\n        return self.request(\"PUT\", path, data, json, **request_params)\n\n    def delete(\n        self,\n        path: str,\n        data: Optional[Dict] = None,\n        json: Any = None,\n        **request_params: Any,\n    ) -> \"NinjaResponse\":\n        return self.request(\"DELETE\", path, data, json, **request_params)\n\n    def request(\n        self,\n        method: str,\n        path: str,\n        data: Optional[Dict] = None,\n        json: Any = None,\n        **request_params: Any,\n    ) -> \"NinjaResponse\":\n        if json is not None:\n            request_params[\"body\"] = json_dumps(json, cls=NinjaJSONEncoder)\n        if data is None:\n            data = {}\n        if self.headers or request_params.get(\"headers\"):\n            request_params[\"headers\"] = {\n                **self.headers,\n                **request_params.get(\"headers\", {}),\n            }\n        if self.cookies or request_params.get(\"COOKIES\"):\n            request_params[\"COOKIES\"] = {\n                **self.cookies,\n                **request_params.get(\"COOKIES\", {}),\n            }\n        func, request, kwargs = self._resolve(method, path, data, request_params)\n        return self._call(func, request, kwargs)  # type: ignore\n\n    @property\n    def urls(self) -> List:\n        if not hasattr(self, \"_urls_cache\"):\n            self._urls_cache: List\n            if isinstance(self.router_or_app, NinjaAPI):\n                self._urls_cache = self.router_or_app.urls[0]\n            else:\n                # Create temporary API without mutating router\n                # Unique namespace prevents registry conflicts\n                api = NinjaAPI(urls_namespace=f\"test-{id(self)}\")\n                api.add_router(\"\", self.router_or_app)\n                self._urls_cache = api.urls[0]\n        return self._urls_cache\n\n    def _resolve(\n        self, method: str, path: str, data: Dict, request_params: Any\n    ) -> Tuple[Callable, Mock, Dict]:\n        url_path = path.split(\"?\")[0].lstrip(\"/\")\n        for url in self.urls:\n            match = url.resolve(url_path)\n            if match:\n                request = self._build_request(method, path, data, request_params)\n                return match.func, request, match.kwargs\n        raise Exception(f'Cannot resolve \"{path}\"')\n\n    def _build_request(\n        self, method: str, path: str, data: Dict, request_params: Any\n    ) -> Mock:\n        request = Mock(spec=HttpRequest)\n        request.method = method\n        request.path = path\n        request.body = \"\"\n        request.COOKIES = {}\n        request._dont_enforce_csrf_checks = True\n        request.is_secure.return_value = False\n        request.build_absolute_uri = build_absolute_uri\n\n        request.auth = None\n        request.user = Mock()\n        if \"user\" not in request_params:\n            request.user.is_authenticated = False\n            request.user.is_staff = False\n            request.user.is_superuser = False\n\n        request.META = request_params.pop(\"META\", {\"REMOTE_ADDR\": \"127.0.0.1\"})\n        request.FILES = request_params.pop(\"FILES\", {})\n\n        request.META.update({\n            f\"HTTP_{k.replace('-', '_')}\": v\n            for k, v in request_params.pop(\"headers\", {}).items()\n        })\n\n        request.headers = HttpHeaders(request.META)\n\n        if isinstance(data, QueryDict):\n            request.POST = data\n        else:\n            request.POST = QueryDict(mutable=True)\n\n            if isinstance(data, (str, bytes)):\n                request_params[\"body\"] = data\n            elif data:\n                for k, v in data.items():\n                    request.POST[k] = v\n\n        if \"?\" in path:\n            request.GET = QueryDict(path.split(\"?\")[1])\n        else:\n            query_params = request_params.pop(\"query_params\", None)\n            if query_params:\n                query_dict = QueryDict(mutable=True)\n                for k, v in query_params.items():\n                    if isinstance(v, list):\n                        for item in v:\n                            query_dict.appendlist(k, item)\n                    else:\n                        query_dict[k] = v\n                request.GET = query_dict\n            else:\n                request.GET = QueryDict()\n\n        for k, v in request_params.items():\n            setattr(request, k, v)\n        return request\n\n\nclass TestClient(NinjaClientBase):\n    def _call(self, func: Callable, request: Mock, kwargs: Dict) -> \"NinjaResponse\":\n        return NinjaResponse(func(request, **kwargs))\n\n\nclass TestAsyncClient(NinjaClientBase):\n    async def _call(\n        self, func: Callable, request: Mock, kwargs: Dict\n    ) -> \"NinjaResponse\":\n        http_response = await func(request, **kwargs)\n        if http_response.streaming and inspect.isasyncgen(\n            http_response.streaming_content\n        ):\n            # Async streaming: consume async iterator into bytes\n            chunks = []\n            async for chunk in http_response.streaming_content:\n                chunks.append(\n                    chunk.encode(\"utf-8\") if isinstance(chunk, str) else chunk\n                )\n            # Replace with sync content for NinjaResponse\n            http_response.streaming_content = iter(chunks)\n        return NinjaResponse(http_response)\n\n\nclass NinjaResponse:\n    def __init__(self, http_response: Union[HttpResponse, StreamingHttpResponse]):\n        self._response = http_response\n        self.status_code = http_response.status_code\n        self.streaming = http_response.streaming\n        if self.streaming:\n            assert isinstance(http_response, StreamingHttpResponse)\n            self.content = b\"\".join(\n                chunk.encode(\"utf-8\") if isinstance(chunk, str) else chunk\n                for chunk in http_response.streaming_content  # type: ignore[union-attr]\n            )\n        else:\n            self.content = http_response.content\n        self._data = None\n\n    def json(self) -> Any:\n        return json_loads(self.content)\n\n    @property\n    def data(self) -> Any:\n        if self._data is None:  # Recomputes if json() is None but cheap then\n            self._data = self.json()\n        return self._data\n\n    def __getitem__(self, key: str) -> Any:\n        return self._response[key]\n\n    def __getattr__(self, attr: str) -> Any:\n        return getattr(self._response, attr)\n"
  },
  {
    "path": "ninja/throttling.py",
    "content": "import hashlib\nimport time\nfrom typing import Dict, List, Optional, Tuple\n\nfrom django.core.cache import cache as default_cache\nfrom django.core.exceptions import ImproperlyConfigured\nfrom django.http import HttpRequest\n\n\nclass BaseThrottle:\n    \"\"\"\n    Rate throttling of requests.\n    \"\"\"\n\n    def allow_request(self, request: HttpRequest) -> bool:\n        \"\"\"\n        Return `True` if the request should be allowed, `False` otherwise.\n        \"\"\"\n        raise NotImplementedError(\".allow_request() must be overridden\")\n\n    def get_ident(self, request: HttpRequest) -> Optional[str]:\n        \"\"\"\n        Identify the machine making the request by parsing HTTP_X_FORWARDED_FOR\n        if present and number of proxies is > 0. If not use all of\n        HTTP_X_FORWARDED_FOR if it is available, if not use REMOTE_ADDR.\n        \"\"\"\n        from ninja.conf import settings\n\n        xff = request.META.get(\"HTTP_X_FORWARDED_FOR\")\n        remote_addr = request.META.get(\"REMOTE_ADDR\")\n        num_proxies = settings.NUM_PROXIES\n\n        if num_proxies is not None:\n            if num_proxies == 0 or xff is None:\n                return remote_addr\n            addrs: List[str] = xff.split(\",\")\n            client_addr = addrs[-min(num_proxies, len(addrs))]\n            return client_addr.strip()\n\n        return \"\".join(xff.split()) if xff else remote_addr\n\n    def wait(self) -> Optional[float]:\n        \"\"\"\n        Optionally, return a recommended number of seconds to wait before\n        the next request.\n        \"\"\"\n        return None\n\n\nclass SimpleRateThrottle(BaseThrottle):\n    \"\"\"\n    A simple cache implementation, that only requires `.get_cache_key()`\n    to be overridden.\n\n    The rate (requests / seconds) is set by a `rate` attribute on the Throttle\n    class.  The attribute is a string of the form 'number_of_requests/period'.\n\n    Period should be one of: ('s', 'sec', 'm', 'min', 'h', 'hour', 'd', 'day')\n\n    Previous request information used for throttling is stored in the cache.\n    \"\"\"\n\n    from ninja.conf import settings\n\n    cache = default_cache\n    timer = time.time\n    cache_format = \"throttle_%(scope)s_%(ident)s\"\n    scope: Optional[str] = None\n    THROTTLE_RATES: Dict[str, Optional[str]] = settings.DEFAULT_THROTTLE_RATES\n    _PERIODS = {\n        \"s\": 1,\n        \"m\": 60,\n        \"h\": 60 * 60,\n        \"d\": 60 * 60 * 24,\n        \"sec\": 1,\n        \"min\": 60,\n        \"hour\": 60 * 60,\n        \"day\": 60 * 60 * 24,\n    }\n\n    def __init__(self, rate: Optional[str] = None):\n        self.rate: Optional[str]\n        if rate:\n            self.rate = rate\n        else:\n            self.rate = self.get_rate()\n        self.num_requests, self.duration = self.parse_rate(self.rate)\n\n    def get_cache_key(self, request: HttpRequest) -> Optional[str]:\n        \"\"\"\n        Should return a unique cache-key which can be used for throttling.\n        Must be overridden.\n\n        May return `None` if the request should not be throttled.\n        \"\"\"\n        raise NotImplementedError(\".get_cache_key() must be overridden\")\n\n    def get_rate(self) -> Optional[str]:\n        \"\"\"\n        Determine the string representation of the allowed request rate.\n        \"\"\"\n        if not getattr(self, \"scope\", None):\n            msg = f\"You must set either `.scope` or `.rate` for '{self.__class__.__name__}' throttle\"\n            raise ImproperlyConfigured(msg)\n\n        try:\n            return self.THROTTLE_RATES[self.scope]  # type: ignore\n        except KeyError:\n            msg = f\"No default throttle rate set for '{self.scope}' scope\"\n            raise ImproperlyConfigured(msg) from None\n\n    def parse_rate(self, rate: Optional[str]) -> Tuple[Optional[int], Optional[int]]:\n        \"\"\"\n        Given the request rate string, return a two tuple of:\n        <allowed number of requests>, <period of time in seconds>\n        \"\"\"\n        if rate is None:\n            return (None, None)\n\n        try:\n            count, rest = rate.split(\"/\", 1)\n\n            for unit in self._PERIODS:\n                if rest.endswith(unit):\n                    multi = int(rest[: -len(unit)]) if rest[: -len(unit)] else 1\n                    period = self._PERIODS[unit]\n                    break\n            else:\n                multi, period = int(rest), 1\n\n            return int(count), multi * period\n\n        except (ValueError, IndexError):\n            raise ValueError(f\"Invalid rate format: {rate}\") from None\n\n    def allow_request(self, request: HttpRequest) -> bool:\n        \"\"\"\n        Implement the check to see if the request should be throttled.\n\n        On success calls `throttle_success`.\n        On failure calls `throttle_failure`.\n        \"\"\"\n        # if self.rate is None:\n        #     return True\n\n        self.key = self.get_cache_key(request)\n        if self.key is None:\n            return True\n\n        self.history = self.cache.get(self.key, [])\n        self.now = self.timer()  # type: ignore\n\n        # Drop any requests from the history which have now passed the\n        # throttle duration\n        while self.history and self.history[-1] <= self.now - self.duration:  # type: ignore\n            self.history.pop()\n        if len(self.history) >= self.num_requests:  # type: ignore\n            return self.throttle_failure()\n        return self.throttle_success()\n\n    def throttle_success(self) -> bool:\n        \"\"\"\n        Inserts the current request's timestamp along with the key\n        into the cache.\n        \"\"\"\n        self.history.insert(0, self.now)\n        self.cache.set(self.key, self.history, self.duration)\n        return True\n\n    def throttle_failure(self) -> bool:\n        \"\"\"\n        Called when a request to the API has failed due to throttling.\n        \"\"\"\n        return False\n\n    def wait(self) -> Optional[float]:\n        \"\"\"\n        Returns the recommended next request time in seconds.\n        \"\"\"\n        if self.history:\n            remaining_duration = self.duration - (self.now - self.history[-1])\n        else:\n            remaining_duration = self.duration\n\n        available_requests = self.num_requests - len(self.history) + 1  # type: ignore\n        if available_requests <= 0:\n            return None\n\n        return remaining_duration / float(available_requests)  # type: ignore\n\n\nclass AnonRateThrottle(SimpleRateThrottle):\n    \"\"\"\n    Limits the rate of API calls that may be made by a anonymous users.\n\n    The IP address of the request will be used as the unique cache key.\n    \"\"\"\n\n    scope = \"anon\"\n\n    def get_cache_key(self, request: HttpRequest) -> Optional[str]:\n        if getattr(request, \"auth\", None) is not None:\n            return None  # Only throttle unauthenticated requests.\n\n        return self.cache_format % {\n            \"scope\": self.scope,\n            \"ident\": self.get_ident(request),\n        }\n\n\nclass AuthRateThrottle(SimpleRateThrottle):\n    \"\"\"\n    Limits the rate of API calls that may be made by a given user.\n\n    The string representation of request.auth object will be used as a unique cache key.\n    If you use custom auth objects make sure to implement __str__ method.\n    For anonymous requests, the IP address of the request will be used.\n    \"\"\"\n\n    scope = \"auth\"\n\n    def get_cache_key(self, request: HttpRequest) -> str:\n        if getattr(request, \"auth\", None) is not None:\n            ident = hashlib.sha256(str(request.auth).encode()).hexdigest()  # type: ignore\n            # TODO: ^maybe auth should have an attribute that developer can overwrite\n        else:\n            ident = self.get_ident(request)  # type: ignore\n\n        return self.cache_format % {\"scope\": self.scope, \"ident\": ident}\n\n\nclass UserRateThrottle(SimpleRateThrottle):\n    \"\"\"\n    Limits the rate of API calls that may be made by a given user.\n\n    The user id will be used as a unique cache key if the user is\n    authenticated.  For anonymous requests, the IP address of the request will\n    be used.\n    \"\"\"\n\n    scope = \"user\"\n\n    def get_cache_key(self, request: HttpRequest) -> str:\n        if request.user and request.user.is_authenticated:\n            ident = request.user.pk\n        else:\n            ident = self.get_ident(request)\n\n        return self.cache_format % {\"scope\": self.scope, \"ident\": ident}\n"
  },
  {
    "path": "ninja/types.py",
    "content": "from typing import Any, Callable, Dict, TypeVar\n\n__all__ = [\"DictStrAny\", \"TCallable\"]\n\nDictStrAny = Dict[str, Any]\n\nTCallable = TypeVar(\"TCallable\", bound=Callable[..., Any])\n\n\n# unfortunately this doesn't work yet, see\n# https://github.com/python/mypy/issues/3924\n# Decorator = Callable[[TCallable], TCallable]\n"
  },
  {
    "path": "ninja/utils.py",
    "content": "import inspect\nfrom typing import Any, Callable, Optional, Type\n\nfrom django.http import HttpRequest, HttpResponseForbidden\nfrom django.middleware.csrf import CsrfViewMiddleware\n\n__all__ = [\n    \"check_csrf\",\n    \"normalize_path\",\n    \"contribute_operation_callback\",\n]\n\n\ndef replace_path_param_notation(path: str) -> str:\n    return path.replace(\"{\", \"<\").replace(\"}\", \">\")\n\n\ndef normalize_path(path: str) -> str:\n    while \"//\" in path:\n        path = path.replace(\"//\", \"/\")\n    return path\n\n\ndef _no_view() -> None:\n    pass  # pragma: no cover\n\n\ndef check_csrf(\n    request: HttpRequest, callback: Callable = _no_view\n) -> Optional[HttpResponseForbidden]:\n    mware = CsrfViewMiddleware(lambda x: HttpResponseForbidden())  # pragma: no cover\n    request.csrf_processing_done = False  # type: ignore\n    mware.process_request(request)\n    return mware.process_view(request, callback, (), {})\n\n\ndef is_async_callable(f: Callable[..., Any]) -> bool:\n    return inspect.iscoroutinefunction(f) or inspect.iscoroutinefunction(\n        getattr(f, \"__call__\", None)\n    )\n\n\ndef is_optional_type(t: Type[Any]) -> bool:\n    try:\n        return type(None) in t.__args__\n    except AttributeError:\n        return False\n\n\ndef contribute_operation_callback(\n    func: Callable[..., Any], callback: Callable[..., Any]\n) -> None:\n    if not hasattr(func, \"_ninja_contribute_to_operation\"):\n        func._ninja_contribute_to_operation = []  # type: ignore\n    func._ninja_contribute_to_operation.append(callback)  # type: ignore\n\n\ndef contribute_operation_args(\n    func: Callable[..., Any], arg_name: str, arg_type: Type, arg_source: Any\n) -> None:\n    if not hasattr(func, \"_ninja_contribute_args\"):\n        func._ninja_contribute_args = []  # type: ignore\n    func._ninja_contribute_args.append((arg_name, arg_type, arg_source))  # type: ignore\n"
  },
  {
    "path": "pyproject.toml",
    "content": "[build-system]\nrequires = [\"flit_core >=2,<4\"]\nbuild-backend = \"flit_core.buildapi\"\n\n[tool.flit.metadata]\nmodule = \"ninja\"\ndist-name = \"django-ninja\"\nauthor = \"Vitaliy Kucheryaviy\"\nauthor-email = \"ppr.vitaly@gmail.com\"\nhome-page = \"https://django-ninja.dev\"\nclassifiers = [\n    \"Intended Audience :: Information Technology\",\n    \"Intended Audience :: System Administrators\",\n    \"Operating System :: OS Independent\",\n    \"Development Status :: 5 - Production/Stable\",\n    \"Topic :: Internet\",\n    \"Topic :: Software Development :: Libraries :: Application Frameworks\",\n    \"Topic :: Software Development :: Libraries :: Python Modules\",\n    \"Topic :: Software Development :: Libraries\",\n    \"Topic :: Software Development\",\n    \"Typing :: Typed\",\n    \"Environment :: Web Environment\",\n    \"Intended Audience :: Developers\",\n    \"License :: OSI Approved :: MIT License\",\n    \"Programming Language :: Python :: 3\",\n    \"Programming Language :: Python :: 3.7\",\n    \"Programming Language :: Python :: 3.8\",\n    \"Programming Language :: Python :: 3.9\",\n    \"Programming Language :: Python :: 3.10\",\n    \"Programming Language :: Python :: 3.11\",\n    \"Programming Language :: Python :: 3.12\",\n    \"Programming Language :: Python :: 3.13\",\n    \"Programming Language :: Python :: 3.14\",\n    \"Programming Language :: Python :: 3 :: Only\",\n    \"Framework :: Django\",\n    \"Framework :: Django :: 3.1\",\n    \"Framework :: Django :: 3.2\",\n    \"Framework :: Django :: 4.1\",\n    \"Framework :: Django :: 4.2\",\n    \"Framework :: Django :: 5.0\",\n    \"Framework :: Django :: 5.1\",\n    \"Framework :: Django :: 5.2\",\n    \"Framework :: Django :: 6.0\",\n    \"Framework :: AsyncIO\",\n    \"Topic :: Internet :: WWW/HTTP :: HTTP Servers\",\n    \"Topic :: Internet :: WWW/HTTP\",\n]\n\nrequires = [\"Django >=3.1, <6.1\", \"pydantic >=2.0,<3.0.0\"]\ndescription-file = \"README.md\"\nrequires-python = \">=3.7\"\n\n\n[tool.flit.metadata.urls]\nDocumentation = \"https://django-ninja.dev\"\nRepository = \"https://github.com/vitalik/django-ninja\"\n\n\n[tool.flit.metadata.requires-extra]\ntest = [\n    \"pytest\",\n    \"pytest-cov\",\n    \"pytest-django\",\n    \"pytest-asyncio\",\n    \"psycopg2-binary\",\n    \"mypy==1.7.1\",\n    \"ruff==0.5.7\",\n    \"django-stubs\",\n]\ndoc = [\"mkdocs\", \"mkdocs-material\", \"markdown-include\", \"mkdocstrings\"]\ndev = [\"pre-commit\"]\n\n\n[tool.ruff]\ntarget-version = \"py37\"\n\n[tool.ruff.format]\npreview = true\n\n[tool.ruff.lint]\npreview = true\nselect = [\n    \"B\",    # flake8-bugbear\n    \"C\",    # flake8-comprehensions\n    \"E\",    # pycodestyle errors\n    \"F\",    # pyflakes\n    \"FURB\", # refurb\n    \"I\",    # isort\n    \"PTH\",  # flake8-use-pathlib\n    \"UP\",   # pyupgrade\n    \"W\",    # pycodestyle warnings\n]\nignore = [\n    \"E501\", # line too long, handled by black\n    \"B008\", # do not perform function calls in argument defaults\n    \"C901\", # too complex\n]\n\n[tool.ruff.lint.per-file-ignores]\n\"ninja/compatibility/datastructures.py\" = [\"C416\"]\n\"ninja/utils.py\" = [\"B004\"]\n\"tests/*\" = [\"C408\"]\n\n\n[tool.coverage.run]\nomit = [\"ninja/compatibility/*\"]\nbranch = true\n\n[tool.coverage.report]\nfail_under = 100\nskip_covered = true\nshow_missing = true\n"
  },
  {
    "path": "scripts/build-docs.sh",
    "content": "#!/usr/bin/env bash\nset -x\nset -e\n\npip install -r docs/requirements.txt\n\ncd docs\nPYTHONPATH=../ mkdocs build\n"
  },
  {
    "path": "tests/conftest.py",
    "content": "import os\nimport sys\nfrom pathlib import Path\n\nROOT = Path(__file__).parent.parent.resolve()\n\nsys.path.insert(0, str(ROOT))\nsys.path.insert(0, str(ROOT / \"tests/demo_project\"))\n\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"demo.settings\")\n\nimport django  # noqa\n\ndjango.setup()\n\n\ndef pytest_generate_tests(metafunc):\n    os.environ[\"NINJA_SKIP_REGISTRY\"] = \"yes\"\n"
  },
  {
    "path": "tests/demo_project/db.sqlite3",
    "content": ""
  },
  {
    "path": "tests/demo_project/demo/__init__.py",
    "content": ""
  },
  {
    "path": "tests/demo_project/demo/asgi.py",
    "content": "\"\"\"\nASGI config for demo project.\n\nIt exposes the ASGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.0/howto/deployment/asgi/\n\"\"\"\n\nimport os\nimport sys\n\nfrom django.core.asgi import get_asgi_application\n\nsys.path.insert(0, \"../../\")\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"demo.settings\")\n\napplication = get_asgi_application()\n"
  },
  {
    "path": "tests/demo_project/demo/settings.py",
    "content": "from pathlib import Path\n\nBASE_DIR = Path(__file__).parent.parent\n\n\nSECRET_KEY = \"NOT-SUPER-SECRET-DO-NOT-USE-ME\"\n\n\nDEBUG = True\n\nALLOWED_HOSTS = []\n\n\nINSTALLED_APPS = [\n    \"django.contrib.admin\",\n    \"django.contrib.auth\",\n    \"django.contrib.contenttypes\",\n    \"django.contrib.sessions\",\n    \"django.contrib.messages\",\n    \"django.contrib.staticfiles\",\n    \"ninja\",\n    \"someapp\",\n    \"multi_param\",\n]\n\nMIDDLEWARE = [\n    \"django.middleware.security.SecurityMiddleware\",\n    \"django.contrib.sessions.middleware.SessionMiddleware\",\n    \"django.middleware.common.CommonMiddleware\",\n    \"django.middleware.csrf.CsrfViewMiddleware\",\n    \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n    \"django.contrib.messages.middleware.MessageMiddleware\",\n    \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nROOT_URLCONF = \"demo.urls\"\n\nTEMPLATES = [\n    {\n        \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n        \"DIRS\": [],\n        \"APP_DIRS\": True,\n        \"OPTIONS\": {\n            \"context_processors\": [\n                \"django.template.context_processors.debug\",\n                \"django.template.context_processors.request\",\n                \"django.contrib.auth.context_processors.auth\",\n                \"django.contrib.messages.context_processors.messages\",\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = \"demo.wsgi.application\"\n\n\nDATABASES = {\n    \"default\": {\n        \"ENGINE\": \"django.db.backends.sqlite3\",\n        \"NAME\": BASE_DIR / \"db.sqlite3\",\n    }\n}\n\n\nLANGUAGE_CODE = \"en-us\"\n\nTIME_ZONE = \"UTC\"\n\nUSE_I18N = True\n\nUSE_TZ = True\n\n\nSTATIC_URL = \"/static/\"\n"
  },
  {
    "path": "tests/demo_project/demo/urls.py",
    "content": "from django.contrib import admin\nfrom django.urls import path\n\nfrom ninja import NinjaAPI\n\napi_v1 = NinjaAPI()\napi_v1.add_router(\"events\", \"someapp.api.router\")\n# TODO: check ^ for possible mistakes like `/events` `events/``\n\n\napi_v2 = NinjaAPI(version=\"2.0.0\")\n\n\n@api_v2.get(\"events\")\ndef newevents2(request):\n    return \"events are gone\"\n\n\napi_v3 = NinjaAPI(version=\"3.0.0\")\n\n\n@api_v3.get(\"events\")\ndef newevents3(request):\n    return \"events are gone 3\"\n\n\n@api_v3.get(\"foobar\")\ndef foobar(request):\n    return \"foobar\"\n\n\n@api_v3.post(\"foobar\")\ndef post_foobar(request):\n    return \"foobar\"\n\n\n@api_v3.put(\"foobar\", url_name=\"foobar_put\")\ndef put_foobar(request):\n    return \"foobar\"\n\n\napi_multi_param = NinjaAPI(version=\"1.0.1\")\napi_multi_param.add_router(\"\", \"multi_param.api.router\")\n\nurlpatterns = [\n    path(\"admin/\", admin.site.urls),\n    path(\"api/\", api_v1.urls),\n    path(\"api/v2/\", api_v2.urls),\n    path(\"api/v3/\", api_v3.urls),\n    path(\"api/mp/\", api_multi_param.urls),\n]\n"
  },
  {
    "path": "tests/demo_project/demo/wsgi.py",
    "content": "\"\"\"\nWSGI config for demo project.\n\nIt exposes the WSGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/\n\"\"\"\n\nimport os\nimport sys\n\nfrom django.core.wsgi import get_wsgi_application\n\nsys.path.insert(0, \"../../\")\nos.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"demo.settings\")\n\napplication = get_wsgi_application()\n"
  },
  {
    "path": "tests/demo_project/manage.py",
    "content": "#!/usr/bin/env python\n\"\"\"Django's command-line utility for administrative tasks.\"\"\"\n\nimport os\nimport sys\n\n\ndef main():\n    sys.path.insert(0, \"../../\")\n    os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"demo.settings\")\n    try:\n        from django.core.management import execute_from_command_line\n    except ImportError as exc:\n        raise ImportError(\n            \"Couldn't import Django. Are you sure it's installed and \"\n            \"available on your PYTHONPATH environment variable? Did you \"\n            \"forget to activate a virtual environment?\"\n        ) from exc\n    execute_from_command_line(sys.argv)\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "tests/demo_project/multi_param/__init__.py",
    "content": ""
  },
  {
    "path": "tests/demo_project/multi_param/api.py",
    "content": "\"\"\"Test App to use with Swagger UI and in unit tests\"\"\"\n\nfrom pydantic import ConfigDict\n\nfrom ninja import (\n    Body,\n    Cookie,\n    Field,\n    File,\n    Form,\n    Header,\n    Path,\n    Query,\n    Router,\n    Schema,\n    UploadedFile,\n)\n\nrouter = Router()\n\n\ndef to_kebab(string: str) -> str:\n    return string.replace(\"_\", \"-\")\n\n\nclass TestData4(Schema):\n    foo4: int = Field(44, title=\"Foo4 Title\", description=\"Foo4 Desc\")\n    bar4: str = \"44bar\"\n\n\nclass TestData3(Schema):\n    foo3: int = Field(..., title=\"Foo3 Title\", description=\"Foo3 Desc\")\n    bar3: str = \"33bar\"\n\n\nclass TestData2(Schema):\n    foo2: int = Field(22, title=\"Foo2 Title\", description=\"Foo2 Desc\")\n    bar2: str\n    d3: TestData3\n\n\nclass TestData(Schema):\n    foo: int\n    bar: str = \"11bar\"\n    d2: TestData2\n\n\nclass ResponseData(Schema):\n    model_config = ConfigDict(\n        alias_generator=to_kebab,\n        populate_by_name=True,\n    )\n    # fields\n    i: int\n    s: str\n    data: TestData4\n    nested_data: TestData\n\n\ntest_data4_extra = dict(title=\"Data4 Title\", description=\"Data4 Desc\")\n\n\n@router.post(\"/test-multi-query\", response=ResponseData, by_alias=True)\ndef test_multi_query(\n    request,\n    i: int = Query(...),\n    s: str = Query(\"a-str\"),\n    data: TestData4 = Query(..., **test_data4_extra),\n    nested_data: TestData = Query(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\n    \"/test-multi-path/{i}/{s}/{foo4}/{bar4}/{foo}/{bar}/{foo2}/{bar2}/{foo3}/{bar3}/\",\n    response=ResponseData,\n    by_alias=True,\n)\ndef test_multi_path(\n    request,\n    i: int = Path(...),\n    s: str = Path(\"a-str\"),\n    data: TestData4 = Path(..., **test_data4_extra),\n    nested_data: TestData = Path(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-header\", response=ResponseData, by_alias=True)\ndef test_multi_header(\n    request,\n    i: int = Header(...),\n    s: str = Header(\"a-str\"),\n    data: TestData4 = Header(..., **test_data4_extra),\n    nested_data: TestData = Header(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-cookie\", response=ResponseData, by_alias=True)\ndef test_multi_cookie(\n    request,\n    i: int = Cookie(...),\n    s: str = Cookie(\"a-str\"),\n    data: TestData4 = Cookie(..., **test_data4_extra),\n    nested_data: TestData = Cookie(..., alias=\"nested-data\"),\n):\n    \"\"\"Testing w/ Cookies requires setting the cookies by hand in the browser inspector\"\"\"\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-form\", response=ResponseData, by_alias=True)\ndef test_multi_form(\n    request,\n    i: int = Form(...),\n    s: str = Form(\"a-str\"),\n    data: TestData4 = Form(..., **test_data4_extra),\n    nested_data: TestData = Form(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-body\", response=ResponseData, by_alias=True)\ndef test_multi_body(\n    request,\n    i: int = Body(...),\n    s: str = Body(\"a-str\"),\n    data: TestData4 = Body(..., **test_data4_extra),\n    nested_data: TestData = Body(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-body-file\", response=ResponseData, by_alias=True)\ndef test_multi_body_file(\n    request,\n    file: UploadedFile,\n    i: int = Body(...),\n    s: str = Body(\"a-str\"),\n    data: TestData4 = Body(..., **test_data4_extra),\n    nested_data: TestData = Body(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-form-file\", response=ResponseData, by_alias=True)\ndef test_multi_form_file(\n    request,\n    file: UploadedFile,\n    i: int = Form(...),\n    s: str = Form(\"a-str\"),\n    data: TestData4 = Form(..., **test_data4_extra),\n    nested_data: TestData = Form(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-body-form\", response=ResponseData, by_alias=True)\ndef test_multi_body_form(\n    request,\n    i: int = Body(...),\n    s: str = Form(\"a-str\"),\n    data: TestData4 = Body(..., **test_data4_extra),\n    nested_data: TestData = Form(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-form-body\", response=ResponseData, by_alias=True)\ndef test_multi_form_body(\n    request,\n    i: int = Form(...),\n    s: str = Body(\"a-str\"),\n    data: TestData4 = Form(..., **test_data4_extra),\n    nested_data: TestData = Body(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-body-form-file\", response=ResponseData, by_alias=True)\ndef test_multi_body_form_file(\n    request,\n    file: File[UploadedFile],\n    i: int = Body(...),\n    s: str = Form(\"a-str\"),\n    data: TestData4 = Body(..., **test_data4_extra),\n    nested_data: TestData = Form(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n\n\n@router.post(\"/test-multi-form-body-file\", response=ResponseData, by_alias=True)\ndef test_multi_form_body_file(\n    request,\n    file: File[UploadedFile],\n    i: int = Form(...),\n    s: str = Body(\"a-str\"),\n    data: TestData4 = Form(..., **test_data4_extra),\n    nested_data: TestData = Body(..., alias=\"nested-data\"),\n):\n    return dict(s=s, i=i, data=data, nested_data=nested_data)\n"
  },
  {
    "path": "tests/demo_project/multi_param/asgi.py",
    "content": "\"\"\"\nASGI config for multi_param project.\n\nIt exposes the ASGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/howto/deployment/asgi/\n\"\"\"\n\nimport os\n\nfrom django.core.asgi import get_asgi_application\n\nos.environ.setdefault(\n    \"DJANGO_SETTINGS_MODULE\", \"tests.demo_project.multi_param.settings\"\n)\n\napplication = get_asgi_application()\n"
  },
  {
    "path": "tests/demo_project/multi_param/manage.py",
    "content": "#!/usr/bin/env python\n\"\"\"Django's command-line utility for administrative tasks.\"\"\"\n\nimport os\nimport sys\n\n\ndef main():\n    \"\"\"Run administrative tasks.\"\"\"\n    os.environ.setdefault(\n        \"DJANGO_SETTINGS_MODULE\", \"tests.demo_project.multi_param.settings\"\n    )\n    try:\n        from django.core.management import execute_from_command_line\n    except ImportError as exc:\n        raise ImportError(\n            \"Couldn't import Django. Are you sure it's installed and \"\n            \"available on your PYTHONPATH environment variable? Did you \"\n            \"forget to activate a virtual environment?\"\n        ) from exc\n    execute_from_command_line(sys.argv)\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "tests/demo_project/multi_param/settings.py",
    "content": "\"\"\"\nDjango settings for multi_param project.\n\nGenerated by 'django-admin startproject' using Django 3.1.13.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/topics/settings/\n\nFor the full list of settings and their values, see\nhttps://docs.djangoproject.com/en/3.1/ref/settings/\n\"\"\"\n\nfrom pathlib import Path\n\n# Build paths inside the project like this: BASE_DIR / 'subdir'.\nBASE_DIR = Path(__file__).resolve().parent.parent\n\n\n# Quick-start development settings - unsuitable for production\n# See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/\n\n# SECURITY WARNING: keep the secret key used in production secret!\nSECRET_KEY = \"NOT-SUPER-SECRET-DO-NOT-USE-ME\"\n\n# SECURITY WARNING: don't run with debug turned on in production!\nDEBUG = True\n\nALLOWED_HOSTS = []\n\n# Application definition\n\nINSTALLED_APPS = [\n    \"django.contrib.auth\",\n    \"django.contrib.contenttypes\",\n    \"django.contrib.sessions\",\n    \"django.contrib.messages\",\n    \"django.contrib.staticfiles\",\n]\n\nMIDDLEWARE = [\n    \"django.middleware.security.SecurityMiddleware\",\n    \"django.contrib.sessions.middleware.SessionMiddleware\",\n    \"django.middleware.common.CommonMiddleware\",\n    \"django.middleware.csrf.CsrfViewMiddleware\",\n    \"django.contrib.auth.middleware.AuthenticationMiddleware\",\n    \"django.contrib.messages.middleware.MessageMiddleware\",\n    \"django.middleware.clickjacking.XFrameOptionsMiddleware\",\n]\n\nROOT_URLCONF = \"tests.demo_project.multi_param.urls\"\n\nTEMPLATES = [\n    {\n        \"BACKEND\": \"django.template.backends.django.DjangoTemplates\",\n        \"DIRS\": [],\n        \"APP_DIRS\": True,\n        \"OPTIONS\": {\n            \"context_processors\": [\n                \"django.template.context_processors.debug\",\n                \"django.template.context_processors.request\",\n                \"django.contrib.auth.context_processors.auth\",\n                \"django.contrib.messages.context_processors.messages\",\n            ],\n        },\n    },\n]\n\nWSGI_APPLICATION = \"tests.demo_project.multi_param.wsgi.application\"\nDATABASES = {\"default\": {}}\nAUTH_PASSWORD_VALIDATORS = []\n\nLANGUAGE_CODE = \"en-us\"\nTIME_ZONE = \"UTC\"\nUSE_I18N = True\nUSE_TZ = False\nSTATIC_URL = \"/static/\"\n"
  },
  {
    "path": "tests/demo_project/multi_param/urls.py",
    "content": "from django.urls import path\n\nfrom ninja import NinjaAPI\n\nfrom .api import router\n\napi_multi_param = NinjaAPI(version=\"1.0.1\")\napi_multi_param.add_router(\"\", router)\n\nurlpatterns = [\n    path(\"api/\", api_multi_param.urls),\n]\n"
  },
  {
    "path": "tests/demo_project/multi_param/wsgi.py",
    "content": "\"\"\"\nWSGI config for multi_param project.\n\nIt exposes the WSGI callable as a module-level variable named ``application``.\n\nFor more information on this file, see\nhttps://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/\n\"\"\"\n\nimport os\n\nfrom django.core.wsgi import get_wsgi_application\n\nos.environ.setdefault(\n    \"DJANGO_SETTINGS_MODULE\", \"tests.demo_project.multi_param.settings\"\n)\n\napplication = get_wsgi_application()\n"
  },
  {
    "path": "tests/demo_project/someapp/__init__.py",
    "content": ""
  },
  {
    "path": "tests/demo_project/someapp/admin.py",
    "content": "# Register your models here.\n"
  },
  {
    "path": "tests/demo_project/someapp/api.py",
    "content": "from datetime import date\nfrom typing import List\n\nfrom django.shortcuts import get_object_or_404\nfrom pydantic import BaseModel\n\nfrom ninja import Router\n\nfrom .models import Event\n\nrouter = Router()\n\n\nclass EventSchema(BaseModel):\n    model_config = dict(from_attributes=True)\n\n    title: str\n    start_date: date\n    end_date: date\n\n\n@router.post(\"/create\", url_name=\"event-create-url-name\")\ndef create_event(request, event: EventSchema):\n    Event.objects.create(**event.model_dump())\n    return event\n\n\n@router.get(\"\", response=List[EventSchema])\ndef list_events(request):\n    return list(Event.objects.all())\n\n\n@router.delete(\"\")\ndef delete_events(request):\n    Event.objects.all().delete()\n\n\n@router.get(\"/{id}\", response=EventSchema)\ndef get_event(request, id: int):\n    event = get_object_or_404(Event, id=id)\n    return event\n"
  },
  {
    "path": "tests/demo_project/someapp/models.py",
    "content": "from django.db import models\n\n\nclass Category(models.Model):\n    title = models.CharField(max_length=100)\n\n\nclass Event(models.Model):\n    title = models.CharField(max_length=100)\n    category = models.OneToOneField(\n        Category, null=True, blank=True, on_delete=models.SET_NULL\n    )\n    start_date = models.DateField()\n    end_date = models.DateField()\n\n    def __str__(self):\n        return self.title\n\n\nclass Client(models.Model):\n    key = models.CharField(max_length=20, unique=True)\n"
  },
  {
    "path": "tests/demo_project/someapp/views.py",
    "content": "# Create your views here.\n"
  },
  {
    "path": "tests/env-matrix/Dockerfile",
    "content": "FROM python:3.8\n\nRUN apt install curl\nRUN curl https://pyenv.run | bash\n\nENV HOME  /root\nENV PYENV_ROOT $HOME/.pyenv\nENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH\n\nRUN eval \"$(pyenv init -)\"\nRUN eval \"$(pyenv virtualenv-init -)\"\n\nCOPY tests/env-matrix/install_env.sh /install_env.sh\nRUN chmod u+x /install_env.sh\nRUN pyenv install 3.6.10\nRUN pyenv install 3.7.7\nRUN pyenv install 3.8.3\n\n# Django 2.1.15\nRUN /install_env.sh 3.6.10  2.1.15  env-36-21\nRUN /install_env.sh 3.7.7   2.1.15  env-37-21\nRUN /install_env.sh 3.8.3   2.1.15  env-38-21\n\n# Django 2.2.12\nRUN /install_env.sh 3.6.10  2.2.12  env-36-22\nRUN /install_env.sh 3.7.7   2.2.12  env-37-22\nRUN /install_env.sh 3.8.3   2.2.12  env-38-22\n\n# Django 3.0.6\nRUN /install_env.sh 3.6.10  3.0.6   env-36-30\nRUN /install_env.sh 3.7.7   3.0.6   env-37-30\nRUN /install_env.sh 3.8.3   3.0.6   env-38-30\n\n# Django 3.1\nRUN /install_env.sh 3.6.10  3.1     env-36-31\nRUN /install_env.sh 3.7.7   3.1     env-37-31\nRUN /install_env.sh 3.8.3   3.1     env-38-31\n\nCOPY ninja /ninja\nCOPY tests /tests\nCOPY docs /docs\nCOPY tests/env-matrix/run.sh /run.sh\nRUN chmod u+x /run.sh\n\nRUN echo 'Dependencies installed. Now running tests...' &&\\\n    /run.sh env-36-21  &&\\\n    /run.sh env-37-21  &&\\\n    /run.sh env-38-21  &&\\\n    /run.sh env-36-22  &&\\\n    /run.sh env-37-22  &&\\\n    /run.sh env-38-22  &&\\\n    /run.sh env-36-30  &&\\\n    /run.sh env-37-30  &&\\\n    /run.sh env-38-30  &&\\\n    /run.sh env-36-31  &&\\\n    /run.sh env-37-31  &&\\\n    /run.sh env-38-31  &&\\\n    echo 'Done.'\n"
  },
  {
    "path": "tests/env-matrix/Dockerfile.backup",
    "content": "FROM python:3.8\n\nRUN apt install curl\nRUN curl https://pyenv.run | bash\n\nRUN /root/.pyenv/bin/pyenv install --help\n\nRUN /root/.pyenv/bin/pyenv install 3.6.10\nRUN /root/.pyenv/bin/pyenv install 3.7.7\nRUN /root/.pyenv/bin/pyenv install 3.8.3\nRUN /root/.pyenv/bin/pyenv install 3.9.0b3\n\nENV HOME  /root\nENV PYENV_ROOT $HOME/.pyenv\nENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH\n\nCOPY tests/env-matrix/install_env.sh /install_env.sh\n\nRUN bash /install_env.sh 3.6.10  2.0.13  env-36-20\nRUN bash /install_env.sh 3.6.10  2.1.15  env-36-21\nRUN bash /install_env.sh 3.6.10  2.2.12  env-36-22\nRUN bash /install_env.sh 3.6.10  3.0.6   env-36-30\nRUN bash /install_env.sh 3.6.10  3.1b1   env-36-31\nRUN bash /install_env.sh 3.7.7   2.0.13  env-37-20\nRUN bash /install_env.sh 3.7.7   2.1.15  env-37-21\nRUN bash /install_env.sh 3.7.7   2.2.12  env-37-22\nRUN bash /install_env.sh 3.7.7   3.0.6   env-37-30\nRUN bash /install_env.sh 3.7.7   3.1b1   env-37-31\nRUN bash /install_env.sh 3.8.3   2.0.13  env-38-20\nRUN bash /install_env.sh 3.8.3   2.1.15  env-38-21\nRUN bash /install_env.sh 3.8.3   2.2.12  env-38-22\nRUN bash /install_env.sh 3.8.3   3.0.6   env-38-30\nRUN bash /install_env.sh 3.8.3   3.1b1   env-38-31\n\nRUN bash /install_env.sh 3.9.0b3 3.0     env-39-30\n\n\nCOPY ninja /ninja\nCOPY tests /tests\nCOPY docs /docs\n\n\nCOPY tests/env-matrix/run.sh /run.sh\n\nWORKDIR /\n\n\n\nRUN bash /run.sh env-36-20 &&\\\n    bash /run.sh env-36-21 &&\\\n    bash /run.sh env-36-22 &&\\\n    bash /run.sh env-36-30 &&\\\n    bash /run.sh env-36-31 &&\\\n    bash /run.sh env-37-20 &&\\\n    bash /run.sh env-37-21 &&\\\n    bash /run.sh env-37-22 &&\\\n    bash /run.sh env-37-30 &&\\\n    bash /run.sh env-37-31 &&\\\n    bash /run.sh env-38-20 &&\\\n    bash /run.sh env-38-21 &&\\\n    bash /run.sh env-38-22 &&\\\n    bash /run.sh env-38-30 &&\\\n    bash /run.sh env-38-31 &&\\\n    echo \"done\"\n\nRUN bash /run.sh env-39-30\n"
  },
  {
    "path": "tests/env-matrix/README.md",
    "content": "This `env-matrix` speeds up test execution across all environments (Python 3.[6,7,8],  Django2.0,...,3.1)\n\nTo execute\n\n`docker-compose up --build`\n\nFirst time it will take about half an hour (to install all)\n\nEvery other time it should take less than a minute to test across all environments.\n"
  },
  {
    "path": "tests/env-matrix/create_docker.py",
    "content": "PYTHON = [\"3.6.10\", \"3.7.7\", \"3.8.3\"]  # 3.9.0b3\nDJANGO = [\"2.1.15\", \"2.2.12\", \"3.0.6\", \"3.1\"]\n\n\nHEADER = \"\"\"\nFROM python:3.8\n\nRUN apt install curl\nRUN curl https://pyenv.run | bash\n\nENV HOME  /root\nENV PYENV_ROOT $HOME/.pyenv\nENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH\n\nRUN eval \"$(pyenv init -)\"\nRUN eval \"$(pyenv virtualenv-init -)\"\n\nCOPY tests/env-matrix/install_env.sh /install_env.sh\nRUN chmod u+x /install_env.sh\n\"\"\".strip()\n\n\ndef envname(py, dj):\n    py = \"\".join(py.split(\".\")[:2])\n    dj = \"\".join(dj.split(\".\")[:2])[:2]\n    return f\"env-{py}-{dj}\"\n\n\nprint(HEADER)\n\nfor py in PYTHON:\n    print(f\"RUN pyenv install {py}\")\n\n\nfor d in DJANGO:\n    print()\n    print(f\"# Django {d}\")\n    for p in PYTHON:\n        e = envname(p, d)\n        print(f\"RUN /install_env.sh {p:<7} {d:<7} {e}\")\n\n\nprint(\n    \"\"\"\nCOPY ninja /ninja\nCOPY tests /tests\nCOPY docs /docs\nCOPY tests/env-matrix/run.sh /run.sh\nRUN chmod u+x /run.sh\n\"\"\"\n)\n\n\nprint(\"RUN echo 'Dependencies installed. Now running tests...' &&\\\\\")\n\nfor d in DJANGO:\n    for p in PYTHON:\n        e = envname(p, d)\n        print(f\"    /run.sh {e}  &&\\\\\")\n\nprint(\"    echo 'Done.'\")\n"
  },
  {
    "path": "tests/env-matrix/docker-compose.yml",
    "content": "version: \"3\"\nservices:\n  tester:\n    build:\n      context: ../../\n      dockerfile: tests/env-matrix/Dockerfile"
  },
  {
    "path": "tests/env-matrix/install_env.sh",
    "content": "#!/bin/bash\n\nPYVER=$1\nDJANGO=$2\nENVNAME=$3\n\neval \"$(pyenv init -)\"\neval \"$(pyenv virtualenv-init -)\"\n\npyenv virtualenv $PYVER $ENVNAME\npyenv shell $ENVNAME\npip install django==$DJANGO pytest pytest-django pytest-asyncio pytest-cov pydantic==1.6\n"
  },
  {
    "path": "tests/env-matrix/run.sh",
    "content": "#!/bin/bash\n\nENVNAME=$1\n\neval \"$(pyenv init -)\"\neval \"$(pyenv virtualenv-init -)\"\n\necho $ENVNAME\n\npyenv shell $ENVNAME\npytest tests\n"
  },
  {
    "path": "tests/main.py",
    "content": "from sys import version_info\nfrom typing import List, Optional\nfrom uuid import UUID\n\nimport pydantic\nimport pytest\nfrom django.urls import register_converter\nfrom typing_extensions import Annotated\n\nfrom ninja import Field, P, Path, PathEx, Query, Router, Schema\n\nrouter = Router()\n\n\n@router.get(\"/text\")\ndef get_text(request):\n    return \"Hello World\"\n\n\n@router.get(\"/path/{item_id}\")\ndef get_id(request, item_id):\n    return item_id\n\n\n@router.get(\"/path/str/{item_id}\")\ndef get_str_id(request, item_id: str):\n    return item_id\n\n\n@router.get(\"/path/int/{item_id}\")\ndef get_int_id(request, item_id: int):\n    return item_id\n\n\n@router.get(\"/path/float/{item_id}\")\ndef get_float_id(request, item_id: float):\n    return item_id\n\n\n@router.get(\"/path/bool/{item_id}\")\ndef get_bool_id(request, item_id: bool):\n    return item_id\n\n\ndef custom_validator(value: int) -> int:\n    if value != 42:\n        raise ValueError(\"Input should pass this custom validator\")\n    return value\n\n\nCustomValidatedInt = Annotated[\n    int,\n    pydantic.AfterValidator(custom_validator),\n    pydantic.WithJsonSchema({\n        \"type\": \"int\",\n        \"example\": \"42\",\n    }),\n]\n\n# TODO: Remove this condition once support for <= 3.8 is dropped\nif version_info >= (3, 9):\n\n    @router.get(\"/path/param_ex/{item_id}\")\n    def get_path_param_ex_id(\n        request,\n        item_id: PathEx[CustomValidatedInt, P(description=\"path_ex description\")],\n    ):\n        return item_id\n\nelse:\n\n    def test_annotated_path_ex_unsupported():\n        with pytest.raises(NotImplementedError, match=\"3.9+\"):\n\n            @router.get(\"/path/param_ex/{item_id}\")\n            def get_path_param_ex_id(\n                request,\n                item_id: PathEx[\n                    CustomValidatedInt, P(description=\"path_ex description\")\n                ],\n            ):\n                return item_id\n\n\n@router.get(\"/path/param/{item_id}\")\ndef get_path_param_id(request, item_id: str = Path(None)):\n    return item_id\n\n\n@router.get(\"/path/param-required/{item_id}\")\ndef get_path_param_required_id(request, item_id: str = Path(...)):\n    return item_id\n\n\n@router.get(\"/path/param-minlength/{item_id}\")\ndef get_path_param_min_length(request, item_id: str = Path(..., min_length=3)):\n    return item_id\n\n\n@router.get(\"/path/param-maxlength/{item_id}\")\ndef get_path_param_max_length(request, item_id: str = Path(..., max_length=3)):\n    return item_id\n\n\n@router.get(\"/path/param-min_maxlength/{item_id}\")\ndef get_path_param_min_max_length(\n    request, item_id: str = Path(..., max_length=3, min_length=2)\n):\n    return item_id\n\n\n@router.get(\"/path/param-gt/{item_id}\")\ndef get_path_param_gt(request, item_id: float = Path(..., gt=3)):\n    return item_id\n\n\n@router.get(\"/path/param-gt0/{item_id}\")\ndef get_path_param_gt0(request, item_id: float = Path(..., gt=0)):\n    return item_id\n\n\n@router.get(\"/path/param-ge/{item_id}\")\ndef get_path_param_ge(request, item_id: float = Path(..., ge=3)):\n    return item_id\n\n\n@router.get(\"/path/param-lt/{item_id}\")\ndef get_path_param_lt(request, item_id: float = Path(..., lt=3)):\n    return item_id\n\n\n@router.get(\"/path/param-lt0/{item_id}\")\ndef get_path_param_lt0(request, item_id: float = Path(..., lt=0)):\n    return item_id\n\n\n@router.get(\"/path/param-le/{item_id}\")\ndef get_path_param_le(request, item_id: float = Path(..., le=3)):\n    return item_id\n\n\n@router.get(\"/path/param-lt-gt/{item_id}\")\ndef get_path_param_lt_gt(request, item_id: float = Path(..., lt=3, gt=1)):\n    return item_id\n\n\n@router.get(\"/path/param-le-ge/{item_id}\")\ndef get_path_param_le_ge(request, item_id: float = Path(..., le=3, ge=1)):\n    return item_id\n\n\n@router.get(\"/path/param-lt-int/{item_id}\")\ndef get_path_param_lt_int(request, item_id: int = Path(..., lt=3)):\n    return item_id\n\n\n@router.get(\"/path/param-gt-int/{item_id}\")\ndef get_path_param_gt_int(request, item_id: int = Path(..., gt=3)):\n    return item_id\n\n\n@router.get(\"/path/param-le-int/{item_id}\")\ndef get_path_param_le_int(request, item_id: int = Path(..., le=3)):\n    return item_id\n\n\n@router.get(\"/path/param-ge-int/{item_id}\")\ndef get_path_param_ge_int(request, item_id: int = Path(..., ge=3)):\n    return item_id\n\n\n@router.get(\"/path/param-lt-gt-int/{item_id}\")\ndef get_path_param_lt_gt_int(request, item_id: int = Path(..., lt=3, gt=1)):\n    return item_id\n\n\n@router.get(\"/path/param-le-ge-int/{item_id}\")\ndef get_path_param_le_ge_int(request, item_id: int = Path(..., le=3, ge=1)):\n    return item_id\n\n\n@router.get(\"/path/param-pattern/{item_id}\")\ndef get_path_param_pattern(request, item_id: str = Path(..., pattern=\"^foo\")):\n    return item_id\n\n\n@router.get(\"/path/param-django-str/{str:item_id}\")\ndef get_path_param_django_str(request, item_id):\n    return item_id\n\n\n@router.get(\"/path/param-django-int/{int:item_id}\")\ndef get_path_param_django_int(request, item_id: int):\n    assert isinstance(item_id, int)\n    return item_id\n\n\n@router.get(\"/path/param-django-int/not-an-int\")\ndef get_path_param_django_not_an_int(request):\n    \"\"\"Verify that url resolution for get_path_param_django_int passes non-ints forward\"\"\"\n    return \"Found not-an-int\"\n\n\n@router.get(\"/path/param-django-int-str/{int:item_id}\")\ndef get_path_param_django_int_str(request, item_id: str):\n    assert isinstance(item_id, str)\n    return item_id\n\n\n@router.get(\"/path/param-django-slug/{slug:item_id}\")\ndef get_path_param_django_slug(request, item_id):\n    return item_id\n\n\n@router.get(\"/path/param-django-uuid/{uuid:item_id}\")\ndef get_path_param_django_uuid(request, item_id: UUID):\n    assert isinstance(item_id, UUID)\n    return item_id\n\n\n@router.get(\"/path/param-django-uuid-notype/{uuid:item_id}\")\ndef get_path_param_django_uuid_notype(request, item_id):\n    # no type annotation defaults to str..............^\n    assert isinstance(item_id, str)\n    return item_id\n\n\n@router.get(\"/path/param-django-uuid-typestr/{uuid:item_id}\")\ndef get_path_param_django_uuid_typestr(request, item_id: str):\n    assert isinstance(item_id, str)\n    return item_id\n\n\n@router.get(\"/path/param-django-path/{path:item_id}/after\")\ndef get_path_param_django_path(request, item_id):\n    return item_id\n\n\n@router.get(\"/query\")\ndef get_query(request, query):\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/optional\")\ndef get_query_optional(request, query=None):\n    if query is None:\n        return \"foo bar\"\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/int\")\ndef get_query_type(request, query: int):\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/int/optional\")\ndef get_query_type_optional(request, query: int = None):\n    if query is None:\n        return \"foo bar\"\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/str/optional\")\ndef get_query_str_optional(request, query: str = None):\n    \"\"\"Test for issue #1607 - str type with None default should be optional.\"\"\"\n    if query is None:\n        return \"foo bar\"\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/int/default\")\ndef get_query_type_optional_10(request, query: int = 10):\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/list\")\ndef get_query_list(request, query: List[str] = Query(...)):\n    return \",\".join(query)\n\n\n@router.get(\"/query/list-optional\")\ndef get_query_optional_list(request, query: Optional[List[str]] = Query(None)):\n    if query:\n        return \",\".join(query)\n    return query\n\n\n@router.get(\"/query/param\")\ndef get_query_param(request, query=Query(None)):\n    if query is None:\n        return \"foo bar\"\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/param-required\")\ndef get_query_param_required(request, query=Query(...)):\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/query/param-required/int\")\ndef get_query_param_required_type(request, query: int = Query(...)):\n    return f\"foo bar {query}\"\n\n\nclass AliasedSchema(Schema):\n    query: str = Field(..., alias=\"aliased.-_~name\")\n\n\n@router.get(\"/query/aliased-name\")\ndef get_query_aliased_name(request, query: AliasedSchema = Query(...)):\n    return f\"foo bar {query.query}\"\n\n\nclass CustomPathConverter1:\n    regex = \"[0-9]+\"\n\n    def to_python(self, value) -> \"int\":\n        \"\"\"reverse the string and convert to int\"\"\"\n        return int(value[::-1])\n\n    def to_url(self, value):\n        return str(value)\n\n\nclass CustomPathConverter2:\n    regex = \"[0-9]+\"\n\n    def to_python(self, value):\n        \"\"\"reverse the string and convert to float like\"\"\"\n        return f\"0.{value[::-1]}\"\n\n    def to_url(self, value):\n        return str(value)\n\n\nregister_converter(CustomPathConverter1, \"custom-int\")\nregister_converter(CustomPathConverter2, \"custom-float\")\n\n\n@router.get(\"/path/param-django-custom-int/{custom-int:item_id}\")\ndef get_path_param_django_custom_int(request, item_id: int):\n    return item_id\n\n\n@router.get(\"/path/param-django-custom-float/{custom-float:item_id}\")\ndef get_path_param_django_custom_float(request, item_id: float):\n    return item_id\n"
  },
  {
    "path": "tests/mypy_test.py",
    "content": "# The goal of this file is to test that mypy \"likes\" all the combinations of parametrization\nfrom typing import Any\n\nfrom django.http import HttpRequest\nfrom typing_extensions import Annotated\n\nfrom ninja import Body, BodyEx, NinjaAPI, P, Schema, Status\n\n\nclass Payload(Schema):\n    x: int\n    y: float\n    s: str\n\n\napi = NinjaAPI()\n\n\n@api.post(\"/old_way\")\ndef old_way(request: HttpRequest, data: Payload = Body()) -> Any:\n    data.s.capitalize()\n\n\n@api.post(\"/annotated_way\")\ndef annotated_way(request: HttpRequest, data: Annotated[Payload, Body()]) -> Any:\n    data.s.capitalize()\n\n\n@api.post(\"/new_way\")\ndef new_way(request: HttpRequest, data: Body[Payload]) -> Any:\n    data.s.capitalize()\n\n\n@api.post(\"/new_way_ex\")\ndef new_way_ex(request: HttpRequest, data: BodyEx[Payload, P(title=\"A title\")]) -> Any:\n    data.s.find(\"\")\n\n\n# -- Status generic --\n\n\n@api.post(\"/status_generic\")\ndef status_generic(request: HttpRequest) -> Status[dict]:\n    return Status(200, {\"key\": \"value\"})\n\n\n@api.post(\"/status_generic_schema\")\ndef status_generic_schema(request: HttpRequest) -> Status[Payload]:\n    return Status(200, Payload(x=1, y=2.0, s=\"test\"))\n"
  },
  {
    "path": "tests/pytest.ini",
    "content": "[pytest]\n# python_paths = ./ ./tests/demo_project\naddopts = --nomigrations\n; --ds=demo_project.settings\n\n\n"
  },
  {
    "path": "tests/test_add_decorator.py",
    "content": "from functools import wraps\n\nimport pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.testing import TestClient\n\n\n# Test decorators\ndef operation_decorator(func):\n    \"\"\"Decorator that adds a header after validation (operation level)\"\"\"\n\n    @wraps(func)\n    def wrapper(request, *args, **kwargs):\n        result = func(request, *args, **kwargs)\n        if isinstance(result, dict):\n            result[\"operation_decorated\"] = True\n        return result\n\n    return wrapper\n\n\ndef view_decorator(func):\n    \"\"\"Decorator that adds a header before validation (view level)\"\"\"\n\n    @wraps(func)\n    def wrapper(request, *args, **kwargs):\n        response = func(request, *args, **kwargs)\n        response[\"X-View-Decorator\"] = \"applied\"\n        return response\n\n    return wrapper\n\n\ndef counter_decorator(func):\n    \"\"\"Decorator that counts calls\"\"\"\n\n    @wraps(func)\n    def wrapper(request, *args, **kwargs):\n        wrapper.call_count = getattr(wrapper, \"call_count\", 0) + 1\n        result = func(request, *args, **kwargs)\n        if isinstance(result, dict):\n            result[\"call_count\"] = wrapper.call_count\n        return result\n\n    return wrapper\n\n\ndef test_router_add_decorator_operation_mode():\n    \"\"\"Test add_decorator on router with OPERATION mode\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add decorator to router\n    router.add_decorator(operation_decorator, mode=\"operation\")\n\n    @router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    api.add_router(\"/\", router)\n    client = TestClient(api)\n\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test\", \"operation_decorated\": True}\n\n\ndef test_router_add_decorator_view_mode():\n    \"\"\"Test add_decorator on router with VIEW mode\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add decorator to router\n    router.add_decorator(view_decorator, mode=\"view\")\n\n    @router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    api.add_router(\"/\", router)\n    client = TestClient(api)\n\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response[\"X-View-Decorator\"] == \"applied\"\n    assert response.json() == {\"message\": \"test\"}\n\n\ndef test_api_add_decorator_operation_mode():\n    \"\"\"Test add_decorator on API with OPERATION mode\"\"\"\n    api = NinjaAPI()\n\n    # Add decorator to entire API\n    api.add_decorator(operation_decorator, mode=\"operation\")\n\n    @api.get(\"/test1\")\n    def endpoint1(request):\n        return {\"message\": \"test1\"}\n\n    @api.get(\"/test2\")\n    def endpoint2(request):\n        return {\"message\": \"test2\"}\n\n    client = TestClient(api)\n\n    # Both endpoints should be decorated\n    response = client.get(\"/test1\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test1\", \"operation_decorated\": True}\n\n    response = client.get(\"/test2\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test2\", \"operation_decorated\": True}\n\n\ndef test_api_add_decorator_view_mode():\n    \"\"\"Test add_decorator on API with VIEW mode\"\"\"\n    api = NinjaAPI()\n\n    # Add decorator to entire API\n    api.add_decorator(view_decorator, mode=\"view\")\n\n    @api.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    client = TestClient(api)\n\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response[\"X-View-Decorator\"] == \"applied\"\n\n\ndef test_multiple_decorators():\n    \"\"\"Test multiple decorators on same router\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add multiple decorators\n    router.add_decorator(operation_decorator, mode=\"operation\")\n    router.add_decorator(counter_decorator, mode=\"operation\")\n\n    @router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    api.add_router(\"/\", router)\n    client = TestClient(api)\n\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    result = response.json()\n    assert result[\"message\"] == \"test\"\n    assert result[\"operation_decorated\"] is True\n    assert result[\"call_count\"] == 1\n\n    # Second call should increment counter\n    response = client.get(\"/test\")\n    result = response.json()\n    assert result[\"call_count\"] == 2\n\n\ndef test_decorator_cascading():\n    \"\"\"Test that decorators cascade from API to router to child router\"\"\"\n    api = NinjaAPI()\n    parent_router = Router()\n    child_router = Router()\n\n    # Add decorator at API level\n    api.add_decorator(\n        lambda f: wraps(f)(lambda req, *a, **k: {**f(req, *a, **k), \"api\": True})\n    )\n\n    # Add decorator at parent router level\n    parent_router.add_decorator(\n        lambda f: wraps(f)(lambda req, *a, **k: {**f(req, *a, **k), \"parent\": True})\n    )\n\n    # Add decorator at child router level\n    child_router.add_decorator(\n        lambda f: wraps(f)(lambda req, *a, **k: {**f(req, *a, **k), \"child\": True})\n    )\n\n    @child_router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    parent_router.add_router(\"/child\", child_router)\n    api.add_router(\"/parent\", parent_router)\n\n    client = TestClient(api)\n    response = client.get(\"/parent/child/test\")\n    assert response.status_code == 200\n    result = response.json()\n    assert result == {\n        \"message\": \"test\",\n        \"api\": True,\n        \"parent\": True,\n        \"child\": True,\n    }\n\n\ndef test_api_decorator_applies_to_new_routers():\n    \"\"\"Test that API-level decorators apply to routers added after decorator\"\"\"\n    api = NinjaAPI()\n\n    # Add decorator to API first\n    api.add_decorator(operation_decorator, mode=\"operation\")\n\n    # Then add a router\n    router = Router()\n\n    @router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    api.add_router(\"/\", router)\n\n    client = TestClient(api)\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test\", \"operation_decorated\": True}\n\n\ndef test_mix_view_and_operation_decorators():\n    \"\"\"Test mixing VIEW and OPERATION mode decorators\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add both types of decorators\n    router.add_decorator(view_decorator, mode=\"view\")\n    router.add_decorator(operation_decorator, mode=\"operation\")\n\n    @router.get(\"/test\")\n    def endpoint(request):\n        return {\"message\": \"test\"}\n\n    api.add_router(\"/\", router)\n    client = TestClient(api)\n\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response[\"X-View-Decorator\"] == \"applied\"\n    assert response.json() == {\"message\": \"test\", \"operation_decorated\": True}\n\n\ndef test_decorator_with_path_params():\n    \"\"\"Test decorators work with path parameters\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    def param_decorator(func):\n        @wraps(func)\n        def wrapper(request, *args, **kwargs):\n            result = func(request, *args, **kwargs)\n            if isinstance(result, dict):\n                result[\"decorated\"] = True\n            return result\n\n        return wrapper\n\n    router.add_decorator(param_decorator, mode=\"operation\")\n\n    @router.get(\"/test/{item_id}\")\n    def endpoint(request, item_id: int):\n        return {\"item_id\": item_id}\n\n    api.add_router(\"/\", router)\n    client = TestClient(api)\n\n    response = client.get(\"/test/123\")\n    assert response.status_code == 200\n    assert response.json() == {\"item_id\": 123, \"decorated\": True}\n\n\ndef test_invalid_decorator_mode():\n    \"\"\"Test that invalid decorator mode raises ValueError\"\"\"\n    router = Router()\n\n    with pytest.raises(ValueError, match=\"Invalid decorator mode\"):\n        router.add_decorator(operation_decorator, mode=\"invalid\")  # type: ignore\n"
  },
  {
    "path": "tests/test_add_decorator_async.py",
    "content": "import asyncio\nfrom functools import wraps\n\nimport pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.testing import TestAsyncClient, TestClient\n\n\n# Async test decorators\ndef async_operation_decorator(func):\n    \"\"\"Async decorator that adds data after validation (operation level)\"\"\"\n\n    @wraps(func)\n    async def wrapper(request, *args, **kwargs):\n        result = await func(request, *args, **kwargs)\n        if isinstance(result, dict):\n            result[\"async_operation_decorated\"] = True\n        return result\n\n    return wrapper\n\n\ndef async_view_decorator(func):\n    \"\"\"Async decorator that adds a header before validation (view level)\"\"\"\n\n    @wraps(func)\n    async def wrapper(request, *args, **kwargs):\n        response = await func(request, *args, **kwargs)\n        response[\"X-Async-View-Decorator\"] = \"applied\"\n        return response\n\n    return wrapper\n\n\n@pytest.mark.asyncio\nasync def test_router_add_decorator_async_operation_mode():\n    \"\"\"Test add_decorator on router with async operations in OPERATION mode\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add decorator to router\n    router.add_decorator(async_operation_decorator, mode=\"operation\")\n\n    @router.get(\"/test\")\n    async def endpoint(request):\n        await asyncio.sleep(0)  # Simulate async work\n        return {\"message\": \"async test\"}\n\n    api.add_router(\"/\", router)\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/test\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"message\": \"async test\",\n        \"async_operation_decorated\": True,\n    }\n\n\n@pytest.mark.asyncio\nasync def test_router_add_decorator_async_view_mode():\n    \"\"\"Test add_decorator on router with async operations in VIEW mode\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Add decorator to router\n    router.add_decorator(async_view_decorator, mode=\"view\")\n\n    @router.get(\"/test\")\n    async def endpoint(request):\n        await asyncio.sleep(0)\n        return {\"message\": \"async test\"}\n\n    api.add_router(\"/\", router)\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/test\")\n    assert response.status_code == 200\n    assert response[\"X-Async-View-Decorator\"] == \"applied\"\n    assert response.json() == {\"message\": \"async test\"}\n\n\n@pytest.mark.asyncio\nasync def test_api_add_decorator_async():\n    \"\"\"Test add_decorator on API with async operations\"\"\"\n    api = NinjaAPI()\n\n    # Add decorator to entire API\n    api.add_decorator(async_operation_decorator, mode=\"operation\")\n\n    @api.get(\"/test1\")\n    async def endpoint1(request):\n        await asyncio.sleep(0)\n        return {\"message\": \"test1\"}\n\n    @api.get(\"/test2\")\n    async def endpoint2(request):\n        await asyncio.sleep(0)\n        return {\"message\": \"test2\"}\n\n    client = TestAsyncClient(api)\n\n    # Both endpoints should be decorated\n    response = await client.get(\"/test1\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test1\", \"async_operation_decorated\": True}\n\n    response = await client.get(\"/test2\")\n    assert response.status_code == 200\n    assert response.json() == {\"message\": \"test2\", \"async_operation_decorated\": True}\n\n\n@pytest.mark.asyncio\nasync def test_mixed_sync_async_decorators():\n    \"\"\"Test that sync decorators work with async endpoints\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Use a sync decorator on async endpoint\n    def sync_decorator(func):\n        @wraps(func)\n        def wrapper(request, *args, **kwargs):\n            # For async functions, this will return a coroutine\n            result = func(request, *args, **kwargs)\n            if asyncio.iscoroutine(result):\n\n                async def async_wrapper():\n                    actual_result = await result\n                    if isinstance(actual_result, dict):\n                        actual_result[\"sync_decorated\"] = True\n                    return actual_result\n\n                return async_wrapper()\n            else:\n                # For sync functions, modify the result directly\n                if isinstance(result, dict):\n                    result[\"sync_decorated\"] = True\n                return result\n\n        return wrapper\n\n    router.add_decorator(sync_decorator, mode=\"operation\")\n\n    @router.get(\"/async\")\n    async def async_endpoint(request):\n        await asyncio.sleep(0)\n        return {\"type\": \"async\"}\n\n    @router.get(\"/sync\")\n    def sync_endpoint(request):\n        return {\"type\": \"sync\"}\n\n    api.add_router(\"/\", router)\n    client = TestAsyncClient(api)\n\n    # Test async endpoint\n    response = await client.get(\"/async\")\n    assert response.status_code == 200\n    assert response.json() == {\"type\": \"async\", \"sync_decorated\": True}\n\n    # Test sync endpoint with regular TestClient\n    from ninja.testing import TestClient\n\n    sync_client = TestClient(api)\n    response = sync_client.get(\"/sync\")\n    assert response.status_code == 200\n    assert response.json() == {\"type\": \"sync\", \"sync_decorated\": True}\n\n\n@pytest.mark.asyncio\nasync def test_mixed_sync_async_endpoints_same_router():\n    \"\"\"Test router with both sync and async endpoints using the same decorator\"\"\"\n    api = NinjaAPI()\n    router = Router()\n\n    # Universal decorator that works with both sync and async functions\n    def universal_decorator(func):\n        if asyncio.iscoroutinefunction(func):\n            # Handle async functions\n            @wraps(func)\n            async def async_wrapper(request, *args, **kwargs):\n                result = await func(request, *args, **kwargs)\n                if isinstance(result, dict):\n                    result[\"universal_decorated\"] = True\n                    result[\"func_type\"] = \"async\"\n                return result\n\n            return async_wrapper\n        else:\n            # Handle sync functions\n            @wraps(func)\n            def sync_wrapper(request, *args, **kwargs):\n                result = func(request, *args, **kwargs)\n                if isinstance(result, dict):\n                    result[\"universal_decorated\"] = True\n                    result[\"func_type\"] = \"sync\"\n                return result\n\n            return sync_wrapper\n\n    router.add_decorator(universal_decorator, mode=\"operation\")\n\n    @router.get(\"/async\")\n    async def async_endpoint(request):\n        await asyncio.sleep(0)\n        return {\"endpoint\": \"async\"}\n\n    @router.get(\"/sync\")\n    def sync_endpoint(request):\n        return {\"endpoint\": \"sync\"}\n\n    api.add_router(\"/\", router)\n\n    # Test both endpoints with appropriate clients\n    async_client = TestAsyncClient(api)\n    sync_client = TestClient(api)\n\n    # Test async endpoint\n    response = await async_client.get(\"/async\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"endpoint\": \"async\",\n        \"universal_decorated\": True,\n        \"func_type\": \"async\",\n    }\n\n    # Test sync endpoint\n    response = sync_client.get(\"/sync\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"endpoint\": \"sync\",\n        \"universal_decorated\": True,\n        \"func_type\": \"sync\",\n    }\n"
  },
  {
    "path": "tests/test_alias.py",
    "content": "from ninja import Field, NinjaAPI, Schema\n\n\nclass SchemaWithAlias(Schema):\n    foo: str = Field(\"\", alias=\"bar\")\n\n\napi = NinjaAPI()\n\n\n@api.get(\"/path\", response=SchemaWithAlias)\ndef alias_operation(request):\n    return {\"bar\": \"value\"}\n\n\ndef test_alias():\n    schema = api.get_openapi_schema()[\"components\"]\n    print(schema)\n    assert schema == {\n        \"schemas\": {\n            \"SchemaWithAlias\": {\n                \"type\": \"object\",\n                \"properties\": {\n                    \"foo\": {\"type\": \"string\", \"default\": \"\", \"title\": \"Foo\"}\n                },\n                \"title\": \"SchemaWithAlias\",\n            }\n        }\n    }\n\n\n# TODO: check the conflicting approach\n#       when alias is used both for response and request schema\n#       basically it need to generate 2 schemas - one with alias another without\n# @api.post(\"/path\", response=SchemaWithAlias)\n# def alias_operation(request, payload: SchemaWithAlias):\n#     return {\"bar\": payload.foo}\n"
  },
  {
    "path": "tests/test_annotated.py",
    "content": "from typing import List\n\nfrom typing_extensions import Annotated\nfrom util import pydantic_ref_fix\n\nfrom ninja import Body, Cookie, Form, Header, NinjaAPI, Path, Query, Schema\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\nclass FormData(Schema):\n    x: int\n    y: float\n\n\nclass Payload(Schema):\n    t: int\n    p: str\n\n\n@api.post(\"/multi/{p}\")\ndef multi_op(\n    request,\n    q: Annotated[str, Query(description=\"Query param\")],\n    p: Annotated[int, Path(description=\"Path param\")],\n    f: Annotated[FormData, Form(description=\"Form params\")],\n    c: Annotated[str, Cookie(description=\"Cookie params\")],\n):\n    return {\"q\": q, \"p\": p, \"f\": f.dict(), \"c\": c}\n\n\n@api.post(\"/query_list\")\ndef query_list(\n    request,\n    q: Annotated[List[str], Query(description=\"User ID\")],\n):\n    return {\"q\": q}\n\n\n@api.post(\"/headers\")\ndef headers(request, h: Annotated[str, Header()] = \"some-default\"):\n    return {\"h\": h}\n\n\n@api.post(\"/body\")\ndef body_op(\n    request, payload: Annotated[Payload, Body(examples=[{\"t\": 42, \"p\": \"test\"}])]\n):\n    return {\"payload\": payload}\n\n\nclient = TestClient(api)\n\n\ndef test_multi_op():\n    response = client.post(\"/multi/42?q=1\", data={\"x\": 1, \"y\": 2}, COOKIES={\"c\": \"3\"})\n    assert response.status_code == 200, response.content\n    assert response.json() == {\n        \"q\": \"1\",\n        \"p\": 42,\n        \"f\": {\"x\": 1, \"y\": 2.0},\n        \"c\": \"3\",\n    }\n\n\ndef test_query_list():\n    response = client.post(\"/query_list?q=1&q=2\")\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"q\": [\"1\", \"2\"]}\n\n\ndef test_body_op():\n    response = client.post(\"/body\", json={\"t\": 42, \"p\": \"test\"})\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"payload\": {\"p\": \"test\", \"t\": 42}}\n\n\ndef test_headers():\n    response = client.post(\"/headers\", headers={\"h\": \"test\"})\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"h\": \"test\"}\n\n\ndef test_openapi_schema():\n    schema = api.get_openapi_schema()[\"paths\"]\n    print(schema)\n    assert schema == {\n        \"/api/multi/{p}\": {\n            \"post\": {\n                \"operationId\": \"test_annotated_multi_op\",\n                \"summary\": \"Multi Op\",\n                \"parameters\": [\n                    {\n                        \"in\": \"query\",\n                        \"name\": \"q\",\n                        \"schema\": {\n                            \"description\": \"Query param\",\n                            \"title\": \"Q\",\n                            \"type\": \"string\",\n                        },\n                        \"required\": True,\n                        \"description\": \"Query param\",\n                    },\n                    {\n                        \"in\": \"path\",\n                        \"name\": \"p\",\n                        \"schema\": {\n                            \"description\": \"Path param\",\n                            \"title\": \"P\",\n                            \"type\": \"integer\",\n                        },\n                        \"required\": True,\n                        \"description\": \"Path param\",\n                    },\n                    {\n                        \"in\": \"cookie\",\n                        \"name\": \"c\",\n                        \"schema\": {\n                            \"description\": \"Cookie params\",\n                            \"title\": \"C\",\n                            \"type\": \"string\",\n                        },\n                        \"required\": True,\n                        \"description\": \"Cookie params\",\n                    },\n                ],\n                \"responses\": {200: {\"description\": \"OK\"}},\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/x-www-form-urlencoded\": {\n                            \"schema\": {\n                                \"title\": \"FormParams\",\n                                \"type\": \"object\",\n                                \"properties\": {\n                                    \"x\": {\"title\": \"X\", \"type\": \"integer\"},\n                                    \"y\": {\"title\": \"Y\", \"type\": \"number\"},\n                                },\n                                \"required\": [\"x\", \"y\"],\n                            }\n                        }\n                    },\n                    \"required\": True,\n                },\n            }\n        },\n        \"/api/query_list\": {\n            \"post\": {\n                \"operationId\": \"test_annotated_query_list\",\n                \"summary\": \"Query List\",\n                \"parameters\": [\n                    {\n                        \"in\": \"query\",\n                        \"name\": \"q\",\n                        \"schema\": {\n                            \"description\": \"User ID\",\n                            \"items\": {\"type\": \"string\"},\n                            \"title\": \"Q\",\n                            \"type\": \"array\",\n                        },\n                        \"required\": True,\n                        \"description\": \"User ID\",\n                    }\n                ],\n                \"responses\": {200: {\"description\": \"OK\"}},\n            }\n        },\n        \"/api/headers\": {\n            \"post\": {\n                \"operationId\": \"test_annotated_headers\",\n                \"summary\": \"Headers\",\n                \"parameters\": [\n                    {\n                        \"in\": \"header\",\n                        \"name\": \"h\",\n                        \"schema\": {\n                            \"default\": \"some-default\",\n                            \"title\": \"H\",\n                            \"type\": \"string\",\n                        },\n                        \"required\": False,\n                    }\n                ],\n                \"responses\": {200: {\"description\": \"OK\"}},\n            }\n        },\n        \"/api/body\": {\n            \"post\": {\n                \"operationId\": \"test_annotated_body_op\",\n                \"summary\": \"Body Op\",\n                \"parameters\": [],\n                \"responses\": {200: {\"description\": \"OK\"}},\n                \"requestBody\": {\n                    \"content\": {\n                        \"application/json\": {\n                            \"schema\": pydantic_ref_fix({\n                                \"$ref\": \"#/components/schemas/Payload\",\n                                \"examples\": [{\"p\": \"test\", \"t\": 42}],\n                            })\n                        }\n                    },\n                    \"required\": True,\n                },\n            }\n        },\n    }\n"
  },
  {
    "path": "tests/test_api_instance.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.errors import ConfigError\n\n\ndef test_api_instance():\n    \"\"\"Test that operations are properly bound to API via bound routers.\"\"\"\n    api = NinjaAPI(urls_namespace=\"api-instance-test\")\n    router = Router()\n\n    @api.get(\"/global\")\n    def global_op(request):\n        pass\n\n    @router.get(\"/router\")\n    def router_op(request):\n        pass\n\n    api.add_router(\"/\", router)\n\n    # Access URLs to trigger binding\n    _ = api.urls\n\n    # Check via bound routers (the new architecture)\n    bound_routers = api._get_bound_routers()\n    assert len(bound_routers) == 2  # default + extra\n\n    for bound_router in bound_routers:\n        for path_ops in bound_router.path_operations.values():\n            for op in path_ops.operations:\n                assert op.api is api\n\n\ndef test_reuse_router_requires_url_name_prefix():\n    \"\"\"Mounting same router twice requires url_name_prefix.\"\"\"\n    test_api = NinjaAPI(urls_namespace=\"reuse-test\")\n    test_router = Router()\n\n    @test_router.get(\"/test\")\n    def test_op(request):\n        pass\n\n    test_api.add_router(\"/\", test_router)\n\n    # Same router mounted again without url_name_prefix should raise\n    match = \"Router is already mounted\"\n    with pytest.raises(ConfigError, match=match):\n        test_api.add_router(\"/another-path\", test_router)\n\n\ndef test_reuse_router_with_url_name_prefix():\n    \"\"\"Same router can be mounted multiple times with different url_name_prefix.\"\"\"\n    test_api = NinjaAPI(urls_namespace=\"reuse-prefix-test\")\n    test_router = Router()\n\n    @test_router.get(\"/test\")\n    def test_op(request):\n        pass\n\n    test_api.add_router(\"/v1\", test_router, url_name_prefix=\"v1\")\n    test_api.add_router(\"/v2\", test_router, url_name_prefix=\"v2\")\n\n    # Should work - verify URLs are generated\n    _ = test_api.urls\n\n    # Both mounts should work\n    bound_routers = test_api._get_bound_routers()\n    # default router + 2 mounts of test_router\n    assert len(bound_routers) == 3\n"
  },
  {
    "path": "tests/test_app.py",
    "content": "import contextlib\nfrom pathlib import Path\nfrom tempfile import NamedTemporaryFile\n\nimport pytest\nfrom django.http import FileResponse, HttpResponse\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\nclient = TestClient(api)\n\n# TODO: check if you add  operation to the same path - it should raise a ConfigError that this path already exist\n# make sure to check how this will work with versioning\n# and also check what will happen if you add same path in different routers\n#  api.add_router(\"\", router1)\n#  api.add_router(\"\", router2)\n# and both routers have same path defined\n\n\n@api.get(\"\")\ndef emptypath(request):\n    return \"/\"\n\n\n@api.get(\"/get\")\ndef get(request):\n    return f\"this is {request.method}\"\n\n\n@api.post(\"/post\")\ndef post(request):\n    return f\"this is {request.method}\"\n\n\n@api.put(\"/put\")\ndef put(request):\n    return f\"this is {request.method}\"\n\n\n@api.patch(\"/patch\")\ndef patch(request):\n    return f\"this is {request.method}\"\n\n\n@api.delete(\"/delete\")\ndef delete(request):\n    return f\"this is {request.method}\"\n\n\n@api.api_operation([\"GET\", \"POST\"], \"/multi\")\ndef multiple(request):\n    return f\"this is {request.method}\"\n\n\n@api.get(\"/html\")\ndef html(request):\n    return HttpResponse(\"html\")\n\n\n@api.get(\"/file\")\ndef file_response(request):\n    tmp = NamedTemporaryFile(delete=False)\n    try:\n        p = Path(tmp.name)\n        p.write_bytes(b\"this is a file\")\n        return FileResponse(Path(tmp.name).open(\"rb\"))\n    finally:\n        with contextlib.suppress(PermissionError):\n            Path(tmp.name).unlink()\n\n\n@pytest.mark.parametrize(\n    \"method,path,expected_status,expected_data,expected_streaming\",\n    [\n        (\"get\", \"/\", 200, \"/\", False),\n        (\"get\", \"/get\", 200, \"this is GET\", False),\n        (\"post\", \"/post\", 200, \"this is POST\", False),\n        (\"put\", \"/put\", 200, \"this is PUT\", False),\n        (\"patch\", \"/patch\", 200, \"this is PATCH\", False),\n        (\"delete\", \"/delete\", 200, \"this is DELETE\", False),\n        (\"get\", \"/multi\", 200, \"this is GET\", False),\n        (\"post\", \"/multi\", 200, \"this is POST\", False),\n        (\"patch\", \"/multi\", 405, b\"Method not allowed\", False),\n        (\"get\", \"/html\", 200, b\"html\", False),\n        (\"get\", \"/file\", 200, b\"this is a file\", True),\n    ],\n)\ndef test_method(method, path, expected_status, expected_data, expected_streaming):\n    func = getattr(client, method)\n    response = func(path)\n    assert response.status_code == expected_status\n    assert response.streaming == expected_streaming\n    try:\n        data = response.json()\n    except Exception:\n        data = response.content\n    assert data == expected_data\n\n\ndef test_validates():\n    # Registry check was removed - routers are now independent templates\n    # that can be reused across multiple APIs without conflicts\n    # This test now just verifies that creating an API and accessing urls works\n    api2 = NinjaAPI(urls_namespace=\"test-validates-api\")\n    _ = api2.urls  # Should not raise\n"
  },
  {
    "path": "tests/test_async.py",
    "content": "import asyncio\n\nimport pytest\n\nfrom ninja import NinjaAPI\nfrom ninja.security import APIKeyQuery\nfrom ninja.testing import TestAsyncClient\n\n\n@pytest.mark.asyncio\nasync def test_asyncio_operations():\n    api = NinjaAPI()\n\n    class KeyQuery(APIKeyQuery):\n        def authenticate(self, request, key):\n            if key == \"secret\":\n                return key\n\n    @api.get(\"/async\", auth=KeyQuery())\n    async def async_view(request, payload: int):\n        await asyncio.sleep(0)\n        return {\"async\": True}\n\n    @api.post(\"/async\")\n    def sync_post_to_async_view(request):\n        return {\"sync\": True}\n\n    client = TestAsyncClient(api)\n\n    # Actual tests --------------------------------------------------\n\n    # without auth:\n    res = await client.get(\"/async?payload=1\")\n    assert res.status_code == 401\n\n    # async successful\n    res = await client.get(\"/async?payload=1&key=secret\")\n    assert res.json() == {\"async\": True}\n\n    # async innvalid input\n    res = await client.get(\"/async?payload=str&key=secret\")\n    assert res.status_code == 422\n\n    # async call to sync method for path that have async operations\n    res = await client.post(\"/async\")\n    assert res.json() == {\"sync\": True}\n\n    # invalid method\n    res = await client.put(\"/async\")\n    assert res.status_code == 405\n"
  },
  {
    "path": "tests/test_auth.py",
    "content": "from unittest.mock import Mock\n\nimport pytest\nfrom django.utils.asyncio import async_unsafe\n\nfrom ninja import NinjaAPI\nfrom ninja.errors import AuthorizationError, ConfigError\nfrom ninja.security import (\n    APIKeyCookie,\n    APIKeyHeader,\n    APIKeyQuery,\n    HttpBasicAuth,\n    HttpBearer,\n    django_auth,\n    django_auth_is_staff,\n    django_auth_superuser,\n)\nfrom ninja.security.base import AuthBase\nfrom ninja.testing import TestClient\nfrom ninja.testing.client import TestAsyncClient\n\n\ndef callable_auth(request):\n    return request.GET.get(\"auth\")\n\n\nclass KeyQuery(APIKeyQuery):\n    def authenticate(self, request, key):\n        if key == \"keyquerysecret\":\n            return key\n\n\nclass KeyHeader(APIKeyHeader):\n    def authenticate(self, request, key):\n        if key == \"keyheadersecret\":\n            return key\n\n\nclass CustomException(Exception):\n    pass\n\n\nclass KeyHeaderCustomException(APIKeyHeader):\n    def authenticate(self, request, key):\n        if key != \"keyheadersecret\":\n            raise CustomException\n        return key\n\n\nclass KeyCookie(APIKeyCookie):\n    def authenticate(self, request, key):\n        if key == \"keycookiersecret\":\n            return key\n\n\nclass BasicAuth(HttpBasicAuth):\n    def authenticate(self, request, username, password):\n        if username == \"admin\" and password == \"secret\":\n            return username\n\n\nclass BearerAuth(HttpBearer):\n    def authenticate(self, request, token):\n        if token == \"bearertoken\":\n            return token\n        if token == \"nottherightone\":\n            raise AuthorizationError\n\n\nclass AsyncBearerAuth(HttpBearer):\n    \"\"\"\n    This one is async but in fact no awaits inside authenticate\n    which led to an await error\n    \"\"\"\n\n    async def authenticate(self, request, token):\n        if token == \"bearertoken\":\n            return token\n        if token == \"nottherightone\":\n            raise AuthorizationError\n\n\ndef demo_operation(request):\n    return {\"auth\": request.auth}\n\n\napi = NinjaAPI()\n\n\n@api.exception_handler(CustomException)\ndef on_custom_error(request, exc):\n    return api.create_response(request, {\"custom\": True}, status=401)\n\n\nfor path, auth in [\n    (\"django_auth\", django_auth),\n    (\"django_auth_superuser\", django_auth_superuser),\n    (\"django_auth_is_staff\", django_auth_is_staff),\n    (\"callable\", callable_auth),\n    (\"apikeyquery\", KeyQuery()),\n    (\"apikeyheader\", KeyHeader()),\n    (\"apikeycookie\", KeyCookie()),\n    (\"basic\", BasicAuth()),\n    (\"bearer\", BearerAuth()),\n    (\"async_bearer\", AsyncBearerAuth()),\n    (\"customexception\", KeyHeaderCustomException()),\n]:\n    api.get(f\"/{path}\", auth=auth, operation_id=path)(demo_operation)\n\n\nclient = TestClient(api)\n\n\nclass MockUser(str):\n    is_authenticated = True\n    is_superuser = False\n    is_staff = False\n\n\nclass MockSuperUser(str):\n    is_authenticated = True\n    is_superuser = True\n    is_staff = True\n\n\nclass MockStaffUser(str):\n    is_authenticated = True\n    is_superuser = False\n    is_staff = True\n\n\nBODY_UNAUTHORIZED_DEFAULT = dict(detail=\"Unauthorized\")\nBODY_FORBIDDEN_DEFAULT = dict(detail=\"Forbidden\")\n\n\n@pytest.mark.parametrize(\n    \"path,kwargs,expected_code,expected_body\",\n    [\n        (\"/django_auth\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\"/django_auth\", dict(user=MockUser(\"admin\")), 200, dict(auth=\"admin\")),\n        (\"/django_auth_superuser\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/django_auth_superuser\",\n            dict(user=MockUser(\"admin\")),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/django_auth_superuser\",\n            dict(user=MockSuperUser(\"admin\")),\n            200,\n            dict(auth=\"admin\"),\n        ),\n        (\"/django_auth_is_staff\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/django_auth_is_staff\",\n            dict(user=MockUser(\"admin\")),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/django_auth_is_staff\",\n            dict(user=MockSuperUser(\"admin\")),\n            200,\n            dict(auth=\"admin\"),\n        ),\n        (\n            \"/django_auth_is_staff\",\n            dict(user=MockStaffUser(\"admin\")),\n            200,\n            dict(auth=\"admin\"),\n        ),\n        (\"/callable\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\"/callable?auth=demo\", {}, 200, dict(auth=\"demo\")),\n        (\"/apikeyquery\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\"/apikeyquery?key=keyquerysecret\", {}, 200, dict(auth=\"keyquerysecret\")),\n        (\"/apikeyheader\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/apikeyheader\",\n            dict(headers={\"key\": \"keyheadersecret\"}),\n            200,\n            dict(auth=\"keyheadersecret\"),\n        ),\n        (\"/apikeycookie\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/apikeycookie\",\n            dict(COOKIES={\"key\": \"keycookiersecret\"}),\n            200,\n            dict(auth=\"keycookiersecret\"),\n        ),\n        (\"/basic\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/basic\",\n            dict(headers={\"Authorization\": \"Basic YWRtaW46c2VjcmV0\"}),\n            200,\n            dict(auth=\"admin\"),\n        ),\n        (\n            \"/basic\",\n            dict(headers={\"Authorization\": \"YWRtaW46c2VjcmV0\"}),\n            200,\n            dict(auth=\"admin\"),\n        ),\n        (\n            \"/basic\",\n            dict(headers={\"Authorization\": \"Basic invalid\"}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/basic\",\n            dict(headers={\"Authorization\": \"some invalid value\"}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\"/bearer\", {}, 401, BODY_UNAUTHORIZED_DEFAULT),\n        (\n            \"/bearer\",\n            dict(headers={\"Authorization\": \"Bearer bearertoken\"}),\n            200,\n            dict(auth=\"bearertoken\"),\n        ),\n        (\n            \"/bearer\",\n            dict(headers={\"Authorization\": \"Invalid bearertoken\"}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/bearer\",\n            dict(headers={\"Authorization\": \"Bearer nonexistingtoken\"}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/async_bearer\",\n            dict(headers={\"Authorization\": \"Bearer nonexistingtoken\"}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/async_bearer\",\n            dict(headers={}),\n            401,\n            BODY_UNAUTHORIZED_DEFAULT,\n        ),\n        (\n            \"/bearer\",\n            dict(headers={\"Authorization\": \"Bearer nottherightone\"}),\n            403,\n            BODY_FORBIDDEN_DEFAULT,\n        ),\n        (\"/customexception\", {}, 401, dict(custom=True)),\n        (\n            \"/customexception\",\n            dict(headers={\"key\": \"keyheadersecret\"}),\n            200,\n            dict(auth=\"keyheadersecret\"),\n        ),\n    ],\n)\ndef test_auth(path, kwargs, expected_code, expected_body, settings):\n    for debug in (False, True):\n        settings.DEBUG = debug  # <-- making sure all if debug are covered\n        response = client.get(path, **kwargs)\n        assert response.status_code == expected_code\n        assert response.json() == expected_body\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n    assert schema[\"components\"][\"securitySchemes\"] == {\n        \"BasicAuth\": {\"scheme\": \"basic\", \"type\": \"http\"},\n        \"BearerAuth\": {\"scheme\": \"bearer\", \"type\": \"http\"},\n        \"AsyncBearerAuth\": {\"scheme\": \"bearer\", \"type\": \"http\"},\n        \"KeyCookie\": {\"in\": \"cookie\", \"name\": \"key\", \"type\": \"apiKey\"},\n        \"KeyHeader\": {\"in\": \"header\", \"name\": \"key\", \"type\": \"apiKey\"},\n        \"KeyHeaderCustomException\": {\"in\": \"header\", \"name\": \"key\", \"type\": \"apiKey\"},\n        \"KeyQuery\": {\"in\": \"query\", \"name\": \"key\", \"type\": \"apiKey\"},\n        \"SessionAuth\": {\"in\": \"cookie\", \"name\": \"sessionid\", \"type\": \"apiKey\"},\n        \"SessionAuthSuperUser\": {\"in\": \"cookie\", \"name\": \"sessionid\", \"type\": \"apiKey\"},\n        \"SessionAuthIsStaff\": {\"in\": \"cookie\", \"name\": \"sessionid\", \"type\": \"apiKey\"},\n    }\n    # TODO: Samename for schema check\n    # TODO: check operation security attributes\n\n\ndef test_invalid_setup():\n    request = Mock()\n    headers = {\"Authorization\": \"Bearer test\"}\n    request.META = {\"HTTP_\" + k: v for k, v in headers.items()}\n    request.headers = headers\n\n    class MyAuth1(AuthBase):\n        def __call__(self, *args, **kwargs):\n            pass\n\n    class MyAuth2(AuthBase):\n        openapi_type = \"my\"\n\n    with pytest.raises(ConfigError):\n        MyAuth1()(request)\n    with pytest.raises(TypeError):\n        MyAuth2()(request)\n    with pytest.raises(TypeError):\n        APIKeyCookie()(request)\n    with pytest.raises(TypeError):\n        APIKeyHeader()(request)\n    with pytest.raises(TypeError):\n        APIKeyQuery()(request)\n    with pytest.raises(TypeError):\n        HttpBearer()(request)\n\n    headers = {\"Authorization\": \"Basic YWRtaW46c2VjcmV0\"}\n    request.META = {\"HTTP_\" + k: v for k, v in headers.items()}\n    request.headers = headers\n\n    with pytest.raises(TypeError):\n        HttpBasicAuth()(request)\n\n\n@pytest.mark.asyncio\nasync def test_async_auth():\n    _sync_auth_called = False\n    _async_auth_called = False\n    _async_unsafe_func_called = False\n\n    # This is the same decorator Django uses to mark its ORM functions as async unsafe,\n    # which in turns raises a `SynchronousOnlyOperation` error if called\n    # without `sync_to_async`.\n    @async_unsafe(\"called without sync_to_async\")\n    def async_unsafe_function():\n        nonlocal _async_unsafe_func_called\n        _async_unsafe_func_called = True\n\n    class AsyncAuth(APIKeyQuery):\n        async def authenticate(self, request, key):\n            nonlocal _async_auth_called\n            _async_auth_called = True\n            return False\n\n    class SyncAuth(APIKeyQuery):\n        def authenticate(self, request, key):\n            async_unsafe_function()\n            nonlocal _sync_auth_called\n            _sync_auth_called = True\n            return True\n\n    async def handle_request(request):\n        return {\"ok\": True}\n\n    api = NinjaAPI()\n    api.get(\"/foobar\", auth=[AsyncAuth(), SyncAuth()])(handle_request)\n\n    client = TestAsyncClient(api)\n    response = await client.get(\"/foobar\")\n    assert response.status_code == 200\n    assert response.json() == {\"ok\": True}\n\n    assert _sync_auth_called is True\n    assert _async_auth_called is True\n    assert _async_unsafe_func_called is True\n"
  },
  {
    "path": "tests/test_auth_async.py",
    "content": "import asyncio\n\nimport pytest\n\nfrom ninja import NinjaAPI\nfrom ninja.security import APIKeyQuery, HttpBearer\nfrom ninja.testing import TestAsyncClient, TestClient\n\n\n@pytest.mark.asyncio\nasync def test_async_view_handles_async_auth_func():\n    api = NinjaAPI()\n\n    async def auth(request):\n        key = request.GET.get(\"key\")\n        if key == \"secret\":\n            return key\n\n    @api.get(\"/async\", auth=auth)\n    async def view(request):\n        await asyncio.sleep(0)\n        return {\"key\": request.auth}\n\n    client = TestAsyncClient(api)\n\n    # Actual tests --------------------------------------------------\n\n    # without auth:\n    res = await client.get(\"/async\")\n    assert res.status_code == 401\n\n    # async successful\n    res = await client.get(\"/async?key=secret\")\n    assert res.json() == {\"key\": \"secret\"}\n\n\n@pytest.mark.asyncio\nasync def test_async_view_handles_async_auth_cls():\n    api = NinjaAPI()\n\n    class Auth:\n        async def __call__(self, request):\n            key = request.GET.get(\"key\")\n            if key == \"secret\":\n                return key\n\n    @api.get(\"/async\", auth=Auth())\n    async def view(request):\n        await asyncio.sleep(0)\n        return {\"key\": request.auth}\n\n    client = TestAsyncClient(api)\n\n    # Actual tests --------------------------------------------------\n\n    # without auth:\n    res = await client.get(\"/async\")\n    assert res.status_code == 401\n\n    # async successful\n    res = await client.get(\"/async?key=secret\")\n    assert res.json() == {\"key\": \"secret\"}\n\n\n@pytest.mark.asyncio\nasync def test_async_view_handles_multi_auth():\n    api = NinjaAPI()\n\n    def auth_1(request):\n        return None\n\n    async def auth_2(request):\n        return None\n\n    async def auth_3(request):\n        key = request.GET.get(\"key\")\n        if key == \"secret\":\n            return key\n\n    @api.get(\"/async\", auth=[auth_1, auth_2, auth_3])\n    async def view(request):\n        await asyncio.sleep(0)\n        return {\"key\": request.auth}\n\n    client = TestAsyncClient(api)\n\n    res = await client.get(\"/async?key=secret\")\n    assert res.json() == {\"key\": \"secret\"}\n\n\n@pytest.mark.asyncio\nasync def test_async_view_handles_auth_errors():\n    api = NinjaAPI()\n\n    async def auth(request):\n        raise Exception(\"boom\")\n\n    @api.get(\"/async\", auth=auth)\n    async def view(request):\n        await asyncio.sleep(0)\n        return {\"key\": request.auth}\n\n    @api.exception_handler(Exception)\n    def on_custom_error(request, exc):\n        return api.create_response(request, {\"custom\": True}, status=401)\n\n    client = TestAsyncClient(api)\n\n    res = await client.get(\"/async?key=secret\")\n    assert res.json() == {\"custom\": True}\n\n\n@pytest.mark.asyncio\nasync def test_sync_authenticate_method():\n    class KeyAuth(APIKeyQuery):\n        async def authenticate(self, request, key):\n            await asyncio.sleep(0)\n            if key == \"secret\":\n                return key\n\n    api = NinjaAPI(auth=KeyAuth())\n\n    @api.get(\"/async\")\n    async def async_view(request):\n        return {\"auth\": request.auth}\n\n    client = TestAsyncClient(api)\n\n    res = await client.get(\"/async\")  # NO key\n    assert res.json() == {\"detail\": \"Unauthorized\"}\n\n    res = await client.get(\"/async?key=secret\")\n    assert res.json() == {\"auth\": \"secret\"}\n\n\ndef test_async_authenticate_method_in_sync_context():\n    class KeyAuth(APIKeyQuery):\n        async def authenticate(self, request, key):\n            await asyncio.sleep(0)\n            if key == \"secret\":\n                return key\n\n    api = NinjaAPI(auth=KeyAuth())\n\n    @api.get(\"/sync\")\n    def sync_view(request):\n        return {\"auth\": request.auth}\n\n    client = TestClient(api)\n\n    res = client.get(\"/sync\")  # NO key\n    assert res.json() == {\"detail\": \"Unauthorized\"}\n\n    res = client.get(\"/sync?key=secret\")\n    assert res.json() == {\"auth\": \"secret\"}\n\n\n@pytest.mark.asyncio\nasync def test_async_with_bearer():\n    class BearerAuth(HttpBearer):\n        async def authenticate(self, request, key):\n            await asyncio.sleep(0)\n            if key == \"secret\":\n                return key\n\n    api = NinjaAPI(auth=BearerAuth())\n\n    @api.get(\"/async\")\n    async def async_view(request):\n        return {\"auth\": request.auth}\n\n    client = TestAsyncClient(api)\n\n    res = await client.get(\"/async\")  # NO key\n    assert res.json() == {\"detail\": \"Unauthorized\"}\n\n    res = await client.get(\"/async\", headers={\"Authorization\": \"Bearer secret\"})\n    assert res.json() == {\"auth\": \"secret\"}\n"
  },
  {
    "path": "tests/test_auth_global.py",
    "content": "from ninja import NinjaAPI, Router\nfrom ninja.security import APIKeyQuery\nfrom ninja.testing import TestClient\n\n\nclass KeyQuery1(APIKeyQuery):\n    def authenticate(self, request, key):\n        if key == \"k1\":\n            return key\n\n\nclass KeyQuery2(APIKeyQuery):\n    def authenticate(self, request, key):\n        if key == \"k2\":\n            return key\n\n\napi = NinjaAPI(auth=KeyQuery1())\n\n\n@api.get(\"/default\")\ndef default(request):\n    return {\"auth\": request.auth}\n\n\n@api.api_operation([\"POST\", \"PATCH\"], \"/multi-method-no-auth\")\ndef multi_no_auth(request):\n    return {\"auth\": request.auth}\n\n\n@api.api_operation([\"POST\", \"PATCH\"], \"/multi-method-auth\", auth=KeyQuery2())\ndef multi_auth(request):\n    return {\"auth\": request.auth}\n\n\n# ---- router ------------------------\n\nrouter = Router()\n\n\n@router.get(\"/router-operation\")  # should come from global auth\ndef router_operation(request):\n    return {\"auth\": str(request.auth)}\n\n\n@router.get(\"/router-operation-auth\", auth=KeyQuery2())\ndef router_operation_auth(request):\n    return {\"auth\": str(request.auth)}\n\n\napi.add_router(\"\", router)\n\n\nrouter_noauth = Router(auth=None)\n\n\n@router_noauth.get(\"/router-no-auth\")\ndef router_operation_no_auth(request):\n    return {\"auth\": str(request.auth)}\n\n\napi.add_router(\"/no-auth/\", router_noauth)\n\n# ---- end router --------------------\n\nclient = TestClient(api)\n\n\ndef test_multi():\n    assert client.get(\"/default\").status_code == 401\n    assert client.get(\"/default?key=k1\").json() == {\"auth\": \"k1\"}\n\n    assert client.post(\"/multi-method-no-auth\").status_code == 401\n    assert client.post(\"/multi-method-no-auth?key=k1\").json() == {\"auth\": \"k1\"}\n\n    assert client.patch(\"/multi-method-no-auth\").status_code == 401\n    assert client.patch(\"/multi-method-no-auth?key=k1\").json() == {\"auth\": \"k1\"}\n\n    assert client.post(\"/multi-method-auth?key=k1\").status_code == 401\n    assert client.patch(\"/multi-method-auth?key=k1\").status_code == 401\n\n    assert client.post(\"/multi-method-auth?key=k2\").json() == {\"auth\": \"k2\"}\n    assert client.patch(\"/multi-method-auth?key=k2\").json() == {\"auth\": \"k2\"}\n\n\ndef test_router_auth():\n    assert client.get(\"/router-operation\").status_code == 401\n    assert client.get(\"/router-operation?key=k1\").json() == {\"auth\": \"k1\"}\n\n    assert client.get(\"/router-operation-auth?key=k1\").status_code == 401\n    assert client.get(\"/router-operation-auth?key=k2\").json() == {\"auth\": \"k2\"}\n\n\ndef test_router_no_auth():\n    assert client.get(\"/no-auth/router-no-auth\").json() == {\"auth\": \"None\"}\n"
  },
  {
    "path": "tests/test_auth_inheritance_routers.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.security import APIKeyQuery\nfrom ninja.testing import TestClient\n\n\nclass Auth(APIKeyQuery):\n    def __init__(self, secret):\n        self.secret = secret\n        super().__init__()\n\n    def authenticate(self, request, key):\n        if key == self.secret:\n            return key\n\n\napi = NinjaAPI(auth=Auth(\"api_auth\"))\n\nr1 = Router()\nr2 = Router()\nr3 = Router()\nr4 = Router()\n\no3 = Router(auth=None)\no4 = Router()\n\napi.add_router(\"/r1\", r1, auth=Auth(\"r1_auth\"))\nr1.add_router(\"/r2\", r2)\nr2.add_router(\"/r3\", r3)\nr3.add_router(\"/r4\", r4, auth=Auth(\"r4_auth\"))\nr2.add_router(\"/o3\", o3)\no3.add_router(\"/o4\", o4)\n\nclient = TestClient(api)\n\n\n@r1.get(\"/\")\ndef op1(request):\n    return request.auth\n\n\n@r2.get(\"/\")\ndef op2(request):\n    return request.auth\n\n\n@r3.get(\"/\")\ndef op3(request):\n    return request.auth\n\n\n@r4.get(\"/\")\ndef op4(request):\n    return request.auth\n\n\n@r3.get(\"/op5\", auth=Auth(\"op5_auth\"))\ndef op5(request):\n    return request.auth\n\n\n@o3.get(\"/\")\ndef op_o3(request):\n    assert request.auth is None\n    return \"ok\"\n\n\n@o4.get(\"/\")\ndef op_o4(request):\n    assert request.auth is None\n    return \"ok\"\n\n\n@pytest.mark.parametrize(\n    \"route, status_code\",\n    [\n        (\"/r1/\", 401),\n        (\"/r1/r2/\", 401),\n        (\"/r1/r2/r3/\", 401),\n        (\"/r1/r2/r3/r4/\", 401),\n        (\"/r1/r2/r3/op5\", 401),\n        (\"/r1/?key=r1_auth\", 200),\n        (\"/r1/r2/?key=r1_auth\", 200),\n        (\"/r1/r2/r3/?key=r1_auth\", 200),\n        (\"/r1/r2/r3/r4/?key=r4_auth\", 200),\n        (\"/r1/r2/r3/op5?key=op5_auth\", 200),\n        (\"/r1/r2/r3/r4/?key=r1_auth\", 401),\n        (\"/r1/r2/r3/op5?key=r1_auth\", 401),\n        (\"/r1/r2/o3/\", 200),\n        (\"/r1/r2/o3/o4/\", 200),\n    ],\n)\ndef test_router_inheritance_auth(route, status_code):\n    assert client.get(route).status_code == status_code\n"
  },
  {
    "path": "tests/test_auth_routers.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.security import APIKeyQuery\nfrom ninja.testing import TestClient\n\n\nclass Auth(APIKeyQuery):\n    def __init__(self, secret):\n        self.secret = secret\n        super().__init__()\n\n    def authenticate(self, request, key):\n        if key == self.secret:\n            return key\n\n\napi = NinjaAPI()\n\nr1 = Router()\nr2 = Router()\nr2_1 = Router()\n\n\n@r1.get(\"/test\")\ndef operation1(request):\n    return request.auth\n\n\n@r2.get(\"/test\")\ndef operation2(request):\n    return request.auth\n\n\n@r2_1.get(\"/test\")\ndef operation3(request):\n    return request.auth\n\n\nr2.add_router(\"/child\", r2_1, auth=Auth(\"two-child\"))\napi.add_router(\"/r1\", r1, auth=Auth(\"one\"))\napi.add_router(\"/r2\", r2, auth=Auth(\"two\"))\n\n\nclient = TestClient(api)\n\n\n@pytest.mark.parametrize(\n    \"route, status_code\",\n    [\n        (\"/r1/test\", 401),\n        (\"/r2/test\", 401),\n        (\"/r1/test?key=one\", 200),\n        (\"/r2/test?key=two\", 200),\n        (\"/r1/test?key=two\", 401),\n        (\"/r2/test?key=one\", 401),\n        (\"/r2/child/test\", 401),\n        (\"/r2/child/test?key=two-child\", 200),\n    ],\n)\ndef test_router_auth(route, status_code):\n    assert client.get(route).status_code == status_code\n"
  },
  {
    "path": "tests/test_body.py",
    "content": "from typing import Any, Dict, List\n\nimport pytest\nfrom pydantic import field_validator\n\nfrom ninja import Body, Form, NinjaAPI, Schema\nfrom ninja.errors import ConfigError, ValidationError, ValidationErrorContext\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n# testing Body marker:\n\n\n@api.post(\"/task\")\ndef create_task(request, start: int = Body(...), end: int = Body(...)):\n    return [start, end]\n\n\n@api.post(\"/task2\")\ndef create_task2(request, start: int = Body(2), end: int = Form(1)):\n    return [start, end]\n\n\nclass UserIn(Schema):\n    # for testing validation errors context\n    email: str\n\n    @field_validator(\"email\")\n    @classmethod\n    def validate_email(cls, v):\n        if \"@\" not in v:\n            raise ValueError(\"invalid email\")\n        return v\n\n\n@api.post(\"/users\")\ndef create_user(request, payload: UserIn):\n    return payload.dict()\n\n\nclient = TestClient(api)\n\n\ndef test_body():\n    assert client.post(\"/task\", json={\"start\": 1, \"end\": 2}).json() == [1, 2]\n    assert client.post(\"/task\", json={\"start\": 1}).json() == {\n        \"detail\": [{\"type\": \"missing\", \"loc\": [\"body\", \"end\"], \"msg\": \"Field required\"}]\n    }\n\n\ndef test_body_form():\n    data = client.post(\"/task2\", POST={\"start\": \"1\", \"end\": \"2\"}).json()\n    print(data)\n    assert client.post(\"/task2\", POST={\"start\": \"1\", \"end\": \"2\"}).json() == [1, 2]\n    assert client.post(\"/task2\").json() == [2, 1]\n\n\ndef test_body_validation_error():\n    resp = client.post(\"/users\", json={\"email\": \"valid@email.com\"})\n    assert resp.status_code == 200\n\n    resp = client.post(\"/users\", json={\"email\": \"invalid.com\"})\n    assert resp.status_code == 422\n    assert resp.json()[\"detail\"] == [\n        {\n            \"type\": \"value_error\",\n            \"loc\": [\"body\", \"payload\", \"email\"],\n            \"msg\": \"Value error, invalid email\",\n            \"ctx\": {\"error\": \"invalid email\"},\n        }\n    ]\n\n\ndef test_incorrect_annotation():\n    api = NinjaAPI()\n\n    class Some(Schema):\n        a: int\n\n    with pytest.raises(ConfigError):\n\n        @api.post(\"/some\")\n        def some(request, payload=Some):\n            #  ................. ^------ invalid usage assigning class instead of annotation\n            return 42\n\n\nclass CustomErrorAPI(NinjaAPI):\n    def validation_error_from_error_contexts(\n        self,\n        error_contexts: List[ValidationErrorContext],\n    ) -> ValidationError:\n        errors: List[Dict[str, Any]] = []\n        for context in error_contexts:\n            model = context.model\n            for e in context.pydantic_validation_error.errors(\n                include_url=False, include_context=False, include_input=False\n            ):\n                errors.append({\n                    \"source\": model.__ninja_param_source__,\n                    \"message\": e[\"msg\"],\n                })\n        return ValidationError(errors)\n\n\ncustom_error_api = CustomErrorAPI()\n\n\n@custom_error_api.post(\"/users\")\ndef create_user2(request, payload: UserIn):\n    return payload.dict()\n\n\ncustom_error_client = TestClient(custom_error_api)\n\n\ndef test_body_custom_validation_error():\n    resp = custom_error_client.post(\"/users\", json={\"email\": \"valid@email.com\"})\n    assert resp.status_code == 200\n\n    resp = custom_error_client.post(\"/users\", json={\"email\": \"invalid.com\"})\n    assert resp.status_code == 422\n    assert resp.json()[\"detail\"] == [\n        {\n            \"source\": \"body\",\n            \"message\": \"Value error, invalid email\",\n        }\n    ]\n"
  },
  {
    "path": "tests/test_compatibility.py",
    "content": "\"\"\"Test Python 3.14 compatibility for ModelSchema annotations.\n\nPython 3.14 no longer puts __annotations__ in the class namespace during\nmetaclass __new__ (PEP 749). This broke ModelSchemaMetaclass which reads\nannotations from namespace to build custom_fields.\nissues 1652, 1580\n\"\"\"\n\nfrom django.db import models\n\nfrom ninja import ModelSchema, Schema\n\n\ndef test_modelschema_custom_annotation():\n    \"\"\"Custom type annotation on ModelSchema field should override the Django field type.\"\"\"\n\n    class CompatTestModel(models.Model):\n        name = models.CharField(max_length=100)\n        value = models.CharField(max_length=100)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class CompatTestModelSchema(ModelSchema):\n        value: int  # override CharField -> int\n\n        class Meta:\n            model = CompatTestModel\n            fields = [\"name\", \"value\"]\n\n    assert CompatTestModelSchema.model_fields[\"value\"].annotation is int\n\n\ndef test_modelschema_fk_schema_annotation():\n    \"\"\"FK field annotated with a nested Schema should use that schema, not the raw DB type.\"\"\"\n\n    class CompatParentModel(models.Model):\n        title = models.CharField(max_length=100)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class CompatChildModel(models.Model):\n        name = models.CharField(max_length=100)\n        parent = models.ForeignKey(CompatParentModel, on_delete=models.CASCADE)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class CompatParentSchema(Schema):\n        title: str\n\n    class CompatChildSchema(ModelSchema):\n        parent: CompatParentSchema\n\n        class Meta:\n            model = CompatChildModel\n            fields = [\"name\", \"parent\"]\n\n    assert CompatChildSchema.model_fields[\"parent\"].annotation is CompatParentSchema\n"
  },
  {
    "path": "tests/test_conf.py",
    "content": "from ninja.conf import settings\n\n\ndef test_default_configuration():\n    assert settings.PAGINATION_CLASS == \"ninja.pagination.LimitOffsetPagination\"\n    assert settings.PAGINATION_PER_PAGE == 100\n"
  },
  {
    "path": "tests/test_csrf.py",
    "content": "import re\n\nfrom django.conf import settings\nfrom django.http import JsonResponse\nfrom django.views.decorators.csrf import csrf_exempt, ensure_csrf_cookie\n\nfrom ninja import NinjaAPI\nfrom ninja.security import APIKeyCookie, APIKeyHeader, django_auth\nfrom ninja.testing import TestClient as BaseTestClient\n\n\nclass AnyCookieAuth(APIKeyCookie):\n    \"\"\"A mock authentication class that accepts any cookie value.\n    To test CSRF functionality without specific authentication logic.\n    \"\"\"\n\n    def authenticate(self, request, key):\n        return True\n\n\nclass TestClient(BaseTestClient):\n    \"\"\"\n    A mock authentication class that accepts any cookie value.\n    To test CSRF functionality without specific authentication logic.\n    \"\"\"\n\n    def _build_request(self, *args, **kwargs):\n        request = super()._build_request(*args, **kwargs)\n        request._dont_enforce_csrf_checks = False\n        return request\n\n\ncsrf_OFF = NinjaAPI(urls_namespace=\"csrf_OFF\")\ncsrf_ON = NinjaAPI(urls_namespace=\"csrf_ON\", auth=AnyCookieAuth())  # , csrf=True\ncsrf_ON_with_django_auth = NinjaAPI(urls_namespace=\"csrf_ON_django\", auth=django_auth)\n\n\n@csrf_OFF.post(\"/post\")\ndef post_off(request):\n    return {\"success\": True}\n\n\n@csrf_ON.post(\"/post\")\ndef post_on(request):\n    return {\"success\": True}\n\n\n@csrf_ON.post(\"/post/csrf_exempt\")\n@csrf_exempt\ndef post_on_with_exempt(request):\n    return {\"success\": True}\n\n\n# Operations for test_csrf_cookies_can_be_obtained - defined at module level\n# to avoid frozen router issues\n@csrf_ON.get(\"/obtain_csrf_token_get\")\n@ensure_csrf_cookie\ndef obtain_csrf_token_get(request):\n    return JsonResponse(data={\"success\": True})\n\n\n@csrf_ON.post(\"/obtain_csrf_token_post\")\n@ensure_csrf_cookie\n@csrf_exempt\ndef obtain_csrf_token_post(request):\n    return JsonResponse(data={\"success\": True})\n\n\n@csrf_ON_with_django_auth.get(\"/obtain_csrf_token_get\", auth=None)\n@ensure_csrf_cookie\ndef obtain_csrf_token_get_no_auth_route(request):\n    return JsonResponse(data={\"success\": True})\n\n\n@csrf_ON_with_django_auth.post(\"/obtain_csrf_token_post\", auth=None)\n@ensure_csrf_cookie\n@csrf_exempt\ndef obtain_csrf_token_post_no_auth_route(request):\n    return JsonResponse(data={\"success\": True})\n\n\nTOKEN = \"1bcdefghij2bcdefghij3bcdefghij4bcdefghij5bcdefghij6bcdefghijABCD\"\nCOOKIES = {settings.CSRF_COOKIE_NAME: TOKEN}\n\n\ndef test_csrf_off():\n    client = TestClient(csrf_OFF)\n    assert client.post(\"/post\", COOKIES=COOKIES).status_code == 200\n\n\ndef test_csrf_on():\n    client = TestClient(csrf_ON)\n\n    assert client.post(\"/post\", COOKIES=COOKIES).status_code == 403\n\n    # check with token in formdata\n    response = client.post(\"/post\", {\"csrfmiddlewaretoken\": TOKEN}, COOKIES=COOKIES)\n    assert response.status_code == 200\n\n    # check with headers\n    response = client.post(\"/post\", COOKIES=COOKIES, headers={\"X-CSRFTOKEN\": TOKEN})\n    assert response.status_code == 200\n\n    # exempt check\n    assert client.post(\"/post/csrf_exempt\", COOKIES=COOKIES).status_code == 200\n\n\ndef test_csrf_cookie_auth():\n    \"Cookie based authtentication should have csrf check by default\"\n\n    class CookieAuth(APIKeyCookie):\n        def authenticate(self, request, key):\n            return key == \"test\"\n\n    cookie_auth = CookieAuth()\n    api = NinjaAPI(auth=cookie_auth)\n\n    @api.post(\"/test\")\n    def test_view(request):\n        return {\"success\": True}\n\n    client = TestClient(api)\n\n    # No auth - access denied\n    assert client.post(\"/test\").status_code == 403\n\n    # Cookie auth + valid csrf\n    cookies = {\"key\": \"test\"}\n    cookies.update(COOKIES)\n    response = client.post(\"/test\", COOKIES=cookies, headers={\"X-CSRFTOKEN\": TOKEN})\n    assert response.status_code == 200, response.content\n\n    # Cookie auth + INVALID csrf\n    response = client.post(\n        \"/test\", COOKIES=cookies, headers={\"X-CSRFTOKEN\": TOKEN + \"invalid\"}\n    )\n    assert response.status_code == 403, response.content\n\n    # Turning off csrf on cookie, valid key, no csrf passed\n    cookie_auth.csrf = False\n    response = client.post(\"/test\", COOKIES={\"key\": \"test\"})\n    assert response.status_code == 200, response.content\n\n\ndef test_csrf_cookies_can_be_obtained():\n    # Operations are defined at module level to avoid frozen router issues\n    client = TestClient(csrf_ON)\n    # can get csrf cookie through get\n    response = client.get(\"/obtain_csrf_token_get\")\n    assert response.status_code == 200\n    assert len(response.cookies[\"csrftoken\"].value) > 0\n    # can get csrf cookie through exempted post\n    response = client.post(\"/obtain_csrf_token_post\")\n    assert response.status_code == 200\n    assert len(response.cookies[\"csrftoken\"].value) > 0\n    # Now testing a route with disabled auth from a client with django_auth set globally also works\n    client = TestClient(csrf_ON_with_django_auth)\n    # can get csrf cookie through get on route with disabled auth\n    response = client.get(\"/obtain_csrf_token_get\")\n    assert response.status_code == 200\n    assert len(response.cookies[\"csrftoken\"].value) > 0\n    # can get csrf cookie through exempted post on route with disabled auth\n    response = client.post(\"/obtain_csrf_token_post\")\n    assert response.status_code == 200\n    assert len(response.cookies[\"csrftoken\"].value) > 0\n\n\ndef test_docs():\n    \"Testing that docs are initializing csrf headers correctly\"\n\n    api = NinjaAPI(auth=AnyCookieAuth())\n\n    client = TestClient(api)\n    resp = client.get(\"/docs\")\n    assert resp.status_code == 200\n    csrf_token = re.findall(r'data-csrf-token=\"(.*?)\"', resp.content.decode(\"utf8\"))[0]\n    assert len(csrf_token) > 0\n\n\ndef test_no_auth_csrf_exempt():\n    \"\"\"Test that APIs without authentication are CSRF exempt by default\"\"\"\n    from django.middleware.csrf import CsrfViewMiddleware\n    from django.test import RequestFactory\n\n    api = NinjaAPI(urls_namespace=\"test_no_auth_csrf\")\n\n    @api.post(\"/create\")\n    def create_item(request):\n        return {\"status\": \"created\"}\n\n    # Get the actual view function that Django will use\n    patterns = api.urls[0]\n    view_func = None\n    for pattern in patterns:\n        if hasattr(pattern, \"callback\") and \"create\" in str(pattern.pattern):\n            view_func = pattern.callback\n            break\n\n    assert view_func is not None, \"Could not find view function\"\n\n    # Test 1: Check if view has csrf_exempt attribute\n    has_csrf_exempt = hasattr(view_func, \"csrf_exempt\")\n    csrf_exempt_value = getattr(view_func, \"csrf_exempt\", None)\n    print(f\"View has csrf_exempt: {has_csrf_exempt}, value: {csrf_exempt_value}\")\n\n    # Test 2: Simulate Django's CSRF middleware check\n    factory = RequestFactory()\n    request = factory.post(\"/create\", data=\"{}\", content_type=\"application/json\")\n\n    csrf_middleware = CsrfViewMiddleware(lambda r: None)\n    csrf_middleware.process_request(request)\n    csrf_response = csrf_middleware.process_view(request, view_func, (), {})\n\n    # If csrf_response is None, the request passed CSRF checks\n    # If it's not None, it's a 403 Forbidden response\n    assert (\n        csrf_response is None\n    ), f\"CSRF middleware blocked the request! Regular APIs should be CSRF exempt. Response: {csrf_response}\"\n\n\ndef test_docs_cookie_auth():\n    class CookieAuth(APIKeyCookie):\n        def authenticate(self, request, key):\n            return key == \"test\"\n\n    class HeaderAuth(APIKeyHeader):\n        def authenticate(self, request, key):\n            return key == \"test\"\n\n    api = NinjaAPI(auth=CookieAuth())\n    client = TestClient(api)\n    resp = client.get(\"/docs\")\n    csrf_token = re.findall(r'data-csrf-token=\"(.*?)\"', resp.content.decode(\"utf8\"))[0]\n    assert len(csrf_token) > 0\n\n    api = NinjaAPI(auth=HeaderAuth())\n    client = TestClient(api)\n    resp = client.get(\"/docs\")\n    csrf_token = re.findall(r'data-csrf-token=\"(.*?)\"', resp.content.decode(\"utf8\"))[0]\n    assert len(csrf_token) == 0\n"
  },
  {
    "path": "tests/test_csrf_async.py",
    "content": "import pytest\nfrom django.conf import settings\n\nfrom ninja import NinjaAPI\nfrom ninja.security import APIKeyCookie\nfrom ninja.testing import TestAsyncClient as BaseTestAsyncClient\n\n\nclass AnyCookieAuth(APIKeyCookie):\n    \"\"\"A mock authentication class that accepts any cookie value.\n    To test CSRF functionality without specific authentication logic.\n    \"\"\"\n\n    def authenticate(self, request, key):\n        return True\n\n\nclass TestAsyncClient(BaseTestAsyncClient):\n    \"\"\"Custom TestClient that forces CSRF checks\"\"\"\n\n    def _build_request(self, *args, **kwargs):\n        request = super()._build_request(*args, **kwargs)\n        request._dont_enforce_csrf_checks = False\n        return request\n\n\nTOKEN = \"1bcdefghij2bcdefghij3bcdefghij4bcdefghij5bcdefghij6bcdefghijABCD\"\nCOOKIES = {settings.CSRF_COOKIE_NAME: TOKEN}\n\n\n@pytest.mark.asyncio\nasync def test_csrf_off():\n    csrf_OFF = NinjaAPI(urls_namespace=\"csrf_OFF\")\n\n    @csrf_OFF.post(\"/post\")\n    async def post_off(request):\n        return {\"success\": True}\n\n    client = TestAsyncClient(csrf_OFF)\n    response = await client.post(\"/post\", COOKIES=COOKIES)\n    assert response.status_code == 200\n\n\n@pytest.mark.asyncio\nasync def test_csrf_on():\n    csrf_ON = NinjaAPI(urls_namespace=\"csrf_ON\", auth=AnyCookieAuth())\n\n    @csrf_ON.post(\"/post\")\n    async def post_on(request):\n        return {\"success\": True}\n\n    client = TestAsyncClient(csrf_ON)\n\n    response = await client.post(\"/post\", COOKIES=COOKIES)\n    assert response.status_code == 403\n\n    # check with token in formdata\n    response = await client.post(\n        \"/post\", {\"csrfmiddlewaretoken\": TOKEN}, COOKIES=COOKIES\n    )\n    assert response.status_code == 200\n\n    # check with headers\n    response = await client.post(\n        \"/post\", COOKIES=COOKIES, headers={\"X-CSRFTOKEN\": TOKEN}\n    )\n    assert response.status_code == 200\n\n\n@pytest.mark.asyncio\nasync def test_csrf_exempt_async():\n    \"\"\"Test that csrf_exempt functionality works with async operations\"\"\"\n    csrf_ON = NinjaAPI(urls_namespace=\"csrf_exempt_async\", auth=AnyCookieAuth())\n\n    # Define the async function and manually set csrf_exempt attribute\n    async def post_on_with_exempt(request):\n        return {\"success\": True}\n\n    # Manually set the csrf_exempt attribute (simulating what @csrf_exempt would do)\n    post_on_with_exempt.csrf_exempt = True\n\n    # Register with the API\n    csrf_ON.post(\"/post/csrf_exempt\")(post_on_with_exempt)\n\n    client = TestAsyncClient(csrf_ON)\n\n    # This should succeed even without CSRF token because of csrf_exempt attribute\n    response = await client.post(\"/post/csrf_exempt\", COOKIES=COOKIES)\n    assert response.status_code == 200\n"
  },
  {
    "path": "tests/test_decorators.py",
    "content": "from functools import wraps\nfrom typing import List\n\nfrom ninja import NinjaAPI\nfrom ninja.decorators import decorate_view\nfrom ninja.pagination import paginate\nfrom ninja.testing import TestClient\n\n\ndef some_decorator(view_func):\n    @wraps(view_func)\n    def wrapper(request, *args, **kwargs):\n        response = view_func(request, *args)\n        response[\"X-Decorator\"] = \"some_decorator\"\n        return response\n\n    return wrapper\n\n\ndef test_decorator_before():\n    api = NinjaAPI()\n\n    @decorate_view(some_decorator)\n    @api.get(\"/before\")\n    def dec_before(request):\n        return 1\n\n    client = TestClient(api)\n    response = client.get(\"/before\")\n    assert response.status_code == 200\n    assert response[\"X-Decorator\"] == \"some_decorator\"\n\n\ndef test_decorator_after():\n    api = NinjaAPI()\n\n    @api.get(\"/after\")\n    @decorate_view(some_decorator)\n    def dec_after(request):\n        return 1\n\n    client = TestClient(api)\n    response = client.get(\"/after\")\n    assert response.status_code == 200\n    assert response[\"X-Decorator\"] == \"some_decorator\"\n\n\ndef test_decorator_multiple():\n    api = NinjaAPI()\n\n    @api.get(\"/multi\", response=List[int])\n    @decorate_view(some_decorator)\n    @paginate\n    def dec_multi(request):\n        return [1, 2, 3, 4]\n\n    client = TestClient(api)\n    response = client.get(\"/multi\")\n    assert response.status_code == 200\n    assert response.json() == {\"count\": 4, \"items\": [1, 2, 3, 4]}\n    assert response[\"X-Decorator\"] == \"some_decorator\"\n"
  },
  {
    "path": "tests/test_discriminator.py",
    "content": "from typing import Union\n\nfrom pydantic import Field\nfrom typing_extensions import Annotated, Literal\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.testing import TestClient\n\n\nclass Example1(Schema):\n    label: Literal[\"ONE\"]\n    value: float\n\n\nclass Example2(Schema):\n    label: Literal[\"TWO\"]\n    value: int\n\n\n# Annotated union with discriminator\nUnionDiscriminator = Annotated[Union[Example1, Example2], Field(discriminator=\"label\")]\n\n# Regular union without annotation\nRegularUnion = Union[Example1, Example2]\n\n\napi = NinjaAPI()\n\n\n@api.post(\"/descr-union\")\ndef create_example(request, payload: UnionDiscriminator):\n    return {\"data\": payload.model_dump(), \"type\": payload.__class__.__name__}\n\n\n@api.post(\"/regular-union\")\ndef create_example_regular(request, payload: RegularUnion):\n    return {\"data\": payload.model_dump(), \"type\": payload.__class__.__name__}\n\n\nclient = TestClient(api)\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n    detail1 = schema[\"paths\"][\"/api/descr-union\"][\"post\"][\"requestBody\"][\"content\"][\n        \"application/json\"\n    ][\"schema\"]\n    detail2 = schema[\"paths\"][\"/api/regular-union\"][\"post\"][\"requestBody\"][\"content\"][\n        \"application/json\"\n    ][\"schema\"]\n\n    # First method should have 'discriminator' in OpenAPI api\n    assert \"discriminator\" in detail1\n    assert detail1[\"discriminator\"] == {\n        \"mapping\": {\n            \"ONE\": \"#/components/schemas/Example1\",\n            \"TWO\": \"#/components/schemas/Example2\",\n        },\n        \"propertyName\": \"label\",\n    }\n\n    # Second method should NOT have 'discriminator'\n    assert \"discriminator\" not in detail2\n\n\ndef test_annotated_union_with_discriminator():\n    # Test Example1\n    response = client.post(\n        \"/descr-union\",\n        json={\"label\": \"ONE\", \"value\": \"42\"},\n    )\n    assert response.status_code == 200\n    assert response.json() == {\n        \"data\": {\"label\": \"ONE\", \"value\": 42.0},\n        \"type\": \"Example1\",\n    }\n\n    # Test Example2\n    response = client.post(\n        \"/descr-union\",\n        json={\"label\": \"TWO\", \"value\": \"42\"},\n    )\n    assert response.status_code == 200\n    assert response.json() == {\n        \"data\": {\"label\": \"TWO\", \"value\": 42},\n        \"type\": \"Example2\",\n    }\n\n\ndef test_regular_union():\n    # Test that regular unions still work\n    response = client.post(\n        \"/regular-union\",\n        json={\"label\": \"ONE\", \"value\": \"2025\"},\n    )\n    assert response.status_code == 200\n    assert response.json() == {\n        \"data\": {\"label\": \"ONE\", \"value\": 2025},\n        \"type\": \"Example1\",\n    }\n\n    response = client.post(\n        \"/regular-union\",\n        json={\"label\": \"TWO\", \"value\": 123},\n    )\n    assert response.status_code == 200\n    assert response.json() == {\n        \"data\": {\"label\": \"TWO\", \"value\": 123},\n        \"type\": \"Example2\",\n    }\n"
  },
  {
    "path": "tests/test_django_models.py",
    "content": "import pytest\nfrom django.test import Client\nfrom django.urls import reverse\nfrom someapp.models import Event\n\n\n@pytest.mark.django_db\ndef test_with_client(client: Client):\n    assert Event.objects.count() == 0\n\n    test_item = {\"start_date\": \"2020-01-01\", \"end_date\": \"2020-01-02\", \"title\": \"test\"}\n\n    response = client.post(\"/api/events/create\", **json_payload(test_item))\n    assert response.status_code == 200\n    assert Event.objects.count() == 1\n\n    response = client.get(\"/api/events\")\n    assert response.status_code == 200\n    assert response.json() == [test_item]\n\n    response = client.get(\"/api/events/1\")\n    assert response.status_code == 200\n    assert response.json() == test_item\n\n\ndef test_reverse():\n    \"\"\"\n    Check that url reversing works.\n    \"\"\"\n    assert reverse(\"api-1.0.0:event-create-url-name\") == \"/api/events/create\"\n\n\ndef test_reverse_implicit():\n    \"\"\"\n    Check that implicit url reversing works.\n    \"\"\"\n    assert reverse(\"api-1.0.0:list_events\") == \"/api/events\"\n\n\ndef json_payload(data):\n    import json\n\n    return dict(data=json.dumps(data), content_type=\"application/json\")\n"
  },
  {
    "path": "tests/test_docs/__init__.py",
    "content": ""
  },
  {
    "path": "tests/test_docs/test_auth.py",
    "content": "from unittest.mock import Mock, patch\n\nimport pytest\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\n\ndef test_intro():\n    from docs.src.tutorial.authentication.code001 import api\n\n    client = TestClient(api)\n    assert client.get(\"/pets\").status_code == 401\n\n    user = Mock()\n    user.is_authenticated = True\n\n    response = client.get(\"/pets\", user=user)\n    assert response.status_code == 200\n\n\n@pytest.mark.django_db\ndef test_examples():\n    from someapp.models import Client\n\n    api = NinjaAPI()\n    Client.objects.create(key=\"12345\")\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.authentication.apikey01  # noqa: F401\n        import docs.src.tutorial.authentication.apikey02  # noqa: F401\n        import docs.src.tutorial.authentication.apikey03  # noqa: F401\n        import docs.src.tutorial.authentication.basic01  # noqa: F401\n        import docs.src.tutorial.authentication.bearer01  # noqa: F401\n        import docs.src.tutorial.authentication.code001  # noqa: F401\n        import docs.src.tutorial.authentication.code002  # noqa: F401\n        import docs.src.tutorial.authentication.multiple01  # noqa: F401\n        import docs.src.tutorial.authentication.schema01  # noqa: F401\n\n        client = TestClient(api)\n\n        response = client.get(\"/ipwhitelist\", META={\"REMOTE_ADDR\": \"127.0.0.1\"})\n        assert response.status_code == 401\n        response = client.get(\"/ipwhitelist\", META={\"REMOTE_ADDR\": \"8.8.8.8\"})\n        assert response.status_code == 200\n\n        # Api key --------------------------------\n\n        response = client.get(\"/apikey\")\n        assert response.status_code == 401\n        response = client.get(\"/apikey?api_key=12345\")\n        assert response.status_code == 200\n\n        response = client.get(\"/headerkey\")\n        assert response.status_code == 401\n        response = client.get(\"/headerkey\", headers={\"X-API-Key\": \"supersecret\"})\n        assert response.status_code == 200\n\n        response = client.get(\"/cookiekey\")\n        assert response.status_code == 401\n        response = client.get(\"/cookiekey\", COOKIES={\"key\": \"supersecret\"})\n        assert response.status_code == 200\n\n        # Basic http --------------------------------\n\n        response = client.get(\"/basic\")\n        assert response.status_code == 401\n        response = client.get(\n            \"/basic\", headers={\"Authorization\": \"Basic YWRtaW46c2VjcmV0\"}\n        )\n        assert response.status_code == 200\n        assert response.json() == {\"httpuser\": \"admin\"}\n\n        # Bearer http --------------------------------\n\n        response = client.get(\"/bearer\")\n        assert response.status_code == 401\n\n        response = client.get(\n            \"/bearer\", headers={\"Authorization\": \"Bearer supersecret\"}\n        )\n        assert response.status_code == 200\n\n        # Multiple ------------------------------------\n        assert client.get(\"/multiple\").status_code == 401\n        assert client.get(\"/multiple?key=supersecret\").status_code == 200\n        assert (\n            client.get(\"/multiple\", headers={\"key\": \"supersecret\"}).status_code == 200\n        )\n\n\ndef test_global():\n    from docs.src.tutorial.authentication.global01 import api\n\n    @api.get(\"/somemethod\")\n    def mustbeauthed(request):\n        return {\"auth\": request.auth}\n\n    client = TestClient(api)\n\n    assert client.get(\"/somemethod\").status_code == 401\n\n    resp = client.post(\n        \"/token\", POST={\"username\": \"admin\", \"password\": \"giraffethinnknslong\"}\n    )\n    assert resp.status_code == 200\n    assert resp.json() == {\"token\": \"supersecret\"}\n\n    resp = client.get(\"/somemethod\", headers={\"Authorization\": \"Bearer supersecret\"})\n    assert resp.status_code == 200\n"
  },
  {
    "path": "tests/test_docs/test_body.py",
    "content": "from unittest.mock import patch\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\n\ndef test_examples():\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.body.code01  # noqa: F401\n        import docs.src.tutorial.body.code02  # noqa: F401\n        import docs.src.tutorial.body.code03  # noqa: F401\n\n        client = TestClient(api)\n\n        assert client.post(\n            \"/items\", json={\"name\": \"Katana\", \"price\": 299.00, \"quantity\": 10}\n        ).json() == {\n            \"name\": \"Katana\",\n            \"description\": None,\n            \"price\": 299.0,\n            \"quantity\": 10,\n        }\n\n        assert client.put(\n            \"/items/1\", json={\"name\": \"Katana\", \"price\": 299.00, \"quantity\": 10}\n        ).json() == {\n            \"item_id\": 1,\n            \"item\": {\n                \"name\": \"Katana\",\n                \"description\": None,\n                \"price\": 299.0,\n                \"quantity\": 10,\n            },\n        }\n\n        assert client.post(\n            \"/items/1?q=test\", json={\"name\": \"Katana\", \"price\": 299.00, \"quantity\": 10}\n        ).json() == {\n            \"item_id\": 1,\n            \"q\": \"test\",\n            \"item\": {\n                \"name\": \"Katana\",\n                \"description\": None,\n                \"price\": 299.0,\n                \"quantity\": 10,\n            },\n        }\n"
  },
  {
    "path": "tests/test_docs/test_form.py",
    "content": "import sys\nfrom unittest.mock import patch\n\nimport pytest\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\n\ndef test_examples():\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.form.code01  # noqa: F401\n        import docs.src.tutorial.form.code02  # noqa: F401\n\n        client = TestClient(api)\n\n        assert client.post(\n            \"/items\", data={\"name\": \"Katana\", \"price\": 299.00, \"quantity\": 10}\n        ).json() == {\n            \"name\": \"Katana\",\n            \"description\": None,\n            \"price\": 299.0,\n            \"quantity\": 10,\n        }\n\n        assert client.post(\n            \"/items/1?q=test\", data={\"name\": \"Katana\", \"price\": 299.00, \"quantity\": 10}\n        ).json() == {\n            \"item_id\": 1,\n            \"q\": \"test\",\n            \"item\": {\n                \"name\": \"Katana\",\n                \"description\": None,\n                \"price\": 299.0,\n                \"quantity\": 10,\n            },\n        }\n\n\n@pytest.mark.skipif(sys.version_info[:2] < (3, 9), reason=\"requires py3.9+\")\ndef test_examples_extra():\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.form.code03  # noqa: F401\n\n        client = TestClient(api)\n\n        assert client.post(\n            \"/items-blank-default\",\n            data={\"name\": \"Katana\", \"price\": \"\", \"quantity\": \"\", \"in_stock\": \"\"},\n        ).json() == {\n            \"name\": \"Katana\",\n            \"description\": None,\n            \"in_stock\": True,\n            \"price\": 0.0,\n            \"quantity\": 0,\n        }\n"
  },
  {
    "path": "tests/test_docs/test_index.py",
    "content": "from docs.src.index001 import api\nfrom ninja.testing import TestClient\n\nclient = TestClient(api)\n\n\ndef test_api():\n    response = client.get(\"/add?a=1&b=2\")\n    assert response.json() == {\"result\": 3}\n"
  },
  {
    "path": "tests/test_docs/test_path.py",
    "content": "from unittest.mock import patch\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\n\ndef test_examples():\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.path.code01  # noqa: F401\n\n        client = TestClient(api)\n\n        response = client.get(\"/items/123\")\n        assert response.json() == {\"item_id\": \"123\"}\n\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.path.code010  # noqa: F401\n        import docs.src.tutorial.path.code02  # noqa: F401\n\n        client = TestClient(api)\n\n        response = client.get(\"/items/123\")\n        assert response.json() == {\"item_id\": 123}\n\n        response = client.get(\"/events/2020/1/1\")\n        assert response.json() == {\"date\": \"2020-01-01\"}\n        schema = api.get_openapi_schema(path_prefix=\"\")\n        events_params = schema[\"paths\"][\"/events/{year}/{month}/{day}\"][\"get\"][\n            \"parameters\"\n        ]\n        assert events_params == [\n            {\n                \"in\": \"path\",\n                \"name\": \"year\",\n                \"schema\": {\"title\": \"Year\", \"type\": \"integer\"},\n                \"required\": True,\n            },\n            {\n                \"in\": \"path\",\n                \"name\": \"month\",\n                \"schema\": {\"title\": \"Month\", \"type\": \"integer\"},\n                \"required\": True,\n            },\n            {\n                \"in\": \"path\",\n                \"name\": \"day\",\n                \"schema\": {\"title\": \"Day\", \"type\": \"integer\"},\n                \"required\": True,\n            },\n        ]\n"
  },
  {
    "path": "tests/test_docs/test_query.py",
    "content": "from unittest.mock import patch\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\n\ndef test_examples():\n    api = NinjaAPI()\n\n    with patch(\"builtins.api\", api, create=True):\n        import docs.src.tutorial.query.code01  # noqa: F401\n        import docs.src.tutorial.query.code010  # noqa: F401\n        import docs.src.tutorial.query.code02  # noqa: F401\n        import docs.src.tutorial.query.code03  # noqa: F401\n\n        client = TestClient(api)\n\n        # Defaults\n        assert client.get(\"/weapons\").json() == [\n            \"Ninjato\",\n            \"Shuriken\",\n            \"Katana\",\n            \"Kama\",\n            \"Kunai\",\n            \"Naginata\",\n            \"Yari\",\n        ]\n\n        assert client.get(\"/weapons?offset=0&limit=3\").json() == [\n            \"Ninjato\",\n            \"Shuriken\",\n            \"Katana\",\n        ]\n\n        assert client.get(\"/weapons?offset=2&limit=2\").json() == [\n            \"Katana\",\n            \"Kama\",\n        ]\n\n        # Required/Optional\n\n        assert client.get(\"/weapons/search?offset=1&q=k\").json() == [\n            \"Katana\",\n            \"Kama\",\n            \"Kunai\",\n        ]\n\n        # Coversion\n\n        # fmt: off\n        assert client.get(\"/example?b=1\").json() == [None, True, None, None]\n        assert client.get(\"/example?b=True\").json() == [None, True, None, None]\n        assert client.get(\"/example?b=true\").json() == [None, True, None, None]\n        assert client.get(\"/example?b=on\").json() == [None, True, None, None]\n        assert client.get(\"/example?b=yes\").json() == [None, True, None, None]\n        assert client.get(\"/example?b=0\").json() == [None, False, None, None]\n        assert client.get(\"/example?b=no\").json() == [None, False, None, None]\n        assert client.get(\"/example?b=false\").json() == [None, False, None, None]\n        assert client.get(\"/example?d=1577836800\").json() == [None, None, \"2020-01-01\", None]\n        assert client.get(\"/example?d=2020-01-01\").json() == [None, None, \"2020-01-01\", None]\n        # fmt: on\n\n        # Schema\n\n        assert client.get(\"/filter\").json() == {\n            \"filters\": {\n                \"limit\": 100,\n                \"offset\": None,\n                \"query\": None,\n                \"category__in\": None,\n            }\n        }\n        assert client.get(\"/filter?limit=10\").json() == {\n            \"filters\": {\n                \"limit\": 10,\n                \"offset\": None,\n                \"query\": None,\n                \"category__in\": None,\n            }\n        }\n        assert client.get(\"/filter?offset=10\").json() == {\n            \"filters\": {\"limit\": 100, \"offset\": 10, \"query\": None, \"category__in\": None}\n        }\n        assert client.get(\"/filter?query=10\").json() == {\n            \"filters\": {\n                \"limit\": 100,\n                \"offset\": None,\n                \"query\": \"10\",\n                \"category__in\": None,\n            }\n        }\n        assert client.get(\"/filter?categories=a&categories=b\").json() == {\n            \"filters\": {\n                \"limit\": 100,\n                \"offset\": None,\n                \"query\": None,\n                \"category__in\": [\"a\", \"b\"],\n            }\n        }\n\n        schema = api.get_openapi_schema(path_prefix=\"\")\n        params = schema[\"paths\"][\"/filter\"][\"get\"][\"parameters\"]\n        # print(params)\n        assert params == [\n            {\n                \"in\": \"query\",\n                \"name\": \"limit\",\n                \"schema\": {\"default\": 100, \"title\": \"Limit\", \"type\": \"integer\"},\n                \"required\": False,\n            },\n            {\n                \"in\": \"query\",\n                \"name\": \"offset\",\n                \"schema\": {\"title\": \"Offset\", \"type\": \"integer\"},\n                \"required\": False,\n            },\n            {\n                \"in\": \"query\",\n                \"name\": \"query\",\n                \"schema\": {\"title\": \"Query\", \"type\": \"string\"},\n                \"required\": False,\n            },\n            {\n                \"in\": \"query\",\n                \"name\": \"categories\",\n                \"schema\": {\n                    \"items\": {\"type\": \"string\"},\n                    \"title\": \"Categories\",\n                    \"type\": \"array\",\n                },\n                \"required\": False,\n            },\n        ]\n"
  },
  {
    "path": "tests/test_enum.py",
    "content": "from datetime import date\nfrom enum import Enum\nfrom typing import List, Optional\n\nfrom pydantic import BaseModel\n\nfrom ninja import NinjaAPI, Query\nfrom ninja.testing import TestClient\n\n\nclass RoomEnum(str, Enum):\n    double = \"double\"\n    twin = \"twin\"\n    single = \"single\"\n\n\nclass ExtraEnum(str, Enum):\n    a = \"a\"\n    b = \"b\"\n\n\nclass Booking(BaseModel):\n    start: date\n    end: date\n    room: RoomEnum = RoomEnum.double\n\n\napi = NinjaAPI()\n\n\n@api.post(\"/book\")\ndef create_booking(request, booking: Booking):\n    return booking\n\n\n@api.get(\"/search\")\ndef booking_search(request, room: RoomEnum):\n    return {\"room\": room}\n\n\n@api.get(\"/optional\")\ndef enum_optional(\n    request, room: Optional[RoomEnum] = Query(None, description=\"description\")\n):\n    return {\"room\": room}\n\n\n@api.get(\"/optional2\")\ndef enum_optional2(request, extra: Optional[ExtraEnum] = None):\n    return {\"extra\": extra}\n\n\n@api.get(\"/list\")\ndef enum_list(request, rooms: List[RoomEnum] = Query(None, description=\"description\")):\n    return {\"rooms\": rooms}\n\n\nclass QueryOnlyEnum(str, Enum):\n    one = \"one\"\n    two = \"two\"\n\n\n@api.get(\"/new-list\")\ndef new_enum_list(\n    request, q: List[QueryOnlyEnum] = Query(None, description=\"description\")\n):\n    return {\"q\": q}\n\n\nclient = TestClient(api)\n\n\ndef test_enums():\n    response = client.post(\n        \"/book\", json={\"start\": \"2020-01-01\", \"end\": \"2020-01-02\", \"room\": \"double\"}\n    )\n    assert response.status_code == 200, response.content\n    assert response.json() == {\n        \"start\": \"2020-01-01\",\n        \"end\": \"2020-01-02\",\n        \"room\": \"double\",\n    }\n\n    response = client.post(\n        \"/book\", json={\"start\": \"2020-01-01\", \"end\": \"2020-01-02\", \"room\": \"triple\"}\n    )\n    assert response.status_code == 422\n\n    response = client.get(\"/search?room=twin\")\n    assert response.status_code == 200\n    assert response.json() == {\"room\": \"twin\"}\n\n    response = client.get(\"/search?room=other\")\n    assert response.status_code == 422\n\n    response = client.get(\"/optional?room=twin\")\n    assert response.status_code == 200\n\n    response = client.get(\"/optional\")\n    assert response.status_code == 200\n    assert response.json() == {\"room\": None}\n\n    response = client.get(\"/optional2?extra=a\")\n    assert response.status_code == 200\n    assert response.json() == {\"extra\": \"a\"}\n\n    response = client.get(\"/optional2\")\n    assert response.json() == {\"extra\": None}\n\n    response = client.get(\"/list?rooms=twin&rooms=single\")\n    assert response.status_code == 200\n    assert response.json() == {\"rooms\": [\"twin\", \"single\"]}\n\n    response = client.get(\"/new-list?q=one&q=one\")\n    assert response.status_code == 200\n    assert response.json() == {\"q\": [\"one\", \"one\"]}\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n\n    booking_schema = schema[\"components\"][\"schemas\"][\"Booking\"]\n    room_prop = booking_schema[\"properties\"][\"room\"]\n\n    if \"allOf\" in room_prop:\n        # pydantic 1.7+ change:\n        assert room_prop[\"allOf\"] == [{\"$ref\": \"#/components/schemas/RoomEnum\"}]\n    else:\n        assert room_prop == {\"$ref\": \"#/components/schemas/RoomEnum\"}\n\n    assert schema[\"components\"][\"schemas\"][\"RoomEnum\"] == {\n        \"enum\": [\"double\", \"twin\", \"single\"],\n        \"title\": \"RoomEnum\",\n        \"type\": \"string\",\n    }\n\n    book_operation = schema[\"paths\"][\"/api/book\"][\"post\"]\n    assert book_operation[\"requestBody\"][\"content\"][\"application/json\"][\"schema\"] == {\n        \"$ref\": \"#/components/schemas/Booking\"\n    }\n\n    search_operation = schema[\"paths\"][\"/api/search\"][\"get\"]\n    room_param = search_operation[\"parameters\"][0]\n    assert room_param == {\n        \"in\": \"query\",\n        \"name\": \"room\",\n        \"required\": True,\n        \"schema\": {\n            \"title\": \"RoomEnum\",\n            \"enum\": [\"double\", \"twin\", \"single\"],\n            \"type\": \"string\",\n        },\n    }\n\n    optional_operation = schema[\"paths\"][\"/api/optional\"][\"get\"]\n    room_param = optional_operation[\"parameters\"][0]\n    assert room_param == {\n        \"in\": \"query\",\n        \"name\": \"room\",\n        \"schema\": {\n            \"anyOf\": [{\"$ref\": \"#/components/schemas/RoomEnum\"}, {\"type\": \"null\"}],\n            \"description\": \"description\",\n        },\n        \"required\": False,\n        \"description\": \"description\",\n    }\n\n    assert schema[\"paths\"][\"/api/new-list\"][\"get\"][\"parameters\"][0] == {\n        \"description\": \"description\",\n        \"in\": \"query\",\n        \"name\": \"q\",\n        \"required\": False,\n        \"schema\": {\n            \"description\": \"description\",\n            \"title\": \"Q\",\n            \"items\": {\n                \"enum\": [\"one\", \"two\"],\n                \"title\": \"QueryOnlyEnum\",\n                \"type\": \"string\",\n            },\n            \"type\": \"array\",\n        },\n    }\n\n\ndef test_optional_get_schema():\n    \"This tests that enum that is only used in GET operation puts a that enum into schema.components\"\n    schema = api.get_openapi_schema()\n\n    op = schema[\"paths\"][\"/api/optional2\"][\"get\"]\n    print(op)\n    assert op[\"parameters\"][0][\"schema\"][\"anyOf\"] == [\n        {\"$ref\": \"#/components/schemas/ExtraEnum\"},\n        {\"type\": \"null\"},\n    ]\n\n    components = schema[\"components\"][\"schemas\"]\n    print(components)\n    assert \"ExtraEnum\" in components\n"
  },
  {
    "path": "tests/test_errors.py",
    "content": "import pickle\n\nfrom ninja.errors import HttpError, ValidationError\n\n\ndef test_validation_error_is_picklable_and_unpicklable():\n    error_to_serialize = ValidationError([{\"testkey\": \"testvalue\"}])\n\n    serialized = pickle.dumps(error_to_serialize)\n    assert serialized  # Not empty\n\n    deserialized = pickle.loads(serialized)\n    assert isinstance(deserialized, ValidationError)\n    assert deserialized.errors == error_to_serialize.errors\n\n\ndef test_http_error_is_picklable_and_unpicklable():\n    error_to_serialize = HttpError(500, \"Test error\")\n\n    serialized = pickle.dumps(error_to_serialize)\n    assert serialized  # Not empty\n\n    deserialized = pickle.loads(serialized)\n    assert isinstance(deserialized, HttpError)\n    assert deserialized.status_code == error_to_serialize.status_code\n    assert deserialized.message == error_to_serialize.message\n"
  },
  {
    "path": "tests/test_exceptions.py",
    "content": "import pytest\nfrom django.http import Http404\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.testing import TestAsyncClient, TestClient\n\napi = NinjaAPI()\n\n\nclass CustomException(Exception):\n    pass\n\n\n@api.exception_handler(CustomException)\ndef on_custom_error(request, exc):\n    return api.create_response(request, {\"custom\": True}, status=422)\n\n\nclass Payload(Schema):\n    test: int\n\n\n@api.post(\"/error/{code}\")\ndef err_thrower(request, code: str, payload: Payload = None):\n    if code == \"base\":\n        raise RuntimeError(\"test\")\n    if code == \"404\":\n        raise Http404(\"test\")\n    if code == \"custom\":\n        raise CustomException(\"test\")\n\n\nclient = TestClient(api)\n\n\ndef test_default_handler(settings):\n    settings.DEBUG = True\n\n    response = client.post(\"/error/base\")\n    assert response.status_code == 500\n    assert b\"RuntimeError: test\" in response.content\n\n    response = client.post(\"/error/404\")\n    assert response.status_code == 404\n    assert response.json() == {\"detail\": \"Not Found: test\"}\n\n    response = client.post(\"/error/custom\", body=\"invalid_json\")\n    assert response.status_code == 400\n    assert response.json() == {\n        \"detail\": \"Cannot parse request body (Expecting value: line 1 column 1 (char 0))\",\n    }\n\n    settings.DEBUG = False\n    with pytest.raises(RuntimeError):\n        response = client.post(\"/error/base\")\n\n    response = client.post(\"/error/custom\", body=\"invalid_json\")\n    assert response.status_code == 400\n    assert response.json() == {\"detail\": \"Cannot parse request body\"}\n\n\n@pytest.mark.parametrize(\n    \"route,status_code,json\",\n    [\n        (\"/error/404\", 404, {\"detail\": \"Not Found\"}),\n        (\"/error/custom\", 422, {\"custom\": True}),\n    ],\n)\ndef test_exceptions(route, status_code, json):\n    response = client.post(route)\n    assert response.status_code == status_code\n    assert response.json() == json\n\n\n@pytest.mark.asyncio\nasync def test_asyncio_exceptions():\n    api = NinjaAPI()\n\n    @api.get(\"/error\")\n    async def thrower(request):\n        raise Http404(\"test\")\n\n    client = TestAsyncClient(api)\n    response = await client.get(\"/error\")\n    assert response.status_code == 404\n\n\ndef test_no_handlers():\n    api = NinjaAPI()\n    api._exception_handlers = {}\n\n    @api.get(\"/error\")\n    def thrower(request):\n        raise RuntimeError(\"test\")\n\n    client = TestClient(api)\n\n    with pytest.raises(RuntimeError):\n        client.get(\"/error\")\n"
  },
  {
    "path": "tests/test_export_openapi_schema.py",
    "content": "import json\nimport tempfile\nfrom io import StringIO\nfrom pathlib import Path\nfrom unittest.mock import patch\n\nimport pytest\nfrom django.core.management import call_command\nfrom django.core.management.base import CommandError\n\nfrom ninja.management.commands.export_openapi_schema import Command as ExportCmd\n\n\ndef test_export_default():\n    output = StringIO()\n    call_command(ExportCmd(), stdout=output)\n    json.loads(output.getvalue())  # if no exception, then OK\n    assert len(output.getvalue().splitlines()) == 1\n\n\ndef test_export_indent():\n    output = StringIO()\n    call_command(ExportCmd(), indent=1, stdout=output)\n    assert len(output.getvalue().splitlines()) > 1\n\n\ndef test_export_to_file():\n    with tempfile.TemporaryDirectory() as tmp:\n        output_file = Path(tmp) / \"result.json\"\n        call_command(ExportCmd(), output=output_file)\n        json.loads(Path(output_file).read_text())\n\n\ndef test_export_custom():\n    with pytest.raises(CommandError):\n        call_command(ExportCmd(), api=\"something.that.doesnotexist\")\n\n    with pytest.raises(CommandError) as e:\n        call_command(ExportCmd(), api=\"django.core.management.base.BaseCommand\")\n    assert (\n        str(e.value)\n        == \"django.core.management.base.BaseCommand is not instance of NinjaAPI!\"\n    )\n\n    call_command(ExportCmd(), api=\"demo.urls.api_v1\")\n    call_command(ExportCmd(), api=\"demo.urls.api_v2\")\n\n\n@patch(\"ninja.management.commands.export_openapi_schema.resolve\")\ndef test_export_default_without_api_endpoint(mock):\n    mock.side_effect = AttributeError()\n    output = StringIO()\n    with pytest.raises(CommandError) as e:\n        call_command(ExportCmd(), stdout=output)\n    assert str(e.value) == \"No NinjaAPI instance found; please specify one with --api\"\n"
  },
  {
    "path": "tests/test_files.py",
    "content": "from typing import List\n\nimport pytest\nfrom django.core.files.uploadedfile import SimpleUploadedFile\nfrom django.utils.datastructures import MultiValueDict\n\nfrom ninja import File, NinjaAPI, UploadedFile\nfrom ninja.errors import ConfigError\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\n@api.post(\"/file1\")\ndef file1(request, file: UploadedFile = File(...)):\n    return {\"name\": file.name, \"data\": file.read().decode()}\n\n\n@api.post(\"/file2\")\ndef file_no_marker(request, file: UploadedFile):\n    return {\"name\": file.name, \"data\": file.read().decode()}\n\n\n@api.post(\"/file3\")\ndef file_no_marker2(request, file: UploadedFile = None):\n    return {\"data\": file and file.read().decode() or None}\n\n\n@api.post(\"/file4\")\ndef file_no_marker4(request, files: List[UploadedFile]):\n    return {\"result\": [f.read().decode() for f in files]}\n\n\n@api.post(\"/file5\")\ndef file_no_marker5(request, file1: UploadedFile, file2: UploadedFile):\n    return {\"result\": [f.read().decode() for f in (file1, file2)]}\n\n\n@api.post(\"/file6\")\ndef file_no_marker6(request, file: UploadedFile, files: List[UploadedFile]):\n    return {\"result\": [f.read().decode() for f in [file] + files]}\n\n\nclient = TestClient(api)\n\n\ndef test_files():\n    response = client.post(\"/file1\")  # no file\n    assert response.status_code == 422\n\n    file = SimpleUploadedFile(\"test.txt\", b\"data123\")\n    response = client.post(\"/file1\", FILES={\"file\": file})\n    assert response.status_code == 200\n    assert response.json() == {\"name\": \"test.txt\", \"data\": \"data123\"}\n\n    file = SimpleUploadedFile(\"test.txt\", b\"data345\")\n    response = client.post(\"/file2\", FILES={\"file\": file})\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"name\": \"test.txt\", \"data\": \"data345\"}\n\n    file = SimpleUploadedFile(\"test.txt\", b\"data567\")\n    response = client.post(\"/file3\")\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"data\": None}\n\n    file = SimpleUploadedFile(\"test.txt\", b\"data789\")\n    response = client.post(\"/file4\", FILES=MultiValueDict({\"files\": [file]}))\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"result\": [\"data789\"]}\n\n    file1 = SimpleUploadedFile(\"test1.txt\", b\"dataABC\")\n    file2 = SimpleUploadedFile(\"test2.txt\", b\"dataDEF\")\n    response = client.post(\"/file5\", FILES={\"file1\": file1, \"file2\": file2})\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"result\": [\"dataABC\", \"dataDEF\"]}\n\n    file1 = SimpleUploadedFile(\"test1.txt\", b\"dataABC\")\n    file2 = SimpleUploadedFile(\"test2.txt\", b\"dataDEF\")\n    file3 = SimpleUploadedFile(\"test2.txt\", b\"dataGHI\")\n    response = client.post(\n        \"/file6\", FILES=MultiValueDict({\"file\": [file1], \"files\": [file2, file3]})\n    )\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"result\": [\"dataABC\", \"dataDEF\", \"dataGHI\"]}\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n    methods = []\n    for pth in [\"/file1\", \"/file2\", \"/file3\", \"/file4\"]:\n        method = schema[\"paths\"][f\"/api{pth}\"][\"post\"]\n        method = method[\"requestBody\"][\"content\"][\"multipart/form-data\"][\"schema\"]\n        methods.append(method)\n\n    assert methods == [\n        {\n            \"type\": \"object\",\n            \"properties\": {\n                \"file\": {\"type\": \"string\", \"format\": \"binary\", \"title\": \"File\"}\n            },\n            \"required\": [\"file\"],\n            \"title\": \"FileParams\",\n        },\n        {\n            \"type\": \"object\",\n            \"properties\": {\n                \"file\": {\"type\": \"string\", \"format\": \"binary\", \"title\": \"File\"}\n            },\n            \"required\": [\"file\"],\n            \"title\": \"FileParams\",\n        },\n        {\n            \"type\": \"object\",\n            \"properties\": {\n                \"file\": {\"type\": \"string\", \"format\": \"binary\", \"title\": \"File\"}\n            },\n            \"title\": \"FileParams\",\n        },\n        {\n            \"type\": \"object\",\n            \"properties\": {\n                \"files\": {\n                    \"type\": \"array\",\n                    \"items\": {\"type\": \"string\", \"format\": \"binary\"},\n                    \"title\": \"Files\",\n                }\n            },\n            \"required\": [\"files\"],\n            \"title\": \"FileParams\",\n        },\n    ]\n\n\ndef test_invalid_file():\n    with pytest.raises(ValueError):\n        UploadedFile._validate(\"not_a_file\", None)\n\n\ndef test_files_fix_middleware():\n    api = NinjaAPI()\n\n    with pytest.raises(ConfigError):\n\n        @api.patch(\"/file1\")\n        def patch_with_file(request, file: UploadedFile):\n            return {\"name\": file.name}\n"
  },
  {
    "path": "tests/test_filter_schema.py",
    "content": "from typing import Optional\n\nimport pytest\nfrom django.core.exceptions import ImproperlyConfigured\nfrom django.db.models import Q, QuerySet\nfrom pydantic import Field\nfrom typing_extensions import Annotated\n\nfrom ninja import FilterConfigDict, FilterLookup, FilterSchema\n\n\nclass FakeQS(QuerySet):\n    def __init__(self, **kwargs):\n        super().__init__(**kwargs)\n        self.filtered = False\n\n    def filter(self, *args, **kwargs):\n        self.filtered = True\n        return self\n\n\ndef test_simple_config():\n    \"\"\"Test basic field filtering without q parameter.\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = None\n\n    filter_instance = DummyFilterSchema(name=\"foobar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name=\"foobar\")\n\n\ndef test_annotated_without_filter_lookup():\n    \"\"\"Test Annotated field without FilterLookup instance falls back to default behavior.\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[Optional[str], \"some_annotation\"] = None\n\n    filter_instance = DummyFilterSchema(name=\"foobar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name=\"foobar\")\n\n\ndef test_improperly_configured_deprecated():\n    \"\"\"Test ImproperlyConfigured error when q is not a string or list of strings (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        popular: Optional[str] = Field(None, q=Q(view_count__gt=1000))\n\n    filter_instance = DummyFilterSchema()\n    with pytest.raises(ImproperlyConfigured):\n        filter_instance.get_filter_expression()\n\n\ndef test_improperly_configured_annotated():\n    \"\"\"Test ImproperlyConfigured error when q is not a string or list of strings (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        popular: Annotated[Optional[str], FilterLookup(Q(view_count__gt=1000))] = None\n\n    filter_instance = DummyFilterSchema()\n    with pytest.raises(ImproperlyConfigured):\n        filter_instance.get_filter_expression()\n\n\ndef test_empty_q_when_none_ignored_deprecated():\n    \"\"\"Test empty Q expression when None values are ignored (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=\"name__icontains\")\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q()\n\n\ndef test_empty_q_when_none_ignored_annotated():\n    \"\"\"Test empty Q expression when None values are ignored (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q()\n\n\n@pytest.mark.parametrize(\"implicit_field_name\", [False, True])\ndef test_q_expressions2_deprecated(implicit_field_name):\n    \"\"\"Test implicit vs explicit field names in q expressions (deprecated Field approach).\"\"\"\n    if implicit_field_name:\n        q = \"__icontains\"\n    else:\n        q = \"name__icontains\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=q)\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n    filter_instance = DummyFilterSchema(name=\"John\", tag=None)\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"John\")\n\n\n@pytest.mark.parametrize(\"implicit_field_name\", [False, True])\ndef test_q_expressions2_annotated(implicit_field_name):\n    \"\"\"Test implicit vs explicit field names in q expressions (FilterLookup annotation).\"\"\"\n    if implicit_field_name:\n        q = \"__icontains\"\n    else:\n        q = \"name__icontains\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[Optional[str], FilterLookup(q)] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n    filter_instance = DummyFilterSchema(name=\"John\", tag=None)\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"John\")\n\n\ndef test_q_expressions3_deprecated():\n    \"\"\"Test multiple fields with different q expressions (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=\"name__icontains\")\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n    filter_instance = DummyFilterSchema(name=\"John\", tag=\"active\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"John\") & Q(tag=\"active\")\n\n\ndef test_q_expressions3_annotated():\n    \"\"\"Test multiple fields with different q expressions (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[Optional[str], FilterLookup(\"name__icontains\")] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n    filter_instance = DummyFilterSchema(name=\"John\", tag=\"active\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"John\") & Q(tag=\"active\")\n\n\n@pytest.mark.parametrize(\"implicit_field_name\", [False, True])\ndef test_q_is_a_list_deprecated(implicit_field_name):\n    \"\"\"Test q as list of lookups with OR connector (deprecated Field approach).\"\"\"\n    if implicit_field_name:\n        q__name = \"__icontains\"\n    else:\n        q__name = \"name__icontains\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=[q__name, \"user__username__icontains\"])\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == (Q(name__icontains=\"foo\") | Q(user__username__icontains=\"foo\")) & Q(\n        tag=\"bar\"\n    )\n\n\n@pytest.mark.parametrize(\"implicit_field_name\", [False, True])\ndef test_q_is_a_list_annotated(implicit_field_name):\n    \"\"\"Test q as list of lookups with OR connector (FilterLookup annotation).\"\"\"\n    if implicit_field_name:\n        q__name = \"__icontains\"\n    else:\n        q__name = \"name__icontains\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[\n            Optional[str], FilterLookup([q__name, \"user__username__icontains\"])\n        ] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == (Q(name__icontains=\"foo\") | Q(user__username__icontains=\"foo\")) & Q(\n        tag=\"bar\"\n    )\n\n\ndef test_field_level_expression_connector_deprecated():\n    \"\"\"Test field-level expression connector (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(\n            q=[\"name__icontains\", \"user__username__icontains\"],\n            expression_connector=\"AND\",\n        )\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"foo\") & Q(user__username__icontains=\"foo\") & Q(\n        tag=\"bar\"\n    )\n\n\ndef test_field_level_expression_connector_annotated():\n    \"\"\"Test field-level expression connector (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[\n            Optional[str],\n            FilterLookup(\n                [\"name__icontains\", \"user__username__icontains\"],\n                expression_connector=\"AND\",\n            ),\n        ] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"foo\") & Q(user__username__icontains=\"foo\") & Q(\n        tag=\"bar\"\n    )\n\n\ndef test_class_level_expression_connector_deprecated():\n    \"\"\"Test class-level expression connector (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag1: Optional[str] = Field(None, q=\"tag1\")\n        tag2: Optional[str] = Field(None, q=\"tag2\")\n\n        model_config = FilterConfigDict(expression_connector=\"OR\")\n\n    filter_instance = DummyFilterSchema(tag1=\"foo\", tag2=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag1=\"foo\") | Q(tag2=\"bar\")\n\n\ndef test_class_level_expression_connector_annotated():\n    \"\"\"Test class-level expression connector (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag1: Annotated[Optional[str], FilterLookup(\"tag1\")] = None\n        tag2: Annotated[Optional[str], FilterLookup(\"tag2\")] = None\n\n        model_config = FilterConfigDict(expression_connector=\"OR\")\n\n    filter_instance = DummyFilterSchema(tag1=\"foo\", tag2=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag1=\"foo\") | Q(tag2=\"bar\")\n\n\ndef test_class_level_and_field_level_expression_connector_deprecated():\n    \"\"\"Test both class-level and field-level expression connectors (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(\n            q=[\"name__icontains\", \"user__username__icontains\"],\n            expression_connector=\"AND\",\n        )\n        tag: Optional[str] = Field(None, q=\"tag\")\n\n        model_config = FilterConfigDict(expression_connector=\"OR\")\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"foo\") & Q(user__username__icontains=\"foo\") | Q(\n        tag=\"bar\"\n    )\n\n\ndef test_class_level_and_field_level_expression_connector_annotated():\n    \"\"\"Test both class-level and field-level expression connectors (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[\n            Optional[str],\n            FilterLookup(\n                [\"name__icontains\", \"user__username__icontains\"],\n                expression_connector=\"AND\",\n            ),\n        ] = None\n        tag: Annotated[Optional[str], FilterLookup(\"tag\")] = None\n\n        model_config = FilterConfigDict(expression_connector=\"OR\")\n\n    filter_instance = DummyFilterSchema(name=\"foo\", tag=\"bar\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name__icontains=\"foo\") & Q(user__username__icontains=\"foo\") | Q(\n        tag=\"bar\"\n    )\n\n\ndef test_ignore_none_deprecated():\n    \"\"\"Test field-level ignore_none setting (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag: Optional[str] = Field(None, q=\"tag\", ignore_none=False)\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag=None)\n\n\ndef test_ignore_none_annotated():\n    \"\"\"Test field-level ignore_none setting (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag: Annotated[Optional[str], FilterLookup(\"tag\", ignore_none=False)] = None\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag=None)\n\n\ndef test_ignore_none_class_level_deprecated():\n    \"\"\"Test class-level ignore_none setting (deprecated Field approach).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag1: Optional[str] = Field(None, q=\"tag1\")\n        tag2: Optional[str] = Field(None, q=\"tag2\")\n\n        model_config = FilterConfigDict(ignore_none=False)\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag1=None) & Q(tag2=None)\n\n\ndef test_ignore_none_class_level_annotated():\n    \"\"\"Test class-level ignore_none setting (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        tag1: Annotated[Optional[str], FilterLookup(\"tag1\")] = None\n        tag2: Annotated[Optional[str], FilterLookup(\"tag2\")] = None\n\n        model_config = FilterConfigDict(ignore_none=False)\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q(tag1=None) & Q(tag2=None)\n\n\ndef test_field_level_custom_expression():\n    \"\"\"Test custom filter_* methods override field configuration.\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = None\n        popular: Optional[bool] = None\n\n        def filter_popular(self, value):\n            return Q(downloads__gt=100) | Q(view_count__gt=1000) if value else Q()\n\n    filter_instance = DummyFilterSchema(name=\"foo\", popular=True)\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name=\"foo\") & (Q(downloads__gt=100) | Q(view_count__gt=1000))\n\n    filter_instance = DummyFilterSchema(name=\"foo\")\n    q = filter_instance.get_filter_expression()\n    assert q == Q(name=\"foo\")\n\n    filter_instance = DummyFilterSchema()\n    q = filter_instance.get_filter_expression()\n    assert q == Q()\n\n\ndef test_class_level_custom_expression():\n    \"\"\"Test custom_expression method overrides all field configuration.\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        adult: Annotated[Optional[bool], FilterLookup(\"this_will_be_ignored\")] = None\n\n        def custom_expression(self) -> Q:\n            return Q(age__gte=18) if self.adult is True else Q()\n\n    filter_instance = DummyFilterSchema(adult=True)\n    q = filter_instance.get_filter_expression()\n    assert q == Q(age__gte=18)\n\n\ndef test_filter_called():\n    \"\"\"Test filter() method applies expression to queryset (FilterLookup annotation).\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[Optional[str], FilterLookup(\"name\")] = None\n\n    filter_instance = DummyFilterSchema(name=\"foobar\")\n    queryset = FakeQS()\n    queryset = filter_instance.filter(queryset)\n    assert queryset.filtered\n\n\ndef test_multiple_filter_lookup_instances_error():\n    \"\"\"Test that multiple FilterLookup instances in a single annotation raises ImproperlyConfigured.\"\"\"\n\n    class DummyFilterSchema(FilterSchema):\n        name: Annotated[\n            Optional[str], FilterLookup(\"name__icontains\"), FilterLookup(\"name__exact\")\n        ] = None\n\n    filter_instance = DummyFilterSchema(name=\"test\")\n    with pytest.raises(ImproperlyConfigured):\n        filter_instance.get_filter_expression()\n\n\ndef test_pydantic_field_with_extra_warns():\n    \"\"\"Test that using pydantic Field with 'extra' attribute shows deprecation warning\"\"\"\n    import warnings\n\n    class DummyFilterSchema(FilterSchema):\n        name: Optional[str] = Field(None, q=\"name__icontains\")\n\n    filter_instance = DummyFilterSchema()\n\n    with warnings.catch_warnings(record=True) as w:\n        warnings.simplefilter(\"always\")\n        filter_instance.get_filter_expression()\n\n        # Check that a deprecation warning was issued\n        assert len(w) == 1\n        assert issubclass(w[0].category, DeprecationWarning)\n        assert \"deprecated\" in str(w[0].message).lower()\n        assert \"FilterLookup\" in str(w[0].message)\n"
  },
  {
    "path": "tests/test_forms.py",
    "content": "import pytest\n\nfrom ninja import Form, NinjaAPI, Schema\nfrom ninja.errors import ConfigError\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\n@api.post(\"/form\")\ndef form_operation(request, s: str = Form(...), i: int = Form(None)):\n    return {\"s\": s, \"i\": i}\n\n\nclient = TestClient(api)\n\n\ndef test_form():\n    response = client.post(\"/form\")  # invalid\n    assert response.status_code == 422\n\n    response = client.post(\"/form\", POST={\"s\": \"text\"})\n    assert response.status_code == 200\n    assert response.json() == {\"i\": None, \"s\": \"text\"}\n\n    response = client.post(\"/form\", POST={\"s\": \"text\", \"i\": None})\n    assert response.status_code == 200\n    assert response.json() == {\"i\": None, \"s\": \"text\"}\n\n    response = client.post(\"/form\", POST={\"s\": \"text\", \"i\": 2})\n    assert response.status_code == 200\n    assert response.json() == {\"i\": 2, \"s\": \"text\"}\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n    method = schema[\"paths\"][\"/api/form\"][\"post\"]\n    print(method[\"requestBody\"])\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/x-www-form-urlencoded\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"i\": {\"type\": \"integer\", \"title\": \"I\"},\n                        \"s\": {\"type\": \"string\", \"title\": \"S\"},\n                    },\n                    \"required\": [\"s\"],\n                    \"title\": \"FormParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n\ndef test_duplicate_names():\n    # Create separate APIs for error testing to avoid frozen router issues\n    class TestData(Schema):\n        p1: str\n\n    api1 = NinjaAPI(urls_namespace=\"test_dup1\")\n    match = \"Duplicated name: 'p1' in params: 'p1' & 'data'\"\n    with pytest.raises(ConfigError, match=match):\n\n        @api1.post(\"/broken1\")\n        def broken1(request, p1: int = Form(...), data: TestData = Form(...)):\n            pass\n\n    api2 = NinjaAPI(urls_namespace=\"test_dup2\")\n    match = \"Duplicated name: 'p1' also in 'data'\"\n    with pytest.raises(ConfigError, match=match):\n\n        @api2.post(\"/broken2\")\n        def broken2(request, data: TestData = Form(...), p1: int = Form(...)):\n            pass\n\n\n# TODO: Fix schema for this case:\n# class Credentials(Schema):\n#     username: str\n#     password: str\n\n\n# @api.post(\"/login\")\n# def login(request, credentials: Credentials = Form(...)):\n#     return {'username': credentials.username}\n"
  },
  {
    "path": "tests/test_forms_and_files.py",
    "content": "from django.core.files.uploadedfile import SimpleUploadedFile\n\nfrom ninja import File, Form, NinjaAPI, UploadedFile\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\n@api.post(\"/str_and_file\")\ndef str_and_file(\n    request,\n    title: str = Form(...),\n    description: str = Form(\"\"),\n    file: UploadedFile = File(...),\n):\n    return {\"title\": title, \"data\": file.read().decode()}\n\n\nclient = TestClient(api)\n\n\ndef test_files():\n    file = SimpleUploadedFile(\"test.txt\", b\"data123\")\n    response = client.post(\n        \"/str_and_file\",\n        FILES={\"file\": file},\n        POST={\"title\": \"hello\"},\n    )\n    assert response.status_code == 200\n    assert response.json() == {\"title\": \"hello\", \"data\": \"data123\"}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/str_and_file\"]\n    r_body = schema[\"post\"][\"requestBody\"]\n\n    assert r_body == {\n        \"content\": {\n            \"multipart/form-data\": {\n                \"schema\": {\n                    \"title\": \"MultiPartBodyParams\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"title\": {\"title\": \"Title\", \"type\": \"string\"},\n                        \"description\": {\n                            \"title\": \"Description\",\n                            \"default\": \"\",\n                            \"type\": \"string\",\n                        },\n                        \"file\": {\n                            \"title\": \"File\",\n                            \"type\": \"string\",\n                            \"format\": \"binary\",\n                        },\n                    },\n                    \"required\": [\"title\", \"file\"],\n                }\n            }\n        },\n        \"required\": True,\n    }\n"
  },
  {
    "path": "tests/test_inheritance_routers.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\n@api.get(\"/endpoint\")\n# view->api\ndef global_op(request):\n    return \"global\"\n\n\nfirst_router = Router()\n\n\n@first_router.get(\"/endpoint_1\")\n# view->router, router->api\ndef router_op1(request):\n    return \"first 1\"\n\n\nsecond_router_one = Router()\n\n\n@second_router_one.get(\"endpoint_1\")\n# view->router2, router2->router1, router1->api\ndef router_op2(request):\n    return \"second 1\"\n\n\nsecond_router_two = Router()\n\n\n@second_router_two.get(\"endpoint_2\")\n# view->router2, router2->router1, router1->api\ndef router2_op3(request):\n    return \"second 2\"\n\n\nfirst_router.add_router(\"/second\", second_router_one, tags=[\"one\"])\nfirst_router.add_router(\"/second\", second_router_two, tags=[\"two\"])\napi.add_router(\"/first\", first_router, tags=[\"global\"])\n\n\n@first_router.get(\"endpoint_2\")\n# router->api, view->router\ndef router1_op1(request):\n    return \"first 2\"\n\n\n@second_router_one.get(\"endpoint_3\")\n# router2->router1, router1->api, view->router2\ndef router21_op3(request, path_param: int = None):\n    return \"second 3\" if path_param is None else f\"second 3: {path_param}\"\n\n\nsecond_router_three = Router()\n\n\n@second_router_three.get(\"endpoint_4\")\n# router1->api, view->router2, router2->router1\ndef router_op3(request, path_param: int = None):\n    return \"second 4\" if path_param is None else f\"second 4: {path_param}\"\n\n\nfirst_router.add_router(\"/second\", second_router_three, tags=[\"three\"])\n\n\nclient = TestClient(api)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/endpoint\", 200, \"global\"),\n        (\"/first/endpoint_1\", 200, \"first 1\"),\n        (\"/first/endpoint_2\", 200, \"first 2\"),\n        (\"/first/second/endpoint_1\", 200, \"second 1\"),\n        (\"/first/second/endpoint_2\", 200, \"second 2\"),\n        (\"/first/second/endpoint_3\", 200, \"second 3\"),\n        (\"/first/second/endpoint_4\", 200, \"second 4\"),\n    ],\n)\ndef test_inheritance_responses(path, expected_status, expected_response):\n    response = client.get(path)\n    assert response.status_code == expected_status, response.content\n    assert response.json() == expected_response\n\n\ndef test_tags():\n    schema = api.get_openapi_schema()\n    # print(schema)\n    glob = schema[\"paths\"][\"/api/first/endpoint_1\"][\"get\"]\n    assert glob[\"tags\"] == [\"global\"]\n\n    e1 = schema[\"paths\"][\"/api/first/second/endpoint_1\"][\"get\"]\n    assert e1[\"tags\"] == [\"one\"]\n\n    e2 = schema[\"paths\"][\"/api/first/second/endpoint_2\"][\"get\"]\n    assert e2[\"tags\"] == [\"two\"]\n"
  },
  {
    "path": "tests/test_lists.py",
    "content": "from typing import List\n\nimport pytest\nfrom django.http import QueryDict  # noqa\nfrom pydantic import BaseModel, Field, conlist\n\nfrom ninja import Body, Form, Query, Router, Schema\nfrom ninja.testing import TestClient\n\nrouter = Router()\n\n\n@router.post(\"/list1\")\ndef listview1(\n    request,\n    query: List[int] = Query(...),\n    form: List[int] = Form(...),\n):\n    return {\n        \"query\": query,\n        \"form\": form,\n    }\n\n\n@router.post(\"/list2\")\ndef listview2(\n    request,\n    body: List[int],\n    query: List[int] = Query(...),\n):\n    return {\n        \"query\": query,\n        \"body\": body,\n    }\n\n\nclass BodyModel(BaseModel):\n    x: int\n    y: int\n\n\n@router.post(\"/list3\")\ndef listview3(request, body: List[BodyModel]):\n    return {\n        \"body\": body,\n    }\n\n\n@router.post(\"/list-default\")\ndef listviewdefault(request, body: List[int] = [1]):  # noqa: B006\n    # By default List[anything] is treated for body\n    return {\n        \"body\": body,\n    }\n\n\nclass Filters(Schema):\n    tags: List[str] = []\n    other_tags: List[str] = Field([], alias=\"other_tags_alias\")\n\n\n@router.post(\"/list4\")\ndef listview4(\n    request,\n    filters: Filters = Query(...),\n):\n    return {\n        \"filters\": filters,\n    }\n\n\nclass ConListSchema(Schema):\n    query: conlist(int, min_length=1)\n\n\nclass Data(Schema):\n    data: ConListSchema\n\n\n@router.post(\"/list5\")\ndef listview5(\n    request,\n    body: conlist(int, min_length=1) = Body(...),\n    a_query: Data = Query(...),\n):\n    return {\n        \"query\": a_query.data.query,\n        \"body\": body,\n    }\n\n\n@router.post(\"/list6\")\ndef listview6(\n    request,\n    object_id: List[int] = Query(None, alias=\"id\"),\n):\n    return {\"query\": object_id}\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    # fmt: off\n    \"path,kwargs,expected_response\",\n    [\n        (\n            \"/list1?query=1&query=2\",\n            dict(data=QueryDict(\"form=3&form=4\")),\n            {\"query\": [1, 2], \"form\": [3, 4]},\n        ),\n        (\n            \"/list2?query=1&query=2\",\n            dict(json=[5, 6]),\n            {\"query\": [1, 2], \"body\": [5, 6]},\n        ),\n        (\n            \"/list3\",\n            dict(json=[{\"x\": 1, \"y\": 1}]),\n            {\"body\": [{\"x\": 1, \"y\": 1}]},\n        ),\n        (\n            \"/list-default\",\n            {},\n            {\"body\": [1]},\n        ),\n        (\n            \"/list-default\",\n            dict(json=[1, 2]),\n            {\"body\": [1, 2]},\n        ),\n        (\n            \"/list4?tags=a&tags=b&other_tags_alias=a&other_tags_alias=b\",\n            {},\n            {\"filters\": {\"tags\": [\"a\", \"b\"], \"other_tags\": [\"a\", \"b\"]}},\n        ),\n        (\n            \"/list4?tags=abc&other_tags_alias=abc\",\n            {},\n            {\"filters\": {\"tags\": [\"abc\"], \"other_tags\": [\"abc\"]}},\n        ),\n        (\n            \"/list4\",\n            {},\n            {\"filters\": {\"tags\": [], \"other_tags\": []}},\n        ),\n        (\n            \"/list5?query=1&query=2\",\n            dict(json=[5, 6]),\n            {\"query\": [1, 2], \"body\": [5, 6]},\n        ),\n        (\n            \"/list6?id=1&id=2\",\n            {},\n            {\"query\": [1, 2]},\n        ),\n    ],\n    # fmt: on\n)\ndef test_list(path, kwargs, expected_response):\n    response = client.post(path, **kwargs)\n    assert response.status_code == 200, response.content\n    assert response.json() == expected_response\n"
  },
  {
    "path": "tests/test_misc.py",
    "content": "import copy\nimport uuid\n\nimport pytest\nfrom pydantic import BaseModel\n\nfrom ninja import NinjaAPI\nfrom ninja.constants import NOT_SET\nfrom ninja.signature.details import is_pydantic_model\nfrom ninja.signature.utils import UUIDStrConverter\nfrom ninja.testing import TestClient\n\n\ndef test_is_pydantic_model():\n    class Model(BaseModel):\n        x: int\n\n    assert is_pydantic_model(Model)\n    assert is_pydantic_model(\"instance\") is False\n\n\ndef test_client():\n    \"covering everything in testclient (including invalid paths)\"\n    api = NinjaAPI()\n    client = TestClient(api)\n    with pytest.raises(Exception):  # noqa: B017\n        client.get(\"/404\")\n\n\ndef test_kwargs():\n    api = NinjaAPI()\n\n    @api.get(\"/\")\n    def operation(request, a: str, *args, **kwargs):\n        pass\n\n    schema = api.get_openapi_schema()\n    params = schema[\"paths\"][\"/api/\"][\"get\"][\"parameters\"]\n    print(params)\n    assert params == [  # Only `a` should be here, not kwargs\n        {\n            \"in\": \"query\",\n            \"name\": \"a\",\n            \"schema\": {\"title\": \"A\", \"type\": \"string\"},\n            \"required\": True,\n        }\n    ]\n\n\ndef test_uuid_converter():\n    conv = UUIDStrConverter()\n    assert isinstance(conv.to_url(uuid.uuid4()), str)\n\n\ndef test_copy_not_set():\n    assert id(NOT_SET) == id(copy.copy(NOT_SET))\n    assert id(NOT_SET) == id(copy.deepcopy(NOT_SET))\n"
  },
  {
    "path": "tests/test_models.py",
    "content": "import pytest\nfrom pydantic import BaseModel\n\nfrom ninja import Form, Query, Router\nfrom ninja.testing import TestClient\n\n\nclass SomeModel(BaseModel):\n    i: int\n    s: str\n    f: float\n\n\nclass OtherModel(BaseModel):\n    x: int\n    y: int\n\n\nclass SelfReference(BaseModel):\n    a: int = 123\n    sibling: \"SelfReference\" = None\n\n\nSelfReference.model_rebuild()\n\n\nrouter = Router()\n\n\n@router.post(\"/test1\")\ndef view1(request, some: SomeModel):\n    assert isinstance(some, SomeModel)\n    return some\n\n\n@router.post(\"/test2\")\ndef view2(request, some: SomeModel, other: OtherModel):\n    assert isinstance(some, SomeModel)\n    assert isinstance(other, OtherModel)\n    return {\"some\": some, \"other\": other}\n\n\n@router.post(\"/test3\")\ndef view3(request, some: \"SomeModel\"):\n    assert isinstance(some, SomeModel)\n    return some\n\n\n@router.post(\"/test_form\")\ndef view4(request, form: OtherModel = Form(...)):\n    assert isinstance(form, OtherModel)\n    return form\n\n\n@router.post(\"/test_query\")\ndef view4query(request, q: OtherModel = Query(...)):\n    assert isinstance(q, OtherModel)\n    return q\n\n\n@router.post(\"/selfref\")\ndef view5(request, obj: SelfReference):\n    assert isinstance(obj, SelfReference)\n    return obj\n\n\n@router.post(\"/model-default\")\ndef view6(request, obj: OtherModel = None):\n    assert isinstance(obj, (OtherModel, None.__class__))\n    return obj\n\n\n@router.post(\"/model-default2\")\ndef view7(request, obj: OtherModel = OtherModel(x=1, y=1)):\n    assert isinstance(obj, OtherModel)\n    return obj\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    # fmt: off\n    \"path,kwargs,expected_response\",\n    [\n        (\n            \"/test1\",\n            dict(json={\"i\": \"1\", \"s\": \"foo\", \"f\": \"1.1\"}),\n            {\"i\": 1, \"s\": \"foo\", \"f\": 1.1},\n        ),\n        (\n            \"/test2\",\n            dict(\n                json={\n                    \"some\": {\"i\": \"1\", \"s\": \"foo\", \"f\": \"1.1\"},\n                    \"other\": {\"x\": 1, \"y\": 2},\n                }\n            ),\n            {\"some\": {\"i\": 1, \"s\": \"foo\", \"f\": 1.1}, \"other\": {\"x\": 1, \"y\": 2}},\n        ),\n        (\n            \"/test3\",\n            dict(json={\"i\": \"1\", \"s\": \"foo\", \"f\": \"1.1\"}),\n            {\"i\": 1, \"s\": \"foo\", \"f\": 1.1},\n        ),\n        (\n            \"/test_form\",\n            dict(data={\"x\": \"10000\", \"y\": \"20000\"}),\n            {\"x\": 10000, \"y\": 20000},\n        ),\n        (\n            \"/test_query?x=5&y=6\",\n            dict(json=None),\n            {\"x\": 5, \"y\": 6},\n        ),\n        (\n            \"/selfref\",\n            dict(json={\"a\": \"1\"}),\n            {\"a\": 1, \"sibling\": None},\n        ),\n        (\n            \"/selfref\",\n            dict(json={\"a\": \"1\", \"sibling\": {\"a\": 2}}),\n            {\"a\": 1, \"sibling\": {\"a\": 2, \"sibling\": None}},\n        ),\n        (\n            \"model-default\",\n            dict(json=None),\n            None,\n        ),\n        (\n            \"model-default2\",\n            dict(json=None),\n            {\"x\": 1, \"y\": 1},\n        ),\n    ],\n    # fmt: on\n)\ndef test_models(path, kwargs, expected_response):\n    response = client.post(path, **kwargs)\n    assert response.status_code == 200, response.content\n    assert response.json() == expected_response\n\n\ndef test_invalid_body():\n    response = client.post(\"/test1\", body=\"invalid\")\n    assert response.status_code == 400, response.content\n    assert response.json() == {\n        \"detail\": \"Cannot parse request body\",\n    }\n"
  },
  {
    "path": "tests/test_openapi_docs.py",
    "content": "from django.conf import settings\nfrom django.test import override_settings\n\nfrom ninja import NinjaAPI, Redoc, Swagger\nfrom ninja.testing import TestClient\n\nNO_NINJA_INSTALLED_APPS = [i for i in settings.INSTALLED_APPS if i != \"ninja\"]\n\n\ndef test_swagger():\n    \"Default engine is swagger\"\n    api = NinjaAPI()\n\n    assert isinstance(api.docs, Swagger)\n\n    client = TestClient(api)\n\n    response = client.get(\"/docs\")\n    assert response.status_code == 200\n    assert b\"swagger-ui-init.js\" in response.content\n\n    # Testing without ninja in INSTALLED_APPS\n    @override_settings(INSTALLED_APPS=NO_NINJA_INSTALLED_APPS)\n    def call_docs():\n        response = client.get(\"/docs\")\n        assert response.status_code == 200\n        assert b\"https://cdn.jsdelivr.net/npm/swagger-ui-dist\" in response.content\n\n    call_docs()\n\n\ndef test_swagger_settings():\n    api = NinjaAPI(docs=Swagger(settings={\"persistAuthorization\": True}))\n    client = TestClient(api)\n    response = client.get(\"/docs\")\n    assert response.status_code == 200\n    assert b'\"persistAuthorization\": true' in response.content\n\n\ndef test_redoc():\n    api = NinjaAPI(docs=Redoc())\n    client = TestClient(api)\n\n    response = client.get(\"/docs\")\n    assert response.status_code == 200\n    assert b\"redoc.standalone.js\" in response.content\n\n    # Testing without ninja in INSTALLED_APPS\n    @override_settings(INSTALLED_APPS=NO_NINJA_INSTALLED_APPS)\n    def call_docs():\n        response = client.get(\"/docs\")\n        assert response.status_code == 200\n        assert (\n            b\"https://cdn.jsdelivr.net/npm/redoc@2/bundles/redoc.standalone.js\"\n            in response.content\n        )\n\n    call_docs()\n\n\ndef test_redoc_settings():\n    api = NinjaAPI(docs=Redoc(settings={\"disableSearch\": True}))\n    client = TestClient(api)\n    response = client.get(\"/docs\")\n    assert response.status_code == 200\n    assert b'\"disableSearch\": true' in response.content\n"
  },
  {
    "path": "tests/test_openapi_extra.py",
    "content": "from ninja import NinjaAPI, Router\n\n\ndef test_openapi_info_defined():\n    \"Test appending schema.info\"\n    extra_info = {\n        \"termsOfService\": \"https://example.com/terms/\",\n        \"title\": \"Test API\",\n    }\n    api = NinjaAPI(openapi_extra={\"info\": extra_info}, version=\"1.0.0\")\n    schema = api.get_openapi_schema()\n\n    assert schema[\"info\"][\"termsOfService\"] == \"https://example.com/terms/\"\n    assert schema[\"info\"][\"title\"] == \"Test API\"\n    assert schema[\"info\"][\"version\"] == \"1.0.0\"\n\n\ndef test_openapi_no_additional_info():\n    api = NinjaAPI(title=\"Test API\")\n    schema = api.get_openapi_schema()\n\n    assert schema[\"info\"][\"title\"] == \"Test API\"\n    assert \"termsOfService\" not in schema[\"info\"]\n\n\ndef test_openapi_extra():\n    \"Test adding extra attribute to the schema\"\n    api = NinjaAPI(\n        openapi_extra={\n            \"externalDocs\": {\n                \"description\": \"Find more info here\",\n                \"url\": \"https://example.com\",\n            }\n        },\n        version=\"1.0.0\",\n    )\n    schema = api.get_openapi_schema()\n\n    assert schema == {\n        \"openapi\": \"3.1.0\",\n        \"info\": {\"title\": \"NinjaAPI\", \"version\": \"1.0.0\", \"description\": \"\"},\n        \"paths\": {},\n        \"components\": {\"schemas\": {}},\n        \"servers\": [],\n        \"externalDocs\": {\n            \"description\": \"Find more info here\",\n            \"url\": \"https://example.com\",\n        },\n    }\n\n\ndef test_router_openapi_extra_extends():\n    \"\"\"\n    Test for #1505.\n    When adding an extra parameter to a route via openapi_extra, this should be combined with the route's own parameters.\n    \"\"\"\n    api = NinjaAPI()\n    test_router = Router()\n    api.add_router(\"\", test_router)\n\n    extra_param = {\n        \"in\": \"header\",\n        \"name\": \"X-HelloWorld\",\n        \"required\": False,\n        \"schema\": {\n            \"type\": \"string\",\n            \"format\": \"uuid\",\n        },\n    }\n\n    @test_router.get(\"/path/{item_id}\", openapi_extra={\"parameters\": [extra_param]})\n    def get_path_item_id(request, item_id: int):\n        pass\n\n    schema = api.get_openapi_schema()\n\n    assert len(schema[\"paths\"][\"/api/path/{item_id}\"][\"get\"][\"parameters\"]) == 2\n    assert schema[\"paths\"][\"/api/path/{item_id}\"][\"get\"][\"parameters\"] == [\n        {\n            \"in\": \"path\",\n            \"name\": \"item_id\",\n            \"required\": True,\n            \"schema\": {\n                \"title\": \"Item Id\",\n                \"type\": \"integer\",\n            },\n        },\n        extra_param,\n    ]\n"
  },
  {
    "path": "tests/test_openapi_params.py",
    "content": "from ninja import NinjaAPI\n\napi = NinjaAPI()\n\n\n@api.get(\"/operation1\", operation_id=\"my_id\")\ndef operation_1(request):\n    \"\"\"\n    This will be in description\n    \"\"\"\n    return {\"docstrings\": True}\n\n\n@api.get(\"/operation2\", description=\"description from argument\", deprecated=True)\ndef operation2(request):\n    return {\"description\": True, \"deprecated\": True}\n\n\n@api.get(\"/operation3\", summary=\"Summary from argument\", description=\"description arg\")\ndef operation3(request):\n    \"This one also has docstring description\"\n    return {\"summary\": True, \"description\": \"multiple\"}\n\n\n@api.get(\"/operation4\", tags=[\"tag1\", \"tag2\"])\ndef operation4(request):\n    return {\"tags\": True}\n\n\n@api.get(\n    \"/operation5\",\n    openapi_extra={\n        \"requestBody\": {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\n                        \"required\": [\"email\"],\n                        \"type\": \"object\",\n                        \"properties\": {\n                            \"name\": {\"type\": \"string\"},\n                            \"phone\": {\"type\": \"number\"},\n                            \"email\": {\"type\": \"string\"},\n                        },\n                    }\n                }\n            },\n            \"required\": True,\n        },\n    },\n)\ndef operation5(request):\n    return {\"openapi_extra\": True}\n\n\n@api.get(\"/not-included\", include_in_schema=False)\ndef not_included(request):\n    return True\n\n\nschema = api.get_openapi_schema()\n\n\ndef test_schema():\n    op1 = schema[\"paths\"][\"/api/operation1\"][\"get\"]\n    op2 = schema[\"paths\"][\"/api/operation2\"][\"get\"]\n    op3 = schema[\"paths\"][\"/api/operation3\"][\"get\"]\n    op4 = schema[\"paths\"][\"/api/operation4\"][\"get\"]\n    op5 = schema[\"paths\"][\"/api/operation5\"][\"get\"]\n\n    assert op1[\"operationId\"] == \"my_id\"\n    assert op2[\"operationId\"] == \"test_openapi_params_operation2\"\n    assert op3[\"operationId\"] == \"test_openapi_params_operation3\"\n    assert op4[\"operationId\"] == \"test_openapi_params_operation4\"\n    assert op5[\"operationId\"] == \"test_openapi_params_operation5\"\n\n    assert op1[\"summary\"] == \"Operation 1\"\n    assert op2[\"summary\"] == \"Operation2\"\n    assert op3[\"summary\"] == \"Summary from argument\"\n    assert op4[\"summary\"] == \"Operation4\"\n    assert op5[\"summary\"] == \"Operation5\"\n\n    assert op1[\"description\"] == \"This will be in description\"\n\n    assert op2[\"description\"] == \"description from argument\"\n    assert op2[\"deprecated\"] is True\n\n    assert op3[\"description\"] == \"description arg\"\n\n    assert op4[\"tags\"] == [\"tag1\", \"tag2\"]\n\n    assert op5[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"required\": [\"email\"],\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"name\": {\"type\": \"string\"},\n                        \"phone\": {\"type\": \"number\"},\n                        \"email\": {\"type\": \"string\"},\n                    },\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n\ndef test_not_included():\n    assert list(schema[\"paths\"].keys()) == [\n        \"/api/operation1\",\n        \"/api/operation2\",\n        \"/api/operation3\",\n        \"/api/operation4\",\n        \"/api/operation5\",\n    ]\n    # checking that \"/not-included\" is not there\n"
  },
  {
    "path": "tests/test_openapi_schema.py",
    "content": "import sys\nfrom sys import version_info\nfrom typing import Any, List, Union\nfrom unittest.mock import Mock\nfrom uuid import uuid4\n\nimport pydantic\nimport pytest\nfrom django.contrib.admin.views.decorators import staff_member_required\nfrom django.db import models\nfrom django.test import Client, override_settings\nfrom typing_extensions import Annotated\n\nfrom ninja import (\n    Body,\n    Field,\n    File,\n    Form,\n    ModelSchema,\n    NinjaAPI,\n    P,\n    PathEx,\n    Query,\n    Schema,\n    UploadedFile,\n)\nfrom ninja.openapi.urls import get_openapi_urls\nfrom ninja.pagination import PaginationBase, paginate\nfrom ninja.renderers import JSONRenderer\n\napi = NinjaAPI()\n\n\nclass Payload(Schema):\n    i: int\n    f: float\n\n\nclass TypeA(Schema):\n    a: str\n\n\nclass TypeB(Schema):\n    b: str\n\n\nAnnotatedStr = Annotated[\n    str,\n    pydantic.WithJsonSchema({\n        \"type\": \"string\",\n        \"format\": \"custom-format\",\n        \"example\": \"example_string\",\n    }),\n]\n\n\ndef to_camel(string: str) -> str:\n    words = string.split(\"_\")\n    return words[0].lower() + \"\".join(word.capitalize() for word in words[1:])\n\n\nclass Response(Schema):\n    model_config = pydantic.ConfigDict(alias_generator=to_camel, populate_by_name=True)\n    i: int\n    f: float = Field(..., title=\"f title\", description=\"f desc\")\n\n\n@api.post(\"/test\", response=Response)\ndef method(request, data: Payload):\n    return data.dict()\n\n\n@api.post(\"/test-alias\", response=Response, by_alias=True)\ndef method_alias(request, data: Payload):\n    return data.dict()\n\n\n@api.post(\"/test_list\", response=List[Response])\ndef method_list_response(request, data: List[Payload]):\n    return []\n\n\n@api.post(\"/test-body\", response=Response)\ndef method_body(request, i: int = Body(...), f: float = Body(...)):\n    return dict(i=i, f=f)\n\n\n@api.post(\"/test-body-schema\", response=Response)\ndef method_body_schema(request, data: Payload):\n    return dict(i=data.i, f=data.f)\n\n\n@api.get(\"/test-path/{int:i}/{f}\", response=Response)\ndef method_path(\n    request,\n    i: int,\n    f: float,\n):\n    return dict(i=i, f=f)\n\n\n# This definition is only possible in Python 3.9+\n# TODO: Drop this condition once support for <= 3.8 is dropped\nif version_info >= (3, 9):\n\n    @api.get(\"/test-pathex/{path_ex}\", response=AnnotatedStr)\n    def method_pathex(\n        request,\n        path_ex: PathEx[\n            AnnotatedStr,\n            P(description=\"path_ex description\"),\n        ],\n    ):\n        return path_ex\n\nelse:\n    with pytest.raises(NotImplementedError, match=\"3.9+\"):\n\n        @api.get(\"/test-pathex/{path_ex}\", response=AnnotatedStr)\n        def method_pathex(\n            request,\n            path_ex: PathEx[\n                AnnotatedStr,\n                P(description=\"path_ex description\"),\n            ],\n        ):\n            return path_ex\n\n\n@api.post(\"/test-form\", response=Response)\ndef method_form(request, data: Payload = Form(...)):\n    return dict(i=data.i, f=data.f)\n\n\n@api.post(\"/test-form-single\", response=Response)\ndef method_form_single(request, data: float = Form(...)):\n    return dict(i=int(data), f=data)\n\n\n@api.post(\"/test-form-body\", response=Response)\ndef method_form_body(request, i: int = Form(10), s: str = Body(\"10\")):\n    return dict(i=i, s=s)\n\n\n@api.post(\"/test-form-file\", response=Response)\ndef method_form_file(request, files: List[UploadedFile], data: Payload = Form(...)):\n    return dict(i=data.i, f=data.f)\n\n\n@api.post(\"/test-body-file\", response=Response)\ndef method_body_file(\n    request,\n    files: List[UploadedFile],\n    body: Payload = Body(...),\n):\n    return dict(i=body.i, f=body.f)\n\n\n@api.post(\"/test-union-type\", response=Response)\ndef method_union_payload(request, data: Union[TypeA, TypeB]):\n    return dict(i=data.i, f=data.f)\n\n\n@api.post(\"/test-union-type-with-simple\", response=Response)\ndef method_union_payload_and_simple(request, data: Union[int, TypeB]):\n    return data.dict()\n\n\nif sys.version_info >= (3, 10):\n    # This requires Python 3.10 or higher (PEP 604), so we're using eval to\n    # conditionally make it available\n    @api.post(\"/test-new-union-type\", response=Response)\n    def method_new_union_payload(request, data: \"TypeA | TypeB\"):\n        return dict(i=data.i, f=data.f)\n\n\n@api.post(\n    \"/test-title-description/\",\n    tags=[\"a-tag\"],\n    summary=\"Best API Ever\",\n    response=Response,\n)\ndef method_test_title_description(\n    request,\n    param1: int = Query(..., title=\"param 1 title\"),\n    param2: str = Query(\"A Default\", description=\"param 2 desc\"),\n    file: UploadedFile = File(..., description=\"file param desc\"),\n):\n    return dict(i=param1, f=param2)\n\n\n@api.post(\"/test-deprecated-example-examples/\")\ndef method_test_deprecated_example_examples(\n    request,\n    param1: int = Query(None, deprecated=True),\n    param2: str = Query(..., example=\"Example Value\"),\n    param3: str = Query(\n        ...,\n        max_length=5,\n        examples={\n            \"normal\": {\n                \"summary\": \"A normal example\",\n                \"description\": \"A **normal** string works correctly.\",\n                \"value\": \"Foo\",\n            },\n            \"invalid\": {\n                \"summary\": \"Invalid data is rejected with an error\",\n                \"value\": \"MoreThan5Length\",\n            },\n        },\n    ),\n    param4: int = Query(None, deprecated=True, include_in_schema=False),\n):\n    return dict(i=param2, f=param3)\n\n\ndef test_schema_views(client: Client):\n    assert client.get(\"/api/\").status_code == 404\n    assert client.get(\"/api/docs\").status_code == 200\n    assert client.get(\"/api/openapi.json\").status_code == 200\n\n\ndef test_schema_views_no_INSTALLED_APPS(client: Client):\n    \"Making sure that cdn and included js works fine\"\n    from django.conf import settings\n\n    # removing ninja from settings:\n    INSTALLED_APPS = [i for i in settings.INSTALLED_APPS if i != \"ninja\"]\n\n    @override_settings(INSTALLED_APPS=INSTALLED_APPS)\n    def call_docs():\n        assert client.get(\"/api/docs\").status_code == 200\n\n    call_docs()\n\n\n@pytest.fixture(scope=\"session\")\ndef schema():\n    return api.get_openapi_schema()\n\n\ndef test_schema(schema):\n    method = schema[\"paths\"][\"/api/test\"][\"post\"]\n\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/Payload\"}}\n        },\n        \"required\": True,\n    }\n    assert method[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n    assert schema.schemas == {\n        \"Response\": {\n            \"title\": \"Response\",\n            \"type\": \"object\",\n            \"properties\": {\n                \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                \"f\": {\"description\": \"f desc\", \"title\": \"f title\", \"type\": \"number\"},\n            },\n            \"required\": [\"i\", \"f\"],\n        },\n        \"Payload\": {\n            \"title\": \"Payload\",\n            \"type\": \"object\",\n            \"properties\": {\n                \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                \"f\": {\"title\": \"F\", \"type\": \"number\"},\n            },\n            \"required\": [\"i\", \"f\"],\n        },\n        \"TypeA\": {\n            \"properties\": {\n                \"a\": {\"title\": \"A\", \"type\": \"string\"},\n            },\n            \"required\": [\"a\"],\n            \"title\": \"TypeA\",\n            \"type\": \"object\",\n        },\n        \"TypeB\": {\n            \"properties\": {\n                \"b\": {\"title\": \"B\", \"type\": \"string\"},\n            },\n            \"required\": [\"b\"],\n            \"title\": \"TypeB\",\n            \"type\": \"object\",\n        },\n    }\n\n\ndef test_schema_alias(schema):\n    method = schema[\"paths\"][\"/api/test-alias\"][\"post\"]\n\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/Payload\"}}\n        },\n        \"required\": True,\n    }\n    assert method[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n    # ::TODO:: this is currently broken if not all responses for same schema use the same by_alias\n    \"\"\"\n    assert schema.schemas == {\n        \"Response\": {\n            \"title\": \"Response\",\n            \"type\": \"object\",\n            \"properties\": {\n                \"I\": {\"title\": \"I\", \"type\": \"integer\"},\n                \"F\": {\"title\": \"F\", \"type\": \"number\"},\n            },\n            \"required\": [\"i\", \"f\"],\n        },\n        \"Payload\": {\n            \"title\": \"Payload\",\n            \"type\": \"object\",\n            \"properties\": {\n                \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                \"f\": {\"title\": \"F\", \"type\": \"number\"},\n            },\n            \"required\": [\"i\", \"f\"],\n        },\n    }\n    \"\"\"\n\n\ndef test_schema_list(schema):\n    method_list = schema[\"paths\"][\"/api/test_list\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"items\": {\"$ref\": \"#/components/schemas/Payload\"},\n                    \"title\": \"Data\",\n                    \"type\": \"array\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\n                        \"items\": {\"$ref\": \"#/components/schemas/Response\"},\n                        \"title\": \"Response\",\n                        \"type\": \"array\",\n                    }\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n    assert schema[\"components\"][\"schemas\"] == {\n        \"Payload\": {\n            \"properties\": {\n                \"f\": {\"title\": \"F\", \"type\": \"number\"},\n                \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n            },\n            \"required\": [\"i\", \"f\"],\n            \"title\": \"Payload\",\n            \"type\": \"object\",\n        },\n        \"TypeA\": {\n            \"properties\": {\n                \"a\": {\"title\": \"A\", \"type\": \"string\"},\n            },\n            \"required\": [\"a\"],\n            \"title\": \"TypeA\",\n            \"type\": \"object\",\n        },\n        \"TypeB\": {\n            \"properties\": {\n                \"b\": {\"title\": \"B\", \"type\": \"string\"},\n            },\n            \"required\": [\"b\"],\n            \"title\": \"TypeB\",\n            \"type\": \"object\",\n        },\n        \"Response\": {\n            \"properties\": {\n                \"f\": {\"description\": \"f desc\", \"title\": \"f title\", \"type\": \"number\"},\n                \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n            },\n            \"required\": [\"i\", \"f\"],\n            \"title\": \"Response\",\n            \"type\": \"object\",\n        },\n    }\n\n\ndef test_schema_body(schema):\n    method_list = schema[\"paths\"][\"/api/test-body\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"f\": {\"title\": \"F\", \"type\": \"number\"},\n                        \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                    },\n                    \"required\": [\"i\", \"f\"],\n                    \"title\": \"BodyParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_schema_body_schema(schema):\n    method_list = schema[\"paths\"][\"/api/test-body-schema\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\"schema\": {\"$ref\": \"#/components/schemas/Payload\"}},\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_schema_path(schema):\n    method_list = schema[\"paths\"][\"/api/test-path/{i}/{f}\"][\"get\"]\n\n    assert \"requestBody\" not in method_list\n\n    assert method_list[\"parameters\"] == [\n        {\n            \"in\": \"path\",\n            \"name\": \"i\",\n            \"schema\": {\"title\": \"I\", \"type\": \"integer\"},\n            \"required\": True,\n        },\n        {\n            \"in\": \"path\",\n            \"name\": \"f\",\n            \"schema\": {\"title\": \"F\", \"type\": \"number\"},\n            \"required\": True,\n        },\n    ]\n\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"},\n                },\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\n@pytest.mark.skipif(\n    version_info < (3, 9),\n    reason=\"requires py3.9+ for Annotated[] at the route definition site\",\n)\ndef test_schema_pathex(schema):\n    method_list = schema[\"paths\"][\"/api/test-pathex/{path_ex}\"][\"get\"]\n\n    assert \"requestBody\" not in method_list\n\n    assert method_list[\"parameters\"] == [\n        {\n            \"in\": \"path\",\n            \"name\": \"path_ex\",\n            \"schema\": {\n                \"title\": \"Path Ex\",\n                \"type\": \"string\",\n                \"format\": \"custom-format\",\n                \"description\": \"path_ex description\",\n                \"example\": \"example_string\",\n            },\n            \"required\": True,\n            \"example\": \"example_string\",\n            \"description\": \"path_ex description\",\n        },\n    ]\n\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\n                        \"example\": \"example_string\",\n                        \"format\": \"custom-format\",\n                        \"title\": \"Response\",\n                        \"type\": \"string\",\n                    },\n                },\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_schema_form(schema):\n    method_list = schema[\"paths\"][\"/api/test-form\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"application/x-www-form-urlencoded\": {\n                \"schema\": {\n                    \"title\": \"FormParams\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                        \"f\": {\"title\": \"F\", \"type\": \"number\"},\n                    },\n                    \"required\": [\"i\", \"f\"],\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n        }\n    }\n\n\ndef test_schema_single(schema):\n    method_list = schema[\"paths\"][\"/api/test-form-single\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"application/x-www-form-urlencoded\": {\n                \"schema\": {\n                    \"properties\": {\"data\": {\"title\": \"Data\", \"type\": \"number\"}},\n                    \"required\": [\"data\"],\n                    \"title\": \"FormParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n        }\n    }\n\n\ndef test_schema_form_body(schema):\n    method_list = schema[\"paths\"][\"/api/test-form-body\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"multipart/form-data\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"i\": {\"default\": 10, \"title\": \"I\", \"type\": \"integer\"},\n                        \"s\": {\"default\": \"10\", \"title\": \"S\", \"type\": \"string\"},\n                    },\n                    \"title\": \"MultiPartBodyParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n        }\n    }\n\n\ndef test_schema_form_file(schema):\n    method_list = schema[\"paths\"][\"/api/test-form-file\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"multipart/form-data\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"files\": {\n                            \"items\": {\"format\": \"binary\", \"type\": \"string\"},\n                            \"title\": \"Files\",\n                            \"type\": \"array\",\n                        },\n                        \"i\": {\"title\": \"I\", \"type\": \"integer\"},\n                        \"f\": {\"title\": \"F\", \"type\": \"number\"},\n                    },\n                    \"required\": [\"files\", \"i\", \"f\"],\n                    \"title\": \"MultiPartBodyParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n        }\n    }\n\n\ndef test_schema_body_file(schema):\n    method_list = schema[\"paths\"][\"/api/test-body-file\"][\"post\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"multipart/form-data\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"body\": {\"$ref\": \"#/components/schemas/Payload\"},\n                        \"files\": {\n                            \"items\": {\"format\": \"binary\", \"type\": \"string\"},\n                            \"title\": \"Files\",\n                            \"type\": \"array\",\n                        },\n                    },\n                    \"required\": [\"files\", \"body\"],\n                    \"title\": \"MultiPartBodyParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n        }\n    }\n\n\ndef test_schema_title_description(schema):\n    method_list = schema[\"paths\"][\"/api/test-title-description/\"][\"post\"]\n\n    assert method_list[\"summary\"] == \"Best API Ever\"\n    assert method_list[\"tags\"] == [\"a-tag\"]\n\n    assert method_list[\"requestBody\"] == {\n        \"content\": {\n            \"multipart/form-data\": {\n                \"schema\": {\n                    \"properties\": {\n                        \"file\": {\n                            \"description\": \"file param desc\",\n                            \"format\": \"binary\",\n                            \"title\": \"File\",\n                            \"type\": \"string\",\n                        }\n                    },\n                    \"required\": [\"file\"],\n                    \"title\": \"FileParams\",\n                    \"type\": \"object\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n    assert method_list[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"param1\",\n            \"required\": True,\n            \"schema\": {\"title\": \"param 1 title\", \"type\": \"integer\"},\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"param2\",\n            \"description\": \"param 2 desc\",\n            \"required\": False,\n            \"schema\": {\n                \"default\": \"A Default\",\n                \"description\": \"param 2 desc\",\n                \"title\": \"Param2\",\n                \"type\": \"string\",\n            },\n        },\n    ]\n\n    assert method_list[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/Response\"}\n                }\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_schema_deprecated_example_examples(schema):\n    method_list = schema[\"paths\"][\"/api/test-deprecated-example-examples/\"][\"post\"]\n\n    assert method_list[\"parameters\"] == [\n        {\n            \"deprecated\": True,\n            \"in\": \"query\",\n            \"name\": \"param1\",\n            \"required\": False,\n            \"schema\": {\"title\": \"Param1\", \"type\": \"integer\", \"deprecated\": True},\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"param2\",\n            \"required\": True,\n            \"schema\": {\"title\": \"Param2\", \"type\": \"string\", \"example\": \"Example Value\"},\n            \"example\": \"Example Value\",\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"param3\",\n            \"required\": True,\n            \"schema\": {\n                \"maxLength\": 5,\n                \"title\": \"Param3\",\n                \"type\": \"string\",\n                \"examples\": {\n                    \"invalid\": {\n                        \"summary\": \"Invalid data is rejected with an error\",\n                        \"value\": \"MoreThan5Length\",\n                    },\n                    \"normal\": {\n                        \"description\": \"A **normal** string works correctly.\",\n                        \"summary\": \"A normal example\",\n                        \"value\": \"Foo\",\n                    },\n                },\n            },\n            \"examples\": {\n                \"invalid\": {\n                    \"summary\": \"Invalid data is rejected with an error\",\n                    \"value\": \"MoreThan5Length\",\n                },\n                \"normal\": {\n                    \"description\": \"A **normal** string works correctly.\",\n                    \"summary\": \"A normal example\",\n                    \"value\": \"Foo\",\n                },\n            },\n        },\n    ]\n\n    assert method_list[\"responses\"] == {\n        200: {\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_union_payload_type(schema):\n    method = schema[\"paths\"][\"/api/test-union-type\"][\"post\"]\n\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"anyOf\": [\n                        {\"$ref\": \"#/components/schemas/TypeA\"},\n                        {\"$ref\": \"#/components/schemas/TypeB\"},\n                    ],\n                    \"title\": \"Data\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n\ndef test_union_payload_simple(schema):\n    method = schema[\"paths\"][\"/api/test-union-type-with-simple\"][\"post\"]\n\n    print(method[\"requestBody\"])\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"title\": \"Data\",\n                    \"anyOf\": [\n                        {\"type\": \"integer\"},\n                        {\"$ref\": \"#/components/schemas/TypeB\"},\n                    ],\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n\n@pytest.mark.skipif(\n    sys.version_info < (3, 10),\n    reason=\"requires Python 3.10 or higher (PEP 604)\",\n)\ndef test_new_union_payload_type(schema):\n    method = schema[\"paths\"][\"/api/test-new-union-type\"][\"post\"]\n\n    assert method[\"requestBody\"] == {\n        \"content\": {\n            \"application/json\": {\n                \"schema\": {\n                    \"anyOf\": [\n                        {\"$ref\": \"#/components/schemas/TypeA\"},\n                        {\"$ref\": \"#/components/schemas/TypeB\"},\n                    ],\n                    \"title\": \"Data\",\n                }\n            }\n        },\n        \"required\": True,\n    }\n\n\ndef test_get_openapi_urls():\n    api = NinjaAPI(openapi_url=None)\n    paths = get_openapi_urls(api)\n    assert len(paths) == 0\n\n    api = NinjaAPI(docs_url=None)\n    paths = get_openapi_urls(api)\n    assert len(paths) == 1\n\n    api = NinjaAPI(openapi_url=\"/path\", docs_url=\"/path\")\n    with pytest.raises(\n        AssertionError, match=\"Please use different urls for openapi_url and docs_url\"\n    ):\n        get_openapi_urls(api)\n\n\ndef test_unique_operation_ids(capsys):\n    api = NinjaAPI()\n\n    @api.get(\"/1\")\n    def same_name(request):\n        pass\n\n    @api.get(\"/2\")  # noqa: F811\n    def same_name(request):  # noqa: F811\n        pass\n\n    api.get_openapi_schema()\n    captured = capsys.readouterr()\n    assert '\"test_openapi_schema_same_name\" is already used ' in captured.out\n\n\ndef test_docs_decorator():\n    api = NinjaAPI(docs_decorator=staff_member_required)\n\n    paths = get_openapi_urls(api)\n    assert len(paths) == 2\n    for ptrn in paths:\n        request = Mock(user=Mock(is_staff=True))\n        result = ptrn.callback(request)\n        assert result.status_code == 200\n\n        request = Mock(user=Mock(is_staff=False))\n        request.build_absolute_uri = lambda: \"http://example.com\"\n        result = ptrn.callback(request)\n        assert result.status_code == 302\n\n\nclass TestRenderer(JSONRenderer):\n    media_type = \"custom/type\"\n\n\ndef test_renderer_media_type():\n    api = NinjaAPI(renderer=TestRenderer)\n\n    @api.get(\"/1\", response=TypeA)\n    def same_name(\n        request,\n    ):\n        pass\n\n    schema = api.get_openapi_schema()\n    method = schema[\"paths\"][\"/api/1\"][\"get\"]\n    assert method[\"responses\"] == {\n        200: {\n            \"content\": {\n                \"custom/type\": {\"schema\": {\"$ref\": \"#/components/schemas/TypeA\"}}\n            },\n            \"description\": \"OK\",\n        }\n    }\n\n\ndef test_all_paths_rendered():\n    api = NinjaAPI(renderer=TestRenderer)\n\n    @api.post(\"/1\")\n    def some_name_create(\n        request,\n    ):\n        pass\n\n    @api.get(\"/1\")\n    def some_name_list(\n        request,\n    ):\n        pass\n\n    @api.get(\"/1/{param}\")\n    def some_name_get_one(request, param: int):\n        pass\n\n    @api.delete(\"/1/{param}\")\n    def some_name_delete(request, param: int):\n        pass\n\n    schema = api.get_openapi_schema()\n\n    expected_result = {\"/api/1\": [\"post\", \"get\"], \"/api/1/{param}\": [\"get\", \"delete\"]}\n    result = {p: list(schema[\"paths\"][p].keys()) for p in schema[\"paths\"].keys()}\n    assert expected_result == result\n\n\ndef test_all_paths_typed_params_rendered():\n    api = NinjaAPI(renderer=TestRenderer)\n\n    @api.post(\"/1\")\n    def some_name_create(\n        request,\n    ):\n        pass\n\n    @api.get(\"/1\")\n    def some_name_list(\n        request,\n    ):\n        pass\n\n    @api.get(\"/1/{int:param}\")\n    def some_name_get_one(request, param: int):\n        pass\n\n    @api.delete(\"/1/{str:param}\")\n    def some_name_delete(request, param: str):\n        pass\n\n    schema = api.get_openapi_schema()\n\n    expected_result = {\"/api/1\": [\"post\", \"get\"], \"/api/1/{param}\": [\"get\", \"delete\"]}\n    result = {p: list(schema[\"paths\"][p].keys()) for p in schema[\"paths\"].keys()}\n    assert expected_result == result\n\n\ndef test_no_default_for_custom_items_attribute():\n    api = NinjaAPI(renderer=TestRenderer)\n\n    class EmployeeOut(Schema):\n        id: int\n        first_name: str\n        last_name: str\n\n    class CustomPagination(PaginationBase):\n        class Output(Schema):\n            data: List[Any]  # `items` is a default attribute\n            detail: str\n            total: int\n\n        items_attribute: str = \"data\"\n\n        def paginate_queryset(self, queryset, pagination, **params):\n            pass\n\n    @api.get(\n        \"/employees\",\n        auth=[\"OAuth\"],\n        response=List[EmployeeOut],\n    )\n    @paginate(CustomPagination)\n    def get_employees(request):\n        pass\n\n    schema = api.get_openapi_schema()\n\n    paged_employee_out = schema[\"components\"][\"schemas\"][\"PagedEmployeeOut\"]\n    # a default value shouldn't be specified automatically\n    assert \"default\" not in paged_employee_out[\"properties\"][\"data\"]\n\n\ndef test_by_alias_uses_serialization_alias_simple():\n    \"\"\"Test the serialization_alias on the Field is used when by_alias=True is set on the route\"\"\"\n    api = NinjaAPI()\n\n    class PersonOut(Schema):\n        uuid: str = Field(..., serialization_alias=\"id\")\n        name: str = Field(..., serialization_alias=\"fullName\")\n\n    @api.get(\"/person\", response={200: PersonOut}, by_alias=True)\n    def get_user(request):\n        return {\"uuid\": uuid4(), \"fullname\": \"John Snow\"}\n\n    schema = api.get_openapi_schema()\n    user_alias_schema = schema[\"components\"][\"schemas\"][\"PersonOut\"]\n    assert user_alias_schema == {\n        \"title\": \"PersonOut\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"title\": \"Id\", \"type\": \"string\"},\n            \"fullName\": {\"type\": \"string\", \"title\": \"Fullname\"},\n        },\n        \"required\": [\"id\", \"fullName\"],\n    }\n\n\ndef test_by_alias_uses_validation_alias_simple():\n    \"\"\"Test the serialization_alias on the Field is used when by_alias=True is set on the route\"\"\"\n    api = NinjaAPI()\n\n    class PersonIn(Schema):\n        uuid: str = Field(..., validation_alias=\"id\")\n        name: str = Field(..., validation_alias=\"fullName\")\n\n    @api.get(\"/person\", by_alias=True)\n    def get_user(request, param: PersonIn):\n        return {\"uuid\": uuid4(), \"fullname\": \"John Snow\"}\n\n    schema = api.get_openapi_schema()\n    user_alias_schema = schema[\"components\"][\"schemas\"][\"PersonIn\"]\n    assert user_alias_schema == {\n        \"title\": \"PersonIn\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"title\": \"Id\", \"type\": \"string\"},\n            \"fullName\": {\"type\": \"string\", \"title\": \"Fullname\"},\n        },\n        \"required\": [\"id\", \"fullName\"],\n    }\n\n\n@pytest.mark.django_db\ndef test_by_alias_uses_serialization_alias_model():\n    \"\"\"Test the serialization_alias on the Field is used when by_alias=True is set on the route\"\"\"\n    api = NinjaAPI()\n\n    class Person(models.Model):\n        uuid = models.CharField(\n            max_length=36, unique=True, default=lambda: str(uuid4()), editable=False\n        )\n        created = models.DateTimeField(auto_now_add=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class PersonModelOut(ModelSchema):\n        uuid: str = Field(..., serialization_alias=\"id\")\n\n        class Meta:\n            model = Person\n            fields = [\"created\"]\n\n    @api.get(\"/person\", response={200: PersonModelOut}, by_alias=True)\n    def get_user(request):\n        return Person(fullname=\"John Snow\")\n\n    schema = api.get_openapi_schema()\n    user_alias_schema = schema[\"components\"][\"schemas\"][\"PersonModelOut\"]\n    assert user_alias_schema == {\n        \"title\": \"PersonModelOut\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"title\": \"Id\", \"type\": \"string\"},\n            \"created\": {\"type\": \"string\", \"format\": \"date-time\", \"title\": \"Created\"},\n        },\n        \"required\": [\"id\", \"created\"],\n    }\n"
  },
  {
    "path": "tests/test_orm_metaclass.py",
    "content": "import pytest\nfrom django.db import models\n\nfrom ninja import ModelSchema\nfrom ninja.errors import ConfigError\n\n\ndef test_simple():\n    class User(models.Model):\n        firstname = models.CharField()\n        lastname = models.CharField(blank=True, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class SampleSchema(ModelSchema):\n        class Meta:\n            model = User\n            fields = [\"firstname\", \"lastname\"]\n\n        def hello(self):\n            return f\"Hello({self.firstname})\"\n\n    assert SampleSchema.json_schema() == {\n        \"title\": \"SampleSchema\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"firstname\": {\"title\": \"Firstname\", \"type\": \"string\"},\n            \"lastname\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Lastname\",\n            },\n        },\n        \"required\": [\"firstname\"],\n    }\n\n    assert SampleSchema(firstname=\"ninja\", lastname=\"Django\").hello() == \"Hello(ninja)\"\n\n    # checking exclude ----------------------------------------------\n    class SampleSchema2(ModelSchema):\n        class Meta:\n            model = User\n            exclude = [\"lastname\"]\n\n    assert SampleSchema2.json_schema() == {\n        \"title\": \"SampleSchema2\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"firstname\": {\"title\": \"Firstname\", \"type\": \"string\"},\n        },\n        \"required\": [\"firstname\"],\n    }\n\n\ndef test_custom():\n    class CustomModel(models.Model):\n        f1 = models.CharField()\n        f2 = models.CharField(blank=True, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class CustomSchema(ModelSchema):\n        f3: int\n        f4: int = 1\n        _private: str = \"<secret>\"  # private should be ignored\n\n        class Meta:\n            model = CustomModel\n            fields = [\"f1\", \"f2\"]\n\n    assert CustomSchema.json_schema() == {\n        \"title\": \"CustomSchema\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"f1\": {\"title\": \"F1\", \"type\": \"string\"},\n            \"f2\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"F2\"},\n            \"f3\": {\"title\": \"F3\", \"type\": \"integer\"},\n            \"f4\": {\"title\": \"F4\", \"default\": 1, \"type\": \"integer\"},\n        },\n        \"required\": [\"f3\", \"f1\"],\n    }\n\n\ndef test_config():\n    class Category(models.Model):\n        title = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    with pytest.raises(ConfigError):\n\n        class CategorySchema(ModelSchema):\n            class Meta:\n                model = Category\n\n\ndef test_optional():\n    class OptModel(models.Model):\n        title = models.CharField()\n        other = models.CharField(null=True)\n        extra = models.IntegerField()\n        count = models.IntegerField(default=0, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class OptSchema(ModelSchema):\n        class Meta:\n            model = OptModel\n            fields = \"__all__\"\n            fields_optional = [\"title\"]\n\n    class OptSchema2(ModelSchema):\n        class Meta:\n            model = OptModel\n            fields = \"__all__\"\n            fields_optional = \"__all__\"\n\n    assert OptSchema.json_schema().get(\"required\") == [\"extra\"]\n    assert OptSchema.json_schema()[\"properties\"] == {\n        \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n        \"title\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"Title\"},\n        \"other\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"Other\"},\n        \"extra\": {\"title\": \"Extra\", \"type\": \"integer\"},\n        \"count\": {\n            \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n            \"default\": 0,\n            \"title\": \"Count\",\n        },\n    }\n\n    assert OptSchema2.json_schema().get(\"required\") is None\n    assert OptSchema2.json_schema()[\"properties\"] == {\n        \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n        \"title\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"Title\"},\n        \"other\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"Other\"},\n        \"extra\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"Extra\"},\n        \"count\": {\n            \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n            \"default\": 0,\n            \"title\": \"Count\",\n        },\n    }\n\n\ndef test_fields_all():\n    class SomeModel(models.Model):\n        field1 = models.CharField()\n        field2 = models.CharField(blank=True, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class SomeSchema(ModelSchema):\n        class Meta:\n            model = SomeModel\n            fields = \"__all__\"\n\n    print(SomeSchema.json_schema())\n    assert SomeSchema.json_schema() == {\n        \"title\": \"SomeSchema\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"field1\": {\"title\": \"Field1\", \"type\": \"string\"},\n            \"field2\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Field2\",\n            },\n        },\n        \"required\": [\"field1\"],\n    }\n\n\ndef test_model_as_string_valid():\n    class SomeModel(models.Model):\n        field1 = models.CharField()\n\n        class Meta:\n            app_label = \"someapp\"\n\n    class SomeStringModelSchema(ModelSchema):\n        class Meta:\n            model = \"someapp.SomeModel\"\n            fields = [\"field1\"]\n\n    assert SomeStringModelSchema.json_schema() == {\n        \"title\": \"SomeStringModelSchema\",\n        \"type\": \"object\",\n        \"properties\": {\"field1\": {\"title\": \"Field1\", \"type\": \"string\"}},\n        \"required\": [\"field1\"],\n    }\n\n\ndef test_model_as_string_invalid_format():\n    with pytest.raises(\n        ValueError,\n        match=\"Model string must be in format 'app_label.ModelName', got: SomeModel\",\n    ):\n\n        class SomeSchema(ModelSchema):\n            class Meta:\n                model = \"SomeModel\"\n                fields = [\"field1\"]\n\n\ndef test_model_as_string_invalid_format2():\n    with pytest.raises(\n        ValueError,\n        match=\"Model string must be in format 'app_label.ModelName', got: someapp.models.SomeModel\",\n    ):\n\n        class SomeSchema(ModelSchema):\n            class Meta:\n                model = \"someapp.models.SomeModel\"\n                fields = [\"field1\"]\n\n\ndef test_model_as_string_nonexistent_app():\n    with pytest.raises(\n        LookupError,\n        match=\"No installed app with label 'nonexistentapp'.\",\n    ):\n\n        class SomeSchema(ModelSchema):\n            class Meta:\n                model = \"nonexistentapp.NonExistentModel\"\n                fields = [\"field1\"]\n\n\ndef test_model_as_string_nonexistent_model_in_app():\n    with pytest.raises(\n        LookupError,\n        match=\"App 'someapp' doesn't have a 'NonExistentModel' model.\",\n    ):\n\n        class SomeSchema(ModelSchema):\n            class Meta:\n                model = \"someapp.NonExistentModel\"\n                fields = [\"field1\"]\n\n\ndef test_model_schema_without_meta():\n    with pytest.raises(\n        ConfigError,\n        match=r\"ModelSchema class 'NoMetaSchema' requires a 'Meta' subclass\",\n    ):\n\n        class NoMetaSchema(ModelSchema):\n            x: int\n\n\ndef test_model_schema_with_old_config():\n    with pytest.raises(\n        ConfigError,\n        match=r\"The use of `Config` class is removed for ModelSchema, use 'Meta' instead\",\n    ):\n\n        class OldConfigSchema(ModelSchema):\n            x: int\n\n            class Config:\n                model = \"User\"\n                model_fields = [\"x\"]\n"
  },
  {
    "path": "tests/test_orm_relations.py",
    "content": "from django.db import models\n\nfrom ninja import NinjaAPI\nfrom ninja.orm import create_schema\nfrom ninja.testing import TestClient\n\n\ndef test_manytomany():\n    class SomeRelated(models.Model):\n        f = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    class ModelWithM2M(models.Model):\n        m2m = models.ManyToManyField(SomeRelated, blank=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    WithM2MSchema = create_schema(ModelWithM2M, exclude=[\"id\"])\n\n    api = NinjaAPI()\n\n    @api.post(\"/bar\")\n    def post_with_m2m(request, payload: WithM2MSchema):\n        return payload.dict()\n\n    client = TestClient(api)\n\n    response = client.post(\"/bar\", json={\"m2m\": [1, 2]})\n    assert response.status_code == 200, str(response.json())\n    assert response.json() == {\"m2m\": [1, 2]}\n\n    response = client.post(\"/bar\", json={\"m2m\": []})\n    assert response.status_code == 200, str(response.json())\n    assert response.json() == {\"m2m\": []}\n"
  },
  {
    "path": "tests/test_orm_schemas.py",
    "content": "from typing import List\nfrom unittest.mock import Mock\n\nimport pydantic\nimport pytest\nfrom django.contrib.postgres import fields as ps_fields\nfrom django.db import models\nfrom django.db.models import Manager\nfrom util import pydantic_ref_fix\n\nfrom ninja.errors import ConfigError\nfrom ninja.orm import create_schema, register_field\nfrom ninja.orm.shortcuts import L, S\n\n\ndef test_inheritance():\n    class ParentModel(models.Model):\n        parent_field = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    class ChildModel(ParentModel):\n        child_field = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema = create_schema(ChildModel)\n    # print(Schema.json_schema())\n\n    # TODO: I guess parentmodel_ptr_id must be skipped\n    assert Schema.json_schema() == {\n        \"title\": \"ChildModel\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"parent_field\": {\"type\": \"string\", \"title\": \"Parent Field\"},\n            \"parentmodel_ptr_id\": {\"type\": \"integer\", \"title\": \"Parentmodel Ptr\"},\n            \"child_field\": {\"type\": \"string\", \"title\": \"Child Field\"},\n        },\n        \"required\": [\"parent_field\", \"parentmodel_ptr_id\", \"child_field\"],\n    }\n\n\ndef test_all_fields():\n    # test all except relational field\n\n    class AllFields(models.Model):\n        bigintegerfield = models.BigIntegerField()\n        binaryfield = models.BinaryField()\n        booleanfield = models.BooleanField()\n        charfield = models.CharField()\n        commaseparatedintegerfield = models.CommaSeparatedIntegerField()\n        datefield = models.DateField()\n        datetimefield = models.DateTimeField()\n        decimalfield = models.DecimalField()\n        durationfield = models.DurationField()\n        emailfield = models.EmailField()\n        filefield = models.FileField()\n        filepathfield = models.FilePathField()\n        floatfield = models.FloatField()\n        genericipaddressfield = models.GenericIPAddressField()\n        ipaddressfield = models.IPAddressField()\n        imagefield = models.ImageField()\n        integerfield = models.IntegerField()\n        nullbooleanfield = models.NullBooleanField()\n        positiveintegerfield = models.PositiveIntegerField()\n        positivesmallintegerfield = models.PositiveSmallIntegerField()\n        slugfield = models.SlugField()\n        smallintegerfield = models.SmallIntegerField()\n        textfield = models.TextField()\n        timefield = models.TimeField()\n        urlfield = models.URLField()\n        uuidfield = models.UUIDField()\n        arrayfield = ps_fields.ArrayField(models.CharField())\n        cicharfield = ps_fields.CICharField()\n        ciemailfield = ps_fields.CIEmailField()\n        citextfield = ps_fields.CITextField()\n        hstorefield = ps_fields.HStoreField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    SchemaCls = create_schema(AllFields)\n    # print(SchemaCls.json_schema())\n    expected_schema = {\n        \"title\": \"AllFields\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"bigintegerfield\": {\"title\": \"Bigintegerfield\", \"type\": \"integer\"},\n            \"binaryfield\": {\n                \"title\": \"Binaryfield\",\n                \"type\": \"string\",\n                \"format\": \"binary\",\n            },\n            \"booleanfield\": {\"type\": \"boolean\", \"title\": \"Booleanfield\"},\n            \"charfield\": {\"type\": \"string\", \"title\": \"Charfield\"},\n            \"commaseparatedintegerfield\": {\n                \"title\": \"Commaseparatedintegerfield\",\n                \"type\": \"string\",\n            },\n            \"datefield\": {\"type\": \"string\", \"format\": \"date\", \"title\": \"Datefield\"},\n            \"datetimefield\": {\n                \"title\": \"Datetimefield\",\n                \"type\": \"string\",\n                \"format\": \"date-time\",\n            },\n            \"decimalfield\": {\n                \"anyOf\": [\n                    {\"type\": \"number\"},\n                    {\"type\": \"string\"},\n                ],\n                \"title\": \"Decimalfield\",\n            },\n            \"durationfield\": {\n                \"type\": \"string\",\n                \"format\": \"duration\",\n                \"title\": \"Durationfield\",\n            },\n            \"emailfield\": {\"type\": \"string\", \"maxLength\": 254, \"title\": \"Emailfield\"},\n            \"filefield\": {\"type\": \"string\", \"title\": \"Filefield\"},\n            \"filepathfield\": {\"type\": \"string\", \"title\": \"Filepathfield\"},\n            \"floatfield\": {\"type\": \"number\", \"title\": \"Floatfield\"},\n            \"genericipaddressfield\": {\n                \"type\": \"string\",\n                \"format\": \"ipvanyaddress\",\n                \"title\": \"Genericipaddressfield\",\n            },\n            \"ipaddressfield\": {\n                \"type\": \"string\",\n                \"format\": \"ipvanyaddress\",\n                \"title\": \"Ipaddressfield\",\n            },\n            \"imagefield\": {\"type\": \"string\", \"title\": \"Imagefield\"},\n            \"integerfield\": {\"type\": \"integer\", \"title\": \"Integerfield\"},\n            \"nullbooleanfield\": {\"type\": \"boolean\", \"title\": \"Nullbooleanfield\"},\n            \"positiveintegerfield\": {\n                \"type\": \"integer\",\n                \"title\": \"Positiveintegerfield\",\n            },\n            \"positivesmallintegerfield\": {\n                \"type\": \"integer\",\n                \"title\": \"Positivesmallintegerfield\",\n            },\n            \"slugfield\": {\"type\": \"string\", \"title\": \"Slugfield\"},\n            \"smallintegerfield\": {\"type\": \"integer\", \"title\": \"Smallintegerfield\"},\n            \"textfield\": {\"type\": \"string\", \"title\": \"Textfield\"},\n            \"timefield\": {\"type\": \"string\", \"format\": \"time\", \"title\": \"Timefield\"},\n            \"urlfield\": {\"type\": \"string\", \"title\": \"Urlfield\"},\n            \"uuidfield\": {\"type\": \"string\", \"format\": \"uuid\", \"title\": \"Uuidfield\"},\n            \"arrayfield\": {\"type\": \"array\", \"items\": {}, \"title\": \"Arrayfield\"},\n            \"cicharfield\": {\"type\": \"string\", \"title\": \"Cicharfield\"},\n            \"ciemailfield\": {\n                \"type\": \"string\",\n                \"maxLength\": 254,\n                \"title\": \"Ciemailfield\",\n            },\n            \"citextfield\": {\"type\": \"string\", \"title\": \"Citextfield\"},\n            \"hstorefield\": {\n                # \"additionalProperties\": True, # this is added in pydantic 2.11\n                \"type\": \"object\",\n                \"title\": \"Hstorefield\",\n            },\n        },\n        \"required\": [\n            \"bigintegerfield\",\n            \"binaryfield\",\n            \"booleanfield\",\n            \"charfield\",\n            \"commaseparatedintegerfield\",\n            \"datefield\",\n            \"datetimefield\",\n            \"decimalfield\",\n            \"durationfield\",\n            \"emailfield\",\n            \"filefield\",\n            \"filepathfield\",\n            \"floatfield\",\n            \"genericipaddressfield\",\n            \"ipaddressfield\",\n            \"imagefield\",\n            \"integerfield\",\n            \"nullbooleanfield\",\n            \"positiveintegerfield\",\n            \"positivesmallintegerfield\",\n            \"slugfield\",\n            \"smallintegerfield\",\n            \"textfield\",\n            \"timefield\",\n            \"urlfield\",\n            \"uuidfield\",\n            \"arrayfield\",\n            \"cicharfield\",\n            \"ciemailfield\",\n            \"citextfield\",\n            \"hstorefield\",\n        ],\n    }\n\n    pydantic_version = tuple(map(int, pydantic.VERSION.split(\".\")[:2]))\n    if pydantic_version >= (2, 11):\n        expected_schema[\"properties\"][\"hstorefield\"][\"additionalProperties\"] = True\n    if pydantic_version >= (2, 12):\n        # Pydantic 2.12 added pattern validation for decimal strings\n        expected_schema[\"properties\"][\"decimalfield\"][\"anyOf\"][1][\"pattern\"] = (\n            r\"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$\"\n        )\n    assert SchemaCls.json_schema() == expected_schema\n\n\ndef test_altautofield():\n    class ModelWithBigAutoField(models.Model):\n        autofield = models.BigAutoField(primary_key=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class ModelWithSmallAutoField(models.Model):\n        autofield = models.SmallAutoField(primary_key=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    BigSchema = create_schema(ModelWithBigAutoField)\n    SmallSchema = create_schema(ModelWithSmallAutoField)\n\n    for cls in [BigSchema, SmallSchema]:\n        print(cls.json_schema()[\"properties\"])\n        assert cls.json_schema()[\"properties\"] == {\n            \"autofield\": {\n                \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Autofield\",\n            }\n        }\n\n\ndef test_django_31_fields():\n    class ModelNewFields(models.Model):\n        jsonfield = models.JSONField()\n        positivebigintegerfield = models.PositiveBigIntegerField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema = create_schema(ModelNewFields)\n    # print(Schema.json_schema())\n    assert Schema.json_schema() == {\n        \"title\": \"ModelNewFields\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"title\": \"ID\", \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}]},\n            \"jsonfield\": {\"title\": \"Jsonfield\", \"type\": \"object\"},\n            \"positivebigintegerfield\": {\n                \"title\": \"Positivebigintegerfield\",\n                \"type\": \"integer\",\n            },\n        },\n        \"required\": [\"jsonfield\", \"positivebigintegerfield\"],\n    }\n\n    obj = Schema(id=1, jsonfield={\"any\": \"data\"}, positivebigintegerfield=1)\n    assert obj.dict() == {\n        \"id\": 1,\n        \"jsonfield\": {\"any\": \"data\"},\n        \"positivebigintegerfield\": 1,\n    }\n\n\ndef test_relational():\n    class Related(models.Model):\n        charfield = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    class TestModel(models.Model):\n        manytomanyfield = models.ManyToManyField(Related)\n        onetoonefield = models.OneToOneField(Related, on_delete=models.CASCADE)\n        foreignkey = models.ForeignKey(Related, on_delete=models.SET_NULL, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    SchemaCls = create_schema(TestModel, name=\"TestSchema\")\n    # print(SchemaCls.json_schema())\n    assert SchemaCls.json_schema() == {\n        \"title\": \"TestSchema\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"onetoonefield_id\": {\"title\": \"Onetoonefield\", \"type\": \"integer\"},\n            \"foreignkey_id\": {\n                \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Foreignkey\",\n            },\n            \"manytomanyfield\": {\n                \"title\": \"Manytomanyfield\",\n                \"type\": \"array\",\n                \"items\": {\"type\": \"integer\"},\n            },\n        },\n        \"required\": [\"onetoonefield_id\", \"manytomanyfield\"],\n    }\n\n    SchemaClsDeep = create_schema(TestModel, name=\"TestSchemaDeep\", depth=1)\n    print(SchemaClsDeep.json_schema())\n    assert SchemaClsDeep.json_schema() == {\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"onetoonefield\": pydantic_ref_fix({\n                \"title\": \"Onetoonefield\",\n                \"description\": \"\",\n                \"$ref\": \"#/$defs/Related\",\n            }),\n            \"foreignkey\": {\n                \"title\": \"Foreignkey\",\n                \"allOf\": [{\"$ref\": \"#/$defs/Related\"}],\n                \"description\": \"\",\n            },\n            \"manytomanyfield\": {\n                \"title\": \"Manytomanyfield\",\n                \"type\": \"array\",\n                \"items\": {\"$ref\": \"#/$defs/Related\"},\n                \"description\": \"\",\n            },\n        },\n        \"required\": [\"onetoonefield\", \"manytomanyfield\"],\n        \"title\": \"TestSchemaDeep\",\n        \"$defs\": {\n            \"Related\": {\n                \"title\": \"Related\",\n                \"type\": \"object\",\n                \"properties\": {\n                    \"id\": {\n                        \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n                        \"title\": \"ID\",\n                    },\n                    \"charfield\": {\"type\": \"string\", \"title\": \"Charfield\"},\n                },\n                \"required\": [\"charfield\"],\n            }\n        },\n    }\n\n\ndef test_default():\n    class MyModel(models.Model):\n        default_static = models.CharField(default=\"hello\")\n        default_dynamic = models.CharField(default=lambda: \"world\")\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema = create_schema(MyModel)\n    # print(Schema.json_schema())\n    assert Schema.json_schema() == {\n        \"title\": \"MyModel\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"default_static\": {\n                \"default\": \"hello\",\n                \"title\": \"Default Static\",\n                \"type\": \"string\",\n            },\n            \"default_dynamic\": {\"title\": \"Default Dynamic\", \"type\": \"string\"},\n        },\n    }\n\n\ndef test_fields_exclude():\n    class SampleModel(models.Model):\n        f1 = models.CharField()\n        f2 = models.CharField()\n        f3 = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema1 = create_schema(SampleModel, fields=[\"f1\", \"f2\"])\n    # print(Schema1.json_schema())\n    assert Schema1.json_schema() == {\n        \"title\": \"SampleModel\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"f1\": {\"type\": \"string\", \"title\": \"F1\"},\n            \"f2\": {\"type\": \"string\", \"title\": \"F2\"},\n        },\n        \"required\": [\"f1\", \"f2\"],\n    }\n\n    Schema2 = create_schema(SampleModel, fields=[\"f3\", \"f2\"])\n    # print(Schema2.json_schema())\n    assert Schema2.json_schema() == {\n        \"title\": \"SampleModel2\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"f3\": {\"title\": \"F3\", \"type\": \"string\"},\n            \"f2\": {\"title\": \"F2\", \"type\": \"string\"},\n        },\n        \"required\": [\"f3\", \"f2\"],\n    }\n\n    Schema3 = create_schema(SampleModel, exclude=[\"f3\"])\n    # print(Schema3.json_schema())\n    assert Schema3.json_schema() == {\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"f1\": {\"type\": \"string\", \"title\": \"F1\"},\n            \"f2\": {\"type\": \"string\", \"title\": \"F2\"},\n        },\n        \"required\": [\"f1\", \"f2\"],\n        \"title\": \"SampleModel3\",\n    }\n\n\ndef test_exceptions():\n    class MyModel2(models.Model):\n        f1 = models.CharField()\n        f2 = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    with pytest.raises(\n        ConfigError, match=\"Only one of 'fields' or 'exclude' should be set.\"\n    ):\n        create_schema(MyModel2, fields=[\"f1\"], exclude=[\"f2\"])\n\n    with pytest.raises(ConfigError):\n        create_schema(MyModel2, fields=[\"f_invalid\"])\n\n\ndef test_shortcuts():\n    class MyModel3(models.Model):\n        f1 = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    schema = S(MyModel3)\n    schema_list = L(MyModel3)\n    assert List[schema] == schema_list\n\n\n@pytest.mark.django_db\ndef test_with_relations():\n    # this test basically does full coverage for the case when we skip automatic relation attributes\n    from someapp.models import Category\n\n    Schema = create_schema(Category)\n    # print(Schema.json_schema())\n    assert Schema.json_schema() == {\n        \"title\": \"Category\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"title\": {\"title\": \"Title\", \"maxLength\": 100, \"type\": \"string\"},\n        },\n        \"required\": [\"title\"],\n    }\n\n\ndef test_manytomany():\n    class Foo(models.Model):\n        f = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    class Bar(models.Model):\n        m2m = models.ManyToManyField(Foo, blank=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema = create_schema(Bar)\n\n    # mocking database data:\n\n    foo = Mock()\n    foo.pk = 1\n    foo.f = \"test\"\n\n    m2m = Mock(spec=Manager)\n    m2m.all = lambda: [foo]\n\n    bar = Mock()\n    bar.id = 1\n    bar.m2m = m2m\n\n    data = Schema.from_orm(bar).dict()\n\n    assert data == {\"id\": 1, \"m2m\": [1]}\n\n\ndef test_custom_fields():\n    class SmallModel(models.Model):\n        f1 = models.CharField()\n        f2 = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema1 = create_schema(SmallModel, custom_fields=[(\"custom\", int, ...)])\n\n    # print(Schema1.json_schema())\n    assert Schema1.json_schema() == {\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"f1\": {\"type\": \"string\", \"title\": \"F1\"},\n            \"f2\": {\"type\": \"string\", \"title\": \"F2\"},\n            \"custom\": {\"type\": \"integer\", \"title\": \"Custom\"},\n        },\n        \"required\": [\"f1\", \"f2\", \"custom\"],\n        \"title\": \"SmallModel\",\n    }\n\n    Schema2 = create_schema(SmallModel, custom_fields=[(\"f1\", int, ...)])\n    # print(Schema2.json_schema())\n\n    assert Schema2.json_schema() == {\n        \"type\": \"object\",\n        \"properties\": {\n            \"id\": {\"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}], \"title\": \"ID\"},\n            \"f1\": {\"type\": \"integer\", \"title\": \"F1\"},\n            \"f2\": {\"type\": \"string\", \"title\": \"F2\"},\n        },\n        \"required\": [\"f1\", \"f2\"],\n        \"title\": \"SmallModel2\",\n    }\n\n\ndef test_duplicate_schema_names():\n    from django.db import models\n\n    from ninja import Schema\n    from ninja.orm import create_schema\n\n    class TestModelDuplicate(models.Model):\n        field1 = models.CharField()\n        field2 = models.CharField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    class TestSchema(Schema):\n        data1: create_schema(TestModelDuplicate, fields=[\"field1\"])  # noqa: F821\n        data2: create_schema(TestModelDuplicate, fields=[\"field2\"])  # noqa: F821\n\n    # print(TestSchema.json_schema())\n\n    assert TestSchema.json_schema() == {\n        \"type\": \"object\",\n        \"properties\": {\n            \"data1\": {\"$ref\": \"#/$defs/TestModelDuplicate\"},\n            \"data2\": {\"$ref\": \"#/$defs/TestModelDuplicate2\"},\n        },\n        \"required\": [\"data1\", \"data2\"],\n        \"title\": \"TestSchema\",\n        \"$defs\": {\n            \"TestModelDuplicate\": {\n                \"type\": \"object\",\n                \"properties\": {\"field1\": {\"type\": \"string\", \"title\": \"Field1\"}},\n                \"required\": [\"field1\"],\n                \"title\": \"TestModelDuplicate\",\n            },\n            \"TestModelDuplicate2\": {\n                \"type\": \"object\",\n                \"properties\": {\"field2\": {\"type\": \"string\", \"title\": \"Field2\"}},\n                \"required\": [\"field2\"],\n                \"title\": \"TestModelDuplicate2\",\n            },\n        },\n    }\n\n\ndef test_optional_fields():\n    class SomeReqFieldModel(models.Model):\n        some_field = models.CharField()\n        other_field = models.IntegerField()\n        optional = models.IntegerField(null=True, blank=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    Schema = create_schema(SomeReqFieldModel)\n    assert Schema.json_schema()[\"required\"] == [\"some_field\", \"other_field\"]\n\n    Schema = create_schema(SomeReqFieldModel, optional_fields=[\"some_field\"])\n    assert Schema.json_schema()[\"required\"] == [\"other_field\"]\n\n    Schema = create_schema(\n        SomeReqFieldModel, optional_fields=[\"some_field\", \"other_field\", \"optional\"]\n    )\n    assert Schema.json_schema().get(\"required\") is None\n\n\ndef test_register_custom_field():\n    class MyCustomField(models.Field):\n        description = \"MyCustomField\"\n\n    class ModelWithCustomField(models.Model):\n        some_field = MyCustomField()\n\n        class Meta:\n            app_label = \"tests\"\n\n    with pytest.raises(ConfigError):\n        create_schema(ModelWithCustomField)\n\n    register_field(\"MyCustomField\", int)\n    Schema = create_schema(ModelWithCustomField)\n    print(Schema.json_schema())\n    assert Schema.json_schema()[\"properties\"][\"some_field\"][\"type\"] == \"integer\"\n"
  },
  {
    "path": "tests/test_pagination.py",
    "content": "import importlib\nfrom sys import version_info\nfrom typing import Any, List\n\nimport pytest\nfrom django.test import override_settings\nfrom pydantic.errors import PydanticSchemaGenerationError\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.constants import NOT_SET\nfrom ninja.errors import ConfigError\nfrom ninja.operation import Operation\nfrom ninja.pagination import (\n    LimitOffsetPagination,\n    PageNumberPagination,\n    PaginationBase,\n    _find_collection_response,\n    make_response_paginated,\n    paginate,\n)\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\nITEMS = list(range(100))\n\n\nclass CustomPagination(PaginationBase):\n    # only offset param, defaults to 5 per page\n    class Input(Schema):\n        skip: int\n\n    class Output(Schema):\n        items: List[Any]\n        count: str\n        skip: int\n\n    def paginate_queryset(self, items, pagination: Input, **params):\n        skip = pagination.skip\n        return {\n            \"items\": items[skip : skip + 5],\n            \"count\": \"many\",\n            \"skip\": skip,\n        }\n\n\nclass NoOutputPagination(PaginationBase):\n    # Outputs items without count attribute\n    class Input(Schema):\n        skip: int\n\n    Output = None\n\n    def paginate_queryset(self, items, pagination: Input, **params):\n        skip = pagination.skip\n        return items[skip : skip + 5]\n\n\nclass ResultsPaginator(PaginationBase):\n    \"Use 'results' instead of 'items' for the output\"\n\n    class Input(Schema):\n        skip: int\n\n    class Output(Schema):\n        results: List[int]\n        count: int\n        skip: int\n\n    items_attribute: str = \"results\"\n\n    def paginate_queryset(self, items, pagination: Input, **params):\n        skip = pagination.skip\n        return {\n            \"results\": items[skip : skip + 5],\n            \"count\": self._items_count(items),\n            \"skip\": skip,\n        }\n\n\nclass NextPrevPagination(PaginationBase):\n    # only offset param, defaults to 5 per page\n    class Input(Schema):\n        skip: int\n\n    class Output(Schema):\n        items: List[Any]\n        next: str = None\n        prev: str = None\n\n    def paginate_queryset(self, items, pagination: Input, request, **params):\n        skip = pagination.skip\n        prev_skip = skip - 5\n        if prev_skip < 0:\n            prev_skip = 0\n        return {\n            \"items\": items[skip : skip + 5],\n            \"next\": request.build_absolute_uri(f\"?skip={skip + 5}\"),\n            \"prev\": request.build_absolute_uri(f\"?skip={prev_skip}\"),\n        }\n\n\nclass CustomItemsLimitOffsetPagination(LimitOffsetPagination):\n    \"\"\"Minimal LimitOffsetPagination with custom items_attribute.\"\"\"\n\n    items_attribute = \"results\"\n\n    class Output(Schema):\n        results: List[int]\n        count: int\n\n\nclass CustomItemsPageNumberPagination(PageNumberPagination):\n    \"\"\"Minimal PageNumberPagination with custom items_attribute.\"\"\"\n\n    items_attribute = \"results\"\n\n    class Output(Schema):\n        results: List[int]\n        count: int\n\n\nclass NoPagination(PaginationBase):\n    \"\"\"\n    Pagination class that returns all records without slicing.\n    Does not define its own Input - uses empty PaginationBase.Input.\n    This reproduces bug from https://github.com/vitalik/django-ninja/issues/1564\n    \"\"\"\n\n    def paginate_queryset(self, items, pagination: PaginationBase.Input, **params):\n        return {\n            \"count\": self._items_count(items),\n            \"items\": items,\n        }\n\n\n@api.get(\"/items_1\", response=List[int])\n@paginate  # WITHOUT brackets (should use default pagination)\ndef items_1(request, **kwargs):\n    return ITEMS\n\n\n@api.get(\"/items_2\", response=List[int])\n@paginate()  # with brackets (should use default pagination)\ndef items_2(request, someparam: int = 0, **kwargs):\n    # also having custom param `someparam` - that should not be lost\n    return ITEMS\n\n\n@api.get(\"/items_3\", response=List[int])\n@paginate(CustomPagination)\ndef items_3(request, **kwargs):\n    return ITEMS\n\n\n@api.get(\"/items_4\", response=List[int])\n@paginate(PageNumberPagination, page_size=10)\ndef items_4(request, **kwargs):\n    return ITEMS\n\n\n@api.get(\"/items_5\", response=List[int])\n@paginate(PageNumberPagination, page_size=10)\ndef items_5(request):\n    return ITEMS\n\n\n@api.get(\"/items_6\", response={101: int, 200: List[Any]})\n@paginate(PageNumberPagination, page_size=10, pass_parameter=\"page_info\")\ndef items_6(request, **kwargs):\n    return ITEMS + [kwargs[\"page_info\"]]\n\n\n@api.get(\"/items_7\", response=List[int])\n@paginate(NoOutputPagination)\ndef items_7(request):\n    return list(range(15))\n\n\n@api.get(\"/items_8\", response=List[int])\n@paginate(ResultsPaginator)\ndef items_8(request):\n    return list(range(1000))\n\n\n@api.get(\"/items_9\", response=List[int])\n@paginate(NextPrevPagination)\ndef items_9(request):\n    return list(range(100))\n\n\n@api.get(\"/items_10\", response=List[int])\n@paginate(PageNumberPagination, page_size=10, max_page_size=20)\ndef items_10(request):\n    return ITEMS\n\n\n@api.get(\"/items_11\", response=List[int])\n@paginate(CustomItemsLimitOffsetPagination)\ndef items_11(request):\n    return list(range(100))\n\n\n@api.get(\"/items_12\", response=List[int])\n@paginate(CustomItemsPageNumberPagination)\ndef items_12(request):\n    return list(range(100))\n\n\n@api.get(\"/items_no_pagination\", response=List[int])\n@paginate(NoPagination)\ndef items_no_pagination(request):\n    return ITEMS\n\n\nclient = TestClient(api)\n\n\ndef test_case1():\n    response = client.get(\"/items_1?limit=10\").json()\n    assert response == {\"items\": ITEMS[:10], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_1\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"schema\": {\n                \"title\": \"Limit\",\n                \"default\": 100,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"offset\",\n            \"schema\": {\n                \"title\": \"Offset\",\n                \"default\": 0,\n                \"minimum\": 0,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case2():\n    response = client.get(\"/items_2?limit=10\").json()\n    assert response == {\"items\": ITEMS[:10], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_2\"][\"get\"]\n    # print(schema[\"parameters\"])\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"someparam\",\n            \"schema\": {\"default\": 0, \"title\": \"Someparam\", \"type\": \"integer\"},\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"schema\": {\n                \"title\": \"Limit\",\n                \"default\": 100,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"offset\",\n            \"schema\": {\n                \"title\": \"Offset\",\n                \"default\": 0,\n                \"minimum\": 0,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case3():\n    response = client.get(\"/items_3?skip=5\").json()\n    assert response == {\"items\": ITEMS[5:10], \"count\": \"many\", \"skip\": 5}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_3\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"skip\",\n            \"schema\": {\"title\": \"Skip\", \"type\": \"integer\"},\n            \"required\": True,\n        }\n    ]\n\n\ndef test_case4():\n    response = client.get(\"/items_4?page=2\").json()\n    assert response == {\"items\": ITEMS[10:20], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_4\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case4_page_size():\n    response = client.get(\"/items_4?page=2&page_size=20\").json()\n    assert response == {\"items\": ITEMS[20:40], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_4\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case4_no_page_param():\n    response = client.get(\"/items_4?page_size=20\").json()\n    assert response == {\"items\": ITEMS[0:20], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_4\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case4_out_of_range():\n    response = client.get(\"/items_4?page=2&page_size=100\").json()\n    assert response == {\"items\": [], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_4\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case5_no_kwargs():\n    response = client.get(\"/items_5?page=2\").json()\n    assert response == {\"items\": ITEMS[10:20], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_5\"][\"get\"]\n\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case6_pass_param_kwargs():\n    page = 11\n    response = client.get(f\"/items_6?page={page}\").json()\n    assert response == {\"items\": [{\"page\": 11, \"page_size\": None}], \"count\": 101}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_6\"][\"get\"]\n\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_case7():\n    response = client.get(\"/items_7?skip=10\").json()\n    assert response == [10, 11, 12, 13, 14]\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_7\"][\"get\"]\n    response = schema[\"responses\"][200][\"content\"][\"application/json\"][\"schema\"]\n\n    assert response == {\n        \"title\": \"Response\",\n        \"type\": \"array\",\n        \"items\": {\"type\": \"integer\"},\n    }\n\n\ndef test_case8():\n    response = client.get(\"/items_8?skip=5\").json()\n    assert response == {\"results\": [5, 6, 7, 8, 9], \"count\": 1000, \"skip\": 5}\n\n\ndef test_case9():\n    response = client.get(\"/items_9?skip=5\").json()\n    assert response == {\n        \"items\": [5, 6, 7, 8, 9],\n        \"next\": \"http://testlocation/?skip=10\",\n        \"prev\": \"http://testlocation/?skip=0\",\n    }\n\n\ndef test_case10_max_page_size():\n    response = client.get(\"/items_10?page=2&page_size=30\").json()\n    assert response == {\"items\": ITEMS[20:40], \"count\": 100}\n\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_10\"][\"get\"]\n\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\n@override_settings(NINJA_PAGINATION_MAX_LIMIT=1000)\ndef test_10_max_limit_set():\n    # reload to apply django settings\n    from ninja import conf, pagination\n\n    importlib.reload(conf)\n    importlib.reload(pagination)\n    new_api = NinjaAPI()\n    new_client = TestClient(new_api)\n\n    @new_api.get(\"/items_10\", response=List[int])\n    @paginate  # LimitOffsetPagination is set as default\n    def items_10(request, **kwargs):\n        return ITEMS\n\n    response = new_client.get(\"/items_10?limit=1000\").json()\n    assert response == {\"items\": ITEMS[:1000], \"count\": 100}\n\n    schema = new_api.get_openapi_schema()[\"paths\"][\"/api/items_10\"][\"get\"]\n    # print(schema)\n    assert schema[\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"schema\": {\n                \"title\": \"Limit\",\n                \"default\": 100,\n                \"minimum\": 1,\n                \"maximum\": 1000,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"offset\",\n            \"schema\": {\n                \"title\": \"Offset\",\n                \"default\": 0,\n                \"minimum\": 0,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n    ]\n\n\n@override_settings(NINJA_PAGINATION_MAX_LIMIT=1000)\ndef test_11_max_limit_set_and_exceeded():\n    # reload to apply django settings\n    from ninja import conf, pagination\n\n    importlib.reload(conf)\n    importlib.reload(pagination)\n    new_api = NinjaAPI()\n    new_client = TestClient(new_api)\n\n    @new_api.get(\"/items_11\", response=List[int])\n    @paginate  # LimitOffsetPagination is set as default\n    def items_11(request, **kwargs):\n        return ITEMS\n\n    response = new_client.get(\"/items_11?limit=1001\").json()\n    assert response == {\n        \"detail\": [\n            {\n                \"ctx\": {\"le\": 1000},\n                \"loc\": [\"query\", \"limit\"],\n                \"msg\": \"Input should be less than or equal to 1000\",\n                \"type\": \"less_than_equal\",\n            }\n        ]\n    }\n\n\ndef test_case11():\n    response = client.get(\"/items_11\").json()\n    assert response == {\"results\": list(range(100)), \"count\": 100}\n\n\ndef test_case12():\n    response = client.get(\"/items_12\").json()\n    assert response == {\"results\": list(range(100)), \"count\": 100}\n\n\ndef test_config_error_None():\n    with pytest.raises(ConfigError):\n\n        @api.get(\"/invalid1\", response={200: None})\n        @paginate\n        def invalid1(request):\n            pass\n\n\ndef test_config_error_NOT_SET():\n    with pytest.raises(ConfigError):\n\n        @api.get(\"/invalid2\")\n        @paginate\n        def invalid2(request):\n            pass\n\n\n@pytest.mark.skipif(version_info < (3, 11), reason=\"Not needed at this Python version\")\ndef test_pagination_works_with_unnamed_classes():\n    \"\"\"\n    This test lets you check that the typing.Any case handled in `ninja.pagination.make_response_paginated`\n    works for Python>=3.11, as a typing.Any does possess the __name__ attribute past that version\n    \"\"\"\n    operation = Operation(\"/whatever\", [\"GET\"], lambda: None, response=List[int])\n    operation.response_models[200].__annotations__[\"response\"] = List[object()]\n    with pytest.raises(\n        PydanticSchemaGenerationError\n    ):  # It does fail after we passed the logic that we are testing\n        make_response_paginated(LimitOffsetPagination, operation)\n\n\ndef test_no_pagination_without_query_params():\n    \"\"\"\n    Test that NoPagination works without any query parameters.\n    Reproduces bug from https://github.com/vitalik/django-ninja/issues/1564\n\n    NoPagination doesn't define any Input fields (uses empty PaginationBase.Input),\n    so it should NOT require any query parameters.\n    \"\"\"\n    response = client.get(\"/items_no_pagination\")\n    if response.status_code != 200:\n        print(f\"Status: {response.status_code}\")\n        print(f\"Response: {response.json()}\")\n    assert response.status_code == 200\n    result = response.json()\n    assert result == {\"count\": 100, \"items\": ITEMS}\n\n    # Check OpenAPI schema - should have no required parameters\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_no_pagination\"][\"get\"]\n    params = schema.get(\"parameters\", [])\n\n    # If there are any parameters, they should all be optional\n    for param in params:\n        assert (\n            param.get(\"required\", False) is False\n        ), f\"Parameter {param['name']} should not be required\"\n\n\ndef test_find_collection_response_skips_none_and_not_set():\n    \"\"\"Test that _find_collection_response skips None and NOT_SET response models.\"\"\"\n\n    class ItemSchema(Schema):\n        id: int\n\n    # Create operation with a collection response\n    operation = Operation(\"/test\", [\"GET\"], lambda: None, response=List[ItemSchema])\n\n    # Manually add None and NOT_SET response models before the collection one\n    original_200 = operation.response_models[200]\n    operation.response_models = {\n        204: None,  # Should be skipped\n        404: NOT_SET,  # Should be skipped\n        200: original_200,  # Collection type - should be found\n    }\n\n    # Should find the collection response at 200, skipping 204 and 404\n    status_code, item_schema = _find_collection_response(operation)\n    assert status_code == 200\n    assert item_schema is ItemSchema\n\n\ndef test_find_collection_response_raises_when_no_collection():\n    \"\"\"Test that _find_collection_response raises ConfigError when no collection response.\"\"\"\n\n    class ItemSchema(Schema):\n        id: int\n\n    # Create operation with a non-collection response\n    operation = Operation(\"/test\", [\"GET\"], lambda: None, response=ItemSchema)\n\n    # Should raise ConfigError since ItemSchema is not a collection\n    with pytest.raises(ConfigError, match=\"no collection response\"):\n        _find_collection_response(operation)\n"
  },
  {
    "path": "tests/test_pagination_async.py",
    "content": "import asyncio\nfrom typing import Any, List\n\nimport django\nimport pytest\nfrom django.db.models import QuerySet\nfrom someapp.models import Category\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.errors import ConfigError\nfrom ninja.pagination import (\n    AsyncPaginationBase,\n    PageNumberPagination,\n    PaginationBase,\n    paginate,\n)\nfrom ninja.testing import TestAsyncClient\n\napi = NinjaAPI()\n\nITEMS = list(range(100))\n\n\nclass NoAsyncPagination(PaginationBase):\n    # only offset param, defaults to 5 per page\n    class Input(Schema):\n        skip: int\n\n    class Output(Schema):\n        items: List[Any]\n        count: str\n        skip: int\n\n    def paginate_queryset(self, items, pagination: Input, **params):\n        skip = pagination.skip\n        return {\n            \"items\": items[skip : skip + 5],\n            \"count\": \"many\",\n            \"skip\": skip,\n        }\n\n\nclass AsyncNoOutputPagination(AsyncPaginationBase):\n    # Outputs items without count attribute\n    class Input(Schema):\n        skip: int\n\n    Output = None\n\n    def paginate_queryset(self, items, pagination: Input, **params):\n        skip = pagination.skip\n        return items[skip : skip + 5]\n\n    async def apaginate_queryset(self, items, pagination: Input, **params):\n        await asyncio.sleep(0)\n        skip = pagination.skip\n        return items[skip : skip + 5]\n\n    async def _items_count(self, queryset: QuerySet) -> int:\n        try:\n            # forcing to find queryset.count instead of list.count:\n            return queryset.all().count()\n        except AttributeError:\n            await asyncio.sleep(0)\n            return len(queryset)\n\n\nclass AsyncNoPagination(AsyncPaginationBase):\n    \"\"\"\n    Async pagination class that returns all records without slicing.\n    Does not define its own Input - uses empty PaginationBase.Input.\n    This tests the bug fix from https://github.com/vitalik/django-ninja/issues/1564\n    \"\"\"\n\n    async def apaginate_queryset(\n        self, items, pagination: PaginationBase.Input, **params\n    ):\n        await asyncio.sleep(0)\n        return {\n            \"count\": await self._aitems_count(items),\n            \"items\": items,\n        }\n\n    def paginate_queryset(self, items, pagination: PaginationBase.Input, **params):\n        return {\n            \"count\": self._items_count(items),\n            \"items\": items,\n        }\n\n\n@pytest.mark.asyncio\nasync def test_async_config_error():\n    api = NinjaAPI()\n\n    with pytest.raises(\n        ConfigError, match=\"Pagination class not configured for async requests\"\n    ):\n\n        @api.get(\"/items_async_undefined\", response=List[int])\n        @paginate(NoAsyncPagination)\n        async def items_async_undefined(request, **kwargs):\n            return ITEMS\n\n\n@pytest.mark.asyncio\nasync def test_async_custom_pagination():\n    api = NinjaAPI()\n\n    @api.get(\"/items_async\", response=List[int])\n    @paginate(AsyncNoOutputPagination)\n    async def items_async(request):\n        return ITEMS\n\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/items_async?skip=10\")\n    assert response.json() == [10, 11, 12, 13, 14]\n\n\n@pytest.mark.asyncio\nasync def test_async_default():\n    api = NinjaAPI()\n\n    @api.get(\"/items_default\", response=List[int])\n    @paginate  # WITHOUT brackets (should use default pagination)\n    async def items_default(request, someparam: int = 0, **kwargs):\n        await asyncio.sleep(0)\n        return ITEMS\n\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/items_default?limit=10\")\n    assert response.json() == {\"items\": ITEMS[:10], \"count\": 100}\n\n\n@pytest.mark.asyncio\nasync def test_async_page_number():\n    api = NinjaAPI()\n\n    @api.get(\"/items_page_number\", response=List[Any])\n    @paginate(PageNumberPagination, page_size=10, pass_parameter=\"page_info\")\n    async def items_page_number(request, **kwargs):\n        return ITEMS + [kwargs[\"page_info\"]]\n\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/items_page_number?page=11\")\n    assert response.json() == {\"items\": [{\"page\": 11, \"page_size\": None}], \"count\": 101}\n\n\n@pytest.mark.skipif(django.VERSION[:2] < (5, 0), reason=\"Requires Django 5.0+\")\n@pytest.mark.django_db\n@pytest.mark.asyncio\nasync def test_test_async_pagination():\n    await Category.objects.acreate(title=\"cat1\")\n    await Category.objects.acreate(title=\"cat2\")\n    assert await Category.objects.acount() == 2\n\n    class CatSchema(Schema):\n        title: str\n\n    api = NinjaAPI()\n\n    @api.get(\"/cats\", response=list[CatSchema])\n    @paginate\n    async def cats_paginated_limit_offset(request):\n        return Category.objects.order_by(\"id\")\n\n    @api.get(\"/cats-pages\", response=list[CatSchema])\n    @paginate(PageNumberPagination)\n    async def cats_paginated_page_number(request):\n        return Category.objects.order_by(\"id\")\n\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/cats\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"items\": [{\"title\": \"cat1\"}, {\"title\": \"cat2\"}],\n        \"count\": 2,\n    }\n\n    response = await client.get(\"/cats?offset=1\")\n    assert response.status_code == 200\n    print(response.json())\n    assert response.json() == {\n        \"items\": [{\"title\": \"cat2\"}],\n        \"count\": 2,\n    }\n\n    response = await client.get(\"/cats-pages\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"items\": [{\"title\": \"cat1\"}, {\"title\": \"cat2\"}],\n        \"count\": 2,\n    }\n\n    response = await client.get(\"/cats-pages?page=1\")\n    assert response.status_code == 200\n    assert response.json() == {\n        \"items\": [{\"title\": \"cat1\"}, {\"title\": \"cat2\"}],\n        \"count\": 2,\n    }\n\n\n@pytest.mark.asyncio\nasync def test_async_no_pagination_without_query_params():\n    \"\"\"\n    Test that AsyncNoPagination works without any query parameters.\n    Tests the async branch of the bug fix from https://github.com/vitalik/django-ninja/issues/1564\n\n    AsyncNoPagination doesn't define any Input fields (uses empty PaginationBase.Input),\n    so it should NOT require any query parameters.\n    \"\"\"\n    api = NinjaAPI()\n\n    @api.get(\"/items_no_pagination_async\", response=List[int])\n    @paginate(AsyncNoPagination)\n    async def items_no_pagination_async(request):\n        await asyncio.sleep(0)\n        return ITEMS\n\n    client = TestAsyncClient(api)\n\n    response = await client.get(\"/items_no_pagination_async\")\n    assert response.status_code == 200\n    result = response.json()\n    assert result == {\"count\": 100, \"items\": ITEMS}\n\n    # Check OpenAPI schema - should have no required parameters\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/items_no_pagination_async\"][\"get\"]\n    params = schema.get(\"parameters\", [])\n\n    # If there are any parameters, they should all be optional\n    for param in params:\n        assert (\n            param.get(\"required\", False) is False\n        ), f\"Parameter {param['name']} should not be required\"\n"
  },
  {
    "path": "tests/test_pagination_cursor.py",
    "content": "from datetime import date, timedelta\nfrom http import HTTPStatus\nfrom typing import List\n\nimport django\nimport pytest\nfrom django.test import override_settings\nfrom someapp.api import EventSchema  # pyright: ignore[reportMissingImports]\nfrom someapp.models import Category, Event  # pyright: ignore[reportMissingImports]\n\nfrom ninja import NinjaAPI\nfrom ninja.pagination import CursorPagination, paginate\nfrom ninja.testing import TestAsyncClient, TestClient\n\napi = NinjaAPI()\n\n\n@api.get(\"/cursor_events\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",), page_size=10)\ndef cursor_events(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/cursor_events_reverse\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"-start_date\",), page_size=10)\ndef cursor_events_reverse(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/cursor_events_end_date_offset\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"end_date\", \"start_date\"), page_size=2)\ndef cursor_events_end_date_offset(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/cursor_events_default_size\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",))\ndef cursor_events_default_size(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/cursor_events_with_params\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",), page_size=10)\ndef cursor_events_with_params(request, title_filter: str = \"\", **kwargs):\n    # API method with a filter in query parameter\n    if title_filter:\n        return Event.objects.filter(title__icontains=title_filter)\n    return Event.objects.all()\n\n\n# Async versions of all endpoints\n@api.get(\"/async_cursor_events\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",), page_size=10)\nasync def async_cursor_events(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/async_cursor_events_reverse\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"-start_date\",), page_size=10)\nasync def async_cursor_events_reverse(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/async_cursor_events_end_date_offset\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"end_date\", \"start_date\"), page_size=2)\nasync def async_cursor_events_end_date_offset(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/async_cursor_events_default_size\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",))\nasync def async_cursor_events_default_size(request, **kwargs):\n    return Event.objects.all()\n\n\n@api.get(\"/async_cursor_events_with_params\", response=List[EventSchema])\n@paginate(CursorPagination, ordering=(\"start_date\",), page_size=10)\nasync def async_cursor_events_with_params(request, title_filter: str = \"\", **kwargs):\n    # API method with a filter in query parameter\n    if title_filter:\n        return Event.objects.filter(title__icontains=title_filter)\n    return Event.objects.all()\n\n\nclient = TestClient(api)\nasync_client = TestAsyncClient(api)\n\n\n@pytest.fixture(autouse=True)\ndef clean_db(transactional_db):\n    \"\"\"Clean up categories and events before and after each test.\"\"\"\n    Category.objects.all().delete()\n    Event.objects.all().delete()\n    yield\n    Category.objects.all().delete()\n    Event.objects.all().delete()\n\n\n@pytest.fixture()\ndef start_date():\n    return date(2023, 1, 1)\n\n\n@pytest.fixture(autouse=True)\ndef events(transactional_db, start_date):\n    \"\"\"Create a number of test events.\"\"\"\n\n    events = []\n    for i in range(1, 11):\n        event = Event(\n            title=f\"Event {i}\",  # 1-10\n            start_date=start_date + timedelta(days=i),  # sequential start dates\n            end_date=start_date\n            + timedelta(\n                days=((i - 1) // 3) + 1\n            ),  # end dates 1, 1, 1, 2, 2, 2, 3, 3, 3, 4\n        )\n        events.append(event)\n\n    return Event.objects.bulk_create(events)\n\n\n@pytest.fixture(autouse=True)\ndef special_events(transactional_db, start_date, events):\n    \"\"\"Create a number of special events occurring after the last ones\"\"\"\n    n_events = len(events)\n    special_events = []\n    for i in range(n_events + 1, n_events + 4):\n        event = Event(\n            title=f\"Special Event {i}\",  # 11-13\n            start_date=start_date + timedelta(days=i),  # sequential start dates\n            end_date=start_date\n            + timedelta(days=((i - 1) // 3) + 1),  # end dates 4, 4, 5\n        )\n        special_events.append(event)\n\n    return Event.objects.bulk_create(special_events)\n\n\ndef test_cursor_pagination_first_page():\n    \"\"\"Test first page of cursor pagination.\"\"\"\n\n    response = client.get(\"/cursor_events?page_size=5\").json()\n\n    assert len(response[\"results\"]) == 5\n    assert response[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response[\"results\"][-1][\"title\"] == \"Event 5\"\n    assert response[\"next\"] is not None\n    assert response[\"previous\"] is None\n\n\ndef test_cursor_pagination_with_cursor():\n    \"\"\"Test navigation using cursor.\"\"\"\n\n    # Get first page to obtain next cursor\n    first_response = client.get(\"/cursor_events\").json()\n\n    assert len(first_response[\"results\"]) == 10\n    assert first_response[\"next\"] is not None\n\n    if first_response[\"next\"]:\n        # we can't rely on `next` being a well-formed URL, because the testclient\n        # httprequest mock does not pass the path, so we extract the cursor instead\n        next_cursor = first_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n        # Use cursor to get next page\n        response = client.get(f\"/cursor_events?cursor={next_cursor}\").json()\n\n        assert len(response[\"results\"]) == 3  # Remaining 3 events\n        assert response[\"next\"] is None\n        assert response[\"previous\"] is not None\n\n\ndef test_cursor_pagination_reverse_ordering():\n    \"\"\"Test cursor pagination with reverse ordering.\"\"\"\n\n    response = client.get(\"/cursor_events_reverse\").json()\n\n    assert len(response[\"results\"]) == 10\n    # With reverse ordering, should start from the end\n    assert response[\"results\"][0][\"title\"] == \"Special Event 13\"\n    assert response[\"next\"] is not None\n    assert response[\"previous\"] is None\n\n\ndef test_cursor_pagination_end_date_offset():\n    \"\"\"Test cursor pagination handles duplicate end_date values\"\"\"\n\n    response = client.get(\"/cursor_events_end_date_offset\").json()\n\n    # Should handle events with same end_date by using id as secondary ordering\n    assert len(response[\"results\"]) == 2\n\n    # Verify ordering is consistent across pages\n    all_results = []\n    current_response = response\n\n    while True:\n        all_results.extend(current_response[\"results\"])\n        if not current_response[\"next\"]:\n            break\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response = client.get(\n            f\"/cursor_events_end_date_offset?cursor={next_cursor}\"\n        ).json()\n\n    # Should have all events and maintain consistent ordering\n    assert len(all_results) == 13\n    # Verify no duplicates\n    titles = [result[\"title\"] for result in all_results]\n    assert len(titles) == len(set(titles))\n\n    # Verify results are sorted by start_dates, then by id (implicit in creation order)\n    start_dates = [result[\"start_date\"] for result in all_results]\n    assert start_dates == sorted(start_dates), \"Results should be sorted by start_date\"\n\n\ndef test_cursor_pagination_end_date_offset_backwards():\n    \"\"\"Test cursor pagination handles duplicate end_date values iterating backwards\"\"\"\n\n    # Start from the last page by getting all pages first\n    response = client.get(\"/cursor_events_end_date_offset\").json()\n\n    # Navigate to the last page\n    current_response = response\n    while current_response[\"next\"]:\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response = client.get(\n            f\"/cursor_events_end_date_offset?cursor={next_cursor}\"\n        ).json()\n\n    # Now iterate backwards using previous links\n    all_results_backwards = []\n    while True:\n        # Insert at beginning to maintain reverse order\n        all_results_backwards = current_response[\"results\"] + all_results_backwards\n        if not current_response[\"previous\"]:\n            break\n        prev_cursor = current_response[\"previous\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response = client.get(\n            f\"/cursor_events_end_date_offset?cursor={prev_cursor}\"\n        ).json()\n\n    # Should have all events and maintain consistent ordering\n    assert len(all_results_backwards) == 13\n    # Verify no duplicates\n    titles = [result[\"title\"] for result in all_results_backwards]\n    assert len(titles) == len(set(titles))\n\n    # Verify results are sorted by start_date when iterating backwards\n    start_dates = [result[\"start_date\"] for result in all_results_backwards]\n    assert start_dates == sorted(\n        start_dates\n    ), \"Results should be sorted by start_date when iterating backwards\"\n\n\ndef test_cursor_pagination_default_page_size():\n    \"\"\"Test cursor pagination with default page size.\"\"\"\n    # Create test events\n\n    response = client.get(\"/cursor_events_default_size\").json()\n\n    # Should use default page size which is 1000\n    assert len(response[\"results\"]) == 13\n    assert response[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response[\"results\"][-1][\"title\"] == \"Special Event 13\"\n    assert response[\"next\"] is None\n    assert response[\"previous\"] is None\n\n\ndef test_cursor_pagination_custom_page_size_override():\n    \"\"\"Test overriding page size in request.\"\"\"\n    # Create test events\n\n    response = client.get(\"/cursor_events_default_size?page_size=3\").json()\n\n    assert len(response[\"results\"]) == 3\n    assert response[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response[\"results\"][-1][\"title\"] == \"Event 3\"\n    assert response[\"next\"] is not None\n    assert response[\"previous\"] is None\n\n\ndef test_cursor_pagination_with_custom_params():\n    \"\"\"Test cursor pagination with additional query parameters.\"\"\"\n\n    response = client.get(\n        \"/cursor_events_with_params?title_filter=Special&page_size=5\"\n    ).json()\n\n    # Should filter to events with \"Special\" in title\n    assert len(response[\"results\"]) == 3\n    assert all(\"Special\" in item[\"title\"] for item in response[\"results\"])\n\n\ndef test_cursor_pagination_invalid_cursor():\n    \"\"\"Test handling of invalid cursor values.\"\"\"\n\n    response = client.get(\"/cursor_events?cursor=invalid&page_size=3\")\n\n    assert response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY\n\n\ndef test_cursor_pagination_empty_cursor():\n    \"\"\"Test handling of empty cursor.\"\"\"\n\n    response = client.get(\"/cursor_events?cursor=&page_size=3\").json()\n\n    # Should default to first page\n    assert len(response[\"results\"]) == 3\n    assert response[\"results\"][0][\"title\"] == \"Event 1\"\n\n\ndef test_cursor_pagination_no_page_size():\n    \"\"\"Test cursor pagination without specifying page_size.\"\"\"\n\n    response = client.get(\"/cursor_events\").json()\n\n    # Should use default page size from settings\n    assert len(response[\"results\"]) >= 1\n    assert \"next\" in response\n    assert \"previous\" in response\n    assert \"results\" in response\n\n\ndef test_cursor_pagination_openapi_schema():\n    \"\"\"Test that cursor pagination generates correct OpenAPI schema.\"\"\"\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/cursor_events\"][\"get\"]\n\n    parameters = {param[\"name\"]: param for param in schema[\"parameters\"]}\n\n    # Check page_size parameter\n    assert \"page_size\" in parameters\n    page_size_param = parameters[\"page_size\"]\n    assert page_size_param[\"in\"] == \"query\"\n    assert page_size_param[\"required\"] is False\n\n    # Check cursor parameter\n    assert \"cursor\" in parameters\n    cursor_param = parameters[\"cursor\"]\n    assert cursor_param[\"in\"] == \"query\"\n    assert cursor_param[\"required\"] is False\n    assert {\"type\": \"string\"} in cursor_param[\"schema\"][\"anyOf\"]\n    assert {\"type\": \"null\"} in cursor_param[\"schema\"][\"anyOf\"]\n\n\ndef test_cursor_pagination_response_schema():\n    \"\"\"Test that cursor pagination generates correct response schema.\"\"\"\n    schema = api.get_openapi_schema()[\"paths\"][\"/api/cursor_events\"][\"get\"]\n    response_schema = schema[\"responses\"][HTTPStatus.OK][\"content\"][\"application/json\"][\n        \"schema\"\n    ]\n\n    # Should have cursor pagination structure (may be a $ref)\n    if \"$ref\" in response_schema:\n        # Extract the schema name and check it exists in components\n        ref_path = response_schema[\"$ref\"]\n        assert ref_path.startswith(\"#/components/schemas/\")\n        schema_name = ref_path.split(\"/\")[-1]\n        components_schema = api.get_openapi_schema()[\"components\"][\"schemas\"][\n            schema_name\n        ]\n\n        # Check the referenced schema has the right properties\n        assert \"properties\" in components_schema\n        properties = components_schema[\"properties\"]\n    else:\n        # Direct inline schema\n        assert \"properties\" in response_schema\n        properties = response_schema[\"properties\"]\n\n    assert \"results\" in properties\n    assert \"next\" in properties\n    assert \"previous\" in properties\n\n    # Results should be array of items\n    assert properties[\"results\"][\"type\"] == \"array\"\n\n\ndef test_cursor_pagination_large_page_size():\n    \"\"\"Test edge cases for cursor pagination.\"\"\"\n\n    # Very large page_size\n    response = client.get(\"/cursor_events?page_size=1000\").json()\n    # all available items (10 events + 3 special events)\n    assert len(response[\"results\"]) == 13\n    assert response[\"next\"] is None\n\n\ndef test_cursor_pagination_page_size_of_one():\n    # Page size of 1\n    response = client.get(\"/cursor_events?page_size=1\").json()\n    assert len(response[\"results\"]) == 1\n    assert response[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response[\"next\"] is not None\n\n    # Request all pages and check length and order\n    all_results = []\n    current_response = response\n\n    while True:\n        all_results.extend(current_response[\"results\"])\n        if not current_response[\"next\"]:\n            break\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response = client.get(\n            f\"/cursor_events?cursor={next_cursor}&page_size=1\"\n        ).json()\n\n    # Check total length\n    assert len(all_results) == 13  # 10 events + 3 special events\n\n    # Check order - should be sorted by start_date\n    titles = [result[\"title\"] for result in all_results]\n    expected_titles = [f\"Event {i}\" for i in range(1, 11)] + [\n        f\"Special Event {i}\" for i in range(11, 14)\n    ]\n    assert titles == expected_titles\n\n\ndef test_cursor_pagination_empty_queryset():\n    \"\"\"Test cursor pagination with empty queryset.\"\"\"\n    # Explicitly clear all events for this test\n    Category.objects.all().delete()\n    Event.objects.all().delete()\n\n    response = client.get(\"/cursor_events?page_size=5\").json()\n\n    assert len(response[\"results\"]) == 0\n    assert response[\"next\"] is None\n    assert response[\"previous\"] is None\n\n\n@override_settings(NINJA_PAGINATION_PER_PAGE=20)\ndef test_cursor_pagination_settings_override():\n    \"\"\"Test that Django settings affect cursor pagination.\"\"\"\n\n    response = client.get(\"/cursor_events_default_size\").json()\n    assert \"results\" in response\n    assert len(response[\"results\"]) == 13\n\n\ndef test_cursor_pagination_deleted_position():\n    \"\"\"Test cursor pagination when the cursor position is deleted between requests.\"\"\"\n\n    # Get first page with page_size=3 to get a cursor\n    first_response = client.get(\"/cursor_events?page_size=3\").json()\n    assert len(first_response[\"results\"]) == 3\n    assert first_response[\"next\"] is not None\n\n    # Extract the cursor for the next page\n    next_cursor = first_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete the event that the cursor is pointing to\n    # The cursor should be pointing to Event 4\n    event_to_delete = Event.objects.get(title=\"Event 4\")\n    event_to_delete.delete()\n\n    # Now try to use the cursor - it should still work gracefully\n    # even though the position it was pointing to no longer exists\n    response = client.get(f\"/cursor_events?cursor={next_cursor}&page_size=3\").json()\n\n    # Should still return results, just continuing from where it can\n    assert len(response[\"results\"]) >= 1\n    assert \"next\" in response\n    assert \"previous\" in response\n\n    # Verify we get the remaining events after the deleted position\n    titles = [result[\"title\"] for result in response[\"results\"]]\n    assert \"Event 4\" not in titles\n    # Should now contain the deleted Event 5\n    assert titles[0] == \"Event 5\"\n\n\ndef test_cursor_pagination_deleted_position_previous():\n    \"\"\"Test cursor pagination when the cursor position is deleted between requests using previous cursor.\"\"\"\n\n    # Get to the last page first\n    response = client.get(\"/cursor_events?page_size=3\").json()\n\n    # Navigate to get a page with a previous cursor\n    while response[\"next\"]:\n        next_cursor = response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        response = client.get(f\"/cursor_events?cursor={next_cursor}&page_size=3\").json()\n\n    # Now we should have a previous cursor\n    assert response[\"previous\"] is not None\n    prev_cursor = response[\"previous\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete an event that will be referenced by the previous cursor\n\n    event_to_delete = Event.objects.get(title=\"Special Event 13\")\n    event_to_delete.delete()\n\n    # Now try to use the previous cursor - it should still work gracefully\n    # even though the position it was pointing to no longer exists\n    prev_response = client.get(\n        f\"/cursor_events?cursor={prev_cursor}&page_size=3\"\n    ).json()\n\n    # Should still return results, just continuing from where it can\n    assert len(prev_response[\"results\"]) >= 1\n    assert \"next\" in prev_response\n    assert \"previous\" in prev_response\n\n    # Verify we get the remaining events and don't include the deleted one\n    titles = [result[\"title\"] for result in prev_response[\"results\"]]\n    assert \"Special Event 13\" not in titles\n\n\ndef test_cursor_pagination_last_item_deleted():\n    \"\"\"Test cursor pagination when the cursor is pointed at the last item, but it is deleted.\"\"\"\n\n    # Navigate through all pages to get to the last one\n    next_cursor = \"\"\n\n    while True:\n        response = client.get(f\"/cursor_events?cursor={next_cursor}&page_size=3\").json()\n        if response[\"next\"] is None:\n            break\n        next_cursor = response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete the last item (Special Event 13)\n    last_event = Event.objects.get(title=\"Special Event 13\")\n    last_event.delete()\n\n    # Now try to use the cursor that was pointing to the last page\n    # It should handle the deletion gracefully\n    response = client.get(f\"/cursor_events?cursor={next_cursor}&page_size=3\").json()\n\n    # Should return empty results\n    assert len(response[\"results\"]) == 0\n    assert response[\"next\"] is None\n    assert response[\"previous\"] is not None\n\n\n# Async versions of all tests\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_first_page():\n    \"\"\"Test first page of cursor pagination with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events?page_size=5\")\n    response_data = response.json()\n\n    assert len(response_data[\"results\"]) == 5\n    assert response_data[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response_data[\"results\"][-1][\"title\"] == \"Event 5\"\n    assert response_data[\"next\"] is not None\n    assert response_data[\"previous\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_with_cursor():\n    \"\"\"Test navigation using cursor with async.\"\"\"\n\n    # Get first page to obtain next cursor\n    first_response = await async_client.get(\"/async_cursor_events\")\n    first_response_data = first_response.json()\n\n    assert len(first_response_data[\"results\"]) == 10\n    assert first_response_data[\"next\"] is not None\n\n    if first_response_data[\"next\"]:\n        # we can't rely on `next` being a well-formed URL, because the testclient\n        # httprequest mock does not pass the path, so we extract the cursor instead\n        next_cursor = first_response_data[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n        # Use cursor to get next page\n        response = await async_client.get(f\"/async_cursor_events?cursor={next_cursor}\")\n        response_data = response.json()\n\n        assert len(response_data[\"results\"]) == 3  # Remaining 3 events\n        assert response_data[\"next\"] is None\n        assert response_data[\"previous\"] is not None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_reverse_ordering():\n    \"\"\"Test cursor pagination with reverse ordering with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events_reverse\")\n    response_data = response.json()\n\n    assert len(response_data[\"results\"]) == 10\n    # With reverse ordering, should start from the end\n    assert response_data[\"results\"][0][\"title\"] == \"Special Event 13\"\n    assert response_data[\"next\"] is not None\n    assert response_data[\"previous\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_end_date_offset():\n    \"\"\"Test cursor pagination handles duplicate end_date values with async\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events_end_date_offset\")\n    response_data = response.json()\n\n    # Should handle events with same end_date by using id as secondary ordering\n    assert len(response_data[\"results\"]) == 2\n\n    # Verify ordering is consistent across pages\n    all_results = []\n    current_response = response_data\n\n    while True:\n        all_results.extend(current_response[\"results\"])\n        if not current_response[\"next\"]:\n            break\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response_obj = await async_client.get(\n            f\"/async_cursor_events_end_date_offset?cursor={next_cursor}\"\n        )\n        current_response = current_response_obj.json()\n\n    # Should have all events and maintain consistent ordering\n    assert len(all_results) == 13\n    # Verify no duplicates\n    titles = [result[\"title\"] for result in all_results]\n    assert len(titles) == len(set(titles))\n\n    # Verify results are sorted by start_dates, then by id (implicit in creation order)\n    start_dates = [result[\"start_date\"] for result in all_results]\n    assert start_dates == sorted(start_dates), \"Results should be sorted by end_date\"\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_end_date_offset_backwards():\n    \"\"\"Test cursor pagination handles duplicate end_date values iterating backwards with async\"\"\"\n\n    # Start from the last page by getting all pages first\n    response = await async_client.get(\"/async_cursor_events_end_date_offset\")\n    response_data = response.json()\n\n    # Navigate to the last page\n    current_response = response_data\n    while current_response[\"next\"]:\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response_obj = await async_client.get(\n            f\"/async_cursor_events_end_date_offset?cursor={next_cursor}\"\n        )\n        current_response = current_response_obj.json()\n\n    # Now iterate backwards using previous links\n    all_results_backwards = []\n    while True:\n        # Insert at beginning to maintain reverse order\n        all_results_backwards = current_response[\"results\"] + all_results_backwards\n        if not current_response[\"previous\"]:\n            break\n        prev_cursor = current_response[\"previous\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response_obj = await async_client.get(\n            f\"/async_cursor_events_end_date_offset?cursor={prev_cursor}\"\n        )\n        current_response = current_response_obj.json()\n\n    # Should have all events and maintain consistent ordering\n    assert len(all_results_backwards) == 13\n    # Verify no duplicates\n    titles = [result[\"title\"] for result in all_results_backwards]\n    assert len(titles) == len(set(titles))\n\n    # Verify results are sorted by start_date when iterating backwards\n    start_dates = [result[\"start_date\"] for result in all_results_backwards]\n    assert start_dates == sorted(\n        start_dates\n    ), \"Results should be sorted by start_date when iterating backwards\"\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_default_page_size():\n    \"\"\"Test cursor pagination with default page size with async.\"\"\"\n    # Create test events\n\n    response = await async_client.get(\"/async_cursor_events_default_size\")\n    response_data = response.json()\n\n    # Should use default page size which is 1000\n    assert len(response_data[\"results\"]) == 13\n    assert response_data[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response_data[\"results\"][-1][\"title\"] == \"Special Event 13\"\n    assert response_data[\"next\"] is None\n    assert response_data[\"previous\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_custom_page_size_override():\n    \"\"\"Test overriding page size in request with async.\"\"\"\n    # Create test events\n\n    response = await async_client.get(\"/async_cursor_events_default_size?page_size=3\")\n    response_data = response.json()\n\n    assert len(response_data[\"results\"]) == 3\n    assert response_data[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response_data[\"results\"][-1][\"title\"] == \"Event 3\"\n    assert response_data[\"next\"] is not None\n    assert response_data[\"previous\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_with_custom_params():\n    \"\"\"Test cursor pagination with additional query parameters with async.\"\"\"\n\n    response = await async_client.get(\n        \"/async_cursor_events_with_params?title_filter=Special&page_size=5\"\n    )\n    response_data = response.json()\n\n    # Should filter to events with \"Special\" in title\n    assert len(response_data[\"results\"]) == 3\n    assert all(\"Special\" in item[\"title\"] for item in response_data[\"results\"])\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_invalid_cursor():\n    \"\"\"Test handling of invalid cursor values with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events?cursor=invalid&page_size=3\")\n\n    assert response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_empty_cursor():\n    \"\"\"Test handling of empty cursor with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events?cursor=&page_size=3\")\n    response_data = response.json()\n\n    # Should default to first page\n    assert len(response_data[\"results\"]) == 3\n    assert response_data[\"results\"][0][\"title\"] == \"Event 1\"\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_no_page_size():\n    \"\"\"Test cursor pagination without specifying page_size with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events\")\n    response_data = response.json()\n\n    # Should use default page size from settings\n    assert len(response_data[\"results\"]) >= 1\n    assert \"next\" in response_data\n    assert \"previous\" in response_data\n    assert \"results\" in response_data\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_large_page_size():\n    \"\"\"Test edge cases for cursor pagination with async.\"\"\"\n\n    # Very large page_size\n    response = await async_client.get(\"/async_cursor_events?page_size=1000\")\n    response_data = response.json()\n    # all available items (10 events + 3 special events)\n    assert len(response_data[\"results\"]) == 13\n    assert response_data[\"next\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_page_size_of_one():\n    # Page size of 1 with async\n    response = await async_client.get(\"/async_cursor_events?page_size=1\")\n    response_data = response.json()\n    assert len(response_data[\"results\"]) == 1\n    assert response_data[\"results\"][0][\"title\"] == \"Event 1\"\n    assert response_data[\"next\"] is not None\n\n    # Request all pages and check length and order\n    all_results = []\n    current_response = response_data\n\n    while True:\n        all_results.extend(current_response[\"results\"])\n        if not current_response[\"next\"]:\n            break\n        next_cursor = current_response[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        current_response_obj = await async_client.get(\n            f\"/async_cursor_events?cursor={next_cursor}&page_size=1\"\n        )\n        current_response = current_response_obj.json()\n\n    # Check total length\n    assert len(all_results) == 13  # 10 events + 3 special events\n\n    # Check order - should be sorted by start_date\n    titles = [result[\"title\"] for result in all_results]\n    expected_titles = [f\"Event {i}\" for i in range(1, 11)] + [\n        f\"Special Event {i}\" for i in range(11, 14)\n    ]\n    assert titles == expected_titles\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_empty_queryset():\n    \"\"\"Test cursor pagination with empty queryset with async.\"\"\"\n    # Explicitly clear all events for this test using async-safe methods\n    await Category.objects.all().adelete()\n    await Event.objects.all().adelete()\n\n    response = await async_client.get(\"/async_cursor_events?page_size=5\")\n    response_data = response.json()\n\n    assert len(response_data[\"results\"]) == 0\n    assert response_data[\"next\"] is None\n    assert response_data[\"previous\"] is None\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 1), reason=\"Async QuerySet iteration requires Django 4.1+\"\n)\n@pytest.mark.asyncio\n@override_settings(NINJA_PAGINATION_PER_PAGE=20)\nasync def test_async_cursor_pagination_settings_override():\n    \"\"\"Test that Django settings affect cursor pagination with async.\"\"\"\n\n    response = await async_client.get(\"/async_cursor_events_default_size\")\n    response_data = response.json()\n    assert \"results\" in response_data\n    assert len(response_data[\"results\"]) == 13\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 2), reason=\"Model.adelete() requires Django 4.2+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_deleted_position():\n    \"\"\"Test cursor pagination when the cursor position is deleted between requests with async.\"\"\"\n\n    # Get first page with page_size=3 to get a cursor\n    first_response = await async_client.get(\"/async_cursor_events?page_size=3\")\n    first_response_data = first_response.json()\n    assert len(first_response_data[\"results\"]) == 3\n    assert first_response_data[\"next\"] is not None\n\n    # Extract the cursor for the next page\n    next_cursor = first_response_data[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete the event that the cursor is pointing to\n    # The cursor should be pointing to Event 4\n    event_to_delete = await Event.objects.aget(title=\"Event 4\")\n    await event_to_delete.adelete()\n\n    # Now try to use the cursor - it should still work gracefully\n    # even though the position it was pointing to no longer exists\n    response = await async_client.get(\n        f\"/async_cursor_events?cursor={next_cursor}&page_size=3\"\n    )\n    response_data = response.json()\n\n    # Should still return results, just continuing from where it can\n    assert len(response_data[\"results\"]) >= 1\n    assert \"next\" in response_data\n    assert \"previous\" in response_data\n\n    # Verify we get the remaining events after the deleted position\n    titles = [result[\"title\"] for result in response_data[\"results\"]]\n    assert \"Event 4\" not in titles\n    # Should now contain the deleted Event 5\n    assert titles[0] == \"Event 5\"\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 2), reason=\"Model.adelete() requires Django 4.2+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_deleted_position_previous():\n    \"\"\"Test cursor pagination when the cursor position is deleted between requests using previous cursor with async.\"\"\"\n\n    # Get to the last page first\n    response = await async_client.get(\"/async_cursor_events?page_size=3\")\n    response_data = response.json()\n\n    # Navigate to get a page with a previous cursor\n    while response_data[\"next\"]:\n        next_cursor = response_data[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n        response = await async_client.get(\n            f\"/async_cursor_events?cursor={next_cursor}&page_size=3\"\n        )\n        response_data = response.json()\n\n    # Now we should have a previous cursor\n    assert response_data[\"previous\"] is not None\n    prev_cursor = response_data[\"previous\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete an event that will be referenced by the previous cursor\n\n    event_to_delete = await Event.objects.aget(title=\"Special Event 13\")\n    await event_to_delete.adelete()\n\n    # Now try to use the previous cursor - it should still work gracefully\n    # even though the position it was pointing to no longer exists\n    prev_response = await async_client.get(\n        f\"/async_cursor_events?cursor={prev_cursor}&page_size=3\"\n    )\n    prev_response_data = prev_response.json()\n\n    # Should still return results, just continuing from where it can\n    assert len(prev_response_data[\"results\"]) >= 1\n    assert \"next\" in prev_response_data\n    assert \"previous\" in prev_response_data\n\n    # Verify we get the remaining events and don't include the deleted one\n    titles = [result[\"title\"] for result in prev_response_data[\"results\"]]\n    assert \"Special Event 13\" not in titles\n\n\n@pytest.mark.skipif(\n    django.VERSION < (4, 2), reason=\"Model.adelete() requires Django 4.2+\"\n)\n@pytest.mark.asyncio\nasync def test_async_cursor_pagination_last_item_deleted():\n    \"\"\"Test cursor pagination when the cursor is pointed at the last item, but it is deleted with async.\"\"\"\n\n    # Navigate through all pages to get to the last one\n    next_cursor = \"\"\n\n    while True:\n        response = await async_client.get(\n            f\"/async_cursor_events?cursor={next_cursor}&page_size=3\"\n        )\n        response_data = response.json()\n        if response_data[\"next\"] is None:\n            break\n        next_cursor = response_data[\"next\"].split(\"cursor=\")[1].split(\"&\")[0]\n\n    # Delete the last item (Special Event 13)\n    last_event = await Event.objects.aget(title=\"Special Event 13\")\n    await last_event.adelete()\n\n    # Now try to use the cursor that was pointing to the last page\n    # It should handle the deletion gracefully\n    response = await async_client.get(\n        f\"/async_cursor_events?cursor={next_cursor}&page_size=3\"\n    )\n    response_data = response.json()\n\n    # Should return empty results\n    assert len(response_data[\"results\"]) == 0\n    assert response_data[\"next\"] is None\n    assert response_data[\"previous\"] is not None\n"
  },
  {
    "path": "tests/test_pagination_router.py",
    "content": "from typing import List\n\nimport pytest\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.pagination import PageNumberPagination, RouterPaginated, paginate\nfrom ninja.testing import TestAsyncClient, TestClient\n\napi = NinjaAPI(default_router=RouterPaginated())\n\n\nclass ItemSchema(Schema):\n    id: int\n\n\n@api.get(\"/items\", response=List[ItemSchema])\ndef items(request):\n    return [{\"id\": i} for i in range(1, 51)]\n\n\n@api.get(\"/items_nolist\", response=ItemSchema)\ndef items_nolist(request):\n    return {\"id\": 1}\n\n\n@api.get(\"/items_extra_layer\", response=List[ItemSchema])\n@paginate  # has not to break down\ndef items_extra_layer(request):\n    return [{\"id\": i} for i in range(1, 51)]\n\n\n@api.get(\"/items_overridden\", response=List[ItemSchema])\n@paginate(PageNumberPagination, page_size=3)  # has precedence over router pagination\ndef items_overridden_pagination(request):\n    return [{\"id\": i} for i in range(1, 51)]\n\n\nclient = TestClient(api)\n\n\ndef test_for_list_reponse():\n    parameters = api.get_openapi_schema()[\"paths\"][\"/api/items\"][\"get\"][\"parameters\"]\n    assert parameters == [\n        {\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"schema\": {\n                \"title\": \"Limit\",\n                \"default\": 100,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"offset\",\n            \"schema\": {\n                \"title\": \"Offset\",\n                \"default\": 0,\n                \"minimum\": 0,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n    ]\n\n    response = client.get(\"/items?offset=5&limit=1\").json()\n    # print(response)\n    assert response == {\"items\": [{\"id\": 6}], \"count\": 50}\n\n\ndef test_for_NON_list_reponse():\n    parameters = api.get_openapi_schema()[\"paths\"][\"/api/items_nolist\"][\"get\"][\n        \"parameters\"\n    ]\n    # print(parameters)\n    assert parameters == []\n\n\ndef test_extra_pagination_layer_does_not_crash():\n    parameters = api.get_openapi_schema()[\"paths\"][\"/api/items_extra_layer\"][\"get\"][\n        \"parameters\"\n    ]\n    assert parameters == [\n        {\n            \"in\": \"query\",\n            \"name\": \"limit\",\n            \"schema\": {\n                \"title\": \"Limit\",\n                \"default\": 100,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"offset\",\n            \"schema\": {\n                \"title\": \"Offset\",\n                \"default\": 0,\n                \"minimum\": 0,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n    ]\n\n    response = client.get(\"/items_extra_layer?offset=5&limit=1\").json()\n    assert response == {\"items\": [{\"id\": 6}], \"count\": 50}\n\n\ndef test_for_list_with_overridden_pagination_reponse():\n    parameters = api.get_openapi_schema()[\"paths\"][\"/api/items_overridden\"][\"get\"][\n        \"parameters\"\n    ]\n    assert parameters == [\n        {\n            \"in\": \"query\",\n            \"name\": \"page\",\n            \"schema\": {\n                \"title\": \"Page\",\n                \"default\": 1,\n                \"minimum\": 1,\n                \"type\": \"integer\",\n            },\n            \"required\": False,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"page_size\",\n            \"schema\": {\n                \"anyOf\": [{\"minimum\": 1, \"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Page Size\",\n            },\n            \"required\": False,\n        },\n    ]\n\n    response = client.get(\"/items_overridden?page=5\").json()\n    assert response == {\"items\": [{\"id\": 13}, {\"id\": 14}, {\"id\": 15}], \"count\": 50}\n\n\n@pytest.mark.asyncio\nasync def test_async_pagination():\n    # Create separate API for async test to avoid frozen router issues\n    async_api = NinjaAPI(default_router=RouterPaginated(), urls_namespace=\"async_test\")\n\n    @async_api.get(\"/items_async\", response=List[ItemSchema])\n    async def items_async(request):\n        return [{\"id\": i} for i in range(1, 51)]\n\n    client = TestAsyncClient(async_api)\n\n    response = await client.get(\"/items_async?offset=5&limit=1\")\n    assert response.json() == {\"items\": [{\"id\": 6}], \"count\": 50}\n"
  },
  {
    "path": "tests/test_params_models.py",
    "content": "from typing import Optional\n\nfrom ninja.params.models import DictStrAny, ParamModel\n\n\nclass _NestedParamModel(ParamModel):\n    outer: DictStrAny\n    leaf: Optional[int]\n\n    __ninja_flatten_map__ = {\n        \"foo\": (\"outer\", \"foo\"),\n        \"bar\": (\"outer\", \"bar\"),\n        \"leaf\": (\"leaf\",),\n    }\n\n\ndef test_map_data_paths_creates_parent_for_missing_nested_values():\n    assert _NestedParamModel._map_data_paths({}) == {\"outer\": {}}\n\n\ndef test_map_data_paths_sets_values_when_present():\n    data = _NestedParamModel._map_data_paths({\"foo\": 1, \"leaf\": 2})\n    assert data == {\"outer\": {\"foo\": 1}, \"leaf\": 2}\n"
  },
  {
    "path": "tests/test_parser.py",
    "content": "from typing import List\n\nfrom django.http import HttpRequest, QueryDict\n\nfrom ninja import NinjaAPI\nfrom ninja.parser import Parser\nfrom ninja.testing import TestClient\n\n\nclass MyParser(Parser):\n    \"Default json parser\"\n\n    def parse_body(self, request: HttpRequest):\n        \"just splitting body to lines\"\n        return request.body.encode().splitlines()\n\n    def parse_querydict(\n        self, data: QueryDict, list_fields: List[str], request: HttpRequest\n    ):\n        \"Turning empty Query params to None instead of empty string\"\n        result = super().parse_querydict(data, list_fields, request)\n        for k, v in list(result.items()):\n            if v == \"\":\n                del result[k]\n        return result\n\n\napi = NinjaAPI(parser=MyParser())\n\n\n@api.post(\"/test\")\ndef operation(request, body: List[str], emptyparam: str = None):\n    return {\"emptyparam\": emptyparam, \"body\": body}\n\n\ndef test_parser():\n    client = TestClient(api)\n    response = client.post(\"/test?emptyparam\", body=\"test\\nbar\")\n    assert response.status_code == 200, response.content\n    assert response.json() == {\"emptyparam\": None, \"body\": [\"test\", \"bar\"]}\n"
  },
  {
    "path": "tests/test_patch_dict.py",
    "content": "from typing import List, Optional\n\nimport pytest\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.patch_dict import PatchDict\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\nclient = TestClient(api)\n\n\nclass SomeSchema(Schema):\n    name: str\n    age: int\n    category: Optional[str] = None\n\n\nclass OtherSchema(SomeSchema):\n    other: str\n    category: Optional[List[str]] = None\n\n\n@api.patch(\"/patch\")\ndef patch(request, payload: PatchDict[SomeSchema]):\n    return {\"payload\": payload, \"type\": str(type(payload))}\n\n\n@api.patch(\"/patch-inherited\")\ndef patch_inherited(request, payload: PatchDict[OtherSchema]):\n    return {\"payload\": payload, \"type\": str(type(payload))}\n\n\n@pytest.mark.parametrize(\n    \"input,output\",\n    [\n        ({\"name\": \"foo\"}, {\"name\": \"foo\"}),\n        ({\"age\": \"1\"}, {\"age\": 1}),\n        ({}, {}),\n        ({\"wrong_param\": 1}, {}),\n        ({\"age\": None}, {\"age\": None}),\n    ],\n)\ndef test_patch_calls(input: dict, output: dict):\n    response = client.patch(\"/patch\", json=input)\n    assert response.json() == {\"payload\": output, \"type\": \"<class 'dict'>\"}\n\n\ndef test_schema():\n    \"Checking that json schema properties are all optional\"\n    schema = api.get_openapi_schema()\n    assert schema[\"components\"][\"schemas\"][\"SomeSchemaPatch\"] == {\n        \"title\": \"SomeSchemaPatch\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"name\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Name\",\n            },\n            \"age\": {\n                \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Age\",\n            },\n            \"category\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Category\",\n            },\n        },\n    }\n\n\ndef test_patch_inherited():\n    input = {\"other\": \"any\", \"category\": [\"cat1\", \"cat2\"]}\n    expected_output = {\"payload\": input, \"type\": \"<class 'dict'>\"}\n\n    response = client.patch(\"/patch-inherited\", json=input)\n    assert response.json() == expected_output\n\n\ndef test_inherited_schema():\n    \"Checking that json schema properties for inherithed schemas are ok\"\n    schema = api.get_openapi_schema()\n    assert schema[\"components\"][\"schemas\"][\"OtherSchemaPatch\"] == {\n        \"title\": \"OtherSchemaPatch\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"name\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Name\",\n            },\n            \"age\": {\n                \"anyOf\": [{\"type\": \"integer\"}, {\"type\": \"null\"}],\n                \"title\": \"Age\",\n            },\n            \"other\": {\n                \"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}],\n                \"title\": \"Other\",\n            },\n            \"category\": {\n                \"anyOf\": [\n                    {\n                        \"items\": {\n                            \"type\": \"string\",\n                        },\n                        \"type\": \"array\",\n                    },\n                    {\"type\": \"null\"},\n                ],\n                \"title\": \"Category\",\n            },\n        },\n    }\n"
  },
  {
    "path": "tests/test_path.py",
    "content": "from sys import version_info\n\nimport pytest\nfrom main import router\n\nfrom ninja import Router\nfrom ninja.testing import TestClient\n\nclient = TestClient(router)\n\n\ndef test_text_get():\n    response = client.get(\"/text\")\n    assert response.status_code == 200, response.text\n    assert response.json() == \"Hello World\"\n\n\nresponse_not_valid_bool = {\n    \"detail\": [\n        {\n            \"type\": \"bool_parsing\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be a valid boolean, unable to interpret input\",\n        }\n    ]\n}\n\nresponse_not_valid_int = {\n    \"detail\": [\n        {\n            \"type\": \"int_parsing\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be a valid integer, unable to parse string as an integer\",\n        }\n    ]\n}\n\nresponse_not_valid_custom = {\n    \"detail\": [\n        {\n            \"ctx\": {\"error\": \"Input should pass this custom validator\"},\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Value error, Input should pass this custom validator\",\n            \"type\": \"value_error\",\n        }\n    ]\n}\n\nresponse_not_valid_int_float = {\n    \"detail\": [\n        {\n            \"type\": \"int_parsing\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be a valid integer, unable to parse string as an integer\",\n        }\n    ]\n}\n\nresponse_not_valid_float = {\n    \"detail\": [\n        {\n            \"type\": \"float_parsing\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be a valid number, unable to parse string as a number\",\n        }\n    ]\n}\n\nresponse_at_least_3 = {\n    \"detail\": [\n        {\n            \"type\": \"string_too_short\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"String should have at least 3 characters\",\n            \"ctx\": {\"min_length\": 3},\n        }\n    ]\n}\n\n\nresponse_at_least_2 = {\n    \"detail\": [\n        {\n            \"type\": \"string_too_short\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"String should have at least 2 characters\",\n            \"ctx\": {\"min_length\": 2},\n        }\n    ]\n}\n\n\nresponse_maximum_3 = {\n    \"detail\": [\n        {\n            \"type\": \"string_too_long\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"String should have at most 3 characters\",\n            \"ctx\": {\"max_length\": 3},\n        }\n    ]\n}\n\n\nresponse_greater_than_3 = {\n    \"detail\": [\n        {\n            \"type\": \"greater_than\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be greater than 3\",\n            \"ctx\": {\"gt\": 3.0},\n        }\n    ]\n}\n\n\nresponse_greater_than_0 = {\n    \"detail\": [\n        {\n            \"type\": \"greater_than\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be greater than 0\",\n            \"ctx\": {\"gt\": 0.0},\n        }\n    ]\n}\n\n\nresponse_greater_than_1 = {\n    \"detail\": [\n        {\n            \"type\": \"greater_than\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be greater than 1\",\n            \"ctx\": {\"gt\": 1},\n        }\n    ]\n}\n\n\nresponse_greater_than_equal_3 = {\n    \"detail\": [\n        {\n            \"type\": \"greater_than_equal\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be greater than or equal to 3\",\n            \"ctx\": {\"ge\": 3.0},\n        }\n    ]\n}\n\n\nresponse_less_than_3 = {\n    \"detail\": [\n        {\n            \"type\": \"less_than\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be less than 3\",\n            \"ctx\": {\"lt\": 3.0},\n        }\n    ]\n}\n\n\nresponse_less_than_0 = {\n    \"detail\": [\n        {\n            \"type\": \"less_than\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be less than 0\",\n            \"ctx\": {\"lt\": 0.0},\n        }\n    ]\n}\n\nresponse_less_than_equal_3 = {\n    \"detail\": [\n        {\n            \"type\": \"less_than_equal\",\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"Input should be less than or equal to 3\",\n            \"ctx\": {\"le\": 3.0},\n        }\n    ]\n}\n\n\nresponse_not_valid_pattern = {\n    \"detail\": [\n        {\n            \"ctx\": {\n                \"pattern\": \"^foo\",\n            },\n            \"loc\": [\"path\", \"item_id\"],\n            \"msg\": \"String should match pattern '^foo'\",\n            \"type\": \"string_pattern_mismatch\",\n        }\n    ]\n}\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/path/foobar\", 200, \"foobar\"),\n        (\"/path/str/foobar\", 200, \"foobar\"),\n        (\"/path/str/42\", 200, \"42\"),\n        (\"/path/str/True\", 200, \"True\"),\n        (\"/path/int/foobar\", 422, response_not_valid_int),\n        (\"/path/int/True\", 422, response_not_valid_int),\n        (\"/path/int/42\", 200, 42),\n        (\"/path/int/42.5\", 422, response_not_valid_int_float),\n        (\"/path/float/foobar\", 422, response_not_valid_float),\n        (\"/path/float/True\", 422, response_not_valid_float),\n        (\"/path/float/42\", 200, 42),\n        (\"/path/float/42.5\", 200, 42.5),\n        (\"/path/bool/foobar\", 422, response_not_valid_bool),\n        (\"/path/bool/True\", 200, True),\n        (\"/path/bool/42\", 422, response_not_valid_bool),\n        (\"/path/bool/42.5\", 422, response_not_valid_bool),\n        (\"/path/bool/1\", 200, True),\n        (\"/path/bool/0\", 200, False),\n        (\"/path/bool/true\", 200, True),\n        (\"/path/bool/False\", 200, False),\n        (\"/path/bool/false\", 200, False),\n        (\"/path/param/foo\", 200, \"foo\"),\n        (\"/path/param-required/foo\", 200, \"foo\"),\n        (\"/path/param-minlength/foo\", 200, \"foo\"),\n        (\"/path/param-minlength/fo\", 422, response_at_least_3),\n        (\"/path/param-maxlength/foo\", 200, \"foo\"),\n        (\"/path/param-maxlength/foobar\", 422, response_maximum_3),\n        (\"/path/param-min_maxlength/foo\", 200, \"foo\"),\n        (\"/path/param-min_maxlength/foobar\", 422, response_maximum_3),\n        (\"/path/param-min_maxlength/f\", 422, response_at_least_2),\n        (\"/path/param-gt/42\", 200, 42),\n        (\"/path/param-gt/2\", 422, response_greater_than_3),\n        (\"/path/param-gt0/0.05\", 200, 0.05),\n        (\"/path/param-gt0/0\", 422, response_greater_than_0),\n        (\"/path/param-ge/42\", 200, 42),\n        (\"/path/param-ge/3\", 200, 3),\n        (\"/path/param-ge/2\", 422, response_greater_than_equal_3),\n        (\"/path/param-lt/42\", 422, response_less_than_3),\n        (\"/path/param-lt/2\", 200, 2),\n        (\"/path/param-lt0/-1\", 200, -1),\n        (\"/path/param-lt0/0\", 422, response_less_than_0),\n        (\"/path/param-le/42\", 422, response_less_than_equal_3),\n        (\"/path/param-le/3\", 200, 3),\n        (\"/path/param-le/2\", 200, 2),\n        (\"/path/param-lt-gt/2\", 200, 2),\n        (\"/path/param-lt-gt/4\", 422, response_less_than_3),\n        (\"/path/param-lt-gt/0\", 422, response_greater_than_1),\n        (\"/path/param-le-ge/2\", 200, 2),\n        (\"/path/param-le-ge/1\", 200, 1),\n        (\"/path/param-le-ge/3\", 200, 3),\n        (\"/path/param-le-ge/4\", 422, response_less_than_equal_3),\n        (\"/path/param-lt-int/2\", 200, 2),\n        (\"/path/param-lt-int/42\", 422, response_less_than_3),\n        (\"/path/param-lt-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-gt-int/42\", 200, 42),\n        (\"/path/param-gt-int/2\", 422, response_greater_than_3),\n        (\"/path/param-gt-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-le-int/42\", 422, response_less_than_equal_3),\n        (\"/path/param-le-int/3\", 200, 3),\n        (\"/path/param-le-int/2\", 200, 2),\n        (\"/path/param-le-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-ge-int/42\", 200, 42),\n        (\"/path/param-ge-int/3\", 200, 3),\n        (\"/path/param-ge-int/2\", 422, response_greater_than_equal_3),\n        (\"/path/param-ge-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-lt-gt-int/2\", 200, 2),\n        (\"/path/param-lt-gt-int/4\", 422, response_less_than_3),\n        (\"/path/param-lt-gt-int/0\", 422, response_greater_than_1),\n        (\"/path/param-lt-gt-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-le-ge-int/2\", 200, 2),\n        (\"/path/param-le-ge-int/1\", 200, 1),\n        (\"/path/param-le-ge-int/3\", 200, 3),\n        (\"/path/param-le-ge-int/4\", 422, response_less_than_equal_3),\n        (\"/path/param-le-ge-int/2.7\", 422, response_not_valid_int_float),\n        (\"/path/param-pattern/foo\", 200, \"foo\"),\n        (\"/path/param-pattern/fo\", 422, response_not_valid_pattern),\n    ],\n)\ndef test_get_path(path, expected_status, expected_response):\n    response = client.get(path)\n    print(path, response.json())\n    assert response.status_code == expected_status\n    assert response.json() == expected_response\n\n\n@pytest.mark.skipif(\n    version_info < (3, 9),\n    reason=\"requires py3.9+ for Annotated[] at the route definition site\",\n)\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/path/param_ex/True\", 422, response_not_valid_int),\n        (\"/path/param_ex/0\", 422, response_not_valid_custom),\n        (\"/path/param_ex/42\", 200, 42),\n    ],\n)\ndef test_get_pathex(path, expected_status, expected_response):\n    response = client.get(path)\n    print(path, response.json())\n    assert response.status_code == expected_status\n    assert response.json() == expected_response\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/path/param-django-str/42\", 200, \"42\"),\n        (\"/path/param-django-str/-1\", 200, \"-1\"),\n        (\"/path/param-django-str/foobar\", 200, \"foobar\"),\n        (\"/path/param-django-int/0\", 200, 0),\n        (\"/path/param-django-int/42\", 200, 42),\n        (\"/path/param-django-int/42.5\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-int/-1\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-int/True\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-int/foobar\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-int/not-an-int\", 200, \"Found not-an-int\"),\n        # (\"/path/param-django-int-str/42\", 200, \"42\"), # https://github.com/pydantic/pydantic/issues/5993\n        (\"/path/param-django-int-str/42.5\", \"Cannot resolve\", Exception),\n        (\n            \"/path/param-django-slug/django-ninja-is-the-best\",\n            200,\n            \"django-ninja-is-the-best\",\n        ),\n        (\"/path/param-django-slug/42.5\", \"Cannot resolve\", Exception),\n        (\n            \"/path/param-django-uuid/31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n            200,\n            \"31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n        ),\n        (\n            \"/path/param-django-uuid/31ea378c-c052-4b4c-bf0b-679ce5cfcc2\",  # invalid UUID (missing last digit)\n            \"Cannot resolve\",\n            Exception,\n        ),\n        (\n            \"/path/param-django-uuid-notype/31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n            200,\n            \"31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n        ),\n        (\n            \"/path/param-django-uuid-typestr/31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n            200,\n            \"31ea378c-c052-4b4c-bf0b-679ce5cfcc2a\",\n        ),\n        (\"/path/param-django-path/some/path/things/after\", 200, \"some/path/things\"),\n        (\"/path/param-django-path/less/path/after\", 200, \"less/path\"),\n        (\"/path/param-django-path/plugh/after\", 200, \"plugh\"),\n        (\"/path/param-django-path//after\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-custom-int/42\", 200, 24),\n        (\"/path/param-django-custom-int/x42\", \"Cannot resolve\", Exception),\n        (\"/path/param-django-custom-float/42\", 200, 0.24),\n        (\"/path/param-django-custom-float/x42\", \"Cannot resolve\", Exception),\n    ],\n)\ndef test_get_path_django(path, expected_status, expected_response):\n    if expected_response is Exception:\n        with pytest.raises(Exception, match=expected_status):\n            client.get(path)\n    else:\n        response = client.get(path)\n        print(response.json())\n        assert response.status_code == expected_status\n        assert response.json() == expected_response\n\n\ndef test_path_signature_asserts_default():\n    test_router = Router()\n\n    match = \"'item_id' is a path param, default not allowed\"\n    with pytest.raises(AssertionError, match=match):\n\n        @test_router.get(\"/path/{item_id}\")\n        def get_path_item_id(request, item_id=\"1\"):\n            pass\n\n\ndef test_path_signature_warns_missing():\n    test_router = Router()\n\n    match = (\n        r\"Field\\(s\\) \\('a_path_param', 'another_path_param'\\) are in \"\n        r\"the view path, but were not found in the view signature.\"\n    )\n    with pytest.warns(UserWarning, match=match):\n\n        @test_router.get(\"/path/{a_path_param}/{another_path_param}\")\n        def get_path_item_id(request):\n            pass\n"
  },
  {
    "path": "tests/test_pydantic_migrate.py",
    "content": "import warnings\nfrom typing import Optional\n\nimport pytest\nfrom django.db import models\nfrom pydantic import BaseModel, ValidationError\n\nfrom ninja import ModelSchema, Schema\n\n\nclass OptModel(BaseModel):\n    a: int = None\n    b: Optional[int]\n    c: Optional[int] = None\n\n\nclass OptSchema(Schema):\n    a: int = None\n    b: Optional[int]\n    c: Optional[int] = None\n\n\ndef test_optional_pydantic_model():\n    with pytest.raises(ValidationError):\n        OptModel().dict()\n\n    assert OptModel(b=None).model_dump() == {\"a\": None, \"b\": None, \"c\": None}\n\n\ndef test_optional_schema():\n    with pytest.raises(ValidationError):\n        OptSchema().dict()\n\n    assert OptSchema(b=None).dict() == {\"a\": None, \"b\": None, \"c\": None}\n\n\ndef test_deprecated_schema():\n    with warnings.catch_warnings(record=True) as w:\n        OptSchema.schema()\n    assert w[0].message.args == (\".schema() is deprecated, use .json_schema() instead\",)\n\n\ndef test_orm_config():\n    class SomeCustomModel(models.Model):\n        f1 = models.CharField()\n        f2 = models.CharField(blank=True, null=True)\n\n        class Meta:\n            app_label = \"tests\"\n\n    class SomeCustomSchema(ModelSchema):\n        f3: int\n        f4: int = 1\n        _private: str = \"<secret>\"  # private should be ignored\n\n        class Meta:\n            model = SomeCustomModel\n            fields = [\"f1\", \"f2\"]\n\n    assert SomeCustomSchema.json_schema() == {\n        \"title\": \"SomeCustomSchema\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"f1\": {\"title\": \"F1\", \"type\": \"string\"},\n            \"f2\": {\"anyOf\": [{\"type\": \"string\"}, {\"type\": \"null\"}], \"title\": \"F2\"},\n            \"f3\": {\"title\": \"F3\", \"type\": \"integer\"},\n            \"f4\": {\"title\": \"F4\", \"default\": 1, \"type\": \"integer\"},\n        },\n        \"required\": [\"f3\", \"f1\"],\n    }\n"
  },
  {
    "path": "tests/test_query.py",
    "content": "import pytest\nfrom main import router\n\nfrom ninja.testing import TestClient\n\nresponse_missing = {\n    \"detail\": [\n        {\n            \"type\": \"missing\",\n            \"loc\": [\"query\", \"query\"],\n            \"msg\": \"Field required\",\n        }\n    ]\n}\n\nresponse_not_valid_int = {\n    \"detail\": [\n        {\n            \"type\": \"int_parsing\",\n            \"loc\": [\"query\", \"query\"],\n            \"msg\": \"Input should be a valid integer, unable to parse string as an integer\",\n        }\n    ]\n}\n\nresponse_not_valid_int_float = {\n    \"detail\": [\n        {\n            \"type\": \"int_parsing\",\n            \"loc\": [\"query\", \"query\"],\n            \"msg\": \"Input should be a valid integer, unable to parse string as an integer\",\n        }\n    ]\n}\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/query\", 422, response_missing),\n        (\"/query?query=baz\", 200, \"foo bar baz\"),\n        (\"/query?not_declared=baz\", 422, response_missing),\n        (\"/query/optional\", 200, \"foo bar\"),\n        (\"/query/optional?query=baz\", 200, \"foo bar baz\"),\n        (\"/query/optional?not_declared=baz\", 200, \"foo bar\"),\n        (\"/query/int\", 422, response_missing),\n        (\"/query/int?query=42\", 200, \"foo bar 42\"),\n        (\"/query/int?query=42.5\", 422, response_not_valid_int_float),\n        (\"/query/int?query=baz\", 422, response_not_valid_int),\n        (\"/query/int?not_declared=baz\", 422, response_missing),\n        (\"/query/int/optional\", 200, \"foo bar\"),\n        (\"/query/int/optional?query=50\", 200, \"foo bar 50\"),\n        (\"/query/int/optional?query=foo\", 422, response_not_valid_int),\n        (\"/query/int/default\", 200, \"foo bar 10\"),\n        (\"/query/int/default?query=50\", 200, \"foo bar 50\"),\n        (\"/query/int/default?query=foo\", 422, response_not_valid_int),\n        (\"/query/list?query=a&query=b&query=c\", 200, \"a,b,c\"),\n        (\"/query/list-optional?query=a&query=b&query=c\", 200, \"a,b,c\"),\n        (\"/query/list-optional?query=a\", 200, \"a\"),\n        (\"/query/list-optional\", 200, None),\n        (\"/query/param\", 200, \"foo bar\"),\n        (\"/query/param?query=50\", 200, \"foo bar 50\"),\n        (\"/query/param-required\", 422, response_missing),\n        (\"/query/param-required?query=50\", 200, \"foo bar 50\"),\n        (\"/query/param-required/int\", 422, response_missing),\n        (\"/query/param-required/int?query=50\", 200, \"foo bar 50\"),\n        (\"/query/param-required/int?query=foo\", 422, response_not_valid_int),\n        (\"/query/aliased-name?aliased.-_~name=foo\", 200, \"foo bar foo\"),\n        (\"/query/str/optional\", 200, \"foo bar\"),\n        (\"/query/str/optional?query=test\", 200, \"foo bar test\"),\n    ],\n)\ndef test_get_path(path, expected_status, expected_response):\n    response = client.get(path)\n    resp = response.json()\n    print(resp)\n    assert response.status_code == expected_status\n    assert resp == expected_response\n\n\n@pytest.mark.parametrize(\n    \"path,query_params,expected_status,expected_response\",\n    [\n        (\"/query\", {}, 422, response_missing),\n        (\"/query\", {\"query\": \"baz\"}, 200, \"foo bar baz\"),\n        (\"/query\", {\"not_declared\": \"baz\"}, 422, response_missing),\n        (\"/query/optional\", {}, 200, \"foo bar\"),\n        (\"/query/optional\", {\"query\": \"baz\"}, 200, \"foo bar baz\"),\n        (\"/query/optional\", {\"not_declared\": \"baz\"}, 200, \"foo bar\"),\n        (\"/query/int\", {}, 422, response_missing),\n        (\"/query/int\", {\"query\": \"42\"}, 200, \"foo bar 42\"),\n        (\"/query/int\", {\"query\": \"42.5\"}, 422, response_not_valid_int_float),\n        (\"/query/int\", {\"query\": \"baz\"}, 422, response_not_valid_int),\n        (\"/query/int\", {\"not_declared\": \"baz\"}, 422, response_missing),\n        (\"/query/int/optional\", {}, 200, \"foo bar\"),\n        (\"/query/int/optional\", {\"query\": \"50\"}, 200, \"foo bar 50\"),\n        (\"/query/int/optional\", {\"query\": \"foo\"}, 422, response_not_valid_int),\n        (\"/query/int/default\", {}, 200, \"foo bar 10\"),\n        (\"/query/int/default\", {\"query\": \"50\"}, 200, \"foo bar 50\"),\n        (\"/query/int/default\", {\"query\": \"foo\"}, 422, response_not_valid_int),\n        (\"/query/list\", {\"query\": [\"a\", \"b\", \"c\"]}, 200, \"a,b,c\"),\n        (\"/query/list-optional\", {\"query\": [\"a\", \"b\", \"c\"]}, 200, \"a,b,c\"),\n        (\"/query/list-optional\", {\"query\": [\"a\"]}, 200, \"a\"),\n        (\"/query/list-optional\", {}, 200, None),\n        (\"/query/param\", {}, 200, \"foo bar\"),\n        (\"/query/param\", {\"query\": \"50\"}, 200, \"foo bar 50\"),\n        (\"/query/param-required\", {}, 422, response_missing),\n        (\"/query/param-required\", {\"query\": \"50\"}, 200, \"foo bar 50\"),\n        (\"/query/param-required/int\", {}, 422, response_missing),\n        (\"/query/param-required/int\", {\"query\": \"50\"}, 200, \"foo bar 50\"),\n        (\"/query/param-required/int\", {\"query\": \"foo\"}, 422, response_not_valid_int),\n        (\"/query/aliased-name\", {\"aliased.-_~name\": \"foo\"}, 200, \"foo bar foo\"),\n    ],\n)\ndef test_get_query_params(path, query_params, expected_status, expected_response):\n    response = client.get(path, query_params=query_params)\n    resp = response.json()\n    print(resp)\n    assert response.status_code == expected_status\n    assert resp == expected_response\n"
  },
  {
    "path": "tests/test_query_schema.py",
    "content": "import sys\nfrom datetime import datetime\nfrom enum import IntEnum\nfrom typing import Optional\n\nimport pytest\nfrom pydantic import BaseModel, Field\n\nfrom ninja import NinjaAPI, Query, Schema\nfrom ninja.testing.client import TestClient\n\nPY_310 = sys.version_info >= (3, 10)\n\n\nclass Range(IntEnum):\n    TWENTY = 20\n    FIFTY = 50\n    TWO_HUNDRED = 200\n\n\nclass Filter(BaseModel):\n    to_datetime: datetime = Field(alias=\"to\")\n    from_datetime: datetime = Field(alias=\"from\")\n    range: Range = Range.TWENTY\n\n\nclass Data(Schema):\n    an_int: int = Field(alias=\"int\", default=0)\n    a_float: float = Field(alias=\"float\", default=1.5)\n\n\napi = NinjaAPI()\n\n\n@api.get(\"/test\")\ndef query_params_schema(request, filters: Filter = Query(...)):\n    return filters.model_dump()\n\n\n@api.get(\"/test-mixed\")\ndef query_params_mixed_schema(\n    request,\n    query1: int,\n    query2: int = 5,\n    filters: Filter = Query(...),\n    data: Data = Query(...),\n):\n    return dict(\n        query1=query1,\n        query2=query2,\n        filters=filters.model_dump(),\n        data=data.model_dump(),\n    )\n\n\ndef test_request():\n    client = TestClient(api)\n    response = client.get(\"/test?from=1&to=2&range=20&foo=1&range2=50\")\n    print(\"!\", response.json())\n    assert response.json() == {\n        \"to_datetime\": \"1970-01-01T00:00:02Z\",\n        \"from_datetime\": \"1970-01-01T00:00:01Z\",\n        \"range\": 20,\n    }\n\n    response = client.get(\"/test?from=1&to=2&range=21\")\n    assert response.status_code == 422\n\n\ndef test_request_mixed():\n    client = TestClient(api)\n    response = client.get(\n        \"/test-mixed?from=1&to=2&range=20&foo=1&range2=50&query1=2&int=3&float=1.6\"\n    )\n    print(response.json())\n    assert response.json() == {\n        \"data\": {\"a_float\": 1.6, \"an_int\": 3},\n        \"filters\": {\n            \"from_datetime\": \"1970-01-01T00:00:01Z\",\n            \"range\": 20,\n            \"to_datetime\": \"1970-01-01T00:00:02Z\",\n        },\n        \"query1\": 2,\n        \"query2\": 5,\n    }\n\n    response = client.get(\n        \"/test-mixed?from=1&to=2&range=20&foo=1&range2=50&query1=2&query2=10\"\n    )\n    print(response.json())\n    assert response.json() == {\n        \"data\": {\"a_float\": 1.5, \"an_int\": 0},\n        \"filters\": {\n            \"from_datetime\": \"1970-01-01T00:00:01Z\",\n            \"range\": 20,\n            \"to_datetime\": \"1970-01-01T00:00:02Z\",\n        },\n        \"query1\": 2,\n        \"query2\": 10,\n    }\n\n    response = client.get(\"/test-mixed?from=1&to=2\")\n    assert response.status_code == 422\n\n\ndef test_request_query_params_using_basemodel():\n    class Foo(BaseModel):\n        start: int\n        optional: int = 42\n\n    temp_api = NinjaAPI()\n\n    @temp_api.get(\"/foo\")\n    def view(request, foo: Foo = Query(...)):\n        return foo.model_dump()\n\n    client = TestClient(temp_api)\n    resp = client.get(\"/foo?start=1\")\n\n    assert resp.status_code == 200\n    assert resp.json() == {\"start\": 1, \"optional\": 42}\n\n\ndef test_schema():\n    schema = api.get_openapi_schema()\n    params = schema[\"paths\"][\"/api/test\"][\"get\"][\"parameters\"]\n    print(params)\n    assert params == [\n        {\n            \"in\": \"query\",\n            \"name\": \"to\",\n            \"schema\": {\"format\": \"date-time\", \"title\": \"To\", \"type\": \"string\"},\n            \"required\": True,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"from\",\n            \"schema\": {\"format\": \"date-time\", \"title\": \"From\", \"type\": \"string\"},\n            \"required\": True,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"range\",\n            \"schema\": {\n                \"allOf\": [{\"enum\": [20, 50, 200], \"title\": \"Range\", \"type\": \"integer\"}],\n                \"default\": 20,\n            },\n            \"required\": False,\n        },\n    ]\n\n\ndef test_schema_all_of_no_ref():\n    details = {\n        \"default\": 1,\n        \"allOf\": [\n            {\"$ref\": \"#/components/schemas/Type\"},\n            {\"no-ref-here\": \"xyzzy\"},\n        ],\n    }\n    definitions = {\"Type\": {\"title\": \"Best Type Ever!\"}}\n\n    from ninja.openapi.schema import resolve_allOf\n\n    resolve_allOf(details, definitions)\n\n    assert details == {\n        \"default\": 1,\n        \"allOf\": [{\"title\": \"Best Type Ever!\"}, {\"no-ref-here\": \"xyzzy\"}],\n    }\n\n\n@pytest.mark.skipif(not PY_310, reason=\"requires Python 3.10+ pipe syntax\")\ndef test_unwrap_union_model_no_model():\n    \"\"\"_unwrap_union_model returns input as-is when union has no pydantic model.\"\"\"\n    from ninja.signature.details import _unwrap_union_model\n\n    annotation = int | None\n    assert _unwrap_union_model(annotation) is annotation\n    assert _unwrap_union_model(str) is str\n\n\ndef test_optional_query_schema():\n    \"\"\"Optional[Model] in Query should not crash (issue #1634).\"\"\"\n\n    class MyFilter(Schema):\n        name: str = \"default\"\n\n    temp_api = NinjaAPI()\n\n    @temp_api.get(\"/opt\")\n    def view(request, f: Optional[MyFilter] = Query(None)):\n        if f:\n            return f.model_dump()\n        return {}\n\n    client = TestClient(temp_api)\n\n    resp = client.get(\"/opt?name=hello\")\n    assert resp.status_code == 200\n    assert resp.json() == {\"name\": \"hello\"}\n\n    resp = client.get(\"/opt\")\n    assert resp.status_code == 200\n\n\n@pytest.mark.skipif(not PY_310, reason=\"requires Python 3.10+ pipe syntax\")\ndef test_union_pipe_syntax_query_schema():\n    \"\"\"Model | None in Query should not crash (issue #1634, Python 3.10+ pipe syntax).\"\"\"\n\n    class MyFilter(Schema):\n        name: str = \"default\"\n\n    temp_api = NinjaAPI()\n\n    @temp_api.get(\"/pipe\")\n    def view(request, f: MyFilter | None = Query(None)):\n        if f:\n            return f.model_dump()\n        return {}\n\n    client = TestClient(temp_api)\n\n    resp = client.get(\"/pipe?name=world\")\n    assert resp.status_code == 200\n    assert resp.json() == {\"name\": \"world\"}\n\n    resp = client.get(\"/pipe\")\n    assert resp.status_code == 200\n\n\n@pytest.mark.skipif(not PY_310, reason=\"requires Python 3.10+ pipe syntax\")\ndef test_nested_optional_query_schema():\n    \"\"\"Nested optional model fields should also work.\"\"\"\n\n    class Inner(Schema):\n        value: Optional[int] = 0\n        items: list[str] = []\n\n    class Outer(Schema):\n        inner: Inner | None = None\n        label: str = \"x\"\n\n    temp_api = NinjaAPI()\n\n    @temp_api.get(\"/nested\")\n    def view(request, f: Outer = Query(...)):\n        return f.model_dump()\n\n    client = TestClient(temp_api)\n\n    resp = client.get(\"/nested?label=test\")\n    assert resp.status_code == 200\n    assert resp.json()[\"label\"] == \"test\"\n"
  },
  {
    "path": "tests/test_renderer.py",
    "content": "from io import StringIO\n\nimport pytest\nfrom django.utils.encoding import force_str\nfrom django.utils.xmlutils import SimplerXMLGenerator\n\nfrom ninja import NinjaAPI\nfrom ninja.renderers import BaseRenderer\nfrom ninja.testing import TestClient\n\n\nclass XMLRenderer(BaseRenderer):\n    media_type = \"text/xml\"\n\n    def render(self, request, data, *, response_status):\n        stream = StringIO()\n        xml = SimplerXMLGenerator(stream, \"utf-8\")\n        xml.startDocument()\n        xml.startElement(\"data\", {})\n        self._to_xml(xml, data)\n        xml.endElement(\"data\")\n        xml.endDocument()\n        return stream.getvalue()\n\n    def _to_xml(self, xml, data):\n        if isinstance(data, (list, tuple)):\n            for item in data:\n                xml.startElement(\"item\", {})\n                self._to_xml(xml, item)\n                xml.endElement(\"item\")\n\n        elif isinstance(data, dict):\n            for key, value in data.items():\n                xml.startElement(key, {})\n                self._to_xml(xml, value)\n                xml.endElement(key)\n\n        elif data is None:\n            # Don't output any value\n            pass\n\n        else:\n            xml.characters(force_str(data))\n\n\nclass CSVRenderer(BaseRenderer):\n    media_type = \"text/csv\"\n\n    def render(self, request, data, *, response_status):\n        content = [\",\".join(data[0].keys())]\n        for item in data:\n            content.append(\",\".join(item.values()))\n        return \"\\n\".join(content)\n\n\ndef operation(request):\n    return [\n        {\"name\": \"Jonathan\", \"lastname\": \"Doe\"},\n        {\"name\": \"Sarah\", \"lastname\": \"Calvin\"},\n    ]\n\n\napi_xml = NinjaAPI(renderer=XMLRenderer())\napi_csv = NinjaAPI(renderer=CSVRenderer())\n\n\napi_xml.get(\"/test\")(operation)\napi_csv.get(\"/test\")(operation)\n\n\n@pytest.mark.parametrize(\n    \"api,content_type,expected_content\",\n    [\n        (\n            api_xml,\n            \"text/xml; charset=utf-8\",\n            '<?xml version=\"1.0\" encoding=\"utf-8\"?>\\n<data>'\n            \"<item><name>Jonathan</name><lastname>Doe</lastname></item>\"\n            \"<item><name>Sarah</name><lastname>Calvin</lastname></item>\"\n            \"</data>\",\n        ),\n        (\n            api_csv,\n            \"text/csv; charset=utf-8\",\n            \"name,lastname\\nJonathan,Doe\\nSarah,Calvin\",\n        ),\n    ],\n)\ndef test_response_class(api, content_type, expected_content):\n    client = TestClient(api)\n    response = client.get(\"/test\")\n    assert response.status_code == 200\n    assert response[\"Content-Type\"] == content_type\n    assert response.content.decode() == expected_content\n\n\ndef test_implment_render():\n    class FooRenderer(BaseRenderer):\n        pass\n\n    renderer = FooRenderer()\n    with pytest.raises(NotImplementedError):\n        renderer.render(None, None, response_status=200)\n"
  },
  {
    "path": "tests/test_request.py",
    "content": "from typing import Optional\n\nimport pytest\nfrom pydantic import ConfigDict\n\nfrom ninja import Body, Cookie, Header, Router, Schema\nfrom ninja.testing import TestClient\n\n\nclass OptionalEmptySchema(Schema):\n    model_config = ConfigDict(extra=\"forbid\")\n    name: Optional[str] = None\n\n\nclass ExtraForbidSchema(Schema):\n    model_config = ConfigDict(extra=\"forbid\")\n    name: str\n    metadata: Optional[OptionalEmptySchema] = None\n\n\nrouter = Router()\n\n\n@router.get(\"/headers1\")\ndef headers1(request, user_agent: str = Header(...)):\n    return user_agent\n\n\n@router.get(\"/headers2\")\ndef headers2(request, ua: str = Header(..., alias=\"User-Agent\")):\n    return ua\n\n\n@router.get(\"/headers3\")\ndef headers3(request, content_length: int = Header(...)):\n    return content_length\n\n\n@router.get(\"/headers4\")\ndef headers4(request, c_len: int = Header(..., alias=\"Content-length\")):\n    return c_len\n\n\n@router.get(\"/headers5\")\ndef headers5(request, missing: int = Header(...)):\n    return missing\n\n\n@router.get(\"/cookies1\")\ndef cookies1(request, weapon: str = Cookie(...)):\n    return weapon\n\n\n@router.get(\"/cookies2\")\ndef cookies2(request, wpn: str = Cookie(..., alias=\"weapon\")):\n    return wpn\n\n\n@router.post(\"/test-schema\")\ndef schema(request, payload: ExtraForbidSchema = Body(...)):\n    return \"ok\"\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/headers1\", 200, \"Ninja\"),\n        (\"/headers2\", 200, \"Ninja\"),\n        (\"/headers3\", 200, 10),\n        (\"/headers4\", 200, 10),\n        (\n            \"/headers5\",\n            422,\n            {\n                \"detail\": [\n                    {\n                        \"type\": \"missing\",\n                        \"loc\": [\"header\", \"missing\"],\n                        \"msg\": \"Field required\",\n                    }\n                ]\n            },\n        ),\n        (\"/cookies1\", 200, \"shuriken\"),\n        (\"/cookies2\", 200, \"shuriken\"),\n    ],\n)\ndef test_headers(path, expected_status, expected_response):\n    response = client.get(\n        path,\n        headers={\"User-Agent\": \"Ninja\", \"Content-Length\": \"10\"},\n        COOKIES={\"weapon\": \"shuriken\"},\n    )\n    assert response.status_code == expected_status, response.content\n    print(response.json())\n    assert response.json() == expected_response\n\n\n@pytest.mark.parametrize(\n    \"path,json,expected_status,expected_response\",\n    [\n        (\n            \"/test-schema\",\n            {\"name\": \"test\", \"extra_name\": \"test2\"},\n            422,\n            {\n                \"detail\": [\n                    {\n                        \"type\": \"extra_forbidden\",\n                        \"loc\": [\"body\", \"payload\", \"extra_name\"],\n                        \"msg\": \"Extra inputs are not permitted\",\n                    }\n                ]\n            },\n        ),\n        (\n            \"/test-schema\",\n            {\"name\": \"test\", \"metadata\": {\"extra_name\": \"xxx\"}},\n            422,\n            {\n                \"detail\": [\n                    {\n                        \"loc\": [\"body\", \"payload\", \"metadata\", \"extra_name\"],\n                        \"msg\": \"Extra inputs are not permitted\",\n                        \"type\": \"extra_forbidden\",\n                    }\n                ]\n            },\n        ),\n        (\n            \"/test-schema\",\n            {\"name\": \"test\", \"metadata\": \"test2\"},\n            422,\n            {\n                \"detail\": [\n                    {\n                        \"type\": \"model_attributes_type\",\n                        \"loc\": [\"body\", \"payload\", \"metadata\"],\n                        \"msg\": \"Input should be a valid dictionary or object to extract fields from\",\n                    }\n                ]\n            },\n        ),\n    ],\n)\ndef test_pydantic_config(path, json, expected_status, expected_response):\n    # test extra forbid\n    response = client.post(path, json=json)\n    assert response.json() == expected_response\n    assert response.status_code == expected_status\n"
  },
  {
    "path": "tests/test_response.py",
    "content": "import json\nfrom enum import Enum\nfrom ipaddress import IPv4Address, IPv6Address\nfrom typing import List, Union\n\nimport pytest\nfrom django.http import HttpResponse\nfrom pydantic import BaseModel, HttpUrl, ValidationError\nfrom pydantic_core import Url\n\nfrom ninja import Router\nfrom ninja.responses import Response\nfrom ninja.testing import TestClient\n\nrouter = Router()\n\n\n@router.get(\"/check_int\", response=int)\ndef check_int(request):\n    return \"1\"\n\n\n@router.get(\"/check_int2\", response=int)\ndef check_int2(request):\n    return \"str\"\n\n\nclass User:\n    def __init__(self, id, user_name, password):\n        self.id = id\n        self.user_name = user_name\n        self.password = password\n\n\nclass MyEnum(Enum):\n    first = \"first\"\n    second = \"second\"\n\n\ndef to_camel(string: str) -> str:\n    words = string.split(\"_\")\n    return words[0].lower() + \"\".join(word.capitalize() for word in words[1:])\n\n\nclass UserModel(BaseModel):\n    id: int\n    user_name: str\n    # skipping password output to responses\n\n    model_config = dict(\n        from_attributes=True,\n        alias_generator=to_camel,\n        populate_by_name=True,\n    )\n\n\n@router.get(\"/check_model\", response=UserModel)\ndef check_model(request):\n    return User(1, \"John\", \"Password\")\n\n\n@router.get(\"/check_list_model\", response=List[UserModel])\ndef check_list_model(request):\n    return [User(1, \"John\", \"Password\")]\n\n\n@router.get(\"/check_model_alias\", response=UserModel, by_alias=True)\ndef check_model_alias(request):\n    return User(1, \"John\", \"Password\")\n\n\n@router.get(\"/check_union\", response=Union[int, UserModel])\ndef check_union(request, q: int):\n    if q == 0:\n        return 1\n    if q == 1:\n        return User(1, \"John\", \"Password\")\n    return \"invalid\"\n\n\n@router.get(\"/check_set_header\")\ndef check_set_header(request, response: HttpResponse):\n    response[\"Cache-Control\"] = \"no-cache\"\n    return 1\n\n\n@router.get(\"/check_set_cookie\")\ndef check_set_cookie(request, set: bool, response: HttpResponse):\n    if set:\n        response.set_cookie(\"test\", \"me\")\n    return 1\n\n\n@router.get(\"/check_del_cookie\")\ndef check_del_cookie(request, response: HttpResponse):\n    response.delete_cookie(\"test\")\n    return 1\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_response\",\n    [\n        (\"/check_int\", 1),\n        (\"/check_model\", {\"id\": 1, \"user_name\": \"John\"}),  # the password is skipped\n        (\n            \"/check_list_model\",\n            [{\"id\": 1, \"user_name\": \"John\"}],\n        ),  # the password is skipped\n        (\"/check_model\", {\"id\": 1, \"user_name\": \"John\"}),  # the password is skipped\n        (\"/check_model_alias\", {\"id\": 1, \"userName\": \"John\"}),  # result is camelCase\n        (\"/check_union?q=0\", 1),\n        (\"/check_union?q=1\", {\"id\": 1, \"user_name\": \"John\"}),\n    ],\n)\ndef test_responses(path, expected_response):\n    response = client.get(path)\n    assert response.status_code == 200, response.content\n    assert response.json() == expected_response\n    assert response.data == response.data == expected_response  # Ensures cache works\n\n\ndef test_validates():\n    with pytest.raises(ValidationError):\n        client.get(\"/check_int2\")\n\n    with pytest.raises(ValidationError):\n        client.get(\"/check_union?q=2\")\n\n\ndef test_set_header():\n    response = client.get(\"/check_set_header\")\n    assert response.status_code == 200\n    assert response.content == b\"1\"\n    assert response[\"Cache-Control\"] == \"no-cache\"\n\n\ndef test_set_cookie():\n    response = client.get(\"/check_set_cookie?set=0\")\n    assert \"test\" not in response.cookies\n\n    response = client.get(\"/check_set_cookie?set=1\")\n    cookie = response.cookies.get(\"test\")\n    assert cookie\n    assert cookie.value == \"me\"\n\n\ndef test_del_cookie():\n    response = client.get(\"/check_del_cookie\")\n    cookie = response.cookies.get(\"test\")\n    assert cookie\n    assert cookie[\"expires\"] == \"Thu, 01 Jan 1970 00:00:00 GMT\"\n    assert cookie[\"max-age\"] == 0\n\n\ndef test_ipv4address_encoding():\n    data = {\"ipv4\": IPv4Address(\"127.0.0.1\")}\n    response = Response(data)\n    response_data = json.loads(response.content)\n    assert response_data[\"ipv4\"] == str(data[\"ipv4\"])\n\n\ndef test_ipv6address_encoding():\n    data = {\"ipv6\": IPv6Address(\"::1\")}\n    response = Response(data)\n    response_data = json.loads(response.content)\n    assert response_data[\"ipv6\"] == str(data[\"ipv6\"])\n\n\ndef test_enum_encoding():\n    data = {\"enum\": MyEnum.first}\n    response = Response(data)\n    response_data = json.loads(response.content)\n    assert response_data[\"enum\"] == str(data[\"enum\"])\n\n\ndef test_pydantic_url():\n    data = {\"url\": Url(\"https://django-ninja.dev/\")}\n    response = Response(data)\n    response_data = json.loads(response.content)\n    assert response_data == {\"url\": \"https://django-ninja.dev/\"}\n\n\ndef test_pydantic_httpurl():\n    data = {\"url\": HttpUrl(\"https://django-ninja.dev/\")}\n    response = Response(data)\n    response_data = json.loads(response.content)\n    assert response_data == {\"url\": \"https://django-ninja.dev/\"}\n\n\nclass HttpUrlSchema(BaseModel):\n    url: HttpUrl\n\n\n@router.get(\"/check_httpurl\", response=HttpUrlSchema)\ndef check_httpurl(request):\n    return HttpUrlSchema(url=\"https://django-ninja.dev/\")\n\n\ndef test_pydantic_httpurl_schema():\n    response = client.get(\"/check_httpurl\")\n    assert response.status_code == 200\n    assert response.json() == {\"url\": \"https://django-ninja.dev/\"}\n"
  },
  {
    "path": "tests/test_response_cookies.py",
    "content": "from django.http import HttpResponse\n\nfrom ninja import NinjaAPI\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\n@api.get(\"/test-no-cookies\")\ndef op_no_cookies(request):\n    return {}\n\n\n@api.get(\"/test-set-cookie\")\ndef op_set_cookie(request):\n    response = HttpResponse()\n    response.set_cookie(key=\"sessionid\", value=\"sessionvalue\")\n    return response\n\n\nclient = TestClient(api)\n\n\ndef test_cookies():\n    assert bool(client.get(\"/test-no-cookies\").cookies) is False\n    assert \"sessionid\" in client.get(\"/test-set-cookie\").cookies\n"
  },
  {
    "path": "tests/test_response_multiple.py",
    "content": "from typing import List, Union\n\nimport pytest\nfrom pydantic import ValidationError\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.errors import ConfigError\nfrom ninja.responses import codes_2xx, codes_3xx\nfrom ninja.testing import TestClient\n\npytestmark = pytest.mark.filterwarnings(\"ignore::DeprecationWarning\")\n\napi = NinjaAPI()\n\n\n@api.get(\"/check_int\", response={200: int})\ndef check_int(request):\n    return 200, \"1\"\n\n\n@api.get(\"/check_int2\", response={200: int})\ndef check_int2(request):\n    return 200, \"str\"\n\n\n@api.get(\"/check_single_with_status\", response=int)\ndef check_single_with_status(request, code: int):\n    return code, 1\n\n\n@api.get(\"/check_response_schema\", response={400: int})\ndef check_response_schema(request):\n    return 200, 1\n\n\n@api.get(\"/check_no_content\", response={204: None})\ndef check_no_content(request, return_code: bool):\n    if return_code:\n        return 204, None\n    return  # None\n\n\n@api.get(\n    \"/check_multiple_codes\",\n    response={codes_2xx: int, codes_3xx: str, ...: float},\n)\ndef check_multiple_codes(request, code: int):\n    return code, \"1\"\n\n\nclass User:\n    def __init__(self, id, name, password):\n        self.id = id\n        self.name = name\n        self.password = password\n\n\nclass UserModel(Schema):\n    id: int\n    name: str\n    # skipping password output to responses\n\n\nclass ErrorModel(Schema):\n    detail: str\n\n\n@api.get(\"/check_model\", response={200: UserModel, 202: UserModel})\ndef check_model(request):\n    return 202, User(1, \"John\", \"Password\")\n\n\n@api.get(\"/check_list_model\", response={200: List[UserModel]})\ndef check_list_model(request):\n    return 200, [User(1, \"John\", \"Password\")]\n\n\n@api.get(\"/check_union\", response={200: Union[int, UserModel], 400: ErrorModel})\ndef check_union(request, q: int):\n    if q == 0:\n        return 200, 1\n    if q == 1:\n        return 200, User(1, \"John\", \"Password\")\n    if q == 2:\n        return 400, {\"detail\": \"error\"}\n    return \"invalid\"\n\n\nclient = TestClient(api)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/check_int\", 200, 1),\n        (\"/check_single_with_status?code=200\", 200, 1),\n        (\"/check_model\", 202, {\"id\": 1, \"name\": \"John\"}),  # ! the password is skipped\n        (\"/check_list_model\", 200, [{\"id\": 1, \"name\": \"John\"}]),\n        (\"/check_union?q=0\", 200, 1),\n        (\"/check_union?q=1\", 200, {\"id\": 1, \"name\": \"John\"}),\n        (\"/check_union?q=2\", 400, {\"detail\": \"error\"}),\n        (\"/check_multiple_codes?code=200\", 200, 1),\n        (\"/check_multiple_codes?code=201\", 201, 1),\n        (\"/check_multiple_codes?code=202\", 202, 1),\n        (\"/check_multiple_codes?code=206\", 206, 1),\n        (\"/check_multiple_codes?code=300\", 300, \"1\"),\n        (\"/check_multiple_codes?code=308\", 308, \"1\"),\n        (\"/check_multiple_codes?code=400\", 400, 1.0),\n        (\"/check_multiple_codes?code=500\", 500, 1.0),\n    ],\n)\ndef test_responses(path, expected_status, expected_response):\n    response = client.get(path)\n    assert response.status_code == expected_status, response.content\n    assert response.json() == expected_response\n\n\ndef test_schema():\n    checks = [\n        (\"/api/check_int\", {200}),\n        (\"/api/check_int2\", {200}),\n        (\"/api/check_single_with_status\", {200}),\n        (\"/api/check_response_schema\", {400}),\n        (\"/api/check_model\", {200, 202}),\n        (\"/api/check_list_model\", {200}),\n        (\"/api/check_union\", {200, 400}),\n    ]\n    schema = api.get_openapi_schema()\n\n    # checking codes\n    for path, codes in checks:\n        responses = schema[\"paths\"][path][\"get\"][\"responses\"]\n        responses_codes = set(responses.keys())\n        assert codes == responses_codes, f\"{codes} != {responses_codes}\"\n\n    # checking model\n    check_model_responses = schema[\"paths\"][\"/api/check_model\"][\"get\"][\"responses\"]\n\n    assert check_model_responses == {\n        200: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/UserModel\"}\n                }\n            },\n            \"description\": \"OK\",\n        },\n        202: {\n            \"content\": {\n                \"application/json\": {\n                    \"schema\": {\"$ref\": \"#/components/schemas/UserModel\"}\n                }\n            },\n            \"description\": \"Accepted\",\n        },\n    }\n\n\ndef test_no_content():\n    response = client.get(\"/check_no_content?return_code=1\")\n    assert response.status_code == 204\n    assert response.content == b\"\"\n\n    response = client.get(\"/check_no_content?return_code=0\")\n    assert response.status_code == 204\n    assert response.content == b\"\"\n\n    schema = api.get_openapi_schema()\n    details = schema[\"paths\"][\"/api/check_no_content\"][\"get\"][\"responses\"]\n    assert details == {204: {\"description\": \"No Content\"}}\n\n\ndef test_validates():\n    with pytest.raises(ValidationError):\n        client.get(\"/check_int2\")\n\n    with pytest.raises(ValidationError):\n        client.get(\"/check_union?q=3\")\n\n    with pytest.raises(ConfigError):\n        client.get(\"/check_response_schema\")\n\n    with pytest.raises(ConfigError):\n        client.get(\"/check_single_with_status?code=300\")\n"
  },
  {
    "path": "tests/test_response_params.py",
    "content": "from typing import Optional\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\n\n\nclass SomeResponse(Schema):\n    field1: Optional[int] = 1\n    field2: Optional[str] = \"default value\"\n    field3: Optional[int] = None\n\n\n@api.get(\"/test-no-params\", response=SomeResponse)\ndef op_no_params(request):\n    return {}  # should set defaults from schema\n\n\n@api.get(\"/test-unset\", response=SomeResponse, exclude_unset=True)\ndef op_exclude_unset(request):\n    return {\"field3\": 10}\n\n\n@api.get(\"/test-defaults\", response=SomeResponse, exclude_defaults=True)\ndef op_exclude_defaults(request):\n    # changing only field1\n    return {\"field1\": 3, \"field2\": \"default value\"}\n\n\n@api.get(\"/test-none\", response=SomeResponse, exclude_none=True)\ndef op_exclude_none(request):\n    # setting field1 to None to exclude\n    return {\"field1\": None, \"field2\": \"default value\"}\n\n\nclient = TestClient(api)\n\n\ndef test_arguments():\n    assert client.get(\"/test-no-params\").json() == {\n        \"field1\": 1,\n        \"field2\": \"default value\",\n        \"field3\": None,\n    }\n    assert client.get(\"/test-unset\").json() == {\"field3\": 10}\n    assert client.get(\"/test-defaults\").json() == {\"field1\": 3}\n    assert client.get(\"/test-none\").json() == {\"field2\": \"default value\"}\n"
  },
  {
    "path": "tests/test_reverse.py",
    "content": "import pytest\nfrom django.urls import reverse\n\n\n@pytest.mark.parametrize(\n    \"view_name, path\",\n    [\n        (\"foobar\", \"/api/v3/foobar\"),\n        (\"post_foobar\", \"/api/v3/foobar\"),\n        (\"foobar_put\", \"/api/v3/foobar\"),\n    ],\n)\ndef test_reverse(view_name, path):\n    assert reverse(f\"api-3.0.0:{view_name}\") == path\n"
  },
  {
    "path": "tests/test_router_add_router.py",
    "content": "from ninja import NinjaAPI, Router\nfrom ninja.testing import TestClient\n\nrouter = Router()\n\n\n@router.get(\"/\")\ndef op(request):\n    return True\n\n\ndef test_add_router_with_string_path():\n    main_router = Router()\n    main_router.add_router(\"sub\", \"tests.test_router_add_router.router\")\n\n    api = NinjaAPI()\n    api.add_router(\"main\", main_router)\n\n    client = TestClient(api)\n\n    assert client.get(\"/main/sub/\").status_code == 200\n"
  },
  {
    "path": "tests/test_router_defaults.py",
    "content": "from typing import Optional\n\nimport pytest\nfrom pydantic import Field\n\nfrom ninja import NinjaAPI, Router, Schema\nfrom ninja.testing import TestClient\n\n\nclass SomeResponse(Schema):\n    field1: Optional[int] = 1\n    field2: Optional[str] = \"default value\"\n    field3: Optional[int] = Field(None, alias=\"aliased\")\n\n\n@pytest.mark.parametrize(\n    \"oparg,retdict,assertone,asserttwo\",\n    [\n        (\n            \"exclude_defaults\",\n            {\"field1\": 3},\n            {\"field1\": 3},\n            {\"field1\": 3, \"field2\": \"default value\", \"field3\": None},\n        ),\n        (\n            \"exclude_unset\",\n            {\"field2\": \"test\"},\n            {\"field2\": \"test\"},\n            {\"field1\": 1, \"field2\": \"test\", \"field3\": None},\n        ),\n        (\n            \"exclude_none\",\n            {\"field1\": None, \"field2\": None, \"aliased\": 10},\n            {\"field3\": 10},\n            {\"field1\": None, \"field2\": None, \"field3\": 10},\n        ),\n        (\n            \"by_alias\",\n            {\"aliased\": 10},\n            {\"field1\": 1, \"field2\": \"default value\", \"aliased\": 10},\n            {\"field1\": 1, \"field2\": \"default value\", \"field3\": 10},\n        ),\n    ],\n)\ndef test_router_defaults(oparg, retdict, assertone, asserttwo):\n    \"\"\"Test that the router level settings work and can be overridden at the op level\"\"\"\n    api = NinjaAPI()\n    router = Router(**{oparg: True})\n    api.add_router(\"/\", router)\n\n    func1 = router.get(\"/test1\", response=SomeResponse)(lambda request: retdict)\n    func2 = router.get(\"/test2\", response=SomeResponse, **{oparg: False})(\n        lambda request: retdict\n    )\n\n    client = TestClient(api)\n\n    assert getattr(func1._ninja_operation, oparg) is True\n    assert getattr(func2._ninja_operation, oparg) is False\n\n    assert client.get(\"/test1\").json() == assertone\n    assert client.get(\"/test2\").json() == asserttwo\n"
  },
  {
    "path": "tests/test_router_path_params.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Path, Router\nfrom ninja.testing import TestClient\n\napi = NinjaAPI()\nrouter_with_path_type = Router()\nrouter_without_path_type = Router()\nrouter_with_multiple = Router()\n\n\n@router_with_path_type.get(\"/metadata\")\ndef get_item_metadata(request, item_id: int = Path(None)) -> int:\n    return item_id\n\n\n@router_without_path_type.get(\"/\")\ndef get_item_metadata_2(request, item_id: str = Path(None)) -> str:\n    return item_id\n\n\n@router_without_path_type.get(\"/metadata\")\ndef get_item_metadata_3(request, item_id: str = Path(None)) -> str:\n    return item_id\n\n\n@router_without_path_type.get(\"/\")\ndef get_item_metadata_4(request, item_id: str = Path(None)) -> str:\n    return item_id\n\n\n@router_with_multiple.get(\"/metadata/{kind}\")\ndef get_item_metadata_5(\n    request, item_id: int = Path(None), name: str = Path(None), kind: str = Path(None)\n) -> str:\n    return f\"{item_id} {name} {kind}\"\n\n\napi.add_router(\"/with_type/{int:item_id}\", router_with_path_type)\napi.add_router(\"/without_type/{item_id}\", router_without_path_type)\napi.add_router(\"/with_multiple/{int:item_id}/name/{name}\", router_with_multiple)\n\nclient = TestClient(api)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/with_type/1/metadata\", 200, 1),\n        (\"/without_type/1/metadata\", 200, \"1\"),\n        (\"/without_type/abc/metadata\", 200, \"abc\"),\n        (\"/with_multiple/99/name/foo/metadata/timestamp\", 200, \"99 foo timestamp\"),\n    ],\n)\ndef test_router_with_path_params(path, expected_status, expected_response):\n    response = client.get(path)\n    assert response.status_code == expected_status\n    assert response.json() == expected_response\n\n\n@pytest.mark.parametrize(\n    \"path,expected_exception,expect_exception_contains\",\n    [\n        (\"/with_type/abc/metadata\", Exception, \"Cannot resolve\"),\n        (\"/with_type//metadata\", Exception, \"Cannot resolve\"),\n        (\"/with_type/null/metadata\", Exception, \"Cannot resolve\"),\n        (\"/with_type\", Exception, \"Cannot resolve\"),\n        (\"/with_type/\", Exception, \"Cannot resolve\"),\n        (\"/with_type//\", Exception, \"Cannot resolve\"),\n        (\"/with_type/null\", Exception, \"Cannot resolve\"),\n        (\"/with_type/null/\", Exception, \"Cannot resolve\"),\n        (\"/without_type\", Exception, \"Cannot resolve\"),\n        (\"/without_type/\", Exception, \"Cannot resolve\"),\n        (\"/without_type//\", Exception, \"Cannot resolve\"),\n        (\"/with_multiple/abc/name/foo/metadata/timestamp\", Exception, \"Cannot resolve\"),\n        (\"/with_multiple/99\", Exception, \"Cannot resolve\"),\n    ],\n)\ndef test_router_with_path_params_nomatch(\n    path, expected_exception, expect_exception_contains\n):\n    with pytest.raises(expected_exception, match=expect_exception_contains):\n        client.get(path)\n"
  },
  {
    "path": "tests/test_router_reuse.py",
    "content": "\"\"\"\nTests for router reuse (template/instance architecture).\n\nThese tests verify that:\n1. Routers can be mounted to multiple APIs\n2. Routers can be mounted multiple times with url_name_prefix\n3. Decorators are isolated between mounts\n4. Freeze mechanism works correctly\n5. Operation.clone() copies all attributes\n\"\"\"\n\nimport pytest\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.errors import ConfigError\nfrom ninja.operation import Operation, PathView\nfrom ninja.testing import TestClient\n\n\nclass TestRouterReuse:\n    \"\"\"Test that routers can be reused across multiple APIs.\"\"\"\n\n    def test_same_router_different_apis(self):\n        \"\"\"Same router can be mounted to different NinjaAPI instances.\"\"\"\n        router = Router(tags=[\"shared\"])\n\n        @router.get(\"/items\")\n        def list_items(request):\n            return [{\"id\": 1}]\n\n        api_v1 = NinjaAPI(version=\"1.0\", urls_namespace=\"api-v1\")\n        api_v1.add_router(\"/v1\", router)\n\n        api_v2 = NinjaAPI(version=\"2.0\", urls_namespace=\"api-v2\")\n        api_v2.add_router(\"/v2\", router)\n\n        # Both APIs should work\n        client_v1 = TestClient(api_v1)\n        client_v2 = TestClient(api_v2)\n\n        response_v1 = client_v1.get(\"/v1/items\")\n        response_v2 = client_v2.get(\"/v2/items\")\n\n        assert response_v1.status_code == 200\n        assert response_v2.status_code == 200\n        assert response_v1.json() == [{\"id\": 1}]\n        assert response_v2.json() == [{\"id\": 1}]\n\n    def test_same_router_multiple_mounts_requires_url_name_prefix(self):\n        \"\"\"Mounting same router twice without url_name_prefix raises ConfigError.\"\"\"\n        router = Router()\n\n        @router.get(\"/items\")\n        def list_items(request):\n            return []\n\n        api = NinjaAPI()\n        api.add_router(\"/v1\", router)\n\n        with pytest.raises(ConfigError, match=\"url_name_prefix\"):\n            api.add_router(\"/v2\", router)\n\n    def test_same_router_multiple_mounts_with_url_name_prefix(self):\n        \"\"\"Same router can be mounted multiple times with different url_name_prefix.\"\"\"\n        router = Router()\n\n        @router.get(\"/items\")\n        def list_items(request):\n            return [{\"source\": \"shared\"}]\n\n        api = NinjaAPI(urls_namespace=\"multi-mount\")\n        api.add_router(\"/admin\", router, url_name_prefix=\"admin\")\n        api.add_router(\"/public\", router, url_name_prefix=\"public\")\n\n        client = TestClient(api)\n\n        response_admin = client.get(\"/admin/items\")\n        response_public = client.get(\"/public/items\")\n\n        assert response_admin.status_code == 200\n        assert response_public.status_code == 200\n\n\nclass TestDecoratorIsolation:\n    \"\"\"Test that decorators are isolated between mounts.\"\"\"\n\n    def test_decorators_not_shared_between_apis(self):\n        \"\"\"Decorators added to one API don't affect the same router on another API.\"\"\"\n        router = Router()\n        calls = {\"api1\": 0, \"api2\": 0}\n\n        @router.get(\"/test\")\n        def test_endpoint(request):\n            return {\"ok\": True}\n\n        def api1_decorator(func):\n            def wrapper(*args, **kwargs):\n                calls[\"api1\"] += 1\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        def api2_decorator(func):\n            def wrapper(*args, **kwargs):\n                calls[\"api2\"] += 1\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        api1 = NinjaAPI(urls_namespace=\"iso-api1\")\n        api1.add_decorator(api1_decorator)\n        api1.add_router(\"\", router)\n\n        api2 = NinjaAPI(urls_namespace=\"iso-api2\")\n        api2.add_decorator(api2_decorator)\n        api2.add_router(\"\", router)\n\n        client1 = TestClient(api1)\n        client2 = TestClient(api2)\n\n        # Reset calls\n        calls[\"api1\"] = 0\n        calls[\"api2\"] = 0\n\n        client1.get(\"/test\")\n        assert calls[\"api1\"] == 1\n        assert calls[\"api2\"] == 0\n\n        client2.get(\"/test\")\n        assert calls[\"api1\"] == 1\n        assert calls[\"api2\"] == 1\n\n\nclass TestFreezeBehavior:\n    \"\"\"Test that routers are frozen after URLs are generated.\"\"\"\n\n    def test_router_frozen_after_urls_accessed(self):\n        \"\"\"Router becomes frozen after api.urls is accessed.\"\"\"\n        router = Router()\n\n        @router.get(\"/items\")\n        def list_items(request):\n            return []\n\n        api = NinjaAPI(urls_namespace=\"freeze-test\")\n        api.add_router(\"\", router)\n\n        # Access urls (triggers freezing)\n        _ = api.urls\n\n        # Trying to add more operations should fail\n        with pytest.raises(ConfigError, match=\"frozen\"):\n\n            @router.get(\"/new\")\n            def new_endpoint(request):\n                return []\n\n    def test_cannot_add_router_after_urls_accessed(self):\n        \"\"\"Cannot add routers after URLs have been generated.\"\"\"\n        api = NinjaAPI(urls_namespace=\"freeze-add-router\")\n\n        # Access urls\n        _ = api.urls\n\n        router = Router()\n\n        with pytest.raises(ConfigError, match=\"Cannot add routers\"):\n            api.add_router(\"/new\", router)\n\n    def test_cannot_add_decorator_to_frozen_router(self):\n        \"\"\"Cannot add decorator to frozen router.\"\"\"\n        router = Router()\n\n        @router.get(\"/items\")\n        def list_items(request):\n            return []\n\n        api = NinjaAPI(urls_namespace=\"freeze-decorator\")\n        api.add_router(\"\", router)\n\n        # Access urls (triggers freezing)\n        _ = api.urls\n\n        def some_decorator(func):\n            return func\n\n        with pytest.raises(ConfigError, match=\"frozen\"):\n            router.add_decorator(some_decorator)\n\n\nclass TestOperationClone:\n    \"\"\"Test Operation.clone() method completeness.\"\"\"\n\n    def test_clone_copies_all_attributes(self):\n        \"\"\"clone() should copy all essential attributes from original operation.\"\"\"\n\n        def dummy_view(request):\n            return {\"test\": True}\n\n        original = Operation(\n            path=\"/test/{id}\",\n            methods=[\"GET\", \"POST\"],\n            view_func=dummy_view,\n            operation_id=\"test_op\",\n            summary=\"Test Summary\",\n            description=\"Test Description\",\n            tags=[\"tag1\", \"tag2\"],\n            deprecated=True,\n            by_alias=True,\n            exclude_unset=True,\n            exclude_defaults=True,\n            exclude_none=True,\n            include_in_schema=False,\n            url_name=\"custom_url_name\",\n            openapi_extra={\"x-custom\": \"value\"},\n        )\n\n        cloned = original.clone()\n\n        # Verify all key attributes are copied\n        assert cloned.path == original.path\n        assert cloned.methods == original.methods\n        assert cloned.methods is not original.methods  # Should be a copy\n        assert cloned.view_func is original.view_func  # Same callable reference\n        assert cloned.operation_id == original.operation_id\n        assert cloned.summary == original.summary\n        assert cloned.description == original.description\n        assert cloned.tags == original.tags\n        assert cloned.tags is not original.tags  # Should be a copy\n        assert cloned.deprecated == original.deprecated\n        assert cloned.by_alias == original.by_alias\n        assert cloned.exclude_unset == original.exclude_unset\n        assert cloned.exclude_defaults == original.exclude_defaults\n        assert cloned.exclude_none == original.exclude_none\n        assert cloned.include_in_schema == original.include_in_schema\n        assert cloned.url_name == original.url_name\n        assert cloned.openapi_extra == original.openapi_extra\n        assert cloned.openapi_extra is not original.openapi_extra  # Should be a copy\n\n        # These should be references (immutable after creation)\n        assert cloned.signature is original.signature\n        assert cloned.models is original.models\n\n        # Response models should be copied\n        assert cloned.response_models == original.response_models\n        assert cloned.response_models is not original.response_models\n\n        # API should be None on clone (not bound yet)\n        assert cloned.api is None\n\n    def test_clone_preserves_auth_settings(self):\n        \"\"\"clone() should preserve auth settings.\"\"\"\n\n        def auth_callback(request):\n            return True\n\n        def dummy_view(request):\n            return {\"test\": True}\n\n        original = Operation(\n            path=\"/test\",\n            methods=[\"GET\"],\n            view_func=dummy_view,\n            auth=[auth_callback],\n        )\n\n        cloned = original.clone()\n\n        assert cloned.auth_param == original.auth_param\n        assert cloned.auth_callbacks == original.auth_callbacks\n        assert cloned.auth_callbacks is not original.auth_callbacks\n\n    def test_pathview_clone(self):\n        \"\"\"PathView.clone() should clone all contained operations.\"\"\"\n        pv = PathView()\n\n        def view1(request):\n            return {\"method\": \"get\"}\n\n        def view2(request, data: dict):\n            return {\"method\": \"post\"}\n\n        pv.add_operation(\"/test\", [\"GET\"], view1)\n        pv.add_operation(\"/test\", [\"POST\"], view2)\n\n        cloned = pv.clone()\n\n        assert len(cloned.operations) == len(pv.operations)\n        assert cloned.is_async == pv.is_async\n        assert cloned.url_name == pv.url_name\n\n        # Operations should be cloned, not same instances\n        for orig_op, clone_op in zip(pv.operations, cloned.operations):\n            assert orig_op is not clone_op\n            assert clone_op.path == orig_op.path\n            assert clone_op.methods == orig_op.methods\n\n\nclass TestCloneCompleteness:\n    \"\"\"Test that clone() is updated when new attributes are added to Operation.\"\"\"\n\n    def test_clone_attribute_completeness(self):\n        \"\"\"\n        Verify that all instance attributes set in __init__ are handled by clone().\n\n        This test helps catch cases where new attributes are added to Operation\n        but clone() is not updated accordingly.\n        \"\"\"\n\n        def dummy_view(request):\n            return {}\n\n        # Create operation with all parameters\n        op = Operation(\n            path=\"/test\",\n            methods=[\"GET\"],\n            view_func=dummy_view,\n        )\n\n        cloned = op.clone()\n\n        # Get all instance attributes that should be present\n        # These are the key attributes that clone() should handle\n        expected_attrs = [\n            \"is_async\",\n            \"path\",\n            \"methods\",\n            \"view_func\",\n            \"csrf_exempt\",\n            \"auth_param\",\n            \"auth_callbacks\",\n            \"throttle_param\",\n            \"throttle_objects\",\n            \"signature\",\n            \"models\",\n            \"response_models\",\n            \"operation_id\",\n            \"summary\",\n            \"description\",\n            \"tags\",\n            \"deprecated\",\n            \"include_in_schema\",\n            \"openapi_extra\",\n            \"by_alias\",\n            \"exclude_unset\",\n            \"exclude_defaults\",\n            \"exclude_none\",\n        ]\n\n        for attr in expected_attrs:\n            assert hasattr(cloned, attr), f\"clone() missing attribute: {attr}\"\n\n            # For mutable types, ensure they're copies (not same reference)\n            orig_val = getattr(op, attr)\n            clone_val = getattr(cloned, attr)\n\n            if isinstance(orig_val, (list, dict)) and orig_val:\n                assert clone_val is not orig_val, f\"clone() should copy {attr}\"\n\n    def test_clone_catches_new_attributes(self):\n        \"\"\"\n        IMPORTANT: This test will FAIL if you add a new attribute to Operation\n        but forget to handle it in clone().\n\n        When this test fails, update Operation.clone() to handle the new attribute,\n        then add it to the KNOWN_ATTRIBUTES set below.\n        \"\"\"\n\n        def dummy_view(request):\n            return {}\n\n        op = Operation(\n            path=\"/test/{id}\",\n            methods=[\"GET\", \"POST\"],\n            view_func=dummy_view,\n            auth=lambda r: True,\n            response={200: dict},\n            tags=[\"test\"],\n            summary=\"Test summary\",\n            description=\"Test description\",\n            operation_id=\"test_op\",\n            deprecated=True,\n            by_alias=True,\n            exclude_unset=True,\n            exclude_defaults=True,\n            exclude_none=True,\n            url_name=\"test_url\",\n            include_in_schema=True,\n            openapi_extra={\"x-custom\": \"value\"},\n        )\n\n        cloned = op.clone()\n\n        # Attributes that are known and handled by clone()\n        # If you add a new attribute to Operation, you MUST:\n        # 1. Add it to clone() method\n        # 2. Add it to this set\n        KNOWN_ATTRIBUTES = {\n            # Core operation attributes\n            \"is_async\",\n            \"path\",\n            \"methods\",\n            \"view_func\",\n            \"api\",\n            # Auth/security\n            \"csrf_exempt\",\n            \"auth_param\",\n            \"auth_callbacks\",\n            # Throttling\n            \"throttle_param\",\n            \"throttle_objects\",\n            # Signature and models\n            \"signature\",\n            \"models\",\n            \"response_models\",\n            # Streaming\n            \"stream_format\",\n            \"stream_item_model\",\n            # OpenAPI metadata\n            \"operation_id\",\n            \"summary\",\n            \"description\",\n            \"tags\",\n            \"deprecated\",\n            \"include_in_schema\",\n            \"openapi_extra\",\n            \"url_name\",\n            # Response serialization options\n            \"by_alias\",\n            \"exclude_unset\",\n            \"exclude_defaults\",\n            \"exclude_none\",\n        }\n\n        # Attributes that are intentionally not cloned (internal/runtime state)\n        EXCLUDED_ATTRIBUTES = {\n            \"_run_decorators\",  # Re-applied during clone, not copied\n            \"_applied_decorators\",  # Router-level decorator tracking\n        }\n\n        # Get all instance attributes from the original operation\n        original_attrs = {\n            attr\n            for attr in dir(op)\n            if not attr.startswith(\"_\")  # Skip private/dunder\n            and not callable(getattr(op, attr))  # Skip methods\n            and not isinstance(\n                getattr(type(op), attr, None), property\n            )  # Skip properties\n        }\n\n        # Also check for underscore attributes that we explicitly track\n        for attr in dir(op):\n            if attr.startswith(\"_\") and not attr.startswith(\"__\"):\n                if attr in EXCLUDED_ATTRIBUTES:\n                    continue\n                if hasattr(op, attr) and not callable(getattr(op, attr)):\n                    original_attrs.add(attr)\n\n        # Find any attributes that exist on original but aren't in our known set\n        unknown_attrs = original_attrs - KNOWN_ATTRIBUTES - EXCLUDED_ATTRIBUTES\n\n        if unknown_attrs:\n            raise AssertionError(\n                f\"New attribute(s) found on Operation that may not be handled by clone(): \"\n                f\"{unknown_attrs}\\n\\n\"\n                f\"If you added a new attribute to Operation:\\n\"\n                f\"1. Update Operation.clone() to handle it\\n\"\n                f\"2. Add it to KNOWN_ATTRIBUTES in this test\\n\"\n                f\"3. Add it to EXCLUDED_ATTRIBUTES if it should NOT be cloned\"\n            )\n\n        # Verify all known attributes exist on both original and clone\n        for attr in KNOWN_ATTRIBUTES:\n            assert hasattr(\n                op, attr\n            ), f\"KNOWN_ATTRIBUTES lists '{attr}' but Operation doesn't have it\"\n            assert hasattr(cloned, attr), f\"clone() doesn't set attribute: {attr}\"\n\n\nclass TestThrottleAndTagsInheritance:\n    \"\"\"Test throttle and tags inheritance in BoundRouter.\"\"\"\n\n    def test_throttle_inheritance_from_template(self):\n        \"\"\"Router's own throttle takes precedence over inherited.\"\"\"\n        from ninja.throttling import BaseThrottle\n\n        class TestThrottle(BaseThrottle):\n            def allow_request(self, request):\n                return True\n\n            def wait(self):\n                return None\n\n        router = Router(throttle=TestThrottle())\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        api = NinjaAPI(urls_namespace=\"throttle-template-test\")\n        api.add_router(\"\", router)\n        _ = api.urls\n\n        bound = api._get_bound_routers()[1]  # Skip default router\n        assert bound.throttle is not None\n        # Check that operations have throttle applied\n        for path_view in bound.path_operations.values():\n            for op in path_view.operations:\n                assert len(op.throttle_objects) == 1\n\n    def test_throttle_inheritance_from_parent(self):\n        \"\"\"Child router inherits throttle from parent.\"\"\"\n        from ninja.throttling import BaseThrottle\n\n        class ParentThrottle(BaseThrottle):\n            def allow_request(self, request):\n                return True\n\n            def wait(self):\n                return None\n\n        parent = Router(throttle=ParentThrottle())\n        child = Router()\n\n        @child.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        parent.add_router(\"/child\", child)\n\n        api = NinjaAPI(urls_namespace=\"throttle-inherit-test\")\n        api.add_router(\"/parent\", parent)\n        _ = api.urls\n\n        # Find the child's bound router\n        bound_routers = api._get_bound_routers()\n        child_bound = next(b for b in bound_routers if b.template is child)\n        assert child_bound.throttle is not None\n\n    def test_tags_inheritance_from_parent(self):\n        \"\"\"Child router inherits tags from parent if not set.\"\"\"\n        parent = Router(tags=[\"parent-tag\"])\n        child = Router()\n\n        @child.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        parent.add_router(\"/child\", child)\n\n        api = NinjaAPI(urls_namespace=\"tags-inherit-test\")\n        api.add_router(\"/parent\", parent)\n        _ = api.urls\n\n        # Find the child's bound router\n        bound_routers = api._get_bound_routers()\n        child_bound = next(b for b in bound_routers if b.template is child)\n        assert child_bound.tags == [\"parent-tag\"]\n\n    def test_tags_accumulation(self):\n        \"\"\"\n        Test for issue #794: Tags from parent routers should accumulate with child tags.\n\n        When a child router has its own tags, they should be combined with parent tags,\n        not replace them.\n        \"\"\"\n        parent = Router(tags=[\"Parent Tag\"])\n        child = Router(tags=[\"Child Tag\"])\n\n        @child.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        parent.add_router(\"/child\", child)\n\n        api = NinjaAPI()\n        api.add_router(\"/\", parent)\n\n        # Check OpenAPI schema\n        schema = api.get_openapi_schema(path_prefix=\"\")\n        path_info = schema[\"paths\"][\"/child/test\"][\"get\"]\n\n        # Tags should include BOTH parent and child tags\n        tags = path_info.get(\"tags\", [])\n        assert \"Parent Tag\" in tags, f\"Parent tag missing. Got: {tags}\"\n        assert \"Child Tag\" in tags, f\"Child tag missing. Got: {tags}\"\n\n\nclass TestRouterUrlsPathsMethod:\n    \"\"\"Test Router.urls_paths() method for backward compatibility.\"\"\"\n\n    def test_urls_paths_generates_patterns(self):\n        \"\"\"Router.urls_paths() should generate URL patterns.\"\"\"\n        router = Router()\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        patterns = list(router.urls_paths(\"prefix\"))\n        assert len(patterns) == 1\n        assert \"prefix/test\" in str(patterns[0].pattern)\n\n    def test_urls_paths_with_api(self):\n        \"\"\"Router.urls_paths() with API generates proper URL names.\"\"\"\n        router = Router()\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        api = NinjaAPI(urls_namespace=\"urls-paths-test\")\n        patterns = list(router.urls_paths(\"prefix\", api=api))\n        assert len(patterns) == 1\n        assert patterns[0].name == \"test_op\"\n\n\nclass TestRouterAddRouterStringImport:\n    \"\"\"Test Router.add_router() with string import path.\"\"\"\n\n    def test_add_router_direct(self):\n        \"\"\"Router.add_router() should accept Router instance.\"\"\"\n        parent = Router()\n        child = Router()\n        parent.add_router(\"/test\", child)\n\n        assert len(parent._routers) == 1\n        _, added_child, mount_tags = parent._routers[0]\n        assert isinstance(added_child, Router)\n        assert added_child is child\n        assert mount_tags is None  # No tags specified in add_router\n\n\nclass TestBuildRoutersEdgeCases:\n    \"\"\"Test edge cases in build_routers.\"\"\"\n\n    def test_build_routers_without_inherited_decorators(self):\n        \"\"\"build_routers() called directly without inherited_decorators.\"\"\"\n        router = Router()\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        # Call build_routers directly without inherited_decorators\n        mounts = router.build_routers(\"prefix\")\n        assert len(mounts) == 1\n        assert mounts[0].prefix == \"prefix\"\n        assert mounts[0].inherited_decorators == []\n\n\nclass TestApplyDecoratorsToOperations:\n    \"\"\"Test _apply_decorators_to_operations method.\"\"\"\n\n    def test_apply_decorators_view_mode(self):\n        \"\"\"Test applying decorators in view mode.\"\"\"\n        router = Router()\n\n        calls = []\n\n        def view_decorator(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"view\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        router.add_decorator(view_decorator, mode=\"view\")\n\n        # Force decorator application\n        router._apply_decorators_to_operations()\n\n        # Check decorator was applied\n        for path_view in router.path_operations.values():\n            for op in path_view.operations:\n                assert hasattr(op, \"_applied_decorators\")\n                assert len(op._applied_decorators) == 1\n\n    def test_apply_decorators_operation_mode(self):\n        \"\"\"Test applying decorators in operation mode.\"\"\"\n        router = Router()\n\n        calls = []\n\n        def op_decorator(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"operation\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        router.add_decorator(op_decorator, mode=\"operation\")\n\n        # Force decorator application\n        router._apply_decorators_to_operations()\n\n        # Check decorator was applied\n        for path_view in router.path_operations.values():\n            for op in path_view.operations:\n                assert hasattr(op, \"_applied_decorators\")\n                assert len(op._applied_decorators) == 1\n\n    def test_apply_decorators_idempotent(self):\n        \"\"\"Test that decorators are not applied twice.\"\"\"\n        router = Router()\n\n        calls = []\n\n        def decorator(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"called\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        router.add_decorator(decorator, mode=\"view\")\n\n        # Apply twice - should be idempotent\n        router._apply_decorators_to_operations()\n        router._apply_decorators_to_operations()\n\n        # Check decorator was only applied once\n        for path_view in router.path_operations.values():\n            for op in path_view.operations:\n                assert len(op._applied_decorators) == 1\n\n\nclass TestBoundRouterOperationModeDecorator:\n    \"\"\"Test BoundRouter with operation mode decorators.\"\"\"\n\n    def test_operation_mode_decorator_in_bound_router(self):\n        \"\"\"Test that operation mode decorators work in BoundRouter.\"\"\"\n        router = Router()\n        calls = []\n\n        def op_decorator(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"operation\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        @router.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        router.add_decorator(op_decorator, mode=\"operation\")\n\n        api = NinjaAPI(urls_namespace=\"op-mode-decorator-test\")\n        api.add_router(\"\", router)\n\n        client = TestClient(api)\n        response = client.get(\"/test\")\n        assert response.status_code == 200\n        assert \"operation\" in calls\n\n\nclass TestRouterAddRouterWithThrottle:\n    \"\"\"Test Router.add_router with throttle parameter.\"\"\"\n\n    def test_add_router_with_throttle(self):\n        \"\"\"Test adding a child router with throttle parameter.\"\"\"\n        from ninja.throttling import BaseThrottle\n\n        class TestThrottle(BaseThrottle):\n            def allow_request(self, request):\n                return True\n\n            def wait(self):\n                return None\n\n        parent = Router()\n        child = Router()\n\n        @child.get(\"/test\")\n        def test_op(request):\n            return {\"ok\": True}\n\n        parent.add_router(\"/child\", child, throttle=TestThrottle())\n\n        # Verify throttle was set on child\n        assert child.throttle is not None\n\n        api = NinjaAPI(urls_namespace=\"throttle-add-router-test\")\n        api.add_router(\"\", parent)\n\n        client = TestClient(api)\n        response = client.get(\"/child/test\")\n        assert response.status_code == 200\n\n\nclass TestDecorateViewMultipleCalls:\n    \"\"\"Test decorate_view called multiple times.\"\"\"\n\n    def test_decorate_view_multiple_decorators(self):\n        \"\"\"Test applying multiple view decorators to same operation.\"\"\"\n        from ninja.decorators import decorate_view\n\n        router = Router()\n        calls = []\n\n        def decorator1(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"deco1\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        def decorator2(func):\n            def wrapper(*args, **kwargs):\n                calls.append(\"deco2\")\n                return func(*args, **kwargs)\n\n            return wrapper\n\n        @router.get(\"/test\")\n        @decorate_view(decorator1)\n        @decorate_view(decorator2)\n        def test_op(request):\n            return {\"ok\": True}\n\n        api = NinjaAPI(urls_namespace=\"multi-decorate-view-test\")\n        api.add_router(\"\", router)\n\n        client = TestClient(api)\n        response = client.get(\"/test\")\n        assert response.status_code == 200\n        # Both decorators should be called\n        assert \"deco1\" in calls\n        assert \"deco2\" in calls\n"
  },
  {
    "path": "tests/test_schema.py",
    "content": "from typing import List, Optional, Union\nfrom unittest.mock import Mock\n\nimport pytest\nfrom django.db.models import Manager, QuerySet\nfrom django.db.models.fields.files import ImageFieldFile\nfrom pydantic_core import ValidationError\n\nfrom ninja import Schema\nfrom ninja.schema import DjangoGetter, Field\n\n\nclass FakeManager(Manager):\n    def __init__(self, items):\n        self._items = items\n\n    def all(self):\n        return self._items\n\n    def __str__(self):\n        return \"FakeManager\"\n\n\nclass FakeQS(QuerySet):\n    def __init__(self, items):\n        self._result_cache = items\n        self._prefetch_related_lookups = False\n\n    def __str__(self):\n        return \"FakeQS\"\n\n\nclass Tag:\n    def __init__(self, id, title):\n        self.id = id\n        self.title = title\n\n\n# mocking some users:\nclass Boss:\n    name = \"Jane Jackson\"\n    title = \"CEO\"\n\n\nclass User:\n    name = \"John Smith\"\n    group_set = FakeManager([1, 2, 3])\n    avatar = ImageFieldFile(None, Mock(), name=None)\n    boss: Optional[Boss] = Boss()\n\n    @property\n    def tags(self):\n        return FakeQS([Tag(1, \"foo\"), Tag(2, \"bar\")])\n\n    def get_boss_title(self):\n        return self.boss and self.boss.title\n\n\nclass TagSchema(Schema):\n    id: int\n    title: str\n\n\nclass UserSchema(Schema):\n    name: str\n    groups: List[int] = Field(..., alias=\"group_set\")\n    tags: List[TagSchema]\n    avatar: Optional[str] = None\n\n\nclass UserWithBossSchema(UserSchema):\n    boss: Optional[str] = Field(None, alias=\"boss.name\")\n    has_boss: bool\n    boss_title: Optional[str] = Field(None, alias=\"get_boss_title\")\n\n    @staticmethod\n    def resolve_has_boss(obj):\n        return bool(obj.boss)\n\n\nclass UserWithInitialsSchema(UserWithBossSchema):\n    initials: str\n\n    def resolve_initials(self, obj):\n        return \"\".join(n[:1] for n in self.name.split())\n\n\nclass ResolveAttrSchema(Schema):\n    \"The goal is to test that the resolve_xxx is not callable it should be a regular attribute\"\n\n    id: str\n    resolve_attr: str\n\n\ndef test_schema():\n    user = User()\n    schema = UserSchema.from_orm(user)\n    assert schema.dict() == {\n        \"name\": \"John Smith\",\n        \"groups\": [1, 2, 3],\n        \"tags\": [{\"id\": 1, \"title\": \"foo\"}, {\"id\": 2, \"title\": \"bar\"}],\n        \"avatar\": None,\n    }\n\n\ndef test_schema_with_image():\n    user = User()\n    field = Mock()\n    field.storage.url = Mock(return_value=\"/smile.jpg\")\n    user.avatar = ImageFieldFile(None, field, name=\"smile.jpg\")\n    schema = UserSchema.from_orm(user)\n    assert schema.dict() == {\n        \"name\": \"John Smith\",\n        \"groups\": [1, 2, 3],\n        \"tags\": [{\"id\": 1, \"title\": \"foo\"}, {\"id\": 2, \"title\": \"bar\"}],\n        \"avatar\": \"/smile.jpg\",\n    }\n\n\ndef test_with_boss_schema():\n    user = User()\n    schema = UserWithBossSchema.from_orm(user)\n    assert schema.dict() == {\n        \"name\": \"John Smith\",\n        \"boss\": \"Jane Jackson\",\n        \"has_boss\": True,\n        \"groups\": [1, 2, 3],\n        \"tags\": [{\"id\": 1, \"title\": \"foo\"}, {\"id\": 2, \"title\": \"bar\"}],\n        \"avatar\": None,\n        \"boss_title\": \"CEO\",\n    }\n\n    user_without_boss = User()\n    user_without_boss.boss = None\n    schema = UserWithBossSchema.from_orm(user_without_boss)\n    assert schema.dict() == {\n        \"name\": \"John Smith\",\n        \"boss\": None,\n        \"has_boss\": False,\n        \"boss_title\": None,\n        \"groups\": [1, 2, 3],\n        \"tags\": [{\"id\": 1, \"title\": \"foo\"}, {\"id\": 2, \"title\": \"bar\"}],\n        \"avatar\": None,\n    }\n\n\nSKIP_NON_STATIC_RESOLVES = True\n\n\n@pytest.mark.skipif(SKIP_NON_STATIC_RESOLVES, reason=\"Lets deal with this later\")\ndef test_with_initials_schema():\n    user = User()\n    schema = UserWithInitialsSchema.from_orm(user)\n    assert schema.dict() == {\n        \"name\": \"John Smith\",\n        \"initials\": \"JS\",\n        \"boss\": \"Jane Jackson\",\n        \"has_boss\": True,\n        \"groups\": [1, 2, 3],\n        \"tags\": [{\"id\": 1, \"title\": \"foo\"}, {\"id\": 2, \"title\": \"bar\"}],\n        \"avatar\": None,\n        \"boss_title\": \"CEO\",\n    }\n\n\ndef test_complex_alias_resolve():\n    class Top:\n        class Midddle:\n            def call(self):\n                return {\"dict\": [1, 10]}\n\n        m = Midddle()\n\n    class AliasSchema(Schema):\n        value: int = Field(..., alias=\"m.call.dict.1\")\n\n    x = Top()\n\n    assert AliasSchema.from_orm(x).dict() == {\"value\": 10}\n\n\ndef test_with_attr_that_has_resolve():\n    class Obj:\n        id = \"1\"\n        resolve_attr = \"2\"\n\n    assert ResolveAttrSchema.from_orm(Obj()).dict() == {\"id\": \"1\", \"resolve_attr\": \"2\"}\n\n\ndef test_django_getter():\n    \"Coverage for DjangoGetter __repr__ method\"\n\n    class Somechema(Schema):\n        i: int\n\n    dg = DjangoGetter({\"i\": 1}, Somechema)\n    assert repr(dg) == \"<DjangoGetter: {'i': 1}>\"\n\n\ndef test_schema_validates_assignment_and_reassigns_the_value():\n    class ValidateAssignmentSchema(Schema):\n        str_var: str\n        model_config = {\"validate_assignment\": True}\n\n    schema_inst = ValidateAssignmentSchema(str_var=\"test_value\")\n    schema_inst.str_var = \"reassigned_value\"\n    assert schema_inst.str_var == \"reassigned_value\"\n    try:\n        schema_inst.str_var = 5\n        raise AssertionError()\n    except ValidationError:\n        # We expect this error, all is okay\n        pass\n\n\n@pytest.mark.parametrize(\"test_validate_assignment\", [False, None])\ndef test_schema_skips_validation_when_validate_assignment_False(\n    test_validate_assignment: Union[bool, None],\n):\n    class ValidateAssignmentSchema(Schema):\n        str_var: str\n        model_config = {\"validate_assignment\": test_validate_assignment}\n\n    schema_inst = ValidateAssignmentSchema(str_var=\"test_value\")\n    try:\n        schema_inst.str_var = 5\n        assert schema_inst.str_var == 5\n    except ValidationError as ve:\n        raise AssertionError() from ve\n"
  },
  {
    "path": "tests/test_schema_context.py",
    "content": "from ninja import NinjaAPI, Schema\nfrom ninja.testing import TestClient\n\n\nclass ResolveWithKWargs(Schema):\n    value: int\n\n    @staticmethod\n    def resolve_value(obj, **kwargs):\n        context = kwargs[\"context\"]\n        return obj[\"value\"] + context[\"extra\"]\n\n\nclass ResolveWithContext(Schema):\n    value: int\n\n    @staticmethod\n    def resolve_value(obj, context):\n        return obj[\"value\"] + context[\"extra\"]\n\n\nclass DataWithRequestContext(Schema):\n    value: dict = None\n    other: dict = None\n\n    @staticmethod\n    def resolve_value(obj, context):\n        result = {k: str(v) for k, v in context.items()}\n        assert \"request\" in result, \"request not in context\"\n        result[\"request\"] = \"<request>\"  # making it static for easier testing\n        return result\n\n\napi = NinjaAPI()\n\n\n@api.post(\"/resolve_ctx\", response=DataWithRequestContext)\ndef resolve_ctx(request, data: DataWithRequestContext):\n    return {\"other\": data.dict()}\n\n\nclient = TestClient(api)\n\n\ndef test_schema_with_context():\n    obj = ResolveWithKWargs.model_validate({\"value\": 10}, context={\"extra\": 10})\n    assert obj.value == 20\n\n    obj = ResolveWithContext.model_validate({\"value\": 2}, context={\"extra\": 2})\n    assert obj.value == 4\n\n    obj = ResolveWithContext.from_orm({\"value\": 2}, context={\"extra\": 2})\n    assert obj.value == 4\n\n\ndef test_request_context():\n    resp = client.post(\"/resolve_ctx\", json={})\n    assert resp.status_code == 200, resp.content\n    assert resp.json() == {\n        \"other\": {\"value\": {\"request\": \"<request>\"}, \"other\": None},\n        \"value\": {\"request\": \"<request>\", \"response_status\": \"200\"},\n    }\n"
  },
  {
    "path": "tests/test_serialization_context.py",
    "content": "from unittest import mock\n\nimport pytest\nfrom pydantic import model_serializer\n\nfrom ninja import Router, Schema\nfrom ninja.schema import pydantic_version\nfrom ninja.testing import TestClient\n\n\ndef api_endpoint_test(request):\n    return {\n        \"test1\": \"foo\",\n        \"test2\": \"bar\",\n    }\n\n\n@pytest.mark.skipif(\n    pydantic_version < [2, 7],\n    reason=\"Serialization context was introduced in Pydantic 2.7\",\n)\ndef test_request_is_passed_in_context_when_supported():\n    class SchemaWithCustomSerializer(Schema):\n        test1: str\n        test2: str\n\n        @model_serializer(mode=\"wrap\")\n        def ser_model(self, handler, info):\n            assert \"request\" in info.context\n            assert info.context[\"request\"].path == \"/test\"  # check it is HttRequest\n            assert \"response_status\" in info.context\n\n            return handler(self)\n\n    router = Router()\n    router.add_api_operation(\n        \"/test\", [\"GET\"], api_endpoint_test, response=SchemaWithCustomSerializer\n    )\n\n    TestClient(router).get(\"/test\")\n\n\n@pytest.mark.parametrize(\n    [\"pydantic_version\"],\n    [\n        [[2, 0]],\n        [[2, 4]],\n        [[2, 6]],\n    ],\n)\ndef test_no_serialisation_context_used_when_no_supported(pydantic_version):\n    class SchemaWithCustomSerializer(Schema):\n        test1: str\n        test2: str\n\n        @model_serializer(mode=\"wrap\")\n        def ser_model(self, handler, info):\n            if hasattr(info, \"context\"):\n                # an actually newer Pydantic, but pydantic_version is still mocked, so no context is expected\n                assert info.context is None\n\n            return handler(self)\n\n    with mock.patch(\"ninja.operation.pydantic_version\", pydantic_version):\n        router = Router()\n        router.add_api_operation(\n            \"/test\", [\"GET\"], api_endpoint_test, response=SchemaWithCustomSerializer\n        )\n\n        resp_json = TestClient(router).get(\"/test\").json()\n\n        assert resp_json == {\n            \"test1\": \"foo\",\n            \"test2\": \"bar\",\n        }\n"
  },
  {
    "path": "tests/test_server.py",
    "content": "from ninja import NinjaAPI\n\n\nclass TestServer:\n    def test_server_basic(self):\n        server = {\"url\": \"http://example.com\"}\n        api = NinjaAPI(servers=[server])\n        schema = api.get_openapi_schema()\n\n        schema_server = schema[\"servers\"]\n        assert schema_server == [server]\n\n    def test_server_with_description(self):\n        server = {\n            \"url\": \"http://example.com\",\n            \"description\": \"this is the example server\",\n        }\n        api = NinjaAPI(servers=[server])\n        schema = api.get_openapi_schema()\n\n        schema_server = schema[\"servers\"]\n        assert schema_server == [server]\n\n    def test_multiple_servers_with_description(self):\n        server_1 = {\n            \"url\": \"http://example1.com\",\n            \"description\": \"this is the example server 1\",\n        }\n        server_2 = {\n            \"url\": \"http://example2.com\",\n            \"description\": \"this is the example server 2\",\n        }\n        servers = [server_1, server_2]\n        api = NinjaAPI(servers=servers)\n        schema = api.get_openapi_schema()\n\n        schema_server = schema[\"servers\"]\n        assert schema_server == servers\n"
  },
  {
    "path": "tests/test_signature_details.py",
    "content": "import typing\nfrom sys import version_info\n\nimport pytest\n\nfrom ninja.signature.details import is_collection_type\n\n\n@pytest.mark.parametrize(\n    (\"annotation\", \"expected\"),\n    [\n        pytest.param(typing.List, True, id=\"true_for_typing_List\"),\n        pytest.param(list, True, id=\"true_for_native_list\"),\n        pytest.param(typing.Set, True, id=\"true_for_typing_Set\"),\n        pytest.param(set, True, id=\"true_for_native_set\"),\n        pytest.param(typing.Tuple, True, id=\"true_for_typing_Tuple\"),\n        pytest.param(tuple, True, id=\"true_for_native_tuple\"),\n        pytest.param(\n            typing.Optional[typing.List[str]], True, id=\"true_for_optional_list\"\n        ),\n        pytest.param(\n            type(\"Custom\", (), {}),\n            False,\n            id=\"false_for_custom_type_without_typing_origin\",\n        ),\n        pytest.param(\n            object(), False, id=\"false_for_custom_instance_without_typing_origin\"\n        ),\n        pytest.param(\n            typing.NewType(\"SomethingNew\", str),\n            False,\n            id=\"false_for_instance_without_typing_origin\",\n        ),\n        # Can't mark with `pytest.mark.skipif` since we'd attempt to instantiate the\n        # parameterized value/type(e.g. `list[int]`). Which only works with Python >= 3.9)\n        *(\n            (\n                pytest.param(list[int], True, id=\"true_for_parameterized_native_list\"),\n                pytest.param(set[int], True, id=\"true_for_parameterized_native_set\"),\n                pytest.param(\n                    tuple[int], True, id=\"true_for_parameterized_native_tuple\"\n                ),\n            )\n            # TODO: Remove conditional once support for <=3.8 is dropped\n            if version_info >= (3, 9)\n            else ()\n        ),\n    ],\n)\ndef test_is_collection_type_returns(annotation: typing.Any, expected: bool):\n    assert is_collection_type(annotation) is expected\n"
  },
  {
    "path": "tests/test_status.py",
    "content": "from typing import List, Union\nfrom unittest.mock import patch\n\nimport pytest\n\nfrom ninja import Field, NinjaAPI, Schema, Status\nfrom ninja.operation import ResponseObject\nfrom ninja.pagination import LimitOffsetPagination, paginate\nfrom ninja.responses import codes_2xx, codes_3xx\nfrom ninja.testing import TestAsyncClient, TestClient\n\n# -- Schemas --\n\n\nclass UserOut(Schema):\n    id: int\n    name: str\n\n\nclass UserOutSub(UserOut):\n    extra: str = \"default\"\n\n\nclass ErrorOut(Schema):\n    detail: str\n\n\nclass AliasOut(Schema):\n    user_name: str = Field(serialization_alias=\"userName\")\n\n\n# -- API for basic Status tests --\n\napi = NinjaAPI()\n\n\n@api.get(\"/status_dict\", response={200: UserOut, 400: ErrorOut})\ndef status_dict(request):\n    return Status(200, {\"id\": 1, \"name\": \"John\"})\n\n\n@api.get(\"/status_error\", response={200: UserOut, 400: ErrorOut})\ndef status_error(request):\n    return Status(400, {\"detail\": \"bad request\"})\n\n\n@api.get(\"/status_none\", response={204: None})\ndef status_none(request):\n    return Status(204, None)\n\n\n@api.get(\"/status_ellipsis\", response={200: UserOut, ...: ErrorOut})\ndef status_ellipsis(request, code: int):\n    if code == 200:\n        return Status(200, {\"id\": 1, \"name\": \"John\"})\n    return Status(code, {\"detail\": \"fallback\"})\n\n\n@api.get(\"/status_code_groups\", response={codes_2xx: UserOut, codes_3xx: ErrorOut})\ndef status_code_groups(request, code: int):\n    if code < 300:\n        return Status(code, {\"id\": 1, \"name\": \"John\"})\n    return Status(code, {\"detail\": \"redirect\"})\n\n\n@api.get(\"/status_model_instance\", response={200: UserOut})\ndef status_model_instance(request):\n    return Status(200, UserOut(id=1, name=\"John\"))\n\n\n# -- Tuple deprecation --\n\n\n@api.get(\"/tuple_return\", response={200: UserOut, 400: ErrorOut})\ndef tuple_return(request):\n    return 200, {\"id\": 1, \"name\": \"John\"}\n\n\n# -- Skip re-validation --\n\n\n@api.get(\"/model_instance\", response=UserOut)\ndef model_instance(request):\n    return UserOut(id=1, name=\"John\")\n\n\n@api.get(\"/model_subclass\", response=UserOut)\ndef model_subclass(request):\n    return UserOutSub(id=1, name=\"John\", extra=\"bonus\")\n\n\n@api.get(\"/dict_result\", response=UserOut)\ndef dict_result(request):\n    return {\"id\": 1, \"name\": \"John\"}\n\n\n@api.get(\"/union_response\", response={200: Union[int, UserOut], 400: ErrorOut})\ndef union_response(request, q: int):\n    if q == 0:\n        return Status(200, 1)\n    return Status(200, UserOut(id=1, name=\"John\"))\n\n\n@api.get(\"/list_response\", response={200: List[UserOut]})\ndef list_response(request):\n    return Status(200, [{\"id\": 1, \"name\": \"John\"}])\n\n\n@api.get(\"/by_alias_response\", response=AliasOut, by_alias=True)\ndef by_alias_response(request):\n    return AliasOut(user_name=\"Alice\")\n\n\n# -- Pagination + Status --\n\n\n@api.get(\"/paginated_status\", response={201: List[UserOut]})\n@paginate(LimitOffsetPagination)\ndef paginated_status(request):\n    return Status(\n        201,\n        [{\"id\": 1, \"name\": \"A\"}, {\"id\": 2, \"name\": \"B\"}, {\"id\": 3, \"name\": \"C\"}],\n    )\n\n\n@api.get(\"/paginated_normal\", response=List[UserOut])\n@paginate(LimitOffsetPagination)\ndef paginated_normal(request):\n    return [{\"id\": 1, \"name\": \"A\"}, {\"id\": 2, \"name\": \"B\"}]\n\n\n# Async pagination\nasync_api = NinjaAPI()\n\n\n@async_api.get(\"/async_paginated_status\", response={201: List[UserOut]})\n@paginate(LimitOffsetPagination)\nasync def async_paginated_status(request):\n    return Status(\n        201,\n        [{\"id\": 1, \"name\": \"A\"}, {\"id\": 2, \"name\": \"B\"}, {\"id\": 3, \"name\": \"C\"}],\n    )\n\n\n@async_api.get(\"/async_paginated_normal\", response=List[UserOut])\n@paginate(LimitOffsetPagination)\nasync def async_paginated_normal(request):\n    return [{\"id\": 1, \"name\": \"A\"}, {\"id\": 2, \"name\": \"B\"}]\n\n\n# -- Clients --\n\nclient = TestClient(api)\nasync_client = TestAsyncClient(async_api)\n\n\n# -- Tests: Status basic --\n\n\nclass TestStatusGeneric:\n    def test_subscriptable_at_runtime(self):\n        \"\"\"Status[dict] should not raise TypeError (GitHub #1693).\"\"\"\n        alias = Status[dict]\n        assert alias is not None\n\n\nclass TestStatusBasic:\n    def test_status_with_dict(self):\n        response = client.get(\"/status_dict\")\n        assert response.status_code == 200\n        assert response.json() == {\"id\": 1, \"name\": \"John\"}\n\n    def test_status_error_code(self):\n        response = client.get(\"/status_error\")\n        assert response.status_code == 400\n        assert response.json() == {\"detail\": \"bad request\"}\n\n    def test_status_none_204(self):\n        response = client.get(\"/status_none\")\n        assert response.status_code == 204\n        assert response.content == b\"\"\n\n    def test_status_ellipsis_200(self):\n        response = client.get(\"/status_ellipsis?code=200\")\n        assert response.status_code == 200\n        assert response.json() == {\"id\": 1, \"name\": \"John\"}\n\n    def test_status_ellipsis_fallback(self):\n        response = client.get(\"/status_ellipsis?code=500\")\n        assert response.status_code == 500\n        assert response.json() == {\"detail\": \"fallback\"}\n\n    def test_status_code_groups_2xx(self):\n        response = client.get(\"/status_code_groups?code=200\")\n        assert response.status_code == 200\n        assert response.json() == {\"id\": 1, \"name\": \"John\"}\n\n    def test_status_code_groups_201(self):\n        response = client.get(\"/status_code_groups?code=201\")\n        assert response.status_code == 201\n        assert response.json() == {\"id\": 1, \"name\": \"John\"}\n\n    def test_status_code_groups_3xx(self):\n        response = client.get(\"/status_code_groups?code=300\")\n        assert response.status_code == 300\n        assert response.json() == {\"detail\": \"redirect\"}\n\n    def test_status_wrapping_model_instance(self):\n        response = client.get(\"/status_model_instance\")\n        assert response.status_code == 200\n        assert response.json() == {\"id\": 1, \"name\": \"John\"}\n\n\n# -- Tests: Tuple deprecation --\n\n\nclass TestTupleDeprecation:\n    def test_tuple_emits_deprecation_warning(self):\n        with pytest.warns(DeprecationWarning, match=\"deprecated.*Status\"):\n            client.get(\"/tuple_return\")\n\n\n# -- Tests: Skip re-validation --\n\n\nclass TestSkipRevalidation:\n    def test_model_instance_skips_validation(self):\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/model_instance\")\n            assert response.status_code == 200\n            assert response.json() == {\"id\": 1, \"name\": \"John\"}\n            mock_resp_obj.assert_not_called()\n\n    def test_subclass_skips_validation(self):\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/model_subclass\")\n            assert response.status_code == 200\n            assert response.json() == {\"id\": 1, \"name\": \"John\", \"extra\": \"bonus\"}\n            mock_resp_obj.assert_not_called()\n\n    def test_dict_goes_through_validation(self):\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/dict_result\")\n            assert response.status_code == 200\n            assert response.json() == {\"id\": 1, \"name\": \"John\"}\n            mock_resp_obj.assert_called_once()\n\n    def test_union_no_skip(self):\n        # Union types should still go through full validation\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/union_response?q=1\")\n            assert response.status_code == 200\n            assert response.json() == {\"id\": 1, \"name\": \"John\"}\n            mock_resp_obj.assert_called_once()\n\n    def test_list_no_skip(self):\n        # List types should still go through full validation\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/list_response\")\n            assert response.status_code == 200\n            assert response.json() == [{\"id\": 1, \"name\": \"John\"}]\n            mock_resp_obj.assert_called_once()\n\n    def test_by_alias_serialization(self):\n        response = client.get(\"/by_alias_response\")\n        assert response.status_code == 200\n        assert response.json() == {\"userName\": \"Alice\"}\n\n    def test_status_wrapping_model_skips_validation(self):\n        with patch(\n            \"ninja.operation.ResponseObject\", wraps=ResponseObject\n        ) as mock_resp_obj:\n            response = client.get(\"/status_model_instance\")\n            assert response.status_code == 200\n            assert response.json() == {\"id\": 1, \"name\": \"John\"}\n            mock_resp_obj.assert_not_called()\n\n\n# -- Tests: Pagination + Status --\n\n\nclass TestPaginationStatus:\n    def test_sync_pagination_with_status(self):\n        response = client.get(\"/paginated_status?limit=2&offset=0\")\n        assert response.status_code == 201\n        data = response.json()\n        assert data[\"count\"] == 3\n        assert len(data[\"items\"]) == 2\n        assert data[\"items\"][0] == {\"id\": 1, \"name\": \"A\"}\n\n    def test_sync_pagination_without_status(self):\n        response = client.get(\"/paginated_normal?limit=2&offset=0\")\n        assert response.status_code == 200\n        data = response.json()\n        assert data[\"count\"] == 2\n        assert len(data[\"items\"]) == 2\n\n    @pytest.mark.asyncio\n    async def test_async_pagination_with_status(self):\n        response = await async_client.get(\"/async_paginated_status?limit=2&offset=0\")\n        assert response.status_code == 201\n        data = response.json()\n        assert data[\"count\"] == 3\n        assert len(data[\"items\"]) == 2\n        assert data[\"items\"][0] == {\"id\": 1, \"name\": \"A\"}\n\n    @pytest.mark.asyncio\n    async def test_async_pagination_without_status(self):\n        response = await async_client.get(\"/async_paginated_normal?limit=2&offset=0\")\n        assert response.status_code == 200\n        data = response.json()\n        assert data[\"count\"] == 2\n        assert len(data[\"items\"]) == 2\n"
  },
  {
    "path": "tests/test_streaming.py",
    "content": "import json\n\nimport pytest\nfrom django.http import HttpResponse\n\nfrom ninja import NinjaAPI, Schema\nfrom ninja.streaming import JSONL, SSE, StreamFormat\nfrom ninja.testing import TestAsyncClient, TestClient\n\n\nclass Item(Schema):\n    name: str\n    price: float = 0.0\n\n\n# --- Sync JSONL ---\n\napi = NinjaAPI()\n\n\n@api.get(\"/jsonl/items\", response=JSONL[Item])\ndef jsonl_items(request):\n    for i in range(3):\n        yield {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\n@api.get(\"/sse/items\", response=SSE[Item])\ndef sse_items(request):\n    for i in range(3):\n        yield {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\n@api.post(\"/jsonl/echo\", response=JSONL[Item])\ndef jsonl_echo(request):\n    yield {\"name\": \"posted\", \"price\": 1.0}\n\n\n@api.get(\"/jsonl/with-params/{item_id}\", response=JSONL[Item])\ndef jsonl_with_params(request, item_id: int, q: str = \"default\"):\n    yield {\"name\": f\"item-{item_id}-{q}\", \"price\": 0.0}\n\n\n@api.get(\"/jsonl/with-headers\", response=JSONL[Item])\ndef jsonl_with_headers(request, response: HttpResponse):\n    response[\"X-Custom\"] = \"hello\"\n    response.set_cookie(\"session\", \"abc123\")\n    yield {\"name\": \"with-headers\", \"price\": 0.0}\n\n\nclient = TestClient(api)\n\n\nclass TestJSONLSync:\n    def test_jsonl_basic(self):\n        response = client.get(\"/jsonl/items\")\n        assert response.status_code == 200\n        assert response[\"Content-Type\"] == \"application/jsonl\"\n        lines = response.content.decode().strip().split(\"\\n\")\n        assert len(lines) == 3\n        for i, line in enumerate(lines):\n            data = json.loads(line)\n            assert data == {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n    def test_jsonl_validates_schema(self):\n        \"\"\"Each item is validated through Pydantic schema.\"\"\"\n        response = client.get(\"/jsonl/items\")\n        lines = response.content.decode().strip().split(\"\\n\")\n        for line in lines:\n            data = json.loads(line)\n            # Should have both fields (price has default)\n            assert \"name\" in data\n            assert \"price\" in data\n\n\nclass TestSSESync:\n    def test_sse_basic(self):\n        response = client.get(\"/sse/items\")\n        assert response.status_code == 200\n        assert response[\"Content-Type\"] == \"text/event-stream\"\n        content = response.content.decode()\n        events = content.strip().split(\"\\n\\n\")\n        assert len(events) == 3\n        for i, event in enumerate(events):\n            assert event.startswith(\"data: \")\n            data = json.loads(event[len(\"data: \") :])\n            assert data == {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n    def test_sse_headers(self):\n        response = client.get(\"/sse/items\")\n        assert response[\"Cache-Control\"] == \"no-cache\"\n        assert response[\"X-Accel-Buffering\"] == \"no\"\n\n\nclass TestPostStreaming:\n    def test_post_jsonl(self):\n        response = client.post(\"/jsonl/echo\")\n        assert response.status_code == 200\n        lines = response.content.decode().strip().split(\"\\n\")\n        assert len(lines) == 1\n        assert json.loads(lines[0]) == {\"name\": \"posted\", \"price\": 1.0}\n\n\nclass TestStreamingWithParams:\n    def test_path_and_query_params(self):\n        response = client.get(\"/jsonl/with-params/42?q=test\")\n        assert response.status_code == 200\n        lines = response.content.decode().strip().split(\"\\n\")\n        assert json.loads(lines[0]) == {\"name\": \"item-42-test\", \"price\": 0.0}\n\n\nclass TestStreamingHeaders:\n    def test_temporal_response_headers(self):\n        response = client.get(\"/jsonl/with-headers\")\n        assert response.status_code == 200\n        assert response[\"X-Custom\"] == \"hello\"\n        assert \"session\" in response.cookies\n\n\n# --- Async ---\n\nasync_api = NinjaAPI()\n\n\n@async_api.get(\"/jsonl/items\", response=JSONL[Item])\nasync def async_jsonl_items(request):\n    for i in range(3):\n        yield {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\n@async_api.get(\"/sse/items\", response=SSE[Item])\nasync def async_sse_items(request):\n    for i in range(3):\n        yield {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\n@async_api.get(\"/jsonl/with-headers\", response=JSONL[Item])\nasync def async_jsonl_with_headers(request, response: HttpResponse):\n    response[\"X-Custom\"] = \"async-hello\"\n    response.set_cookie(\"token\", \"xyz\")\n    yield {\"name\": \"async-headers\", \"price\": 0.0}\n\n\nasync_client = TestAsyncClient(async_api)\n\n\n@pytest.mark.asyncio\nclass TestAsyncJSONL:\n    async def test_async_jsonl(self):\n        response = await async_client.get(\"/jsonl/items\")\n        assert response.status_code == 200\n        assert response[\"Content-Type\"] == \"application/jsonl\"\n        lines = response.content.decode().strip().split(\"\\n\")\n        assert len(lines) == 3\n        for i, line in enumerate(lines):\n            data = json.loads(line)\n            assert data == {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\n@pytest.mark.asyncio\nclass TestAsyncSSE:\n    async def test_async_sse(self):\n        response = await async_client.get(\"/sse/items\")\n        assert response.status_code == 200\n        assert response[\"Content-Type\"] == \"text/event-stream\"\n        assert response[\"Cache-Control\"] == \"no-cache\"\n        content = response.content.decode()\n        events = content.strip().split(\"\\n\\n\")\n        assert len(events) == 3\n\n\n@pytest.mark.asyncio\nclass TestAsyncHeaders:\n    async def test_async_temporal_response_headers(self):\n        response = await async_client.get(\"/jsonl/with-headers\")\n        assert response.status_code == 200\n        assert response[\"X-Custom\"] == \"async-hello\"\n        assert \"token\" in response.cookies\n\n\n# --- OpenAPI Schema ---\n\n\nclass TestOpenAPISchema:\n    def test_jsonl_openapi(self):\n        schema = api.get_openapi_schema()\n        path = schema[\"paths\"][\"/api/jsonl/items\"][\"get\"]\n        resp = path[\"responses\"][200]\n        assert \"application/jsonl\" in resp[\"content\"]\n        item_schema = resp[\"content\"][\"application/jsonl\"][\"schema\"]\n        # Should reference the Item schema\n        assert item_schema.get(\"$ref\") or item_schema.get(\"properties\")\n\n    def test_sse_openapi(self):\n        schema = api.get_openapi_schema()\n        path = schema[\"paths\"][\"/api/sse/items\"][\"get\"]\n        resp = path[\"responses\"][200]\n        assert \"text/event-stream\" in resp[\"content\"]\n        sse_schema = resp[\"content\"][\"text/event-stream\"][\"schema\"]\n        assert sse_schema[\"type\"] == \"object\"\n        assert \"data\" in sse_schema[\"properties\"]\n\n\n# --- Custom StreamFormat ---\n\n\nclass NDJSON(StreamFormat):\n    media_type = \"application/x-ndjson\"\n\n    @classmethod\n    def format_chunk(cls, data: str) -> str:\n        return data + \"\\n\"\n\n\ncustom_api = NinjaAPI()\n\n\n@custom_api.get(\"/ndjson/items\", response=NDJSON[Item])\ndef ndjson_items(request):\n    for i in range(2):\n        yield {\"name\": f\"item-{i}\", \"price\": float(i)}\n\n\ncustom_client = TestClient(custom_api)\n\n\nclass TestCustomFormat:\n    def test_custom_ndjson(self):\n        response = custom_client.get(\"/ndjson/items\")\n        assert response.status_code == 200\n        assert response[\"Content-Type\"] == \"application/x-ndjson\"\n        lines = response.content.decode().strip().split(\"\\n\")\n        assert len(lines) == 2\n\n    def test_custom_openapi(self):\n        schema = custom_api.get_openapi_schema()\n        path = schema[\"paths\"][\"/api/ndjson/items\"][\"get\"]\n        resp = path[\"responses\"][200]\n        assert \"application/x-ndjson\" in resp[\"content\"]\n\n\n# --- Multiple methods ---\n\nmulti_api = NinjaAPI()\n\n\n@multi_api.patch(\"/patch-stream\", response=JSONL[Item])\ndef patch_stream(request):\n    yield {\"name\": \"patched\", \"price\": 0.0}\n\n\n@multi_api.put(\"/put-stream\", response=JSONL[Item])\ndef put_stream(request):\n    yield {\"name\": \"put\", \"price\": 0.0}\n\n\n@multi_api.delete(\"/delete-stream\", response=JSONL[Item])\ndef delete_stream(request):\n    yield {\"name\": \"deleted\", \"price\": 0.0}\n\n\nmulti_client = TestClient(multi_api)\n\n\nclass TestMultipleMethods:\n    def test_patch_stream(self):\n        response = multi_client.patch(\"/patch-stream\")\n        assert response.status_code == 200\n        assert json.loads(response.content.decode().strip()) == {\n            \"name\": \"patched\",\n            \"price\": 0.0,\n        }\n\n    def test_put_stream(self):\n        response = multi_client.put(\"/put-stream\")\n        assert response.status_code == 200\n        assert json.loads(response.content.decode().strip()) == {\n            \"name\": \"put\",\n            \"price\": 0.0,\n        }\n\n    def test_delete_stream(self):\n        response = multi_client.delete(\"/delete-stream\")\n        assert response.status_code == 200\n        assert json.loads(response.content.decode().strip()) == {\n            \"name\": \"deleted\",\n            \"price\": 0.0,\n        }\n"
  },
  {
    "path": "tests/test_test_client.py",
    "content": "from datetime import datetime\nfrom http import HTTPStatus\nfrom unittest import mock\n\nimport pytest\nfrom django.utils import timezone\n\nfrom ninja import Router\nfrom ninja.schema import Schema\nfrom ninja.testing import TestClient\n\nrouter = Router()\n\n\n@router.get(\"/request/build_absolute_uri\")\ndef request_build_absolute_uri(request):\n    return request.build_absolute_uri()\n\n\n@router.get(\"/request/build_absolute_uri/location\")\ndef request_build_absolute_uri_location(request):\n    return request.build_absolute_uri(\"location\")\n\n\n@router.get(\"/test\")\ndef simple_get(request):\n    return \"test\"\n\n\n@router.get(\"/test-headers\")\ndef get_headers(request):\n    return dict(request.headers)\n\n\n@router.get(\"/test-cookies\")\ndef get_cookies(request):\n    return dict(request.COOKIES)\n\n\nclient = TestClient(router)\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/request/build_absolute_uri\", HTTPStatus.OK, \"http://testlocation/\"),\n        (\n            \"/request/build_absolute_uri/location\",\n            HTTPStatus.OK,\n            \"http://testlocation/location\",\n        ),\n    ],\n)\ndef test_sync_build_absolute_uri(path, expected_status, expected_response):\n    response = client.get(path)\n\n    assert response.status_code == expected_status\n    assert response.json() == expected_response\n\n\nclass ClientTestSchema(Schema):\n    time: datetime\n\n\ndef test_schema_as_data():\n    schema_instance = ClientTestSchema(time=timezone.now().replace(microsecond=0))\n\n    with mock.patch.object(client, \"_call\") as call:\n        client.post(\"/test\", json=schema_instance)\n        request = call.call_args[0][1]\n        assert (\n            ClientTestSchema.model_validate_json(request.body).model_dump_json()\n            == schema_instance.model_dump_json()\n        )\n\n\ndef test_json_as_body():\n    schema_instance = ClientTestSchema(time=timezone.now().replace(microsecond=0))\n\n    with mock.patch.object(client, \"_call\") as call:\n        client.post(\n            \"/test\",\n            data=schema_instance.model_dump_json(),\n            content_type=\"application/json\",\n        )\n        request = call.call_args[0][1]\n        assert (\n            ClientTestSchema.model_validate_json(request.body).model_dump_json()\n            == schema_instance.model_dump_json()\n        )\n\n\nheadered_client = TestClient(router, headers={\"A\": \"a\", \"B\": \"b\"})\n\n\ndef test_client_request_only_header():\n    r = client.get(\"/test-headers\", headers={\"A\": \"na\"})\n    assert r.json() == {\"A\": \"na\"}\n\n\ndef test_headered_client_request_with_default_headers():\n    r = headered_client.get(\"/test-headers\")\n    assert r.json() == {\"A\": \"a\", \"B\": \"b\"}\n\n\ndef test_headered_client_request_with_overwritten_and_additional_headers():\n    r = headered_client.get(\"/test-headers\", headers={\"A\": \"na\", \"C\": \"nc\"})\n    assert r.json() == {\"A\": \"na\", \"B\": \"b\", \"C\": \"nc\"}\n\n\ncookied_client = TestClient(router, COOKIES={\"A\": \"a\", \"B\": \"b\"})\n\n\ndef test_client_request_only_cookies():\n    r = client.get(\"/test-cookies\", COOKIES={\"A\": \"na\"})\n    assert r.json() == {\"A\": \"na\"}\n\n\ndef test_headered_client_request_with_default_cookies():\n    r = cookied_client.get(\"/test-cookies\")\n    assert r.json() == {\"A\": \"a\", \"B\": \"b\"}\n\n\ndef test_headered_client_request_with_overwritten_and_additional_cookies():\n    r = cookied_client.get(\"/test-cookies\", COOKIES={\"A\": \"na\", \"C\": \"nc\"})\n    assert r.json() == {\"A\": \"na\", \"B\": \"b\", \"C\": \"nc\"}\n"
  },
  {
    "path": "tests/test_throttling.py",
    "content": "import pytest\nfrom django.core.cache import cache\nfrom django.core.exceptions import ImproperlyConfigured\n\nfrom ninja import NinjaAPI, Router\nfrom ninja.testing import TestAsyncClient, TestClient\nfrom ninja.throttling import (\n    AnonRateThrottle,\n    AuthRateThrottle,\n    BaseThrottle,\n    SimpleRateThrottle,\n    UserRateThrottle,\n)\n\n\n@pytest.fixture(autouse=True)\ndef clear_cache_for_every_case():\n    cache.clear()\n\n\ndef test_global_throttling():\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    api = NinjaAPI(throttle=[th])\n\n    @api.get(\"/check\")\n    def check(request):\n        return \"OK\"\n\n    client = TestClient(api)\n\n    resp = client.get(\"/check\")\n    assert resp.status_code == 200\n    assert resp.content == b'\"OK\"'\n\n    resp = client.get(\"/check\")\n    assert resp.status_code == 429\n    assert resp.json() == {\"detail\": \"Too many requests.\"}\n\n    set_throttle_timer(th, 2)\n    resp = client.get(\"/check\")\n    assert resp.status_code == 200\n    assert resp.content == b'\"OK\"'\n\n\ndef test_router_throttling():\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    api = NinjaAPI()\n    router = Router()\n\n    @router.get(\"/check\")\n    def check(request):\n        return \"OK\"\n\n    api.add_router(\"/router\", router, throttle=th)\n\n    client = TestClient(api)\n\n    resp = client.get(\"/router/check\")\n    assert resp.status_code == 200\n    assert resp.content == b'\"OK\"'\n\n    resp = client.get(\"/router/check\")\n    assert resp.status_code == 429\n    assert resp.json() == {\"detail\": \"Too many requests.\"}\n\n\ndef test_router2_throttling():\n    \"Here we test that child router inherits the throttling from api instance\"\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    api = NinjaAPI(throttle=th)\n    router = Router()\n\n    @router.get(\"/check\")\n    def check(request):\n        return \"OK\"\n\n    api.add_router(\"/router\", router)\n\n    client = TestClient(api)\n\n    resp = client.get(\"/router/check\")\n    assert resp.status_code == 200\n    assert resp.content == b'\"OK\"'\n\n    resp = client.get(\"/router/check\")\n    assert resp.status_code == 429\n    assert resp.json() == {\"detail\": \"Too many requests.\"}\n\n\ndef test_operation_throttling():\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    api = NinjaAPI()\n\n    @api.get(\"/check1\", throttle=th)\n    def check(request):\n        return \"OK\"\n\n    client = TestClient(api)\n\n    resp = client.get(\"/check1\")\n    assert resp.status_code == 200\n    assert resp.content == b'\"OK\"'\n\n    resp = client.get(\"/check1\")\n    assert resp.status_code == 429\n    assert resp.json() == {\"detail\": \"Too many requests.\"}\n\n\n@pytest.mark.asyncio\nasync def test_async_throttling():\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    api = NinjaAPI(throttle=th)\n\n    @api.get(\"/check-async\")\n    async def check(request):\n        return \"OK\"\n\n    client = TestAsyncClient(api)\n\n    resp = await client.get(\"/check-async\")\n    assert resp.status_code == 200\n\n    resp = await client.get(\"/check-async\")\n    assert resp.status_code == 429\n\n\n# \"Unit tests\" for the throttling module\n\n_client = TestClient(NinjaAPI())\n\n\ndef build_request(addr=\"8.8.8.8\", x_forwarded_for=None):\n    \"Creates a mock request with the given address and optional X-Forwarded-For header.\"\n    meta = {\"REMOTE_ADDR\": addr}\n    if x_forwarded_for:\n        meta[\"HTTP_X_FORWARDED_FOR\"] = x_forwarded_for\n    return _client._build_request(\"GET\", \"/\", {}, {\"META\": meta})\n\n\ndef test_throttle_anon():\n    th = AnonRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    request = build_request()\n    request.auth = None\n\n    assert th.allow_request(request) is True\n    assert th.wait() == 1.0\n    assert th.get_cache_key(request) == \"throttle_anon_8.8.8.8\"\n\n    # Next should not allow as it's within the same second\n    assert th.allow_request(request) is False\n\n    # For auth request it should always allowed\n    request.auth = \"some\"\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is True\n    assert th.get_cache_key(request) is None\n\n\ndef test_throttle_auth():\n    th = AuthRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    request = build_request()\n    request.auth = None\n\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is False\n\n    request.auth = \"some\"\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is False\n\n    set_throttle_timer(th, 2)\n    assert th.allow_request(request) is True\n\n    assert (\n        th.get_cache_key(request)\n        == \"throttle_auth_a6b46dd0d1ae5e86cbc8f37e75ceeb6760230c1ca4ffbcb0c97b96dd7d9c464b\"\n    )\n\n\ndef test_throttle_user():\n    th = UserRateThrottle(\"1/s\")\n    set_throttle_timer(th, 0)\n\n    request = build_request()\n    request.user.is_authenticated = True\n    request.user.pk = 123\n\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is False\n\n    set_throttle_timer(th, 2)\n    assert th.allow_request(request) is True\n\n    assert th.get_cache_key(request) == \"throttle_user_123\"\n\n    # Not authenticated user:\n    request.user.is_authenticated = False\n    assert th.allow_request(request) is True\n    assert th.allow_request(request) is False\n    assert (\n        th.get_cache_key(request) == \"throttle_user_8.8.8.8\"\n    )  # not authenticated throttled by IP\n\n\ndef test_wait():\n    th = AuthRateThrottle(\"5/m\")\n    set_throttle_timer(th, 0)\n\n    request = build_request()\n    request.auth = None\n\n    for _i in range(5):\n        assert th.allow_request(request) is True\n\n    assert th.allow_request(request) is False\n    assert th.wait() == 60\n\n    set_throttle_timer(th, 30)\n    assert th.allow_request(request) is False\n    assert th.wait() == 30\n\n    # Simulating cache expiration/reset\n    th.history = []\n    # cache.clear()\n    set_throttle_timer(th, 0)\n    assert th.wait() == 10  # 60s / 6 available\n\n    # Simulating larger history\n    th.history = [0] * 10\n    th.now = 0\n    assert th.wait() is None  # available becomes negative\n\n\ndef test_rate_parser():\n    th = SimpleRateThrottle(\"1/s\")\n    assert th.parse_rate(None) == (None, None)\n    assert th.parse_rate(\"1/s\") == (1, 1)\n    assert th.parse_rate(\"1/sec\") == (1, 1)\n    assert th.parse_rate(\"100/10s\") == (100, 10)\n    assert th.parse_rate(\"100/10sec\") == (100, 10)\n    assert th.parse_rate(\"100/10\") == (100, 10)\n    assert th.parse_rate(\"5/m\") == (5, 60)\n    assert th.parse_rate(\"5/min\") == (5, 60)\n    assert th.parse_rate(\"500/10m\") == (500, 600)\n    assert th.parse_rate(\"500/10min\") == (500, 600)\n    assert th.parse_rate(\"10/h\") == (10, 3600)\n    assert th.parse_rate(\"10/hour\") == (10, 3600)\n    assert th.parse_rate(\"1000/2h\") == (1000, 7200)\n    assert th.parse_rate(\"1000/2hour\") == (1000, 7200)\n    assert th.parse_rate(\"100/d\") == (100, 86400)\n    assert th.parse_rate(\"100/day\") == (100, 86400)\n    assert th.parse_rate(\"10_000/7d\") == (10000, 86400 * 7)\n    assert th.parse_rate(\"10_000/7day\") == (10000, 86400 * 7)\n\n    with pytest.raises(ValueError):\n        th.parse_rate(\"42\")\n\n\ndef test_proxy_throttle():\n    from ninja.conf import settings\n\n    settings.NUM_PROXIES = 0  # instead of None\n\n    th = SimpleRateThrottle(\"1/s\")\n    request = build_request(x_forwarded_for=None)\n    assert th.get_ident(request) == \"8.8.8.8\"\n\n    settings.NUM_PROXIES = 0\n    request = build_request(x_forwarded_for=\"8.8.8.8,127.0.0.1\")\n    assert th.get_ident(request) == \"8.8.8.8\"\n\n    settings.NUM_PROXIES = 1\n    assert th.get_ident(request) == \"127.0.0.1\"\n\n    settings.NUM_PROXIES = None\n\n\ndef test_base_classes():\n    base = BaseThrottle()\n    with pytest.raises(NotImplementedError):\n        base.allow_request(build_request())\n    assert base.wait() is None\n\n    sample = SimpleRateThrottle(\"1/s\")\n    with pytest.raises(NotImplementedError):\n        sample.allow_request(build_request())\n\n    throttle = AnonRateThrottle()\n    with pytest.raises(ImproperlyConfigured):\n        throttle.scope = None\n        throttle.get_rate()\n\n    sample_scope2 = SimpleRateThrottle(\"1/s\")\n    sample_scope2.scope = \"scope2\"\n    with pytest.raises(ImproperlyConfigured):\n        sample_scope2.get_rate()\n\n\ndef set_throttle_timer(throttle: BaseThrottle, value: int):\n    \"\"\"\n    Explicitly set the timer, overriding time.time()\n    \"\"\"\n    throttle.timer = lambda: value\n"
  },
  {
    "path": "tests/test_union.py",
    "content": "# This is no longer the case in pydantic 2\n# https://github.com/pydantic/pydantic/issues/5991\n# from datetime import date\n# from typing import Union\n\n# from ninja import Router\n# from ninja.testing import TestClient\n\n# router = Router()\n\n\n# @router.get(\"/test\")\n# def view(request, value: Union[date, str]):\n#     return [value, type(value).__name__]\n\n\n# client = TestClient(router)\n\n\n# def test_union():\n#     assert client.get(\"/test?value=today\").json() == [\"today\", \"str\"]\n#     assert client.get(\"/test?value=2020-01-15\").json() == [\"2020-01-15\", \"date\"]\n"
  },
  {
    "path": "tests/test_utils.py",
    "content": "import pytest\n\nfrom ninja import NinjaAPI, Query\nfrom ninja.utils import contribute_operation_args, replace_path_param_notation\n\n\n@pytest.mark.parametrize(\n    \"input,expected_output\",\n    [\n        (\"abc/{def}\", \"abc/<def>\"),\n        (\"abc/<def>\", \"abc/<def>\"),\n        (\"abc\", \"abc\"),\n        (\"<abc>\", \"<abc>\"),\n        (\"{abc}\", \"<abc>\"),\n        (\"{abc}/{def}\", \"<abc>/<def>\"),\n    ],\n)\ndef test_replace_path_param_notation(input, expected_output):\n    assert replace_path_param_notation(input) == expected_output\n\n\ndef test_contribute_operation_args():\n    def some_func():\n        pass\n\n    contribute_operation_args(some_func, \"arg1\", str, Query(...))\n    contribute_operation_args(some_func, \"arg2\", int, Query(...))\n\n    api = NinjaAPI()\n\n    api.get(\"/test\")(some_func)\n\n    schema = api.get_openapi_schema()\n    assert schema[\"paths\"][\"/api/test\"][\"get\"][\"parameters\"] == [\n        {\n            \"in\": \"query\",\n            \"name\": \"arg1\",\n            \"schema\": {\"title\": \"Arg1\", \"type\": \"string\"},\n            \"required\": True,\n        },\n        {\n            \"in\": \"query\",\n            \"name\": \"arg2\",\n            \"schema\": {\"title\": \"Arg2\", \"type\": \"integer\"},\n            \"required\": True,\n        },\n    ]\n"
  },
  {
    "path": "tests/test_with_django/__init__.py",
    "content": ""
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-body-file.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_body_file\",\n    \"summary\": \"Test Multi Body File\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"file\": {\n                \"title\": \"File\",\n                \"type\": \"string\",\n                \"format\": \"binary\"\n              },\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"data\": {\n                \"title\": \"Data4 Title\",\n                \"description\": \"Data4 Desc\",\n                \"$ref\": \"#/components/schemas/TestData4\"\n              },\n              \"nested-data\": {\n                \"$ref\": \"#/components/schemas/TestData\"\n              }\n            },\n            \"required\": [\n              \"file\",\n              \"i\",\n              \"data\",\n              \"nested-data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-body-form-file.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_body_form_file\",\n    \"summary\": \"Test Multi Body Form File\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"file\": {\n                \"title\": \"File\",\n                \"type\": \"string\",\n                \"format\": \"binary\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"foo\": {\n                \"title\": \"Foo\",\n                \"type\": \"integer\"\n              },\n              \"bar\": {\n                \"title\": \"Bar\",\n                \"default\": \"11bar\",\n                \"type\": \"string\"\n              },\n              \"foo2\": {\n                \"title\": \"Foo2 Title\",\n                \"description\": \"Foo2 Desc\",\n                \"default\": 22,\n                \"type\": \"integer\"\n              },\n              \"bar2\": {\n                \"title\": \"Bar2\",\n                \"type\": \"string\"\n              },\n              \"foo3\": {\n                \"title\": \"Foo3 Title\",\n                \"description\": \"Foo3 Desc\",\n                \"type\": \"integer\"\n              },\n              \"bar3\": {\n                \"title\": \"Bar3\",\n                \"default\": \"33bar\",\n                \"type\": \"string\"\n              },\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"data\": {\n                \"title\": \"Data4 Title\",\n                \"description\": \"Data4 Desc\",\n                \"$ref\": \"#/components/schemas/TestData4\"\n              }\n            },\n            \"required\": [\n              \"file\",\n              \"foo\",\n              \"bar2\",\n              \"foo3\",\n              \"i\",\n              \"data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-body-form.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_body_form\",\n    \"summary\": \"Test Multi Body Form\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"foo\": {\n                \"title\": \"Foo\",\n                \"type\": \"integer\"\n              },\n              \"bar\": {\n                \"title\": \"Bar\",\n                \"default\": \"11bar\",\n                \"type\": \"string\"\n              },\n              \"foo2\": {\n                \"title\": \"Foo2 Title\",\n                \"description\": \"Foo2 Desc\",\n                \"default\": 22,\n                \"type\": \"integer\"\n              },\n              \"bar2\": {\n                \"title\": \"Bar2\",\n                \"type\": \"string\"\n              },\n              \"foo3\": {\n                \"title\": \"Foo3 Title\",\n                \"description\": \"Foo3 Desc\",\n                \"type\": \"integer\"\n              },\n              \"bar3\": {\n                \"title\": \"Bar3\",\n                \"default\": \"33bar\",\n                \"type\": \"string\"\n              },\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"data\": {\n                \"title\": \"Data4 Title\",\n                \"description\": \"Data4 Desc\",\n                \"$ref\": \"#/components/schemas/TestData4\"\n              }\n            },\n            \"required\": [\n              \"foo\",\n              \"bar2\",\n              \"foo3\",\n              \"i\",\n              \"data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-body.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_body\",\n    \"summary\": \"Test Multi Body\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"application/json\": {\n          \"schema\": {\n            \"title\": \"BodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"data\": {\n                \"title\": \"Data4 Title\",\n                \"description\": \"Data4 Desc\",\n                \"$ref\": \"#/components/schemas/TestData4\"\n              },\n              \"nested-data\": {\n                \"$ref\": \"#/components/schemas/TestData\"\n              }\n            },\n            \"required\": [\n              \"i\",\n              \"data\",\n              \"nested-data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-cookie.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_cookie\",\n    \"summary\": \"Test Multi Cookie\",\n    \"parameters\": [\n      {\n        \"in\": \"cookie\",\n        \"name\": \"i\",\n        \"schema\": {\n          \"title\": \"I\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"s\",\n        \"schema\": {\n          \"title\": \"S\",\n          \"default\": \"a-str\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"foo4\",\n        \"description\": \"Foo4 Desc\",\n        \"schema\": {\n          \"title\": \"Foo4 Title\",\n          \"description\": \"Foo4 Desc\",\n          \"default\": 44,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"bar4\",\n        \"schema\": {\n          \"title\": \"Bar4\",\n          \"default\": \"44bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"foo\",\n        \"schema\": {\n          \"title\": \"Foo\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"bar\",\n        \"schema\": {\n          \"title\": \"Bar\",\n          \"default\": \"11bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"foo2\",\n        \"description\": \"Foo2 Desc\",\n        \"schema\": {\n          \"title\": \"Foo2 Title\",\n          \"description\": \"Foo2 Desc\",\n          \"default\": 22,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"bar2\",\n        \"schema\": {\n          \"title\": \"Bar2\",\n          \"type\": \"string\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"foo3\",\n        \"description\": \"Foo3 Desc\",\n        \"schema\": {\n          \"title\": \"Foo3 Title\",\n          \"description\": \"Foo3 Desc\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"cookie\",\n        \"name\": \"bar3\",\n        \"schema\": {\n          \"title\": \"Bar3\",\n          \"default\": \"33bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      }\n    ],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"description\": \"Testing w/ Cookies requires setting the cookies by hand in the browser inspector\"\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-form-body-file.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_form_body_file\",\n    \"summary\": \"Test Multi Form Body File\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"file\": {\n                \"title\": \"File\",\n                \"type\": \"string\",\n                \"format\": \"binary\"\n              },\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"foo4\": {\n                \"title\": \"Foo4 Title\",\n                \"description\": \"Foo4 Desc\",\n                \"default\": 44,\n                \"type\": \"integer\"\n              },\n              \"bar4\": {\n                \"title\": \"Bar4\",\n                \"default\": \"44bar\",\n                \"type\": \"string\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"nested-data\": {\n                \"$ref\": \"#/components/schemas/TestData\"\n              }\n            },\n            \"required\": [\n              \"file\",\n              \"i\",\n              \"nested-data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-form-body.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_form_body\",\n    \"summary\": \"Test Multi Form Body\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"foo4\": {\n                \"title\": \"Foo4 Title\",\n                \"description\": \"Foo4 Desc\",\n                \"default\": 44,\n                \"type\": \"integer\"\n              },\n              \"bar4\": {\n                \"title\": \"Bar4\",\n                \"default\": \"44bar\",\n                \"type\": \"string\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"nested-data\": {\n                \"$ref\": \"#/components/schemas/TestData\"\n              }\n            },\n            \"required\": [\n              \"i\",\n              \"nested-data\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-form-file.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_form_file\",\n    \"summary\": \"Test Multi Form File\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"multipart/form-data\": {\n          \"schema\": {\n            \"title\": \"MultiPartBodyParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"file\": {\n                \"title\": \"File\",\n                \"type\": \"string\",\n                \"format\": \"binary\"\n              },\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"foo4\": {\n                \"title\": \"Foo4 Title\",\n                \"description\": \"Foo4 Desc\",\n                \"default\": 44,\n                \"type\": \"integer\"\n              },\n              \"bar4\": {\n                \"title\": \"Bar4\",\n                \"default\": \"44bar\",\n                \"type\": \"string\"\n              },\n              \"foo\": {\n                \"title\": \"Foo\",\n                \"type\": \"integer\"\n              },\n              \"bar\": {\n                \"title\": \"Bar\",\n                \"default\": \"11bar\",\n                \"type\": \"string\"\n              },\n              \"foo2\": {\n                \"title\": \"Foo2 Title\",\n                \"description\": \"Foo2 Desc\",\n                \"default\": 22,\n                \"type\": \"integer\"\n              },\n              \"bar2\": {\n                \"title\": \"Bar2\",\n                \"type\": \"string\"\n              },\n              \"foo3\": {\n                \"title\": \"Foo3 Title\",\n                \"description\": \"Foo3 Desc\",\n                \"type\": \"integer\"\n              },\n              \"bar3\": {\n                \"title\": \"Bar3\",\n                \"default\": \"33bar\",\n                \"type\": \"string\"\n              }\n            },\n            \"required\": [\n              \"file\",\n              \"i\",\n              \"foo\",\n              \"bar2\",\n              \"foo3\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-form.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_form\",\n    \"summary\": \"Test Multi Form\",\n    \"parameters\": [],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    },\n    \"requestBody\": {\n      \"content\": {\n        \"application/x-www-form-urlencoded\": {\n          \"schema\": {\n            \"title\": \"FormParams\",\n            \"type\": \"object\",\n            \"properties\": {\n              \"i\": {\n                \"title\": \"I\",\n                \"type\": \"integer\"\n              },\n              \"s\": {\n                \"title\": \"S\",\n                \"default\": \"a-str\",\n                \"type\": \"string\"\n              },\n              \"foo4\": {\n                \"title\": \"Foo4 Title\",\n                \"description\": \"Foo4 Desc\",\n                \"default\": 44,\n                \"type\": \"integer\"\n              },\n              \"bar4\": {\n                \"title\": \"Bar4\",\n                \"default\": \"44bar\",\n                \"type\": \"string\"\n              },\n              \"foo\": {\n                \"title\": \"Foo\",\n                \"type\": \"integer\"\n              },\n              \"bar\": {\n                \"title\": \"Bar\",\n                \"default\": \"11bar\",\n                \"type\": \"string\"\n              },\n              \"foo2\": {\n                \"title\": \"Foo2 Title\",\n                \"description\": \"Foo2 Desc\",\n                \"default\": 22,\n                \"type\": \"integer\"\n              },\n              \"bar2\": {\n                \"title\": \"Bar2\",\n                \"type\": \"string\"\n              },\n              \"foo3\": {\n                \"title\": \"Foo3 Title\",\n                \"description\": \"Foo3 Desc\",\n                \"type\": \"integer\"\n              },\n              \"bar3\": {\n                \"title\": \"Bar3\",\n                \"default\": \"33bar\",\n                \"type\": \"string\"\n              }\n            },\n            \"required\": [\n              \"i\",\n              \"foo\",\n              \"bar2\",\n              \"foo3\"\n            ]\n          }\n        }\n      },\n      \"required\": true\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-header.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_header\",\n    \"summary\": \"Test Multi Header\",\n    \"parameters\": [\n      {\n        \"in\": \"header\",\n        \"name\": \"i\",\n        \"schema\": {\n          \"title\": \"I\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"s\",\n        \"schema\": {\n          \"title\": \"S\",\n          \"default\": \"a-str\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"foo4\",\n        \"description\": \"Foo4 Desc\",\n        \"schema\": {\n          \"title\": \"Foo4 Title\",\n          \"description\": \"Foo4 Desc\",\n          \"default\": 44,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"bar4\",\n        \"schema\": {\n          \"title\": \"Bar4\",\n          \"default\": \"44bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"foo\",\n        \"schema\": {\n          \"title\": \"Foo\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"bar\",\n        \"schema\": {\n          \"title\": \"Bar\",\n          \"default\": \"11bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"foo2\",\n        \"description\": \"Foo2 Desc\",\n        \"schema\": {\n          \"title\": \"Foo2 Title\",\n          \"description\": \"Foo2 Desc\",\n          \"default\": 22,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"bar2\",\n        \"schema\": {\n          \"title\": \"Bar2\",\n          \"type\": \"string\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"foo3\",\n        \"description\": \"Foo3 Desc\",\n        \"schema\": {\n          \"title\": \"Foo3 Title\",\n          \"description\": \"Foo3 Desc\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"header\",\n        \"name\": \"bar3\",\n        \"schema\": {\n          \"title\": \"Bar3\",\n          \"default\": \"33bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      }\n    ],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-path.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_path\",\n    \"summary\": \"Test Multi Path\",\n    \"parameters\": [\n      {\n        \"in\": \"path\",\n        \"name\": \"i\",\n        \"schema\": {\n          \"title\": \"I\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"s\",\n        \"schema\": {\n          \"title\": \"S\",\n          \"default\": \"a-str\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"foo4\",\n        \"description\": \"Foo4 Desc\",\n        \"schema\": {\n          \"title\": \"Foo4 Title\",\n          \"description\": \"Foo4 Desc\",\n          \"default\": 44,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"bar4\",\n        \"schema\": {\n          \"title\": \"Bar4\",\n          \"default\": \"44bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"foo\",\n        \"schema\": {\n          \"title\": \"Foo\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"bar\",\n        \"schema\": {\n          \"title\": \"Bar\",\n          \"default\": \"11bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"foo2\",\n        \"description\": \"Foo2 Desc\",\n        \"schema\": {\n          \"title\": \"Foo2 Title\",\n          \"description\": \"Foo2 Desc\",\n          \"default\": 22,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"bar2\",\n        \"schema\": {\n          \"title\": \"Bar2\",\n          \"type\": \"string\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"foo3\",\n        \"description\": \"Foo3 Desc\",\n        \"schema\": {\n          \"title\": \"Foo3 Title\",\n          \"description\": \"Foo3 Desc\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"path\",\n        \"name\": \"bar3\",\n        \"schema\": {\n          \"title\": \"Bar3\",\n          \"default\": \"33bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      }\n    ],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/schema_fixtures/test-multi-query.json",
    "content": "{\n  \"post\": {\n    \"operationId\": \"multi_param_api_test_multi_query\",\n    \"summary\": \"Test Multi Query\",\n    \"parameters\": [\n      {\n        \"in\": \"query\",\n        \"name\": \"i\",\n        \"schema\": {\n          \"title\": \"I\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"s\",\n        \"schema\": {\n          \"title\": \"S\",\n          \"default\": \"a-str\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"foo4\",\n        \"description\": \"Foo4 Desc\",\n        \"schema\": {\n          \"title\": \"Foo4 Title\",\n          \"description\": \"Foo4 Desc\",\n          \"default\": 44,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"bar4\",\n        \"schema\": {\n          \"title\": \"Bar4\",\n          \"default\": \"44bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"foo\",\n        \"schema\": {\n          \"title\": \"Foo\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"bar\",\n        \"schema\": {\n          \"title\": \"Bar\",\n          \"default\": \"11bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"foo2\",\n        \"description\": \"Foo2 Desc\",\n        \"schema\": {\n          \"title\": \"Foo2 Title\",\n          \"description\": \"Foo2 Desc\",\n          \"default\": 22,\n          \"type\": \"integer\"\n        },\n        \"required\": false\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"bar2\",\n        \"schema\": {\n          \"title\": \"Bar2\",\n          \"type\": \"string\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"foo3\",\n        \"description\": \"Foo3 Desc\",\n        \"schema\": {\n          \"title\": \"Foo3 Title\",\n          \"description\": \"Foo3 Desc\",\n          \"type\": \"integer\"\n        },\n        \"required\": true\n      },\n      {\n        \"in\": \"query\",\n        \"name\": \"bar3\",\n        \"schema\": {\n          \"title\": \"Bar3\",\n          \"default\": \"33bar\",\n          \"type\": \"string\"\n        },\n        \"required\": false\n      }\n    ],\n    \"responses\": {\n      \"200\": {\n        \"description\": \"OK\",\n        \"content\": {\n          \"application/json\": {\n            \"schema\": {\n              \"$ref\": \"#/components/schemas/ResponseData\"\n            }\n          }\n        }\n      }\n    }\n  }\n}"
  },
  {
    "path": "tests/test_with_django/test_multi_param_parsing.py",
    "content": "import json\nimport re\nfrom pathlib import Path\n\nimport pytest\nfrom django.core.files.uploadedfile import SimpleUploadedFile\nfrom django.test import Client as DjangoTestClient\n\nfrom ninja.testing import TestClient as NinjaTestClient\nfrom tests.demo_project.multi_param.api import router\n\nninja_client = NinjaTestClient(router)\n\ntest_file = SimpleUploadedFile(\"test.txt\", b\"data123\")\n\nexpected_response = {\n    \"i\": 1,\n    \"s\": \"a-str\",\n    \"data\": {\"foo4\": 44, \"bar4\": \"44bar\"},\n    \"nested-data\": {\n        \"foo\": 11,\n        \"bar\": \"11bar\",\n        \"d2\": {\"foo2\": 22, \"bar2\": \"22bar\", \"d3\": {\"foo3\": 33, \"bar3\": \"33bar\"}},\n    },\n}\n\ntest_client_args = {\n    \"/test-multi-query\": {\n        \"query\": \"i=1&s=a-str&foo4=44&bar4=44bar&foo=11&bar=11bar&foo2=22&bar2=22bar&foo3=33&bar3=33bar\",\n    },\n    \"/test-multi-path/{i}/{s}/{foo4}/{bar4}/{foo}/{bar}/{foo2}/{bar2}/{foo3}/{bar3}/\": {\n        \"path\": \"/test-multi-path/1/a-str/44/44bar/11/11bar/22/22bar/33/33bar/\"\n    },\n    \"/test-multi-header\": {\"headers\": {\"i\": 1, \"foo\": 11, \"bar2\": \"22bar\", \"foo3\": 33}},\n    \"/test-multi-cookie\": {\"COOKIES\": {\"i\": 1, \"foo\": 11, \"bar2\": \"22bar\", \"foo3\": 33}},\n    \"/test-multi-form\": {\"POST\": {\"i\": 1, \"foo\": 11, \"bar2\": \"22bar\", \"foo3\": 33}},\n    \"/test-multi-body\": {\"json\": expected_response},\n    \"/test-multi-body-file\": {\n        \"FILES\": {\"file\": test_file},\n        \"POST\": {\n            k: json.dumps(v) if isinstance(v, dict) else str(v)\n            for k, v in expected_response.items()\n        },\n    },\n    \"/test-multi-form-file\": {\n        \"FILES\": {\"file\": test_file},\n        \"POST\": {\"i\": 1, \"foo\": 11, \"bar2\": \"22bar\", \"foo3\": 33},\n    },\n    \"/test-multi-body-form\": {\n        \"POST\": {\n            \"i\": \"1\",\n            \"foo\": 11,\n            \"bar2\": \"22bar\",\n            \"foo3\": 33,\n            \"data\": '{\"foo4\": 44, \"bar4\": \"44bar\"}',\n        }\n    },\n    \"/test-multi-form-body\": {\n        \"POST\": {\n            \"i\": 1,\n            \"nested-data\": '{\"foo\": 11, \"d2\": {\"bar2\": \"22bar\", \"d3\": {\"foo3\": 33}}}',\n        }\n    },\n    \"/test-multi-body-form-file\": {\n        \"FILES\": {\"file\": test_file},\n        \"POST\": {\n            \"i\": \"1\",\n            \"foo\": 11,\n            \"bar2\": \"22bar\",\n            \"foo3\": 33,\n            \"data\": '{\"foo4\": 44, \"bar4\": \"44bar\"}',\n        },\n    },\n    \"/test-multi-form-body-file\": {\n        \"FILES\": {\"file\": test_file},\n        \"POST\": {\n            \"i\": 1,\n            \"nested-data\": '{\"foo\": 11, \"d2\": {\"bar2\": \"22bar\", \"d3\": {\"foo3\": 33}}}',\n        },\n    },\n}\n\n\ndef test_validate_test_data():\n    ops = router.path_operations\n    schema = DjangoTestClient().get(\"/api/mp/openapi.json\").json()\n\n    for path in tuple(schema[\"paths\"]):\n        schema[\"paths\"][\"/\" + path.split(\"/\", 3)[3]] = schema[\"paths\"].pop(path)\n    assert set(ops) == set(\n        schema[\"paths\"]\n    ), \"Expect a test case for each endpoint on the API\"\n\n    fixture_dir = Path(__file__).parent / \"schema_fixtures\"\n    fixture_files = {\n        path: (fixture_dir / f\"{path.split('/', 2)[1]}.json\") for path in ops\n    }\n\n    # verify that the currently generated schema matches the fixtures.  Since the generated\n    # schema is in git, this allows any changes in behavior to be documented over time.\n    for path, filename in fixture_files.items():\n        if 0:  # pragma: nocover\n            # if test cases or schema generation changes,\n            #   use this block of code to regenerate the fixtures\n            with Path(filename).open(\"w\") as f:\n                json.dump(schema[\"paths\"][path], f, indent=2)\n        with Path(filename).open() as f:\n            data = json.load(f)\n            path_schema = json.dumps(schema[\"paths\"][path])\n            if \"allOf\" in path_schema:\n                # special case for pydantic 1.7 ... 2.9\n                path_schema = re.sub(\n                    r'\"allOf\": \\[\\{\"\\$ref\": \"(.*?)\"\\}\\]', r'\"$ref\": \"\\1\"', path_schema\n                )\n            assert json.loads(path_schema) == data\n\n\n@pytest.mark.parametrize(\"path, client_args\", tuple(test_client_args.items()))\ndef test_data_round_trip_with_ninja_client(path, client_args):\n    client_args = test_client_args[path]\n    kwargs = {\"path\": path}\n    for k in (\"path\", \"headers\", \"COOKIES\", \"POST\", \"json\", \"FILES\"):\n        if k in client_args:\n            kwargs[k] = client_args[k]\n\n    query = client_args.get(\"query\")\n    if query:\n        kwargs[\"path\"] += f\"?{query}\"\n\n    response = ninja_client.post(**kwargs)\n    assert response.json() == expected_response\n    assert response.status_code == 200\n\n\n@pytest.mark.parametrize(\"path, client_args\", tuple(test_client_args.items()))\ndef test_data_round_trip_with_django_client(path, client_args):\n    django_client = DjangoTestClient()\n\n    client_args = test_client_args[path]\n    kwargs = {\"path\": client_args.get(\"path\", path)}\n\n    if \"headers\" in client_args:\n        for k, v in client_args[\"headers\"].items():\n            kwargs[f\"HTTP_{k.upper()}\"] = v\n\n    if \"COOKIES\" in client_args:\n        django_client.cookies.load(client_args[\"COOKIES\"])\n\n    if \"POST\" in client_args:\n        kwargs[\"data\"] = client_args[\"POST\"]\n\n    if \"FILES\" in client_args:\n        if \"data\" in kwargs:\n            kwargs[\"data\"].update(client_args[\"FILES\"])\n        else:\n            kwargs[\"data\"] = client_args[\"FILES\"]\n\n    if \"json\" in client_args:\n        assert \"data\" not in kwargs\n        kwargs[\"data\"] = json.dumps(client_args[\"json\"])\n        kwargs[\"content_type\"] = \"application/json\"\n\n    query = client_args.get(\"query\")\n    if query:\n        kwargs[\"path\"] += f\"?{query}\"\n\n    kwargs[\"path\"] = \"/api/mp\" + kwargs[\"path\"]\n\n    response = django_client.post(**kwargs)\n    assert response.json() == expected_response\n    assert response.status_code == 200\n"
  },
  {
    "path": "tests/test_wraps.py",
    "content": "from functools import wraps\nfrom unittest import mock\n\nimport pytest\n\nfrom ninja import Router\nfrom ninja.testing import TestClient\n\nrouter = Router()\nclient = TestClient(router)\n\n\ndef a_good_test_wrapper(f):\n    \"\"\"Validate that decorators using functools.wraps(), work as expected\"\"\"\n\n    @wraps(f)\n    def wrapper(*args, **kwargs):\n        return f(*args, **kwargs)\n\n    return wrapper\n\n\ndef a_bad_test_wrapper(f):\n    \"\"\"Validate that decorators failing to using functools.wraps(), fail\"\"\"\n\n    def wrapper(*args, **kwargs):\n        return f(*args, **kwargs)\n\n    return wrapper\n\n\n@router.get(\"/text\")\n@a_good_test_wrapper\ndef get_text(\n    request,\n):\n    return \"Hello World\"\n\n\n@router.get(\"/path/{item_id}\")\n@a_good_test_wrapper\ndef get_id(request, item_id):\n    return item_id\n\n\n@router.get(\"/query\")\n@a_good_test_wrapper\ndef get_query_type(request, query: int):\n    return f\"foo bar {query}\"\n\n\n@router.get(\"/path-query/{item_id}\")\n@a_good_test_wrapper\ndef get_query_id(request, item_id, query: int):\n    return f\"foo bar {item_id} {query}\"\n\n\n@router.get(\"/text-bad\")\n@a_bad_test_wrapper\ndef get_text_bad(request):\n    return \"Hello World\"\n\n\nwith mock.patch(\"ninja.signature.details.warnings.warn_explicit\"):\n\n    @router.get(\"/path-bad/{item_id}\")\n    @a_bad_test_wrapper\n    def get_id_bad(request, item_id):\n        return item_id\n\n\n@router.get(\"/query-bad\")\n@a_bad_test_wrapper\ndef get_query_type_bad(request, query: int):\n    return f\"foo bar {query}\"\n\n\nwith mock.patch(\"ninja.signature.details.warnings.warn_explicit\"):\n\n    @router.get(\"/path-query-bad/{item_id}\")\n    @a_bad_test_wrapper\n    def get_query_id_bad(request, item_id, query: int):\n        return f\"foo bar {item_id} {query}\"\n\n\n@pytest.mark.parametrize(\n    \"path,expected_status,expected_response\",\n    [\n        (\"/text\", 200, \"Hello World\"),\n        (\"/path/id\", 200, \"id\"),\n        (\"/query?query=1\", 200, \"foo bar 1\"),\n        (\"/path-query/id?query=2\", 200, \"foo bar id 2\"),\n        (\"/text-bad\", 200, \"Hello World\"),  # no params so passes\n        (\"/path-bad/id\", None, TypeError),\n        (\"/query-bad?query=1\", None, TypeError),\n        (\"/path-query-bad/id?query=2\", None, TypeError),\n    ],\n)\ndef test_get_path(path, expected_status, expected_response):\n    if isinstance(expected_response, str):\n        response = client.get(path)\n        assert response.status_code == expected_status\n        assert response.json() == expected_response\n    else:\n        match = r\"Did you fail to use functools.wraps\\(\\) in a decorator\\?\"\n        with pytest.raises(expected_response, match=match):\n            client.get(path)\n"
  },
  {
    "path": "tests/util.py",
    "content": "import pydantic\n\n\ndef pydantic_ref_fix(data: dict):\n    \"In pydantic 1.7 $ref was changed to allOf: [{'$ref': ...}] but in 2.9 it was changed back\"\n    v = tuple(map(int, pydantic.version.version_short().split(\".\")))\n    if v < (1, 7) or v >= (2, 9):\n        return data\n\n    result = data.copy()\n    if \"$ref\" in data:\n        result[\"allOf\"] = [{\"$ref\": result.pop(\"$ref\")}]\n    return result\n"
  }
]