diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index a1c06eb18..666abe29a 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -5,13 +5,14 @@
version: 2
updates:
- - package-ecosystem: "pip" # See documentation for possible values
- directory: "/" # recursive; requirements.txt in subdirectories are also monitored
- schedule:
- interval: "weekly"
- ignore:
- - dependency-name: sphinxcontrib-*help
- - dependency-name: sphinxcontrib-serializinghtml
+ # Note: Disable dependabot for Python until uv support is available: https://github.com/dependabot/dependabot-core/issues/10478
+ # - package-ecosystem: "pip" # See documentation for possible values
+ # directory: "/" # recursive; requirements.txt in subdirectories are also monitored
+ # schedule:
+ # interval: "weekly"
+ # ignore:
+ # - dependency-name: sphinxcontrib-*help
+ # - dependency-name: sphinxcontrib-serializinghtml
# node.js dependencies are pinned to last merge from upstream.
# - package-ecosystem: "npm"
# directory: "/" # Location of package manifests
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 924480d3f..375a8b4eb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -14,57 +14,60 @@ on:
- cron: "0 0 1,16 * *"
jobs:
+ mypy:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version:
+ - "3.10"
+ - "3.11"
+ - "3.12"
+ - "3.13"
+ steps:
+ - uses: actions/checkout@v4
+ - uses: astral-sh/setup-uv@v5
+ with:
+ enable-cache: false
+ - name: Setup Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5
+ id: python-setup
+ with:
+ python-version: ${{ matrix.python-version }}
+ - run: uvx nox -s mypy --python ${{ matrix.python-version }}
check_conventions:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- - nox-sessions: "ruff_format ruff_lint check_yaml check_json check_toml check_eof check_trailing_space check_lf"
- python-version: "3.x"
+ - python-version: "3.x"
node-version: "16.x"
- - nox-sessions: "mypy"
- python-version: "3.9"
- - nox-sessions: "mypy"
- python-version: "3.10"
- - nox-sessions: "mypy"
- python-version: "3.11"
- - nox-sessions: "mypy"
- python-version: "3.12"
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
- if: matrix.node-version
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
+ - uses: astral-sh/setup-uv@v5
+ with:
+ enable-cache: false
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
id: python-setup
with:
python-version: ${{ matrix.python-version }}
- name: Cache node.js modules
- if: matrix.node-version
uses: actions/cache@v4
with:
path: "**/node_modules"
key: ${{ runner.os }}-${{ matrix.node-version }}-node_modules-${{ hashFiles('**/package-lock.json') }}
- - name: Cache nox environments
- uses: actions/cache@v4
- if: matrix.node-version
- with:
- path: |
- .nox/ruff_*
- .nox/check_*
- key: nox-${{ steps.python-setup.outputs.python-version }}-${{ hashFiles('requirements/dev-ruff.txt', 'requirements/dev-pre_commit_hooks.txt') }}
- run: npm install
- if: matrix.node-version
- run: npm run check
- if: matrix.node-version
- - run: pipx run nox -s ${{ matrix.nox-sessions }}
+ - run: uvx nox -s ruff_format ruff_lint check_yaml check_json check_toml check_eof check_trailing_space check_lf
build:
- needs: [check_conventions]
+ needs: ["mypy", "check_conventions"]
strategy:
fail-fast: false
matrix:
@@ -86,6 +89,9 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
+ - uses: astral-sh/setup-uv@v5
+ with:
+ enable-cache: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
@@ -98,19 +104,21 @@ jobs:
- run: npm install
- name: Check for dirty working directory
run: git diff --exit-code
- - run: python -m pip install nox
- name: Build distributions
id: dist
- run: nox -s dist
+ run: uvx nox -s build
- name: Install wheel
- run: python -m pip install "${{ steps.dist.outputs.wheel }}"
+ run: |
+ uv venv install-test-venv
+ export VIRTUAL_ENV="${PWD}/install-test-venv"
+ uv pip install dist/*.whl
+ shell: bash
- name: Upload wheels as artifacts
uses: actions/upload-artifact@v4
with:
name: python-packages-${{ runner.os }}
path: |
dist/*.whl
- dist/*.tar.*
- name: Setup Graphviz
uses: ts-graphviz/setup-graphviz@b1de5da23ed0a6d14e0aeee8ed52fdd87af2363c # v2.0.2
with:
@@ -122,7 +130,7 @@ jobs:
- name: Build docs
env:
SPHINX_IMMATERIAL_EXTERNAL_RESOURCE_CACHE_DIR: ${{ github.workspace }}/theme_build_cache
- run: nox -s docs --forcecolor
+ run: uvx nox -s docs --forcecolor
- name: Upload doc builds as artifacts
uses: actions/upload-artifact@v4
with:
@@ -136,7 +144,7 @@ jobs:
publish_dir: ./docs/_build/html
test:
- needs: [check_conventions, build]
+ needs: ["build"]
strategy:
fail-fast: false
matrix:
@@ -145,10 +153,10 @@ jobs:
- "windows-latest"
- "macos-latest"
python-version:
- - "3.9"
- "3.10"
- "3.11"
- "3.12"
+ - "3.13"
node-version:
- "16.x"
runs-on: ${{ matrix.os }}
@@ -157,6 +165,9 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
+ - uses: astral-sh/setup-uv@v5
+ with:
+ enable-cache: false
- name: Setup python
uses: actions/setup-python@v5
with:
@@ -183,7 +194,7 @@ jobs:
COVERAGE_FILE: .coverage.${{ github.run_id }}.${{ github.run_attempt }}.${{ runner.os }}.${{ matrix.python-version }}
PY_COLORS: 1
# `coverage run` cmd adds the working dir to python path, so no need to install pkg here
- run: pipx run nox -s tests --forcecolor --python ${{ matrix.python-version }}
+ run: uvx nox -s tests --forcecolor --python ${{ matrix.python-version }}
- name: Upload coverage data
uses: actions/upload-artifact@v4
with:
@@ -202,12 +213,15 @@ jobs:
path: ci-artifacts
pattern: coverage-data-*
- run: mv ci-artifacts/**/.coverage* ./
+ - uses: astral-sh/setup-uv@v5
+ with:
+ enable-cache: false
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Create coverage report
- run: pipx run nox -s coverage
+ run: uvx nox -s coverage
- name: Post coverage summary
if: github.repository == 'jbms/sphinx-immaterial'
uses: codecov/codecov-action@v4
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index adf055dd1..b60246d46 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -7,20 +7,18 @@ version: 2
# Set the version of Python and other tools you might need
build:
- os: ubuntu-20.04
+ os: ubuntu-24.04
tools:
- python: "3.9"
+ python: "3.13"
nodejs: "16"
apt_packages:
- graphviz
+ jobs:
+ post_install:
+ - pip install uv
+ - UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --all-extras --group docs --link-mode=copy
+
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
-
-# Optionally declare the Python requirements required to build your docs
-python:
- install:
- - method: setuptools
- path: .
- - requirements: docs/requirements.txt
diff --git a/dev-requirements.txt b/dev-requirements.txt
deleted file mode 100644
index ee44991b8..000000000
--- a/dev-requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-wheel
-nox
--r requirements/json.txt
--r requirements/cpp.txt
--r requirements/dev-mypy.txt
--r requirements/dev-black.txt
--r requirements/dev-ruff.txt
diff --git a/docs/conf.py b/docs/conf.py
index 9bfaf7b49..a576cf11d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -569,7 +569,15 @@ def _parse_confval_signature(
default = registry_option.default
types = registry_option.valid_types
if isinstance(types, sphinx.config.ENUM):
- types = (typing.Literal[tuple(types.candidates)],)
+ types = (
+ typing.Literal[
+ tuple(
+ getattr(types, "candidates", None)
+ # Attribute renamed to "_candidates" in Sphinx>=8.2
+ or getattr(types, "_candidates", None)
+ )
+ ],
+ )
if isinstance(types, type):
types = (types,)
if types:
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index 08c726e61..000000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-sphinx-immaterial[json,clang-format,keys,cpp,black]
-sphinx-jinja
-myst-parser
diff --git a/dprint.json b/dprint.json
new file mode 100644
index 000000000..92df28868
--- /dev/null
+++ b/dprint.json
@@ -0,0 +1,6 @@
+{
+ "plugins": [
+ // specify plugin urls here
+ "https://plugins.dprint.dev/toml-0.6.3.wasm"
+ ]
+}
diff --git a/noxfile.py b/noxfile.py
index 3736f0340..9e00367cc 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -13,6 +13,8 @@
ci_logger.propagate = False
nox.options.reuse_existing_virtualenvs = True
+nox.options.default_venv_backend = "uv"
+
nox.options.sessions = [
"ruff_format",
"ruff_lint",
@@ -25,27 +27,36 @@
"check_lf",
]
-SUPPORTED_PY_VER = list(f"3.{x}" for x in range(9, 13))
+SUPPORTED_PY_VER = list(f"3.{x}" for x in range(10, 14))
+
+
+def uv_sync(session: nox.Session, *args: list[str]):
+ session.run_install(
+ "uv",
+ "sync",
+ *args,
+ env={"UV_PROJECT_ENVIRONMENT": session.virtualenv.location},
+ )
@nox.session
def ruff_format(session: nox.Session):
"""Checks formatting with ruff"""
- session.install("-r", "requirements/dev-ruff.txt")
+ uv_sync(session, "--only-group", "ruff")
session.run("ruff", "format", "--diff")
@nox.session
def ruff_lint(session: nox.Session):
"""Run ruff as linter"""
- session.install("-r", "requirements/dev-ruff.txt")
+ uv_sync(session, "--only-group", "ruff")
session.run("ruff", "check")
-@nox.session(python=False)
+@nox.session(python=SUPPORTED_PY_VER)
def mypy(session: nox.Session):
"""Run mypy using in default env"""
- session.run("pip", "install", "-r", "requirements/dev-mypy.txt")
+ uv_sync(session, "--only-group", "mypy")
session.run("mypy")
@@ -53,8 +64,9 @@ def mypy(session: nox.Session):
"|".join(
[
"\\.git/",
- "^\\.(?:mypy|ruff|pytest|eslint)_?cache",
- "^(?:\\.nox|\\.?env|\\.?venv)",
+ "(^|/)\\.(?:mypy|ruff|pytest|eslint)_?cache",
+ "^(?:\\.nox|\\.?env|\\.?venv|\\.log|\\.eggs)",
+ "\\.egg-info/",
"^\\.coverage.*",
"^htmlcov/",
"__pycache__",
@@ -62,6 +74,7 @@ def mypy(session: nox.Session):
"^sphinx_immaterial/(?:\\.icons|bundles|static|.*\\.html)",
"^tests/issue_134/.*(?:/build|\\.egg\\-info)",
"^node_modules",
+ "^dist/",
"^docs/(?:_build|\\w+_apigen_generated)",
".*\\.(?:woff2?|ico|xcf|gif|jpg|png)$",
]
@@ -95,7 +108,7 @@ def get_file_list(ext: str, exclude: Optional[re.Pattern] = None) -> List[str]:
@nox.session
def check_yaml(session: nox.Session):
"""Check for yaml syntax errors."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
+ uv_sync(session, "--only-group", "pre_commit_hooks")
yml_exclude = re.compile("^tests/snapshots")
yaml_files = get_file_list("yaml", exclude=yml_exclude)
yaml_files += get_file_list("yml", exclude=yml_exclude)
@@ -105,15 +118,15 @@ def check_yaml(session: nox.Session):
@nox.session
def check_json(session: nox.Session):
"""Check for json syntax errors."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
- json_files = get_file_list("json", re.compile("^tsconfig.json$"))
+ uv_sync(session, "--only-group", "pre_commit_hooks")
+ json_files = get_file_list("json", re.compile("^(tsconfig|dprint)|.json$"))
session.run("check-json", *json_files)
@nox.session
def check_toml(session: nox.Session):
"""Check for toml syntax errors."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
+ uv_sync(session, "--only-group", "pre_commit_hooks")
toml_files = get_file_list("toml")
session.run("check-toml", *toml_files)
@@ -121,7 +134,7 @@ def check_toml(session: nox.Session):
@nox.session
def check_eof(session: nox.Session):
"""Ensure EoF is a single blank line."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
+ uv_sync(session, "--only-group", "pre_commit_hooks")
eof_exclude = re.compile("^typings/.*|tests/snapshots/.*|^tsconfig.json$|.*\\.svg$")
eof_files = get_file_list("*", exclude=eof_exclude)
# error output is super long and unhelpful; we only need the stdout in case of error
@@ -135,7 +148,7 @@ def check_eof(session: nox.Session):
@nox.session
def check_trailing_space(session: nox.Session):
"""Ensure no trailing whitespace."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
+ uv_sync(session, "--only-group", "pre_commit_hooks")
all_files = get_file_list("*", exclude=re.compile("tests/snapshots/.*"))
# error output is super long and unhelpful; we only need the stdout in case of error
ret = session.run(
@@ -148,7 +161,7 @@ def check_trailing_space(session: nox.Session):
@nox.session
def check_lf(session: nox.Session):
"""ensure LF used."""
- session.install("-r", "requirements/dev-pre_commit_hooks.txt")
+ uv_sync(session, "--only-group", "pre_commit_hooks")
all_files = get_file_list("*")
# error output is super long and unhelpful; we only need the stdout in case of error
ret = session.run(
@@ -159,42 +172,25 @@ def check_lf(session: nox.Session):
@nox.session(python=False)
-@nox.parametrize(
- "cmd",
- ["sdist", "bdist_wheel", "--version"],
- ids=["src", "wheel", "version"],
-)
-def dist(session: nox.Session, cmd: str):
+def build(session: nox.Session):
"""Create distributions."""
- session.run("pip", "install", "wheel", "setuptools_scm", "setuptools>=42")
+ session.run("uv", "build", "--wheel")
github_output = os.environ.get("GITHUB_OUTPUT", None)
- if cmd == "--version":
- version = cast(str, session.run("python", "setup.py", "--version", silent=True))
- version = version.splitlines()[-1].strip()
- if github_output is not None:
- with open(github_output, "a", encoding="utf-8") as output:
- output.write(f"version={version}\n")
- session.log("Package version: %s", version)
- return
- session.run("python", "setup.py", cmd)
- if cmd == "bdist_wheel":
- deployable = list(pathlib.Path().glob("dist/*.whl"))[0]
- if github_output is not None:
- with open(github_output, "a", encoding="utf-8") as output:
- output.write(f"wheel={deployable}\n")
- else:
- deployable = list(pathlib.Path().glob("dist/*.tar.*"))[0]
+ deployable = list(pathlib.Path().glob("dist/*.whl"))[0]
+ if github_output is not None:
+ with open(github_output, "a", encoding="utf-8") as output:
+ output.write(f"wheel={deployable}\n")
session.log("Created distribution: %s", deployable)
-@nox.session(python=False)
+@nox.session
@nox.parametrize(
"builder", ["html", "dirhtml", "latex"], ids=["html", "dirhtml", "latex"]
)
def docs(session: nox.Session, builder: str):
"""Build docs."""
ci_logger.info(f"::group::Using {builder} builder")
- session.run("pip", "install", "-r", "docs/requirements.txt")
+ uv_sync(session, "--group", "docs")
session.run(
"sphinx-build",
"-b",
@@ -210,32 +206,31 @@ def docs(session: nox.Session, builder: str):
SUPPORTED_SPHINX = [4, 5, 6, 7, 8]
+EXCLUDED_PYTHON_SPHINX = {
+ # Sphinx<6 depends on imghdr module that was removed from the Python 3.13
+ # standard library.
+ ("3.13", 4),
+ ("3.13", 5),
+}
+
@nox.session
@nox.parametrize(
- "python,sphinx",
+ ["python", "sphinx"],
[
- (py, sphinx)
+ nox.param(py, sphinx, id=f"py{py}-sphinx{sphinx}", tags=[f"sphinx{sphinx}"])
for py in SUPPORTED_PY_VER
for sphinx in SUPPORTED_SPHINX
- if (sphinx, py) != (8, "3.9") # python v3.9 support dropped in sphinx v8
+ if (py, sphinx) not in EXCLUDED_PYTHON_SPHINX
],
)
def tests(session: nox.Session, sphinx: int):
"""Run unit tests and collect code coverage analysis."""
ci_logger.info(f"::group::Using sphinx v{sphinx} and python v{session.python}")
- if not pathlib.Path("node_modules").exists():
- session.run("npm", "install", external=True)
- if not list(pathlib.Path().glob("sphinx_immaterial/*.html")):
- session.run("npm", "run", "build", external=True)
- sphinx_version = "sphinx>={},<{}".format(
- str(sphinx) if sphinx > 4 else "4.5", sphinx + 1
- )
- session.install(sphinx_version)
- if sphinx < 5:
- # sphinxcontrib deps that dropped support for sphinx v4.x
- session.install("-r", "tests/requirements-sphinx4.txt")
- session.install("-r", "tests/requirements.txt")
+ uv_sync(session, "--group", "test")
+ # Must be done as a separate step due to https://github.com/astral-sh/uv/issues/11648
+ uv_sync(session, "--inexact", "--group", f"sphinx{sphinx}")
+
session.run("coverage", "run", "-m", "pytest", "-vv", "-s", "--durations=5")
# session.notify("docs") <- only calls docs(html), not dirhtml or latex builders
ci_logger.info("::endgroup::")
@@ -244,7 +239,7 @@ def tests(session: nox.Session, sphinx: int):
@nox.session
def coverage(session: nox.Session):
"""Create coverage report."""
- session.install("coverage[toml]>=7.0")
+ uv_sync(session, "--only-group", "coverage")
session.run("coverage", "combine")
total = int(
cast(str, session.run("coverage", "report", "--format=total", silent=True))
diff --git a/pyproject.toml b/pyproject.toml
index aa7cb2f79..15f73caaa 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,13 +1,88 @@
+[project]
+name = "sphinx_immaterial"
+description = "Adaptation of mkdocs-material theme for the Sphinx documentation system"
+requires-python = ">= 3.10"
+dynamic = ["version"]
+authors = [
+ { name = "Jeremy Maitin-Shepard", email = "jeremy@jeremyms.com" },
+ { name = "Brendan", email = "2bndy5@gmail.com" },
+]
+license = { file = "LICENSE" }
+readme = "README.rst"
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "Natural Language :: English",
+ "License :: OSI Approved :: MIT License",
+ "Programming Language :: Python",
+ "Framework :: Sphinx :: Extension",
+ "Framework :: Sphinx :: Theme",
+ "Topic :: Documentation :: Sphinx",
+]
+dependencies = [
+ "sphinx>=4.5",
+ "markupsafe",
+ "pydantic>=2.4",
+ "pydantic-extra-types",
+ "typing-extensions",
+ "appdirs",
+ "requests",
+]
+
+[project.entry-points."sphinx.html_themes"]
+sphinx_immaterial = "sphinx_immaterial"
+
+[project.urls]
+Repository = "https://github.com/jbms/sphinx-immaterial"
+Issues = "https://github.com/jbms/sphinx-immaterial/issues"
+Documentation = "https://jbms.github.io/sphinx-immaterial"
+
[build-system]
-requires = ["setuptools>=42", "wheel", "setuptools_scm"]
+requires = [
+ "setuptools>=64",
+ "wheel",
+ "setuptools_scm>=8.1.0",
+]
+build-backend = "setuptools.build_meta"
+
+[tool.setuptools.package-dir]
+sphinx_immaterial = "sphinx_immaterial"
+
+[tool.setuptools.package-data]
+"sphinx_immaterial" = [
+ ".icons/*/**",
+ ".icons/*/*/**",
+ "partials/*.html",
+ "partials/*/*.html",
+ "partials/*/*/*.html",
+ "partials/*/*/*/*.html",
+ "bundles/*/**",
+ "LICENSE",
+ "*.html",
+ "custom_admonitions.css",
+ "theme.conf",
+]
+"sphinx_immaterial.apidoc.cpp.cppreference_data" = ["*.xml"]
+
+[tool.setuptools.packages.find]
+where = ["."]
+include = ["sphinx_immaterial", "sphinx_immaterial.*"]
+
+[tool.setuptools_scm]
+# It would be nice to include the commit hash in the version, but that
+# can't be done in a PEP 440-compatible way.
+version_scheme = "no-guess-dev"
+# Test PyPI does not support local versions.
+local_scheme = "no-local-version"
+fallback_version = "0.0.0"
[tool.mypy]
show_error_codes = true
pretty = true
mypy_path = "typings_py"
files = [
- "sphinx_immaterial/**/*.py",
- "tests/**/*.py",
+ "sphinx_immaterial/**/*.py",
+ "tests/**/*.py",
]
exclude = "setup.py"
plugins = ["pydantic.mypy"]
@@ -24,33 +99,139 @@ dynamic_context = "test_function"
parallel = true
relative_files = true
omit = [
- "sphinx_immaterial/.icons/**/*",
- "sphinx_immaterial/bundles/*",
- "sphinx_immaterial/partials/**/*",
- "sphinx_immaterial/*.html",
- "sphinx_immaterial/LICENSE",
- "sphinx_immaterial/theme.conf",
+ "sphinx_immaterial/.icons/**/*",
+ "sphinx_immaterial/bundles/*",
+ "sphinx_immaterial/partials/**/*",
+ "sphinx_immaterial/*.html",
+ "sphinx_immaterial/LICENSE",
+ "sphinx_immaterial/theme.conf",
]
[tool.coverage.report]
skip_empty = true
# Regexes for lines to exclude from consideration
exclude_lines = [
- # Have to re-enable the standard pragma
- "pragma: no cover",
- # Don't complain about missing debug-only code:
- "def __repr__",
- # the point of unit tests is to test parts of main()
- "def main",
- # ignore any branch that makes the module executable
- 'if __name__ == "__main__"',
- # ignore missing implementations
- "raise NotImplementedError",
- # ignore the type checking specific code (only executed by mypy)
- "if typing.TYPE_CHECKING",
- # ignore import errors for conditional deps (test run with a strict set of deps)
- "except ImportError",
+ # Have to re-enable the standard pragma
+ "pragma: no cover",
+ # Don't complain about missing debug-only code:
+ "def __repr__",
+ # the point of unit tests is to test parts of main()
+ "def main",
+ # ignore any branch that makes the module executable
+ 'if __name__ == "__main__"',
+ # ignore missing implementations
+ "raise NotImplementedError",
+ # ignore the type checking specific code (only executed by mypy)
+ "if typing.TYPE_CHECKING",
+ # ignore import errors for conditional deps (test run with a strict set of deps)
+ "except ImportError",
]
[tool.coverage.html]
show_contexts = true
+
+[dependency-groups]
+dev = [
+ "wheel",
+ "nox",
+]
+ruff = [
+ "ruff==0.5.2",
+]
+mypy = [
+ "mypy==1.10.1",
+ "types-PyYAML",
+ "docutils-stubs",
+ "types-beautifulsoup4",
+ "types-jsonschema",
+ "types-appdirs",
+ "types-requests",
+ "types-clang",
+ "pytest",
+ "pydantic>=2.0",
+ "pydantic-extra-types",
+ "sphinx>=4.5",
+ { include-group = "black" },
+]
+pre_commit_hooks = [
+ "pre-commit-hooks==4.4.0",
+]
+docs = [
+ "sphinx-jinja",
+ "myst-parser",
+ "sphinx-immaterial[cpp,json,keys,black,clang-format]",
+]
+black = [
+ "black",
+]
+test = [
+ "pytest",
+ "pytest-snapshot",
+ "beautifulsoup4",
+ "sphinx[test]",
+ "sphinx-immaterial-pybind11-issue-134",
+ "sphinx-immaterial[cpp,json,jsonschema_validation,keys,black,clang-format]",
+ { include-group = "coverage" },
+]
+coverage = [
+ "coverage[toml]>=7.0",
+]
+sphinx4 = [
+ "sphinx>=4.5,<5",
+ "sphinxcontrib-applehelp<1.0.5",
+ "sphinxcontrib-devhelp<1.0.3",
+ "sphinxcontrib-htmlhelp<2.0.2",
+ "sphinxcontrib-serializinghtml<1.1.6",
+ "sphinxcontrib-qthelp<1.0.4",
+]
+sphinx5 = [
+ "sphinx>=5,<6",
+]
+sphinx6 = [
+ "sphinx>=6,<7",
+]
+sphinx7 = [
+ "sphinx>=7,<8",
+]
+sphinx8 = [
+ "sphinx>=8,<9",
+]
+
+[project.optional-dependencies]
+json = [
+ "pyyaml",
+]
+clang-format = [
+ "clang-format",
+]
+black = [
+ "black",
+]
+cpp = [
+ "libclang",
+]
+jsonschema_validation = [
+ "jsonschema",
+]
+keys = [
+ "pymdown-extensions",
+]
+
+[tool.uv.workspace]
+members = [
+ "tests/issue_134/sphinx-immaterial-pybind11-issue-134",
+]
+
+[tool.uv.sources]
+sphinx-immaterial-pybind11-issue-134 = { workspace = true }
+
+[tool.uv]
+conflicts = [
+ [
+ { group = "sphinx4" },
+ { group = "sphinx5" },
+ { group = "sphinx6" },
+ { group = "sphinx7" },
+ { group = "sphinx8" },
+ ],
+]
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index e486857d9..000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-sphinx>=4.5
-markupsafe
-pydantic>=2.4
-pydantic-extra-types
-typing-extensions
-appdirs
-requests
diff --git a/requirements/black.txt b/requirements/black.txt
deleted file mode 100644
index 7e66a17d4..000000000
--- a/requirements/black.txt
+++ /dev/null
@@ -1 +0,0 @@
-black
diff --git a/requirements/clang-format.txt b/requirements/clang-format.txt
deleted file mode 100644
index 2d2abbf79..000000000
--- a/requirements/clang-format.txt
+++ /dev/null
@@ -1 +0,0 @@
-clang-format
diff --git a/requirements/cpp.txt b/requirements/cpp.txt
deleted file mode 100644
index add49efad..000000000
--- a/requirements/cpp.txt
+++ /dev/null
@@ -1 +0,0 @@
-libclang
diff --git a/requirements/dev-mypy.txt b/requirements/dev-mypy.txt
deleted file mode 100644
index b2a8f0569..000000000
--- a/requirements/dev-mypy.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-mypy==1.10.1
-types-PyYAML
-docutils-stubs
-types-beautifulsoup4
-types-jsonschema
-types-appdirs
-types-requests
-types-clang
-pytest
-pydantic>=2.0
-pydantic-extra-types
-sphinx>=4.5
--r black.txt
diff --git a/requirements/dev-pre_commit_hooks.txt b/requirements/dev-pre_commit_hooks.txt
deleted file mode 100644
index 296b74e69..000000000
--- a/requirements/dev-pre_commit_hooks.txt
+++ /dev/null
@@ -1 +0,0 @@
-pre-commit-hooks==4.4.0
diff --git a/requirements/dev-ruff.txt b/requirements/dev-ruff.txt
deleted file mode 100644
index 6d4c5a81a..000000000
--- a/requirements/dev-ruff.txt
+++ /dev/null
@@ -1 +0,0 @@
-ruff==0.5.2
diff --git a/requirements/json.txt b/requirements/json.txt
deleted file mode 100644
index c3726e8bf..000000000
--- a/requirements/json.txt
+++ /dev/null
@@ -1 +0,0 @@
-pyyaml
diff --git a/requirements/jsonschema_validation.txt b/requirements/jsonschema_validation.txt
deleted file mode 100644
index d89304b1a..000000000
--- a/requirements/jsonschema_validation.txt
+++ /dev/null
@@ -1 +0,0 @@
-jsonschema
diff --git a/requirements/keys.txt b/requirements/keys.txt
deleted file mode 100644
index ae8457324..000000000
--- a/requirements/keys.txt
+++ /dev/null
@@ -1 +0,0 @@
-pymdown-extensions
diff --git a/setup.py b/setup.py
index d7a82d2e5..1797badbf 100644
--- a/setup.py
+++ b/setup.py
@@ -20,9 +20,7 @@
import setuptools
import atexit
-import distutils.command.build
import os
-import pathlib
import subprocess
import tempfile
@@ -31,19 +29,9 @@
import setuptools.command.install
import setuptools.command.sdist
-with open("requirements.txt", encoding="utf-8") as reqs:
- REQUIREMENTS = [reqs.readlines()]
-
root_dir = os.path.dirname(os.path.abspath(__file__))
package_root = os.path.join(root_dir, "sphinx_immaterial")
-optional_requirements = pathlib.Path("requirements")
-
-
-def read_optional_reqs(name: str):
- reqs = optional_requirements / name
- return reqs.read_text(encoding="utf-8").splitlines()
-
def _setup_temp_egg_info(cmd):
"""Use a temporary directory for the `neuroglancer.egg-info` directory.
@@ -81,7 +69,7 @@ def run(self):
super().run()
-class BuildCommand(distutils.command.build.build):
+class BuildCommand(setuptools.command.build.build):
def finalize_options(self):
if self.build_base == "build":
# Use temporary directory instead, to avoid littering the source directory
@@ -97,13 +85,23 @@ def run(self):
super().run()
+class BuildPyCommand(setuptools.command.build_py.build_py):
+ def run(self):
+ self.run_command("static_bundles")
+ super().run()
+
+
class DevelopCommand(setuptools.command.develop.develop):
def run(self):
self.run_command("static_bundles")
super().run()
-class StaticBundlesCommand(setuptools.command.build_py.build_py):
+class StaticBundlesCommand(
+ setuptools.command.build.build, setuptools.command.build.SubCommand
+):
+ editable_mode: bool = False
+
user_options = setuptools.command.build_py.build_py.user_options + [
(
"bundle-type=",
@@ -171,76 +169,10 @@ def run(self):
setuptools.setup(
- name="sphinx_immaterial",
- description="Adaptation of mkdocs-material theme for the Sphinx documentation system",
- long_description=pathlib.Path("README.rst").read_text(encoding="utf-8"),
- long_description_content_type="text/x-rst",
- author="Jeremy Maitin-Shepard",
- author_email="jeremy@jeremyms.com",
- url="https://github.com/jbms/sphinx-immaterial",
- packages=setuptools.find_packages(
- where=".", include=["sphinx_immaterial", "sphinx_immaterial.*"]
- ),
- package_dir={"sphinx_immaterial": "sphinx_immaterial"},
- package_data={
- "sphinx_immaterial": [
- ".icons/*/**",
- ".icons/*/*/**",
- "partials/*.html",
- "partials/*/*.html",
- "partials/*/*/*.html",
- "partials/*/*/*/*.html",
- "bundles/*/**",
- "LICENSE",
- "*.html",
- "custom_admonitions.css",
- "theme.conf",
- ],
- "sphinx_immaterial.apidoc.cpp.cppreference_data": ["*.xml"],
- },
- python_requires=">=3.9",
- install_requires=REQUIREMENTS,
- use_scm_version={
- # It would be nice to include the commit hash in the version, but that
- # can't be done in a PEP 440-compatible way.
- "version_scheme": "no-guess-dev",
- # Test PyPI does not support local versions.
- "local_scheme": "no-local-version",
- "fallback_version": "0.0.0",
- },
- license="MIT",
- classifiers=[
- "Development Status :: 3 - Alpha",
- "Intended Audience :: Developers",
- "Natural Language :: English",
- "License :: OSI Approved :: MIT License",
- "Programming Language :: Python",
- "Framework :: Sphinx :: Extension",
- "Framework :: Sphinx :: Theme",
- "Topic :: Documentation :: Sphinx",
- ],
- entry_points={
- "sphinx.html_themes": [
- "sphinx_immaterial = sphinx_immaterial",
- ]
- },
- setup_requires=[
- "setuptools_scm>=6.3.2",
- ],
- extras_require={
- k: read_optional_reqs(f"{k}.txt")
- for k in [
- "json",
- "jsonschema_validation",
- "clang-format",
- "keys",
- "cpp",
- "black",
- ]
- },
cmdclass=dict(
sdist=SdistCommand,
build=BuildCommand,
+ build_py=BuildPyCommand,
install=InstallCommand,
static_bundles=StaticBundlesCommand,
develop=DevelopCommand,
diff --git a/sphinx_immaterial/apidoc/apidoc_formatting.py b/sphinx_immaterial/apidoc/apidoc_formatting.py
index 646da7136..2c0c3cdee 100644
--- a/sphinx_immaterial/apidoc/apidoc_formatting.py
+++ b/sphinx_immaterial/apidoc/apidoc_formatting.py
@@ -127,25 +127,53 @@ def depart_desc_inline(
self.body.append("")
-@html_translator_mixin.override
-def visit_productionlist(
- self: html_translator_mixin.HTMLTranslatorMixin,
- node: sphinx.addnodes.productionlist,
- super_func: html_translator_mixin.BaseVisitCallback[sphinx.addnodes.productionlist],
-):
- # we only need to patch in a code element around the production list
- before_len = len(self.body)
- try:
+if sphinx.version_info < (8, 2):
+
+ @html_translator_mixin.override
+ def visit_productionlist(
+ self: html_translator_mixin.HTMLTranslatorMixin,
+ node: sphinx.addnodes.productionlist,
+ super_func: html_translator_mixin.BaseVisitCallback[
+ sphinx.addnodes.productionlist
+ ],
+ ):
+ # we only need to patch in a code element around the production list
+ before_len = len(self.body)
+ try:
+ super_func(self, node)
+ except docutils.nodes.SkipNode:
+ pass
+ # be sure that there wasn't an incompatible change to sphinx
+ assert self.body[before_len].endswith("
\n") and self.body[-1].startswith(
+ "
"
+ )
+ self.body[before_len] += ""
+ self.body[-1] = "
" + self.body[-1]
+ raise docutils.nodes.SkipNode()
+
+else:
+
+ @html_translator_mixin.override
+ def visit_productionlist(
+ self: html_translator_mixin.HTMLTranslatorMixin,
+ node: sphinx.addnodes.productionlist,
+ super_func: html_translator_mixin.BaseVisitCallback[
+ sphinx.addnodes.productionlist
+ ],
+ ):
+ super_func(self, node)
+ self.body.append("")
+
+ @html_translator_mixin.override
+ def depart_productionlist(
+ self: html_translator_mixin.HTMLTranslatorMixin,
+ node: sphinx.addnodes.productionlist,
+ super_func: html_translator_mixin.BaseVisitCallback[
+ sphinx.addnodes.productionlist
+ ],
+ ):
+ self.body.append("
")
super_func(self, node)
- except docutils.nodes.SkipNode:
- pass
- # be sure that there wasn't an incompatible change to sphinx
- assert self.body[before_len].endswith("\n") and self.body[-1].startswith(
- "
"
- )
- self.body[before_len] += ""
- self.body[-1] = "
" + self.body[-1]
- raise docutils.nodes.SkipNode()
@html_translator_mixin.init
diff --git a/sphinx_immaterial/apidoc/cpp/ast_fixes.py b/sphinx_immaterial/apidoc/cpp/ast_fixes.py
index dc29901b8..363cf5c94 100644
--- a/sphinx_immaterial/apidoc/cpp/ast_fixes.py
+++ b/sphinx_immaterial/apidoc/cpp/ast_fixes.py
@@ -2,9 +2,14 @@
import sphinx
-from . import ( # noqa: F401
- fix_cpp_domain_symbol_resolution_through_type_aliases,
-)
+if sphinx.version_info >= (8, 2):
+ from . import ( # noqa: F401
+ fix_cpp_domain_symbol_resolution_through_type_aliases,
+ )
+else:
+ from . import ( # noqa: F401
+ fix_cpp_domain_symbol_resolution_through_type_aliases_sphinx81,
+ )
if sphinx.version_info < (5, 2):
from . import fix_cpp_domain_requires_clause # noqa: F401
diff --git a/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases.py b/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases.py
index d44288ebd..c1a35b387 100644
--- a/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases.py
+++ b/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases.py
@@ -8,6 +8,9 @@
import sphinx.domains.cpp
from sphinx.domains.cpp import Symbol
+# Different version of the patch required for Sphinx < 8.2.
+assert sphinx.version_info >= (8, 2)
+
def _monkey_patch_cpp_domain_symbol_resolution_through_type_aliases():
def resolve_type_alias(self: Symbol) -> Optional[Symbol]:
@@ -77,27 +80,27 @@ def resolve_alias_or_base_type(self) -> Iterator["Symbol"]:
def _find_named_symbols(
self: Symbol,
- identOrOp: Union[
+ ident_or_op: Union[
sphinx.domains.cpp.ASTIdentifier, sphinx.domains.cpp.ASTOperator
],
- templateParams: Any,
- templateArgs: sphinx.domains.cpp.ASTTemplateArgs,
- templateShorthand: bool,
- matchSelf: bool,
- recurseInAnon: bool,
- correctPrimaryTemplateArgs: bool,
- searchInSiblings: bool,
+ template_params: Any,
+ template_args: sphinx.domains.cpp.ASTTemplateArgs,
+ template_shorthand: bool,
+ match_self: bool,
+ recurse_in_anon: bool,
+ correct_primary_template_args: bool,
+ search_in_siblings: bool,
) -> Iterator[Symbol]:
results = orig_find_named_symbols(
self,
- identOrOp,
- templateParams,
- templateArgs,
- templateShorthand,
- matchSelf,
- recurseInAnon,
- correctPrimaryTemplateArgs,
- searchInSiblings,
+ ident_or_op,
+ template_params,
+ template_args,
+ template_shorthand,
+ match_self,
+ recurse_in_anon,
+ correct_primary_template_args,
+ search_in_siblings,
)
found_match = False
for result in results:
@@ -107,21 +110,21 @@ def _find_named_symbols(
if found_match:
return
- if not templateShorthand:
+ if not template_shorthand:
return
- if templateParams is not None or templateArgs is not None:
+ if template_params is not None or template_args is not None:
# Try match again, ignoring template params and args.
results = orig_find_named_symbols(
self,
- identOrOp,
+ ident_or_op,
None, # type: ignore[arg-type]
None, # type: ignore[arg-type]
- templateShorthand,
- matchSelf,
- recurseInAnon,
- correctPrimaryTemplateArgs,
- searchInSiblings,
+ template_shorthand,
+ match_self,
+ recurse_in_anon,
+ correct_primary_template_args,
+ search_in_siblings,
)
for result in results:
found_match = True
@@ -134,15 +137,15 @@ def _find_named_symbols(
for resolved_symbol in resolve_alias_or_base_type(self):
if resolved_symbol is self:
continue
- yield from resolved_symbol._find_named_symbols(
- identOrOp,
- templateParams,
- templateArgs,
- templateShorthand,
- matchSelf,
- recurseInAnon,
- correctPrimaryTemplateArgs=False,
- searchInSiblings=False,
+ yield from resolved_symbol._find_named_symbols( # type: ignore[call-arg]
+ ident_or_op,
+ template_params,
+ template_args,
+ template_shorthand,
+ match_self,
+ recurse_in_anon,
+ correct_primary_template_args=False,
+ search_in_siblings=False,
)
Symbol._find_named_symbols = _find_named_symbols # type: ignore[assignment]
@@ -153,32 +156,32 @@ def _find_named_symbols(
def _symbol_lookup(
self,
- nestedName,
- templateDecls,
- onMissingQualifiedSymbol,
- strictTemplateParamArgLists: bool,
- ancestorLookupType: str,
- templateShorthand: bool,
- matchSelf: bool,
- recurseInAnon: bool,
- correctPrimaryTemplateArgs: bool,
- searchInSiblings: bool,
+ nested_name,
+ template_decls,
+ on_missing_qualified_symbol,
+ strict_template_param_arg_lists: bool,
+ ancestor_lookup_type: str,
+ template_shorthand: bool,
+ match_self: bool,
+ recurse_in_anon: bool,
+ correct_primary_template_args: bool,
+ search_in_siblings: bool,
):
try:
- in_symbol_lookup_with_shorthand.append(templateShorthand)
+ in_symbol_lookup_with_shorthand.append(template_shorthand)
return orig_symbol_lookup(
self,
- nestedName,
- templateDecls,
- onMissingQualifiedSymbol,
- strictTemplateParamArgLists,
- ancestorLookupType,
- templateShorthand,
- matchSelf,
- recurseInAnon,
- correctPrimaryTemplateArgs,
- searchInSiblings,
+ nested_name,
+ template_decls,
+ on_missing_qualified_symbol,
+ strict_template_param_arg_lists,
+ ancestor_lookup_type,
+ template_shorthand,
+ match_self,
+ recurse_in_anon,
+ correct_primary_template_args,
+ search_in_siblings,
)
finally:
diff --git a/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases_sphinx81.py b/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases_sphinx81.py
new file mode 100644
index 000000000..cfdfb2f42
--- /dev/null
+++ b/sphinx_immaterial/apidoc/cpp/fix_cpp_domain_symbol_resolution_through_type_aliases_sphinx81.py
@@ -0,0 +1,230 @@
+"""Adds support for resolution symbols through type aliases.
+
+https://github.com/sphinx-doc/sphinx/pull/10296
+"""
+
+from typing import Optional, Iterator, Any, Union
+
+import sphinx
+import sphinx.domains.cpp
+from sphinx.domains.cpp import Symbol
+
+# Different version of the patch required for Sphinx >= 8.2.
+assert sphinx.version_info < (8, 2)
+
+
+def _monkey_patch_cpp_domain_symbol_resolution_through_type_aliases():
+ def resolve_type_alias(self: Symbol) -> Optional[Symbol]:
+ """Resolves `self` to another symbol if it is a type alias."""
+ declaration = self.declaration
+ if declaration is None:
+ return None
+ if declaration.objectType != "type":
+ return None
+ nested_name: sphinx.domains.cpp.ASTNestedName
+ if (
+ isinstance(declaration.declaration, sphinx.domains.cpp.ASTTypeUsing)
+ and declaration.declaration.type is not None
+ ):
+ trailing_type_spec = declaration.declaration.type.declSpecs.trailingTypeSpec
+ if not isinstance(
+ trailing_type_spec, sphinx.domains.cpp.ASTTrailingTypeSpecName
+ ):
+ return None
+ nested_name = trailing_type_spec.name
+ elif isinstance(declaration.declaration, sphinx.domains.cpp.ASTType):
+ trailing_type_spec = declaration.declaration.declSpecs.trailingTypeSpec
+ if not isinstance(
+ trailing_type_spec, sphinx.domains.cpp.ASTTrailingTypeSpecName
+ ):
+ return None
+ nested_name = trailing_type_spec.name
+ else:
+ return None
+ assert self.parent is not None
+ symbols, failReason = self.parent.find_name(
+ nested_name,
+ templateDecls=[],
+ typ="any",
+ matchSelf=False,
+ recurseInAnon=True,
+ searchInSiblings=False,
+ templateShorthand=True,
+ )
+ if symbols:
+ return symbols[0]
+ return None
+
+ def resolve_alias_or_base_type(self) -> Iterator["Symbol"]:
+ resolved = resolve_type_alias(self)
+ if resolved is not None:
+ yield resolved
+ declaration = self.declaration
+ if declaration is None:
+ return
+ if declaration.objectType != "class":
+ return
+ for base in declaration.declaration.bases:
+ symbols, failReason = self.parent.find_name(
+ base.name,
+ templateDecls=[],
+ typ="any",
+ matchSelf=False,
+ recurseInAnon=True,
+ searchInSiblings=False,
+ templateShorthand=True,
+ )
+ if symbols:
+ yield symbols[0]
+
+ orig_find_named_symbols = Symbol._find_named_symbols
+
+ def _find_named_symbols(
+ self: Symbol,
+ identOrOp: Union[
+ sphinx.domains.cpp.ASTIdentifier, sphinx.domains.cpp.ASTOperator
+ ],
+ templateParams: Any,
+ templateArgs: sphinx.domains.cpp.ASTTemplateArgs,
+ templateShorthand: bool,
+ matchSelf: bool,
+ recurseInAnon: bool,
+ correctPrimaryTemplateArgs: bool,
+ searchInSiblings: bool,
+ ) -> Iterator[Symbol]:
+ results = orig_find_named_symbols(
+ self,
+ identOrOp,
+ templateParams,
+ templateArgs,
+ templateShorthand,
+ matchSelf,
+ recurseInAnon,
+ correctPrimaryTemplateArgs,
+ searchInSiblings,
+ )
+ found_match = False
+ for result in results:
+ found_match = True
+ yield result
+
+ if found_match:
+ return
+
+ if not templateShorthand:
+ return
+
+ if templateParams is not None or templateArgs is not None:
+ # Try match again, ignoring template params and args.
+ results = orig_find_named_symbols(
+ self,
+ identOrOp,
+ None, # type: ignore[arg-type]
+ None, # type: ignore[arg-type]
+ templateShorthand,
+ matchSelf,
+ recurseInAnon,
+ correctPrimaryTemplateArgs,
+ searchInSiblings,
+ )
+ for result in results:
+ found_match = True
+ yield result
+
+ if found_match:
+ return
+
+ # Try to resolve type alias
+ for resolved_symbol in resolve_alias_or_base_type(self):
+ if resolved_symbol is self:
+ continue
+ yield from resolved_symbol._find_named_symbols( # type: ignore[call-arg]
+ identOrOp,
+ templateParams,
+ templateArgs,
+ templateShorthand,
+ matchSelf,
+ recurseInAnon,
+ correctPrimaryTemplateArgs=False,
+ searchInSiblings=False,
+ )
+
+ Symbol._find_named_symbols = _find_named_symbols # type: ignore[assignment]
+
+ in_symbol_lookup_with_shorthand = []
+
+ orig_symbol_lookup = Symbol._symbol_lookup
+
+ def _symbol_lookup(
+ self,
+ nestedName,
+ templateDecls,
+ onMissingQualifiedSymbol,
+ strictTemplateParamArgLists: bool,
+ ancestorLookupType: str,
+ templateShorthand: bool,
+ matchSelf: bool,
+ recurseInAnon: bool,
+ correctPrimaryTemplateArgs: bool,
+ searchInSiblings: bool,
+ ):
+ try:
+ in_symbol_lookup_with_shorthand.append(templateShorthand)
+
+ return orig_symbol_lookup(
+ self,
+ nestedName,
+ templateDecls,
+ onMissingQualifiedSymbol,
+ strictTemplateParamArgLists,
+ ancestorLookupType,
+ templateShorthand,
+ matchSelf,
+ recurseInAnon,
+ correctPrimaryTemplateArgs,
+ searchInSiblings,
+ )
+
+ finally:
+ in_symbol_lookup_with_shorthand.pop()
+
+ Symbol._symbol_lookup = _symbol_lookup # type: ignore[assignment]
+
+ orig_find_identifier = Symbol.find_identifier
+
+ def find_identifier(
+ self,
+ identOrOp: Union[
+ sphinx.domains.cpp.ASTIdentifier, sphinx.domains.cpp.ASTOperator
+ ],
+ matchSelf: bool,
+ recurseInAnon: bool,
+ searchInSiblings: bool,
+ ):
+ s = orig_find_identifier(
+ self, identOrOp, matchSelf, recurseInAnon, searchInSiblings
+ )
+ if s is not None:
+ return s
+ if (
+ not in_symbol_lookup_with_shorthand
+ or not in_symbol_lookup_with_shorthand[-1]
+ ):
+ return None
+ for other in resolve_alias_or_base_type(self):
+ if other is self:
+ continue
+ s = other.find_identifier(
+ identOrOp=identOrOp,
+ matchSelf=matchSelf,
+ recurseInAnon=recurseInAnon,
+ searchInSiblings=False,
+ )
+ if s is not None:
+ return s
+ return None
+
+ Symbol.find_identifier = find_identifier # type: ignore[assignment]
+
+
+_monkey_patch_cpp_domain_symbol_resolution_through_type_aliases()
diff --git a/sphinx_immaterial/apidoc/cpp/parameter_objects.py b/sphinx_immaterial/apidoc/cpp/parameter_objects.py
index 64d174cdc..304fc8121 100644
--- a/sphinx_immaterial/apidoc/cpp/parameter_objects.py
+++ b/sphinx_immaterial/apidoc/cpp/parameter_objects.py
@@ -34,7 +34,7 @@ def make_field(
self,
types: Dict[str, List[docutils.nodes.Node]],
domain: str,
- items: Tuple,
+ items: list[tuple[str, list[docutils.nodes.Node]]], # type: ignore[override]
env: Optional[sphinx.environment.BuildEnvironment] = None,
inliner: Optional[docutils.parsers.rst.states.Inliner] = None,
location: Optional[docutils.nodes.Node] = None,
diff --git a/sphinx_immaterial/apidoc/json/domain.py b/sphinx_immaterial/apidoc/json/domain.py
index 3e1eed4ce..a5a50eda4 100644
--- a/sphinx_immaterial/apidoc/json/domain.py
+++ b/sphinx_immaterial/apidoc/json/domain.py
@@ -1145,9 +1145,11 @@ def get_objects(self) -> Iterator[Tuple[str, str, str, str, str, int]]:
obj.objtype,
obj.docname,
obj.node_id,
- OBJECT_PRIORITY_DEFAULT
- if obj.objtype == "schema"
- else OBJECT_PRIORITY_UNIMPORTANT,
+ (
+ OBJECT_PRIORITY_DEFAULT
+ if obj.objtype == "schema"
+ else OBJECT_PRIORITY_UNIMPORTANT
+ ),
)
def merge_domaindata(self, docnames, otherdata: Dict) -> None:
@@ -1190,7 +1192,7 @@ def resolve_xref(
target: str,
node: sphinx.addnodes.pending_xref,
contnode: docutils.nodes.Element,
- ) -> Optional[docutils.nodes.Element]:
+ ) -> Optional[docutils.nodes.reference]:
del typ
match = self._find_schema(
target=target,
@@ -1209,7 +1211,7 @@ def _make_refnode(
fromdocname: str,
contnode: docutils.nodes.Element,
match: Tuple[str, DomainSchemaEntry],
- ) -> docutils.nodes.Element:
+ ) -> docutils.nodes.reference:
full_name, domain_entry = match
options = object_description_options.get_object_description_options(
self.env, "json", domain_entry.objtype
@@ -1226,7 +1228,7 @@ def _make_refnode(
title=tooltip,
)
- def resolve_any_xref(
+ def resolve_any_xref( # type: ignore[override]
self,
env: sphinx.environment.BuildEnvironment,
fromdocname: str,
@@ -1234,11 +1236,11 @@ def resolve_any_xref(
target: str,
node: sphinx.addnodes.pending_xref,
contnode: docutils.nodes.Element,
- ) -> List[Tuple[str, docutils.nodes.Element]]:
+ ) -> List[Tuple[str, docutils.nodes.reference]]:
match = self._find_schema(
target=target, parent_schema=node.get("json:schema"), refspecific=True
)
- results: List[Tuple[str, docutils.nodes.Element]] = []
+ results: List[Tuple[str, docutils.nodes.reference]] = []
if match is not None:
results.append(
(
diff --git a/sphinx_immaterial/apidoc/python/strip_property_prefix.py b/sphinx_immaterial/apidoc/python/strip_property_prefix.py
index c41ac0bff..3cbe75a2f 100644
--- a/sphinx_immaterial/apidoc/python/strip_property_prefix.py
+++ b/sphinx_immaterial/apidoc/python/strip_property_prefix.py
@@ -1,4 +1,4 @@
-from typing import Type, Union, List, cast
+from typing import Type, Union, List, cast, Sequence
import docutils.nodes
import sphinx.domains.python
@@ -9,7 +9,9 @@ def _monkey_patch_python_get_signature_prefix(
) -> None:
orig_get_signature_prefix = directive_cls.get_signature_prefix
- def get_signature_prefix(self, sig: str) -> Union[str, List[docutils.nodes.Node]]:
+ def get_signature_prefix(
+ self, sig: str
+ ) -> Union[str, Sequence[docutils.nodes.Node]]:
prefix = orig_get_signature_prefix(self, sig)
if not self.env.config.python_strip_property_prefix:
return prefix
diff --git a/sphinx_immaterial/apidoc/python/synopses.py b/sphinx_immaterial/apidoc/python/synopses.py
index f1abed4d4..5c553af24 100644
--- a/sphinx_immaterial/apidoc/python/synopses.py
+++ b/sphinx_immaterial/apidoc/python/synopses.py
@@ -63,13 +63,13 @@ def resolve_any_xref(
target: str,
node: sphinx.addnodes.pending_xref,
contnode: docutils.nodes.Element,
- ) -> List[Tuple[str, docutils.nodes.Element]]:
+ ) -> List[Tuple[str, docutils.nodes.reference]]:
results = orig_resolve_any_xref(
self, env, fromdocname, builder, target, node, contnode
)
for _, refnode in results:
_add_synopsis(self, env, refnode)
- return results
+ return results # type: ignore[return-value]
PythonDomain.resolve_any_xref = resolve_any_xref # type: ignore[assignment]
diff --git a/sphinx_immaterial/apidoc/python/type_param_utils.py b/sphinx_immaterial/apidoc/python/type_param_utils.py
index df0e321d9..61e0ba0ff 100644
--- a/sphinx_immaterial/apidoc/python/type_param_utils.py
+++ b/sphinx_immaterial/apidoc/python/type_param_utils.py
@@ -223,11 +223,12 @@ def _monkey_patch_stringify_annotation_to_support_type_params():
def stringify_annotation(
annotation: typing.Any,
/,
- mode="fully-qualified-except-typing",
+ *args,
+ **kwargs,
) -> str:
if (encode := _ENCODE_TYPE_PARAM.get(type(annotation))) is not None:
return encode(annotation)
- return orig(annotation, mode=mode)
+ return orig(annotation, *args, **kwargs)
for module in [
"sphinx.util.typing",
diff --git a/sphinx_immaterial/highlight_push_pop.py b/sphinx_immaterial/highlight_push_pop.py
index 20466425b..9a9027ff4 100644
--- a/sphinx_immaterial/highlight_push_pop.py
+++ b/sphinx_immaterial/highlight_push_pop.py
@@ -1,6 +1,6 @@
"""Extension that adds `highlight-push` and `highlight-pop` directives."""
-from typing import List
+from typing import List, cast, Optional
import docutils.nodes
import sphinx.addnodes
@@ -18,8 +18,11 @@ class HighlightPushDirective(sphinx.util.docutils.SphinxDirective):
optional_arguments = 0
def run(self) -> List[docutils.nodes.Node]:
- stack = self.env.temp_data.setdefault("highlight_language_stack", [])
- stack.append(self.env.temp_data.get("highlight_language"))
+ stack = cast(
+ list[Optional[str]],
+ self.env.temp_data.setdefault("highlight_language_stack", []),
+ )
+ stack.append(cast(Optional[str], self.env.temp_data.get("highlight_language")))
return [sphinx.addnodes.highlightlang(push=True)]
diff --git a/sphinx_immaterial/search_adapt.py b/sphinx_immaterial/search_adapt.py
index f722ceba4..42d6b997b 100644
--- a/sphinx_immaterial/search_adapt.py
+++ b/sphinx_immaterial/search_adapt.py
@@ -51,6 +51,11 @@ def _get_all_synopses(
class IndexBuilder(sphinx.search.IndexBuilder):
+ def __init__(self, env: sphinx.environment.BuildEnvironment, *args, **kwargs):
+ super().__init__(env, *args, **kwargs)
+ # Sphinx >=8.2 does not assign `self.env`, which is needed by this adapter.
+ self.env = env
+
def get_objects( # type: ignore[override]
self, fn2index: Dict[str, int]
) -> Dict[
@@ -163,7 +168,7 @@ def freeze(self):
def load(
self,
- stream: IO,
+ stream: IO, # type: ignore[override]
format: Any,
) -> None:
if isinstance(format, str):
diff --git a/tests/README.rst b/tests/README.rst
index 4110799ba..0ad0a98d3 100644
--- a/tests/README.rst
+++ b/tests/README.rst
@@ -1,30 +1,11 @@
Unit tests
==========
-To run unit tests for the sphinx-immaterial theme, there must first be dependencies installed.
-Install the dependencies by executing the following from the repo root folder:
+The unit tests require `graphviz `_ to be installed.
.. code-block:: shell
- pip install -r tests/requirements.txt
-
-The unit tests also require `graphviz `_ installed.
-
-The sphinx-immaterial theme should also be installed. For developer purposes, we recommend
-using an editable install, but this also requires that theme assets be assembled (as is done for
-distribution).
-
-.. code-block:: shell
-
- npm install
- npm run build
- pip install -e .
-
-You should now be ready to run the unit tests. This can be done directly with ``pytest`` CLI:
-
-.. code-block:: shell
-
- pytest -vv -s
+ uv run --group test pytest -vv -s
Using ``nox``
-------------
@@ -35,7 +16,7 @@ can be executed with 1 ``nox`` command.
.. code-block:: shell
- nox -s tests
+ uvx nox -s tests
Code Coverage
-------------
@@ -45,7 +26,7 @@ The coverage report should be generated *after* running the tests with ``nox``.
.. code-block:: shell
- nox -s coverage
+ uvx nox -s coverage
This will generate a ``.coverage_.md`` file of the coverage summary and a more in-depth analysis
in HTML form located in the ``htmlcov`` folder at the repo's root.
diff --git a/tests/admonition_test.py b/tests/admonition_test.py
index dabdeaef5..e9bdc1085 100644
--- a/tests/admonition_test.py
+++ b/tests/admonition_test.py
@@ -14,6 +14,7 @@
{
"name": "attention",
"classes": ["important"],
+ "override": True,
},
{
"name": "versionremoved",
diff --git a/tests/conftest.py b/tests/conftest.py
index 939b65ec2..421dbd904 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -31,3 +31,7 @@ def make(files: Dict[str, str], extra_conf: str = "", **kwargs):
return app
yield make
+
+
+def pytest_report_header(config):
+ return f"sphinx: {sphinx.__version__}"
diff --git a/tests/issue_134/sphinx-immaterial-pybind11-issue-134/pyproject.toml b/tests/issue_134/sphinx-immaterial-pybind11-issue-134/pyproject.toml
index 210a83360..c9db05962 100644
--- a/tests/issue_134/sphinx-immaterial-pybind11-issue-134/pyproject.toml
+++ b/tests/issue_134/sphinx-immaterial-pybind11-issue-134/pyproject.toml
@@ -1,3 +1,10 @@
+[project]
+name = "sphinx-immaterial-pybind11-issue-134"
+version = "0"
+
[build-system]
-requires = ["setuptools>=45", "pybind11"]
+requires = [
+ "setuptools>=45",
+ "pybind11",
+]
build-backend = "setuptools.build_meta"
diff --git a/tests/issue_134/sphinx-immaterial-pybind11-issue-134/setup.py b/tests/issue_134/sphinx-immaterial-pybind11-issue-134/setup.py
index d6fde2984..80ad35230 100644
--- a/tests/issue_134/sphinx-immaterial-pybind11-issue-134/setup.py
+++ b/tests/issue_134/sphinx-immaterial-pybind11-issue-134/setup.py
@@ -1,4 +1,3 @@
-#! python
# type: ignore
from setuptools import setup
from pybind11.setup_helpers import Pybind11Extension, build_ext
@@ -11,7 +10,6 @@
]
setup(
- name="sphinx-immaterial-pybind11-issue-134",
ext_modules=ext_modules,
cmdclass={"build_ext": build_ext},
)
diff --git a/tests/requirements-sphinx4.txt b/tests/requirements-sphinx4.txt
deleted file mode 100644
index dabd8f882..000000000
--- a/tests/requirements-sphinx4.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# The following version specs describe dependencies of sphinx that dropped support for sphinx v4.x
-sphinxcontrib-applehelp<1.0.5
-sphinxcontrib-devhelp<1.0.3
-sphinxcontrib-htmlhelp<2.0.2
-sphinxcontrib-serializinghtml<1.1.6
-sphinxcontrib-qthelp<1.0.4
diff --git a/tests/requirements.txt b/tests/requirements.txt
deleted file mode 100644
index 37b4a6905..000000000
--- a/tests/requirements.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-coverage[toml] >= 7.0
-pytest
-pytest-snapshot
-beautifulsoup4
-sphinx[test] # needed for pinned version of defusedxml
-tests/issue_134/sphinx-immaterial-pybind11-issue-134
-
--r ../requirements.txt
--r ../requirements/cpp.txt
--r ../requirements/json.txt
--r ../requirements/jsonschema_validation.txt
--r ../requirements/keys.txt
--r ../requirements/black.txt
--r ../requirements/clang-format.txt
diff --git a/uv.lock b/uv.lock
new file mode 100644
index 000000000..98a8bb574
--- /dev/null
+++ b/uv.lock
@@ -0,0 +1,2142 @@
+version = 1
+revision = 1
+requires-python = ">=3.10"
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+conflicts = [[
+ { package = "sphinx-immaterial", group = "sphinx4" },
+ { package = "sphinx-immaterial", group = "sphinx5" },
+ { package = "sphinx-immaterial", group = "sphinx6" },
+ { package = "sphinx-immaterial", group = "sphinx7" },
+ { package = "sphinx-immaterial", group = "sphinx8" },
+]]
+
+[manifest]
+members = [
+ "sphinx-immaterial",
+ "sphinx-immaterial-pybind11-issue-134",
+]
+
+[[package]]
+name = "alabaster"
+version = "0.7.16"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511 },
+]
+
+[[package]]
+name = "alabaster"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e", size = 24210 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b", size = 13929 },
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
+]
+
+[[package]]
+name = "appdirs"
+version = "1.4.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", size = 13470 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", size = 9566 },
+]
+
+[[package]]
+name = "argcomplete"
+version = "3.5.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0c/be/6c23d80cb966fb8f83fb1ebfb988351ae6b0554d0c3a613ee4531c026597/argcomplete-3.5.3.tar.gz", hash = "sha256:c12bf50eded8aebb298c7b7da7a5ff3ee24dffd9f5281867dfe1424b58c55392", size = 72999 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c4/08/2a4db06ec3d203124c967fc89295e85a202e5cbbcdc08fd6a64b65217d1e/argcomplete-3.5.3-py3-none-any.whl", hash = "sha256:2ab2c4a215c59fd6caaff41a869480a23e8f6a5f910b266c1808037f4e375b61", size = 43569 },
+]
+
+[[package]]
+name = "attrs"
+version = "25.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 },
+]
+
+[[package]]
+name = "babel"
+version = "2.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 },
+]
+
+[[package]]
+name = "beautifulsoup4"
+version = "4.13.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "soupsieve" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 },
+]
+
+[[package]]
+name = "black"
+version = "25.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "mypy-extensions" },
+ { name = "packaging" },
+ { name = "pathspec" },
+ { name = "platformdirs" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419 },
+ { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080 },
+ { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886 },
+ { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404 },
+ { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372 },
+ { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865 },
+ { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699 },
+ { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028 },
+ { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988 },
+ { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985 },
+ { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816 },
+ { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860 },
+ { url = "https://files.pythonhosted.org/packages/98/87/0edf98916640efa5d0696e1abb0a8357b52e69e82322628f25bf14d263d1/black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", size = 1650673 },
+ { url = "https://files.pythonhosted.org/packages/52/e5/f7bf17207cf87fa6e9b676576749c6b6ed0d70f179a3d812c997870291c3/black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", size = 1453190 },
+ { url = "https://files.pythonhosted.org/packages/e3/ee/adda3d46d4a9120772fae6de454c8495603c37c4c3b9c60f25b1ab6401fe/black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", size = 1782926 },
+ { url = "https://files.pythonhosted.org/packages/cc/64/94eb5f45dcb997d2082f097a3944cfc7fe87e071907f677e80788a2d7b7a/black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", size = 1442613 },
+ { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646 },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.1.31"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 },
+ { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 },
+ { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 },
+ { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 },
+ { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 },
+ { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 },
+ { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 },
+ { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 },
+ { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 },
+ { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 },
+ { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 },
+ { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 },
+ { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 },
+ { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 },
+ { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 },
+ { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 },
+ { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 },
+ { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 },
+ { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 },
+ { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 },
+ { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 },
+ { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 },
+ { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 },
+ { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 },
+ { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 },
+ { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 },
+ { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 },
+ { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 },
+ { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 },
+ { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 },
+ { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 },
+ { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 },
+ { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 },
+ { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 },
+ { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 },
+ { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 },
+ { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 },
+ { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 },
+ { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 },
+ { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 },
+ { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 },
+ { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 },
+ { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 },
+ { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 },
+ { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 },
+ { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 },
+ { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 },
+ { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 },
+ { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 },
+ { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 },
+ { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 },
+ { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 },
+ { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 },
+]
+
+[[package]]
+name = "clang-format"
+version = "19.1.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/ee/71d017fe603c06b83d6720df6b3f6f07f03abf330f39beee3fee2a067c56/clang_format-19.1.7.tar.gz", hash = "sha256:bd6fc5272a41034a7844149203461d1f311bece9ed100d22eb3eebd952a25f49", size = 11122 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/c3/2f1c53bc298c1740d0c9f8dc2d9b7030be4826b6f2aa8a04f07ef25a3d9b/clang_format-19.1.7-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:a09f34d2c89d176581858ff718c327eebc14eb6415c176dab4af5bfd8582a999", size = 1428184 },
+ { url = "https://files.pythonhosted.org/packages/8e/9d/7c246a3d08105de305553d14971ed6c16cde06d20ab12d6ce7f243cf66f0/clang_format-19.1.7-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:776f89c7b056c498c0e256485bc031cbf514aaebe71e929ed54e50c478524b65", size = 1398224 },
+ { url = "https://files.pythonhosted.org/packages/b1/7d/002aa5571351ee7f00f87aae5104cdd30cad1a46f25936226f7d2aed06bf/clang_format-19.1.7-py2.py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dac394c83a9233ab6707f66e1cdbd950f8b014b58604142a5b6f7998bf0bcc8c", size = 1730962 },
+ { url = "https://files.pythonhosted.org/packages/1c/fe/24b7c13af432e609d65dc32c47c61f0a6c3b80d78eb7b3df37daf0395c56/clang_format-19.1.7-py2.py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbd4f94d929edf6d8d81e990dfaafc22bb10deaefcb2762150a136f281b01c00", size = 1908820 },
+ { url = "https://files.pythonhosted.org/packages/7d/a8/86595ffd6ea0bf3a3013aad94e3d55be32ef987567781eddf4621e316d09/clang_format-19.1.7-py2.py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bdcda63fffdbe2aac23b54d46408a6283ad16676a5230a95b3ed49eacd99129b", size = 2622838 },
+ { url = "https://files.pythonhosted.org/packages/48/d1/731ebf78c5d5cc043c20b0755c89239350b8e75ac5d667b99689e8110bc7/clang_format-19.1.7-py2.py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c13a5802da986b1400afbee97162c29f841890ab9e20a0be7ede18189219f5f1", size = 1723352 },
+ { url = "https://files.pythonhosted.org/packages/3c/e7/0e526915a3a4a23100cc721c24226a192fa0385d394019d06920dc83fe6c/clang_format-19.1.7-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f4906fb463dd2033032978f56962caab268c9428a384126b9400543eb667f11c", size = 1740347 },
+ { url = "https://files.pythonhosted.org/packages/52/04/ed8e2af6b3e29655a858b3aad145f3f0539df0dd1c77815b95f578260bd3/clang_format-19.1.7-py2.py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ffca915c09aed9137f8c649ad7521bd5ce690c939121db1ba54af2ba63ac8374", size = 2675802 },
+ { url = "https://files.pythonhosted.org/packages/9a/ab/7874a6f45c167f4cc4d02f517b85d14b6b5fa8412f6e9c7482588d00fccb/clang_format-19.1.7-py2.py3-none-musllinux_1_2_i686.whl", hash = "sha256:fc011dc7bbe3ac8a32e0caa37ab8ba6c1639ceef6ecd04feea8d37360fc175e4", size = 2977872 },
+ { url = "https://files.pythonhosted.org/packages/46/b5/c87b6c46eb7e9d0f07e2bd56cd0a62bf7e679f146b4e1447110cfae4bd01/clang_format-19.1.7-py2.py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:afdfb11584f5a6f15127a7061673a7ea12a0393fe9ee8d2ed84e74bb191ffc3b", size = 3125795 },
+ { url = "https://files.pythonhosted.org/packages/22/3e/7ea08aba446c1e838367d3c0e13eb3d2e482b23e099a25149d4f7f6b8c75/clang_format-19.1.7-py2.py3-none-musllinux_1_2_s390x.whl", hash = "sha256:6ce81d5b08e0169dc52037d3ff1802eafcaf86c281ceb8b38b8359ba7b6b7bdc", size = 3069663 },
+ { url = "https://files.pythonhosted.org/packages/f5/f9/6ce7fe8ff52ded01d02a568358f2ddf993347e44202b6506b039a583b7ed/clang_format-19.1.7-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:d27ac1a5a8783c9271d41cd5851766ca547ea003efa4e3764f880f319b2d3ed3", size = 2763172 },
+ { url = "https://files.pythonhosted.org/packages/82/fa/77fe5636bb6b6252918bf129226a248506af218a2256deece3a9d95af850/clang_format-19.1.7-py2.py3-none-win32.whl", hash = "sha256:5dfde0be33f038114af89efb917144c2f766f8b7f3a3d3e4cb9c25f76d71ef81", size = 1243262 },
+ { url = "https://files.pythonhosted.org/packages/e4/32/0b44f3582b9df0b8f90266ef43975e37ec8ad52bae4f85b71552f264d5a2/clang_format-19.1.7-py2.py3-none-win_amd64.whl", hash = "sha256:3e3c75fbdf8827bbb7277226b3057fc3785dabe7284d3a9d15fceb250f68f529", size = 1441132 },
+]
+
+[[package]]
+name = "click"
+version = "8.1.8"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
+]
+
+[[package]]
+name = "colorlog"
+version = "6.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d3/7a/359f4d5df2353f26172b3cc39ea32daa39af8de522205f512f458923e677/colorlog-6.9.0.tar.gz", hash = "sha256:bfba54a1b93b94f54e1f4fe48395725a3d92fd2a4af702f6bd70946bdc0c6ac2", size = 16624 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e3/51/9b208e85196941db2f0654ad0357ca6388ab3ed67efdbfc799f35d1f83aa/colorlog-6.9.0-py3-none-any.whl", hash = "sha256:5906e71acd67cb07a71e779c47c4bcb45fb8c2993eebe9e5adcd6a6f1b283eff", size = 11424 },
+]
+
+[[package]]
+name = "coverage"
+version = "7.6.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0c/d6/2b53ab3ee99f2262e6f0b8369a43f6d66658eab45510331c0b3d5c8c4272/coverage-7.6.12.tar.gz", hash = "sha256:48cfc4641d95d34766ad41d9573cc0f22a48aa88d22657a1fe01dca0dbae4de2", size = 805941 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/67/81dc41ec8f548c365d04a29f1afd492d3176b372c33e47fa2a45a01dc13a/coverage-7.6.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:704c8c8c6ce6569286ae9622e534b4f5b9759b6f2cd643f1c1a61f666d534fe8", size = 208345 },
+ { url = "https://files.pythonhosted.org/packages/33/43/17f71676016c8829bde69e24c852fef6bd9ed39f774a245d9ec98f689fa0/coverage-7.6.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ad7525bf0241e5502168ae9c643a2f6c219fa0a283001cee4cf23a9b7da75879", size = 208775 },
+ { url = "https://files.pythonhosted.org/packages/86/25/c6ff0775f8960e8c0840845b723eed978d22a3cd9babd2b996e4a7c502c6/coverage-7.6.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06097c7abfa611c91edb9e6920264e5be1d6ceb374efb4986f38b09eed4cb2fe", size = 237925 },
+ { url = "https://files.pythonhosted.org/packages/b0/3d/5f5bd37046243cb9d15fff2c69e498c2f4fe4f9b42a96018d4579ed3506f/coverage-7.6.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:220fa6c0ad7d9caef57f2c8771918324563ef0d8272c94974717c3909664e674", size = 235835 },
+ { url = "https://files.pythonhosted.org/packages/b5/f1/9e6b75531fe33490b910d251b0bf709142e73a40e4e38a3899e6986fe088/coverage-7.6.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3688b99604a24492bcfe1c106278c45586eb819bf66a654d8a9a1433022fb2eb", size = 236966 },
+ { url = "https://files.pythonhosted.org/packages/4f/bc/aef5a98f9133851bd1aacf130e754063719345d2fb776a117d5a8d516971/coverage-7.6.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d1a987778b9c71da2fc8948e6f2656da6ef68f59298b7e9786849634c35d2c3c", size = 236080 },
+ { url = "https://files.pythonhosted.org/packages/eb/d0/56b4ab77f9b12aea4d4c11dc11cdcaa7c29130b837eb610639cf3400c9c3/coverage-7.6.12-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cec6b9ce3bd2b7853d4a4563801292bfee40b030c05a3d29555fd2a8ee9bd68c", size = 234393 },
+ { url = "https://files.pythonhosted.org/packages/0d/77/28ef95c5d23fe3dd191a0b7d89c82fea2c2d904aef9315daf7c890e96557/coverage-7.6.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ace9048de91293e467b44bce0f0381345078389814ff6e18dbac8fdbf896360e", size = 235536 },
+ { url = "https://files.pythonhosted.org/packages/29/62/18791d3632ee3ff3f95bc8599115707d05229c72db9539f208bb878a3d88/coverage-7.6.12-cp310-cp310-win32.whl", hash = "sha256:ea31689f05043d520113e0552f039603c4dd71fa4c287b64cb3606140c66f425", size = 211063 },
+ { url = "https://files.pythonhosted.org/packages/fc/57/b3878006cedfd573c963e5c751b8587154eb10a61cc0f47a84f85c88a355/coverage-7.6.12-cp310-cp310-win_amd64.whl", hash = "sha256:676f92141e3c5492d2a1596d52287d0d963df21bf5e55c8b03075a60e1ddf8aa", size = 211955 },
+ { url = "https://files.pythonhosted.org/packages/64/2d/da78abbfff98468c91fd63a73cccdfa0e99051676ded8dd36123e3a2d4d5/coverage-7.6.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e18aafdfb3e9ec0d261c942d35bd7c28d031c5855dadb491d2723ba54f4c3015", size = 208464 },
+ { url = "https://files.pythonhosted.org/packages/31/f2/c269f46c470bdabe83a69e860c80a82e5e76840e9f4bbd7f38f8cebbee2f/coverage-7.6.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66fe626fd7aa5982cdebad23e49e78ef7dbb3e3c2a5960a2b53632f1f703ea45", size = 208893 },
+ { url = "https://files.pythonhosted.org/packages/47/63/5682bf14d2ce20819998a49c0deadb81e608a59eed64d6bc2191bc8046b9/coverage-7.6.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ef01d70198431719af0b1f5dcbefc557d44a190e749004042927b2a3fed0702", size = 241545 },
+ { url = "https://files.pythonhosted.org/packages/6a/b6/6b6631f1172d437e11067e1c2edfdb7238b65dff965a12bce3b6d1bf2be2/coverage-7.6.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e92ae5a289a4bc4c0aae710c0948d3c7892e20fd3588224ebe242039573bf0", size = 239230 },
+ { url = "https://files.pythonhosted.org/packages/c7/01/9cd06cbb1be53e837e16f1b4309f6357e2dfcbdab0dd7cd3b1a50589e4e1/coverage-7.6.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e695df2c58ce526eeab11a2e915448d3eb76f75dffe338ea613c1201b33bab2f", size = 241013 },
+ { url = "https://files.pythonhosted.org/packages/4b/26/56afefc03c30871326e3d99709a70d327ac1f33da383cba108c79bd71563/coverage-7.6.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d74c08e9aaef995f8c4ef6d202dbd219c318450fe2a76da624f2ebb9c8ec5d9f", size = 239750 },
+ { url = "https://files.pythonhosted.org/packages/dd/ea/88a1ff951ed288f56aa561558ebe380107cf9132facd0b50bced63ba7238/coverage-7.6.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e995b3b76ccedc27fe4f477b349b7d64597e53a43fc2961db9d3fbace085d69d", size = 238462 },
+ { url = "https://files.pythonhosted.org/packages/6e/d4/1d9404566f553728889409eff82151d515fbb46dc92cbd13b5337fa0de8c/coverage-7.6.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b1f097878d74fe51e1ddd1be62d8e3682748875b461232cf4b52ddc6e6db0bba", size = 239307 },
+ { url = "https://files.pythonhosted.org/packages/12/c1/e453d3b794cde1e232ee8ac1d194fde8e2ba329c18bbf1b93f6f5eef606b/coverage-7.6.12-cp311-cp311-win32.whl", hash = "sha256:1f7ffa05da41754e20512202c866d0ebfc440bba3b0ed15133070e20bf5aeb5f", size = 211117 },
+ { url = "https://files.pythonhosted.org/packages/d5/db/829185120c1686fa297294f8fcd23e0422f71070bf85ef1cc1a72ecb2930/coverage-7.6.12-cp311-cp311-win_amd64.whl", hash = "sha256:e216c5c45f89ef8971373fd1c5d8d1164b81f7f5f06bbf23c37e7908d19e8558", size = 212019 },
+ { url = "https://files.pythonhosted.org/packages/e2/7f/4af2ed1d06ce6bee7eafc03b2ef748b14132b0bdae04388e451e4b2c529b/coverage-7.6.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b172f8e030e8ef247b3104902cc671e20df80163b60a203653150d2fc204d1ad", size = 208645 },
+ { url = "https://files.pythonhosted.org/packages/dc/60/d19df912989117caa95123524d26fc973f56dc14aecdec5ccd7d0084e131/coverage-7.6.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:641dfe0ab73deb7069fb972d4d9725bf11c239c309ce694dd50b1473c0f641c3", size = 208898 },
+ { url = "https://files.pythonhosted.org/packages/bd/10/fecabcf438ba676f706bf90186ccf6ff9f6158cc494286965c76e58742fa/coverage-7.6.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e549f54ac5f301e8e04c569dfdb907f7be71b06b88b5063ce9d6953d2d58574", size = 242987 },
+ { url = "https://files.pythonhosted.org/packages/4c/53/4e208440389e8ea936f5f2b0762dcd4cb03281a7722def8e2bf9dc9c3d68/coverage-7.6.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:959244a17184515f8c52dcb65fb662808767c0bd233c1d8a166e7cf74c9ea985", size = 239881 },
+ { url = "https://files.pythonhosted.org/packages/c4/47/2ba744af8d2f0caa1f17e7746147e34dfc5f811fb65fc153153722d58835/coverage-7.6.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bda1c5f347550c359f841d6614fb8ca42ae5cb0b74d39f8a1e204815ebe25750", size = 242142 },
+ { url = "https://files.pythonhosted.org/packages/e9/90/df726af8ee74d92ee7e3bf113bf101ea4315d71508952bd21abc3fae471e/coverage-7.6.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ceeb90c3eda1f2d8c4c578c14167dbd8c674ecd7d38e45647543f19839dd6ea", size = 241437 },
+ { url = "https://files.pythonhosted.org/packages/f6/af/995263fd04ae5f9cf12521150295bf03b6ba940d0aea97953bb4a6db3e2b/coverage-7.6.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f16f44025c06792e0fb09571ae454bcc7a3ec75eeb3c36b025eccf501b1a4c3", size = 239724 },
+ { url = "https://files.pythonhosted.org/packages/1c/8e/5bb04f0318805e190984c6ce106b4c3968a9562a400180e549855d8211bd/coverage-7.6.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b076e625396e787448d27a411aefff867db2bffac8ed04e8f7056b07024eed5a", size = 241329 },
+ { url = "https://files.pythonhosted.org/packages/9e/9d/fa04d9e6c3f6459f4e0b231925277cfc33d72dfab7fa19c312c03e59da99/coverage-7.6.12-cp312-cp312-win32.whl", hash = "sha256:00b2086892cf06c7c2d74983c9595dc511acca00665480b3ddff749ec4fb2a95", size = 211289 },
+ { url = "https://files.pythonhosted.org/packages/53/40/53c7ffe3c0c3fff4d708bc99e65f3d78c129110d6629736faf2dbd60ad57/coverage-7.6.12-cp312-cp312-win_amd64.whl", hash = "sha256:7ae6eabf519bc7871ce117fb18bf14e0e343eeb96c377667e3e5dd12095e0288", size = 212079 },
+ { url = "https://files.pythonhosted.org/packages/76/89/1adf3e634753c0de3dad2f02aac1e73dba58bc5a3a914ac94a25b2ef418f/coverage-7.6.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:488c27b3db0ebee97a830e6b5a3ea930c4a6e2c07f27a5e67e1b3532e76b9ef1", size = 208673 },
+ { url = "https://files.pythonhosted.org/packages/ce/64/92a4e239d64d798535c5b45baac6b891c205a8a2e7c9cc8590ad386693dc/coverage-7.6.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d1095bbee1851269f79fd8e0c9b5544e4c00c0c24965e66d8cba2eb5bb535fd", size = 208945 },
+ { url = "https://files.pythonhosted.org/packages/b4/d0/4596a3ef3bca20a94539c9b1e10fd250225d1dec57ea78b0867a1cf9742e/coverage-7.6.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0533adc29adf6a69c1baa88c3d7dbcaadcffa21afbed3ca7a225a440e4744bf9", size = 242484 },
+ { url = "https://files.pythonhosted.org/packages/1c/ef/6fd0d344695af6718a38d0861408af48a709327335486a7ad7e85936dc6e/coverage-7.6.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53c56358d470fa507a2b6e67a68fd002364d23c83741dbc4c2e0680d80ca227e", size = 239525 },
+ { url = "https://files.pythonhosted.org/packages/0c/4b/373be2be7dd42f2bcd6964059fd8fa307d265a29d2b9bcf1d044bcc156ed/coverage-7.6.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64cbb1a3027c79ca6310bf101014614f6e6e18c226474606cf725238cf5bc2d4", size = 241545 },
+ { url = "https://files.pythonhosted.org/packages/a6/7d/0e83cc2673a7790650851ee92f72a343827ecaaea07960587c8f442b5cd3/coverage-7.6.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79cac3390bfa9836bb795be377395f28410811c9066bc4eefd8015258a7578c6", size = 241179 },
+ { url = "https://files.pythonhosted.org/packages/ff/8c/566ea92ce2bb7627b0900124e24a99f9244b6c8c92d09ff9f7633eb7c3c8/coverage-7.6.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9b148068e881faa26d878ff63e79650e208e95cf1c22bd3f77c3ca7b1d9821a3", size = 239288 },
+ { url = "https://files.pythonhosted.org/packages/7d/e4/869a138e50b622f796782d642c15fb5f25a5870c6d0059a663667a201638/coverage-7.6.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8bec2ac5da793c2685ce5319ca9bcf4eee683b8a1679051f8e6ec04c4f2fd7dc", size = 241032 },
+ { url = "https://files.pythonhosted.org/packages/ae/28/a52ff5d62a9f9e9fe9c4f17759b98632edd3a3489fce70154c7d66054dd3/coverage-7.6.12-cp313-cp313-win32.whl", hash = "sha256:200e10beb6ddd7c3ded322a4186313d5ca9e63e33d8fab4faa67ef46d3460af3", size = 211315 },
+ { url = "https://files.pythonhosted.org/packages/bc/17/ab849b7429a639f9722fa5628364c28d675c7ff37ebc3268fe9840dda13c/coverage-7.6.12-cp313-cp313-win_amd64.whl", hash = "sha256:2b996819ced9f7dbb812c701485d58f261bef08f9b85304d41219b1496b591ef", size = 212099 },
+ { url = "https://files.pythonhosted.org/packages/d2/1c/b9965bf23e171d98505eb5eb4fb4d05c44efd256f2e0f19ad1ba8c3f54b0/coverage-7.6.12-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:299cf973a7abff87a30609879c10df0b3bfc33d021e1adabc29138a48888841e", size = 209511 },
+ { url = "https://files.pythonhosted.org/packages/57/b3/119c201d3b692d5e17784fee876a9a78e1b3051327de2709392962877ca8/coverage-7.6.12-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4b467a8c56974bf06e543e69ad803c6865249d7a5ccf6980457ed2bc50312703", size = 209729 },
+ { url = "https://files.pythonhosted.org/packages/52/4e/a7feb5a56b266304bc59f872ea07b728e14d5a64f1ad3a2cc01a3259c965/coverage-7.6.12-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2458f275944db8129f95d91aee32c828a408481ecde3b30af31d552c2ce284a0", size = 253988 },
+ { url = "https://files.pythonhosted.org/packages/65/19/069fec4d6908d0dae98126aa7ad08ce5130a6decc8509da7740d36e8e8d2/coverage-7.6.12-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a9d8be07fb0832636a0f72b80d2a652fe665e80e720301fb22b191c3434d924", size = 249697 },
+ { url = "https://files.pythonhosted.org/packages/1c/da/5b19f09ba39df7c55f77820736bf17bbe2416bbf5216a3100ac019e15839/coverage-7.6.12-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14d47376a4f445e9743f6c83291e60adb1b127607a3618e3185bbc8091f0467b", size = 252033 },
+ { url = "https://files.pythonhosted.org/packages/1e/89/4c2750df7f80a7872267f7c5fe497c69d45f688f7b3afe1297e52e33f791/coverage-7.6.12-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b95574d06aa9d2bd6e5cc35a5bbe35696342c96760b69dc4287dbd5abd4ad51d", size = 251535 },
+ { url = "https://files.pythonhosted.org/packages/78/3b/6d3ae3c1cc05f1b0460c51e6f6dcf567598cbd7c6121e5ad06643974703c/coverage-7.6.12-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:ecea0c38c9079570163d663c0433a9af4094a60aafdca491c6a3d248c7432827", size = 249192 },
+ { url = "https://files.pythonhosted.org/packages/6e/8e/c14a79f535ce41af7d436bbad0d3d90c43d9e38ec409b4770c894031422e/coverage-7.6.12-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2251fabcfee0a55a8578a9d29cecfee5f2de02f11530e7d5c5a05859aa85aee9", size = 250627 },
+ { url = "https://files.pythonhosted.org/packages/cb/79/b7cee656cfb17a7f2c1b9c3cee03dd5d8000ca299ad4038ba64b61a9b044/coverage-7.6.12-cp313-cp313t-win32.whl", hash = "sha256:eb5507795caabd9b2ae3f1adc95f67b1104971c22c624bb354232d65c4fc90b3", size = 212033 },
+ { url = "https://files.pythonhosted.org/packages/b6/c3/f7aaa3813f1fa9a4228175a7bd368199659d392897e184435a3b66408dd3/coverage-7.6.12-cp313-cp313t-win_amd64.whl", hash = "sha256:f60a297c3987c6c02ffb29effc70eadcbb412fe76947d394a1091a3615948e2f", size = 213240 },
+ { url = "https://files.pythonhosted.org/packages/7a/7f/05818c62c7afe75df11e0233bd670948d68b36cdbf2a339a095bc02624a8/coverage-7.6.12-pp39.pp310-none-any.whl", hash = "sha256:7e39e845c4d764208e7b8f6a21c541ade741e2c41afabdfa1caa28687a3c98cf", size = 200558 },
+ { url = "https://files.pythonhosted.org/packages/fb/b2/f655700e1024dec98b10ebaafd0cedbc25e40e4abe62a3c8e2ceef4f8f0a/coverage-7.6.12-py3-none-any.whl", hash = "sha256:eb8668cfbc279a536c633137deeb9435d2962caec279c3f8cf8b91fff6ff8953", size = 200552 },
+]
+
+[package.optional-dependencies]
+toml = [
+ { name = "tomli", marker = "python_full_version <= '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "cython"
+version = "3.0.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5a/25/886e197c97a4b8e254173002cdc141441e878ff29aaa7d9ba560cd6e4866/cython-3.0.12.tar.gz", hash = "sha256:b988bb297ce76c671e28c97d017b95411010f7c77fa6623dd0bb47eed1aee1bc", size = 2757617 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/52/78/3bcb8ee7b6f5956dbd6bebf85818e075d863419db3661f25189c64cd6c70/Cython-3.0.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba67eee9413b66dd9fbacd33f0bc2e028a2a120991d77b5fd4b19d0b1e4039b9", size = 3271523 },
+ { url = "https://files.pythonhosted.org/packages/dc/21/5b700dac60cc7af4261c7fa2e91f55fe5f38f6c183e1201ced7cc932201b/Cython-3.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee2717e5b5f7d966d0c6e27d2efe3698c357aa4d61bb3201997c7a4f9fe485a", size = 3630244 },
+ { url = "https://files.pythonhosted.org/packages/a3/db/a42b8905bde467599927765ba12147f9d6ae3cd10fb33c4cda02011d7be0/Cython-3.0.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cffc3464f641c8d0dda942c7c53015291beea11ec4d32421bed2f13b386b819", size = 3685089 },
+ { url = "https://files.pythonhosted.org/packages/1a/0f/64be4bbdf26679f44fe96e19078c4382800eb8ba9b265373cae73ac94493/Cython-3.0.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d3a8f81980ffbd74e52f9186d8f1654e347d0c44bfea6b5997028977f481a179", size = 3501991 },
+ { url = "https://files.pythonhosted.org/packages/d4/7d/e2a48882a4cbb16f0dfbc406879b2a1ea6b5d27c7cbef080e8eb8234a96c/Cython-3.0.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8d32856716c369d01f2385ad9177cdd1a11079ac89ea0932dc4882de1aa19174", size = 3713604 },
+ { url = "https://files.pythonhosted.org/packages/3b/df/ca69aab33ffd2a184269335f6240b042c21d41dad335d4abb4ead9f22687/Cython-3.0.12-cp310-cp310-win32.whl", hash = "sha256:712c3f31adec140dc60d064a7f84741f50e2c25a8edd7ae746d5eb4d3ef7072a", size = 2578290 },
+ { url = "https://files.pythonhosted.org/packages/1f/4c/4f79129407a1e0d540c961835960d811356aa3a666f621aa07cd7a979b0a/Cython-3.0.12-cp310-cp310-win_amd64.whl", hash = "sha256:d6945694c5b9170cfbd5f2c0d00ef7487a2de7aba83713a64ee4ebce7fad9e05", size = 2778456 },
+ { url = "https://files.pythonhosted.org/packages/7e/60/3d27abd940f7b80a6aeb69dc093a892f04828e1dd0b243dd81ff87d7b0e9/Cython-3.0.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:feb86122a823937cc06e4c029d80ff69f082ebb0b959ab52a5af6cdd271c5dc3", size = 3277430 },
+ { url = "https://files.pythonhosted.org/packages/c7/49/f17b0541b317d11f1d021a580643ee2481685157cded92efb32e2fb4daef/Cython-3.0.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfdbea486e702c328338314adb8e80f5f9741f06a0ae83aaec7463bc166d12e8", size = 3444055 },
+ { url = "https://files.pythonhosted.org/packages/6b/7f/c57791ba6a1c934b6f1ab51371e894e3b4bfde0bc35e50046c8754a9d215/Cython-3.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563de1728c8e48869d2380a1b76bbc1b1b1d01aba948480d68c1d05e52d20c92", size = 3597874 },
+ { url = "https://files.pythonhosted.org/packages/23/24/803a0db3681b3a2ef65a4bebab201e5ae4aef5e6127ae03683476a573aa9/Cython-3.0.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:398d4576c1e1f6316282aa0b4a55139254fbed965cba7813e6d9900d3092b128", size = 3644129 },
+ { url = "https://files.pythonhosted.org/packages/27/13/9b53ba8336e083ece441af8d6d182b8ca83ad523e87c07b3190af379ebc3/Cython-3.0.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1e5eadef80143026944ea8f9904715a008f5108d1d644a89f63094cc37351e73", size = 3504936 },
+ { url = "https://files.pythonhosted.org/packages/a9/d2/d11104be6992a9fe256860cae6d1a79f7dcf3bdb12ae00116fac591f677d/Cython-3.0.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5a93cbda00a5451175b97dea5a9440a3fcee9e54b4cba7a7dbcba9a764b22aec", size = 3713066 },
+ { url = "https://files.pythonhosted.org/packages/d9/8c/1fe49135296efa3f460c760a4297f6a5b387f3e69ac5c9dcdbd620295ab3/Cython-3.0.12-cp311-cp311-win32.whl", hash = "sha256:3109e1d44425a2639e9a677b66cd7711721a5b606b65867cb2d8ef7a97e2237b", size = 2579935 },
+ { url = "https://files.pythonhosted.org/packages/02/4e/5ac0b5b9a239cd3fdae187dda8ff06b0b812f671e2501bf253712278f0ac/Cython-3.0.12-cp311-cp311-win_amd64.whl", hash = "sha256:d4b70fc339adba1e2111b074ee6119fe9fd6072c957d8597bce9a0dd1c3c6784", size = 2787337 },
+ { url = "https://files.pythonhosted.org/packages/e6/6c/3be501a6520a93449b1e7e6f63e598ec56f3b5d1bc7ad14167c72a22ddf7/Cython-3.0.12-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fe030d4a00afb2844f5f70896b7f2a1a0d7da09bf3aa3d884cbe5f73fff5d310", size = 3311717 },
+ { url = "https://files.pythonhosted.org/packages/ee/ab/adfeb22c85491de18ae10932165edd5b6f01e4c5e3e363638759d1235015/Cython-3.0.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7fec4f052b8fe173fe70eae75091389955b9a23d5cec3d576d21c5913b49d47", size = 3344337 },
+ { url = "https://files.pythonhosted.org/packages/0d/72/743730d7c46b4c85abefb93187cbbcb7aae8de288d7722b990db3d13499e/Cython-3.0.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0faa5e39e5c8cdf6f9c3b1c3f24972826e45911e7f5b99cf99453fca5432f45e", size = 3517692 },
+ { url = "https://files.pythonhosted.org/packages/09/a1/29a4759a02661f8c8e6b703f62bfbc8285337e6918cc90f55dc0fadb5eb3/Cython-3.0.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d53de996ed340e9ab0fc85a88aaa8932f2591a2746e1ab1c06e262bd4ec4be7", size = 3577057 },
+ { url = "https://files.pythonhosted.org/packages/d6/f8/03d74e98901a7cc2f21f95231b07dd54ec2f69477319bac268b3816fc3a8/Cython-3.0.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ea3a0e19ab77266c738aa110684a753a04da4e709472cadeff487133354d6ab8", size = 3396493 },
+ { url = "https://files.pythonhosted.org/packages/50/ea/ac33c5f54f980dbc23dd8f1d5c51afeef26e15ac1a66388e4b8195af83b7/Cython-3.0.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c151082884be468f2f405645858a857298ac7f7592729e5b54788b5c572717ba", size = 3603859 },
+ { url = "https://files.pythonhosted.org/packages/a2/4e/91fc1d6b5e678dcf2d1ecd8dce45b014b4b60d2044d376355c605831c873/Cython-3.0.12-cp312-cp312-win32.whl", hash = "sha256:3083465749911ac3b2ce001b6bf17f404ac9dd35d8b08469d19dc7e717f5877a", size = 2610428 },
+ { url = "https://files.pythonhosted.org/packages/ff/c3/a7fdec227b9f0bb07edbeb016c7b18ed6a8e6ce884d08b2e397cda2c0168/Cython-3.0.12-cp312-cp312-win_amd64.whl", hash = "sha256:c0b91c7ebace030dd558ea28730de8c580680b50768e5af66db2904a3716c3e3", size = 2794755 },
+ { url = "https://files.pythonhosted.org/packages/67/ad/550ddcb8b5a5d9949fe6606595cce36984c1d42309f1e04af98f5933a7ea/Cython-3.0.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4ee6f1ea1bead8e6cbc4e64571505b5d8dbdb3b58e679d31f3a84160cebf1a1a", size = 3393574 },
+ { url = "https://files.pythonhosted.org/packages/34/de/ade0a80bea17197662e23d39d3d3fbf89e9e99e6ad91fd95ab87120edb3a/Cython-3.0.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57aefa6d3341109e46ec1a13e3a763aaa2cbeb14e82af2485b318194be1d9170", size = 3367198 },
+ { url = "https://files.pythonhosted.org/packages/a8/30/7f48207ea13dab46604db0dd388e807d53513ba6ad1c34462892072f8f8c/Cython-3.0.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:879ae9023958d63c0675015369384642d0afb9c9d1f3473df9186c42f7a9d265", size = 3535849 },
+ { url = "https://files.pythonhosted.org/packages/81/ab/f61c79fa14bd433a7dfd1548c5e00d9bd18b557c2f836aaece4fb1b22f34/Cython-3.0.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36fcd584dae547de6f095500a380f4a0cce72b7a7e409e9ff03cb9beed6ac7a1", size = 3559079 },
+ { url = "https://files.pythonhosted.org/packages/d0/d1/1dbf17061229ccd35d5c0eed659fab60c2e50d2eadfa2a5729e753b6f4d0/Cython-3.0.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62b79dcc0de49efe9e84b9d0e2ae0a6fc9b14691a65565da727aa2e2e63c6a28", size = 3436649 },
+ { url = "https://files.pythonhosted.org/packages/2d/d4/9ce42fff6de5550f870cdde9a1482d69ea66a1249a88fa0d0df9adebfb1a/Cython-3.0.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4aa255781b093a8401109d8f2104bbb2e52de7639d5896aefafddc85c30e0894", size = 3644025 },
+ { url = "https://files.pythonhosted.org/packages/e3/89/b0c847f9df92af3ef11281b6811c000bd6f8ce0db02e4374397f8d67f829/Cython-3.0.12-cp313-cp313-win32.whl", hash = "sha256:77d48f2d4bab9fe1236eb753d18f03e8b2619af5b6f05d51df0532a92dfb38ab", size = 2604911 },
+ { url = "https://files.pythonhosted.org/packages/a6/5f/bbfaf2b5f7bf78854ecbc82f8473a3892ae5580e0c5bd0d4a82580b39ed3/Cython-3.0.12-cp313-cp313-win_amd64.whl", hash = "sha256:86c304b20bd57c727c7357e90d5ba1a2b6f1c45492de2373814d7745ef2e63b4", size = 2786786 },
+ { url = "https://files.pythonhosted.org/packages/27/6b/7c87867d255cbce8167ed99fc65635e9395d2af0f0c915428f5b17ec412d/Cython-3.0.12-py2.py3-none-any.whl", hash = "sha256:0038c9bae46c459669390e53a1ec115f8096b2e4647ae007ff1bf4e6dee92806", size = 1171640 },
+]
+
+[[package]]
+name = "defusedxml"
+version = "0.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604 },
+]
+
+[[package]]
+name = "dependency-groups"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b4/57/cd53c3e335eafbb0894449af078e2b71db47e9939ce2b45013e5a9fe89b7/dependency_groups-1.3.0.tar.gz", hash = "sha256:5b9751d5d98fbd6dfd038a560a69c8382e41afcbf7ffdbcc28a2a3f85498830f", size = 9832 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/99/2c/3e3afb1df3dc8a8deeb143f6ac41acbfdfae4f03a54c760871c56832a554/dependency_groups-1.3.0-py3-none-any.whl", hash = "sha256:1abf34d712deda5581e80d507512664d52b35d1c2d7caf16c85e58ca508547e0", size = 8597 },
+]
+
+[[package]]
+name = "distlib"
+version = "0.3.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 },
+]
+
+[[package]]
+name = "docutils"
+version = "0.17.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4c/17/559b4d020f4b46e0287a2eddf2d8ebf76318fd3bd495f1625414b052fdc9/docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125", size = 2016138 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4c/5e/6003a0d1f37725ec2ebd4046b657abb9372202655f96e76795dca8c0063c/docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61", size = 575533 },
+]
+
+[[package]]
+name = "docutils"
+version = "0.19"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/330ea8d383eb2ce973df34d1239b3b21e91cd8c865d21ff82902d952f91f/docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6", size = 2056383 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/93/69/e391bd51bc08ed9141ecd899a0ddb61ab6465309f1eb470905c0c8868081/docutils-0.19-py3-none-any.whl", hash = "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc", size = 570472 },
+]
+
+[[package]]
+name = "docutils"
+version = "0.21.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 },
+]
+
+[[package]]
+name = "docutils-stubs"
+version = "0.0.22"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/31/fb/3eda037eed8b98d6b2169e4198a8f12a03a461c4d4dc44de1a7790d0f7c7/docutils-stubs-0.0.22.tar.gz", hash = "sha256:1736d9650cfc20cff8c72582806c33a5c642694e2df9e430717e7da7e73efbdf", size = 43699 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/59/85/10507e1011d5370b94567e4b57f93086a2476d1da73caf98dc53aa87004b/docutils_stubs-0.0.22-py3-none-any.whl", hash = "sha256:157807309de24e8c96af9a13afe207410f1fc6e5aab5d974fd6b9191f04de327", size = 87506 },
+]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.2.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 },
+]
+
+[[package]]
+name = "execnet"
+version = "2.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3", size = 166524 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", size = 40612 },
+]
+
+[[package]]
+name = "filelock"
+version = "3.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 },
+]
+
+[[package]]
+name = "html5lib"
+version = "1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or extra == 'group-17-sphinx-immaterial-sphinx5' or extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "webencodings", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or extra == 'group-17-sphinx-immaterial-sphinx5' or extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ac/b6/b55c3f49042f1df3dcd422b7f224f939892ee94f22abcf503a9b7339eaf2/html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f", size = 272215 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6c/dd/a834df6482147d48e225a49515aabc28974ad5a4ca3215c18a882565b028/html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d", size = 112173 },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
+]
+
+[[package]]
+name = "imagesize"
+version = "1.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769 },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 },
+]
+
+[[package]]
+name = "jinja2"
+version = "3.1.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 },
+]
+
+[[package]]
+name = "jsonschema"
+version = "4.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "jsonschema-specifications" },
+ { name = "referencing" },
+ { name = "rpds-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 },
+]
+
+[[package]]
+name = "jsonschema-specifications"
+version = "2024.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "referencing" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 },
+]
+
+[[package]]
+name = "libclang"
+version = "18.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6e/5c/ca35e19a4f142adffa27e3d652196b7362fa612243e2b916845d801454fc/libclang-18.1.1.tar.gz", hash = "sha256:a1214966d08d73d971287fc3ead8dfaf82eb07fb197680d8b3859dbbbbf78250", size = 39612 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4b/49/f5e3e7e1419872b69f6f5e82ba56e33955a74bd537d8a1f5f1eff2f3668a/libclang-18.1.1-1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:0b2e143f0fac830156feb56f9231ff8338c20aecfe72b4ffe96f19e5a1dbb69a", size = 25836045 },
+ { url = "https://files.pythonhosted.org/packages/e2/e5/fc61bbded91a8830ccce94c5294ecd6e88e496cc85f6704bf350c0634b70/libclang-18.1.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:6f14c3f194704e5d09769108f03185fce7acaf1d1ae4bbb2f30a72c2400cb7c5", size = 26502641 },
+ { url = "https://files.pythonhosted.org/packages/db/ed/1df62b44db2583375f6a8a5e2ca5432bbdc3edb477942b9b7c848c720055/libclang-18.1.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:83ce5045d101b669ac38e6da8e58765f12da2d3aafb3b9b98d88b286a60964d8", size = 26420207 },
+ { url = "https://files.pythonhosted.org/packages/1d/fc/716c1e62e512ef1c160e7984a73a5fc7df45166f2ff3f254e71c58076f7c/libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl", hash = "sha256:c533091d8a3bbf7460a00cb6c1a71da93bffe148f172c7d03b1c31fbf8aa2a0b", size = 24515943 },
+ { url = "https://files.pythonhosted.org/packages/3c/3d/f0ac1150280d8d20d059608cf2d5ff61b7c3b7f7bcf9c0f425ab92df769a/libclang-18.1.1-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:54dda940a4a0491a9d1532bf071ea3ef26e6dbaf03b5000ed94dd7174e8f9592", size = 23784972 },
+ { url = "https://files.pythonhosted.org/packages/fe/2f/d920822c2b1ce9326a4c78c0c2b4aa3fde610c7ee9f631b600acb5376c26/libclang-18.1.1-py2.py3-none-manylinux2014_armv7l.whl", hash = "sha256:cf4a99b05376513717ab5d82a0db832c56ccea4fd61a69dbb7bccf2dfb207dbe", size = 20259606 },
+ { url = "https://files.pythonhosted.org/packages/2d/c2/de1db8c6d413597076a4259cea409b83459b2db997c003578affdd32bf66/libclang-18.1.1-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:69f8eb8f65c279e765ffd28aaa7e9e364c776c17618af8bff22a8df58677ff4f", size = 24921494 },
+ { url = "https://files.pythonhosted.org/packages/0b/2d/3f480b1e1d31eb3d6de5e3ef641954e5c67430d5ac93b7fa7e07589576c7/libclang-18.1.1-py2.py3-none-win_amd64.whl", hash = "sha256:4dd2d3b82fab35e2bf9ca717d7b63ac990a3519c7e312f19fa8e86dcc712f7fb", size = 26415083 },
+ { url = "https://files.pythonhosted.org/packages/71/cf/e01dc4cc79779cd82d77888a88ae2fa424d93b445ad4f6c02bfc18335b70/libclang-18.1.1-py2.py3-none-win_arm64.whl", hash = "sha256:3f0e1f49f04d3cd198985fea0511576b0aee16f9ff0e0f0cad7f9c57ec3c20e8", size = 22361112 },
+]
+
+[[package]]
+name = "markdown"
+version = "3.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "2.2.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "mdurl", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e4/c0/59bd6d0571986f72899288a95d9d6178d0eebd70b6650f1bb3f0da90f8f7/markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1", size = 67120 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/25/2d88e8feee8e055d015343f9b86e370a1ccbec546f2865c98397aaef24af/markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30", size = 84466 },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "mdurl", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 },
+ { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 },
+ { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 },
+ { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 },
+ { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 },
+ { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 },
+ { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 },
+ { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 },
+ { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 },
+ { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 },
+ { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 },
+ { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 },
+ { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 },
+ { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 },
+ { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 },
+ { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 },
+ { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 },
+ { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 },
+ { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 },
+ { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 },
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
+]
+
+[[package]]
+name = "mdit-py-plugins"
+version = "0.3.5"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "markdown-it-py", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/49/e7/cc2720da8a32724b36d04c6dba5644154cdf883a1482b3bbb81959a642ed/mdit-py-plugins-0.3.5.tar.gz", hash = "sha256:eee0adc7195e5827e17e02d2a258a2ba159944a0748f59c5099a4a27f78fcf6a", size = 39871 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fe/4c/a9b222f045f98775034d243198212cbea36d3524c3ee1e8ab8c0346d6953/mdit_py_plugins-0.3.5-py3-none-any.whl", hash = "sha256:ca9a0714ea59a24b2b044a1831f48d817dd0c817e84339f20e7889f392d77c4e", size = 52087 },
+]
+
+[[package]]
+name = "mdit-py-plugins"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "markdown-it-py", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/19/03/a2ecab526543b152300717cf232bb4bb8605b6edb946c845016fa9c9c9fd/mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5", size = 43542 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/f7/7782a043553ee469c1ff49cfa1cdace2d6bf99a1f333cf38676b3ddf30da/mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636", size = 55316 },
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 },
+]
+
+[[package]]
+name = "mypy"
+version = "1.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mypy-extensions" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c7/b9/81e4c6dbb1ec1e72503de3ff2c5fe4b7f224e04613b670f8b9004cd8a4dd/mypy-1.10.1.tar.gz", hash = "sha256:1f8f492d7db9e3593ef42d4f115f04e556130f2819ad33ab84551403e97dd4c0", size = 3022304 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/56/24/8a179de3ed98e1882f640d431db25a17fc5813258fded79674e475501f87/mypy-1.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e36f229acfe250dc660790840916eb49726c928e8ce10fbdf90715090fe4ae02", size = 10817694 },
+ { url = "https://files.pythonhosted.org/packages/f3/80/1675d07cfb4cc12bedcb5bb426f256d8c8da3668cbf300121e39333f0c96/mypy-1.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:51a46974340baaa4145363b9e051812a2446cf583dfaeba124af966fa44593f7", size = 9975362 },
+ { url = "https://files.pythonhosted.org/packages/d5/a0/684ebd636f258bdd263b12be46dd4e1ed33ac73a76d590b209c026e3c65f/mypy-1.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:901c89c2d67bba57aaaca91ccdb659aa3a312de67f23b9dfb059727cce2e2e0a", size = 12728032 },
+ { url = "https://files.pythonhosted.org/packages/f3/c8/1f881f08e93ea8165113ab0fad490262b0466d0c2616c13c1bb85741ff87/mypy-1.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0cd62192a4a32b77ceb31272d9e74d23cd88c8060c34d1d3622db3267679a5d9", size = 12797751 },
+ { url = "https://files.pythonhosted.org/packages/4a/d3/46c81d90576e2e766144c0e436fa397a7387092fe29c6ef964f91d92778d/mypy-1.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:a2cbc68cb9e943ac0814c13e2452d2046c2f2b23ff0278e26599224cf164e78d", size = 9398835 },
+ { url = "https://files.pythonhosted.org/packages/38/cf/0645128c6edf70eb9b9687ad42fcb61ea344a7927ed2b78ce2275282fe87/mypy-1.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bd6f629b67bb43dc0d9211ee98b96d8dabc97b1ad38b9b25f5e4c4d7569a0c6a", size = 10740526 },
+ { url = "https://files.pythonhosted.org/packages/19/c9/10842953066265e6063c41a85bbee3b877501947c970ea84a1db5f11d32e/mypy-1.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1bbb3a6f5ff319d2b9d40b4080d46cd639abe3516d5a62c070cf0114a457d84", size = 9898375 },
+ { url = "https://files.pythonhosted.org/packages/e4/9e/551e897f67c5d67aa1976bc3b4951f297d1daf07250c421bb045b2613350/mypy-1.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8edd4e9bbbc9d7b79502eb9592cab808585516ae1bcc1446eb9122656c6066f", size = 12602338 },
+ { url = "https://files.pythonhosted.org/packages/2b/a4/55e3635253e5fa7051674dd5a67582f08b0ba8823e1fdbf7241ed5b32d4e/mypy-1.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:6166a88b15f1759f94a46fa474c7b1b05d134b1b61fca627dd7335454cc9aa6b", size = 12680741 },
+ { url = "https://files.pythonhosted.org/packages/7a/cc/aa881ad051f99915887db0b5de8facc0e224295be22f92178c8f77fd8359/mypy-1.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:5bb9cd11c01c8606a9d0b83ffa91d0b236a0e91bc4126d9ba9ce62906ada868e", size = 9393661 },
+ { url = "https://files.pythonhosted.org/packages/5d/86/3c3bdaccc3cbd1372acb15667a2c2cb773523a710a22e2748cbda9a7c1e2/mypy-1.10.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d8681909f7b44d0b7b86e653ca152d6dff0eb5eb41694e163c6092124f8246d7", size = 10864022 },
+ { url = "https://files.pythonhosted.org/packages/ec/05/7c87b26b6a769b70f6c0b8a6daef01fc6f3ae566df89a2fa9d04f690b0d3/mypy-1.10.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:378c03f53f10bbdd55ca94e46ec3ba255279706a6aacaecac52ad248f98205d3", size = 9857795 },
+ { url = "https://files.pythonhosted.org/packages/ff/b5/cbccba4dca9703c4c467171e7f61ea6a1a75eae991208aa5bc7d49807f91/mypy-1.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bacf8f3a3d7d849f40ca6caea5c055122efe70e81480c8328ad29c55c69e93e", size = 12647633 },
+ { url = "https://files.pythonhosted.org/packages/02/3c/1f5e57c8cfab4299f7189821ae8bb4896e8e623a04d293fd32e32eb0e617/mypy-1.10.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:701b5f71413f1e9855566a34d6e9d12624e9e0a8818a5704d74d6b0402e66c04", size = 12730251 },
+ { url = "https://files.pythonhosted.org/packages/f9/20/d33608e8dc3bc0f5966fc1f6c2d16671f0725dcca279beec47c3e19afd9d/mypy-1.10.1-cp312-cp312-win_amd64.whl", hash = "sha256:3c4c2992f6ea46ff7fce0072642cfb62af7a2484efe69017ed8b095f7b39ef31", size = 9491734 },
+ { url = "https://files.pythonhosted.org/packages/2b/ee/d53a3d4792a09b6cd757978951d6dcf8b10825a8b8522b68e9b5eb53b9a1/mypy-1.10.1-py3-none-any.whl", hash = "sha256:71d8ac0b906354ebda8ef1673e5fde785936ac1f29ff6987c7483cfbd5a4235a", size = 2580108 },
+]
+
+[[package]]
+name = "mypy-extensions"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 },
+]
+
+[[package]]
+name = "myst-parser"
+version = "0.18.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "docutils", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "markdown-it-py", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "mdit-py-plugins", version = "0.3.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pyyaml", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/68/13/91438d3b835a022fcacd858a7106d4813cfccf98b1fd9a6196cfa2c859df/myst-parser-0.18.1.tar.gz", hash = "sha256:79317f4bb2c13053dd6e64f9da1ba1da6cd9c40c8a430c447a7b146a594c246d", size = 64147 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/72/fd/594c936c65e707deda5670e8fff5ca2c948a12e922813eab5d316694e9ca/myst_parser-0.18.1-py3-none-any.whl", hash = "sha256:61b275b85d9f58aa327f370913ae1bec26ebad372cc99f3ab85c8ec3ee8d9fb8", size = 58157 },
+]
+
+[[package]]
+name = "myst-parser"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "markdown-it-py", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "mdit-py-plugins", version = "0.3.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pyyaml", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5f/69/fbddb50198c6b0901a981e72ae30f1b7769d2dfac88071f7df41c946d133/myst-parser-1.0.0.tar.gz", hash = "sha256:502845659313099542bd38a2ae62f01360e7dd4b1310f025dd014dfc0439cdae", size = 84224 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1c/1f/1621ef434ac5da26c30d31fcca6d588e3383344902941713640ba717fa87/myst_parser-1.0.0-py3-none-any.whl", hash = "sha256:69fb40a586c6fa68995e6521ac0a525793935db7e724ca9bac1d33be51be9a4c", size = 77312 },
+]
+
+[[package]]
+name = "myst-parser"
+version = "3.0.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "markdown-it-py", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "mdit-py-plugins", version = "0.4.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pyyaml", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/49/64/e2f13dac02f599980798c01156393b781aec983b52a6e4057ee58f07c43a/myst_parser-3.0.1.tar.gz", hash = "sha256:88f0cb406cb363b077d176b51c476f62d60604d68a8dcdf4832e080441301a87", size = 92392 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e2/de/21aa8394f16add8f7427f0a1326ccd2b3a2a8a3245c9252bc5ac034c6155/myst_parser-3.0.1-py3-none-any.whl", hash = "sha256:6457aaa33a5d474aca678b8ead9b3dc298e89c68e67012e73146ea6fd54babf1", size = 83163 },
+]
+
+[[package]]
+name = "myst-parser"
+version = "4.0.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "markdown-it-py", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "mdit-py-plugins", version = "0.4.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "pyyaml", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/a5/9626ba4f73555b3735ad86247a8077d4603aa8628537687c839ab08bfe44/myst_parser-4.0.1.tar.gz", hash = "sha256:5cfea715e4f3574138aecbf7d54132296bfd72bb614d31168f48c477a830a7c4", size = 93985 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5f/df/76d0321c3797b54b60fef9ec3bd6f4cfd124b9e422182156a1dd418722cf/myst_parser-4.0.1-py3-none-any.whl", hash = "sha256:9134e88959ec3b5780aedf8a99680ea242869d012e8821db3126d427edc9c95d", size = 84579 },
+]
+
+[[package]]
+name = "nox"
+version = "2025.2.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "argcomplete" },
+ { name = "attrs" },
+ { name = "colorlog" },
+ { name = "dependency-groups" },
+ { name = "packaging" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "virtualenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0d/22/84a2d3442cb33e6fb1af18172a15deb1eea3f970417f1f4c5fa1600143e8/nox-2025.2.9.tar.gz", hash = "sha256:d50cd4ca568bd7621c2e6cbbc4845b3b7f7697f25d5fb0190ce8f4600be79768", size = 4021103 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/57/ca/64e634c056cba463cac743735660a772ab78eb26ec9759e88de735f2cd27/nox-2025.2.9-py3-none-any.whl", hash = "sha256:7d1e92d1918c6980d70aee9cf1c1d19d16faa71c4afe338fffd39e8a460e2067", size = 71315 },
+]
+
+[[package]]
+name = "packaging"
+version = "24.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
+]
+
+[[package]]
+name = "pathspec"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 },
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.3.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
+]
+
+[[package]]
+name = "pre-commit-hooks"
+version = "4.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "ruamel-yaml" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7f/b9/aea24394ad0918e28adb17d11ede2109847da6117105604fc2b675a0da2e/pre_commit_hooks-4.4.0.tar.gz", hash = "sha256:7011eed8e1a25cde94693da009cba76392194cecc2f3f06c51a44ea6ad6c2af9", size = 29048 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/88/6c5cbe7abaae619c4d84a0b08ff660475869423533998deb99692a9c8708/pre_commit_hooks-4.4.0-py2.py3-none-any.whl", hash = "sha256:fc8837335476221ccccda3d176ed6ae29fe58753ce7e8b7863f5d0f987328fc6", size = 40857 },
+]
+
+[[package]]
+name = "psutil"
+version = "7.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051 },
+ { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535 },
+ { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004 },
+ { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986 },
+ { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544 },
+ { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053 },
+ { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885 },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.10.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-types" },
+ { name = "pydantic-core" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696 },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.27.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938 },
+ { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684 },
+ { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169 },
+ { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227 },
+ { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695 },
+ { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662 },
+ { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370 },
+ { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813 },
+ { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287 },
+ { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414 },
+ { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301 },
+ { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685 },
+ { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876 },
+ { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421 },
+ { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998 },
+ { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167 },
+ { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071 },
+ { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244 },
+ { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470 },
+ { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291 },
+ { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613 },
+ { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355 },
+ { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661 },
+ { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261 },
+ { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361 },
+ { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484 },
+ { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102 },
+ { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127 },
+ { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340 },
+ { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 },
+ { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 },
+ { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 },
+ { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386 },
+ { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060 },
+ { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870 },
+ { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 },
+ { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 },
+ { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 },
+ { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 },
+ { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 },
+ { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 },
+ { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709 },
+ { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273 },
+ { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027 },
+ { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888 },
+ { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738 },
+ { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138 },
+ { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025 },
+ { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633 },
+ { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404 },
+ { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130 },
+ { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946 },
+ { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387 },
+ { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453 },
+ { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
+ { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159 },
+ { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331 },
+ { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467 },
+ { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797 },
+ { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839 },
+ { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861 },
+ { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582 },
+ { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985 },
+ { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715 },
+]
+
+[[package]]
+name = "pydantic-extra-types"
+version = "2.10.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/23/ed/69f3f3de12c02ebd58b2f66ffb73d0f5a1b10b322227897499753cebe818/pydantic_extra_types-2.10.2.tar.gz", hash = "sha256:934d59ab7a02ff788759c3a97bc896f5cfdc91e62e4f88ea4669067a73f14b98", size = 86893 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/08/da/86bc9addde8a24348ac15f8f7dcb853f78e9573c7667800dd9bc60558678/pydantic_extra_types-2.10.2-py3-none-any.whl", hash = "sha256:9eccd55a2b7935cea25f0a67f6ff763d55d80c41d86b887d88915412ccf5b7fa", size = 35473 },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 },
+]
+
+[[package]]
+name = "pymdown-extensions"
+version = "10.14.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown" },
+ { name = "pyyaml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7c/44/e6de2fdc880ad0ec7547ca2e087212be815efbc9a425a8d5ba9ede602cbb/pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b", size = 846846 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/eb/f5/b9e2a42aa8f9e34d52d66de87941ecd236570c7ed2e87775ed23bbe4e224/pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9", size = 264467 },
+]
+
+[[package]]
+name = "pytest"
+version = "8.3.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "iniconfig" },
+ { name = "packaging" },
+ { name = "pluggy" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 },
+]
+
+[[package]]
+name = "pytest-cov"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "coverage", extra = ["toml"], marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/be/45/9b538de8cef30e17c7b45ef42f538a94889ed6a16f2387a6c89e73220651/pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0", size = 66945 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949 },
+]
+
+[[package]]
+name = "pytest-snapshot"
+version = "0.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9b/7b/ab8f1fc1e687218aa66acec1c3674d9c443f6a2dc8cb6a50f464548ffa34/pytest-snapshot-0.9.0.tar.gz", hash = "sha256:c7013c3abc3e860f9feff899f8b4debe3708650d8d8242a61bf2625ff64db7f3", size = 19877 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/29/518f32faf6edad9f56d6e0107217f7de6b79f297a47170414a2bd4be7f01/pytest_snapshot-0.9.0-py3-none-any.whl", hash = "sha256:4b9fe1c21c868fe53a545e4e3184d36bc1c88946e3f5c1d9dd676962a9b3d4ab", size = 10715 },
+]
+
+[[package]]
+name = "pytest-xdist"
+version = "3.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "execnet", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/41/c4/3c310a19bc1f1e9ef50075582652673ef2bfc8cd62afef9585683821902f/pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d", size = 84060 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6d/82/1d96bf03ee4c0fdc3c0cbe61470070e659ca78dc0086fb88b66c185e2449/pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7", size = 46108 },
+]
+
+[package.optional-dependencies]
+psutil = [
+ { name = "psutil", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 },
+ { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 },
+ { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 },
+ { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 },
+ { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 },
+ { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 },
+ { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 },
+ { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 },
+ { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 },
+ { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 },
+ { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 },
+ { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 },
+ { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 },
+ { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 },
+ { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 },
+ { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 },
+ { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 },
+ { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 },
+ { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
+ { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
+ { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
+ { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
+ { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
+ { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
+ { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
+ { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
+ { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
+ { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
+ { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
+ { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
+ { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
+ { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
+ { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
+ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
+ { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
+ { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
+]
+
+[[package]]
+name = "referencing"
+version = "0.36.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "rpds-py" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
+]
+
+[[package]]
+name = "roman-numerals-py"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9e/78/9491ab144c9cb2d97aa74d6f632bd6f4be67957de03f945a23a67415d859/roman_numerals_py-3.0.0.tar.gz", hash = "sha256:91199c4373658c03d87d9fe004f4a5120a20f6cb192be745c2377cce274ef41c", size = 8970 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/d0/a3a2fed015e95b9e81619182adc472540f9786183febfaef8b7c5e909418/roman_numerals_py-3.0.0-py3-none-any.whl", hash = "sha256:a1421ce66b3eab7e8735065458de3fa5c4a46263d50f9f4ac8f0e5e7701dd125", size = 4416 },
+]
+
+[[package]]
+name = "rpds-py"
+version = "0.22.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/2a/ead1d09e57449b99dcc190d8d2323e3a167421d8f8fdf0f217c6f6befe47/rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", size = 359514 },
+ { url = "https://files.pythonhosted.org/packages/8f/7e/1254f406b7793b586c68e217a6a24ec79040f85e030fff7e9049069284f4/rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", size = 349031 },
+ { url = "https://files.pythonhosted.org/packages/aa/da/17c6a2c73730d426df53675ff9cc6653ac7a60b6438d03c18e1c822a576a/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", size = 381485 },
+ { url = "https://files.pythonhosted.org/packages/aa/13/2dbacd820466aa2a3c4b747afb18d71209523d353cf865bf8f4796c969ea/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", size = 386794 },
+ { url = "https://files.pythonhosted.org/packages/6d/62/96905d0a35ad4e4bc3c098b2f34b2e7266e211d08635baa690643d2227be/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", size = 423523 },
+ { url = "https://files.pythonhosted.org/packages/eb/1b/d12770f2b6a9fc2c3ec0d810d7d440f6d465ccd8b7f16ae5385952c28b89/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", size = 446695 },
+ { url = "https://files.pythonhosted.org/packages/4d/cf/96f1fd75512a017f8e07408b6d5dbeb492d9ed46bfe0555544294f3681b3/rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", size = 381959 },
+ { url = "https://files.pythonhosted.org/packages/ab/f0/d1c5b501c8aea85aeb938b555bfdf7612110a2f8cdc21ae0482c93dd0c24/rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", size = 410420 },
+ { url = "https://files.pythonhosted.org/packages/33/3b/45b6c58fb6aad5a569ae40fb890fc494c6b02203505a5008ee6dc68e65f7/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", size = 557620 },
+ { url = "https://files.pythonhosted.org/packages/83/62/3fdd2d3d47bf0bb9b931c4c73036b4ab3ec77b25e016ae26fab0f02be2af/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", size = 584202 },
+ { url = "https://files.pythonhosted.org/packages/04/f2/5dced98b64874b84ca824292f9cee2e3f30f3bcf231d15a903126684f74d/rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", size = 552787 },
+ { url = "https://files.pythonhosted.org/packages/67/13/2273dea1204eda0aea0ef55145da96a9aa28b3f88bb5c70e994f69eda7c3/rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", size = 220088 },
+ { url = "https://files.pythonhosted.org/packages/4e/80/8c8176b67ad7f4a894967a7a4014ba039626d96f1d4874d53e409b58d69f/rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", size = 231737 },
+ { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 },
+ { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 },
+ { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 },
+ { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 },
+ { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 },
+ { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 },
+ { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 },
+ { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 },
+ { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 },
+ { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 },
+ { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 },
+ { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 },
+ { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 },
+ { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 },
+ { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 },
+ { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 },
+ { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 },
+ { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 },
+ { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 },
+ { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 },
+ { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 },
+ { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 },
+ { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 },
+ { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 },
+ { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 },
+ { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 },
+ { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 },
+ { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 },
+ { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 },
+ { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 },
+ { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 },
+ { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 },
+ { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 },
+ { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 },
+ { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 },
+ { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 },
+ { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 },
+ { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 },
+ { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 },
+ { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 },
+ { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 },
+ { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 },
+ { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 },
+ { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 },
+ { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 },
+ { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 },
+ { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 },
+ { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 },
+ { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 },
+ { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 },
+ { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 },
+ { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 },
+ { url = "https://files.pythonhosted.org/packages/8b/63/e29f8ee14fcf383574f73b6bbdcbec0fbc2e5fc36b4de44d1ac389b1de62/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", size = 360786 },
+ { url = "https://files.pythonhosted.org/packages/d3/e0/771ee28b02a24e81c8c0e645796a371350a2bb6672753144f36ae2d2afc9/rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", size = 350589 },
+ { url = "https://files.pythonhosted.org/packages/cf/49/abad4c4a1e6f3adf04785a99c247bfabe55ed868133e2d1881200aa5d381/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", size = 381848 },
+ { url = "https://files.pythonhosted.org/packages/3a/7d/f4bc6d6fbe6af7a0d2b5f2ee77079efef7c8528712745659ec0026888998/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", size = 387879 },
+ { url = "https://files.pythonhosted.org/packages/13/b0/575c797377fdcd26cedbb00a3324232e4cb2c5d121f6e4b0dbf8468b12ef/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", size = 423916 },
+ { url = "https://files.pythonhosted.org/packages/54/78/87157fa39d58f32a68d3326f8a81ad8fb99f49fe2aa7ad9a1b7d544f9478/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", size = 448410 },
+ { url = "https://files.pythonhosted.org/packages/59/69/860f89996065a88be1b6ff2d60e96a02b920a262d8aadab99e7903986597/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", size = 382841 },
+ { url = "https://files.pythonhosted.org/packages/bd/d7/bc144e10d27e3cb350f98df2492a319edd3caaf52ddfe1293f37a9afbfd7/rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", size = 409662 },
+ { url = "https://files.pythonhosted.org/packages/14/2a/6bed0b05233c291a94c7e89bc76ffa1c619d4e1979fbfe5d96024020c1fb/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", size = 558221 },
+ { url = "https://files.pythonhosted.org/packages/11/23/cd8f566de444a137bc1ee5795e47069a947e60810ba4152886fe5308e1b7/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", size = 583780 },
+ { url = "https://files.pythonhosted.org/packages/8d/63/79c3602afd14d501f751e615a74a59040328da5ef29ed5754ae80d236b84/rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", size = 553619 },
+ { url = "https://files.pythonhosted.org/packages/9f/2e/c5c1689e80298d4e94c75b70faada4c25445739d91b94c211244a3ed7ed1/rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", size = 233338 },
+]
+
+[[package]]
+name = "ruamel-yaml"
+version = "0.18.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "ruamel-yaml-clib", marker = "(python_full_version < '3.13' and platform_python_implementation == 'CPython') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (python_full_version >= '3.13' and extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (platform_python_implementation != 'CPython' and extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ea/46/f44d8be06b85bc7c4d8c95d658be2b68f27711f279bf9dd0612a5e4794f5/ruamel.yaml-0.18.10.tar.gz", hash = "sha256:20c86ab29ac2153f80a428e1254a8adf686d3383df04490514ca3b79a362db58", size = 143447 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c2/36/dfc1ebc0081e6d39924a2cc53654497f967a084a436bb64402dfce4254d9/ruamel.yaml-0.18.10-py3-none-any.whl", hash = "sha256:30f22513ab2301b3d2b577adc121c6471f28734d3d9728581245f1e76468b4f1", size = 117729 },
+]
+
+[[package]]
+name = "ruamel-yaml-clib"
+version = "0.2.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/84/80203abff8ea4993a87d823a5f632e4d92831ef75d404c9fc78d0176d2b5/ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", size = 225315 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/70/57/40a958e863e299f0c74ef32a3bde9f2d1ea8d69669368c0c502a0997f57f/ruamel.yaml.clib-0.2.12-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5", size = 131301 },
+ { url = "https://files.pythonhosted.org/packages/98/a8/29a3eb437b12b95f50a6bcc3d7d7214301c6c529d8fdc227247fa84162b5/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969", size = 633728 },
+ { url = "https://files.pythonhosted.org/packages/35/6d/ae05a87a3ad540259c3ad88d71275cbd1c0f2d30ae04c65dcbfb6dcd4b9f/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df", size = 722230 },
+ { url = "https://files.pythonhosted.org/packages/7f/b7/20c6f3c0b656fe609675d69bc135c03aac9e3865912444be6339207b6648/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76", size = 686712 },
+ { url = "https://files.pythonhosted.org/packages/cd/11/d12dbf683471f888d354dac59593873c2b45feb193c5e3e0f2ebf85e68b9/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6", size = 663936 },
+ { url = "https://files.pythonhosted.org/packages/72/14/4c268f5077db5c83f743ee1daeb236269fa8577133a5cfa49f8b382baf13/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd", size = 696580 },
+ { url = "https://files.pythonhosted.org/packages/30/fc/8cd12f189c6405a4c1cf37bd633aa740a9538c8e40497c231072d0fef5cf/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a", size = 663393 },
+ { url = "https://files.pythonhosted.org/packages/80/29/c0a017b704aaf3cbf704989785cd9c5d5b8ccec2dae6ac0c53833c84e677/ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da", size = 100326 },
+ { url = "https://files.pythonhosted.org/packages/3a/65/fa39d74db4e2d0cd252355732d966a460a41cd01c6353b820a0952432839/ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28", size = 118079 },
+ { url = "https://files.pythonhosted.org/packages/fb/8f/683c6ad562f558cbc4f7c029abcd9599148c51c54b5ef0f24f2638da9fbb/ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6", size = 132224 },
+ { url = "https://files.pythonhosted.org/packages/3c/d2/b79b7d695e2f21da020bd44c782490578f300dd44f0a4c57a92575758a76/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e", size = 641480 },
+ { url = "https://files.pythonhosted.org/packages/68/6e/264c50ce2a31473a9fdbf4fa66ca9b2b17c7455b31ef585462343818bd6c/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e", size = 739068 },
+ { url = "https://files.pythonhosted.org/packages/86/29/88c2567bc893c84d88b4c48027367c3562ae69121d568e8a3f3a8d363f4d/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52", size = 703012 },
+ { url = "https://files.pythonhosted.org/packages/11/46/879763c619b5470820f0cd6ca97d134771e502776bc2b844d2adb6e37753/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642", size = 704352 },
+ { url = "https://files.pythonhosted.org/packages/02/80/ece7e6034256a4186bbe50dee28cd032d816974941a6abf6a9d65e4228a7/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2", size = 737344 },
+ { url = "https://files.pythonhosted.org/packages/f0/ca/e4106ac7e80efbabdf4bf91d3d32fc424e41418458251712f5672eada9ce/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3", size = 714498 },
+ { url = "https://files.pythonhosted.org/packages/67/58/b1f60a1d591b771298ffa0428237afb092c7f29ae23bad93420b1eb10703/ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4", size = 100205 },
+ { url = "https://files.pythonhosted.org/packages/b4/4f/b52f634c9548a9291a70dfce26ca7ebce388235c93588a1068028ea23fcc/ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb", size = 118185 },
+ { url = "https://files.pythonhosted.org/packages/48/41/e7a405afbdc26af961678474a55373e1b323605a4f5e2ddd4a80ea80f628/ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", size = 133433 },
+ { url = "https://files.pythonhosted.org/packages/ec/b0/b850385604334c2ce90e3ee1013bd911aedf058a934905863a6ea95e9eb4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", size = 647362 },
+ { url = "https://files.pythonhosted.org/packages/44/d0/3f68a86e006448fb6c005aee66565b9eb89014a70c491d70c08de597f8e4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", size = 754118 },
+ { url = "https://files.pythonhosted.org/packages/52/a9/d39f3c5ada0a3bb2870d7db41901125dbe2434fa4f12ca8c5b83a42d7c53/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", size = 706497 },
+ { url = "https://files.pythonhosted.org/packages/b0/fa/097e38135dadd9ac25aecf2a54be17ddf6e4c23e43d538492a90ab3d71c6/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", size = 698042 },
+ { url = "https://files.pythonhosted.org/packages/ec/d5/a659ca6f503b9379b930f13bc6b130c9f176469b73b9834296822a83a132/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", size = 745831 },
+ { url = "https://files.pythonhosted.org/packages/db/5d/36619b61ffa2429eeaefaab4f3374666adf36ad8ac6330d855848d7d36fd/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", size = 715692 },
+ { url = "https://files.pythonhosted.org/packages/b1/82/85cb92f15a4231c89b95dfe08b09eb6adca929ef7df7e17ab59902b6f589/ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", size = 98777 },
+ { url = "https://files.pythonhosted.org/packages/d7/8f/c3654f6f1ddb75daf3922c3d8fc6005b1ab56671ad56ffb874d908bfa668/ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", size = 115523 },
+ { url = "https://files.pythonhosted.org/packages/29/00/4864119668d71a5fa45678f380b5923ff410701565821925c69780356ffa/ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", size = 132011 },
+ { url = "https://files.pythonhosted.org/packages/7f/5e/212f473a93ae78c669ffa0cb051e3fee1139cb2d385d2ae1653d64281507/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", size = 642488 },
+ { url = "https://files.pythonhosted.org/packages/1f/8f/ecfbe2123ade605c49ef769788f79c38ddb1c8fa81e01f4dbf5cf1a44b16/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", size = 745066 },
+ { url = "https://files.pythonhosted.org/packages/e2/a9/28f60726d29dfc01b8decdb385de4ced2ced9faeb37a847bd5cf26836815/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", size = 701785 },
+ { url = "https://files.pythonhosted.org/packages/84/7e/8e7ec45920daa7f76046578e4f677a3215fe8f18ee30a9cb7627a19d9b4c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", size = 693017 },
+ { url = "https://files.pythonhosted.org/packages/c5/b3/d650eaade4ca225f02a648321e1ab835b9d361c60d51150bac49063b83fa/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", size = 741270 },
+ { url = "https://files.pythonhosted.org/packages/87/b8/01c29b924dcbbed75cc45b30c30d565d763b9c4d540545a0eeecffb8f09c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", size = 709059 },
+ { url = "https://files.pythonhosted.org/packages/30/8c/ed73f047a73638257aa9377ad356bea4d96125b305c34a28766f4445cc0f/ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", size = 98583 },
+ { url = "https://files.pythonhosted.org/packages/b0/85/e8e751d8791564dd333d5d9a4eab0a7a115f7e349595417fd50ecae3395c/ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", size = 115190 },
+]
+
+[[package]]
+name = "ruff"
+version = "0.5.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/79/6c/147f04f6a799f659cc810352742994e51441b14c7a5621e285d021261388/ruff-0.5.2.tar.gz", hash = "sha256:2c0df2d2de685433794a14d8d2e240df619b748fbe3367346baa519d8e6f1ca2", size = 2596910 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3b/05/9ec81c397be41596e4329b340780d56bfa9ad1cb95247148bf9859edf575/ruff-0.5.2-py3-none-linux_armv6l.whl", hash = "sha256:7bab8345df60f9368d5f4594bfb8b71157496b44c30ff035d1d01972e764d3be", size = 9482764 },
+ { url = "https://files.pythonhosted.org/packages/f3/ea/ebf3ea51ad48abfc6e0bbb762e71b0ffc6220a6fb8735cb09bd5aca7c52e/ruff-0.5.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1aa7acad382ada0189dbe76095cf0a36cd0036779607c397ffdea16517f535b1", size = 8612665 },
+ { url = "https://files.pythonhosted.org/packages/0f/52/9e7868770615c16be60549746ad6f48f483320f7ecf5a294f4f051f4e7d4/ruff-0.5.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:aec618d5a0cdba5592c60c2dee7d9c865180627f1a4a691257dea14ac1aa264d", size = 8191223 },
+ { url = "https://files.pythonhosted.org/packages/7a/9d/c880e41895b9bc48bf7051c81bcf270d2f6eebdce3c8f02c72fdef582d20/ruff-0.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0b62adc5ce81780ff04077e88bac0986363e4a3260ad3ef11ae9c14aa0e67ef", size = 9972748 },
+ { url = "https://files.pythonhosted.org/packages/0c/0b/17a0730f425f7f630446978b880ac0ad62a7c7e20fb4e21d2ab0a5154887/ruff-0.5.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dc42ebf56ede83cb080a50eba35a06e636775649a1ffd03dc986533f878702a3", size = 9289379 },
+ { url = "https://files.pythonhosted.org/packages/67/c4/1dcdc4a381aa07509d15dd78ec65e8fedd14c0a70a674ca3bbafa48502ed/ruff-0.5.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c15c6e9f88c67ffa442681365d11df38afb11059fc44238e71a9d9f1fd51de70", size = 10087604 },
+ { url = "https://files.pythonhosted.org/packages/a8/fc/2707aa15de9e2485f024535b0fe239013d1be13bb475050f3e21b33109c9/ruff-0.5.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d3de9a5960f72c335ef00763d861fc5005ef0644cb260ba1b5a115a102157251", size = 10875118 },
+ { url = "https://files.pythonhosted.org/packages/ef/db/4890a8c350b3fad767c663991052ba5ce42feae05f433fbf73acc3d1e8c3/ruff-0.5.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe5a968ae933e8f7627a7b2fc8893336ac2be0eb0aace762d3421f6e8f7b7f83", size = 10464801 },
+ { url = "https://files.pythonhosted.org/packages/d5/30/0018669eb5a0bfd42d4be1d961fa4533bba1926ba83b8cf3e50223ee7d21/ruff-0.5.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a04f54a9018f75615ae52f36ea1c5515e356e5d5e214b22609ddb546baef7132", size = 11356413 },
+ { url = "https://files.pythonhosted.org/packages/ec/60/e2a9ae058b34128caa5f863f268e1c9bd083793264f4bf7e8e469be651f9/ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed02fb52e3741f0738db5f93e10ae0fb5c71eb33a4f2ba87c9a2fa97462a649", size = 10123340 },
+ { url = "https://files.pythonhosted.org/packages/1c/fd/83b9f0107f5d0eea1c4b3a98655d789586d8e2662819df011a7964efa675/ruff-0.5.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3cf8fe659f6362530435d97d738eb413e9f090e7e993f88711b0377fbdc99f60", size = 9940668 },
+ { url = "https://files.pythonhosted.org/packages/11/75/2a98e9348bed95e0a121c3e1693c335530ef70280a364cf17f1d2da947cd/ruff-0.5.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:237a37e673e9f3cbfff0d2243e797c4862a44c93d2f52a52021c1a1b0899f846", size = 9380450 },
+ { url = "https://files.pythonhosted.org/packages/0e/77/474f883393954f2323febd5cf7c96bfe8c684561f8d22ca843e90d122d73/ruff-0.5.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2a2949ce7c1cbd8317432ada80fe32156df825b2fd611688814c8557824ef060", size = 9718297 },
+ { url = "https://files.pythonhosted.org/packages/b2/5a/72b3a1ddefbc7ccb382bcf9668648a6f1fdc4bfcc3d6687f14e6feb40636/ruff-0.5.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:481af57c8e99da92ad168924fd82220266043c8255942a1cb87958b108ac9335", size = 10221735 },
+ { url = "https://files.pythonhosted.org/packages/bc/22/7aa3fb2b95dda4d485e5e5f15041679d3170a31b9317b24c6182f4c8faf1/ruff-0.5.2-py3-none-win32.whl", hash = "sha256:f1aea290c56d913e363066d83d3fc26848814a1fed3d72144ff9c930e8c7c718", size = 7786506 },
+ { url = "https://files.pythonhosted.org/packages/a8/a0/f28c8380f4eff7451896618ca0cce097e65aef150c60c298a0b5c9f40311/ruff-0.5.2-py3-none-win_amd64.whl", hash = "sha256:8532660b72b5d94d2a0a7a27ae7b9b40053662d00357bb2a6864dd7e38819084", size = 8583643 },
+ { url = "https://files.pythonhosted.org/packages/b5/c3/dd06a34c98fc887a8c027e1b17e7ceca479db98b24d3a2d98f8239f0ee71/ruff-0.5.2-py3-none-win_arm64.whl", hash = "sha256:73439805c5cb68f364d826a5c5c4b6c798ded6b7ebaa4011f01ce6c94e4d5583", size = 8012737 },
+]
+
+[[package]]
+name = "setuptools"
+version = "75.8.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/92/ec/089608b791d210aec4e7f97488e67ab0d33add3efccb83a056cbafe3a2a6/setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", size = 1343222 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3", size = 1228782 },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
+]
+
+[[package]]
+name = "snowballstemmer"
+version = "2.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/44/7b/af302bebf22c749c56c9c3e8ae13190b5b5db37a33d9068652e8f73b7089/snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", size = 86699 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", size = 93002 },
+]
+
+[[package]]
+name = "soupsieve"
+version = "2.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 },
+]
+
+[[package]]
+name = "sphinx"
+version = "4.5.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "babel", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "colorama", marker = "(sys_platform == 'win32' and extra == 'group-17-sphinx-immaterial-sphinx4') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "imagesize", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "packaging", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pygments", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "requests", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "snowballstemmer", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-applehelp", version = "1.0.4", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-devhelp", version = "1.0.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.0.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-jsmath", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-qthelp", version = "1.0.3", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-serializinghtml", version = "1.1.5", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d5/b9/b831ea20dde3c3b726e41403eaee92cc448083cef310790c31c6ccfb22e3/Sphinx-4.5.0.tar.gz", hash = "sha256:7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6", size = 6698212 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/96/9cbbc7103fb482d5809fe4976ecb9b627058210d02817fcbfeebeaa8f762/Sphinx-4.5.0-py3-none-any.whl", hash = "sha256:ebf612653238bcc8f4359627a9b7ce44ede6fdd75d9d30f68255c7383d3a6226", size = 3099508 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "html5lib", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest-cov", marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx"
+version = "5.3.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "babel", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "colorama", marker = "(sys_platform == 'win32' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "imagesize", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "packaging", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pygments", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "requests", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "snowballstemmer", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-applehelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-devhelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-jsmath", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-qthelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-serializinghtml", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/af/b2/02a43597980903483fe5eb081ee8e0ba2bb62ea43a70499484343795f3bf/Sphinx-5.3.0.tar.gz", hash = "sha256:51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5", size = 6811365 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/67/a7/01dd6fd9653c056258d65032aa09a615b5d7b07dd840845a9f41a8860fbc/sphinx-5.3.0-py3-none-any.whl", hash = "sha256:060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d", size = 3183160 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "html5lib", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx"
+version = "6.2.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "babel", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "colorama", marker = "(sys_platform == 'win32' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "imagesize", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "packaging", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pygments", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "requests", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "snowballstemmer", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-applehelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-devhelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-jsmath", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-qthelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-serializinghtml", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0f/6d/392defcc95ca48daf62aecb89550143e97a4651275e62a3d7755efe35a3a/Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b", size = 6681092 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5f/d8/45ba6097c39ba44d9f0e1462fb232e13ca4ddb5aea93a385dcfa964687da/sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912", size = 3024615 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "filelock", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "html5lib", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx"
+version = "7.4.7"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "0.7.16", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "babel", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "colorama", marker = "(sys_platform == 'win32' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "imagesize", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "jinja2", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "packaging", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pygments", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "requests", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "snowballstemmer", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-applehelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-devhelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-jsmath", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-qthelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinxcontrib-serializinghtml", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "tomli", marker = "(python_full_version < '3.11' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "defusedxml", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "setuptools", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions", marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx"
+version = "8.1.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version < '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "babel", marker = "python_full_version < '3.11'" },
+ { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" },
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "imagesize", marker = "python_full_version < '3.11'" },
+ { name = "jinja2", marker = "python_full_version < '3.11'" },
+ { name = "packaging", marker = "python_full_version < '3.11'" },
+ { name = "pygments", marker = "python_full_version < '3.11'" },
+ { name = "requests", marker = "python_full_version < '3.11'" },
+ { name = "snowballstemmer", marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-applehelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-devhelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-qthelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "sphinxcontrib-serializinghtml", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/60/1ddff83a56d33aaf6f10ec8ce84b4c007d9368b21008876fceda7e7381ef/sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2", size = 3487125 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "defusedxml", marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "setuptools", marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions", marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx"
+version = "8.2.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+]
+dependencies = [
+ { name = "alabaster", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "babel", marker = "python_full_version >= '3.11'" },
+ { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" },
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "imagesize", marker = "python_full_version >= '3.11'" },
+ { name = "jinja2", marker = "python_full_version >= '3.11'" },
+ { name = "packaging", marker = "python_full_version >= '3.11'" },
+ { name = "pygments", marker = "python_full_version >= '3.11'" },
+ { name = "requests", marker = "python_full_version >= '3.11'" },
+ { name = "roman-numerals-py", marker = "python_full_version >= '3.11'" },
+ { name = "snowballstemmer", marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-applehelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-devhelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-htmlhelp", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-jsmath", marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-qthelp", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "sphinxcontrib-serializinghtml", version = "2.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/81/46/08fe30fc7a6b0e8ff1f502e44133d3a1bd9453d7ab884c2ac7f0ef280920/sphinx-8.2.0.tar.gz", hash = "sha256:5b0067853d6e97f3fa87563e3404ebd008fce03525b55b25da90706764da6215", size = 8321764 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/4d/bbe0250199b9dfa8b25a1949ff13d81e7a6f3bfde37fe373a881bd78a37a/sphinx-8.2.0-py3-none-any.whl", hash = "sha256:3c0a40ff71ace28b316bde7387d93b9249a3688c202181519689b66d5d0aed53", size = 3589193 },
+]
+
+[package.optional-dependencies]
+test = [
+ { name = "cython", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "defusedxml", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "pytest-xdist", extra = ["psutil"], marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions", marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+
+[[package]]
+name = "sphinx-immaterial"
+source = { editable = "." }
+dependencies = [
+ { name = "appdirs" },
+ { name = "markupsafe" },
+ { name = "pydantic" },
+ { name = "pydantic-extra-types" },
+ { name = "requests" },
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "typing-extensions" },
+]
+
+[package.optional-dependencies]
+black = [
+ { name = "black" },
+]
+clang-format = [
+ { name = "clang-format" },
+]
+cpp = [
+ { name = "libclang" },
+]
+json = [
+ { name = "pyyaml" },
+]
+jsonschema-validation = [
+ { name = "jsonschema" },
+]
+keys = [
+ { name = "pymdown-extensions" },
+]
+
+[package.dev-dependencies]
+black = [
+ { name = "black" },
+]
+coverage = [
+ { name = "coverage", extra = ["toml"] },
+]
+dev = [
+ { name = "nox" },
+ { name = "wheel" },
+]
+docs = [
+ { name = "myst-parser", version = "0.18.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "myst-parser", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "myst-parser", version = "3.0.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "myst-parser", version = "4.0.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "sphinx-immaterial", extra = ["black", "clang-format", "cpp", "json", "keys"] },
+ { name = "sphinx-jinja" },
+]
+mypy = [
+ { name = "black" },
+ { name = "docutils-stubs" },
+ { name = "mypy" },
+ { name = "pydantic" },
+ { name = "pydantic-extra-types" },
+ { name = "pytest" },
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "types-appdirs" },
+ { name = "types-beautifulsoup4" },
+ { name = "types-clang" },
+ { name = "types-jsonschema" },
+ { name = "types-pyyaml" },
+ { name = "types-requests" },
+]
+pre-commit-hooks = [
+ { name = "pre-commit-hooks" },
+]
+ruff = [
+ { name = "ruff" },
+]
+sphinx4 = [
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "sphinxcontrib-applehelp", version = "1.0.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "sphinxcontrib-devhelp", version = "1.0.2", source = { registry = "https://pypi.org/simple" } },
+ { name = "sphinxcontrib-htmlhelp", version = "2.0.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "sphinxcontrib-qthelp", version = "1.0.3", source = { registry = "https://pypi.org/simple" } },
+ { name = "sphinxcontrib-serializinghtml", version = "1.1.5", source = { registry = "https://pypi.org/simple" } },
+]
+sphinx5 = [
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" } },
+]
+sphinx6 = [
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" } },
+]
+sphinx7 = [
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" } },
+]
+sphinx8 = [
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+]
+test = [
+ { name = "beautifulsoup4" },
+ { name = "coverage", extra = ["toml"] },
+ { name = "pytest" },
+ { name = "pytest-snapshot" },
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["test"], marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx-immaterial", extra = ["black", "clang-format", "cpp", "json", "jsonschema-validation", "keys"] },
+ { name = "sphinx-immaterial-pybind11-issue-134" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "appdirs" },
+ { name = "black", marker = "extra == 'black'" },
+ { name = "clang-format", marker = "extra == 'clang-format'" },
+ { name = "jsonschema", marker = "extra == 'jsonschema-validation'" },
+ { name = "libclang", marker = "extra == 'cpp'" },
+ { name = "markupsafe" },
+ { name = "pydantic", specifier = ">=2.4" },
+ { name = "pydantic-extra-types" },
+ { name = "pymdown-extensions", marker = "extra == 'keys'" },
+ { name = "pyyaml", marker = "extra == 'json'" },
+ { name = "requests" },
+ { name = "sphinx", specifier = ">=4.5" },
+ { name = "typing-extensions" },
+]
+provides-extras = ["json", "clang-format", "black", "cpp", "jsonschema-validation", "keys"]
+
+[package.metadata.requires-dev]
+black = [{ name = "black" }]
+coverage = [{ name = "coverage", extras = ["toml"], specifier = ">=7.0" }]
+dev = [
+ { name = "nox" },
+ { name = "wheel" },
+]
+docs = [
+ { name = "myst-parser" },
+ { name = "sphinx-immaterial", extras = ["cpp", "json", "keys", "black", "clang-format"] },
+ { name = "sphinx-jinja" },
+]
+mypy = [
+ { name = "black" },
+ { name = "docutils-stubs" },
+ { name = "mypy", specifier = "==1.10.1" },
+ { name = "pydantic", specifier = ">=2.0" },
+ { name = "pydantic-extra-types" },
+ { name = "pytest" },
+ { name = "sphinx", specifier = ">=4.5" },
+ { name = "types-appdirs" },
+ { name = "types-beautifulsoup4" },
+ { name = "types-clang" },
+ { name = "types-jsonschema" },
+ { name = "types-pyyaml" },
+ { name = "types-requests" },
+]
+pre-commit-hooks = [{ name = "pre-commit-hooks", specifier = "==4.4.0" }]
+ruff = [{ name = "ruff", specifier = "==0.5.2" }]
+sphinx4 = [
+ { name = "sphinx", specifier = ">=4.5,<5" },
+ { name = "sphinxcontrib-applehelp", specifier = "<1.0.5" },
+ { name = "sphinxcontrib-devhelp", specifier = "<1.0.3" },
+ { name = "sphinxcontrib-htmlhelp", specifier = "<2.0.2" },
+ { name = "sphinxcontrib-qthelp", specifier = "<1.0.4" },
+ { name = "sphinxcontrib-serializinghtml", specifier = "<1.1.6" },
+]
+sphinx5 = [{ name = "sphinx", specifier = ">=5,<6" }]
+sphinx6 = [{ name = "sphinx", specifier = ">=6,<7" }]
+sphinx7 = [{ name = "sphinx", specifier = ">=7,<8" }]
+sphinx8 = [{ name = "sphinx", specifier = ">=8,<9" }]
+test = [
+ { name = "beautifulsoup4" },
+ { name = "coverage", extras = ["toml"], specifier = ">=7.0" },
+ { name = "pytest" },
+ { name = "pytest-snapshot" },
+ { name = "sphinx", extras = ["test"] },
+ { name = "sphinx-immaterial", extras = ["cpp", "json", "jsonschema-validation", "keys", "black", "clang-format"] },
+ { name = "sphinx-immaterial-pybind11-issue-134", editable = "tests/issue_134/sphinx-immaterial-pybind11-issue-134" },
+]
+
+[[package]]
+name = "sphinx-immaterial-pybind11-issue-134"
+version = "0"
+source = { editable = "tests/issue_134/sphinx-immaterial-pybind11-issue-134" }
+
+[[package]]
+name = "sphinx-jinja"
+version = "2.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils", version = "0.17.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.19", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or extra == 'group-17-sphinx-immaterial-sphinx8' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6')" },
+ { name = "jinja2" },
+ { name = "sphinx", version = "4.5.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx4' or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "5.3.0", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx5' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "6.2.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx6' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "7.4.7", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'group-17-sphinx-immaterial-sphinx7' or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+ { name = "sphinx", version = "8.2.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra != 'group-17-sphinx-immaterial-sphinx4' and extra != 'group-17-sphinx-immaterial-sphinx5' and extra != 'group-17-sphinx-immaterial-sphinx6' and extra != 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx5') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx4' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx6') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx5' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx7') or (extra == 'group-17-sphinx-immaterial-sphinx6' and extra == 'group-17-sphinx-immaterial-sphinx8') or (extra == 'group-17-sphinx-immaterial-sphinx7' and extra == 'group-17-sphinx-immaterial-sphinx8')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ea/90/7cf0e91aadcb5b3ff4796acbaf2c7887a55434df360914af9fc067c753c1/sphinx-jinja-2.0.2.tar.gz", hash = "sha256:c6232b59a894139770be1dc6d0b00a379e4288ce78157904e1f8473dea3e0718", size = 4587 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/9f/81fe50b1861bda8c02b4272a166d14455411e04865ddaf3616f25d12cd50/sphinx_jinja-2.0.2-py3-none-any.whl", hash = "sha256:705ebeb9b7a6018ca3f93724315a7c1effa6ba3db44d630e7eaaa15e4ac081a8", size = 4355 },
+]
+
+[[package]]
+name = "sphinxcontrib-applehelp"
+version = "1.0.4"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/32/df/45e827f4d7e7fcc84e853bcef1d836effd762d63ccb86f43ede4e98b478c/sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e", size = 24766 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/06/c1/5e2cafbd03105ce50d8500f9b4e8a6e8d02e22d0475b574c3b3e9451a15f/sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228", size = 120601 },
+]
+
+[[package]]
+name = "sphinxcontrib-applehelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300 },
+]
+
+[[package]]
+name = "sphinxcontrib-devhelp"
+version = "1.0.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/33/dc28393f16385f722c893cb55539c641c9aaec8d1bc1c15b69ce0ac2dbb3/sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4", size = 17398 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/09/5de5ed43a521387f18bdf5f5af31d099605c992fd25372b2b9b825ce48ee/sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e", size = 84690 },
+]
+
+[[package]]
+name = "sphinxcontrib-devhelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530 },
+]
+
+[[package]]
+name = "sphinxcontrib-htmlhelp"
+version = "2.0.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b3/47/64cff68ea3aa450c373301e5bebfbb9fce0a3e70aca245fcadd4af06cd75/sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff", size = 27967 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6e/ee/a1f5e39046cbb5f8bc8fba87d1ddf1c6643fbc9194e58d26e606de4b9074/sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903", size = 99833 },
+]
+
+[[package]]
+name = "sphinxcontrib-htmlhelp"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705 },
+]
+
+[[package]]
+name = "sphinxcontrib-jsmath"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071 },
+]
+
+[[package]]
+name = "sphinxcontrib-qthelp"
+version = "1.0.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b1/8e/c4846e59f38a5f2b4a0e3b27af38f2fcf904d4bfd82095bf92de0b114ebd/sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72", size = 21658 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2b/14/05f9206cf4e9cfca1afb5fd224c7cd434dcc3a433d6d9e4e0264d29c6cdb/sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6", size = 90609 },
+]
+
+[[package]]
+name = "sphinxcontrib-qthelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743 },
+]
+
+[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "1.1.5"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/72/835d6fadb9e5d02304cf39b18f93d227cd93abd3c41ebf58e6853eeb1455/sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952", size = 21019 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/77/5464ec50dd0f1c1037e3c93249b040c8fc8078fdda97530eeb02424b6eea/sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd", size = 94021 },
+]
+
+[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.11'",
+ "python_full_version < '3.11'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072 },
+]
+
+[[package]]
+name = "tomli"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 },
+ { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 },
+ { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 },
+ { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 },
+ { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 },
+ { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 },
+ { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 },
+ { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 },
+ { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 },
+ { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 },
+ { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 },
+ { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 },
+ { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 },
+ { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 },
+ { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 },
+ { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 },
+ { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 },
+ { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 },
+ { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 },
+ { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 },
+ { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 },
+ { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 },
+ { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 },
+ { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 },
+ { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 },
+ { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 },
+ { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 },
+ { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 },
+ { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 },
+ { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 },
+ { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 },
+]
+
+[[package]]
+name = "types-appdirs"
+version = "1.4.3.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fe/dc/600964f9ee98f4afdb69be74cd8e1ca566635a76ada9af0046e44a778fbb/types-appdirs-1.4.3.5.tar.gz", hash = "sha256:83268da64585361bfa291f8f506a209276212a0497bd37f0512a939b3d69ff14", size = 2866 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cf/07/41f5b9b11f11855eb67760ed680330e0ce9136a44b51c24dd52edb1c4eb1/types_appdirs-1.4.3.5-py3-none-any.whl", hash = "sha256:337c750e423c40911d389359b4edabe5bbc2cdd5cd0bd0518b71d2839646273b", size = 2667 },
+]
+
+[[package]]
+name = "types-beautifulsoup4"
+version = "4.12.0.20250204"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "types-html5lib" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/11/6c/00fd71754ac3babe121c73b52e0de7ec05acd627edcb7ee652223c084d69/types_beautifulsoup4-4.12.0.20250204.tar.gz", hash = "sha256:f083d8edcbd01279f8c3995b56cfff2d01f1bb894c3b502ba118d36fbbc495bf", size = 16641 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b1/ec/9097e9f7f5901e4d7834c7e0bc8f775f9ffa448ae31471457a1ebafeb4c5/types_beautifulsoup4-4.12.0.20250204-py3-none-any.whl", hash = "sha256:57ce9e75717b63c390fd789c787d267a67eb01fa6d800a03b9bdde2e877ed1eb", size = 17061 },
+]
+
+[[package]]
+name = "types-clang"
+version = "0.14.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4d/a9/a2edb5cefd1d50a033054724ed150fcb17d1e9c7150fde72fd96c714877b/types-clang-0.14.3.tar.gz", hash = "sha256:d0a093530f763f56e563ed7be79937308a4bdc4a5aa2be195615ac746b4dedec", size = 8616 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/0d/81718cf5ad04ba420f01fbc4caa390a12c7c3136962bed1e8493ac3d5a11/types_clang-0.14.3-py3-none-any.whl", hash = "sha256:5b52a7258bbf69b1376594fb0fad1bef526de9f6c4ed27cabd382557ac3896c2", size = 7749 },
+]
+
+[[package]]
+name = "types-html5lib"
+version = "1.1.11.20241018"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b6/9d/f6fbcc8246f5e46845b4f989c4e17e6fb3ce572f7065b185e515bf8a3be7/types-html5lib-1.1.11.20241018.tar.gz", hash = "sha256:98042555ff78d9e3a51c77c918b1041acbb7eb6c405408d8a9e150ff5beccafa", size = 11370 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/7c/f862b1dc31268ef10fe95b43dcdf216ba21a592fafa2d124445cd6b92e93/types_html5lib-1.1.11.20241018-py3-none-any.whl", hash = "sha256:3f1e064d9ed2c289001ae6392c84c93833abb0816165c6ff0abfc304a779f403", size = 17292 },
+]
+
+[[package]]
+name = "types-jsonschema"
+version = "4.23.0.20241208"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "referencing" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ad/e6/9e5cd771687086844caa43dbb211ec0d1cfa899d17c110f3220efcd46e83/types_jsonschema-4.23.0.20241208.tar.gz", hash = "sha256:e8b15ad01f290ecf6aea53f93fbdf7d4730e4600313e89e8a7f95622f7e87b7c", size = 14770 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/64/4b2fba8b7cb0104ba013f2a1bf6f39a98e927e14befe1ef947d373b25218/types_jsonschema-4.23.0.20241208-py3-none-any.whl", hash = "sha256:87934bd9231c99d8eff94cacfc06ba668f7973577a9bd9e1f9de957c5737313e", size = 15021 },
+]
+
+[[package]]
+name = "types-pyyaml"
+version = "6.0.12.20241230"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9a/f9/4d566925bcf9396136c0a2e5dc7e230ff08d86fa011a69888dd184469d80/types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c", size = 17078 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e8/c1/48474fbead512b70ccdb4f81ba5eb4a58f69d100ba19f17c92c0c4f50ae6/types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6", size = 20029 },
+]
+
+[[package]]
+name = "types-requests"
+version = "2.32.0.20241016"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fa/3c/4f2a430c01a22abd49a583b6b944173e39e7d01b688190a5618bd59a2e22/types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95", size = 18065 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/01/485b3026ff90e5190b5e24f1711522e06c79f4a56c8f4b95848ac072e20f/types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747", size = 15836 },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.12.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 },
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.29.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "distlib" },
+ { name = "filelock" },
+ { name = "platformdirs" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f1/88/dacc875dd54a8acadb4bcbfd4e3e86df8be75527116c91d8f9784f5e9cab/virtualenv-20.29.2.tar.gz", hash = "sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728", size = 4320272 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/93/fa/849483d56773ae29740ae70043ad88e068f98a6401aa819b5d6bee604683/virtualenv-20.29.2-py3-none-any.whl", hash = "sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a", size = 4301478 },
+]
+
+[[package]]
+name = "webencodings"
+version = "0.5.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774 },
+]
+
+[[package]]
+name = "wheel"
+version = "0.45.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494 },
+]