diff --git a/.flake8 b/.flake8
deleted file mode 100644
index 9326c76..0000000
--- a/.flake8
+++ /dev/null
@@ -1,6 +0,0 @@
-[flake8]
-ignore = N802, N803, N806, E731, W503, N815, E402, E203, F841, F811, C901, F401
-max-complexity = 7
-max-line-length = 120
-docstring-convention=pep257
-exclude = .git,__pycache__,build,docs/source/conf.py,example,*.ipynb,.venv
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dd80685..1564d28 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,6 +1,7 @@
name: Test & lint package & deploy documentation
on:
+ workflow_dispatch:
schedule:
# run every Monday at 15:00 UTC
- cron: "0 15 * * 1"
@@ -11,54 +12,49 @@ on:
jobs:
build:
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
include:
- - os: ubuntu-24.04
- python: "3.12"
+ - os: ubuntu-latest
+ python: "3.13"
+
+ name: Python ${{ matrix.python }}
+
+ env:
+ OS: ${{ matrix.os }}
+ PYTHON: ${{ matrix.python }}
steps:
- - uses: actions/checkout@v3
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v3
+ - uses: actions/checkout@v5
+ - name: Install the latest version of uv and setup Python
+ uses: astral-sh/setup-uv@v6
with:
+ version: "latest"
python-version: ${{ matrix.python-version }}
- - uses: actions/cache@v3
- with:
- path: ${{ env.pythonLocation }}
- key: ${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}
+ enable-cache: true
- name: Install dependencies
run: |
- export FLIT_ROOT_INSTALL=1
- python -m pip install --upgrade pip
- python -m pip install flit
- python -m flit install --deps production
- python -m pip install biocframe dolomite dolomite-se summarizedexperiment
- python -m pip install bandit mypy==1.15.0 ruff==0.11.2
- python -m pip install coverage pytest sphinx sphinx-autoapi \
- myst-parser pygments sphinx-autodoc-typehints sphinx-rtd-theme furo sphinx_design sphinx-copybutton \
- sphinxcontrib-bibtex sphinxcontrib-mermaid nbsphinx pandoc
- sudo apt-get update
- sudo apt-get install -y pandoc
+ uv sync --all-extras
- name: Lint with ruff
run: |
- ruff check --fix --exit-non-zero-on-fix pytximport
+ uv run ruff check --fix --exit-non-zero-on-fix pytximport
- name: Format with ruff
run: |
- ruff format --check pytximport
+ uv run ruff format --check pytximport
- name: Type check with mypy
run: |
- python -m mypy -p pytximport
+ uv run mypy -p pytximport
- name: Check security with bandit
run: |
- python -m bandit --verbose --ini .bandit.ini -ll --recursive pytximport
+ uv run bandit --verbose --ini .bandit.ini -ll --recursive pytximport
- name: Test with pytest
run: |
- coverage run -m pytest --maxfail=10
- coverage xml
- - name: Upload coverage reports to Codecov
- uses: codecov/codecov-action@v4.0.1
+ uv run coverage run -m pytest --maxfail=10 -m "not gpu" -m "not no_github_ci"
+ uv run coverage xml
+ - name: Upload coverage to Codecov
+ uses: codecov/codecov-action@v5
with:
+ fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 785d219..57bde74 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -1,4 +1,4 @@
-name: Upload Python Package
+name: Publish Package
on:
release:
@@ -8,25 +8,25 @@ permissions:
contents: read
jobs:
- deploy:
-
+ pypi-publish:
+ name: Upload release to PyPI
runs-on: ubuntu-latest
+ environment: pypi
+ permissions:
+ contents: read
+ id-token: write
steps:
- - uses: actions/checkout@v4
- - name: Set up Python
- uses: actions/setup-python@v3
- with:
- python-version: '3.11'
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install flit
- - name: Build package
- run: flit build
- - name: Publish package
- run: flit publish
- env:
- FLIT_USERNAME: '__token__'
- FLIT_PASSWORD: ${{ secrets.FLIT_PASSWORD }}
- FLIT_INDEX_URL: 'https://upload.pypi.org/legacy/'
+ - uses: actions/checkout@v5
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version-file: "pyproject.toml"
+ - name: Install the latest version of uv
+ uses: astral-sh/setup-uv@v6
+ with:
+ version: "latest"
+ - name: Build package
+ run: uv build
+ - name: Publish package
+ run: uv publish --trusted-publishing always
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3ffe464..93948ef 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -2,7 +2,7 @@ default_stages: [pre-commit, pre-push]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.4.0
+ rev: v6.0.0
hooks:
- id: check-yaml
stages: [pre-commit]
@@ -21,14 +21,16 @@ repos:
stages: [pre-commit]
- id: mixed-line-ending
stages: [pre-commit]
+ - id: no-commit-to-branch
+ args: [--branch=main]
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.11.2
+ rev: v0.13.2
hooks:
- - id: ruff
- args: [--select, I, --fix]
+ - id: ruff-check
+ args: [--select, "I,RUF022", --fix, --exit-non-zero-on-fix]
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v1.15.0
+ rev: "v1.18.2"
hooks:
- id: mypy
stages: [pre-commit]
@@ -36,18 +38,17 @@ repos:
pass_filenames: false
args: [-p, pytximport]
- repo: https://github.com/PyCQA/bandit
- rev: 1.7.5
+ rev: 1.8.6
hooks:
- id: bandit
stages: [pre-commit]
args: [--verbose, --ini, .bandit.ini, -ll, --recursive, pytximport]
- # run the unittests
- repo: local
hooks:
- id: unittests
stages: [pre-commit]
name: unittests
- entry: python -m coverage run -m pytest --maxfail=10
+ entry: uv run coverage run -m pytest --maxfail=10
language: system
types: [python]
pass_filenames: false
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index e7852bd..78559c6 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -1,16 +1,18 @@
version: 2
build:
- os: ubuntu-22.04
+ os: ubuntu-24.04
tools:
- python: "3.11"
+ python: "3.12"
+ jobs:
+ create_environment:
+ - asdf plugin add uv
+ - asdf install uv latest
+ - asdf global uv latest
+ - uv venv $READTHEDOCS_VIRTUALENV_PATH
+ - UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --all-extras --link-mode=copy
+ install:
+ - "true"
sphinx:
- configuration: docs/source/conf.py
- fail_on_warning: false
-
-python:
- install:
- - method: pip
- path: .
- extra_requirements:
- - dev
+ configuration: docs/source/conf.py
+ fail_on_warning: false
diff --git a/Makefile b/Makefile
index 82105b2..abdfeb7 100755
--- a/Makefile
+++ b/Makefile
@@ -1,48 +1,33 @@
.DEFAULT_GOAL := test
-#
-# Virtual environment setup
-# You may want to replace python3 with the path to your python3 executable,
-# e.g. the output of `pyenv which python3`when using pyenv
-#
-create-venv:
- python3 -m venv '.venv'
- echo "Don't forget to activate with 'source .venv/bin/activate'"
-
#
# Install requirements
#
install:
- python3 -m pip install --upgrade pip
- python3 -m pip install flit poetry
- python3 -m flit install --deps production
+ uv sync
-install-dev: install
- python3 -m pip install '.[dev]'
- python3 -m certifi
+install-dev:
+ uv sync --all-extras
pre-commit install --hook-type pre-commit --hook-type pre-push
echo "Please also install pandoc to create the documentation."
#
-# Checks & package upload
+# Checks
#
check: install-dev
- ruff format --check pytximport
- ruff check pytximport
- mypy -p pytximport
- bandit -ll --recursive pytximport
-
-upload: check
- flit publish
+ uv run ruff format --check pytximport
+ uv run ruff check pytximport
+ uv run mypy -p pytximport
+ uv run bandit -ll --recursive pytximport
#
# Testing
#
unittest:
- coverage run -m pytest --maxfail=10
+ uv run coverage run -m pytest --maxfail=10
coverage-report: unittest
- coverage report
- coverage html
+ uv run coverage report
+ uv run coverage html
test: check unittest
diff --git a/README.md b/README.md
index 7b0a284..e0b8b26 100755
--- a/README.md
+++ b/README.md
@@ -29,12 +29,16 @@ The recommended way to install `pytximport` is through Bioconda:
mamba install -c bioconda pytximport
```
-`pytximport` can also be installed via pip:
+`pytximport` can also be installed via `pip` or added to your project via `uv`:
```bash
pip install pytximport
```
+```bash
+uv add pytximport
+```
+
While not required, we recommend users also install `pyarrow` for faster import of tab-separated value-based quantification files:
```bash
@@ -120,6 +124,7 @@ Generally, outputs from `pytximport` correspond to the outputs from `tximport` w
While the outputs are identical within floating point tolerance for the same configuration, there remain some differences between the packages:
Features unique to `pytximport`:
+
- Generating transcript-to-gene maps, either from a BioMart server or an `annotation.gtf` file. Use `create_transcript_gene_map` or `create_transcript_gene_map_from_annotation` from `pytximport.utils`.
- Command line interface. Type `pytximport --help` into your terminal to explore all options.
- `AnnData`-support, enabling seamless integration with the `scverse`.
@@ -129,6 +134,7 @@ Features unique to `pytximport`:
- Post-hoc biotype-filtering using `pytximport.utils.filter_by_biotype`.
Features unique to `tximport`:
+
- Alevin single-cell RNA-seq data support
Argument order and argument defaults may differ between the implementations.
@@ -142,8 +148,7 @@ To set up `pytximport` for development on your machine, we recommend to git clon
```bash
git clone --depth 1 -b dev https://github.com/complextissue/pytximport.git
cd pytximport
-pyenv local 3.12
-make create-venv
+uv venv --python 3.13
source .venv/source/activate
make install-dev
```
diff --git a/docs/source/example.ipynb b/docs/source/example.ipynb
index 625c08d..0492ef8 100644
--- a/docs/source/example.ipynb
+++ b/docs/source/example.ipynb
@@ -4,21 +4,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Vignette"
+ "# Vignette\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "This vignette extends the [vignette for the R-version of tximport](https://bioconductor.org/packages/release/bioc/vignettes/tximport/inst/doc/tximport.html). If you are unfamiliar with `tximport` or curious about the motivation behind it, please check it out."
+ "This vignette extends the [vignette for the R-version of tximport](https://bioconductor.org/packages/release/bioc/vignettes/tximport/inst/doc/tximport.html). If you are unfamiliar with `tximport` or curious about the motivation behind it, please check it out.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "If you are looking for a full-featured end-to-end workflow for Pythonic bulk RNA-sequencing analysis, check out our [Snakemake workflow](https://github.com/complextissue/snakemake-bulk-rna-seq-workflow/) based on pytximport."
+ "If you are looking for a full-featured end-to-end workflow for Pythonic bulk RNA-sequencing analysis, check out our [Snakemake workflow](https://github.com/complextissue/snakemake-bulk-rna-seq-workflow/) based on pytximport.\n"
]
},
{
@@ -27,21 +27,21 @@
"source": [
"## Creating your transcript to gene map\n",
"\n",
- "Here, we will show you how to generate a transcript-to-gene mapping based on the Ensembl reference or a gene transfer format file."
+ "Here, we will show you how to generate a transcript-to-gene mapping based on the Ensembl reference or a gene transfer format file.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Build it from Ensembl"
+ "### Build it from Ensembl\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "This example requires `pybiomart` which is installed together with `pytximport`. Providing a host is optional, for a list of available archives that correspond to Ensembl releases, please consult [https://www.ensembl.org/info/website/archives/index.html](https://www.ensembl.org/info/website/archives/index.html). By default, the transcript ids will be mapped to the `ensembl_gene_id` field. If you prefer to use gene names, choose `external_gene_name`. Be aware that not all proposed transcripts have been assigned a name yet and thus will not be included if you use gene names. The first time you run this function, it may take a few seconds to download the data."
+ "This example requires `pybiomart` which is installed together with `pytximport`. Providing a host is optional, for a list of available archives that correspond to Ensembl releases, please consult [https://www.ensembl.org/info/website/archives/index.html](https://www.ensembl.org/info/website/archives/index.html). By default, the transcript ids will be mapped to the `ensembl_gene_id` field. If you prefer to use gene names, choose `external_gene_name`. Be aware that not all proposed transcripts have been assigned a name yet and thus will not be included if you use gene names. The first time you run this function, it may take a few seconds to download the data.\n"
]
},
{
@@ -211,7 +211,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "You can also provide a list of mapping targets as the target_field argument. For example, to map transcripts to both gene names and gene biotypes, you can use the following code:"
+ "You can also provide a list of mapping targets as the target_field argument. For example, to map transcripts to both gene names and gene biotypes, you can use the following code:\n"
]
},
{
@@ -247,33 +247,33 @@
" \n",
"
\n",
" \n",
- " 58 \n",
- " ENST00000673100 \n",
- " LINC03015 \n",
+ " 94 \n",
+ " ENST00000632454 \n",
+ " LINC01784 \n",
" lncRNA \n",
" \n",
" \n",
- " 59 \n",
- " ENST00000673009 \n",
- " LINC03015 \n",
+ " 118 \n",
+ " ENST00000707308 \n",
+ " LINC02688 \n",
" lncRNA \n",
" \n",
" \n",
- " 60 \n",
- " ENST00000671859 \n",
- " LINC03015 \n",
+ " 119 \n",
+ " ENST00000707309 \n",
+ " LINC02688 \n",
" lncRNA \n",
" \n",
" \n",
- " 61 \n",
- " ENST00000673474 \n",
- " LINC03015 \n",
+ " 164 \n",
+ " ENST00000631340 \n",
+ " LINC02735 \n",
" lncRNA \n",
" \n",
" \n",
- " 62 \n",
- " ENST00000671974 \n",
- " LINC03015 \n",
+ " 181 \n",
+ " ENST00000672718 \n",
+ " AGAP12P \n",
" lncRNA \n",
" \n",
" \n",
@@ -281,12 +281,12 @@
""
],
"text/plain": [
- " transcript_id gene_id gene_biotype\n",
- "58 ENST00000673100 LINC03015 lncRNA\n",
- "59 ENST00000673009 LINC03015 lncRNA\n",
- "60 ENST00000671859 LINC03015 lncRNA\n",
- "61 ENST00000673474 LINC03015 lncRNA\n",
- "62 ENST00000671974 LINC03015 lncRNA"
+ " transcript_id gene_id gene_biotype\n",
+ "94 ENST00000632454 LINC01784 lncRNA\n",
+ "118 ENST00000707308 LINC02688 lncRNA\n",
+ "119 ENST00000707309 LINC02688 lncRNA\n",
+ "164 ENST00000631340 LINC02735 lncRNA\n",
+ "181 ENST00000672718 AGAP12P lncRNA"
]
},
"execution_count": 3,
@@ -309,7 +309,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Use a gene transfer format file"
+ "### Use a gene transfer format file\n"
]
},
{
@@ -318,7 +318,7 @@
"source": [
"If you already have an annotation file in .gtf format (e.g. from the GENCODE or Ensembl references), you can use the `create_transcript_gene_map_from_annotation` function contained in `pytximport.utils` to generate a transcript to gene map. Using an annotation file is considered best practice, as it ensures that your annotation and alignment reference are the same if you download them from the same source, e.g., an Ensembl release.\n",
"\n",
- "Set `target_field` to `gene_name` to map transcript ids to gene names instead of gene ids. If the transcript does not have a corresponding gene name in the annotation file, it will be mapped to the gene id."
+ "Set `target_field` to `gene_name` to map transcript ids to gene names instead of gene ids. If the transcript does not have a corresponding gene name in the annotation file, it will be mapped to the gene id.\n"
]
},
{
@@ -409,14 +409,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Map transcript names to gene names"
+ "### Map transcript names to gene names\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "You can also optionally map transcript names to either gene names or gene ids if your data requires it."
+ "You can also optionally map transcript names to either gene names or gene ids if your data requires it.\n"
]
},
{
@@ -508,12 +508,12 @@
"source": [
"## Importing transcript quantification files\n",
"\n",
- "You can easily import quantification files from tools like `salmon` with `pytximport`."
+ "You can easily import quantification files from tools like `salmon` with `pytximport`.\n"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
@@ -532,7 +532,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 2it [00:00, 180.15it/s]\n"
+ "Reading quantification files: 2it [00:00, 101.58it/s]\n"
]
},
{
@@ -553,39 +553,86 @@
"\n",
"\n",
"\n",
- "<xarray.Dataset> Size: 28kB\n",
"Dimensions: (gene_id: 496, file: 2, file_path: 2)\n",
"Coordinates:\n",
@@ -916,10 +1025,10 @@
"Data variables:\n",
" abundance (gene_id, file) float64 8kB 0.08291 0.0 0.09854 ... 0.4618 0.0\n",
" counts (gene_id, file) float64 8kB 1.005 0.0 1.086 ... 1.957 6.208 0.0\n",
- " length (gene_id, file) float64 8kB 509.1 509.1 445.8 ... 564.6 564.6 "
],
"text/plain": [
" Size: 28kB\n",
@@ -1086,14 +1186,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Exporting transcript-level count estimates"
+ "## Exporting transcript-level count estimates\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "You can also export the transformed transcript counts directly for transcript-level analysis."
+ "You can also export the transformed transcript counts directly for transcript-level analysis.\n"
]
},
{
@@ -1105,7 +1205,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 1it [00:00, 293.78it/s]\n"
+ "Reading quantification files: 1it [00:00, 207.47it/s]\n"
]
},
{
@@ -1136,7 +1236,7 @@
"metadata": {},
"source": [
"Note that the example above works without a transcript to gene map. If you want to use the transcript names instead of the transcript ids, you can optionally use the `replace_transcript_ids_with_names` function together with a transcript id to transcript name map.\n",
- "We can use the `create_transcript_gene_map` function to create a map between transcript ids and transcript names, too."
+ "We can use the `create_transcript_gene_map` function to create a map between transcript ids and transcript names, too.\n"
]
},
{
@@ -1307,7 +1407,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "The same data summarized to genes:"
+ "The same data summarized to genes:\n"
]
},
{
@@ -1319,7 +1419,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 1it [00:00, 105.05it/s]\n"
+ "Reading quantification files: 1it [00:00, 231.92it/s]\n"
]
},
{
@@ -1404,21 +1504,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Note that the top transcript corresponds to the top expressed gene in this case."
+ "Note that the top transcript corresponds to the top expressed gene in this case.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Exporting AnnData files"
+ "## Exporting AnnData files\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "`pytximport` integrates well with other packages from the `scverse` through its `AnnData` export option."
+ "`pytximport` integrates well with other packages from the `scverse` through its `AnnData` export option.\n"
]
},
{
@@ -1430,7 +1530,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 1it [00:00, 366.57it/s]\n"
+ "Reading quantification files: 1it [00:00, 309.11it/s]\n"
]
},
{
@@ -1463,14 +1563,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Exporting SummarizedExperiment files"
+ "## Exporting SummarizedExperiment files\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Experiment support for SummarizedExperiment files is available through the [BiocPy](https://github.com/biocpy) ecosystem (unaffiliated). While not part of the core functionality of `pytximport`, this output type/format may be useful for interacting with other R software packages. The optional dependencies necessary to support SummarizedExperiment files can be installed via `pip install pytximport[biocpy]`."
+ "Experiment support for SummarizedExperiment files is available through the [BiocPy](https://github.com/biocpy) ecosystem (unaffiliated). While not part of the core functionality of `pytximport`, this output type/format may be useful for interacting with other R software packages. The optional dependencies necessary to support SummarizedExperiment files can be installed via `pip install pytximport[biocpy]`.\n"
]
},
{
@@ -1482,7 +1582,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 1it [00:00, 357.27it/s]\n",
+ "Reading quantification files: 1it [00:00, 291.19it/s]\n",
"WARNING:root:Support for the SummarizedExperiment output type is experimental.\n"
]
},
@@ -1518,7 +1618,7 @@
"source": [
"## Use from the command line\n",
"\n",
- "You can run `pytximport` from the command line, too. Available options can be viewed via the `pytximport --help` command."
+ "You can run `pytximport` from the command line, too. Available options can be viewed via the `pytximport --help` command.\n"
]
},
{
@@ -1530,17 +1630,17 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "2024-11-26 15:53:23,385: Starting the import.\n",
- "Reading quantification files: 1it [00:00, 94.06it/s]\n",
- "2024-11-26 15:53:23,666: Converting transcript-level expression to gene-level expression.\n",
- "2024-11-26 15:53:23,722: Matching gene_ids.\n",
- "2024-11-26 15:53:23,747: Creating gene abundance.\n",
- "2024-11-26 15:53:23,927: Creating gene counts.\n",
- "2024-11-26 15:53:23,927: Creating lengths.\n",
- "2024-11-26 15:53:23,927: Replacing missing lengths.\n",
- "2024-11-26 15:53:23,932: Creating gene expression dataset.\n",
- "2024-11-26 15:53:23,934: Saving the gene-level expression to: ../../test/data/salmon/quant.h5ad.\n",
- "2024-11-26 15:53:23,939: Finished the import in 0.55 seconds.\n"
+ "2025-10-23 23:53:31,869: Starting the import.\n",
+ "Reading quantification files: 1it [00:00, 65.95it/s]\n",
+ "2025-10-23 23:53:32,208: Converting transcript-level expression to gene-level expression.\n",
+ "2025-10-23 23:53:32,269: Matching gene_ids.\n",
+ "2025-10-23 23:53:32,298: Creating gene abundance.\n",
+ "2025-10-23 23:53:32,520: Creating gene counts.\n",
+ "2025-10-23 23:53:32,520: Creating lengths.\n",
+ "2025-10-23 23:53:32,521: Replacing missing lengths.\n",
+ "2025-10-23 23:53:32,528: Creating gene expression dataset.\n",
+ "2025-10-23 23:53:32,530: Saving the gene-level expression to: ../../test/data/salmon/quant.h5ad.\n",
+ "2025-10-23 23:53:32,539: Finished the import in 0.67 seconds.\n"
]
}
],
@@ -1552,7 +1652,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "You can also create a transcript-to-gene mapping via the `pytximport create-map` command."
+ "You can also create a transcript-to-gene mapping via the `pytximport create-map` command.\n"
]
},
{
@@ -1564,9 +1664,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "2024-11-26 15:53:25,049: Creating a transcript-to-gene mapping file.\n",
- "2024-11-26 15:53:25,057: Created the transcript-to-gene mapping file. Saving the file...\n",
- "2024-11-26 15:53:25,059: Saved the transcript-to-gene mapping file to ./transcript_gene_map.tsv.\n"
+ "2025-10-23 23:53:33,997: Creating a transcript-to-gene mapping file.\n",
+ "2025-10-23 23:53:34,009: Created the transcript-to-gene mapping file. Saving the file...\n",
+ "2025-10-23 23:53:34,012: Saved the transcript-to-gene mapping file to ./transcript_gene_map.tsv.\n"
]
}
],
@@ -1578,14 +1678,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Inferential replicates"
+ "## Inferential replicates\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "`pytximport` can handle bootstraping replicates provided by `salmon` and `kallisto`. When `inferential_replicate_transformer` is set, the provided function is used to recalculate the counts and abundances for each sample based on the bootstraps."
+ "`pytximport` can handle bootstraping replicates provided by `salmon` and `kallisto`. When `inferential_replicate_transformer` is set, the provided function is used to recalculate the counts and abundances for each sample based on the bootstraps.\n"
]
},
{
@@ -1597,14 +1697,14 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 4it [00:00, 5.80it/s]\n",
- "WARNING:root:Not all transcripts are present in the mapping. 31380 out of 253181 missing. Removing the missing transcripts.\n"
+ "Reading quantification files: 4it [00:01, 2.11it/s]\n",
+ "WARNING:root:Not all transcripts are present in the mapping. 29618 out of 253181 missing. Removing the missing transcripts.\n"
]
},
{
"data": {
"text/plain": [
- "AnnData object with n_obs × n_vars = 4 × 40768\n",
+ "AnnData object with n_obs × n_vars = 4 × 41127\n",
" uns: 'counts_from_abundance', 'inferential_replicates'\n",
" obsm: 'length', 'abundance', 'variance'"
]
@@ -1636,14 +1736,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Biotype filtering"
+ "## Biotype filtering\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "For some use cases, it may be of interest to restrict the results to certain gene_biotypes, e.g., protein-coding only. First, generate a transcript-to-gene mapping from an annotation GTF file that includes the gene biotype."
+ "For some use cases, it may be of interest to restrict the results to certain gene_biotypes, e.g., protein-coding only. First, generate a transcript-to-gene mapping from an annotation GTF file that includes the gene biotype.\n"
]
},
{
@@ -1738,7 +1838,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Then, import quantification files using the transcript-to-gene mapping and filter the counts by biotype."
+ "Then, import quantification files using the transcript-to-gene mapping and filter the counts by biotype.\n"
]
},
{
@@ -1750,7 +1850,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "Reading quantification files: 1it [00:00, 19.53it/s]\n",
+ "Reading quantification files: 1it [00:00, 2.60it/s]\n",
"WARNING:root:Not all transcripts are present in the mapping. 253161 out of 253181 missing. Removing the missing transcripts.\n"
]
},
@@ -1792,7 +1892,7 @@
"source": [
"## Downstream analysis with PyDESeq2\n",
"\n",
- "The output from `pytximport` can easily be used for downstream analysis with `PyDESeq2`. For more information on `PyDESeq2`, please consult its [documentation](https://pydeseq2.readthedocs.io/en/latest/)."
+ "The output from `pytximport` can easily be used for downstream analysis with `PyDESeq2`. For more information on `PyDESeq2`, please consult its [documentation](https://pydeseq2.readthedocs.io/en/latest/).\n"
]
},
{
@@ -1801,22 +1901,14 @@
"metadata": {},
"outputs": [
{
- "name": "stdout",
+ "name": "stderr",
"output_type": "stream",
"text": [
- "Note: you may need to restart the kernel to use updated packages.\n"
+ "/Users/malte/pytximport/.venv/lib/python3.13/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
+ " from .autonotebook import tqdm as notebook_tqdm\n"
]
}
],
- "source": [
- "%pip install pydeseq2 numba==0.60.0 decoupler adjustText omnipath tqdm ipywidgets seaborn -q"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
"source": [
"import decoupler as dc\n",
"from pydeseq2.dds import DeseqDataSet\n",
@@ -1828,31 +1920,31 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Load the .csv file generated by `pytximport` via the `output_path` argument or create it directly from the output of `pytximport`. In this case, we are working with the salmon quantification files from a public bulk RNA sequencing dataset: [Podocyte injury in Fabry nephropathy](https://www.ebi.ac.uk/ena/browser/view/PRJNA773084)"
+ "Load the .csv file generated by `pytximport` via the `output_path` argument or create it directly from the output of `pytximport`. In this case, we are working with the salmon quantification files from a public bulk RNA sequencing dataset: [Podocyte injury in Fabry nephropathy](https://www.ebi.ac.uk/ena/browser/view/PRJNA773084)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Round count estimates (required by PyDESeq2) and add the corresponding metadata."
+ "Round count estimates (required by PyDESeq2) and add the corresponding metadata.\n"
]
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "AnnData object with n_obs × n_vars = 4 × 40768\n",
+ "AnnData object with n_obs × n_vars = 4 × 41127\n",
" obs: 'condition'\n",
" uns: 'counts_from_abundance', 'inferential_replicates'\n",
" obsm: 'length', 'abundance', 'variance'"
]
},
- "execution_count": 22,
+ "execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
@@ -1867,24 +1959,24 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Filter genes with low counts out."
+ "Filter genes with low counts out.\n"
]
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "AnnData object with n_obs × n_vars = 4 × 14714\n",
+ "AnnData object with n_obs × n_vars = 4 × 14776\n",
" obs: 'condition'\n",
" uns: 'counts_from_abundance', 'inferential_replicates'\n",
" obsm: 'length', 'abundance', 'variance'"
]
},
- "execution_count": 23,
+ "execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
@@ -1898,18 +1990,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Now perform your `PyDESeq2` analysis."
+ "Now perform your `PyDESeq2` analysis.\n"
]
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"dds = DeseqDataSet(\n",
" adata=result,\n",
- " design_factors=\"condition\",\n",
+ " design=\"~condition\",\n",
" refit_cooks=True,\n",
" inference=DefaultInference(n_cpus=8),\n",
" quiet=True,\n",
@@ -1918,14 +2010,14 @@
},
{
"cell_type": "code",
- "execution_count": 25,
+ "execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/Users/au734063/Documents/code/pytximport-publish/pytximport/.venv/lib/python3.12/site-packages/pydeseq2/dds.py:490: UserWarning: As the residual degrees of freedom is less than 3, the distribution of log dispersions is especially asymmetric and likely to be poorly estimated by the MAD.\n",
+ "/Users/malte/pytximport/.venv/lib/python3.13/site-packages/pydeseq2/dds.py:541: UserWarning: As the residual degrees of freedom is less than 3, the distribution of log dispersions is especially asymmetric and likely to be poorly estimated by the MAD.\n",
" self.fit_dispersion_prior()\n"
]
}
@@ -1936,32 +2028,31 @@
},
{
"cell_type": "code",
- "execution_count": 26,
+ "execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
- "stat_result = DeseqStats(dds, contrast=(\"condition\", \"Disease\", \"Control\"), quiet=True)"
+ "stat_result = DeseqStats(dds, contrast=[\"condition\", \"Disease\", \"Control\"], quiet=True)"
]
},
{
"cell_type": "code",
- "execution_count": 27,
+ "execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
- "%%capture\n",
"stat_result.summary()\n",
- "stat_result.lfc_shrink()"
+ "stat_result.lfc_shrink(coeff=\"condition[T.Disease]\")"
]
},
{
"cell_type": "code",
- "execution_count": 28,
+ "execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAHACAYAAAB3WSN5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADZFElEQVR4nOzdd1xTVxsH8N9Nwg5DEEUUUERFcdaJExUFtVYrddUBbi1u27q3VuvCqrhahb6tu87a1i2KdQ+sW9wL3AQIO7nvH9SUGJAhGIK/7+eTzxvuPffc5+a1ypNzznMEURRFEBEREREREQBAou8AiIiIiIiIChMmSURERERERBkwSSIiIiIiIsqASRIREREREVEGTJKIiIiIiIgyYJJERERERESUAZMkIiIiIiKiDJgkERERERERZSDTdwAFTa1W48mTJ7C0tIQgCPoOh4iIiIiI9EQURcTFxcHR0RESSdbjRUU+SXry5AmcnJz0HQYRERERERUSDx8+RJkyZbI8X+STJEtLSwDpH4SVlZWeoyEiovelVqvx8OFDAICTk9M7vwnUJ0OJk4joYxIbGwsnJydNjpCVIp8kvZliZ2VlxSSJiKgIUCqVqF69OgAgPj4eFhYWeo4oc4YSJxHRxyi7ZTj8WouIiIiIiCgDJklEREREREQZMEkiIspnz58/x5AhQ+Ds7AwTExM4ODjAx8cHf//9NwCgbNmyEAQBgiDAwsICn3zyCbZs2aK5ftq0aZrzMpkMZcuWxahRoxAfH69pM3z4cNSuXRsmJiaoWbPmh35EIiKiIq3Ir0kiIvrQ/Pz8kJKSgp9//hmurq54+vQpDh48iJcvX2razJgxAwMGDEBsbCwWLlyIrl27onTp0mjYsCEAwMPDAwcOHEBaWhr+/vtv9O3bFwkJCVi1apWmj759++LUqVP4559/PvgzEhERFWVMkoiI8lFMTAzCw8MRFhaGZs2aAQBcXFxQr149rXaWlpZwcHCAg4MDgoOD8euvv+L333/XJEkymQwODg4AgK5du+LgwYPYtWuXJklasmQJgPRRKyZJRERE+YvT7YiI8pFcLodcLseOHTuQnJyco2tkMhmMjIyQkpKSZRszM7N3niciIqL8w5EkIqJ8JJPJEBoaigEDBmDlypX45JNP0KxZM3Tr1k1TDjqjlJQULFy4EAqFAi1atMi0z3PnzmH9+vVZnv/YyGQyfPXVV5r3hZWhxElERLr4tzYRUT7z8/NDu3btEB4ejpMnT+Kvv/7CvHnz8NNPPyEgIAAAMHbsWEyaNAlJSUmQy+WYO3cu2rVrp+nj0qVLkMvlUKlUSElJQbt27bBs2TI9PVHhYmJiguDgYH2HkS1DiZOIiHQxSSIiKgCmpqZo1aoVWrVqhcmTJ6N///6YOnWqJkn65ptvEBAQALlcjpIlS+psalepUiXs2rULMpkMjo6OMDY21sNTEBERfZy4JomI6AOoUqUKlEql5ufixYvDzc0NDg4Ome76bWxsDDc3N5QtW5YJ0ltEUcTz58/x/PlziKKo73CyZChxEhGRLo4kERHl0b0XSuyIeIzYxDTULVsM3lVKIjbmNTp37oy+ffuievXqsLS0xNmzZzFv3jx06NAh3+5969YtxMfHIzo6GomJiYiIiACQnowV9aQqISEBJUqUAADEx8fDwsJCzxFlzlDiJCIiXUySiIjy4NeT9zF552VIIEAQgLV/34WHoxVCetdC/fr1ERQUhNu3byM1NRVOTk4YMGAAJkyYkG/379+/P44cOaL5uVatWgCAu3fvomzZsvl2HyIioo+RIBbxOQCxsbGwtraGQqGAlZWVvsMhoiLg3gslmi8Mw9t/e0oFoEcDF8zoUFU/gX0klEol5HI5gMI9QmMocRIRfUxymhtwTRIRUS7tjHgCCXTXEalE4Ldzj7j+hIiIyMAxSSIiyqXYpFRkUmsBAJCQooKaORIREZFBY5JERJRLdcvaIi2TTEgiADWdbCCVZJFBERERkUFgkkRElEvelUugWmlrSDPkQm/yoq9bV9JPUERERJRvWN2OiCiXZFIJ1g2oj0X7bmLz2YdISFGhRhkbjGldCY0rFNd3eEWeTCaDv7+/5n1hZShxEhGRLla3IyJ6D6IoQhQBCafYERERFXo5zQ341RYR0XsQBCHLIg5ERERkmJgkERGRQRFFEQkJCQAAc3NzCIU0SzWUOImISBcLNxARkUFJSEiAXC6HXC7XJCGFkaHESUREupgkERERERERZcAkiYiIiIiIKAMmSURERERERBnoNUmaNm3av5Wh/nu5u7trziclJSEwMBB2dnaQy+Xw8/PD06dP9RgxEREREREVdXofSfLw8EBUVJTmdezYMc25UaNG4ffff8eWLVtw5MgRPHnyBJ06ddJjtEREREREVNTpvQS4TCaDg4ODznGFQoE1a9Zg/fr1aNGiBQAgJCQElStXxsmTJ9GgQYMPHSoREREREX0E9J4kRUZGwtHREaampvD09MScOXPg7OyMc+fOITU1Fd7e3pq27u7ucHZ2xokTJ5gkERF9pKRSKb744gvN+8LKUOIkIiJdek2S6tevj9DQUFSqVAlRUVGYPn06mjRpgsuXLyM6OhrGxsawsbHRuqZkyZKIjo7Oss/k5GQkJydrfo6NjS2o8ImISA9MTU2xZcsWfYeRLUOJk4iIdOk1SWrTpo3mffXq1VG/fn24uLhg8+bNMDMzy1Ofc+bMwfTp0/MrRCIiIiIi+sjovXBDRjY2NqhYsSJu3boFBwcHpKSkICYmRqvN06dPM13D9Mb48eOhUCg0r4cPHxZw1EREREREVJQUqiQpPj4et2/fRqlSpVC7dm0YGRnh4MGDmvM3btzAgwcP4OnpmWUfJiYmsLKy0noREVHRoVQqNdtGKJVKfYeTJUOJk4iIdOl1ut3XX3+N9u3bw8XFBU+ePMHUqVMhlUrRvXt3WFtbo1+/fhg9ejRsbW1hZWWFYcOGwdPTk0UbiIiIiIiowOg1SXr06BG6d++Oly9fwt7eHo0bN8bJkydhb28PAAgKCoJEIoGfnx+Sk5Ph4+OD5cuX6zNkIiIiIiIq4gRRFEV9B1GQYmNjYW1tDYVCwal3RERFgFKphFwuB5A+TdvCwkLPEWXOUOIkIvqY5DQ3KFRrkoiIiIiIiPSNSRIREREREVEGTJKIiIiIiIgy0GvhBiIiotySSqVo27at5n1hZShxEhGRLhZuICIiIiKijwILNxAREREREeUBkyQiIiIiIqIMmCQREZFBUSqVsLCwgIWFBZRKpb7DyZKhxElERLpYuIGIiAxOQkKCvkPIEUOJk4iItHEkiYiIiIiIKAMmSURERERERBkwSSIiIiIiIsqASRIREREREVEGTJKIiIiIiIgyYHU7IiIyKBKJBM2aNdO8L6wMJU4iItIliKIo6juIghQbGwtra2soFApYWVnpOxwiIiIiItKTnOYG/GqLiIiIiIgoAyZJREREREREGTBJIiIig6JUKmFvbw97e3solUp9h5MlQ4mTiIh0sXADEREZnBcvXug7hBwxlDiJiEgbR5KIiIiIiIgyYJJERERERESUAZMkIiIiIiKiDJgkERERERERZcAkiYiIiIiIKANWtyMiIoMikUhQp04dzfvCylDiJCIiXYIoiqK+gyhIsbGxsLa2hkKhgJWVlb7DISIiIiIiPclpbsCvtoiIiIiIiDJgkkRERERERJQBkyQiIjIoCQkJKFu2LMqWLYuEhAR9h5MlQ4mTiIh0sXADEREZFFEUcf/+fc37wspQ4iQiIl0cSSIiIiIiIsqASRIREREREVEGTJKIiIiIiIgyYJJERERERESUAZMkIiIiIiKiDFjdjoiIDIogCKhSpYrmfWFlKHESEZEuJklERGRQzM3NceXKFX2HkS1DiZOIiHRxuh0REREREVEGTJKIiIiIiIgyYJJEREQGJSEhAR4eHvDw8EBCQoK+w8mSocRJRES6uCaJiIgMiiiKuHr1quZ9YWUocRIRkS6OJBEREREREWXAJImIiIiIiCgDJklEREREREQZMEkiIiIiIiLKgEkSERERERFRBqxuR0REBkUQBLi4uGjeF1aGEicREelikkRERAbF3Nwc9+7d03cY2TKUOImISBen2xEREREREWXAJImIiIiIiCgDJklERGRQEhMTUbduXdStWxeJiYn6DidLhhInERHp4pokIiIyKGq1GmfPntW8L6wMJU4iItLFkSQiIiIiIqIMmCQRERERERFlwCSJiIiIiIgog0KTJM2dOxeCIGDkyJGaY0lJSQgMDISdnR3kcjn8/Pzw9OlT/QVJRERERERFXqFIks6cOYNVq1ahevXqWsdHjRqF33//HVu2bMGRI0fw5MkTdOrUSU9REhERERHRx0DvSVJ8fDx69OiBH3/8EcWKFdMcVygUWLNmDRYtWoQWLVqgdu3aCAkJwfHjx3Hy5Ek9RkxERPpWvHhxFC9eXN9hZMtQ4iQiIm16T5ICAwPRrl07eHt7ax0/d+4cUlNTtY67u7vD2dkZJ06cyLK/5ORkxMbGar2IiKjosLCwwPPnz/H8+XNYWFjoO5wsGUqcRESkS6/7JG3cuBHnz5/HmTNndM5FR0fD2NgYNjY2WsdLliyJ6OjoLPucM2cOpk+fnt+hEhERERHRR0JvI0kPHz7EiBEjsG7dOpiamuZbv+PHj4dCodC8Hj58mG99ExERERFR0ae3JOncuXN49uwZPvnkE8hkMshkMhw5cgRLliyBTCZDyZIlkZKSgpiYGK3rnj59CgcHhyz7NTExgZWVldaLiIiKjsTERHh5ecHLywuJiYn6DidLhhInERHp0tt0u5YtW+LSpUtax/r06QN3d3eMHTsWTk5OMDIywsGDB+Hn5wcAuHHjBh48eABPT099hExERIWAWq3GkSNHNO8LK0OJk4iIdOktSbK0tETVqlW1jllYWMDOzk5zvF+/fhg9ejRsbW1hZWWFYcOGwdPTEw0aNNBHyERERERE9BHQa+GG7AQFBUEikcDPzw/Jycnw8fHB8uXL9R0WEREREREVYYIoiqK+gyhIsbGxsLa2hkKh4PokIqIiQKlUQi6XA0jfa6+wltc2lDiJiD4mOc0N9L5PEhERERERUWHCJImIiIiIiCiDQr0miYiIKDPm5ub6DiFHDCVOIiLSxiSJiIgMioWFBZRKpb7DyJahxElERLo43Y6IiIiIiCgDJklEREREREQZMEkiIiKDkpSUhHbt2qFdu3ZISkrSdzhZMpQ4iYhIF9ckERGRQVGpVPjzzz817wsrQ4mTiIh0cSSJiIiIiIgoAyZJREREREREGTBJIiIiIiIiyoBJEhERERERUQZMkoiIiIiIiDJgkkRERERERJQBS4ATEZFBsbCwgCiK+g4jW4YSJxER6eJIEhERERERUQZMkoiIiIiIiDJgkkRERAYlKSkJnTt3RufOnZGUlKTvcLJkKHESEZEuQSziE6ZjY2NhbW0NhUIBKysrfYdDRETvSalUQi6XAwDi4+NhYWGh54gyZyhxEhF9THKaG3AkiYiIiIiIKAMmSURERERERBkwSSIiIiIiIsqASRIREREREVEGTJKIiIiIiIgyYJJERERERESUgUzfARAREeWGubk54uPjNe8LK0OJk4iIdDFJIiIigyIIgkHsOWQocRIRkS5OtyMiIiIiIsqASRIRERmU5ORkBAQEICAgAMnJyfoOJ0uGEicREekSRFEU9R1EQYqNjYW1tTUUCgWsrKz0HQ4REb0npVIJuVwOAIiPjy+0U9oMJU4ioo9JTnMDjiQRERERERFlwCSJiIiIiN7p+fPnGDJkCJydnWFiYgIHBwf4+Pjg77//BgCULVsWgiDovObOnQsAuHfvntZxW1tbNGvWDOHh4Vr3mTZtmqaNTCZD2bJlMWrUKE2lyDf9REREaP1cokQJxMXFafVVs2ZNTJs2TedZNmzYAKlUisDAwEyfdfPmzahZsybMzc3h4uKC+fPnv89HRwaKSRIRERERvZOfnx8uXLiAn3/+GTdv3sSuXbvg5eWFly9fatrMmDEDUVFRWq9hw4Zp9XPgwAFERUXh6NGjcHR0xKeffoqnT59qtfHw8EBUVBTu3buH77//HqtXr8aYMWPeGV9cXBwWLFiQo2dZs2YNvv32W2zYsAFJSUla5/766y/06NEDgwcPxuXLl7F8+XIEBQVh2bJlOeqbig4mSURERESUpZiYGISHh+P7779H8+bN4eLignr16mH8+PH47LPPNO0sLS3h4OCg9Xp7LZ6dnR0cHBxQtWpVTJgwAbGxsTh16pRWG5lMBgcHB5QpUwZdu3ZFjx49sGvXrnfGOGzYMCxatAjPnj17Z7u7d+/i+PHjGDduHCpWrIht27Zpnf/ll1/QsWNHDB48GK6urmjXrh3Gjx+P77//HkV8GT+9hUkSERERFRkBAQGa6VpGRkYoWbIkWrVqhbVr10KtVmvaZZweZmFhgU8++QRbtmxBcnIyPDw8MHDgQJ2+v/32W5QrVw5xcXGIiorCl19+iYoVK0IikWDkyJE67VNTUzFjxgyUL18epqamqFGjBvbs2aMTb8eOHbN8ntWrV8PLywtWVlYQBAExMTF5/WjyTC6XQy6XY8eOHflWqTExMRH/+9//AADGxsbvbGtmZoaUlJR3tunevTvc3NwwY8aMd7YLCQlBu3btYG1tjZ49e2LNmjVa55OTk2Fqaqpz/0ePHuH+/fvv7JuKFiZJREREVKT4+vpqpmv99ddfaN68OUaMGIFPP/0UaWlpmnZvpodduHABdevWRdeuXXHu3Dn873//Q2hoKPbu3atpe/LkSQQFBSE0NBSWlpZITk6Gvb09Jk2ahBo1amQax6RJk7Bq1SosXboUV69exeDBg/H555/jwoULOX6WhIQE+Pr6YsKECXn/QN6TTCZDaGgofv75Z9jY2KBRo0aYMGEC/vnnH612Y8eO1SRUb15vrzlq2LAh5HI5LCwssGDBAtSuXRstW7bM8t7nzp3D+vXr0aJFi3fG+Gb90+rVq3H79u1M26jVaoSGhqJnz54AgG7duuHYsWO4e/eupo2Pjw+2bduGgwcPQq1W4+bNm1i4cCEAICoq6p0xUNHCJImIiAyKubk5nj17hmfPnsHc3Fzf4WTJUOIsit4UFihdujQ++eQTTJgwATt37sRff/2F0NBQTbs308MqVqyI4OBgmJmZ4ffff0ft2rUxceJE9OvXDzExMUhKSkKfPn0wbNgwNGvWDED6SNQPP/yA3r17w9raOtM4fvnlF0yYMAFt27aFq6srhgwZgrZt22p+6c6JkSNHYty4cWjQoMF7fSbvy8/PD0+ePMGuXbvg6+uLsLAwfPLJJ1qf5zfffIOIiAitV506dbT62bRpEy5cuICtW7fCzc0NoaGhMDIy0mpz6dIlyOVymJmZoV69evD09MzRmiAfHx80btwYkydPzvT8/v37oVQq0bZtWwBA8eLFNaOMbwwYMABDhw7Fp59+CmNjYzRo0ADdunUDAEgk/LX5YyLTdwBERES5IQgC7O3t9R1Gtgwlzo9FixYtUKNGDWzbtg39+/fXOS+TyWBkZKSZ1jVx4kT8/vvvGD58OEqUKAFBEPDdd9/l6p5ZTd06duxY3h9Ej0xNTdGqVSu0atUKkydPRv/+/TF16lQEBAQASE863Nzc3tmHk5MTKlSogAoVKiAtLQ2ff/45Ll++DBMTE02bSpUqYdeuXZDJZHB0dMx2Ol5Gc+fOhaenJ7755hudc2vWrMGrV69gZmamOaZWq/HPP/9g+vTpkEgkEAQB33//Pb777jtER0fD3t4eBw8eBAC4urrmOA4yfEyJiYiI6KPg7u6Oe/fu6RxPSUnBnDlzoFAoNNO6ZDIZ/ve//2HLli1YunQp/ve//+kkPNnx8fHBokWLEBkZCbVajf3792Pbtm1FZtpWlSpVoFQq83z9F198AZlMhuXLl2sdNzY2hpubG8qWLZurBAkA6tWrh06dOmHcuHFax1++fImdO3di48aNWiNdFy5cwOvXr7Fv3z6t9lKpFKVLl4axsTE2bNgAT09PfunxkeFIEhERGZTk5GSMHj0aALBo0SKtb6ALE0OJ82MiiiIEQdD8PHbsWEyaNAlJSUmQy+WYO3cu2rVrpzlfpUoV+Pn5ISYmRmfaWE788MMPGDBgANzd3SEIAsqXL48+ffpoTe8yBC9fvkTnzp3Rt29fVK9eHZaWljh79izmzZuHDh06aNrFxcUhOjpa61pzc3NYWVll2q8gCBg+fDimTZuGQYMG5du01NmzZ8PDwwMy2X+/5v7yyy+ws7NDly5dtP4MAEDbtm2xZs0a+Pr64sWLF/jtt9/g5eWFpKQkhISEYMuWLThy5Ei+xEaGgyNJRERkUNLS0rB8+XIsX75caxF+YWMocX5Mrl27hnLlyml+frOG5tGjR3j9+jXGjh2rc41MJtP6ZTs37O3tsWPHDiiVSty/fx/Xr1+HXC43uGlbcrkc9evXR1BQEJo2bYqqVati8uTJGDBggNZaoSlTpqBUqVJar2+//fadffv7+yM1NTVf9yGqWLEi+vbtq7UH0tq1a/H555/rJEhA+nqrXbt24cWLFwCAn3/+GXXq1EGjRo1w5coVhIWFoV69evkWHxkGjiQRERFRkXfo0CFcunQJo0aN0hzLyRqa/GBqaorSpUsjNTUVW7duRZcuXQr8nu+iTknBy5Ur8XrTZqhiYmDq4QH7oYGQN22aaXsTExPMmTMHc+bMybLPzKYxZlS2bNlM9xkyNzfHq1evND9PmzYN06ZNy3E/WfW7atUqrFq1SvPz25X4MurSpYvW/ycnTpzIsi19PJgkERERUZGSnJyM6OhoqFQqPH36FHv27MGcOXPw6aefonfv3vl2n4iICABAfHw8nj9/joiICBgbG6NKlSoAgFOnTuHx48eoWbMmHj9+jGnTpkGtVuuMrigUCk1fb9jZ2cHJyQnR0dGIjo7GrVu3AKRXfrO0tISzszNsbW1zHbMoing8fATijx4F/t03KunyZTwcNBill/wAq1atct0nUVGU5yQpNTUV0dHRSEhIgL29fZ7+QyUiIiLKb3v27EGpUqUgk8lQrFgx1KhRA0uWLIG/v3++lnGuVauW5v2b/XxcXFw0oypJSUmYNGkS7ty5A7lcjrZt2+KXX36BjY2NVj9hYWFafQFAv3798NNPP2HlypWYPn265njTf0d7QkJCNFXlciMxIgLxYWHaB9VqPEpNRfDgwbhfpQoeP36MXbt2oUyZMrnun6ioEMTMxiizEBcXh19//RUbN27E6dOnkZKSolkEWaZMGbRu3RoDBw5E3bp1CzLmXImNjYW1tTUUCkWWCweJiMhwKJVKyOVyAOnf4FtYWOg5oswZSpyUc28XfjBEL1atxvMfftCMIr2x9tVL/PzqNT7xaoYGjRtj3Lhxua7mR2QIcpob5HgkadGiRZg9ezbKly+P9u3bY8KECXB0dISZmRlevXqFy5cvIzw8HK1bt0b9+vWxdOlSVKhQIV8ehoiIiEifcvGdcqEmkVsAmTxLX1s79C1uj0o7d0LChJ4o50nSmTNncPToUXh4eGR6vl69eujbty9WrlyJkJAQhIeHM0kiIiIig/Zm9MjQR5DesPLxwdM5c4G3Ky5KpZA392KCRPSvHE/M3bBhQ5YJUkYmJiYYPHgw+vbt+16BERERZcbMzAx3797F3bt3YWZmpu9wsmQocQJAQECAJhEwMjJCuXLl8O2332qVUH5zXhAEWFtbo1GjRjh06JBWHx07dszyHqtXr4aXlxesrKwgCAJiYmKybJucnIyaNWtCEASdggYFLTExEatWrUJsbGyRGT3KSFa8OBy/mw1IJIBUCvxb3tyoVCk4TJ6s5+iICo98Wb0YGxuLHTt24Nq1a/nRHRERUZYkEgnKli2LsmXL5usi/PxmKHG+4evri6ioKNy5cwdBQUFYtWoVpk6dqtUmJCQEUVFR+Pvvv1G8eHF8+umnuHPnTo76T0hIgK+vLyZMmJBt22+//RaOjo55eo73ceXKFdSrVw8jR47E48ePAaDIjCBlZP3ZZyi/5y8UHzQINl/4odTsWXD9fReMSpbUd2hEhUae/tbu0qWLZtOvxMRE1KlTB126dEH16tWxdevWfA2QiIiICp6JiQkcHBzg5OSEjh07wtvbG/v379dqY2NjAwcHB1StWhUrVqxAYmKiTpusjBw5EuPGjUODBg3e2e6vv/7Cvn37sGDBgjw/S26JoohVq1ahTp06UKvVOHPmDCpXrlwkE6Q3jJ2dYT98GEpNmwYbPz9ICvloJ9GHlqck6ejRo2jSpAkAYPv27RBFETExMViyZAlmzZqVrwESERFllJKSgm+++QbffPMNUlJS9B1OlgwlzsxcvnwZx48fh7GxcZZt3kwhzM9ne/r0KQYMGIBffvkF5ubm+dbvu7x+/RqdO3fG4MGD4e/vjzNnzqBq1aof5N5EVHjlKUlSKBSafZH27NkDPz8/mJubo127doiMjMzXAImI8lPGdRWZvaZNm4Z79+7prIWIi4tD8+bNUaVKFTx69AgXL15E9+7d4eTkBDMzM1SuXBk//PCD/h7sI5KamooFCxZgwYIFSE1N1Xc4WTKUON/YvXs35HI5TE1NUa1aNTx79gzffPNNpm0TEhIwadIkSKVSNGvWLF/uL4oiAgICMHjwYNSpUydf+szO33//jZo1a+LgwYP47bffsHLlyg+WnBFR4ZanJMnJyQknTpyAUqnEnj170Lp1awDp38awpj4RFWZRUVGa1+LFi2FlZaV17Ouvv9a55vnz52jevDmUSiXCw8NRpkwZnDt3DiVKlMCvv/6KK1euYOLEiRg/frxmKjKRoWnevDkiIiJw6tQp+Pv7o0+fPvDz89Nq0717d8jlclhaWmLr1q1Ys2YNqlevni/3X7p0KeLi4jB+/Ph86e9dVCoVZs6ciaZNm8LJyQkRERE6z5qdrApVhIWFaRWmUKlUCAoKQrVq1WBqaopixYqhTZs2+Pvvv3WuTUxMxNSpU1GxYkWYmJigePHi6Ny5M65cuaLVbtq0aahZs6bWsfDwcNjY2GDkyJEQRRFXrlyBn58fypYtC0EQsHjx4lw9H9HHLsclwDMaOXIkevToAblcDhcXF3h5eQFIn4ZXrVq1/IyPiChfOTg4aN5bW1tDEAStYwDw4sULzfuHDx+iVatWKF26NHbu3KnZHPTtCp6urq44ceIEtm3bhqFDhxbgExAVDAsLC7i5uQEA1q5dixo1amDNmjXo16+fpk1QUBC8vb1hbW0Ne3v7fL3/oUOHcOLECZiYmGgdr1OnDnr06IGff/45X+7z6NEj9OzZE0ePHsWkSZMwZcoUyGR5+nUoW6Ioolu3bjhw4ADmz5+Pli1bIjY2FsHBwfDy8sKWLVs0iVZycjK8vb3x4MEDLFy4EPXr18fTp08xZ84c1K9fHwcOHMhyPdcff/yBzp07Y9y4cZgyZQqA9NE+V1dXdO7cGaNGjSqQ5yMqyvL0t8JXX32FevXqaX55eFO1x9XVlWuSiKjIuHHjBr755hvUqVMHGzZs0Pnl7W0ZpyITGTKJRIIJEyZg9OjR+PLLLzXrjxwcHDSJVH57e13zkydP4OPjg02bNqF+/fr5co9du3ahT58+MDMzw6FDhzRf8haUzZs347fffsOuXbvQvn17zfHVq1fj5cuX6N+/P1q1agULCwssXrwYJ06cwIULF1CjRg0AgIuLC7Zu3Yr69eujX79+uHz5sk4xifXr16NPnz5YuHCh1hc0devWRd26dQEA48aNK9DnJCqK8lyTtE6dOvj8888136oCQLt27dCoUaN8CYyISN969+4NNzc3bNmyJdsE6fjx49i0aRMGDhz4gaIjKlidO3eGVCpFcHBwjq9RKBSIiIjQej18+BAAEB0djYiICNy6dQsAcOnSJURERODVq1cAAGdnZ1StWlXzqlixIgCgfPnyKFOmzHs9S1JSEoYNG4YOHTqgSZMmuHjxYoEnSEB6AlOxYkWtBOmNMWPG4OXLl5rqgOvXr0erVq00CdIbEokEo0aNwtWrV3Hx4kWtc8HBwejTpw/Wrl3LEWyifJbjkaTRo0fnuNNFixblqN2KFSuwYsUK3Lt3DwDg4eGBKVOmoE2bNgDS/1IbM2YMNm7ciOTkZPj4+GD58uUoyTr+RPQBfPbZZ9ixYwe2bduGzp07Z9nu8uXL6NChA6ZOnapZo0lk6GQyGYYOHYp58+ZhyJAhObomLCwMtWrV0jrWr18//PTTT1i5ciWmT5+uOd60aVMA6XsvBQQE5Fvcb7t27Rq6deuGGzduYNmyZfjqq6/yrbT3m2IXGalUKs37mzdvonLlyple++b4zZs3Nf/bvHnzbNu+WYt07do1DB06FGvWrEGPHj3e6zmISFeOk6QLFy7kqF1u/uIpU6YM5s6diwoVKkAURfz888/o0KEDLly4AA8PD4waNQp//PEHtmzZAmtrawwdOhSdOnXKdLEjEVF+mzhxIqpXr44vv/wSoiiiS5cuOm2uXr2Kli1bYuDAgZg0aZIeoiR6f6GhoVo/q+KVSLp6BSPat8fYsWMhCAJEUcy2j7f7yWjatGmYNm1ajmMqW7Zstvd8QxRFpNy6hbRXr2FSsQJkxYpBFEWsXbsWw4cPh4uLC06fPv3OIhPqpCQkXb4MwdgYph4eEKTSbO/bvHlzrFixQuvYqVOn0LNnT63Ycio3bcuUKQMbGxvMnz8fbdq0QalSpXJ8LRFlL8dJ0uHDh/P95m8PP8+ePRsrVqzAyZMnUaZMGaxZswbr169HixYtAKR/21S5cmWcPHky283oiIjeuB4di31XnkIUgZaVS6BqaescXzt58mRIJBL06NEDoiiia9eumnNXrlxBixYt4O/vj9mzZxdE6JQJMzMzXL58WfO+sDKUODMSRRGv1q7F86XLICYlAQCMnJ1ReuFCmFUrnHsHpdy/j8ejRiPp6tX0AzIZpF/4Ycq1a9i0eTMGDBiAoKAgWFhYZNnH602b8WzePKiVyvQuHBzgOHcuLBq8ey1UxmIXbzx69EjzvmLFirh27Vqm1745/mZaYW7aAoClpSUOHDiAVq1aoXnz5jh8+DATJaJ8lOc1SflNpVJh48aNUCqV8PT0xLlz55Camgpvb29NG3d3dzg7O+PEiRNZ9pOcnIzY2FitFxF9nERRxMzdV+G7OBw/HIjEkkOR+HTpMUzacSlX39hOnDgRM2fORI8ePbBhwwYA6VPsmjdvjtatW2P06NGIjo5GdHQ0nj9/XlCPQ/+SSCTw8PCAh4eHpnBQYWQocWak2LETz+Yv0CRIAJD66BEe9OmDtNev9RhZ5sSUFNwP6IOkGzc0x5JTUtDqu+/w1++/Y9OmTVi9evU7E6S4sDBET52qSZAAIO3ZMzwcOBApGRKevOjWrRsiIyPx+++/65xbuHAh7Ozs0KpVK03bAwcO6Kw7UqvVCAoKQpUqVXTWKxUrVgwHDhyAlZUVvLy88OTJk/eKl4j+k+eal2fPnsXmzZvx4MEDnd22t23bluN+Ll26BE9PTyQlJUEul2P79u2oUqUKIiIiYGxsDBsbG632JUuWRHR0dJb9zZkzR2vOMxF9vPZeeYo1x+4CAFSiCPybF/168gHqls1dFbpx48ZBIpGgV69eEEURN2/exPPnz/Hrr7/i119/1bRzcXHRrLMkMjQvf/oJEARAFPE4NQUhr16hR7FiKCeKUGzfAbu+ffQdopa4Q4eQFhUF4L+pajJBQBcbG/iWckSLTp2y7ePV2hBAIgHU6v8OqtXY/vIlrnfujOfFiuHBgwfw9vbO9V5D3bp1w5YtW+Dv769TAnzXrl3YsmWLJoEbNWoUdu7cifbt22uVAP/uu+9w7do1HDhwINMlDTY2Nti/fz98fHzg5eWFsLAwODo6IiUlBVf/HV1LSUnB48ePERERAblcXmAVComKkjx9tbVx40Y0bNgQ165dw/bt25GamoorV67g0KFDsLbO+TQWAKhUqZJm87ohQ4bA399f8x91XowfPx4KhULzelNVh4g+PlvOPoQkk2WSEgHYfOYhAgICNBs+ZvRmLcTbmzV+++23SEtLw5dffolp06ZBFEWdFxOkgpeSkqJZ3/L2l3SFiaHEmVHK/fvAv8nG5OhoHIqPhxQCIJUi5e4dPUenK/nOHUAq1SRIgiBAKgjoa2sHx+RkqDL571unj9u3tBOkf+2MeY1zt27B2NgYLVq0QLt27XIdnyAI2Lx5MyZMmICgoCBUqlQJTZo0wf379xEWFqa1Ga2pqSkOHTqE3r17Y8KECXBzc4Ovry+kUmm2ywysra2xb98+FC9eHM2aNcPjx4/x5MkT1KpVC7Vq1UJUVBQWLFiAWrVqoX///rl+DqKPkSDmZs7Jv6pXr45BgwYhMDAQlpaWuHjxIsqVK4dBgwahVKlS7zWS4+3tjfLly6Nr165o2bIlXr9+rTWa5OLigpEjR+Z4Y7TY2FhYW1tDoVDAysoqz3ERkeHpGPw3Ih7GZHrO3cESe0Y2/bABUb5QKpWaimLx8fHvnEqlT4YSZ0a3fHyR+uABIIp4nZYGU4kEZhIJIJHAfuRIFB84QN8halH8/jsef/1NpiMsEgsLVDxxHIKx8Tv7uNf9SyRevKibKEmlsO3VCyXHjc3PkIlIz3KaG+RpJOn27duab1SMjY2hVCohCAJGjRqF1atX5y3if6nVaiQnJ6N27dowMjLCwYMHNedu3LiBBw8ewNPT873uQUQfh3rlbCHN5JcnqURAvXLc9JXobXZ9AjQjScVkMk2CJBgbw+bzjnqNLTNyb29Ii9ulT5fLSBBQrEePbBMkALD199dNkAQBEATYZFLRkog+DnlKkooVK4a4uDgAQOnSpTXVe2JiYpCQkJDjfsaPH4+jR4/i3r17uHTpEsaPH4+wsDD06NED1tbW6NevH0aPHo3Dhw/j3Llz6NOnDzw9PVnZjohyxL9hWZibSLUSJakgwEQmQb/G5fQYGVHhZNO1K+wGDgRk/y1Zltrawmn1Ksjs7fUYWeakZmZwWRsCozKl/zsoCLDu9Dnsh+Vsc1UrXx+U+OZrrYRKYmWFMkuWwMSVf08QfazyVLihadOm2L9/P6pVq4bOnTtjxIgROHToEPbv34+WLVvmuJ9nz56hd+/eiIqKgrW1NapXr469e/dqKr0EBQVBIpHAz89PazNZIqKcKG1jhq1DGmLW7qsIj3wBEUB9V1tMalcFLnaFf+oT0YcmCAJKjB4FW//eSIyIgMTCAuZ16kCQ5bnOU4EzrVQR5ffsQWJEBNJevoSZhweMHB1z1Yddv36w+eILJJw7B8HYBOb16kKSg1EoIiq68rQm6dWrV0hKSoKjoyPUajXmzZuH48ePo0KFCpg0aRKKFStWELHmCdckEREAJKWqAACmRtlvEEmFm6Gs9TGUOImIPiY5zQ3y9NWQre1/c/klEgnGjRuXl26IiD4YJkdERESUU3lak+Tt7Y3Q0FBu1EpEREREREVOnpIkDw8PjB8/Hg4ODujcuTN27tyJ1NTU/I6NiIhIh6mpKU6fPo3Tp0/D1NRU3+FkSR9xRkdHY9iwYXB1dYWJiQmcnJzQvn17HDx4EE+ePEGxYsWwZMkSrWtOnToFIyMj7Nu3D0D6/k7z5s1DjRo1YG5ujuLFi6NRo0YICQnR/FsfEBCgtcdPZnH06tULDg4OsLCwwCeffIKtW7cW2HMTEeW3PK1JAtJLdR84cADr16/H9u3bIZVK8cUXX6BHjx5o1qxZfseZZ1yTREREH4N79+6hUaNGsLGxwYwZM1CtWjWkpqZi7969WL16Na5fv45ff/0VgwYNQkREBCpUqIDExETUqlULzZs3x4oVK5CSkgIfHx9cvHgRM2fORKNGjWBlZYWTJ09iwYIFWLt2LWrWrKnZiHnHjh2ZxtK6dWvExMRg2bJlKF68ONavX4+pU6fi7NmzqFWr1of9YIiIMshpbpDnJCmjpKQk/P7775g9ezYuXboElUr1vl3mGyZJRET0MWjbti3++ecf3LhxQ6dIRExMjGZj9k6dOuHp06cIDw/H6NGj8fvvv+PixYuQy+WYN28exo8fn2kyk5qaipSUFFhYWGSbJMnlcqxYsQK9evXSHLOzs8P333+P/v375+tz61tqdDTiw8IgqtWQN20G44zlyImo0CnQzWQzio6OxsqVK/H999/jn3/+Qd26dd+3SyIioiylpKRg/vz5mD9/PlJSUvQdTpY+ZJyvXr3Cnj17EBgYmGkVvTcJEgCsXLkSkZGR6NGjB5YtW4aQkBBNFb5169bB29s709EeIyOjHFfoa9iwITZt2oRXr15BrVZj48aNSEpKgpeXV56er7B6sfpH3GrREtHTZ+DpzFm43aoVni9Zgnd9/6xSqdCwYUN06tRJ67hCoYCTkxMmTpyIe/fuQRAEzcvOzg6tW7fGhQsXNO29vLwgCAI2btyo1c/ixYtRtmxZzc+hoaGafiQSCcqUKYM+ffrg2bNnmjYZ75Xx9abvsLAwreMlS5aEn58f7ty5o+lj0KBBKF++PMzMzGBvb48OHTrg+vXrefpciQqDPCVJsbGxCAkJQatWreDk5IQVK1bgs88+Q2RkJE6ePJnfMRIREWmkpqbi22+/xbfffluo18N+yDhv3boFURTh7u6ebdsSJUpg5syZ2LhxIwYOHIimTZtqzkVGRuaoj+xs3rwZqampsLOzg4mJCQYNGoTt27fDzc3tvfsuLOL//hvPFy0C1GpAFDWvF8tXIO7AgSyvk0qlCA0NxZ49e7Bu3TrN8WHDhsHW1hZTp07VHDtw4ACioqKwd+9exMfHo02bNoiJidGcNzU1xaRJk7L982VlZYWoqCg8evQIP/74I/766y+tUT4ACAkJQVRUlNbr7XVnN27cwJMnT7BlyxZcuXIF7du318weql27NkJCQnDt2jXs3bsXoiiidevWhWp2EVFu5KkEeMmSJVGsWDF07doVc+bMQZ06dfI7LiIiIsqh3MycV6lUCA0Nhbm5OU6ePIm0tDTI/t0sNh9m4AMAJk+ejJiYGBw4cADFixfHjh070KVLF4SHh6NatWr5cg99i9m8GZBKgbeSgNdqNR4sX4EK5cvD0tIScrkcZmZmWm0qVqyIuXPnYtiwYWjRogVOnz6NjRs34syZMzDOsImtnZ0dHBwc4ODggAULFqBRo0Y4deoUfHx8AADdu3fHrl278OOPP+Krr77KMlZBEODg4AAAcHR0xPDhwzF58mQkJiZqYrOxsdG0yUqJEiVgY2ODUqVKYcqUKejRowdu3bqFSpUqYeDAgZp2ZcuWxaxZs1CjRg3cu3cP5cuXz8EnSlS45GkkadeuXXj06BGCgoKYIBEREelZhQoVIAhCjqY3LViwAHfu3MHZs2fx6NEjfPfdd5pzFStWfO8pUrdv38ayZcuwdu1atGzZEjVq1MDUqVNRp04dBAcHv1ffhUla9FOdBAkAhj58CN8d21G+fHmUKFEC5ubmCAkJ0Wk3bNgw1KhRA7169cLAgQMxZcoU1KhRI8v7vUlmMk7dtLKywsSJEzFjxgwolcocx25mZga1Wo20tLQcX5OTeN5QKpUICQlBuXLl4OTklOd7EOlTnpKkVq1aQSKR4NmzZwgPD0d4eLjW3FYiIiL6cGxtbeHj44Pg4OBMf1l+M0XrypUrmDp1KlasWIHKlStjxYoVmDVrFv755x8AwJdffokDBw5orX15IzU1NUe/iCckJABI32w+I6lUCrVandtHK7RMq1dPH0l6S7CLM3b7B+DAgQPYsWMH1q1bh08//VSnnSAIWLFiBQ4ePIiSJUti3LhxWd4rJiYGM2fOhFwuR7169bTOffXVVzA1NcWiRYtyFHdkZCRWrlyJOnXqwNLSUnO8e/fukMvlWq8HDx5k2kdUVBQWLFiA0qVLo1KlSprjy5cv11z7119/Yf/+/VojY0SGJE9JUlxcHHr16oXSpUujWbNmaNasGUqXLo2ePXtCoVDkd4xERESUjeDgYKhUKtSrVw9bt25FZGQkrl27hiVLlsDT0xNpaWnw9/dHp06dNEUD/Pz84Ofnh4CAAKSlpWHkyJFo1KgRWrZsieDgYFy8eBF37tzB5s2b0aBBA0RGRmrup1AoEBERofV6+PAh3N3d4ebmhkGDBuH06dO4ffs2Fi5ciP37979zbyVDY9uzBwQjIyBjMiiRoJiRMVpOGI+WLVuiQ4cO+PLLL2Fvb59pH2vXroW5uTnu3r2LR48e6Zxv2LAh5HI5ihUrhosXL2LTpk0oWbKkVhsTExPMmDEDCxYswIsXLzK9j0KhgFwuh7m5OSpVqoSSJUtqrYcCgKCgIJ3/Px0dHbXalClTBhYWFnB0dIRSqcTWrVu1kqAePXrgwoULOHLkCCpWrIguXbogKSnpnZ8jUaEl5kGXLl3EChUqiHv27BEVCoWoUCjEPXv2iJUqVRK7du2aly4LjEKhEAGICoVC36EQEVE+iI+PFwGIAMT4+Hh9h5MlfcT55MkTMTAwUHRxcRGNjY3F0qVLi5999pl4+PBhcfr06aKDg4P48uVLrWtevnwpOjg4iNOnTxdFURSTkpLEOXPmiNWqVRNNTU1FW1tbsVGjRmJoaKiYmpoqiqIo+vv7a54t46tfv36iKIrizZs3xU6dOoklSpQQzc3NxerVq4v/+9//Pshn8CElRESItz//XLxayV28WsldvP1pe1F5+nSOrv37779FmUwmHjp0SGzRooXYokULUa1Wi6Ioinfv3hUBiLt27RJv3bolvn79Wuf6Zs2aiSNGjBBFURRVKpVYrVo1ccSIEWJQUJDo4uKiaRcSEiJaWlqKkZGR4u3bt8WEhASdvgCI27dvzzLWw4cPiwDE8+fPi7du3RJjY2Ozfb7k5GTR3NxcXL9+fbZtiT6knOYGeUqSzM3NxfDwcJ3jR48eFc3NzfPSZYFhkkREVLQwSaLCJiU6WkyJitIkOdlRKpVihQoVxGHDhomimJ4UyeVycfny5ZqfAYgXLlzIso+MSZIoiuLu3btFY2NjccSIETpJkrW19TvjyWmSlFmylpWkpCTRzMxMDAkJyfE1RB9CTnODPFW3s7Ozg7W1tc5xa2trFCtWLC9dEhER5YipqSkOHz6seV9YGUqc9P6M3poCl53x48dDFEXMnTsXQHo1uAULFuDrr79GmzZt8hRDu3btUL9+faxatUpnSl5OxMTEIDo6WuuYpaVljvbGunPnDjZt2oTWrVvD3t4ejx49wty5c2FmZoa2bdvmOhaiwiBPa5ImTZqE0aNHa/3HFB0djW+++QaTJ0/Ot+CIiIjeJpVK4eXlBS8vL0gzWThfWBhKnPRhHTlyBMHBwQgJCYG5ubnm+KBBg9CwYUP069cvz6XYv//++zyvAerTpw9KlSql9Vq6dGmOrjU1NUV4eDjatm0LNzc3dO3aFZaWljh+/DhKlCiRp3iI9E0Q8/BfYq1atXDr1i0kJyfD2dkZAPDgwQOYmJigQoUKWm3Pnz+fP5HmUWxsLKytraFQKGBlZaXXWIiIiD6k5Lt38XzJEsQfDgMkElj5+qL48GEwzmY/HCKioiqnuUGeptsVpeo0RET0bgEBAYiJicGOHTs0x3777Tf07NkTs2fPxqVLl/Dzzz8DAGQyGcqUKYPOnTtjxowZ2LhxI/r06fPO/u/evQulUokpU6bg3LlzuH//PoKCgjBy5EitdnFxcZg8eTK2b9+OqKgolClTBuvWrYOnp2d+P3K+SE1NxerVqwEAAwcOhJGR0Qe9f8qjx7jXpSvUCQma/Xx+/d/PWLhwAe49fAgzfsNPRJSlPCVJU6dOze84iIjIQPz0008IDAzEypUr0adPHwQEBMDX1xchISFITU3FuXPn4O/vD0EQMG3aNPj6+mqu7dSpE6pWrYoZM2Zojtnb2+P8+fNwdXVF586dMWrUqEzv279/f1y+fBmrV6+Gr68v7t69C19fX1y9ehWlS5cu8OfOrZSUFAwdOhRAeqL5oZOkV2vXaiVIAGAFAYOK2UK5fQfMBg38oPEQERmSHCdJoihCEISCjIWIiAq5efPmYerUqdi4cSM+//xzzXETExM4/DuFy8nJCd7e3ti/fz++//57mJmZadoZGxvD3Nxc0/aNunXrom7dugCQ6aaaiYmJ2Lp1K3bu3InGjRtrjru6umo2RCVt8X//rZUgAUAzuRwAoDx5AsWZJBERZSnHhRs8PDywceNGpKSkvLNdZGQkhgwZoqnYQkRERcPYsWMxc+ZM7N69WytBetvly5dx/PhxrU0m31daWhpUKpVOlTgzMzMcO3Ys3+5TlEgtLYHMvtyUSNLPERFRlnI8krR06VKMHTsWX331FVq1aoU6derA0dERpqameP36Na5evYpjx47hypUrGDp0KIYMGVKQcRMR0Qf0119/YefOnTh48CBatGihc3737t2Qy+VIS0tDcnIyJBIJli1blm/3t7S0hKenJ2bOnImffvpJc/zUqVNwc3PLt/sUJdYdOyLpyhXdE2o1rNq3//ABEREZkBwnSS1btsTZs2dx7NgxbNq0CevWrcP9+/eRmJiI4sWLo1atWujduzd69OjBvZKIiIqY6tWr48WLF5g6dSrq1asH+b/Ttt5o3rw5VqxYAaVSiaCgIMhkMvj5+eVrDL/88gv69u2rVUW1c+fOuHjxYr7ep6go1rULlMeOIT4sDJDJAFEEVCpYd/4Clt7e+g6PiKhQy3XhhsaNG2vNBycioqKvdOnS+O2339C8eXP4+vrir7/+gmWGKVsWFhaaEZ21a9eiRo0aWLNmDfr165dvMZQvXx5HjhzBs2fPNJtlpqamwtXVNd/uUZQIRkYoszz4v0RJKoNV61Ywq1OHa4yJiLKRp81kiYjo4+Pi4oIjR44gOjoavr6+iIuLy7SdRCLBhAkTMGnSJCQmJuZ7HBYWFpr3Bw8eRIcOHfL9HkWFIJFA3rQpHKZMgcPECTCvW5cJEhFRDuQ6SXrx4gXmzZuHzz//HJ6envD09MTnn3+OefPm4fnz5wURIxERfQBpKjX2XonGpB2XMGv3VVx48FqnjZOTE8LCwvDs2TP4+PggNjY20746d+4MqVSK4ODgHN07JSUFERERiIiIQEpKCh4/foyIiAjcunVL02bv3r3Ys2cPnjx5gpkzZ6JcuXKoVKlStvsw6YuJiQl2796N3bt3w8TERN/hFIiAgIBs90589OgRjI2NUbVq1UzPC4IAQRBw8uRJrePJycmws7ODIAgICwvTaS8IAmQyGZydnTF69GgkJydr2hw7dgyNGjWCnZ0dzMzM4O7ujqCgoDw/JxF9fHI13e7MmTPw8fGBubk5vL29UbFiRQDA06dPsXTpUnz//ffYu3cv6tSpUyDBEhFRwUhMUcE/5DRO330FmSR9pOGnY3cxqJnuVLYyZcogLCwMzZs3h4+PD0qVKqXTRiaTYejQoZg3bx6GDBmiNfqTmSdPnqBWrVqanxcsWIAFCxagWbNmml+QFQoFxo8fj0ePHsHW1hZ+fn6YPXv2B99/KKdkMhnatWun7zD0LjQ0FF26dMHRo0dx6tQp1K9fX6eNk5MTQkJC0KBBA82x7du3Qy6X49WrVzrtQ0JC4Ovri9TUVFy8eBF9+vSBhYUFZs6cCSB9tHHo0KGoXr06LCwscOzYMQwaNAgWFhYYOJClz4koe4IoimJOGzdo0AA1atTAypUrdYbrRVHE4MGD8c8//+DEiRP5HmhexcbGwtraGgqFAlZWVvoOh4ioUPrhQCR+OHgT6kz+RdgwoAE8y9t9+KCo0AsICEBMTAx27NiR6XlRFOHm5obly5fj8OHDePXqFVavXq3VRhAETJo0CUuWLEF0dLRmX63WrVujQYMGmDlzJg4fPgwvLy9N++3bt2uNYPXv3x9RUVH4448/soy1U6dOsLCwwC+//PJez0xEhi2nuUGupttdvHgRo0aNynQ+syAIGDVqFCIiInIdLBER6ddv5x5mmiBJJQJ2Rjz+8AG9Q2pqKkJDQxEaGorU1FR9h5MlQ4mzIB0+fBgJCQnw9vZGz549sXHjRiiVSp12tWvXRtmyZbF161YAwIMHD3D06FH06tUr23vcvHkThw4dynSE6o0LFy7g+PHjaNasWd4fhog+KrlKkhwcHHD69Oksz58+fVpTcYiIiAyHMkWV6XFRFBGfnPaBo3m3lJQU9OnTB3369Ml2g3N9MpQ4C9KaNWvQrVs3SKVSVK1aFa6urtiyZUumbfv27Yu1a9cCSJ+i17ZtW9jb22fatnv37pDL5TA1NUWlSpXg4eGB8ePH67QrU6YMTExMUKdOHQQGBqJ///7593BEVKTlak3S119/jYEDB+LcuXNo2bKlJiF6+vQpDh48iB9//BELFiwokECJiKjgNCpvhz8vR0P11nCSWgQauHKqHeVeTEwMtm3bhmPHjmmO9ezZE2vWrEFAQIBO+549e2LcuHG4c+cOQkNDsWTJkiz7DgoKgre3N1QqFW7duoXRo0ejV69e2Lhxo1a78PBwxMfH4+TJkxg3bhzc3NzQvXv3fHtGIiq6cpUkBQYGonjx4ggKCsLy5cuhUqV/8yiVSlG7dm3N4kwiIjIsw1pWwP5rTwERUP27VFUqCHC2M0enT0rrOToyROvXr0dSUpLWNDhRFKFWq3Hz5k1N8ac37Ozs8Omnn6Jfv35ISkpCmzZtsiwz7+DgoNmXq1KlSoiLi0P37t0xa9YszXEAKFeuHACgWrVqePr0KaZNm8YkiYhyJNclwLt27YqTJ08iISEBjx8/xuPHj5GQkICTJ08yQSIiMlAVS1pi25BG8HK3h7FUAksTGbrXd8Jvgz1hbpzrfcfpA8pYEjuz17Rp03Dv3j0IgoASJUroJB41a9bEtGnTtI7dunULffr00UxXK1euHLp3746zZ8/mOK41a9ZgzJgxmtLuERERuHjxIpo0aaKZVve2vn37IiwsDL1794ZUKs3xvd60fde+XGq1WqtMOBHRu+T5Xz4jI6NMy74SEZFhquJohTX+dfUdBuVSVFSU5v2mTZswZcoU3LhxQ3NMLpfjxYsXAIC4uDgsWLAA06dPz7K/s2fPomXLlqhatSpWrVoFd3d3xMXFYefOnRgzZgyOHDmi1V6hUOgUbYqLi8P58+exbt06uLu7a53r3r07ZsyYgVmzZkEm0/41xNfXF8+fP8+2Gm1MTAyio6OhVqsRGRmJGTNmoGLFiqhcuTIAIDg4GM7Ozpp7Hz16FAsWLMDw4cPf2S8R0Rv5+vXg7du3MWDAABw6dCg/uyUiIqIsODg4aN5bW1tDEAStYwA0SdKwYcOwaNEiBAYGokSJEjp9iaKIgIAAVKhQAeHh4ZBI/ptwUrNmTYwYMULnmrCwMK09roD00uBVqlTRSZAA4PPPP8fQoUPx559/4rPPPtM6JwgCihcvnu0zv9lA+M2zNm3aFN99950m6VKr1Rg/fjzu3r0LmUyG8uXL4/vvv8egQYOy7ZuICMjnJCk+Pl7nGyYiIiIqHLp37479+/djxowZWLZsmc75iIgIXLlyBevXr9dKkN6wsbHR+vlNifPccHBw0KxpBtITs6zY2NjonM/J9o7Dhg3DsGHDchUXEVFGuUqS3lVpBgAePy5ce2kQEVHRY2Jigs2bN2veF1aFMU5BEDB37ly0b98eo0aNQvny5bXOR0ZGAkCmI0BERB+TXCVJI0eORKlSpWBsbJzp+Y91HwgiIvpwZDIZOnfurO8wslVY4/Tx8UHjxo0xefJkrF+/XutcTkZpiIg+Brmqbufi4oKgoCDcvXs309cff/xRUHESERFRPpk7dy42bdqECxcuaB1/U5b7+vXrue4zMTERwcHBqFevHv755598iZOISF9ylSTVrl0b586dy/K8IAj8FoqIiApUWloatmzZgi1btiAtLU3f4WSpMMdZr149dOrUCePGjdM6XrNmTVSpUgULFy6EWq3WuS4mJkbnWHx8PBYuXAhXV1cMHz4cFStWhKura0GFTkT0QeRqut2MGTOQkJCQ5fkqVarg7t277x0UERFRVpKTkzX78sXHx+uUkS4sCnucs2fPhoeHh1ZcgiAgJCQE3t7eaNKkCSZOnAh3d3fEx8fj999/x759+zQFmhQKBZYtW4agoCAoFAr4+/tj3LhxWpu5EhEZqlyNJFWpUgV16tTJ8ryRkRFcXFzeOygiIiIqWBUrVkTfvn2RlJSkdbxevXo4e/Ys3NzcMGDAAFSuXBmfffYZrly5gsWLF+Ply5eYMmUKXFxcMHPmTHTr1g23b9/GTz/9xASJiIoMQSzi8+NiY2NhbW0NhUKR7eZ0RERU+CmVSsjlcgDpIzQWFhZ6jihzhhJnRiqFAin370NWsiSMSpbUOhcdHY1FixZh+fLlEEURQ4YMwZgxY7ixPBEZlJzmBnka+69VqxYEQdA5LggCTE1N4ebmhoCAADRv3jwv3RMREdEHJKam4um8eXi9YSOQlgYIAuRezVDqu+8QFR+P+fPn48cff4SxsTFGjhyJkSNH5mjTVyIiQ5Wr6XZv+Pr64s6dO7CwsEDz5s3RvHlzyOVy3L59G3Xr1kVUVBS8vb2xc+fO/I6XiIiI8tnTBQvx+td16QkSAIgi7h86jF516qB8+fJYt24dJkyYgPv372PWrFkfNEEKCAhAx44ddd5nZvXq1fDy8oKVlRUEQci00IQgCJqXTCaDs7MzRo8ejeTk5IJ5ACIySHkaSXrx4gXGjBmDyZMnax2fNWsW7t+/j3379mHq1KmYOXMmOnTokC+BEhERUf5TxccjZsMG4K3Z93/GvMbBl68wbdhQDJsxA5aWlnqKMOcSEhLg6+sLX19fjB8/Pst2ISEh8PX1RWpqKi5evIg+ffrAwsICM2fO/IDRElFhlqckafPmzZmWAu/WrRtq166NH3/8Ed27d8eiRYveO0AiIiJ6fymPHuPqlctw+uQT2Nnba46nPnoEMZPN4HsVs0WvYrZwaNgwXxMkVUwM0p4/h6yUI6Ty/F2nNXLkSABAWFjYO9vZ2NjAwcEBAODk5IQOHTrg/Pnz+RoLERm2PCVJpqamOH78uE4Vm+PHj8PU1BQAoFarNe+JiIjyi7GxMUJCQjTvC6vCEmfStWt4MnEikq5cRevbtzGgrAvGLguGla8PAEBWogQgkQCZ7IsEAEaOjvkShypeiegZMxC7ezegVkMwNkaxHj1QYvQoCEZG+XKPvLh58yYOHTqEgIAAvcVARIVPnpKkYcOGYfDgwTh37hzq1q0LADhz5gx++uknTJgwAQCwd+9e1KxZM98CJSIiAtK3mzCEX2gLQ5xpz5/jfq/eUCckQBAEDCluh5YQ8HjUKEht1sKiQQPIbG1h5euD2L37AJXqv4ulUhg5OsKiQYN8ieXxqJFQ/n1ck4yJKSl4FRoKMS0VDhMn5ss9cqp79+6QSqVIS0tDcnIyPv3003dOzyOij0+ekqRJkyahXLlyWLZsGX755RcAQKVKlfDjjz/iyy+/BAAMHjwYQ4YMyb9IiYiIKFdeb94MdUKCJjHpZlMs/YREgpc//qhJgBymT0fa6xgknDihudaoTBk4rVwBQSp97ziSbt6EMvyYznG1Wo2/14bAtmZNJEkkEEURrVq1glEBjywFBQXB29sbKpUKt27dwujRo9GrVy9s3LixQO9LRIYjz9t/9+jRAz169MjyvJmZWV67JiIiylJaWhr27t0LAPDx8YFMlud/ygpUYYgz+foNnYIMAACVCklXr2l+lFpawiVkLZKuXUPyzZuQOZSCed06ECR5KoKrG8eNG5ke/yMuFmOjooBPP02PQyrFiRMnNLNUCoqDg4NmyUClSpUQFxeH7t27Y9asWdwQl4gAvEeSBADnzp3DtWvpf8l6eHigVq1a+RIUERFRVt5MjwLSN2ktrElSYYhT5uCQvt4o4zQ6ABCE9HNvMa1cGaaVK+d/HG9tTPtGO0srVDIxgdv//gcbV1dYWlrqZeN36b+jZYmJiR/83kRUOOXpb+xnz56hW7duCAsLg42NDQAgJiYGzZs3x8aNG2GfoWoOERER6YfNF1/g9a+/6p4QRdj2+PKDxWFepw6MXFyQ+uiRVsImkclQq2lTODdpkuO+FAoFIiIitI7Z2dnByckJ0dHRiI6Oxq1btwAAly5dgqWlJZydnWFra6tpHxMTg+joaKjVakRGRmLGjBmoWLEiKhdAgkhEhilP4+jDhg1DXFwcrly5glevXuHVq1e4fPkyYmNjMXz48PyOkYiIiPLAtFJFOM6dA8EkQ3U9QYBtQACs/fw+WByCRAKnlStgVKqUdnzu7nCcOydXfYWFhaFWrVpar+nTpwMAVq5ciVq1amHAgAEAgKZNm6JWrVrYtWuXVh99+vRBqVKlUKZMGXTv3h0eHh7466+/Cu2oJBF9eIIoZjZZ+d2sra1x4MABnTnDp0+fRuvWrTPd4VpfYmNjYW1tDYVCoZchfCIiyl9KpRJyuRxA+jQ2C4v83WsnvxSmOFWxsYgPC4M6ORkWng1hXKa0XuIQVSoojx9H6uPHMHFzg1nt2hAEQS+xENHHKae5QZ5GktRqdaaVZ4yMjKDOYp8FIiIi+nCio6MxbNgwuLq6wtzeHlUDA9H7f/9D+I3rePLkCYoVK4YlS5ZoXXPq1CkYGRlh3759AICUlBTMmzcPNWrUgLm5OYoXL45GjRohJCQEqampAICAgAB07NgxyzhWr14NLy8vWFlZQSKTIa1aNRTr1g3mdeowQSKiQitPSVKLFi0wYsQIPHnyRHPs8ePHGDVqFFq2bJlvwREREVHu3bt3D7Vr18ahQ4cwf/58XLp0CXv27EHz5s0RGBgIR0dHLF26FOPHj0dkZCSA9KIF/v7+6N+/P1q3bo2UlBT4+Phg7ty5GDhwII4fP47Tp08jMDAQS5cuxZUrV3IUS0JCAnx9fTX7KBIRGYI8Tb5dtmwZPvvsM5QtWxZOTk4AgIcPH6Jq1ar4NbMFolmYM2cOtm3bhuvXr8PMzAwNGzbE999/j0qVKmnaJCUlYcyYMdi4cSOSk5Ph4+OD5cuXo2QWlXKIiIg+dl999RUEQcDp06e1pvl5eHigb9++AICePXti27ZtCAgIQHh4OMaPH4/U1FTMnz8fALB48WIcPXoUZ8+e1ape6+rqis6dOyMlJSVHsYwcORJA+loiIiJDkackycnJCefPn8eBAwdw/fp1AEDlypXh7e2dq36OHDmCwMBA1K1bF2lpaZgwYQJat26Nq1evav5SHzVqFP744w9s2bIF1tbWGDp0KDp16oS///47L6ETEZGBMzY2xrJlyzTvCyt9xfnq1Svs2bMHs2fPznQd1JuqtEB6oYOqVauiR48e2LJlCw4dOqRZR7Vu3Tp4e3tnur2HkZFRgW/4SkSkT3ku4yIIAlq1aoVWrVrl+eZ79uzR+jk0NBQlSpTAuXPn0LRpUygUCqxZswbr169HixYtAAAhISGoXLkyTp48iQb/7hROREQfDyMjIwQGBuo7jGzpK85bt25BFEW4u7tn27ZEiRKYOXMmBg8ejCFDhqBp06aac5GRkfDy8irASImICq8cJ0lvL+58l7yWAVcoFACg2cvg3LlzSE1N1Rqhcnd3h7OzM06cOJFpkpScnIzk5GTNz7GxsXmKhYiIyBDlpmitSqVCaGgozM3NcfLkSaSlpWnKYOeh+C0RUZGR4yQpKCgoR+0EQchTkqRWqzFy5Eg0atQIVatWBZBemcfY2FhragAAlCxZEtHR0Zn2M2fOHM1+CUREVPSoVCqEh4cDAJo0aQKpVKrniDKnrzgrVKgAQRA00+HfZcGCBbhz5w7Onj2LZs2a4bvvvsOUKVMAABUrVsxRH0RERVGOk6S7d+9mevzYsWOoU6cOTE1N3yuQwMBAXL58GceOHXuvfsaPH4/Ro0drfo6NjdUUlyAiIsOXlJSE5s2bA9D//kPvoq84bW1t4ePjg+DgYAwfPlznvjExMbCxscGVK1cwdepUrF+/HpUrV8aKFSvQvXt3dOzYEdWrV8eXX36JCRMm4MKFCzrrklJTU5GSklJoP3sioveVpxLgGbVt21arFHheDB06FLt378bhw4dRpkwZzXEHBwekpKTobE779OlTODg4ZNqXiYkJrKystF5EREQfk+DgYKhUKtSrVw9bt25FZGQkrl27hiVLlsDT0xNpaWnw9/dHp06d0KlTJwCAn58f/Pz8EBAQgLS0NM3sjpYtWyI4OBgXL17EnTt3sHnzZjRo0EBTOhxIny4fERGh9Xr48CGA9FkhERERuHXrFgDg0qVLiIiIwKtXrz78B0NElFPie5LL5eLt27fzdK1arRYDAwNFR0dH8ebNmzrnY2JiRCMjI/G3337THLt+/boIQDxx4kSO7qFQKEQAokKhyFOMRERUuMTHx4sARABifHy8vsPJkr7jfPLkiRgYGCi6uLiIxsbGYunSpcXPPvtMPHz4sDh9+nTRwcFBfPnypdY1L1++FB0cHMTp06eLoiiKSUlJ4pw5c8Rq1aqJpqamoq2trdioUSMxNDRUTE1NFUVRFP39/TXPmfHVr18/URRFcerUqZmeDwkJ+aCfBxGRKOY8NxBE8f1WZlpaWuLixYtwdXXN9bVfffUV1q9fj507d2rtjWRtbQ0zMzMAwJAhQ/Dnn38iNDQUVlZWGDZsGADg+PHjObpHbGwsrK2toVAoOKpERFQEKJVKTZnqwjzdzlDiJCL6mOQ0N8hzCfA3Vq1aleeNXVesWAEAOiVGQ0JCEBAQACC9YIREIoGfn5/WZrJEREREREQF4b1Hkgo7jiQRERUthjJCYyhxEhF9THKaG7x34QYiIiIq3JKTk7Fs2TLs2LFD36EQERmE955uR0RE9CEZGRlh3rx5mveFVWGIUxRF/Pbbbxg3bhzu3buHH374QS9xEBEZGk63IyIiKoJOnDiBMWPG4MSJE2jbti3mz5+PKlWq6DssIiK94nQ7IiKij9Ddu3fRtWtXNGzYEAkJCdi/fz/++OMPJkhERLnAJImIiAyKSqXCmTNncObMGahUKn2Hk6WCilOdlIS0588hvtXn69ev8fXXX8Pd3R3Hjh1DSEgIzp07B29v73y794ciCMI7X9OmTdO03bp1K1q0aIFixYrBzMwMlSpVQt++fXHhwgVNm9DQUAiCgMqVK+vca8uWLRAEAWXLltUc27ZtG1q1agV7e3tYWVnB09MTe/fuLchHJqJChkkSEREZlKSkJNSrVw/16tVDUlKSvsPJUn7HqYqPx5OJk3Czbj1ENmmKyGZeeL1hA5KTk7FkyRK4ublh5cqVmDhxIm7evImAgABIpdJ8eJIPLyoqSvNavHgxrKystI59/fXXAICxY8eia9euqFmzJnbt2oUbN25g/fr1cHV1xfjx47X6tLCwwLNnz3DixAmt42vWrIGzs7PWsaNHj6JVq1b4888/ce7cOTRv3hzt27fXSryIqGhj4QYiIqJCThRFPBw4CIkREYBaDQBQvXiBrd+OxdzRo3H32TP07dsXM2bMQKlSpfQbbD5wcHDQvLe2toYgCFrHAODkyZOYN28efvjhBwwfPlxz3NnZGbVr18bbS65lMhm+/PJLrF27Fp6engCAR48eISwsDKNGjcKGDRs0bRcvXqx17XfffYedO3fi999/R61atfLrMYmoEONIEhERUSGXePYsEs+f1yRIb/z06iVKJSXh/Jkz+PHHH4tEgpRTGzZsgFwux1dffZXpeUEQdI717dsXmzdvRkJCAoD0aXi+vr4oWbLkO++lVqsRFxcHW1vb9w+ciAwCkyQiIqJCLvGfS4BE95/sECdnrC7pgCpvjbJ8DG7evAlXV1fIZP9Nilm0aBHkcrnmpVAotK6pVasWXF1d8dtvv0EURYSGhqJv377Z3mvBggWIj49Hly5d8v05iKhwYpJERERUyMmK2+mMImlIpZBkUcY2Ojoaw4YNg6urK0xMTODk5IT27dvj4MGDePLkCYoVK4YlS5ZoXXPq1CkYGRlh3759AICUlBTMmzcPNWrUgLm5OYoXL45GjRohJCQEqampAICAgAB07Njxnc9w4sQJtGjRAhYWFrCyskLTpk2RmJiYuw8iG3379kVERARWrVoFpVKpM+XuTZuQkBAcOXIESqUSbdu2fWef69evx/Tp07F582aUKFEiX+MlosKLa5KIiIgKOUtvb0gsLKBOSAAy/uIvlcLK1xdSuVznmnv37qFRo0awsbHB/PnzUa1aNaSmpmLv3r0IDAzE9evXsXTpUgwaNAht2rRBhQoVkJiYCH9/f/Tv3x+tW7dGSkoKfHx8cPHiRcycORONGjWClZUVTp48iQULFqBWrVqoWbNmtvGfOHECvr6+GD9+PJYuXQqZTIaLFy9CksnoWE5VqFABx44dQ2pqqmazXhsbG9jY2ODRo0dZXtejRw98++23mDZtGnr16qU1EvW2jRs3on///tiyZYtBVgkkorxjkkRERFTISSwsUCY4GA+/+gpiQgIglQIqFUzdK6HkpImZXvPVV19BEAScPn0aFhYWmuMeHh6aKWY9e/bEtm3bEBAQgPDwcIwfPx6pqamYP38+gPQCBkePHsXZs2e1Cha4urqic+fOSElJyVH8o0aNwvDhwzFu3DjNsUqVKuX6c8ioe/fuWLp0KZYvX44RI0bk+DpbW1t89tln2Lx5M1auXJlluw0bNqBv377YuHEj2rVr916xEpHhYZJEREQGxcjICFOnTtW8L6zyO06LBvVR4egRxO3di7TnL2Dq4QGLRg0hZDIa8+rVK+zZswezZ8/WSpDesLGx0bxfuXIlqlatih49emDLli04dOgQ5P+OTK1btw7e3t6ZVnQzMjLK0XM9e/YMp06dQo8ePdCwYUPcvn0b7u7umD17Nho3bpyLT0Cbp6cnxowZgzFjxuD+/fvo1KkTnJycEBUVhTVr1kAQhCxHqkJDQ7F8+XLY2dllen79+vXw9/fHDz/8gPr16yM6OhoAYGZmBmtr6zzHTESGg0kSEREZFGNjY63NRAurgohTKpfDxs8v23a3bt2CKIpwd3fPtm2JEiUwc+ZMDB48GEOGDEHTpk015yIjI+Hl5fU+IePOnTsAgGnTpmHBggWoWbMm/ve//6Fly5a4fPkyKlSokOe+FyxYgHr16mHFihVYu3YtEhISULJkSTRt2hQnTpyAVRZrtczMzGBmZpZlv6tXr0ZaWhoCAwMRGBioOe7v74/Q0NA8x0tEhoOFG4iIqEh5V7GCN44fP462bduiWLFiMDU1RbVq1bBo0SKoVCqtvgRBwI4dOzK9z7Rp0yAIgs4rs5GbR48ewdjYGFWrVs20r9mzZ6Nhw4YwNzfXGuXJq8wKFmRFpVIhNDQU5ubmOHnyJNLS0vLUT1bU/xacGDRoEPr06YNatWohKCgIlSpVwvLly/HHH39gwoQJ2LNnT6bXBwQEICYmJsv+u3TpgsOHDyMmJgYpKSl4+PAh1q1bh/r16+e4j5EjR+LevXuan8PCwiCKos6LCRLRx4NJEhERGRS1Wo0rV67gypUrml/A37h37x5q166NQ4cOYf78+bh06RL27NmD5s2ba0YEtm/fjmbNmqFMmTI4fPgwrl+/jhEjRmDWrFno1q1bjhODr7/+GlFRUVqvKlWqoHPnzjpxhoSEoEuXLoiNjcWpU6d0+kpJSUHnzp0xZMiQ9/x00lWoUAGCIOD69evZtl2wYAHu3LmDs2fP4tGjR/juu+805ypWrJijPt7lzd5NVapUwcOHD7FhwwZ89dVXePDgARYvXoxPP/0UISEhePz48Xvdh4goX4lFnEKhEAGICoVC36EQEVE+iI+PFwGIAMT4+Hitc23atBFLly6tc1wURfH169difHy8aGdnJ3bq1Enn/K5du0QA4saNGzXHAIjbt2/PUVwREREiAPHo0aM6cZYrV07cs2ePOHbsWHHAgAFZ9hESEiJaW1vn6H7Z8fX1fednIYqiePnyZdHExETcunWrKIqi+Ntvv4lGRkbixYsXRVEUxblz54oSiUQ8f/68Th8pKSmavv39/cUOHTponVepVOLly5fFFStWiGZmZqK1tbXm86hUqZJoZ2cnfvrpp+Lt27dFtVqdL89MRJSdnOYGHEkiIqIi4U2xgsDAwCyLFezbtw8vX77E119/rXO+ffv2qFixIjZs2JCn+//000+oWLEimjRponMuISEB3t7e6NmzJzZu3AilUpmne+RGcHAwVCoV6tWrh61btyIyMhLXrl3DkiVL4OnpibS0NPj7+6NTp07o1KkTAMDPzw9+fn4ICAhAWloaRo4ciUaNGqFly5YIDg7GxYsXcefOHWzevBkNGjRAZGSk5n4xMTH4+eefMXLkSDRr1gzFihVD1apVMXToUBQvXhyJiYn4+uuvcfLkSXTu3BlKpRKLFy+Gq6srBEEo8M+DiCg3WLiBiIiKhJwUK7h58yYAoHLlypmed3d317TJjaSkJKxbt06rxHVGX3zxBaRSKapWrQpXV1ds2bIFAQEBub5Pbri6uuL8+fOYPXs2xowZg6ioKNjb26N27dpYsWIFvvvuOzx+/FizaewbwcHB8PDwwHfffYcpU6Zg//79CAoKwqpVq/D111/D3NwclStXxoABA/DkyRP89ttv2LNnD54+fYojR45o9dWmTRts2bIFFhYWmDt3LoKDg7F8+XLUqFED+/fvR/ny5Qv0MyAiyismSUREVCSIuSgykJu2ObF9+3bExcXB398/0/PdunXTvO/ZsyfWrFlT4EkSkL4eaNmyZVi2bJnOOS8vL0yZMkXnuK2tLaKiojQ/m5iYYNy4cfD398exY8cQHh6OY8eOITAwEGq1Gvb29mjcuDGaNGmCxo0bo2bNmpmWBh83blyWSSQRUWHD6XZERLn0/PlzDBkyBM7OzjAxMYGDgwN8fHzw999/AwDKli2LxYsXZ3rtvXv3Mq2I1rNnT63zJUqUQFxcnNa1NWvW1CopvW3bNrRu3Rp2dnYQBAERERE69xs0aBDKly8PMzMz2Nvbo0OHDu+9EL+wykmxgooVKwIArl27lun5a9euadrkxk8//YRPP/0UJUuWzPS8l5cXZDIZZDIZxo4di2PHjuVpxOpDEUURN2/e1CRzbm5ucHR0RJcuXfDHH3+gevXqWL16Na5fv46nT59i27ZtGDVqFOrWrVuo964iIsopjiQREeWSn58fUlJS8PPPP8PV1RVPnz7FwYMH8fLlyxz3ceDAAXh4eGh+fnvPlri4OCxYsADTp0/Psg+lUonGjRujS5cuGDBgQKZtateujR49esDZ2RmvXr3CtGnT0Lp1a9y9exdSqTTH8RoCW1tb+Pj4IDg4GMOHD9dZlxQTE4PWrVvD1tYWCxcuRMOGDbXO79q1C5GRkZg5c2au7nv37l0cPnwYu3btyrLN8ePHYW5urvn5q6++wtq1azF37txc3augpKWlISIiQjNKdOzYMTx79gwSiQQ1atRA27Zt0aRJEzRq1AiOjo76DpeIqMAxSSIiyoWYmBiEh4cjLCwMzZo1AwC4uLigXr16uerHzs4ODg4OWZ4fNmwYFi1ahMDAQJQoUSLTNr169QIArf1d3jZw4EDN+7Jly2LWrFmoUaMG7t27VyTXgwQHB6NRo0aoV68eZsyYgerVqyMtLQ379+/HihUrcO3aNaxatQrdunXDwIEDMXToUFhZWeHgwYP45ptv8MUXX6BLly5afd69e1dnlK5ChQqaJGzt2rUoVaoU2rRpo9Xmn3/+0bz38PDQStq6d++OGTNmYNasWZDJZHjw4AFevXqFBw8eQKVSae7n5uYGuVye7XOnPHqM17/8DwnnzkFqawebL/xg2apVpgURbt26hTNnzqBkyZKapOjEiRNQKpUwMTFB/fr1MWDAADRp0gQNGjSAtbV1tvcnIipqmCQREeWCXC6HXC7Hjh070KBBA5iYmBTIfbp37479+/djxowZma4nyQulUomQkBCUK1cOTk5O+dKnPhgZGWmq0709tSu7YgVAehGFw4cPY/bs2WjSpAmSkpJQoUIFTJw4ESNHjtRJLEaPHq0TQ3h4OBo3bgy1Wo3Q0FAEBATojMz98ssvsLOzQ58+fXTi/PzzzzF06FD8+eef+OyzzzBlyhT8/PPPmvO1atUCABw+fBheXl7v/DySbtzE/S+/hDopCVCpAIkEyqNHUczfHw7j09cAvXjxAkeOHMGSJUsQHh6uWZNVrFgxNGrUCFOmTEHjxo1Ru3btAvszTURkUAq+Grl+cZ8kIspvv/32m1isWDHR1NRUbNiwoTh+/HjNvjKiKIouLi5iUFBQptfevXtXBCCamZmJFhYWmtebfWjenL9w4YK4Z88e0cjISLx165YoiqJYo0YNcerUqVn2eeHChUzvGRwcLFpYWGj2p3nTX3aioqLEoUOHiuXKlRONjY3FMmXKiJ9++ql44MCBdz7n1KlTxRo1amj9jH/3x5FKpaKdnZ3YpEkTMSgoSExKStK0S0lJEb/99luxatWqorm5uViqVCmxV69e4uPHj3MU78fqnn+AeLWKh3i1krvmdaViJXFhKUexb5cuoru7u+bzf/NnYPHixeKlS5dElUql7/CJiD4o7pNERFRA/Pz88OTJE+zatQu+vr4ICwvDJ598gtDQ0Bz3sWnTJkRERGheVapU0Wnj4+ODxo0bY/Lkye8Vb48ePXDhwgUcOXIEFStWRJcuXZCUlPTOa+7du4fatWvj0KFDmD9/Pi5duoQ9e/agefPmCAwMzHUMHh4eiIqKwoMHD3D48GF07twZc+bMQcOGDTUFKhISEnD+/HlMnjwZ58+fx7Zt23Djxg189tlneXruj4E6MREJJ0+mjyBl8DA1FROio/D30aOQy+WQSqVwc3PDiRMncP36dYwYMQJVq1aFRMJfA4iIMsPpdkREeWBqaopWrVqhVatWmDx5Mvr374+pU6fmuKyzk5MT3Nzcsm03d+5ceHp64ptvvslzrNbW1rC2tkaFChXQoEEDFCtWDNu3b0f37t2zvOarr76CIAg4ffq01loaDw8P9O3bN9cxyGQyzRosR0dHVKtWDa1atUKNGjXw/fffY9asWbC2tsb+/fu1rlu2bBnq1auHBw8ewNnZGQCgVqvx4MEDAICzs3Oh/UX/g8SZRSlzZ2Nj/OxSFjNSknHhwgWMGzcOkydP5lQ6IqIcKpz/shARGZgqVapAqVTme7/16tVDp06d8m1/GVEUIYoikpOTs2zz6tUr7NmzB4GBgToV4gDAxsYmX2Jxd3dHmzZtsG3btizbKBQKCIKgdc/ExESUK1cO5cqVQ2JiYr7EUhDyGufRo0fRqFEjTJs2DZcuXXrnnk4Sc3OY168PZEjAktRqLHr+DF/euwtjGxucPXsWs2bNYoJERJQLHEkiIsqFly9fonPnzujbty+qV68OS0tLnD17FvPmzUOHDh007R4/fqxTEc3FxSVP95w9ezY8PDwgk2n/lf2mGtqTJ08AADdu3AAAODg4wMHBAXfu3MGmTZvQunVr2Nvb49GjR5g7dy7MzMzQtm3bLO9369YtiKIId3f3bGMbO3YsJk2apHUsJSUl0+mDmXF3d8e+ffsyPZeUlISxY8eie/fusLKyylF/RUGFChXg6uqKxYsXY/r06XBzc0OnTp3g5+eHunXrahWWUKekwLSqBxLOnAEAnEtIwOSn0Xicmopvvb0x488/uW8REVEecCSJiCgX5HI56tevj6CgIDRt2hRVq1bF5MmTMWDAAK0qdAsWLECtWrW0Xn/88Uee7lmxYkX07dtXZx3Rrl27UKtWLbRr1w4A0K1bN9SqVQsrV64EkD4lMDw8HG3btoWbmxu6du0KS0tLHD9+PMuy4gDeOXLxtm+++UZrbVVERAQGDx6c4+tFUcy0THVqaiq6dOkCURQ1Vek+FqVKlcIvv/yCZ8+e4a+//oKXlxfWrl2L+vXrw9nZGSNGjMCRI0eQlpSEhwMG4tXaECjT0jDraTR6P3wAG5kMR+cvwHf79jFBIiLKq4KuIKFvrG5HRJQ7L1++FAVBEL/77rt3tstNdbuMP2fUvn170cPDQ+tYSkqK2LFjR7F69eriixcvdK6Jj4/XVGqLj4/P9nn0JT/jTE1NFcPCwsRhw4aJpUuXFgGIxa2txV7FiokrS5cRHWUy0UwQxHH2JcRLlauIUTNm5tNTFBx/f3/N52NkZCSWL19enD59upiamiqKoiiq1Wpx1apVYr169UQLCwvR2tparF27thgUFCQqlUpRFP+rnDho0CCtvi9cuCACEO/evSuKoij+8ccfopGRkXju3DmtdgsWLBDt7OzEqKgoURRFcfny5WK1atVES0tL0dLSUmzQoIH4559/FvAnQUQfEqvbEREVAFEUcfDaUwz+5Ry6rjqBhftu4FnsuyvFFSb3XigxecdltPnhKHqtOYXd/zzRGTmytbWFj48PgoODM11nFRMTky+xXL9+HXv27IGfn5/m2JsRpMjISBw4cAB2dnb5ci9DJooilHv2omzozxj54CFODxyE8F278Fk5V+yLi8Pgx4/gZGyMHWXLobetLaRqNeKymMJY2Pj6+iIqKgqRkZEYM2YMpk2bhvnz5wNI3yx55MiR6NChAw4fPoyIiAhMnjwZO3fu1JqiaWpqijVr1iAyMjLL+7Rt2xa9e/dG7969Nevxrl69ikmTJiE4OFhTVKRMmTKYO3cuzp07h7Nnz6JFixbo0KEDrly5UoCfAhEVRlyTRESUC3P+uo7VR+9AKhGgUos4c+8Vfj15H1uHNISrvVzf4b3T5ccKdFl1AslpaqjUIiRCHMIjX+Bcw9eY+pmHVtvg4GA0atQI9erVw4wZM1C9enWkpaVh//79WLFiBa5du5are6elpSE6OhpqtRovX75EWFgYZs2ahZo1a2oq96WmpuKLL77A+fPnsXv3bqhUKkRHRwNIT9yMjY3z54MwMNHTZyBm48b04gxqNZIjI3Hp55+xOzoKCWo1ppd0wBfW1trTFgtpxb+3mZiYaBKUIUOGYPv27di1axfKly+PdevWYceOHVpr/cqWLYvPPvsMsbGxmmOVKlVCiRIlMHHiRGzevDnLewUFBaFatWqYOnUqZs2aBX9/f7Rv3x5du3bVtGnfvr3WNbNnz8aKFStw8uRJeHh4vN0lERVhTJKIiHLo6pNYrD56BwCgUqePvqhFIDYpDbP/vIY1/nX1GV62Zuy+iqRUFf4NXfO/Kzb/hebORmhas6KmraurK86fP4/Zs2djzJgxiIqKgr29PWrXrp2nNUJXrlxBqVKlIJVKYW1tjSpVqmD8+PEYMmSIpura48ePsWvXLgBAzZo1ta4/fPgwvLy8cn1fQ5d45Up6ggQAajUAICUtDd/cu4t6xe0x2aEUHN5edySVwsrXt8BiUsUrEbt7N5IjI2Hk6Ajrjh0gy6cRPzMzM7x8+RLr1q1DpUqVtBKkNwRBgLW1tdaxuXPnom7dujh79izq1KmTad+WlpZYu3YtfHx8cPfuXTx8+BB79uzJMhaVSoUtW7ZAqVTC09Pz/R6MiAwOkyQiohzaeyVaM4KUkUot4tD1Z0hJU8NYVji/wY9PTsPpu690jqcpnuLpum8wR7iLpr8Ea50rVaoUli1bplWQIqN79+5lenzatGmYNm1alj9npWzZsjkqGiGTyfDVV19p3hdW+RFn/OEwQCrV2izWWBBw2LU8LKRSyJs2hfLoUUAQ0vdMkkhg5OgIu0EDdfoSRRGJ588j/vBhQJDAspU3zKpXz1U8ybdv435vf6hevUqPS63G86VL4bRyJSwa1M/TM76J7eDBg9i7dy+GDRuGP/74A5UqVcrx9Z988gm6dOmCsWPH4uDBg1m2a9GiBb744gts3LgRmzZtynQ656VLl+Dp6YmkpCTI5XJs3749x9UaiajoKLz/uhARFTLqd/wCL4qAiJxXhfvQdOvHpZNZl4TziPVo2772B43nfZiYmCA4ODj7hnpWkHHKpVJAEFA6aBHi9u5D7J9/Qp2UCHnTZijWrSukb5VMF1UqPBk7DrG7d6cnNwBe/vgjbLp3h8OUyZlWGMzMk2/HQhUTk/4HPi0tve/kZDweORJuR49Aksspkbt374ZcLkdqairUajW+/PJLTJs2Dbt3785VPwAwa9YsVK5cGfv27cuyeuPjx4+xZ88emJubIzw8HF26dNFpU6lSJUREREChUOC3336Dv78/jhw5wkSJ6CPDJImI6C33Xyqx6cxDRCmSULGkJbrUKQM7uQlauJfA0kO3dNpLBQGe5e1gIpPqIdqcsTCRwdPVDqfvvoLqrWRPMLWCb9VSeoqM3sXSuyVeZDaSJ5XCwtMTUgsL2HT6HDadPn9nP4odO9ITJEBrVCpmwwZYeDaAVevW2caScu8ekjIpYBCTloa1kTchdu4MtZ0dkpOTkZSUhJSUFCQnJyM5ORkqlQrz58/XmbbWvHlzrFixAsbGxnB0dNSMuFWsWBHXr1/PNqaMypcvjwEDBmDcuHFYs2ZNpm0GDBiA2rVrY+LEiWjVqhW++OILNGvWTKuNsbEx3NzcAAC1a9fGmTNn8MMPP2DVqlW5ioeIDFvhnBdCRKQne69Eo8XCI1h19A52RTzG/L3X0XxBGK48UaCmkw38PikNIH12EwBIJQJMjCQY3zb7jVf1bUr7KjA1lkAqSQ/+3//BoKauqFDSUo+R5Y4oinj+/DmeP3+eqz2dPrT8iNPU3R3FevVK/+FNMQapFBIzM5Qc+22O+4nZtl3zh/ZqUhJuvNlzSyKBYvuOHPWhiovL9LhCpcKphAScvXIF169fx5MnTxAfHw9BEGBjYwNnZ2dUqVIl06ltFhYWcHNzg7Ozs9aUxC+//BI3b97Ezp07da4RRREKhSLTWKZMmYKbN29i45t1XBn89NNPOHbsGNasWYPmzZtjyJAh6Nu3b6YVHDNSq9WainhE9PHgSBIR0b8SUtIwelME1GrtiXPxyWn4estF/Dm8CeZ/UQP1y9lh09mHeK1MQX1XOwxs6opyxS30FndOVS5lhT0jmiL0+D2cufcK9nITdKnrhNZVSuo7tFxJSEjQTKeKj4+HhUXh/OzzK86SE8bDvG4dxPy2FarXr2Bepy5se/WEkaNjjvtQKRTpU+QA/B6rwJYYBX51doa7qWn6uRwwqVABEgsLqN9KKlyMjbGpbDmU378fxmVK5/zB3qFLly7Yvn07unfvjkmTJqF169awt7fHpUuXEBQUhGHDhqFjx44615UsWRKjR4/WlBF/4/79+xg9ejQWLFgAFxcXAMD333+Pv/76C+PGjcPSpUsBAOPHj0ebNm3g7OyMuLg4rF+/HmFhYdi7d2++PBcRGQ4mSURE/zpy4zmUKSqd42oRuBYVh3svE1CuuAW61HVCl7pOeojw/TnZmmPyp1xbYUgEQYBV69Y5mhKXFYv69ZFy9y6gUmFocXucTUjE4MePsKVsObjXr5ejPiSmprAfPgxP58z9r1DEv2y6dMm3BAlIf+b169dj9erVWLt2LWbPng2ZTIYKFSqgd+/e8PHxyfLar7/+GitWrEDSv6NloiiiX79+8PT0xMCB/xW0MDc3R2hoKLy8vDTT7p49e4bevXsjKioK1tbWqF69Ovbu3YtWrVrl27MRkWEQxMI8VyEfxMbGwtraGgqFAlZvLWQlIspo2/lHGL35Ypbn/xzeBFUc+feIvimVSsjl6XtSFeaRpMIUZ8qjR7jb8XOoExMBlQrP09Iw6skTjHN1xeeHD0Fmb5/jvmK278DLVauQcu8eZCVKwLZ3L9j26QNBWnjX5BERvZHT3IAjSURE/6rvavf2F+QatubGcCtRuDeLJcqKcZkyKLtxA54tXIT4I0dgb2KCnQP6o8SYMblKkADA5vOOsPm8I0RRzHFVPCIiQ8PCDURE/yptY4a+DcsC+K9k9pviBuPauhfaPZCI3iUgIAAdO3aEiZsbnFYsh/vlS3C/9A/K/PADKjZtCkEQIAgCpFIpHB0d0a9fP7x+/VpzfVhYGARBQExMjFa/giCgbNmyWLx48Yd9ICKiD4D/4hMRZTDp0yqY2bEqytvLYW4sRQ0nG/zYuw661DHMNUhEbxMkEgiS//75nz59OqKiovDgwQOsW7cOR48exfDhw/UYIRGR/nG6HRFRBoIgoFcDF/Rq4KLvUIgKjFqpxPOly5AaFYXE4OVIvHQZ9sOHo3nz5vD398eGDRv0HWKhlfrkCRR//AF1bCzMan0CebOmXI9FVAQxSSIiIoMik8ng7++veV9YFWScYkoKXm/ciJgdO6FWKiFv3Bh2ffvAqHT2FeZEtRoPBg5C4oULgFoNiCKSrlzBw4EDIZkxHb///jvq16+fr/EWFTHbdyBq4sT0HyQS4MefYFqtGpzXroHU0nD2GiOi7BXef12IiHJJkZCK+JQ0lLIyhUTCBeVFlYmJCUJDQ/UdRrYKKk5RpcLDwEAoj/2tqTLy+tEjKHbvRrnNm2Ds8u5RUOXfx5F47pzm54UvnuOHF8+hBpDcpQvq16+PRYsW6VxXpkwZnWMJCQnv9zAGJPXx4/QESa1OP/Dv/yZduYLnQYvhMGWyHqMjovzGJImIDF6UIhGTtl/GoRvPIIpAKWtTfOtbCZ/X0v2ljsjQxR85AmX4Me2DKhXU8fF4viwYpefPe+f1CefOAjIZkJYGAOhbzBYdra0hAohOTcUqtRrt2rXD0aNHIc0wjSw8PByWb42WeHl55ccjGQTF7j8yP6FWI2b7dpScNFFrrRcRGTYmSURk0JJSVei66iQexyRqSndHKZIwatNFmMqkaFOtlH4DpHwniqJmBMPc3LzQlqEuqDjjw44AUimgemvjY5UK8YcOZnu91NLyv9EQAMWkUrgYGwMAyllYwH3RIjRs0gSHDx+Gt7e3pl25cuVgY2Oj1Vdhnu6Y31QKRfoUuwyf3RtiYmJ60vnv50hEho9feRCRQfvjnyg8eJUAlVp7cyNBABYfjNRTVFSQEhISIJfLIZfLC/V0r/yIM+n6dUTPmo1HI0bixarVSHv1CoJMmv4HPDOS7AsIWLVtm/kJqRRWn7aDzMQEAJCYmJinmIsq809qaUbftAgCTKpUhsAEiahI+Xi+AiKiIunyEwVkEgFpbyVJogjciI6DWi1yfRIZpNdbtiB6ylTN6EXc/v14uXYtSn7zdea/rEsksGrTJtO+FAoFIiIiND/H9e2L1FWrAEGAEsDztDQYlSmD1y1bYsI338De3h4NGzYsmAczUHIvL5hUqYLkGzf+G8X7N1ktMWKEHiMjooLAJImIDJq9pQnUopjpORtzIyZIBSQpVYUTt18iMVWFeuVsUVxuou+QipS0ly8RPX1Gerb/5hdyUYQ6Ph4x23fA+vOOUGzfoX2RWo3UJ4+hTk6G6vVrvFy9GnEHDyH25k2ERUehVq1aWs37dOsG6auXWPr8GZY+fwbcvgX7fy6ibt262LdvH+zs7D7MwxoIQSaDS2gIni1cBMWO7RCTU2BSqRLsR46AvFkzfYdHRPlMEMUsfrsoImJjY2FtbQ2FQgErKyt9h0NE+SxKkYgm3x/WGUmSCMAQr/L4xsddT5EVXYeuP8WoTRFQJKaPZkglAgK9ymNUq4ofZH2QUqmEXC4HAMTHx8PCwqLA75kX7xPn682b00eRslBu9++418kPYkqK9gmJBDadOyPuwAGoYmL+S7AkEhiXd0W5TZsgMTfP7aPQW0SVCmJaGiQm/HKAyNDkNDfgmiQiMmilrM2w7MtPYCJL/+vszcBRC/cSGN6ygh4jK5oevEzAoF/OITbxv+leKrWIJYduYev5x3qMrGgRk1OyXncEIG7fPoipqbon1GrEbN2qnSD9ezzl1m3EbN+e/8F+hASplAkSURHH6XZEZPB8qzrg9ARv7L0SjdikVNQta4saTjb6DqtI2njmAdQi8PYUBAHAmmN38EVtll3PDxaNGmr2QNIiCDByKgN1UnJ6hbvM1iZlduxf8UfDYdujRz5GSkRUNDFJIqIiwdrcCF3qOuk7jCLv4etEZDZLWwTw6DWroeUXE1dX2HTpgpjNm9NHlEQxPSkSRZQcNx5iSnLWyVCGPZC0CAJHP4iIckiv0+2OHj2K9u3bw9HREYIgYMeOHVrnRVHElClTUKpUKZiZmcHb2xuRkSzpS0RFS5pKjQNXn2L10dvYczkaqSrdfVgKCzd7eabHJQLgViLzc/lNKpXiiy++wBdffKG12Wlh875xOkybCoepU2BSwQ1SGxtYNPSEy8+hkNkWQ+yevYCRUabXyZs1Ta+I9za1GlZtfHMdBxHRx0ivI0lKpRI1atRA37590alTJ53z8+bNw5IlS/Dzzz+jXLlymDx5Mnx8fHD16lWYmprqIWIiovz18FUCevx0Cg9eJUAiAGoRcLQxxa/96sM1i4REn7rVc8Kqo7eRlKpCxloZahEY3Kz8B4nB1NQUW7Zs+SD3eh/vG6cgkaBY9+4o1r275ljsn3/i8Ziv05Mgleq/USYAEmsr2AcOhbVfJzzo0xdJ//zz37omUYTEygqpL19CTEuD8BFtAktElBeFprqdIAjYvn07OnbsCCB9FMnR0RFjxozB119/DSB9n4eSJUsiNDQU3bp1y1G/rG5HRIXZZ0uP4UpUrNZmuFKJANfiFtg3qukHqRaXW+cfvMboTRG49zJ9g1RLExnGtnFHzwYueo6saFOnpCCySVOoFQqdc4KZGSqEHYbU2lrT9tWatXi+bBmgVmutb7L09kbppUsK5Z8tIqKCltPcoNB+lXT37l1ER0fD29tbc8za2hr169fHiRMnskySkpOTkZycrPk5Nja2wGMlIsqLG9Fx+Oex7i+8KrWIyGfxuPhIgZqFsADFJ87FcPhrL1yLikNiqgoejlYwNSq8096KiqSLFzNNkABATExE4j//QN6kCQBAYmyMxEuX/j2p/V1o3IEDSDh1ChYNGhRovEREhqzQlgCPjo4GAJQsWVLreMmSJTXnMjNnzhxYW1trXk5OXMhNRIXT87jk9zqvT4IgoIqjFWq7FPvgCZJSqYQgCBAEAUql8oPeOzfyPc5sR37+Oy+KIuKPHNEuA/6GTIb4w2HvHw8RURFWaJOkvBo/fjwUCoXm9fDhQ32HRESUqUoOlpp9nd4mCEAVR04Rpv+YVa8OqY1NpuckcjnM69bROiZkVSxCFAEZR/6IiN6l0CZJDg4OAICnT59qHX/69KnmXGZMTExgZWWl9SIiKozsLU3wZT1nvJ0nCQLQqVZplLYx00tcVDgJxsZwmDYtvWjDmwRIKgUEAQ5Tp0CSoaCRIAiwbN36v3YZqVSwatXqwwRNRGSgCu2apHLlysHBwQEHDx5EzZo1AaSvLzp16hSGDBmi3+CIiPLJ1M88YGlmhJ+P30NCigqmRhL0rO+Cb3wrvfM6RUIqVoffxh//REEU0zfUHdjUFXby/NkH55UyBf88ioGVmRFqlrGBJKshr0yIooiTd17hyM3nMJYKaFOtFCqX0v7CKkqRiL9vvYSRVIBXpRKwNsu8nDWlF2FQHjsG1atXMK1eHWU3b8arX39Byq1bMC7nCtuePWBWo4bOdSVGj0LCqVNIe/kyvXiDVAqoVLD58kuY/fvvKhERZU6vSVJ8fDxu3bql+fnu3buIiIiAra0tnJ2dMXLkSMyaNQsVKlTQlAB3dHTUVMAjIjJ0RlIJxvq6Y0TLCngRn4zicpNs1/jEJqXi8xV/494LpaYM90/hd/DHpSj8PrQxilkY5zkeURQxb+8N/Hj0DtL+7dzZ1hzBX36CamWss70+VaXG0PXnsffKU8gkAkQASw7dQmDz8vjGxx2iKGLhvptYHnZLE7uJTILZn1fDF7XL5DnuokQURUClgiCTIeH8BTwKDITq9WvNebm3N0ovXJDtxrBGjo4ot2snYjZuhPLMGUgtrWDd4TPImzcv6EcgIjJ4ei0BHhYWhuaZ/GXt7++P0NBQiKKIqVOnYvXq1YiJiUHjxo2xfPlyVKxYMcf3YAlwIipqVh65jXl7rmvtUwSkb+g6tEUFjG6V878j37b22F3M2H1Vp1+5iQzhY1tkO+Kz9thdzNx9FZn9w7K+f308j0/GiI0RmV67e1hjVC2dfSKmVCohl6fvIRUfHw8LC4tsr9GH3MapTk7Gi2XL8HrjJqjj4mBUrhzSoqIgpqSkjwS9IZHAtndvlBw3tiDDJyIqknKaG+h1TZKXlxdEUdR5hYaGAkifUz1jxgxER0cjKSkJBw4cyFWCRERUFB289lQnQQLSN3Q9cPWp7olcWB1+J9N+45LSsDPicbbXbz6bebEcqUTAb+cfIfT4vSyLVQSuP48X8YW3ol9BEkURj4aPwMs1a6GOiwMApN69CzEpSTtBAgC1Gq83bYKYmqqHSImIPg6Fdk0SERFlzkgqgQBkOlpjLMv7d18qtYhoRVKm56RSAfdeJGTbR0xCaqZxqdQiFImpeBKTmGmCBwD3Xyag++qT+HNEExhJs34OqVSKtm3bat4XVrmJM+mff6A8ciTHfYuJiVArlVrV7kS1GsoTJ5Bw6jQk5uawatcWxtwG472oYmMRfzQcYloqLDwbwqhkCX2HREQfCJMkIiID076GI47ffqlzXPj3XF5JJQIcrE0zTZRUKhHliptn24dneTvsuvgEqrcyIYkA1C1rC7Uo4kX8C53zb0Q+i8f+q0/RtlqpLO9hamqKP/74I9tY9C03cSacO59ete7tUaMsSIsXhyTDNBF1UhIeDh6ChJMn0ws0iCKe//ADSk6YANtePfMU/8cuZus2RE+fnj7dEQAkEhQfPBjFhw2FkO2eVURk6AptCXAiIsqc3ydl0NitOID05OPNr2u1XYqhR33n9+p7YBNXnWMCAEtTGTrUKp3t9UO8ykMmEbSm1EklAuwtTdCtrhMGNy2fZYIEADKJgIuPYvIQuWGTWlnmOEECgOKDBkGQ/PdP+ItVq5Bw6v/t3Xd8FNXaB/DfzOxuNpuy6SGBFBKSQOg1EKQ3KReVpmDBhqKgYNd79QJ6UV8vdvGKoLGAiiAi0iGC9BIgdEJCQnrv2ZTdnTnvH5ss2WxJAqnwfD+fKDtzZubMTmYzz55znnPc8EIUDftiDNnLl6Py6tWbrpdYXAxdRgaYpUlpb2MVFy4i8803bwRIACBJyPvyS5Tu3Nl6FSOEtBgKkgghpJ1RyHhEPTYQH9/fG+PDvTEu3BsfzOiFdfMi6s2MVx9LvfUYgI6u9nCyq7/zQai3EzbOj8SQYHdwMARIE3t0wKZnh8JFpUBEkDtWzulrNjdUDYkxeDg0TRrz9sRp3DhwdnaGSbJq43kIrq43Xjo4wPOlF+H60IMAAKbXI++rr5D/1SrDJLF1CQJKtmxpdH102dlIfeZZXB08BAmjxyBh9BgUbd7c6P20V0Xr1xta9urieRSsXdfyFSKEtDjqbkcIIe2QXOBxX99OuK9v06XN1osSPo1OsLjucmYpTiQVICLIvd799OykxronB0MvSuA4DkKdTA2Te/ni5PVC/HD0utn4JEOXPzs88s1xxGWXItDdAY8N7Yy7e9yYRFyj0cDLyzA2JCcnp01nt2toPQW1Gr7vv4f0l18xtALxPCCKkHfqhIAffwTAIBYVQREQYDJpbMa//oWSLX9aDpCq6YuKGlVvqaoKyQ8/Al16unG/+uxsZL7+Bng7OzhPnNio/bVHuqxMQ4tcXZIEXUZGy1eIENLiqCWJEEIIACC7tAr5Gq3FdTyHRneDkwm8WYBU49W7wxDR2RBwCRwHDoYWsjkRAXju51gcTshHdkkVTl4vwPy1p/D1gWsm25eXl6O8vP5EEq2tofUs2rgRmUuWGh7MGQOvUsFjwQIEbf0Tcm8vyL29oQwLMwmQqhITUfLHFpsBEkQRMg9PpDz1FK706Yurdw1DzkcfQ7JRp9Ldu6FLSTEPEjgOuV+srPdcbgfKsDDD2K66BAHKbl1bvkKEkBZHLUmEEEIAAM5KGQSOg2jhoVtigHsTdoNTKWT4aV4ETiQVICa5EC4qOcZ088L4jw4AgLEONS1NK3Zdxf0D/KFW2Z6nqT0q3b8fmW++ZbJM0miQ/+23cJowHpwgQN6xo0mABADlJ2Ns75jnIfPyQv6aNYbWKUmCWFmJ/DVrUB4Tg4AffwBnIRCovHgJkMkAvd50BWPQXrsGpteDk93ejw8uD8xGwdp1hol9a8aKcRwgSXB/4onWrRwhpEVQSxIhhNxmjifmY/EvZ3D/qqNYvu0SUgsa1uLipJRjci8fCHXGxXAc4GAnwN9NhZ0XspCQU9Yk9eQ4DhFB7lgwqgsejAhAemEFSir1FstqRQnHkswz+t0O8levMR//IklgFRVImnoPEidPQdyQSGS+9W9UXLmCmjngBSdHm/t1HDsGch8fY4BUe98Vp0+jzErKcZmnh9UkEryTk+UWltuMolNH+Ed9C0XnQOMymbcXOn72KVT9+7dexQghLeb2/iqIEELuMN8cSsI7Wy9B4DmIEkPM9UKsPZaCn58ajD5+LvVuv2xqdyTmluFCRolxH0q5gA7OSsxcddRYbmiwO+aPDIa/mwoB7k0zJsjW3EgAoKhnfXtVlZBQf2a7igoUbdiAog0bIPf3g+/y5XAcMQKcSgVWUWHa5U4QYN+nDzp9+imuhHe33B1PJoPm2DE4jR5ttsp5yj+Q8/Enhu1qb8vzcH3ggTsm/bWqb18Ebd0KXXIymE4HRVCQxZY3Qsjt6fb8i0MIIXegnJJKvLvtMgAY02yLjKFKL+Jfv59v0D5cHRTYsvAufP/4ILw4LhT/N70ngtwdcD3ftDXq8LV8PPzNCYz4735M+/Jwg1urbOnuq4aPWmmW4A0wpCAfElx/0oj2SN6xo3lWOxt0qWlIeeJJ6AsK0PGjDw1d33je0EUOgMzNDb7vLjek7baUoQ0wjnuyWB9vL3T67FNwCoVhQfU+HIcPh8fCBQ0/sdsAx3FQBAbCLiSEAiRC7jDUkkQIIbeJ6Cs5VscTXcwoQWZxBXzU9jb3kZBTim8PX8e5tGL4uigRGeSOi5klNrc5m1aM2auP4a+XRkJhKYd4Awk8hw9n9sajUSchMgZRYhB4DowxfDC91y2nN2+r3Oc+gozXXm/4BoyBiSIKf/4F3q++guC9e1D8xxbos7JgFxYG9ZTJ4B0cDEkWrM1vJIpQT55s9RBOo0cj5OABlO7ZC7GkBKr+/WDfq1cjz+zWSJWVkMrKILi5mcwJRQghLYGCJEIIqaVSJ2LDqTTsvpgFjuNwd/cOmN6/I+xkbf8BXZQYOBjmNbJEL9rIggbDWKaHvzlhDFAuZ5Zg98XsBh03rbACey5lY3IvH7P1SXka/HD0Oq5klqKTqz0eHBxgtetfZBcP7HlxONYeS0ZCThn83VR4cHAAQr2djGV4nseIESOM/26rGlpP56lToU1JRd6qVebJEqwRRVRVTxIr9/aGx1PzTFYzrRYF331n/Zj/+AfsQkJsHkJwdobL9GkNq08jSFotSnfuRPnJk+AdnaD+xxQow8ON68XSUmS/9z6Kt2wB9HrIvLzgsWABXO+fVf++y8tRsmMnqhKvQd6xI9RTpkBwdm7ycyCE3P44xmzlDm3/SkpKoFarUVxcDGf6oCSE2FChFfHA10dxLq3YuIwBGBjoih+fuPWJWptbakE5hn+wzyxI4gAEeTpg74sjrI4nYYxh3McHkJhbZjZ3UUPIeA4LR3fB4rGhJsuPJebjkVqBl8BzkCSG/5veC7MG+jX+QLcxfX4+yk+eBCeTIXPZ2xDz822OVVJ27w6/NashqzXZbA1ddg4SqgM0MxwHu5AQSFVVkPv4wHX2bDiNH9ciY43E4mIkP/yIIcCr6b4mivB84QV4PP0UGGNInvMgKs6eNTv3DkuXwvWB+63uuyoxCcmPPAIxL8/Q9VAUwTs4wH/Natj36dOMZ0UIaU8aGhu03a/gCCF3DE2VHhtiUvHp3njsOJ8JnVjPIPZmsvZYMs6lF4MBxh8AOHm9EBtiUlulTo3h56bCs6OCARjmNQIMXdgEnsOyqT1sPgSnFVYgIefmAiQA0EsMHV1Mu/IxxvDab+egl6QbY6QkBgbgrT8uoKRSd3MHu03J3N3hfPfdcBo7Fv6rv4bM3fYYrMpLl3B9xkzo882z/gmuLuDsrXStZAxVCQnQJSej/MQJpC9ahLzPv2hUXRljKDt4CBn/+hfSX3kVRZs3Q9JanmOrttxPP0PVteo5r0TR2B0w9+OPURl3FeXHT6DizBmLwWHuypWGcVZWpL/8EsTCQsMLvR5gDFJ5OdKeex6soS10hBBSjYIkQkirOptahMj3/8IrG8/h87/i8cy60xjz4d9IL6po8bpsO59pMREYB2Db+awWr8/NeHl8GFbO6YeIzu4IdFdhSi8fbF4wFHeFeNjc7lb6FPAc4KKSm3S104sSvj2UhOT8couBV5VewoGruTd/0NucsmtXdPkrGp2+XAnHUaMsJ3ZgDLqsLOR/863ZKl6hgOuc2dYTQtQEIdX/z/vqK+iyGvY7zhhD5ltvIXXePBRv/gMl27Yh8/U3kPzgQ5A0GpvbFv/xh+VxUoKAkm3bUHH+nNVkE2JuLvR5ltPAVyUmourSZfN9SxL0ubnQHD/eoHMjhJAaFCQRQlqNTpQw74cYlFa3KOirn6bTiyrwwvrYFq+PaKUZhQEQ60vR3EZwHIfJvXzw81ODsf+VUfj0gb7o0VFd73Z+bvYI9nRoTJI1Iy8nJX58PAIqhWGYa6VOxEPfHMc71Zn2rLH2ftdHo9HA09MTnp6e0NTzUN6abrWenFwOp9Gj4fe/L+EwfLjlgEcUUbprl8XtvRYtgvqeqQ3LnCdJyPjnv1Dwww/Q17TGWKE5cADFG38zHr8m0Kq8eBH530bZPkxlpeUVHAdJo4HMzd16F0OZDIKj5XTzYlGxxeXG45bYTj4iVVSgeOs25H8bBc3Ro7jNRyIQQhqAEjcQQlrN4YQ85JRWmS0XJYYTSQVILSiHn5vlNMXNYVy4Ny5mFJu1fHDV69qLC+nFOJyQB3uFgLu7d4CXs7LebTiOwzv39sDcb09AYtVJIDjbLUwPRfgDAMZ390Z33xv9uqMOX8eJpAKbx+M54FxaEbR6CZN7+RgDLFFi+PtqDg5czYOdnMeUnr4I7eCI+OwyONjJ0NnD8JCcl5dX7zm1BU1VT16phNULYiUI4hQK+L7/PjwWPofKy5fARBEZi1+weozyY8dQfvQocj7+BP5fr4Jq4ECL5Qp//sXQ2lM3mJEkFG/ZAs/nFlo9hmrgQJSfOGG+rV4PVcQgOERGIus//wGrrDSb+8l50iTwDpaDJLvQUHBKpWG7ujgO9r17W61TRWwsUp6eD6m42Hheyh494Lf6a4vjvQghdwYKkgi5g+lFCRcySiBKDD07qm8pffPNKNDYHsNQWK5t0SBpbmQgfj+TjuR8jTFQ4jmgi5cj5kQEtFg9bpZelPDir2ex5WwG+Orn6WV/XsLye3vggUH+9W4fGeyBbc8PwzeHknAurQg6keFabpnVQGnt8RTwnOH/3Xyc8MPjEfB0ssNvp9PqHdskMeDbQ9fBALz+2zk8M6oLnhkRjKd+iMHha/mQ8RwYgFV/J8JOxqNKb3io7u7rjP9MsZ2Vrb3TZeeA6XSQd/Q1jiNzGjvGcosRz8P57gk296fo1BGKTh3BGEN+SIhhTJCl1prqZayqCmnPL0LI3/tvzJUEQCwrQ/riF6A5dMjqsay2FFXzWrwI1x962OR44Hkoe/SA0+jR4GQy+K38AqkLFhomyRUEQBSh7NoVHf75htX9Co4O8Hj6KeR++pnpCo6Dy8yZkPv6Wq5vVRVS5z8DqbTUpE6Vly8ja9nb6PTJxzbPhxBy+6LsdoTcof66ko3XfztvbMlxUynw9r3dMaWX5YeJ5nAttwxjPvzb4jp7uYCYN8fCwa5lv8spLtfh28NJ2HEhExwMXdceGxoIJ6W8RetxM1YfSMS72y9bzG63c/FwhHVwsrSZVRfSizHlc+sPxLUJPIe7unjg+8cHYch70cgstvywLHCGAMnSH55wHydcziy1msLcsD0HlaDHheX3AADKysrgYKV1obVpNBo4OjoCaFg9Ky9fRua/l6DyvGHiX8HLEy5Tpxof8lOefhrlR47eaFHiOPAqFZhCAVRVwWHgQHgsXAj7nj2sHqP8zBmkPPY4mE5nfQ6lap2++h+cRo40vk5/6WWU7NhhvTucIEB9773wXf4fm/vN//575Kz4ENBVJ+6Qy+H9xutwmzPHWEYsLUXJzp0Q8/Oh7NETDpFD6p0riTGGwp9+Qv7q1dBnZUNwdYXbIw/Dfd48w4S7FpTs3IX0xYst75Dj4LFwITSHDwMAnCeMh8usWeCtJcQghLQLDY0NKEgi5A50JasEkz87BKk601gNjgM2zh+C/gFuLVaXBT+dxo7zmWYtDy+MDcWise2zxUAvSkgtrICDnQAvp/q7ujWVkf/dh+v55WbLBZ7DY5GBeHNKuIWtbHv+59P482ym8ffE1jxMAHDsjTH4ZO9VbDiVdtNjjurDtJVI+XgGgNsnSNJl5yBx8mRI5eUWgxDnyZPR4e1lKPlzK4q3bEFVQoL5OBueBycICFi31ubEr9rUVBSuXQfNyZOounTJajnfD/4P6qlTAQD6wkLED73LeoDE8+AdHND5t41Q+FtvtaxKTETi1HsMAVqdxw//b7+BQ2Sk1W0bijEGptWCUyjqTWtesHYdspcvt96vtHYXR46Dsns4An78kQIlQtoxSgFOCLHq+yPXAZg/7PIch28OJbVoXT6a1RtPDguCSmGYM8XNQYF/TeqG58d0adF6NJUNMakY8t5fGLViPwYtj8ac1ceQYiFwaSrx2aV4deNZjF6xH6kFVo7DGPLKzMd+NcRHs/rg9Yld4edmD5VCQGdP2wHJptNpGB7qAXs5D4G/iSwQDdBc+21NRet/sRogAUDJ9u3I+/wLuNw/C2ASpLIy80KSBCaKyPnkU5vHUvj5wfuN1xG4bq3VMT7gONj37Wt8qc/JsT1nU6+e6Lxxg80ACQAKf/rZEHTUDUoEAflR39nc1hZ9YSFKdu5E6d69YOXl4O3sGjTvkzI83PbAu9rrGEPlxUso+vXXm64nIaT9oDFJhNyBrmaXWfyWX5QYrmZZePhqRnYyAf+c1A2vTAhDaaUeant5u30I3n4+E69sPGey7HhSAWatOoq/Xh5hTE5QV25pFdYdT8aZlCK4Oyowa4AfBgfZniMHAE6nFGL218egl5jNVhuJAT06qvH31Vz8cSYdGq0eQ4LcMWOAHxzr6c4oE3g8PSIYT48wzL90ObMEEz89aLX8B7viAABBHg5wsZfhdKrtrGM3Q1/rXPWtNKdWY+Wt+Qb5Fy5AcHGB+t574BAZafIQX3Hpss0gBIyh4LvvUHU9CRVnYq2XkySU15PumjGG8hMnUbJ9OxQBAais25rEcVBPuw8KvxuT/cp9fcEpFGBW5kLSpaUj5bHH4TRhAtyffMLqHE/apETL3fxE8cb8SY2Ut3q1YSxS9VxInL09fN55B+opk+vd1r5vH6gGDED56dO23/8ajKFk9x64zZ17U3UlhLQf1JJEyB0o0F1lMRAROCDAo+USJdQmF3i4OSjabYAEAJ9Fx5slGhMlhqySSvwRm2Fxm2u5ZRj38d/4LDreEMTEZuCBr4/hi7/i6z3eO39egk6UbAZIAs/B3VGBhJwyzP32BP44m4HdF7Ox7M9LmPLZQeQ3soWpm48zRoR6or7LlFxQjqT8cgjNcTk5DooOIVB0CMHiX89CaqZufbeK53n079UbPRwdUfC//0Fz8CBKtm9H6hNPIvcj04QAci8vQ5KCemj2Wx7DZ3JcpfUunowxZL/3PlLmzkXRxo2ojIurroBhzJ3g6grP55+Dz7JlJtsJTk5weeABq5n0xLw86DIyUPDDD7g+636racTl/v6Wz1MQYBcYWO+51VWyZw9yP/zIGCABAKuoQMarr6LyypV6t+c4Dp3+9yXU99wDVI9bsjoJ740jNLqehJD2h4IkQu5ADw8JtPhgKTLgscjOrVCj20NcdqnFnjsynsOlDMvztCzbchGlFXrjmKyagOfD3VeRnG99bp3iCh3OpBbZzCLHAbiriweW/CMcv5xMNe6fwfCYl1pQgY/3Xm3AmRmOdywxH5czS7ByTl/M6N8JMhsRkCgxFJbrIDbD8yQvt4PP3I/hM/dj7EsoxoH4tjkprb29PTaPHIFf/QNgDFuqW1HyV682BihMkuA8ZXK9iRQayi40FKKVeYEqYmJQ+MMPN+pSc0xRhNujjyLkyGF4PPOMxUQH3q+8DNc5c4zBhEWiCF1mJgrX/WRxtesDs41JJ+pu5/Zo41tnCn/40fLksxyHwvXrG7QPwckJvu+9i9Bjx9Alei/sQkNszi3lPH58o+tJCGl/KEgi5A7Ux88FH87qbRwHBAB2Mh7v3NsDd4V4tGLN2jcPBzuLyyXG4O1svk5TpcfB+DyIFiIrjgN2XcyyeixbLTkcgOdGd0HskvH4/vFBOJVcBJmFDUTGsMVKC5ckMVzOLMG51CKs2BWHQcv34oGvj2Hipwcx/X9H8OSwIJx5axy+fLCf9Yq0AJ4D9l7ObtU6WMP0epTujbYc/AgCSnbsRO7nX+DqkCFIeaTpum9VxMYi8R9TUX7uHLLefRcJo8cgYfwE5HzyCYo2b7bckiNJKN62zeY4Hk4uR4e33kTIwQMI/OVn2IV3s1xQklC2f5/FVcqwUHT89BPwTjcyLXJKJbzfehOOw4c35jQBANq0NMvd5EQRurT0Ru1LcHSAvGNHw3ZWxinxTk5wmTmz0fUkhLQ/NCaJkDvUtH6dcHePDjh6LR8SAwYHubWLNNdt2cNDAvDxnqumGQNh6PI2rV8ns/IiY1Y77jAGq2m0AcBJKceQIHecSMo3a61hAKb36wS1veF61swxZInOQlPP0Wv5eHXjWaQWVljcJiFHg9lfH8OBV0fBxb51f2ckBnBoo100GbPZOlS2bx+qrl61nTjgJo+rz8tD8kMPm7QW5X+92nqiBsBkIlbGGPRZWQAvQO7tZVJO5uoKmasrOJmNay9Yf7xwHjcOjiNGoCImBkyvh32//hAcby5DoV1IiCGpRN33WRBg1+Xmkr/YdemC8sJC8+CL4+AyfTp4Vet0SSaEtCwKkgi5jVXpRZxKLoQkAf0DXGGvMP0GWaWQYUw371aq3e3nmZHBSMgpw5azGcZU2Uq5gE8f6ANfF/NxDs5KOXp3UuN8erFZtzkGYN3xZMzo3wndfdUWj7d0anfM+OoIyqtEiIxB4DmIEsOiMSEI9Ljx0Dki1BM/n0gx217gOQzs7IpXN57Fgfg8OCgEjOrqhe8PX4fexoO7yBjyNVpsPZeBv67kNOStaVKSrhIZa54FAPg++SX6+bu0eB0aoryiAmMTrwGM4c/OQbCv3S1MFFFVMx6oOdTuSldDkm5MmlqXIMDhrqEAAM3xE8h65x1oExIAAMru4eiwZIlZWnFObj1Iknvb/lzhFYomSfft/vjj0Bysk0iE48AJAlxnP3Bz+3ziccvJLxiDonPgTe2TENL+UJBESDvEGINGK8JOxkMuWO41u+N8Jl7fdB7FFYYJGx3tZFjyj3DMHOBnsTy5dXKBx2ez+2LBqC44kZQPR6UMY7t522yhe2tKOB74+hgkC0GJKDKs2B2HqEcHWdw2rIMTdr8wHD8cTcbp5EJ4Otph1kA/DA/1NCk3Ltwbg4PccDypwNhoIfAcFDIeMdcLUaW/kfzhWm7DUsDLeA7XcjXY1wpBEhggluQY/x0R1HLzejWG5tRpZFRPmNpcQ/1l3t6GlpRGtEbxDg6QKipMW0qqu6eVREcjfdFikwCr8vIVJM99FEFb/jDJeKfLsNxVEwCkKuutoE3JYXAEfD/4ANnvvQexoAAAIO/YET7Ll9ebjtwax+HD4T5vHvJXrzZbl7Xsbdj36gVlNytdDQkhtw0KkghpZ3ZeyMR/d8XhWq4GcoHDfX074l+TwqFW3XgQv5BejAU/nTZpnSir0uOVjefQyVWFIcH1p5cmNy+sgxPCOjjVXxDAgEA3TOrpgz/PZpg9SIsMOHA1D4wxq2NFfNT2eO3urjaPIfAcvntsEL45lIRNp9NQVqXHsBAP5JdpcSA+76YmfRUlBielDFobmRnkPAe9ZL1LYV12Mh4OCgE6iaGsUt+g7Xxd7ODr0ja7P4mllpMnNKXGBkjgedj37w/BRY2SLX+arKq8dAnpi18wn8dIksC0WhSuXQfvN16/sStrXfd4HoKDY2NO45ao/zEFzndPQOWVK+DkctiFhoKzlMyhEbQpyYaEEBbGO2W99z78v/ofdbsj5DZHiRsIaUd2XczC/LWnkZhryHqmExl+O5WOOWuOmTzo/nD0usWHaoHn8O3hlp0sltTPR60EbyUTg0LgGzQpZn2UcgELRnVB9EsjcfyfY7FiZh+cvF54UwESzwGOShnCvG0HgrpGBEiAYexUQbkOpQ0MkADg/em96i/USnSZ1hNvNJnGjmeSJKinTIZYVGyewEEUAZ3O6jxGFefPmyxS3zPVcha4mmx9LYiTy2HfsyeUXbvecoAEAFUJ1ywnhJAkVJw4gfgRI6A5evSWj0MIabsoSCKkHVmxK8441qWGyBguZpSYjA1JzNVYnSw2MbdlJ4u9E+SVGSaDXXMwEZczG996MLmXj8XrJfAcpvbxbYoqWiS/yUmMvJ2V+PHxQdgQk9robZ3qmby2sQYGts1WUabToeDbbxu+QQPmSGoK8s6d4XT33ag8f75xKccFAbIOpuOM3B5+GKoBA4zra85BPX0aHEeNaqoqtwpFYKDNayKVaZD67AKIRUUtVidCSMui7naEtBOVOhHxOZYDHBnP4VRyIcaFGx5igjwdcCa1yOzBW+A5BHu2XDeYO8GvMan456bzECUGjjNkW7u3jy9WzOwNmZXxYnX16uSC+SOC8dXf1yDwnGF8EgM6utjj5fFhYIxh2/lM/HoyFfkaLSI6u+PxuwLRydXQ3afu+oGBbnjirs7wc7PdHWhqb1+sPZZiMQW5QuChFQ3fpAs80N1HjXxNFZyVcjw6NBDn04ux53LjxyPpmmAuIEvpzNuaqqQkiFYmVLVIFCF4ekLMbd45n3RJSchfswYyTw/DA37da2+lixlEEa6zZpkWVSrhH/UtSvdGo+zAAXByOZwnjIdqyJAmaf1sTW4PP4yy6GjrBRgDq6xEyY4dcJ09u8XqxRiDpNGAVyotzmVFCGk6dIcR0k7IBR5KGY9KC+mcJcbg5nBjTNLcyEBsPJVm3uokMTx+F00W21Tis0vx2m/njM+ZNf//IzYD3X3VmDc8qMH7eu3uMAwP9cDmM+kordQjorMbZgzwg6OdDG9tvoAfjyUbr+eljBKsPZaMtU9GYFBnN7z0ayw2nbmRUe9KVik2nErFxvmR6ObjbPF4jDHMGuiHfXE5SC0wpPrmq7PjzR7kh39O6obDCXlIK6zAp3vjcTGzBKLEkMFV4rXfzqOB8Z+ZSv2tpzDQ13qI37BhA7p164Y+ffrAzs7yPFWt4cjp07Cck9C65g6QauR/vRqeL76AnHffM18pSXCaMhmlW7cZXnMcwHHweulFOAwefKOupaUo27cPUnk5VIMGwfnuCc1SVyZJKD92DBXnL0Dm7ganCRMgODVsvN+tcBgcAZ//vIOs5e+CVVhOhQ9BgC6n5RKXFG36HXkrV0KXng7O3h6us2bCc/Fi8PbmmTMJIbeOgiRC2gmB5zBjQCf8dDzFLF00x3G4p09H4+vuvmqsnNMPb/x+HkXlptntBge1ze5J7dGGU2ngOc6sJYYBWHs8uVFBEsdxiAz2QGSw6WS+F9KL8eOxZON+a/6vFSU88PVRhPs440JGicl6UWKo1IpYvu0y1j4ZYXasPZey8c7WS0gpKAcABLip4OYgR16ZFuVaERfSS/Dn2UzcP9AP89eeQrlWNJ5jzamK1qdeamYMEYpUVHoaMvjFx8cjOTkZJ06cwH333Qe9Xg9PT0842JgP6FaUlpZCq9XC1dUVvJWxL7t27cKxuDgMdXVFsEIBAMaZnFitf7cWVlkJwc0N6hnTUbzxN8MgMwaA56Hs2wel27Yby3KODuj08cdwvOsu47KS3buR8eprJvMqqe+7Fz7/+Q+4Juw2KBYXI2XeU6g8d87Q9U0UkbX8Xfit/KJJ0ofXx2XGDDhNnIiEseMgWWoV1Ouh7NoyWe4K1/+KrCVLjK9ZRQUKflyLqmuJ8Fv9dbtvuSOkLeIYa+pZ7NqWkpISqNVqFBcXw9nZ8jeqhLQXpZU6PPzNCcSmFkFW3S2L5zh8dH8fTO1tPnZFq5cQk2xI+9w/wBVKecuMe7hTvLA+Fn/EppsFrQCgkvP49rFBcFHJEebtdNMPMR/vuYrP/4q3eIyG+O6xAajUSziTUgSFwKOTqz1e33QeYDeCKh6ABBjnWappkbq3jy/+PJd5U8kdmosPX4K77a7aLMPzPPr164e7774bQhM9tBcUFGDLli1ITjYErA4ODhg7diz69OljUk6SJCxfvhySJMG5uBij9kZDodWCVV9/jrFWD5IAwH7AAASu/RFV8fEoO3wYvJ0dKq9eRdHPv5iV5ZRKhBw6BMHRAdq0dFybMMF8PBPHwevll+D+xBNNVseM199A8Z9/mh6L4wz1OXgAgmPLdB0u3LABWW/923ShIEDh74+gLX/YnC+qKTC9HvEjRkLMz7e4PvDX9WZzWBFCrGtobEAtSYS0I05KOTY9E4m/43Nx6nohXFRyTO3tCy9npcXyChlv1jJBmk6PjmpsPpNucV2FXsIDXx8DAIR5O+KLOf0QYiUbnKZKj6Q8DdwcFBYnnb0Vj0bFADC0XtSMmarbDbOmUagmGKpZtzk2A0IzjP+pe/zGCBQKITFD44c1kiQhJiYGcrkc48ePv8kj3VBVVYWoqChoNBrjMo1Ggz/++AN2dnboVmvOnIKCAkjV3QFL1Gps/8cUBCYmwaWoCIJeB//UtFuuT1OoOHMGAGAXEgK7kBAwxnClV2+LZVllJQp++B6ezz6L4k2bLO+QMRSs+8kkSCqNjkbhL79Al5EJ+5494fbYY1CGhTaoflJ5OYq3bjUPxhgDq6hA6a5dcJk+vUH7ulUuM2aAabXI+/wLwzgujoPjsGHo8PayZg+QAECXlWU1QALHoeLMGQqSCGkGFCQR0s7wPIdRYV4YFebV2lVpcRVaETsuZCKtsAIhXo4YG+5tdTLdljCjfyf8b38CCjU68y53tV4m5GjwwNfHcODVUXCold1Nkhg++yseq/5ORIXO8DB4VxcPrJjZGx3UhsB3XLg3Po2Ov+W6slp1amiAIvAcOrs7ICnfcrZES7p4OiAhV1N/wZvENyK8OnnyJEaOHAlFdZe3m3Xu3DmUlZknTeE4DgcOHDAJkmR1BtPrFArEdw0DAIzau7dNdLcDAN7eHvrCQhT/vhlVcXHgXVwM6b+t0Bw5As9nn4UuJ9ty2m+YjqnK/WIl8r74wpgIQpuUhOItW+A0bhxUgwZCPWUKBLX1UVtiWRmg11tdX/b3AainTWuRbmYcx8HtwQfhOmsWdOnp4NVqyFxdm/24NQRHR8N7bqnjD2MQWrAuhNxJKEgipB0TJYa/ruTg76s5UAgCJvfqgP4Bbq1drWZxIb0Yj3x7AgUaLWTVk5T6udrjp3mD683iVpdOlFCuFeGslN3SQ5baXo6N8yPx5uYLOJSQBwAQOMMksLWJjCFfo8WfZzPwwCB/4/KvDybik72mAdDRxHzMWXMMuxcPh0zg0aOjGtP6+mLTmYybrudNYwwjwzxQcEaL4nKt2XnVxQHo4uVUb5B0K5330kVnBEoZWL16NQBg3rx5VoMgvV6P0tJSuLvf2ji87Oxs8DxvbCGqwRhDTvXAfZ1Ohz179uBMdQsNAGi1Wqz5+mvItVp82X8AXAsK20SABJ6H48iRSJw4EWJxiSGQqYfgZOiSouzaDcWihdYknoddmCEY1GVmIm/lSsPymves+v+lu3ahdPdu5H78Cfy/WQP73pZbr2Tu7pB5ekJvJZlF6e7dyFv5JTwXLqi37k2Fk8sNqcFbmODiAsfRo1C2/2/zrof29nAaM6bF60TInYDmSSKknarUiXjkm+OY90MMfjmRih+OXsf0/x3F0i0XcbsNNRQlhqd+jEFRuRYAoK9u1cgorsSiX87Y2tREuVaPpVsuoufSXei9bDci3/8L60+m1LtdhVZE9OVs7LyQaaxDjUAPB6x9MgKx/x6HA6+MshpIyAQO13LLkF1SiZ9PpODHo8n4cl+CxXNNzNVgf5zh4XDL2QwcTjDvalPzsN2cX6SLDHhgkD92LhqG+SOD0dnDdjAq8Bx81Eq4OzRfF6RkyRXZogNyc3ORW082OEEQ4NgE41acnJys3lM1+9+wYQNiYmKgr9X6oSorQ05eHtJLSuCTlgahCdKfNwW70FBUxccbAiTGDA/e9dTN9eGHULTpd5Tu2WNIolD3F0+S4PHMfABA2YGDtie5ZQxSeTnSnl8EZuW4nCDAY+FCm3XKX7WqWecpYjodCr7/Hon/mIqrdw1D2gsvoPLKlWY7ni0+S5dCERBgeCGTGQIkhQKdPvsMfDMlKSHkTkctSYS0U1GHr+NIouHhWV+rK9R3R65jVFcvjAj1bK2qNbnjifnIKKo0Wy5KDKdTinA9T4NAD8ODAmMMR6/lY9fFLEgMGN3NCyNCPMFxwNM/nMLha3nGJAiZxYZ01lqR4eHBARaPve1cJl797Sw0VYaHObnA4aXxYZg/ItiknItKAbW9HO4OCuRrtGb7EUWG5PxyDHk3GvUlhhN4DhczinEsKR9rDiZZLBPi7YjHhnbGn2czcOTajSAqzNsJcdml9RyhYcaHe+F0ShHAgLlDAvHKhK7YEJOK1347ZzGRhF5i+P1MOooqrHfbulUMHA5q609jz3Ec+vbt2yRpwfv06YMDBw5YDJQGDhyI7OxsxMebd4nsefac8d882kY3O5dZsyC4qJH/9epGbZc67ylDIGWh25fM0xNeL790o0WjIScqSdBnZ6P8ZAwcBptnYAQA1/tnoSoxEYXff29xPdPpUB4bC6eRIxtxJg3DGEP6Sy8bgkLDApTu3oOy6L8Q8MP3sK+TsKO5yTw9EfTHZpT+tQ+Vly5B5ukJ58mTWrTbHyF3GgqSCGmnfjuVZvHLWoHn8MeZ9NsqSLIUdJiur0KghwMkieHljWex6XS6ccLRH48lY2w3bzw1vDMOVneJq+uTPVcxe6AfZAIPxhh+OZmKNQcTkVJQDl2dpiGdyPD+jisIdHfA3T06mKzjOA6P39UZK3bFmXQp4znATiZg96XsBp2vKDGsO56CnNIqi+s5AL07uWDWAD/MHuSP+OxSXM8vR6C7CoEeDhj+wT7klFRZnCS2MXZfysHuS4buZALH4eUJYXhmZDD0EsMbm85b3KY5A6QaDckP161bN6tJGxhjyMjIQHFxMby8vODhYTu5iVqtxsyZM7Fp0yboao3b6dWrFyIjIxEbG2u2jbyqCr4ZrdBF0gpe7QzP556HIjAQqU8+2fgd1LT41P6d4nmop06Fz3/eMZnY1HHkSOuT0tbdbUmxzfXqyZOsBkkAwKsa19W2oSpOnULp7t2mC0URTBSR9tLL6LJjO7hbHOvWWDWT9TpPuPVkJISQ+lGQREg7VVpl+WFUkhjKqqwPeG6PenWyPsDbTsYbs8Ztv5CJTacN2eZqt65FX86GQsaBr87uVle+RouMokr4u6vw0Z6r+PyvBJsZ2HgOiDqcZBYkAcD8EcHILqnE2mPJxmN5OyvR2V2FI4kF9Z4rzxkCXVuBIYNhjqazaUVY9+RghHg7mWTOW/tkBOb9EIPEOmODbiWrnMgY/m/nFXTzccKMfh1x8GoudlzIuqXxRTdLX0+Q5O3tjZkzZ1pcV1RUhPXr1yMrK8u4LDQ0FNOnT7eZ4KFr16546aWXEBcXh6qqKgQGBsKzeq4mS136Ol+71iZajgDA5aEH4fXSSxDs7ZE4bVrT7ViSoDl61CRAAgC5lxe8XnoJOf/9r+1gieetjkmqoezRA/KOHaHLzDTdD89D5u4OVb9+jaqy5tgxFP+xBWJpCVT9B8BlxnSLk9OWHTpknJupLn16OlKfew5+X31F8xMRchujIImQdmpYiAd+P5NhMevY7TZhbIC7A+7p44stZzPMWs+eHNYZzkrDGJhNp9OtBkIXM0qszjXEcYYkDPllVfjf/msAbAcTEgOS88strhN4Dm/f0wPPjuyC2NRCqO0VGNTZDdP/d6S+0wQAuDsoUFiua1A2uWu5Gvxr83l8/fAAk+XBno6IfnEEvj6QiB+PJSOtsAL2cgFhHRxxLrW43u5+1ggc8Fl0POb9EGPWwtaS7lJch+VOiAbZ2dk4cuQIKioqEBsbi6qqKvj7+8PDwwMxMTEQ6zz4xsfHY+vWrZhWTwBhZ2eHXhZSLXfu3Blyudyklelqt27IcnYG4m3P6dQSitauQ9nuPXC6ewKqLl1u0n3rc3JwuU9fqAYMgNei52HfsycAwP2Jx6EM74bC9etRcSYW+mzzVlSX2Q9A7u1tc/8cz8N3xX+R8vgTYFVVxu5+nEIB3w9XmAVotuR8+BHyV682BD+ShLLov1Dwww8I/OVns3rU10qk+fsAKmJioBo4sMHHJ4S0LxQkEdJOPTuyC7afz0KVXjI+UAs8h44u9pg5oFMr167pfTCjFzo4K/HjsWSUa0W42Mvx1IggzB9+Y2xQWaXOYiDEAMh4Dg52Asq1okmgJfAcxnTzglolx55L2SYtUNYIPIewDpbnPKrRQa3E3Wof4+tendSITS2yWJYDMCDQFc+O6oL+/q7otax2N5+6SaNv1E+UgD2XslFUroVUWYbDhw8jISEBSqUSjn5d8f4hjXGAfYVOxLm0mw+QAEMih9Mpls/BXO16M9hDh06CoWtVuqhGOaw9hFpLkm04bzVXAT++pN6j76kZS1Lt2rVruHbtmuUjMoYLFy5gwoQJcGjkIHjGGL744guTAAkAwHHQWniAr7l61tofav/2NWUbhT4nB4U//NiobSSOQ5mTEwRRhIPGSsZCxoDKSpQfOoTrhw+j02efwmncOACAw5AhcBgyBIwxFP70E/JXr4E+KwuCuzvcHp0L98cfb1A9VH37osue3Sj6bRO0169DEeAP9X3TIPdu+DQIlZcuGQIkwKR1SJ+Tg5yPPkLH//s/k/LOEyYg77PPre9QEKA5epSCJEJuYxQktRCNRoMrV65Ap9MhODjY2E2DkJsV5OmIzQuG4sPdcdgflwu5wOMfvX3x4rhQOCmbf4LDlmYnE/DGpG54aXwYSip1cLGXQ1ZnjqShXTwRk1xoFigJPIfhoZ4Y09UbT/5wElU6CUJ1GvHOHg5Yfq/h228HhdCguogSw1PDgxpV/0cjA7HueIrFFiIGYNGYUNwV4oG9tcYtOaAKXnwZkiR31AQPAhjukifBk9cgVu+DJNEdP2/YhJzrccbtSkpKkJOTgwkKR+zUdjUul+oEh6LEwBlmUKoe52MajNlDh4l2cXDiqlDGFLio74Aroifqf3w3DXS6y7IxQJZ2I2SSA7F6X5zV+9aznxs4MAyUpSFYyAf0hnFCTYkxhpKSkkYHSevXr0dJieWgrfvly/CtDpSM2Qir/5/ZoQM6ZGWBAyDyPMocHaHQamFfWWkMZBnHgWcMRS4uuN45EFqFAh65efDIy0Oehwdkoh4d0jOgl8lwsUcPlKqd4Z2djW4XLtpMXWs7DDWsS/H3Q2zfvqisHvPjWlCAgcdPwMVKNjm9ICDLxweJn32GQV26wLPzjeQaNfMMuT34IJhWC8jlje6mJvPwgMfTTzVqm9pKduy03H1OFFG6YyfY+++b1MkuOBjuzz6L/C+/tLg/xhguxiegaPNmhIeHIyQkhLreEXKbuWOCJI1GA0EwfwASBAFKpdKknDU8z8Pe3r7RZc+cOYNNmzZBkiRwHAfGGHr37o2JEyeC53lwHAdVrcGn5eXlVtPN1i1bUVFhNndHbbX/4DembGVlpVmXlJstq1KpjH88qqqqTFLk3kpZe3t78NXze2i1WvNvcm+yrFKpNP6uNKasTqeDVmt9HImdnZ1xosnGlNXr9aiqsjyAv6Mjjy8e6A159azvNWU1Gsvvm0KhMJYVRRGVleYZ42rI5XLjGI3GlJUkCRUVFU1SViaTGbOTMcZQXm7o4mbPAVWVelTVKfvwkAD8dCIZuaVV0FcZ6ivwHFRKGR7s5w0fF3tEPz8YOy/loLgK6N5RjTFdvVBVWQGNRo/uXnZwVYgo1NxokeJ4HpzsRquHk0zEGxO7oo+PvdlngK3PCG8Vh1X3h2PBT2dQoZMAjgMvN5zbo5GB6Otr2F/0+WRAVwmJMYy0uwxnVKIHb4d8wR0ySOjEF4PTV4CJQAQXj958ElKvmo7SqXl/fYQyBEnpSNDf6H4p44G7fbRwqMyCXqfDaV1HJItqABwkXZXJwHwNAMZVQM/rYce0GGKXAk99GQ7qOoPpdWBmnyc3HrN5heFz1YcvQV8kQa8z/UzrgevI1fNIk1zAye3AcRw4MCj1GpRLgllyhmAhHyFCGmSQg1co8MILL0Cv10OSJKv3kkwmM973NWWtUSgUcHFxAdDw+14URVy8eNHqfj1y87ArKBhC9WeajjHoGIPEcSiWyZAdHAyeSbjcvTt0CgUEQYBnQSEGHzkChUaDApUK2T4dcL5PH3DVx7jasSMAQJDJIAgCOEmCnjGIOh3A88hwViPg/AXwta6jnOMgr66DnjFoq9dJ1UGYXhBwqUd35Hh6Yvy+/Sjy9sKxyEhIkgR99XubrVJh17C7MHrXbsglCXKtFnKOg4LjkO7riyMRg1BV/V4fWbMGPXv2xOTJk43vv1wuh1wuR0ZuLrKzs6FUKuHv728xsGiKz4i6yjQaaBkztl8yxlBR8x5ptdizaxdiz51DZWUlOnXqhBEjRiD4+edQEROD8pMnUV7nbxyTJBzhOZTHxCAmJgYDBgzAPffcA47jmuU5AjB/NkhLS8OxY8eQk5MDNzc3DBs2DKGhoRbL1kbPETfQc4RB7WeDxpRtyLMBz/O4fPkyUlNTIZfL0aNHDzg7O1ss21LPEbbuOxPsNldcXGz4mtTKz6RJk0zKq1Qqq2VHjBhhUtbDw8Nq2QEDBjDGGMvKymJLly5larXaatnw8HCT/YaHh1stGxAQYFJ2wIABVst6eHiYlB0xYoTVsiqVyqTspEmTbL5vtc2YMcNm2bKyMmPZuXPn2iybk5NjLPvss8/aLJuUlGQs+/LLL9sse+HCBWPZJUuW2Cx74sQJY9kPPvjAZtl9+/YZy37xxRc2y27dutVYNioqymbZX3/91Vj2119/tVk2KirKWHbr1q02y37xxRfGsvv27bNZ9oMPPjCWPXHihM2yS5YsMZa9cOGCzbIvv/yysWxSUpLNss8++6yxbE5Ojs2yc+fOZYwxllFUzp7/4ajNsjNmzDD5HbZV1j54AAv/9w62MSaVnUouaLLPCM/O4eytzefZ8cR8JkkSCwgIsF7W05MtXbrU+OPp6Wm1rFqtNpZbsmQp8/LtZLWsSqViU/+1igW89icLeG0rs/PrYbWsXC437jPgtT+ZfZD1zx4ALOC1rSzgta1s7pufsm42PtMAML8XNhrLu/cYbrPsK6+8Yjy/gQMH2iy7aNEiY9nIyEibZd99991Gf0YcPXqUjRs3zmbZ7/z82KWwruxSWFf2ppe3zbJz5sxhS5cuZcveeou91iXEZtmZM2caz23mzJk2yz44Zgz7c9JkdqFrN/a/jtZ/HwCwWcOGsc8WLmTL/v3vej+vF3bsxL6cP58tXbKEzZs3z2bZJ598kq1atYotXbq03s/25vqMuNfZ2XgtYkJCbZYNDw9nCQkJTJuZya6OHGWzbEhICFu6dCm7evUqY6zpnyNqNOQz4siRI4wxeo6oQc8RBq31HPHOO++wzz77jC1dupQ9/fTTNsu2xnNEcXExs4Umk21mZ86cMX7zQAhpfj5qe7w7rWeT7S/Y0xEHXhmF6f07oZ9/081JEuCuwtv39MCgzm7N1k2H4wAezGYZf74IjRn9wnGAD1f/mKAR8mvoyBfDgatq8N45MKj45k8hbklaWhouXLjQ4PK5ubnYtWtXveWkmxhZxAQBV7qHN3o7a8ocHXFq4AAcixxSz28DUObkhAJ3d7AG/N262jUMOd7eDZrROD4+HpmZmQ2scfOQeXdo1OzL69evh+TqiqA/t9RbluM4XLx4sVH1qe8b+5sRHR1t81t1QlrSlStXUFhYCAA2WyDbKo6xW5xIo40rKSmBWq1GRkaGxea95u5ut3HjRly6dMniB6FSqcSLL75I3e1usiw1kxs0ZzN5W+1ud6tlG3Pft0SXXMD0vv9oTxx+PXgJU5U3MpHVTk9t63enbtnkCiX260MgShJ6yTLRU5Zl8pyol6lwUtcJiZJ7dXc7wPAfDnfJE9FZVmS23wJRiS3lXSBJNWOZDPX25ksxRp4AgQdkcgV4DsiT7OEslqBuWkKJAUmiG47oAsHJ7cBzgAJ6/EN2FnbM+vnJ5XLo9XpERUWBMYaHHnrI+DtdV2O629WUXbhwIZycnGze94wxfPrpp9Dr9Tb3q6+qwqbVq6HUavGdfwAEjoMoSYgLC8PFXuaBvCAIxs8TURRtfq7ebNm7oqPhnJUNUSbDzsmToKt576p/KWqXlSTJ5mcwz/PGzylrZWu6mNsqq1Ao0KdPH0RERCAhIcGYYj0oKAiMMWRnZ+PEiRNITExEVVUVvLy8MHjwYAQEBKC4uBipqakQBAGhoaEWu9Ub3wdJgubXDSjatAn64mLw/fvjWs8eOHT9utnfXI7jIJfLMWzYMIwePdp4L3/66adm9zXHcVAoFAgPD8eMGTMafN8fPXoUW7dutVhuxowZ6Nq1q8XPiMzMTERFRZltU3N/zpw5E4GBgfQc0YCybek5QqPRoKioCA4ODlY/09rTc0RlZSU+/fRTq58nkyZNQp9akzK35HNESUkJfH19UVxcbDE2MG5rdc1txsHBoUEDchszaLchZX18fHDp0iWz+Tc4jkNgYKDFfagaMTle7Q/Qpixb+6GwKcva2dkZf1mbsqxCobA5x0lLlK3pc9/UZWUymfGDrinLCoLQ4N/3xpTleb5ZynIc1yxlgaa/72+mbO37/q17+2F8rwBs26wBX5pl1hbR0N9JAJh493gEFAs4d/IousqKoOBMt5UzPe6SX4ebWIErnBcqmBxuXDl6yzLhJysHLGShcxMqca9DAs7pOiBDcoack9BFyEN3WTZkdfbvwVdA4uSGtBC1ToQxIF/nDp5TggNDJ74Ig+RpcOJh8Zi1serJYAHTP5a2NPS+WLVqFebOnYu8vDyUlJSgvLwcFy9eREVFBRwdHTF69Gjs3LnT+Me+vv0mVCd1uB4YAJmdEikB/ijw8KjnDE2Dlfo0puzR4cPhUlSEKjslOEdHm/Xgeb7Bv2u3WjY2NtY4KS/HcTh06BB8fX3h4+ODU6dOmZRNS0vDhg0b0KVLFyQkJBiXb9++HRMmTEBERITVYyufeBzuT9zIqpd54ADk6elWy1+6dAmjR4823ss9evRAbGysWQDCGENwsCHTZkPv+7Nnz1p8zziOw7Vr19C3b1+T5TWfEY6Ojjbf67pBUH3oOcKgtZ4jNBoNtm7diitXrhjLR0ZGYvjw4TZ7GbT15whRFE0+l2rf9zXnZW3b5n6OsBWQ13bHBEmtpW/fvsb5Omp/qDLGMGzYsFasGSGkLYsIckffhY9h27ZtOH/+vNVvha2RyWSYPHky+vTpA1EU8X8Xt0KnM/8GmOMM8x/14LLRU27IrMdY/b2SXPhKDLe7Xm89GDNMkGvpuHcpkjGYpYADIHBto1ODTqfDmjVrLK4rKirCpk2bbmq/pwcMaFRw22gNuWgARLkc+R4ejep2drNqWpEaq2abzMxMYzBsaX3tAKlm+c6dO+Hr6ws/P78GHat79+7Yt2+f1fV1H6aGDRuGy5cvo6qqylgPjuPg7e2Nnj0b183X2jfwjDGb3+R7e3tDrVajpKTE7P2VyWQICmpc5k3SehhjWLduncnk1lqtFvv37wfP8+36OdHJyQlqtRrFxcVm6xhj8Pf3b4VaNQ4FSc1MpVLhsccMDzrXr18HALi5uWH8+PEIDAxs1boRQto2hUKB++67DxMmTEBpaSlUKhVOnjyJEydOoKqqCnK5HF27dgVjDLm5uVCr1fD390eHDh3g7+9v/JZREAT0798fx44ds3qs2s/MTfn8XN++ZG0kOGr3GnPRWihV9a325r+Z7Xmex+nTpxscJLm7u6Nr167Gb/Fr4zgOYWFhJstcXV3x1FNP4eDBg4iPj4dMJkPPnj0xdOjQBn/7XiM4OBixsbFm3ddqeppYw3Ecpk6dip9++gmMMUiSBJ7nIUkSpkyZ0uCWE9L6kpKSrI7VO3z4MIYMGdLo36u2guM4jB49Gr///rvZ8uDgYHTq1Pbnc2yf73w74+Hhgblz50Kj0UCv18PZ2ZnmUyCENJhKpTJ2nxk9ejRGjBiB8vJy2NvbN/gP6JgxY1BUVGTyMMhxHHier7frwc22CBDS0r87kiShtLS0UdtMmzYNX331FQoKCozLarrlDB061Ky8q6srpk6dest1HTp0KC5evAitVmvSKqVWq9G/f3+b2wYFBWH+/Pk4ceIEcnJy4OrqigEDBqBjdYp40j5kZ2dbvUeqqqpQWloKV9emSxjU0nr16gWZTIb9+/cjNzcXdnZ26N+/P0aOHNkunoMpSGpBjZ2kkBBCLBEEAU5OTo3aRiaT4f7770dOTg7S0tLg4OCALl26ICkpCT///DMYYxYHr/M8j+DgYMTHx4MxRgHTba5m/qem4ObmBpVKhbS0NACGltGePXuajTFqShzHwcfHp1HbyOVyPPXUUzh69CguXLgAURQRFhaGoUOHNvo+aww3Nzc8+eST2LdvH+Lj48HzPLp3745Ro0Y1aIyOh4cHJk2a1Gz1I83P2dnZ6ucpz/ONGlvWVoWHhyM8PNw4V2h7CI5qUJBECCF3EC8vL3h5eRlfd+nSBc8++yxiYmIQHx+PgoIC4x9tR0dHTJ8+HQEBAdBqtdBqtUhJScGGDRtaq/rEgs6dO6OwsBBFRUU3vQ9BEIytjSdPnrT44Obn54devXphx44dDUrnO3ToUPTr1w+FhYUoLy+Hl5cX5HI5/Pz88Mcff9xSsM3zvHH72q0wCoUCAwcObPT+7OzsMHLkSIwcOfKm63QzPDw8MHPmzBY9Jmk7wsLCoFKpzMatcxyHXr163VZdJ9vjdDgUJBFCyB3O3d0dEyZMwIQJE1BRUYG0tDQoFAr4+fkZ/7DVZGgKDw/H7NmzsX//fot96ZuyJcKW9vINa3PWUy6XY9q0aejatSuKiorwzTffoKysrMHb16TRliQJnTt3hr29PbRaLXJycnD9+nVjqyHHcRg0aBDGjRsHQRAQHh6O2NhY5OXlwdXVFc7Ozti5c6cxEQHHcYiMjDRmZ3N1dTXpMtS7d2+EhIRg27ZtuHr1KvR6PXieh4uLC4qKiiBJEpydnTFixAjo9Xr89ddfxkQGcrkc3bp1w8iRI1FQUICdO3ciLy8PANCxY0dMnjzZZkpfQtoSmUyGBx98ED/99JNJ6viAgADcfffdrVgzArSTeZJWrlyJ//73v8jKykLv3r3x+eefY9CgQQ3atmaepPpyoRNCCGkcxhi0Wq3xgTkgIADdu3eHVqs1zl0DAH///TfS0tIgiiLs7OyM25HGsbOzg1KphL29Pbp164ZBgwaZdMtijOH8+fM4deoUCgsLoVQqERoaiuHDhyMjIwNHjhxBYWEh3N3d0a9fP4SEhFjs+sIYQ3JyMtLS0mBvb4/w8PB6Uz/rdDokJiZCp9MhICCgwd3URFE0JiVRKBTGuV9qz3Wj0+mQk5MDhUIBDw8PkzozxlBSUgJBEODo6NigYxLS1oiiiISEBJSWlsLHx4fGljWzhsYGbT5IWr9+PR555BF89dVXiIiIwCeffIINGzYgLi7OpMuINRQkEUJI2yKKIpKSklBRUQGFQoFDhw4hNzcXHMdBp9O1SEtUW8TzPIKCghAZGQmVSoWEhAQoFAp069aNAgBCCGkit02QFBERgYEDB+KLL74AYMhc4+fnh+eeew6vv/56vdtTkEQIIe1fYWEhYmNjceLECavzy7QXLi4uGDlyJEJCQtpNt0FCCLldNDQ2aNNjkrRaLU6dOoU33njDuIzneYwdOxZHjx61uE1VVZXJJGwl1bOdE0IIab9cXV0xatQojBo1ChUVFZg4cSJ0Oh2mTp3aZoMmnU6HDRs2wMPDA3v37q23yxohhJC2o00HSXl5eRBFEd7e3ibLvb29LU78BgDvvfceli1b1hLVI4QQ0gokScLff/8NANi9e7dxegVJkvDOO++0ZtWgVquxaNEicBwHjUaD5cuX4+rVqw3KBkcIIaTtaNNB0s1444038OKLLxpfl5SUNHjmbUIIIe0Xz/NYsmSJ8XVUVBRSUlKa/bh9+/ZtkslFCSGEtB1tOkjy8PCAIAjIzs42WZ6dnY0OHTpY3MbOzu62yitPCCHk5jz22GPGfzd1D4NRo0Zh+PDhTbpPQgghbUebDpIUCgX69++P6Oho3HvvvQAM3Smio6OxcOHC1q0cIYSQdqN2C5Ner8fy5ctvaR+EEEJub206SAKAF198EXPnzsWAAQMwaNAgfPLJJ9BoNCbfEBJCCCENJZPJLAY8jDG8/fbbFAwRQghp+0HS/fffj9zcXPz73/9GVlYW+vTpg507d5olcyCEEEJuBcdxFCARQggB0A6CJABYuHAhda8jhBBi1F7mF2ov9SSEEGKqXQRJhBBCSA0HBwdoNJrWrka92ks9CSGEmONbuwKEEEIIIYQQ0pZQkEQIIYQQQgghtVCQRAghpF2prKzE5MmTMXnyZFRWVrZ2daxqL/UkhBBijsYkEUIIaVdEUcT27duN/26r2ks9CSGEmKOWJEIIIYQQQgiphYIkQgghhBBCCKmFgiRCCCGEEEIIqYWCJEIIIYQQQgiphYIkQgghhBBCCKnlts9uxxgDAJSUlLRyTQghhDQFjUZj/HdJSUmbzRzXXupJCCF3kpqYoCZGsIZj9ZVo59LS0uDn59fa1SCEEEIIIYS0EampqejUqZPV9bd9kCRJEjIyMuDk5ASO41q7Ou1WSUkJ/Pz8kJqaCmdn59auDrGArlHbR9eobaPr0/bRNWr76Bq1fXf6NWKMobS0FL6+vuB56yOPbvvudjzP24wSSeM4OzvfkTdUe0LXqO2ja9S20fVp++gatX10jdq+O/kaqdXqestQ4gZCCCGEEEIIqYWCJEIIIYQQQgiphYIk0iB2dnZYsmQJ7OzsWrsqxAq6Rm0fXaO2ja5P20fXqO2ja9T20TVqmNs+cQMhhBBCCCGENAa1JBFCCCGEEEJILRQkEUIIIYQQQkgtFCQRQgghhBBCSC0UJBFCCCGEEEJILRQkEYv2798PjuMs/pw8edLqdiNHjjQrP3/+/Bas+Z0jMDDQ7L1+//33bW5TWVmJBQsWwN3dHY6Ojpg+fTqys7NbqMZ3luvXr+OJJ55A586dYW9vj+DgYCxZsgRardbmdnQPNa+VK1ciMDAQSqUSEREROHHihM3yGzZsQNeuXaFUKtGzZ09s3769hWp653nvvfcwcOBAODk5wcvLC/feey/i4uJsbvPdd9+Z3S9KpbKFanznWbp0qdn73bVrV5vb0D3Usiw9G3AchwULFlgsT/eQdbLWrgBpmyIjI5GZmWmy7K233kJ0dDQGDBhgc9t58+bh7bffNr5WqVTNUkcCvP3225g3b57xtZOTk83yL7zwArZt24YNGzZArVZj4cKFmDZtGg4fPtzcVb3jXLlyBZIkYdWqVejSpQsuXLiAefPmQaPRYMWKFTa3pXuoeaxfvx4vvvgivvrqK0REROCTTz7BhAkTEBcXBy8vL7PyR44cwezZs/Hee+9hypQp+Omnn3Dvvffi9OnT6NGjRyucwe3t77//xoIFCzBw4EDo9Xr885//xPjx43Hp0iU4ODhY3c7Z2dkkmOI4riWqe8fq3r079u7da3wtk1l/lKR7qOWdPHkSoigaX1+4cAHjxo3DzJkzrW5D95AVjJAG0Gq1zNPTk7399ts2y40YMYItWrSoZSp1hwsICGAff/xxg8sXFRUxuVzONmzYYFx2+fJlBoAdPXq0GWpI6vrggw9Y586dbZahe6j5DBo0iC1YsMD4WhRF5uvry9577z2L5WfNmsUmT55ssiwiIoI9/fTTzVpPYpCTk8MAsL///ttqmaioKKZWq1uuUne4JUuWsN69eze4PN1DrW/RokUsODiYSZJkcT3dQ9ZRdzvSIFu2bEF+fj4ee+yxesuuW7cOHh4e6NGjB9544w2Ul5e3QA3vTO+//z7c3d3Rt29f/Pe//4Ver7da9tSpU9DpdBg7dqxxWdeuXeHv74+jR4+2RHXveMXFxXBzc6u3HN1DTU+r1eLUqVMmv/88z2Ps2LFWf/+PHj1qUh4AJkyYQPdLCykuLgaAeu+ZsrIyBAQEwM/PD/fccw8uXrzYEtW7Y8XHx8PX1xdBQUF48MEHkZKSYrUs3UOtS6vVYu3atXj88cdttg7RPWQZdbcjDfLNN99gwoQJ6NSpk81yc+bMQUBAAHx9fXHu3Dm89tpriIuLw6ZNm1qopneO559/Hv369YObmxuOHDmCN954A5mZmfjoo48sls/KyoJCoYCLi4vJcm9vb2RlZbVAje9sCQkJ+Pzzz+vtakf3UPPIy8uDKIrw9vY2We7t7Y0rV65Y3CYrK8tiebpfmp8kSVi8eDGGDh1qs1tWWFgYvv32W/Tq1QvFxcVYsWIFIiMjcfHixXr/XpHGi4iIwHfffYewsDBkZmZi2bJlGDZsGC5cuGCxuzfdQ61r8+bNKCoqwqOPPmq1DN1DNrR2UxZpWa+99hoDYPPn8uXLJtukpqYynufZxo0bG3286OhoBoAlJCQ01Snc1m7m+tT45ptvmEwmY5WVlRbXr1u3jikUCrPlAwcOZK+++mqTnsft7GauUVpaGgsODmZPPPFEo49H91DTSE9PZwDYkSNHTJa/8sorbNCgQRa3kcvl7KeffjJZtnLlSubl5dVs9SQG8+fPZwEBASw1NbVR22m1WhYcHMzefPPNZqoZqa2wsJA5OzuzNWvWWFxP91DrGj9+PJsyZUqjtqF76AZqSbrDvPTSSza/UQCAoKAgk9dRUVFwd3fH1KlTG328iIgIAIZv0YODgxu9/Z3mZq5PjYiICOj1ely/fh1hYWFm6zt06ACtVouioiKT1qTs7Gx06NDhVqp9R2nsNcrIyMCoUaMQGRmJr7/+utHHo3uoaXh4eEAQBLNsjrZ+/zt06NCo8qRpLFy4EFu3bsWBAwca/U22XC5H3759kZCQ0Ey1I7W5uLggNDTU6vtN91DrSU5Oxt69exvdC4HuoRsoSLrDeHp6wtPTs8HlGWOIiorCI488Arlc3ujjxcbGAgB8fHwave2dqLHXp7bY2FjwPG8xSxcA9O/fH3K5HNHR0Zg+fToAIC4uDikpKRgyZMhN1/lO05hrlJ6ejlGjRqF///6IiooCzzd+GCjdQ01DoVCgf//+iI6Oxr333gvA0KUrOjoaCxcutLjNkCFDEB0djcWLFxuX7dmzh+6XZsIYw3PPPYfff/8d+/fvR+fOnRu9D1EUcf78eUyaNKkZakjqKisrw7Vr1/Dwww9bXE/3UOuJioqCl5cXJk+e3Kjt6B6qpbWbskjbtnfvXqtdvNLS0lhYWBg7fvw4Y4yxhIQE9vbbb7OYmBiWlJTE/vjjDxYUFMSGDx/e0tW+7R05coR9/PHHLDY2ll27do2tXbuWeXp6skceecRYpu71YczQhcXf35/99ddfLCYmhg0ZMoQNGTKkNU7htpeWlsa6dOnCxowZw9LS0lhmZqbxp3YZuodazi+//MLs7OzYd999xy5dusSeeuop5uLiwrKyshhjjD388MPs9ddfN5Y/fPgwk8lkbMWKFezy5ctsyZIlTC6Xs/Pnz7fWKdzWnnnmGaZWq9n+/ftN7pfy8nJjmbrXaNmyZWzXrl3s2rVr7NSpU+yBBx5gSqWSXbx4sTVO4bb30ksvsf3797OkpCR2+PBhNnbsWObh4cFycnIYY3QPtRWiKDJ/f3/22muvma2je6jhKEgiNs2ePZtFRkZaXJeUlMQAsH379jHGGEtJSWHDhw9nbm5uzM7OjnXp0oW98sorrLi4uAVrfGc4deoUi4iIYGq1mimVStatWzf27rvvmoxHqnt9GGOsoqKCPfvss8zV1ZWpVCp23333mTy0k6YTFRVldcxSDbqHWt7nn3/O/P39mUKhYIMGDWLHjh0zrhsxYgSbO3euSflff/2VhYaGMoVCwbp37862bdvWwjW+c1i7X6Kiooxl6l6jxYsXG6+nt7c3mzRpEjt9+nTLV/4Ocf/99zMfHx+mUChYx44d2f33328yXpLuobZh165dDACLi4szW0f3UMNxjDHW4s1XhBBCCCGEENJG0TxJhBBCCCGEEFILBUmEEEIIIYQQUgsFSYQQQgghhBBSCwVJhBBCCCGEEFILBUmEEEIIIYQQUgsFSYQQQgghhBBSCwVJhBBCCCGEEFILBUmEEELanJEjR2Lx4sWtXQ1CCCF3KAqSCCGE3Pa+++47cBxn9rNmzRpjGa1Wiw8++AC9e/eGSqWCh4cHhg4diqioKOh0ulasPSGEkJYma+0KEEIIIS3B2dkZcXFxJsvUajUAQ4A0YcIEnD17Fu+88w6GDh0KZ2dnHDt2DCtWrEDfvn3Rp0+fVqg1IYSQ1kAtSYQQQtq0wsJCPPLII3B1dYVKpcLEiRMRHx9vUmb16tXw8/ODSqXCfffdh48++gguLi4mZTiOQ4cOHUx+7O3tAQCffPIJDhw4gOjoaCxYsAB9+vRBUFAQ5syZg+PHjyMkJAQAsHHjRvTs2RP29vZwd3fH2LFjodFoWuR9IIQQ0nIoSCKEENKmPfroo4iJicGWLVtw9OhRMMYwadIkYxe4w4cPY/78+Vi0aBFiY2Mxbtw4LF++vFHHWLduHcaOHYu+ffuarZPL5XBwcEBmZiZmz56Nxx9/HJcvX8b+/fsxbdo0MMaa5DwJIYS0HdTdjhBCSJsVHx+PLVu24PDhw4iMjARgCGj8/PywefNmzJw5E59//jkmTpyIl19+GQAQGhqKI0eOYOvWrSb7Ki4uhqOjo/G1o6MjsrKyjMcZOXKkzbpkZmZCr9dj2rRpCAgIAAD07NmzqU6VEEJIG0JBEiGEkDbr8uXLkMlkiIiIMC5zd3dHWFgYLl++DACIi4vDfffdZ7LdoEGDzIIkJycnnD592via5290pmhIa1Dv3r0xZswY9OzZExMmTMD48eMxY8YMuLq63tS5EUIIabuoux0hhJA7As/z6NKli/EnKCjIuC40NBRXrlyxub0gCNizZw927NiB8PBwfP755wgLC0NSUlJzV50QQkgLoyCJEEJIm9WtWzfo9XocP37cuCw/Px9xcXEIDw8HAISFheHkyZMm29V9XZ85c+Zg7969OHPmjNk6nU5nTM7AcRyGDh2KZcuW4cyZM1AoFPj9998be1qEEELaOAqSCCGEtFkhISG45557MG/ePBw6dAhnz57FQw89hI4dO+Kee+4BADz33HPYvn07PvroI8THx2PVqlXYsWMHOI5r8HEWL16MoUOHYsyYMVi5ciXOnj2LxMRE/Prrrxg8eDDi4+Nx/PhxvPvuu4iJiUFKSgo2bdqE3NxcdOvWrblOnxBCSCuhIIkQQkibFhUVhf79+2PKlCkYMmQIGGPYvn075HI5AGDo0KH46quv8NFHH6F3797YuXMnXnjhBSiVygYfw87ODnv27MGrr76KVatWYfDgwRg4cCA+++wzPP/88+jRowecnZ1x4MABTJo0CaGhoXjzzTfx4YcfYuLEic116oQQQloJxyh3KSGEkNvMvHnzcOXKFRw8eLC1q0IIIaQdoux2hBBC2r0VK1Zg3LhxcHBwwI4dO/D999/jyy+/bO1qEUIIaaeoJYkQQki7N2vWLOzfvx+lpaUICgrCc889h/nz57d2tQghhLRTFCQRQgghhBBCSC2UuIEQQgghhBBCaqEgiRBCCCGEEEJqoSCJEEIIIYQQQmqhIIkQQgghhBBCaqEgiRBCCCGEEEJqoSCJEEIIIYQQQmqhIIkQQgghhBBCaqEgiRBCCCGEEEJqoSCJEEIIIYQQQmr5f9feZbX3sC/LAAAAAElFTkSuQmCC",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA1SNJREFUeJzs3Qd4U2UXB/CTpHsXWkah7L33VEC2ICJDWSIiiCIOtqIiblEUJygowwUIn4DiQATZe4PsvQoUSvduku/5vyUxbZMuWpqk/9/zXEkz701rm3PPec/RGI1GoxARERERERFRgdMW/FMSEREREREREYNuIiIiIiIiokLETDcRERERERFRIWHQTURERERERFRIGHQTERERERERFRIG3URERERERESFhEE3ERERERERUSFh0E1ERERERERUSFykmDEYDBIWFia+vr6i0WiKeneIiIiIiIjIARmNRomNjZWQkBDRam3ns4td0I2AOzQ0tKh3g4iIiIiIiJzApUuXpHz58jZvL3ZBNzLcpjfGz8+vqHeHiIioUMTHx6sz76YTzt7e3g75TjvLcRARkfOJiYlRCV1TjGlLsQu6TSXlCLgZdBMRkbPS6XTmy/h756jBqrMcBxEROa+cli2zkRoRERERERFRIWHQTURERERERFRIGHQTERERERERFRIG3URERERERESFhEE3ERHl2o0bN2T06NFSoUIFcXd3lzJlyki3bt1k69at6vZKlSqpZiLY0PCqSZMmsmzZMvPjX3/9dfPtLi4u6v7jxo2TuLg4832ef/55adq0qXr+Ro0a8buTT25ubvLFF1+oDZcdlbMcBxERFV/Frns5ERHlX79+/SQlJUW+/fZbqVKlily/fl3WrVsnERER5vu8+eab8uSTT6oxGh999JEMGDBAypUrJ23atFG3161bV9auXStpaWkqWH/iiSckISFB5syZY34OXLdz5045dOgQv1355OrqKmPGjHH4989ZjoOIiIovBt1ERJQrUVFRsnnzZtmwYYO0b99eXVexYkVp0aJFhvthViUy4NhmzZolP/zwg6xatcocdCPDjdsAATmC9l9//dUcdH/22WfmrDqDbiIiInJ0LC8nIqJc8fHxUdvKlSslOTk5V49BgI1MJbLjtnh6emZ7O+WPXq9XJ0iw4bKjcpbjICKi4otBNxER5TqAXrhwoSotDwgIkLZt28rLL79sMxuNQPq9996T6Oho6dixo9X77N27VxYtWmTzdsq/pKQkue+++9SGy47KWY6DiIiKLwbdRESUpzXdYWFhqhy8e/fuKvuIZmkIxk1efPFFlRH38vKS999/X6ZPny49e/Y033748GF1OzLcKE1v3bq1apJFRERE5Iy4ppuIiPLEw8NDunTporapU6fKyJEjZdq0afL444+r2ydNmqQuI7AuXbq06lRuqWbNmipoR+Y8JCSEHamJiIjIqTHTTUREd6ROnToSHx9v/jooKEiqVaummqVlDrgBY59wO8aFcQQUEREROTtmuomIyCqj0Si7z0fK2RtxUqGEl1T3R7fxR9Q4rwYNGqgu5Xv27JEPPvhAevfuXWDv4unTp9Xc7mvXrkliYqIcOHDAHNwzSCciIiJHw6CbiIiyCI9JkuELd8uRsBjzdZUDXaVOgyby8ccfy5kzZyQ1NVVCQ0PVTG40VCsoKFffuHGj+evGjRurf8+dO6ey40RERESORGNEKqMYiYmJEX9/f9VN18/Pr6h3h4jILg2cu11lufWG//5E6LQaqVHaR/54/l6rZeNkX1Dyj3X1gMoBb29vcUTOchxERFR8Y0tmuomIKINzN+Nlx9lbWd4VBODHrsbKocvR0jA0gO+ancN8dJT+my47Kmc5DiIiKr4YdBMRUQZXoxOzfUeuRidJw1C+afYO69/RSd7ROctxEBFR8cXu5URElEG1YB/RZlM9XrOML98xIiIiolxi0E1ERBmU8vOQ/k3LZwm88XW3uqWlchDX1DoCvV4vu3fvVhsuOypnOQ4iIiq+WF5ORERZvPVQPXFz0cqS3ZckTW9UTdQeahSirifHkJSUJC1atHD4BmTOchxERFR8MegmIqIs3F108vZD9WVSt1pyJTJRyvp7SKC3G98pIiIiojxi0E1ERDb5e7qqjYiIiIjyh2u6iYiIiIiIiAoJg24iIiIiIiKiQsKgm4iIiIiIiKiQMOgmIiIiIiIiKiRspEZEROSEXF1dZdq0aebLjspZjoOIiIovjdFoNEoxEhMTI/7+/hIdHS1+fn5FvTtERERERETkxLEly8uJiIiIiIiICgnLy4mIiJyQwWCQY8eOqcu1a9cWrdYxz7M7y3EQEVHxxaCbiIjICSUmJkq9evXU5bi4OPH29hZH5CzHQURExRdPFxMREREREREVh6D79ddfF41Gk2GrVauW+fakpCQZM2aMlCxZUnx8fKRfv35y/fr1It1nIiIiIiIiIocIuqFu3bpy9epV87ZlyxbzbePGjZNVq1bJsmXLZOPGjRIWFiZ9+/Yt0v0lIiIiIiIicpg13S4uLlKmTJks16MN+7x582TRokXSsWNHdd2CBQtUU5UdO3ZIq1atimBviYiIiIiIiBwo033q1CkJCQmRKlWqyJAhQ+TixYvq+r1790pqaqp07tzZfF+UnleoUEG2b99u8/mSk5PV/DTLjYiIiIiIiKjYBd0tW7aUhQsXyurVq+XLL7+Uc+fOyb333iuxsbFy7do1cXNzk4CAgAyPKV26tLrNlvfee08NLDdtoaGhd+FIiIiIiIiIiOysvPz+++83X27QoIEKwitWrChLly4VT0/PfD3nlClTZPz48eavkelm4E1ERM7O1dVVJk6caL7sqJzlOIiIqPiyq6A7M2S1a9SoIadPn5YuXbpISkqKREVFZch2o3u5tTXgJu7u7mojIiIqTlAdNmPGDHF0znIcRERUfNlVeXlmcXFxcubMGSlbtqw0bdpUneFet26d+fYTJ06oNd+tW7cu0v0kIiIiIiIisvtMN8rHevXqpUrKMQ5s2rRpotPpZNCgQWo99ogRI1SpeIkSJcTPz0+ee+45FXCzczkREVFGBoPB3IwUTUe1Wrs+z+70x0FERMWXXQXdly9fVgF2RESEBAcHyz333KPGgeEyfPzxx+qPbb9+/VRX8m7dusns2bOLereJiIjsTmJiolSuXNlcOebt7S2OyFmOg4iIii+N0Wg0SjGCRmrImmPuN7LlREREzig+Pl58fHwcPlh1luMgIqLiG1uyRouIiIiIiIiokDDoJiIiIiIiIiokDLqJiIiIiIiICgmDbiIiIiIiIqJCwqCbiIiIiIiIqDiMDCMiIqKC4eLiIs8884z5sqNyluMgIqLiiyPDiIiIiIiIiPKII8OIiIiIiIiIihjrtIiIiJyQ0WiUmzdvqstBQUGi0WjEETnLcRARUfHFoJuIiMgJJSQkSKlSpdTluLg48fb2FkfkLMdBRETFF7uXExERERERERUSBt1EREREREREhYRBNxEREREREVEhYdBNREREREREVEgYdBMREREREREVEgbdRERERERERIWEI8OIiIickIuLiwwbNsx82VE5y3EQEVHxpTEajUYpRmJiYsTf31+io6PFz8+vqHeHiIiIiIiInDi2ZHk5ERERERERUSFhnRYREZETQiFbQkKCuuzl5SUajUYckbMcBxERFV/MdBMRETkhBKo+Pj5qMwWtjshZjoOIiIovBt1EREREREREhYRBNxEREREREVEhYdBNREREREREVEgYdBMREREREREVEgbdRERERERERIWEQTcRERERERFRIeGcbiIiIiek0+mkf//+5suOylmOg4iIii+N0Wg0SjESExMj/v7+Eh0dLX5+fkW9O0REREREROTEsSXLy4mIiIiIiIgKCYNuIiIiIiIiokLCoJuIiMgJxcfHi0ajURsuOypnOQ4iIiq+GHQTERERERERFRIG3URERERERESFhEE3ERERERERUSFh0E1ERERERERUSBh0ExERERERERUSBt1EREREREREhcSlsJ6YiIiIio5Op5MePXqYLzsqZzkOIiIqvjRGo9EoxUhMTIz4+/tLdHS0+Pn5FfXuEBERERERkRPHliwvJyIiIiIiIiokDLqJiIiIiIiICgmDbiIiIicUHx8v3t7easNlR+Usx0FERMUXG6kRERE5qYSEBHEGznIcRERUPDHTTURERERERFRIGHQTERERERERFRIG3URERERERESFhEE3ERERERERUSFh0E1ERERERERUSNi9nIiIyAlptVpp3769+bKjcpbjICKi4ktjNBqNUozExMSIv7+/REdHi5+fX1HvDhERERERETlxbMlTxkRERERERESFhEE3ERERERERUSFh0E1EROSE4uPjJTg4WG247Kic5TiIiKj4YiM1IiIiJ3Xz5k1xBs5yHEREVDwx001ERERERERUSBh0ExERERERERUSBt1EREREREREhYRBNxEREREREVEhYdBNREREREREVEjYvZyIiMgJabVaadasmfmyo3KW4yAiouJLYzQajVKMxMTEiL+/v0RHR4ufn19R7w4RERERERE5cWxpt6eMp0+fLhqNRsaOHWu+LikpScaMGSMlS5YUHx8f6devn1y/fr1I95OIiIiIiIjIoYLu3bt3y5w5c6RBgwYZrh83bpysWrVKli1bJhs3bpSwsDDp27dvke0nERERERERkUMF3XFxcTJkyBD5+uuvJTAw0Hw9Uvbz5s2TmTNnSseOHaVp06ayYMEC2bZtm+zYsaNI95mIiMjeJCQkSKVKldSGy47KWY6DiIiKL7sLulE+3rNnT+ncuXOG6/fu3SupqakZrq9Vq5ZUqFBBtm/fXgR7SkREZL/QsuXChQtqc+T2Lc5yHEREVHzZVffyJUuWyL59+1R5eWbXrl0TNzc3CQgIyHB96dKl1W22JCcnq81ysTsRERERERFRscp0X7p0SV544QX58ccfxcPDo8Ce97333lMd5UxbaGhogT03ERERERERkUME3SgfDw8PlyZNmoiLi4va0Czts88+U5eR0U5JSZGoqKgMj0P38jJlyth83ilTpqj14KYNwT0RERERERFRsSov79Spkxw+fDjDdcOHD1frtl988UWVoXZ1dZV169apUWFw4sQJuXjxorRu3drm87q7u6uNiIiIiIiIqNgG3b6+vlKvXr0M13l7e6uZ3KbrR4wYIePHj5cSJUqo4ePPPfecCrhbtWpVRHtNRERERERE5ABBd258/PHHotVqVaYbzdG6desms2fPLurdIiIisjsajUbq1KljvuyonOU4iIio+NIYi9n8DXQvR0M1rO9GtpyIiIiIiIiosGJLu2mkRkRERERERORsGHQTERERERERFRIG3URERE4oISFB6tatqzZcdlTOchxERFR8OVQjNSIiIsodtGw5evSo+bKjcpbjICKi4ouZbiIiIiIiIqJCwqCbiIiIiIiIqJAw6CYiIiIiIiIqJAy6iYiIiIiIiAoJg24iIiIiIiKiQsLu5URERE5Io9FIxYoVzZcdlbMcBxERFV8MuomIiJyQl5eXnD9/XhydsxwHEREVXywvJyIiIiIiIiokDLqJiIiIiIiICgmDbiIiIieUmJgozZs3VxsuOypnOQ4iIiq+uKabiIjICRkMBtmzZ4/5sqNyluMgIqLii5luIiIiIiIiokLCoJuIiIiIiIiokDDoJiIiIiIiIiokDLqJiIiIiIiICgmDbiIiIiIiIqJCwu7lRERETiooKEicgbMcBxERFU8MuomIiJyQt7e33LhxQxydsxwHEREVXywvJyIiIiIiIiokDLqJiIiIiIiICgmDbiIiIieUmJgoHTp0UBsuOypnOQ4iIiq+uKabiIjICRkMBtm4caP5sqNyluMgIqLii5luIiIiIiIiokLCoJuIiIiIiIiokDDoJiIiIiIiIiokDLqJiIiIiIiICgmDbiIiIiIiIqJCwu7lRERETsrLy0ucgbMc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h+3ZsGFD7eabb1Z/p6am2h72ZXiM+6avvvpKq1y5svbZZ59pu3fv1h555BEtMjJSO3HihHr//vvv18aMGWMrv3btWtWdZNKkSep8j+zIaJK6Y8eOK7gUVByPPfaYykS+evVqh+P44sWLtjIFt/f48eO1pUuXqvP95s2btb///e9acHCwtmvXLq50H/D000+r7Y1rLRy73bp106Kjo1XmeuDxXfFgBApcb6ELWUE8vj2HQTeVm0GDBmldunRx+h5O9gjIV61apZ4nJSWpALt69erqYg8X9OhDeO7cOW4xL4eLLgwPhAs3XHg1bdpUmzBhgkN/7oLbG7Kzs7URI0Zo1apV00JDQ7X+/fs7BG3kvTCkiKs+3zoe475typQp6iINuRfQl/vXX391GPpt8ODBDuXnzJmjNWrUSJVv3ry5tmjRoisw1+QuV8cxjnFX23vUqFG2fSM2Nlbr1auXtmXLFq58HzFw4ECtVq1aavvVrl1bPbfPncPju+LBTTIc1/v27Sv0Ho9vzzHhn9LUlBMRERERERGRcxynm4iIiIiIiMhDGHQTEREREREReQiDbiIiIiIiIiIPYdBNRERERERE5CEMuomIiIiIiIg8hEE3ERERERERkYcw6CYiIiIiIiLyEAbdRERERERERB7CoJuIiKgUbrjhBhk1alSFm+e6devK5MmT3Zru6tWrxWQySUZGRinnkIiIqOJg0E1ERORFvv32W+nevbvUqFFDwsPDpXPnzrJ06VKHMkOGDFHBbcHHwYMHPTpvW7dulQEDBkhsbKwEBwfLVVddJQ8//LDs37/fo99LRETkyxh0ExEReZGffvpJBd2LFy+WzZs3y4033ii33367Cnjt9ezZU1JTUx0e9erV89h8LVy4UDp16iSXLl2S2bNny549e2TWrFkSEREhL774ose+l4iIyNcx6CYiIiojZ8+elQceeECqVasmoaGhcuutt8qBAwccynz00UdSp04d9X7//v3lnXfekcjISNv7aNL93HPPSfv27VVN8oQJE9T/P/zwg8N0KleuLDVr1nR4mM1m9d6aNWukQ4cOqkytWrVkzJgxkp+f73K+09LSVGAfEhKiAncE1fYuXrwoQ4cOlV69esmCBQukW7duqlzHjh1l0qRJMn36dIfyuFnQrl07tYxdunSRffv22d47dOiQ9O3bV9WWV6lSRS3n8uXL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",
"text/plain": [
""
]
@@ -1971,11 +2062,11 @@
}
],
"source": [
- "dc.plot_volcano_df(\n",
+ "dc.pl.volcano(\n",
" stat_result.results_df,\n",
" x=\"log2FoldChange\",\n",
" y=\"padj\",\n",
- " sign_thr=0.01,\n",
+ " thr_sign=0.01,\n",
" top=20,\n",
" figsize=(10, 5),\n",
")"
@@ -1983,19 +2074,12 @@
},
{
"cell_type": "code",
- "execution_count": 29,
+ "execution_count": 28,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Running ulm on mat with 1 samples and 14714 targets for 660 sources.\n"
- ]
- },
{
"data": {
- "image/png": "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",
+ "image/png": "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",
"text/plain": [
""
]
@@ -2005,37 +2089,37 @@
}
],
"source": [
- "collectri = dc.get_collectri(organism=\"human\", split_complexes=False)\n",
- "mat = stat_result.results_df[[\"stat\"]].T.rename(index={\"stat\": \"disease.vs.control\"})\n",
- "tf_acts, tf_pvals = dc.run_ulm(mat=mat, net=collectri, verbose=True)\n",
- "dc.plot_barplot(acts=tf_acts, contrast=\"disease.vs.control\", top=10, vertical=False, figsize=(5, 3))"
+ "collectri = dc.op.collectri(organism=\"human\", remove_complexes=False)\n",
+ "data = stat_result.results_df[[\"stat\"]].T.rename(index={\"stat\": \"disease.vs.control\"})\n",
+ "tf_acts, tf_pvals = dc.mt.ulm(data=data, net=collectri, tmin=5)\n",
+ "dc.pl.barplot(data=tf_acts, name=\"disease.vs.control\", top=10, vertical=True, figsize=(5, 3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "We can also evaluate known pathways."
+ "We can also evaluate known pathways.\n"
]
},
{
"cell_type": "code",
- "execution_count": 30,
+ "execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
- "progeny = dc.get_progeny(top=500)\n",
- "pathway_acts, pathway_pvals = dc.run_mlm(mat=mat, net=progeny, min_n=5)"
+ "progeny = dc.op.progeny(organism=\"human\", top=500)\n",
+ "pathway_acts, pathway_pvals = dc.mt.ulm(data=data, net=progeny, tmin=5)"
]
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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",
+ "image/png": "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nzBhgv1dOvReFhYW1ri5vw/K2rVrnWuuucbZYYcdqn0+P3bddVfn1VdfTXyX9b2TYcOGOT179gzk+EeOHOlce+21zjPPPGPv33rrrU5paak99m7dujnLly8P5HlyUc4XRfdyyy232F7Tv/71L/Pss8+aU045xQ4HqaK+ejL/93//Z373u9+Z3//+92k/x/Tp082UKVPMXnvtZeqjPfbYo8bf6bVLd2j00UcfNVdccYVp0KCB/dnL9ddfb/y68cYb7Zzrvffeaxo1amSC8uGHH9rPjXoUei0OOugg89e//tWcfvrpdqhSvYGLL77Y93zuCSecYJo1a2Z69eqVeFzDjkcffbR9fOzYsWnv//7777e9l3feecd07tw58bh69OpJfvTRR+bdd9/19Tdst9121Q6v6rFtt9027f3+4x//sH9/Jtx0003mvffeM3/84x/NhRdeaIeM//vf/5rHH3/c3Hfffb72rfdyv/32sz9vvfXWtlcp+mz179/f97HrPKbtsMMOM3/729/s53bMmDFm0KBBtteq7+Add9xh/zZUw8ljLVu2dCZOnGh//uGHH+wV6DvvvJP4/bhx4+yVnh8HHXRQtVfSfukqUD0Zl65Cv/7660CfQ6/HP//5T+f999/33NKx8847J65g9XNN2y677BLI36JeS9A9bunatau94p8xY4bTt2/fxEjECy+8EOjzqLehnt/f//53e//777939tprL6dTp07O6tWrfe9/wIABTrNmzZyZM2cmepJnnXWW7T3pb/Pr8ccft70WHbdLPx9//PHOiBEjAhlVCVubNm2c9957z/6s0Yk5c+bYn0eNGuWceOKJvvatz8wnn3xif9bowODBg+3Pzz33nH0P/Np9992dv/3tb/bnf//73/b88Y9//CPxe414tW3b1vfz5Kq8bigbNGjgLFy4MHF/q622Snz45ZtvvnEaNmzo6znU2Hbp0sV+wdQwBDVsqZPESSedZIfFtBUXF9uTjnvf3fzI9IkoTHotRo8eHfh+1bh8/vnn9ud169bZE9CYMWOcMDz77LP2M/vXv/7V+eUvf2kvwlauXBnY/jUs16pVK2f27NnOr371K2f77bd3Pv3007T316FDB+eAAw5IbLqYKykpcXbbbTe76Wc9pt+F9fl0h8KDoPODzgmy0047OZMmTbI/6wJVv/PjlltucX73u98lGkd9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",
"text/plain": [
""
]
@@ -2045,11 +2129,11 @@
}
],
"source": [
- "dc.plot_barplot(\n",
- " acts=pathway_acts,\n",
- " contrast=\"disease.vs.control\",\n",
+ "dc.pl.barplot(\n",
+ " data=pathway_acts,\n",
+ " name=\"disease.vs.control\",\n",
" top=40,\n",
- " vertical=False,\n",
+ " vertical=True,\n",
" figsize=(5, 3),\n",
")"
]
@@ -2058,13 +2142,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Please refer to the `PyDESeq2` and the `decoupler` documentation for additional analyses."
+ "Please refer to the `PyDESeq2` and the `decoupler` documentation for additional analyses.\n"
]
}
],
"metadata": {
"kernelspec": {
- "display_name": ".venv",
+ "display_name": "pytximport",
"language": "python",
"name": "python3"
},
@@ -2078,7 +2162,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.6"
+ "version": "3.13.7"
}
},
"nbformat": 4,
diff --git a/pyproject.toml b/pyproject.toml
index afa99ff..3836fbb 100755
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,11 +1,15 @@
[build-system]
-requires = ["flit_core >=3.4,<4"]
-build-backend = "flit_core.buildapi"
+requires = ["hatchling"]
+build-backend = "hatchling.build"
+
+[tool.hatch.build.targets.wheel]
+packages = ["pytximport"]
[project]
name = "pytximport"
+version = "0.12.1"
description = "A python implementation of `tximport` to transform transcript into gene counts"
-requires-python = ">=3.10"
+requires-python = ">=3.11"
license = { file = "LICENSE" }
authors = [{ name = "Malte Kuehl", email = "malte.kuehl@clin.au.dk" }]
readme = { file = "README.md", content-type = "text/markdown" }
@@ -17,20 +21,19 @@ classifiers = [
"Natural Language :: English",
"Typing :: Typed",
"Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
"Operating System :: OS Independent",
]
-dynamic = ["version"]
dependencies = [
- "anndata>=0.8.0",
+ "anndata>=0.11.0",
"click>=8.0.0,<9",
"click_default_group>=1.2.0,<2",
- "flox>=0.9.0,<0.11.0",
+ "flox>=0.10.0,<0.11.0",
"h5py>=3.0.0,<4",
- "numpy>=1.19.0,<3",
+ "numpy>=2.0.0,<3",
"pandas>=2.2.0,<3",
"pybiomart==0.2.0",
"tqdm>=4.0.0,<5",
@@ -45,6 +48,7 @@ dev = [
"biocframe",
"certifi",
"coverage",
+ "decoupler",
"dolomite",
"dolomite-se",
"flit",
@@ -59,8 +63,10 @@ dev = [
"pandoc",
"pre-commit",
"pyarrow",
+ "pydeseq2",
+ "pypath-omnipath",
"pytest",
- "ruff==0.11.2",
+ "ruff==0.13.2",
"sphinx",
"sphinx-autoapi",
"sphinx-autodoc-typehints",
diff --git a/pytximport/__init__.py b/pytximport/__init__.py
index 85a28c6..2a4b747 100755
--- a/pytximport/__init__.py
+++ b/pytximport/__init__.py
@@ -23,10 +23,13 @@
differ between the two packages. Please refer to the documentation for more information.
"""
+from importlib.metadata import version
+
from . import definitions, importers, utils
from ._cli import cli
-from ._version import __version__
from .core import tximport
+__version__ = version("pytximport")
+
# Allow users to import the tximport function as pytximport as well
pytximport = tximport
diff --git a/pytximport/_version.py b/pytximport/_version.py
deleted file mode 100644
index 1ec58cb..0000000
--- a/pytximport/_version.py
+++ /dev/null
@@ -1,4 +0,0 @@
-"""Version information for the pytximport package."""
-
-# This package will follow Semantic Versioning after version 1.0.0: https://semver.org/
-__version__ = "0.12.0"
diff --git a/pytximport/importers/_read_tsv.py b/pytximport/importers/_read_tsv.py
index 5c65b36..afd6230 100644
--- a/pytximport/importers/_read_tsv.py
+++ b/pytximport/importers/_read_tsv.py
@@ -1,11 +1,12 @@
import importlib.util
from logging import warning
from pathlib import Path
-from typing import Literal, Optional, Union
+from typing import Literal, Optional, Union, cast
import numpy as np
import pandas as pd
-from numpy.typing import ArrayLike
+from numpy.typing import ArrayLike, DTypeLike
+from pandas._typing import DtypeArg
from ..definitions import TranscriptData
from ..utils._convert_counts_to_tpm import convert_counts_to_tpm
@@ -45,25 +46,25 @@ def parse_dataframe(
if abundance_column is None:
warning("Abundance column not provided, calculating TPM.")
abundance = convert_counts_to_tpm(
- counts=transcript_dataframe[counts_column].values, # type: ignore
- length=transcript_dataframe[length_column].values, # type: ignore
+ counts=np.asarray(transcript_dataframe[counts_column].values),
+ length=np.asarray(transcript_dataframe[length_column].values),
)
else:
assert abundance_column in transcript_dataframe.columns, (
f"Could not find the abundance column `{abundance_column}`."
)
- abundance = transcript_dataframe[abundance_column].values # type: ignore
+ abundance = np.asarray(transcript_dataframe[abundance_column].values)
- counts = transcript_dataframe[counts_column].values # type: ignore
+ counts = np.asarray(transcript_dataframe[counts_column].values)
else:
counts = None
abundance = None
# Create a DataFrame with the transcript-level expression
transcripts = TranscriptData(
- transcript_id=transcript_dataframe[id_column].values, # type: ignore
+ transcript_id=transcript_dataframe[id_column].values.astype(str).tolist(),
counts=counts,
- length=transcript_dataframe[length_column].values, # type: ignore
+ length=np.asarray(transcript_dataframe[length_column].values),
abundance=abundance,
inferential_replicates=None,
)
@@ -102,7 +103,7 @@ def read_tsv(
# Read the quantification file as a tsv, tab separated with the first line being the column names
usecols = [id_column, length_column]
- dtype = {id_column: str, length_column: np.float64}
+ dtype: dict[str, DTypeLike] = {id_column: str, length_column: np.float64}
if not recompute_counts:
usecols.append(counts_column)
@@ -125,7 +126,7 @@ def read_tsv(
compression=("gzip" if file_path.suffix == ".gz" else None),
engine=engine,
usecols=usecols,
- dtype=dtype,
+ dtype=cast(DtypeArg, dtype),
na_filter=False,
)
diff --git a/pytximport/utils/_convert_counts_to_tpm.py b/pytximport/utils/_convert_counts_to_tpm.py
index 25b963d..2bb3010 100644
--- a/pytximport/utils/_convert_counts_to_tpm.py
+++ b/pytximport/utils/_convert_counts_to_tpm.py
@@ -1,17 +1,18 @@
import numpy as np
+from numpy.typing import NDArray
def convert_counts_to_tpm(
- counts: np.ndarray,
- length: np.ndarray,
-) -> np.ndarray:
+ counts: NDArray,
+ length: NDArray,
+) -> NDArray:
"""Convert transcript-level counts to TPM.
Args:
- counts (np.ndarray): The transcript-level counts.
- length (np.ndarray): The length of the transcripts.
+ counts (NDArray): The transcript-level counts.
+ length (NDArray): The length of the transcripts.
Returns:
- np.ndarray: The transcript-level expression data with the TPM.
+ NDArray: The transcript-level expression data with the TPM.
"""
return np.array(counts * (1e6 / np.sum(counts / length)) / length)
diff --git a/pytximport/utils/_convert_transcripts_to_genes.py b/pytximport/utils/_convert_transcripts_to_genes.py
index 414687c..99c3559 100644
--- a/pytximport/utils/_convert_transcripts_to_genes.py
+++ b/pytximport/utils/_convert_transcripts_to_genes.py
@@ -4,6 +4,7 @@
import numpy as np
import pandas as pd
import xarray as xr
+from numpy.typing import NDArray
from ._convert_abundance_to_counts import convert_abundance_to_counts
from ._remove_transcript_version import remove_transcript_version
@@ -29,7 +30,7 @@ def convert_transcripts_to_genes(
Returns:
xr.Dataset: The gene-level expression data from multiple samples.
"""
- transcript_ids: Union[np.ndarray, List[str]] = transcript_data.coords["transcript_id"].values
+ transcript_ids: Union[NDArray, List[str]] = np.asarray(transcript_data.coords["transcript_id"].values)
unique_transcripts = list(set(transcript_ids))
# Avoid duplicates in the mapping
diff --git a/requirements.frozen.txt b/requirements.frozen.txt
deleted file mode 100644
index f6b5a02..0000000
--- a/requirements.frozen.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-anndata==0.11.3
-array_api_compat==1.11.2
-attrs==25.3.0
-cattrs==24.1.3
-certifi==2025.1.31
-charset-normalizer==3.4.1
-click==8.1.8
-click-default-group==1.2.4
-flox==0.10.1
-future==1.0.0
-h5py==3.13.0
-idna==3.10
-natsort==8.4.0
-numpy==2.2.4
-numpy-groupies==0.11.2
-packaging==24.2
-pandas==2.2.3
-platformdirs==4.3.7
-pybiomart==0.2.0
-python-dateutil==2.9.0.post0
-pytz==2025.2
-requests==2.32.3
-requests-cache==1.2.1
-scipy==1.15.2
-six==1.17.0
-toolz==1.0.0
-tqdm==4.67.1
-tzdata==2025.2
-url-normalize==1.4.3
-urllib3==2.3.0
-xarray==2025.3.0
diff --git a/uv.lock b/uv.lock
new file mode 100644
index 0000000..5f94cee
--- /dev/null
+++ b/uv.lock
@@ -0,0 +1,4180 @@
+version = 1
+revision = 3
+requires-python = ">=3.11"
+resolution-markers = [
+ "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'",
+ "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy'",
+ "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'",
+ "python_full_version == '3.12.*'",
+ "python_full_version < '3.12'",
+]
+
+[[package]]
+name = "accessible-pygments"
+version = "0.0.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bc/c1/bbac6a50d02774f91572938964c582fff4270eee73ab822a4aeea4d8b11b/accessible_pygments-0.0.5.tar.gz", hash = "sha256:40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872", size = 1377899, upload-time = "2024-05-10T11:23:10.216Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl", hash = "sha256:88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7", size = 1395903, upload-time = "2024-05-10T11:23:08.421Z" },
+]
+
+[[package]]
+name = "adjusttext"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "matplotlib" },
+ { name = "numpy" },
+ { name = "scipy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4c/d4/6585f3b6fdb75648bca294664af4becc8aa2fb3fb08f4e4e9fd27e10d773/adjusttext-1.3.0.tar.gz", hash = "sha256:4ab75cd4453af4828876ac3e964f2c49be642ea834f0c1f7449558d5f12cbca1", size = 15724, upload-time = "2024-10-31T16:45:36.101Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/53/1c/8feedd607cc14c5df9aef74fe3af9a99bf660743b842a9b5b1865326b4aa/adjustText-1.3.0-py3-none-any.whl", hash = "sha256:da23d7b24b6db5ffa039bb136bfa556207365e32f48ac74b07ad26dd485bc691", size = 13154, upload-time = "2024-10-31T16:45:35.227Z" },
+]
+
+[[package]]
+name = "alabaster"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a6/f8/d9c74d0daf3f742840fd818d69cfae176fa332022fd44e3469487d5a9420/alabaster-1.0.0.tar.gz", hash = "sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e", size = 24210, upload-time = "2024-07-26T18:15:03.762Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b", size = 13929, upload-time = "2024-07-26T18:15:02.05Z" },
+]
+
+[[package]]
+name = "anndata"
+version = "0.12.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "array-api-compat" },
+ { name = "h5py" },
+ { name = "legacy-api-wrap" },
+ { name = "natsort" },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pandas" },
+ { name = "scipy" },
+ { name = "zarr" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4f/c2/6b0614bd716231315fa36eebc7b96451a6a35a0dafccb3c8cfcad13654d5/anndata-0.12.3.tar.gz", hash = "sha256:1ae821ae90d13b3aeedc9831b6ce4f6aa9d4cccf3dcbe398ae9424cf3df7bafd", size = 587733, upload-time = "2025-10-16T08:34:32.274Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/68/f7/facd5f256daacceb0326e816e98bfb3656d170381a82732422c72b6ac7b7/anndata-0.12.3-py3-none-any.whl", hash = "sha256:81eddb7114401d999002441a3badf0f9ddc88f6f0f15d56890435d4e64efd311", size = 169295, upload-time = "2025-10-16T08:34:30.677Z" },
+]
+
+[[package]]
+name = "appnope"
+version = "0.1.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" },
+]
+
+[[package]]
+name = "array-api-compat"
+version = "1.12.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8d/bd/9fa5c7c5621698d5632cc852a79fbbdc28024462c9396698e5fdcb395f37/array_api_compat-1.12.0.tar.gz", hash = "sha256:585bc615f650de53ac24b7c012baecfcdd810f50df3573be47e6dd9fa20df974", size = 99883, upload-time = "2025-05-16T08:49:59.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e0/b1/0542e0cab6f49f151a2d7a42400f84f706fc0b64e85dc1f56708b2e9fd37/array_api_compat-1.12.0-py3-none-any.whl", hash = "sha256:a0b4795b6944a9507fde54679f9350e2ad2b1e2acf4a2408a098cdc27f890a8b", size = 58156, upload-time = "2025-05-16T08:49:58.129Z" },
+]
+
+[[package]]
+name = "astroid"
+version = "3.3.11"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version < '3.12'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/18/74/dfb75f9ccd592bbedb175d4a32fc643cf569d7c218508bfbd6ea7ef9c091/astroid-3.3.11.tar.gz", hash = "sha256:1e5a5011af2920c7c67a53f65d536d65bfa7116feeaf2354d8b94f29573bb0ce", size = 400439, upload-time = "2025-07-13T18:04:23.177Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/0f/3b8fdc946b4d9cc8cc1e8af42c4e409468c84441b933d037e101b3d72d86/astroid-3.3.11-py3-none-any.whl", hash = "sha256:54c760ae8322ece1abd213057c4b5bba7c49818853fc901ef09719a60dbf9dec", size = 275612, upload-time = "2025-07-13T18:04:21.07Z" },
+]
+
+[[package]]
+name = "astroid"
+version = "4.0.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'",
+ "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy'",
+ "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'",
+ "python_full_version == '3.12.*'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/d1/6eee8726a863f28ff50d26c5eacb1a590f96ccbb273ce0a8c047ffb10f5a/astroid-4.0.1.tar.gz", hash = "sha256:0d778ec0def05b935e198412e62f9bcca8b3b5c39fdbe50b0ba074005e477aab", size = 405414, upload-time = "2025-10-11T15:15:42.6Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/47/f4/034361a9cbd9284ef40c8ad107955ede4efae29cbc17a059f63f6569c06a/astroid-4.0.1-py3-none-any.whl", hash = "sha256:37ab2f107d14dc173412327febf6c78d39590fdafcb44868f03b6c03452e3db0", size = 276268, upload-time = "2025-10-11T15:15:40.585Z" },
+]
+
+[[package]]
+name = "asttokens"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" },
+]
+
+[[package]]
+name = "attrs"
+version = "25.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" },
+]
+
+[[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, upload-time = "2025-02-01T15:17:41.026Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" },
+]
+
+[[package]]
+name = "bandit"
+version = "1.8.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "pyyaml" },
+ { name = "rich" },
+ { name = "stevedore" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/b5/7eb834e213d6f73aace21938e5e90425c92e5f42abafaf8a6d5d21beed51/bandit-1.8.6.tar.gz", hash = "sha256:dbfe9c25fc6961c2078593de55fd19f2559f9e45b99f1272341f5b95dea4e56b", size = 4240271, upload-time = "2025-07-06T03:10:50.9Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/ca/ba5f909b40ea12ec542d5d7bdd13ee31c4d65f3beed20211ef81c18fa1f3/bandit-1.8.6-py3-none-any.whl", hash = "sha256:3348e934d736fcdb68b6aa4030487097e23a501adf3e7827b63658df464dddd0", size = 133808, upload-time = "2025-07-06T03:10:49.134Z" },
+]
+
+[[package]]
+name = "bcrypt"
+version = "5.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d4/36/3329e2518d70ad8e2e5817d5a4cac6bba05a47767ec416c7d020a965f408/bcrypt-5.0.0.tar.gz", hash = "sha256:f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd", size = 25386, upload-time = "2025-09-25T19:50:47.829Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/85/3e65e01985fddf25b64ca67275bb5bdb4040bd1a53b66d355c6c37c8a680/bcrypt-5.0.0-cp313-cp313t-macosx_10_12_universal2.whl", hash = "sha256:f3c08197f3039bec79cee59a606d62b96b16669cff3949f21e74796b6e3cd2be", size = 481806, upload-time = "2025-09-25T19:49:05.102Z" },
+ { url = "https://files.pythonhosted.org/packages/44/dc/01eb79f12b177017a726cbf78330eb0eb442fae0e7b3dfd84ea2849552f3/bcrypt-5.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:200af71bc25f22006f4069060c88ed36f8aa4ff7f53e67ff04d2ab3f1e79a5b2", size = 268626, upload-time = "2025-09-25T19:49:06.723Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/cf/e82388ad5959c40d6afd94fb4743cc077129d45b952d46bdc3180310e2df/bcrypt-5.0.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:baade0a5657654c2984468efb7d6c110db87ea63ef5a4b54732e7e337253e44f", size = 271853, upload-time = "2025-09-25T19:49:08.028Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/86/7134b9dae7cf0efa85671651341f6afa695857fae172615e960fb6a466fa/bcrypt-5.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:c58b56cdfb03202b3bcc9fd8daee8e8e9b6d7e3163aa97c631dfcfcc24d36c86", size = 269793, upload-time = "2025-09-25T19:49:09.727Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/82/6296688ac1b9e503d034e7d0614d56e80c5d1a08402ff856a4549cb59207/bcrypt-5.0.0-cp313-cp313t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4bfd2a34de661f34d0bda43c3e4e79df586e4716ef401fe31ea39d69d581ef23", size = 289930, upload-time = "2025-09-25T19:49:11.204Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/18/884a44aa47f2a3b88dd09bc05a1e40b57878ecd111d17e5bba6f09f8bb77/bcrypt-5.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ed2e1365e31fc73f1825fa830f1c8f8917ca1b3ca6185773b349c20fd606cec2", size = 272194, upload-time = "2025-09-25T19:49:12.524Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/8f/371a3ab33c6982070b674f1788e05b656cfbf5685894acbfef0c65483a59/bcrypt-5.0.0-cp313-cp313t-manylinux_2_34_aarch64.whl", hash = "sha256:83e787d7a84dbbfba6f250dd7a5efd689e935f03dd83b0f919d39349e1f23f83", size = 269381, upload-time = "2025-09-25T19:49:14.308Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/34/7e4e6abb7a8778db6422e88b1f06eb07c47682313997ee8a8f9352e5a6f1/bcrypt-5.0.0-cp313-cp313t-manylinux_2_34_x86_64.whl", hash = "sha256:137c5156524328a24b9fac1cb5db0ba618bc97d11970b39184c1d87dc4bf1746", size = 271750, upload-time = "2025-09-25T19:49:15.584Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/1b/54f416be2499bd72123c70d98d36c6cd61a4e33d9b89562c22481c81bb30/bcrypt-5.0.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:38cac74101777a6a7d3b3e3cfefa57089b5ada650dce2baf0cbdd9d65db22a9e", size = 303757, upload-time = "2025-09-25T19:49:17.244Z" },
+ { url = "https://files.pythonhosted.org/packages/13/62/062c24c7bcf9d2826a1a843d0d605c65a755bc98002923d01fd61270705a/bcrypt-5.0.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:d8d65b564ec849643d9f7ea05c6d9f0cd7ca23bdd4ac0c2dbef1104ab504543d", size = 306740, upload-time = "2025-09-25T19:49:18.693Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/c8/1fdbfc8c0f20875b6b4020f3c7dc447b8de60aa0be5faaf009d24242aec9/bcrypt-5.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:741449132f64b3524e95cd30e5cd3343006ce146088f074f31ab26b94e6c75ba", size = 334197, upload-time = "2025-09-25T19:49:20.523Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/c1/8b84545382d75bef226fbc6588af0f7b7d095f7cd6a670b42a86243183cd/bcrypt-5.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:212139484ab3207b1f0c00633d3be92fef3c5f0af17cad155679d03ff2ee1e41", size = 352974, upload-time = "2025-09-25T19:49:22.254Z" },
+ { url = "https://files.pythonhosted.org/packages/10/a6/ffb49d4254ed085e62e3e5dd05982b4393e32fe1e49bb1130186617c29cd/bcrypt-5.0.0-cp313-cp313t-win32.whl", hash = "sha256:9d52ed507c2488eddd6a95bccee4e808d3234fa78dd370e24bac65a21212b861", size = 148498, upload-time = "2025-09-25T19:49:24.134Z" },
+ { url = "https://files.pythonhosted.org/packages/48/a9/259559edc85258b6d5fc5471a62a3299a6aa37a6611a169756bf4689323c/bcrypt-5.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:f6984a24db30548fd39a44360532898c33528b74aedf81c26cf29c51ee47057e", size = 145853, upload-time = "2025-09-25T19:49:25.702Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/df/9714173403c7e8b245acf8e4be8876aac64a209d1b392af457c79e60492e/bcrypt-5.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9fffdb387abe6aa775af36ef16f55e318dcda4194ddbf82007a6f21da29de8f5", size = 139626, upload-time = "2025-09-25T19:49:26.928Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/14/c18006f91816606a4abe294ccc5d1e6f0e42304df5a33710e9e8e95416e1/bcrypt-5.0.0-cp314-cp314t-macosx_10_12_universal2.whl", hash = "sha256:4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef", size = 481862, upload-time = "2025-09-25T19:49:28.365Z" },
+ { url = "https://files.pythonhosted.org/packages/67/49/dd074d831f00e589537e07a0725cf0e220d1f0d5d8e85ad5bbff251c45aa/bcrypt-5.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4", size = 268544, upload-time = "2025-09-25T19:49:30.39Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/91/50ccba088b8c474545b034a1424d05195d9fcbaaf802ab8bfe2be5a4e0d7/bcrypt-5.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf", size = 271787, upload-time = "2025-09-25T19:49:32.144Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e7/d7dba133e02abcda3b52087a7eea8c0d4f64d3e593b4fffc10c31b7061f3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da", size = 269753, upload-time = "2025-09-25T19:49:33.885Z" },
+ { url = "https://files.pythonhosted.org/packages/33/fc/5b145673c4b8d01018307b5c2c1fc87a6f5a436f0ad56607aee389de8ee3/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9", size = 289587, upload-time = "2025-09-25T19:49:35.144Z" },
+ { url = "https://files.pythonhosted.org/packages/27/d7/1ff22703ec6d4f90e62f1a5654b8867ef96bafb8e8102c2288333e1a6ca6/bcrypt-5.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f", size = 272178, upload-time = "2025-09-25T19:49:36.793Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/88/815b6d558a1e4d40ece04a2f84865b0fef233513bd85fd0e40c294272d62/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493", size = 269295, upload-time = "2025-09-25T19:49:38.164Z" },
+ { url = "https://files.pythonhosted.org/packages/51/8c/e0db387c79ab4931fc89827d37608c31cc57b6edc08ccd2386139028dc0d/bcrypt-5.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b", size = 271700, upload-time = "2025-09-25T19:49:39.917Z" },
+ { url = "https://files.pythonhosted.org/packages/06/83/1570edddd150f572dbe9fc00f6203a89fc7d4226821f67328a85c330f239/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c", size = 334034, upload-time = "2025-09-25T19:49:41.227Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/f2/ea64e51a65e56ae7a8a4ec236c2bfbdd4b23008abd50ac33fbb2d1d15424/bcrypt-5.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4", size = 352766, upload-time = "2025-09-25T19:49:43.08Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/d4/1a388d21ee66876f27d1a1f41287897d0c0f1712ef97d395d708ba93004c/bcrypt-5.0.0-cp314-cp314t-win32.whl", hash = "sha256:b17366316c654e1ad0306a6858e189fc835eca39f7eb2cafd6aaca8ce0c40a2e", size = 152449, upload-time = "2025-09-25T19:49:44.971Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/61/3291c2243ae0229e5bca5d19f4032cecad5dfb05a2557169d3a69dc0ba91/bcrypt-5.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:92864f54fb48b4c718fc92a32825d0e42265a627f956bc0361fe869f1adc3e7d", size = 149310, upload-time = "2025-09-25T19:49:46.162Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/89/4b01c52ae0c1a681d4021e5dd3e45b111a8fb47254a274fa9a378d8d834b/bcrypt-5.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dd19cf5184a90c873009244586396a6a884d591a5323f0e8a5922560718d4993", size = 143761, upload-time = "2025-09-25T19:49:47.345Z" },
+ { url = "https://files.pythonhosted.org/packages/84/29/6237f151fbfe295fe3e074ecc6d44228faa1e842a81f6d34a02937ee1736/bcrypt-5.0.0-cp38-abi3-macosx_10_12_universal2.whl", hash = "sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b", size = 494553, upload-time = "2025-09-25T19:49:49.006Z" },
+ { url = "https://files.pythonhosted.org/packages/45/b6/4c1205dde5e464ea3bd88e8742e19f899c16fa8916fb8510a851fae985b5/bcrypt-5.0.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb", size = 275009, upload-time = "2025-09-25T19:49:50.581Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/71/427945e6ead72ccffe77894b2655b695ccf14ae1866cd977e185d606dd2f/bcrypt-5.0.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef", size = 278029, upload-time = "2025-09-25T19:49:52.533Z" },
+ { url = "https://files.pythonhosted.org/packages/17/72/c344825e3b83c5389a369c8a8e58ffe1480b8a699f46c127c34580c4666b/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d79e5c65dcc9af213594d6f7f1fa2c98ad3fc10431e7aa53c176b441943efbdd", size = 275907, upload-time = "2025-09-25T19:49:54.709Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/7e/d4e47d2df1641a36d1212e5c0514f5291e1a956a7749f1e595c07a972038/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2b732e7d388fa22d48920baa267ba5d97cca38070b69c0e2d37087b381c681fd", size = 296500, upload-time = "2025-09-25T19:49:56.013Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/c3/0ae57a68be2039287ec28bc463b82e4b8dc23f9d12c0be331f4782e19108/bcrypt-5.0.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:0c8e093ea2532601a6f686edbc2c6b2ec24131ff5c52f7610dd64fa4553b5464", size = 278412, upload-time = "2025-09-25T19:49:57.356Z" },
+ { url = "https://files.pythonhosted.org/packages/45/2b/77424511adb11e6a99e3a00dcc7745034bee89036ad7d7e255a7e47be7d8/bcrypt-5.0.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75", size = 275486, upload-time = "2025-09-25T19:49:59.116Z" },
+ { url = "https://files.pythonhosted.org/packages/43/0a/405c753f6158e0f3f14b00b462d8bca31296f7ecfc8fc8bc7919c0c7d73a/bcrypt-5.0.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:89042e61b5e808b67daf24a434d89bab164d4de1746b37a8d173b6b14f3db9ff", size = 277940, upload-time = "2025-09-25T19:50:00.869Z" },
+ { url = "https://files.pythonhosted.org/packages/62/83/b3efc285d4aadc1fa83db385ec64dcfa1707e890eb42f03b127d66ac1b7b/bcrypt-5.0.0-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:e3cf5b2560c7b5a142286f69bde914494b6d8f901aaa71e453078388a50881c4", size = 310776, upload-time = "2025-09-25T19:50:02.393Z" },
+ { url = "https://files.pythonhosted.org/packages/95/7d/47ee337dacecde6d234890fe929936cb03ebc4c3a7460854bbd9c97780b8/bcrypt-5.0.0-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f632fd56fc4e61564f78b46a2269153122db34988e78b6be8b32d28507b7eaeb", size = 312922, upload-time = "2025-09-25T19:50:04.232Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/3a/43d494dfb728f55f4e1cf8fd435d50c16a2d75493225b54c8d06122523c6/bcrypt-5.0.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:801cad5ccb6b87d1b430f183269b94c24f248dddbbc5c1f78b6ed231743e001c", size = 341367, upload-time = "2025-09-25T19:50:05.559Z" },
+ { url = "https://files.pythonhosted.org/packages/55/ab/a0727a4547e383e2e22a630e0f908113db37904f58719dc48d4622139b5c/bcrypt-5.0.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3cf67a804fc66fc217e6914a5635000259fbbbb12e78a99488e4d5ba445a71eb", size = 359187, upload-time = "2025-09-25T19:50:06.916Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/bb/461f352fdca663524b4643d8b09e8435b4990f17fbf4fea6bc2a90aa0cc7/bcrypt-5.0.0-cp38-abi3-win32.whl", hash = "sha256:3abeb543874b2c0524ff40c57a4e14e5d3a66ff33fb423529c88f180fd756538", size = 153752, upload-time = "2025-09-25T19:50:08.515Z" },
+ { url = "https://files.pythonhosted.org/packages/41/aa/4190e60921927b7056820291f56fc57d00d04757c8b316b2d3c0d1d6da2c/bcrypt-5.0.0-cp38-abi3-win_amd64.whl", hash = "sha256:35a77ec55b541e5e583eb3436ffbbf53b0ffa1fa16ca6782279daf95d146dcd9", size = 150881, upload-time = "2025-09-25T19:50:09.742Z" },
+ { url = "https://files.pythonhosted.org/packages/54/12/cd77221719d0b39ac0b55dbd39358db1cd1246e0282e104366ebbfb8266a/bcrypt-5.0.0-cp38-abi3-win_arm64.whl", hash = "sha256:cde08734f12c6a4e28dc6755cd11d3bdfea608d93d958fffbe95a7026ebe4980", size = 144931, upload-time = "2025-09-25T19:50:11.016Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/ba/2af136406e1c3839aea9ecadc2f6be2bcd1eff255bd451dd39bcf302c47a/bcrypt-5.0.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a", size = 495313, upload-time = "2025-09-25T19:50:12.309Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/ee/2f4985dbad090ace5ad1f7dd8ff94477fe089b5fab2040bd784a3d5f187b/bcrypt-5.0.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddb4e1500f6efdd402218ffe34d040a1196c072e07929b9820f363a1fd1f4191", size = 275290, upload-time = "2025-09-25T19:50:13.673Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/6e/b77ade812672d15cf50842e167eead80ac3514f3beacac8902915417f8b7/bcrypt-5.0.0-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7aeef54b60ceddb6f30ee3db090351ecf0d40ec6e2abf41430997407a46d2254", size = 278253, upload-time = "2025-09-25T19:50:15.089Z" },
+ { url = "https://files.pythonhosted.org/packages/36/c4/ed00ed32f1040f7990dac7115f82273e3c03da1e1a1587a778d8cea496d8/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f0ce778135f60799d89c9693b9b398819d15f1921ba15fe719acb3178215a7db", size = 276084, upload-time = "2025-09-25T19:50:16.699Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/c4/fa6e16145e145e87f1fa351bbd54b429354fd72145cd3d4e0c5157cf4c70/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a71f70ee269671460b37a449f5ff26982a6f2ba493b3eabdd687b4bf35f875ac", size = 297185, upload-time = "2025-09-25T19:50:18.525Z" },
+ { url = "https://files.pythonhosted.org/packages/24/b4/11f8a31d8b67cca3371e046db49baa7c0594d71eb40ac8121e2fc0888db0/bcrypt-5.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822", size = 278656, upload-time = "2025-09-25T19:50:19.809Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/31/79f11865f8078e192847d2cb526e3fa27c200933c982c5b2869720fa5fce/bcrypt-5.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:edfcdcedd0d0f05850c52ba3127b1fce70b9f89e0fe5ff16517df7e81fa3cbb8", size = 275662, upload-time = "2025-09-25T19:50:21.567Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/8d/5e43d9584b3b3591a6f9b68f755a4da879a59712981ef5ad2a0ac1379f7a/bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:611f0a17aa4a25a69362dcc299fda5c8a3d4f160e2abb3831041feb77393a14a", size = 278240, upload-time = "2025-09-25T19:50:23.305Z" },
+ { url = "https://files.pythonhosted.org/packages/89/48/44590e3fc158620f680a978aafe8f87a4c4320da81ed11552f0323aa9a57/bcrypt-5.0.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:db99dca3b1fdc3db87d7c57eac0c82281242d1eabf19dcb8a6b10eb29a2e72d1", size = 311152, upload-time = "2025-09-25T19:50:24.597Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/85/e4fbfc46f14f47b0d20493669a625da5827d07e8a88ee460af6cd9768b44/bcrypt-5.0.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:5feebf85a9cefda32966d8171f5db7e3ba964b77fdfe31919622256f80f9cf42", size = 313284, upload-time = "2025-09-25T19:50:26.268Z" },
+ { url = "https://files.pythonhosted.org/packages/25/ae/479f81d3f4594456a01ea2f05b132a519eff9ab5768a70430fa1132384b1/bcrypt-5.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3ca8a166b1140436e058298a34d88032ab62f15aae1c598580333dc21d27ef10", size = 341643, upload-time = "2025-09-25T19:50:28.02Z" },
+ { url = "https://files.pythonhosted.org/packages/df/d2/36a086dee1473b14276cd6ea7f61aef3b2648710b5d7f1c9e032c29b859f/bcrypt-5.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:61afc381250c3182d9078551e3ac3a41da14154fbff647ddf52a769f588c4172", size = 359698, upload-time = "2025-09-25T19:50:31.347Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/f6/688d2cd64bfd0b14d805ddb8a565e11ca1fb0fd6817175d58b10052b6d88/bcrypt-5.0.0-cp39-abi3-win32.whl", hash = "sha256:64d7ce196203e468c457c37ec22390f1a61c85c6f0b8160fd752940ccfb3a683", size = 153725, upload-time = "2025-09-25T19:50:34.384Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/b9/9d9a641194a730bda138b3dfe53f584d61c58cd5230e37566e83ec2ffa0d/bcrypt-5.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:64ee8434b0da054d830fa8e89e1c8bf30061d539044a39524ff7dec90481e5c2", size = 150912, upload-time = "2025-09-25T19:50:35.69Z" },
+ { url = "https://files.pythonhosted.org/packages/27/44/d2ef5e87509158ad2187f4dd0852df80695bb1ee0cfe0a684727b01a69e0/bcrypt-5.0.0-cp39-abi3-win_arm64.whl", hash = "sha256:f2347d3534e76bf50bca5500989d6c1d05ed64b440408057a37673282c654927", size = 144953, upload-time = "2025-09-25T19:50:37.32Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/75/4aa9f5a4d40d762892066ba1046000b329c7cd58e888a6db878019b282dc/bcrypt-5.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7edda91d5ab52b15636d9c30da87d2cc84f426c72b9dba7a9b4fe142ba11f534", size = 271180, upload-time = "2025-09-25T19:50:38.575Z" },
+ { url = "https://files.pythonhosted.org/packages/54/79/875f9558179573d40a9cc743038ac2bf67dfb79cecb1e8b5d70e88c94c3d/bcrypt-5.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4", size = 273791, upload-time = "2025-09-25T19:50:39.913Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/fe/975adb8c216174bf70fc17535f75e85ac06ed5252ea077be10d9cff5ce24/bcrypt-5.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:dcd58e2b3a908b5ecc9b9df2f0085592506ac2d5110786018ee5e160f28e0911", size = 270746, upload-time = "2025-09-25T19:50:43.306Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/f8/972c96f5a2b6c4b3deca57009d93e946bbdbe2241dca9806d502f29dd3ee/bcrypt-5.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:6b8f520b61e8781efee73cba14e3e8c9556ccfb375623f4f97429544734545b4", size = 273375, upload-time = "2025-09-25T19:50:45.43Z" },
+]
+
+[[package]]
+name = "beautifulsoup4"
+version = "4.14.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "soupsieve" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz", hash = "sha256:2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e", size = 625822, upload-time = "2025-09-29T10:05:42.613Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/94/fe/3aed5d0be4d404d12d36ab97e2f1791424d9ca39c2f754a6285d59a3b01d/beautifulsoup4-4.14.2-py3-none-any.whl", hash = "sha256:5ef6fa3a8cbece8488d66985560f97ed091e22bbc4e9c2338508a9d5de6d4515", size = 106392, upload-time = "2025-09-29T10:05:43.771Z" },
+]
+
+[[package]]
+name = "biocframe"
+version = "0.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocutils" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c2/8e/bab85a6baa2c8294edde65bcd0c939a16611caf361fa66e90d0846be7f44/biocframe-0.6.3.tar.gz", hash = "sha256:14bff1f38a44d12922f5f70691dbda4744baabc972d9828bce63d605eff1169e", size = 47365, upload-time = "2025-03-29T02:24:06.904Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/64/04/cbbbf16108eb6af46ab5a2cc366a10694847dabb96817291ef214e052423/biocframe-0.6.3-py3-none-any.whl", hash = "sha256:5d05778af7645403febc434dee73f7304060ef1b655c58e7385498b067d33354", size = 19651, upload-time = "2025-03-29T02:24:05.573Z" },
+]
+
+[[package]]
+name = "biocutils"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/59/cb/404e7da59034accc8ea57771e73d471c5f291d2e2e74e13201f1b3d5d398/biocutils-0.2.3.tar.gz", hash = "sha256:6e693de208ad8507fdb9eb5829b6dc7d7a981b2f9f8c81b4fed9a1607e79fa8b", size = 60478, upload-time = "2025-05-07T04:11:18.991Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/23/f7/a5e64053786509f7bc0b5b77fbb68709035c219f72e35e3103351a21ee60/biocutils-0.2.3-py3-none-any.whl", hash = "sha256:dbcfda1d220cb4915baacb92d9d0df1e4eac1799ce62b1189731d0415bf8838e", size = 47370, upload-time = "2025-05-07T04:11:17.625Z" },
+]
+
+[[package]]
+name = "bleach"
+version = "6.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "webencodings" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" },
+]
+
+[package.optional-dependencies]
+css = [
+ { name = "tinycss2" },
+]
+
+[[package]]
+name = "boltons"
+version = "25.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/63/54/71a94d8e02da9a865587fb3fff100cb0fc7aa9f4d5ed9ed3a591216ddcc7/boltons-25.0.0.tar.gz", hash = "sha256:e110fbdc30b7b9868cb604e3f71d4722dd8f4dcb4a5ddd06028ba8f1ab0b5ace", size = 246294, upload-time = "2025-02-03T05:57:59.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/7f/0e961cf3908bc4c1c3e027de2794f867c6c89fb4916fc7dba295a0e80a2d/boltons-25.0.0-py3-none-any.whl", hash = "sha256:dc9fb38bf28985715497d1b54d00b62ea866eca3938938ea9043e254a3a6ca62", size = 194210, upload-time = "2025-02-03T05:57:56.705Z" },
+]
+
+[[package]]
+name = "cattrs"
+version = "25.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6e/00/2432bb2d445b39b5407f0a90e01b9a271475eea7caf913d7a86bcb956385/cattrs-25.3.0.tar.gz", hash = "sha256:1ac88d9e5eda10436c4517e390a4142d88638fe682c436c93db7ce4a277b884a", size = 509321, upload-time = "2025-10-07T12:26:08.737Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d8/2b/a40e1488fdfa02d3f9a653a61a5935ea08b3c2225ee818db6a76c7ba9695/cattrs-25.3.0-py3-none-any.whl", hash = "sha256:9896e84e0a5bf723bc7b4b68f4481785367ce07a8a02e7e9ee6eb2819bc306ff", size = 70738, upload-time = "2025-10-07T12:26:06.603Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.10.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" },
+ { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" },
+ { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" },
+ { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" },
+ { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
+]
+
+[[package]]
+name = "cfgv"
+version = "3.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" },
+ { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" },
+ { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" },
+ { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" },
+ { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" },
+ { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" },
+ { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" },
+ { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" },
+ { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" },
+ { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" },
+ { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" },
+ { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" },
+ { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" },
+ { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" },
+ { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" },
+ { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" },
+ { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" },
+ { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" },
+ { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" },
+ { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" },
+ { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" },
+ { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" },
+ { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" },
+ { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" },
+ { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" },
+ { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" },
+ { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" },
+ { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" },
+ { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" },
+]
+
+[[package]]
+name = "click"
+version = "8.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" },
+]
+
+[[package]]
+name = "click-default-group"
+version = "1.2.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1d/ce/edb087fb53de63dad3b36408ca30368f438738098e668b78c87f93cd41df/click_default_group-1.2.4.tar.gz", hash = "sha256:eb3f3c99ec0d456ca6cd2a7f08f7d4e91771bef51b01bdd9580cc6450fe1251e", size = 3505, upload-time = "2023-08-04T07:54:58.425Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2c/1a/aff8bb287a4b1400f69e09a53bd65de96aa5cee5691925b38731c67fc695/click_default_group-1.2.4-py2.py3-none-any.whl", hash = "sha256:9b60486923720e7fc61731bdb32b617039aba820e22e1c88766b1125592eaa5f", size = 4123, upload-time = "2023-08-04T07:54:56.875Z" },
+]
+
+[[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, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "comm"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" },
+]
+
+[[package]]
+name = "contourpy"
+version = "1.3.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" },
+ { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" },
+ { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" },
+ { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" },
+ { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" },
+ { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" },
+ { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" },
+ { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" },
+ { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" },
+ { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" },
+ { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" },
+ { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" },
+ { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" },
+ { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" },
+ { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" },
+ { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" },
+ { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" },
+ { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" },
+ { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" },
+ { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" },
+ { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" },
+ { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" },
+ { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" },
+ { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" },
+ { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" },
+ { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" },
+ { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" },
+ { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" },
+ { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" },
+ { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" },
+ { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" },
+ { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" },
+ { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" },
+]
+
+[[package]]
+name = "coverage"
+version = "7.11.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1c/38/ee22495420457259d2f3390309505ea98f98a5eed40901cf62196abad006/coverage-7.11.0.tar.gz", hash = "sha256:167bd504ac1ca2af7ff3b81d245dfea0292c5032ebef9d66cc08a7d28c1b8050", size = 811905, upload-time = "2025-10-15T15:15:08.542Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/49/3a/ee1074c15c408ddddddb1db7dd904f6b81bc524e01f5a1c5920e13dbde23/coverage-7.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d58ecaa865c5b9fa56e35efc51d1014d4c0d22838815b9fce57a27dd9576847", size = 215912, upload-time = "2025-10-15T15:12:40.665Z" },
+ { url = "https://files.pythonhosted.org/packages/70/c4/9f44bebe5cb15f31608597b037d78799cc5f450044465bcd1ae8cb222fe1/coverage-7.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b679e171f1c104a5668550ada700e3c4937110dbdd153b7ef9055c4f1a1ee3cc", size = 216310, upload-time = "2025-10-15T15:12:42.461Z" },
+ { url = "https://files.pythonhosted.org/packages/42/01/5e06077cfef92d8af926bdd86b84fb28bf9bc6ad27343d68be9b501d89f2/coverage-7.11.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ca61691ba8c5b6797deb221a0d09d7470364733ea9c69425a640f1f01b7c5bf0", size = 246706, upload-time = "2025-10-15T15:12:44.001Z" },
+ { url = "https://files.pythonhosted.org/packages/40/b8/7a3f1f33b35cc4a6c37e759137533119560d06c0cc14753d1a803be0cd4a/coverage-7.11.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:aef1747ede4bd8ca9cfc04cc3011516500c6891f1b33a94add3253f6f876b7b7", size = 248634, upload-time = "2025-10-15T15:12:45.768Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/41/7f987eb33de386bc4c665ab0bf98d15fcf203369d6aacae74f5dd8ec489a/coverage-7.11.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1839d08406e4cba2953dcc0ffb312252f14d7c4c96919f70167611f4dee2623", size = 250741, upload-time = "2025-10-15T15:12:47.222Z" },
+ { url = "https://files.pythonhosted.org/packages/23/c1/a4e0ca6a4e83069fb8216b49b30a7352061ca0cb38654bd2dc96b7b3b7da/coverage-7.11.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e0eb0a2dcc62478eb5b4cbb80b97bdee852d7e280b90e81f11b407d0b81c4287", size = 246837, upload-time = "2025-10-15T15:12:48.904Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/03/ced062a17f7c38b4728ff76c3acb40d8465634b20b4833cdb3cc3a74e115/coverage-7.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bc1fbea96343b53f65d5351d8fd3b34fd415a2670d7c300b06d3e14a5af4f552", size = 248429, upload-time = "2025-10-15T15:12:50.73Z" },
+ { url = "https://files.pythonhosted.org/packages/97/af/a7c6f194bb8c5a2705ae019036b8fe7f49ea818d638eedb15fdb7bed227c/coverage-7.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:214b622259dd0cf435f10241f1333d32caa64dbc27f8790ab693428a141723de", size = 246490, upload-time = "2025-10-15T15:12:52.646Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/c3/aab4df02b04a8fde79068c3c41ad7a622b0ef2b12e1ed154da986a727c3f/coverage-7.11.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:258d9967520cca899695d4eb7ea38be03f06951d6ca2f21fb48b1235f791e601", size = 246208, upload-time = "2025-10-15T15:12:54.586Z" },
+ { url = "https://files.pythonhosted.org/packages/30/d8/e282ec19cd658238d60ed404f99ef2e45eed52e81b866ab1518c0d4163cf/coverage-7.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cf9e6ff4ca908ca15c157c409d608da77a56a09877b97c889b98fb2c32b6465e", size = 247126, upload-time = "2025-10-15T15:12:56.485Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/17/a635fa07fac23adb1a5451ec756216768c2767efaed2e4331710342a3399/coverage-7.11.0-cp311-cp311-win32.whl", hash = "sha256:fcc15fc462707b0680cff6242c48625da7f9a16a28a41bb8fd7a4280920e676c", size = 218314, upload-time = "2025-10-15T15:12:58.365Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/29/2ac1dfcdd4ab9a70026edc8d715ece9b4be9a1653075c658ee6f271f394d/coverage-7.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:865965bf955d92790f1facd64fe7ff73551bd2c1e7e6b26443934e9701ba30b9", size = 219203, upload-time = "2025-10-15T15:12:59.902Z" },
+ { url = "https://files.pythonhosted.org/packages/03/21/5ce8b3a0133179115af4c041abf2ee652395837cb896614beb8ce8ddcfd9/coverage-7.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:5693e57a065760dcbeb292d60cc4d0231a6d4b6b6f6a3191561e1d5e8820b745", size = 217879, upload-time = "2025-10-15T15:13:01.35Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/db/86f6906a7c7edc1a52b2c6682d6dd9be775d73c0dfe2b84f8923dfea5784/coverage-7.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9c49e77811cf9d024b95faf86c3f059b11c0c9be0b0d61bc598f453703bd6fd1", size = 216098, upload-time = "2025-10-15T15:13:02.916Z" },
+ { url = "https://files.pythonhosted.org/packages/21/54/e7b26157048c7ba555596aad8569ff903d6cd67867d41b75287323678ede/coverage-7.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a61e37a403a778e2cda2a6a39abcc895f1d984071942a41074b5c7ee31642007", size = 216331, upload-time = "2025-10-15T15:13:04.403Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/19/1ce6bf444f858b83a733171306134a0544eaddf1ca8851ede6540a55b2ad/coverage-7.11.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c79cae102bb3b1801e2ef1511fb50e91ec83a1ce466b2c7c25010d884336de46", size = 247825, upload-time = "2025-10-15T15:13:05.92Z" },
+ { url = "https://files.pythonhosted.org/packages/71/0b/d3bcbbc259fcced5fb67c5d78f6e7ee965f49760c14afd931e9e663a83b2/coverage-7.11.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:16ce17ceb5d211f320b62df002fa7016b7442ea0fd260c11cec8ce7730954893", size = 250573, upload-time = "2025-10-15T15:13:07.471Z" },
+ { url = "https://files.pythonhosted.org/packages/58/8d/b0ff3641a320abb047258d36ed1c21d16be33beed4152628331a1baf3365/coverage-7.11.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:80027673e9d0bd6aef86134b0771845e2da85755cf686e7c7c59566cf5a89115", size = 251706, upload-time = "2025-10-15T15:13:09.4Z" },
+ { url = "https://files.pythonhosted.org/packages/59/c8/5a586fe8c7b0458053d9c687f5cff515a74b66c85931f7fe17a1c958b4ac/coverage-7.11.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d3ffa07a08657306cd2215b0da53761c4d73cb54d9143b9303a6481ec0cd415", size = 248221, upload-time = "2025-10-15T15:13:10.964Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/ff/3a25e3132804ba44cfa9a778cdf2b73dbbe63ef4b0945e39602fc896ba52/coverage-7.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a3b6a5f8b2524fd6c1066bc85bfd97e78709bb5e37b5b94911a6506b65f47186", size = 249624, upload-time = "2025-10-15T15:13:12.5Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/12/ff10c8ce3895e1b17a73485ea79ebc1896a9e466a9d0f4aef63e0d17b718/coverage-7.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fcc0a4aa589de34bc56e1a80a740ee0f8c47611bdfb28cd1849de60660f3799d", size = 247744, upload-time = "2025-10-15T15:13:14.554Z" },
+ { url = "https://files.pythonhosted.org/packages/16/02/d500b91f5471b2975947e0629b8980e5e90786fe316b6d7299852c1d793d/coverage-7.11.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:dba82204769d78c3fd31b35c3d5f46e06511936c5019c39f98320e05b08f794d", size = 247325, upload-time = "2025-10-15T15:13:16.438Z" },
+ { url = "https://files.pythonhosted.org/packages/77/11/dee0284fbbd9cd64cfce806b827452c6df3f100d9e66188e82dfe771d4af/coverage-7.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:81b335f03ba67309a95210caf3eb43bd6fe75a4e22ba653ef97b4696c56c7ec2", size = 249180, upload-time = "2025-10-15T15:13:17.959Z" },
+ { url = "https://files.pythonhosted.org/packages/59/1b/cdf1def928f0a150a057cab03286774e73e29c2395f0d30ce3d9e9f8e697/coverage-7.11.0-cp312-cp312-win32.whl", hash = "sha256:037b2d064c2f8cc8716fe4d39cb705779af3fbf1ba318dc96a1af858888c7bb5", size = 218479, upload-time = "2025-10-15T15:13:19.608Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/55/e5884d55e031da9c15b94b90a23beccc9d6beee65e9835cd6da0a79e4f3a/coverage-7.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:d66c0104aec3b75e5fd897e7940188ea1892ca1d0235316bf89286d6a22568c0", size = 219290, upload-time = "2025-10-15T15:13:21.593Z" },
+ { url = "https://files.pythonhosted.org/packages/23/a8/faa930cfc71c1d16bc78f9a19bb73700464f9c331d9e547bfbc1dbd3a108/coverage-7.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:d91ebeac603812a09cf6a886ba6e464f3bbb367411904ae3790dfe28311b15ad", size = 217924, upload-time = "2025-10-15T15:13:23.39Z" },
+ { url = "https://files.pythonhosted.org/packages/60/7f/85e4dfe65e400645464b25c036a26ac226cf3a69d4a50c3934c532491cdd/coverage-7.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cc3f49e65ea6e0d5d9bd60368684fe52a704d46f9e7fc413918f18d046ec40e1", size = 216129, upload-time = "2025-10-15T15:13:25.371Z" },
+ { url = "https://files.pythonhosted.org/packages/96/5d/dc5fa98fea3c175caf9d360649cb1aa3715e391ab00dc78c4c66fabd7356/coverage-7.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f39ae2f63f37472c17b4990f794035c9890418b1b8cca75c01193f3c8d3e01be", size = 216380, upload-time = "2025-10-15T15:13:26.976Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/f5/3da9cc9596708273385189289c0e4d8197d37a386bdf17619013554b3447/coverage-7.11.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7db53b5cdd2917b6eaadd0b1251cf4e7d96f4a8d24e174bdbdf2f65b5ea7994d", size = 247375, upload-time = "2025-10-15T15:13:28.923Z" },
+ { url = "https://files.pythonhosted.org/packages/65/6c/f7f59c342359a235559d2bc76b0c73cfc4bac7d61bb0df210965cb1ecffd/coverage-7.11.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10ad04ac3a122048688387828b4537bc9cf60c0bf4869c1e9989c46e45690b82", size = 249978, upload-time = "2025-10-15T15:13:30.525Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/8c/042dede2e23525e863bf1ccd2b92689692a148d8b5fd37c37899ba882645/coverage-7.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4036cc9c7983a2b1f2556d574d2eb2154ac6ed55114761685657e38782b23f52", size = 251253, upload-time = "2025-10-15T15:13:32.174Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/a9/3c58df67bfa809a7bddd786356d9c5283e45d693edb5f3f55d0986dd905a/coverage-7.11.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ab934dd13b1c5e94b692b1e01bd87e4488cb746e3a50f798cb9464fd128374b", size = 247591, upload-time = "2025-10-15T15:13:34.147Z" },
+ { url = "https://files.pythonhosted.org/packages/26/5b/c7f32efd862ee0477a18c41e4761305de6ddd2d49cdeda0c1116227570fd/coverage-7.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59a6e5a265f7cfc05f76e3bb53eca2e0dfe90f05e07e849930fecd6abb8f40b4", size = 249411, upload-time = "2025-10-15T15:13:38.425Z" },
+ { url = "https://files.pythonhosted.org/packages/76/b5/78cb4f1e86c1611431c990423ec0768122905b03837e1b4c6a6f388a858b/coverage-7.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:df01d6c4c81e15a7c88337b795bb7595a8596e92310266b5072c7e301168efbd", size = 247303, upload-time = "2025-10-15T15:13:40.464Z" },
+ { url = "https://files.pythonhosted.org/packages/87/c9/23c753a8641a330f45f221286e707c427e46d0ffd1719b080cedc984ec40/coverage-7.11.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8c934bd088eed6174210942761e38ee81d28c46de0132ebb1801dbe36a390dcc", size = 247157, upload-time = "2025-10-15T15:13:42.087Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/42/6e0cc71dc8a464486e944a4fa0d85bdec031cc2969e98ed41532a98336b9/coverage-7.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a03eaf7ec24078ad64a07f02e30060aaf22b91dedf31a6b24d0d98d2bba7f48", size = 248921, upload-time = "2025-10-15T15:13:43.715Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/1c/743c2ef665e6858cccb0f84377dfe3a4c25add51e8c7ef19249be92465b6/coverage-7.11.0-cp313-cp313-win32.whl", hash = "sha256:695340f698a5f56f795b2836abe6fb576e7c53d48cd155ad2f80fd24bc63a040", size = 218526, upload-time = "2025-10-15T15:13:45.336Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/d5/226daadfd1bf8ddbccefbd3aa3547d7b960fb48e1bdac124e2dd13a2b71a/coverage-7.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:2727d47fce3ee2bac648528e41455d1b0c46395a087a229deac75e9f88ba5a05", size = 219317, upload-time = "2025-10-15T15:13:47.401Z" },
+ { url = "https://files.pythonhosted.org/packages/97/54/47db81dcbe571a48a298f206183ba8a7ba79200a37cd0d9f4788fcd2af4a/coverage-7.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:0efa742f431529699712b92ecdf22de8ff198df41e43aeaaadf69973eb93f17a", size = 217948, upload-time = "2025-10-15T15:13:49.096Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/8b/cb68425420154e7e2a82fd779a8cc01549b6fa83c2ad3679cd6c088ebd07/coverage-7.11.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:587c38849b853b157706407e9ebdca8fd12f45869edb56defbef2daa5fb0812b", size = 216837, upload-time = "2025-10-15T15:13:51.09Z" },
+ { url = "https://files.pythonhosted.org/packages/33/55/9d61b5765a025685e14659c8d07037247de6383c0385757544ffe4606475/coverage-7.11.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b971bdefdd75096163dd4261c74be813c4508477e39ff7b92191dea19f24cd37", size = 217061, upload-time = "2025-10-15T15:13:52.747Z" },
+ { url = "https://files.pythonhosted.org/packages/52/85/292459c9186d70dcec6538f06ea251bc968046922497377bf4a1dc9a71de/coverage-7.11.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:269bfe913b7d5be12ab13a95f3a76da23cf147be7fa043933320ba5625f0a8de", size = 258398, upload-time = "2025-10-15T15:13:54.45Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/e2/46edd73fb8bf51446c41148d81944c54ed224854812b6ca549be25113ee0/coverage-7.11.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:dadbcce51a10c07b7c72b0ce4a25e4b6dcb0c0372846afb8e5b6307a121eb99f", size = 260574, upload-time = "2025-10-15T15:13:56.145Z" },
+ { url = "https://files.pythonhosted.org/packages/07/5e/1df469a19007ff82e2ca8fe509822820a31e251f80ee7344c34f6cd2ec43/coverage-7.11.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9ed43fa22c6436f7957df036331f8fe4efa7af132054e1844918866cd228af6c", size = 262797, upload-time = "2025-10-15T15:13:58.635Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/50/de216b31a1434b94d9b34a964c09943c6be45069ec704bfc379d8d89a649/coverage-7.11.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9516add7256b6713ec08359b7b05aeff8850c98d357784c7205b2e60aa2513fa", size = 257361, upload-time = "2025-10-15T15:14:00.409Z" },
+ { url = "https://files.pythonhosted.org/packages/82/1e/3f9f8344a48111e152e0fd495b6fff13cc743e771a6050abf1627a7ba918/coverage-7.11.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb92e47c92fcbcdc692f428da67db33337fa213756f7adb6a011f7b5a7a20740", size = 260349, upload-time = "2025-10-15T15:14:02.188Z" },
+ { url = "https://files.pythonhosted.org/packages/65/9b/3f52741f9e7d82124272f3070bbe316006a7de1bad1093f88d59bfc6c548/coverage-7.11.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d06f4fc7acf3cabd6d74941d53329e06bab00a8fe10e4df2714f0b134bfc64ef", size = 258114, upload-time = "2025-10-15T15:14:03.907Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/8b/918f0e15f0365d50d3986bbd3338ca01178717ac5678301f3f547b6619e6/coverage-7.11.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:6fbcee1a8f056af07ecd344482f711f563a9eb1c2cad192e87df00338ec3cdb0", size = 256723, upload-time = "2025-10-15T15:14:06.324Z" },
+ { url = "https://files.pythonhosted.org/packages/44/9e/7776829f82d3cf630878a7965a7d70cc6ca94f22c7d20ec4944f7148cb46/coverage-7.11.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dbbf012be5f32533a490709ad597ad8a8ff80c582a95adc8d62af664e532f9ca", size = 259238, upload-time = "2025-10-15T15:14:08.002Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/b8/49cf253e1e7a3bedb85199b201862dd7ca4859f75b6cf25ffa7298aa0760/coverage-7.11.0-cp313-cp313t-win32.whl", hash = "sha256:cee6291bb4fed184f1c2b663606a115c743df98a537c969c3c64b49989da96c2", size = 219180, upload-time = "2025-10-15T15:14:09.786Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/e1/1a541703826be7ae2125a0fb7f821af5729d56bb71e946e7b933cc7a89a4/coverage-7.11.0-cp313-cp313t-win_amd64.whl", hash = "sha256:a386c1061bf98e7ea4758e4313c0ab5ecf57af341ef0f43a0bf26c2477b5c268", size = 220241, upload-time = "2025-10-15T15:14:11.471Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/d1/5ee0e0a08621140fd418ec4020f595b4d52d7eb429ae6a0c6542b4ba6f14/coverage-7.11.0-cp313-cp313t-win_arm64.whl", hash = "sha256:f9ea02ef40bb83823b2b04964459d281688fe173e20643870bb5d2edf68bc836", size = 218510, upload-time = "2025-10-15T15:14:13.46Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/06/e923830c1985ce808e40a3fa3eb46c13350b3224b7da59757d37b6ce12b8/coverage-7.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c770885b28fb399aaf2a65bbd1c12bf6f307ffd112d6a76c5231a94276f0c497", size = 216110, upload-time = "2025-10-15T15:14:15.157Z" },
+ { url = "https://files.pythonhosted.org/packages/42/82/cdeed03bfead45203fb651ed756dfb5266028f5f939e7f06efac4041dad5/coverage-7.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a3d0e2087dba64c86a6b254f43e12d264b636a39e88c5cc0a01a7c71bcfdab7e", size = 216395, upload-time = "2025-10-15T15:14:16.863Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/ba/e1c80caffc3199aa699813f73ff097bc2df7b31642bdbc7493600a8f1de5/coverage-7.11.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:73feb83bb41c32811973b8565f3705caf01d928d972b72042b44e97c71fd70d1", size = 247433, upload-time = "2025-10-15T15:14:18.589Z" },
+ { url = "https://files.pythonhosted.org/packages/80/c0/5b259b029694ce0a5bbc1548834c7ba3db41d3efd3474489d7efce4ceb18/coverage-7.11.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c6f31f281012235ad08f9a560976cc2fc9c95c17604ff3ab20120fe480169bca", size = 249970, upload-time = "2025-10-15T15:14:20.307Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/86/171b2b5e1aac7e2fd9b43f7158b987dbeb95f06d1fbecad54ad8163ae3e8/coverage-7.11.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9570ad567f880ef675673992222746a124b9595506826b210fbe0ce3f0499cd", size = 251324, upload-time = "2025-10-15T15:14:22.419Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/7e/7e10414d343385b92024af3932a27a1caf75c6e27ee88ba211221ff1a145/coverage-7.11.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8badf70446042553a773547a61fecaa734b55dc738cacf20c56ab04b77425e43", size = 247445, upload-time = "2025-10-15T15:14:24.205Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/3b/e4f966b21f5be8c4bf86ad75ae94efa0de4c99c7bbb8114476323102e345/coverage-7.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a09c1211959903a479e389685b7feb8a17f59ec5a4ef9afde7650bd5eabc2777", size = 249324, upload-time = "2025-10-15T15:14:26.234Z" },
+ { url = "https://files.pythonhosted.org/packages/00/a2/8479325576dfcd909244d0df215f077f47437ab852ab778cfa2f8bf4d954/coverage-7.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:5ef83b107f50db3f9ae40f69e34b3bd9337456c5a7fe3461c7abf8b75dd666a2", size = 247261, upload-time = "2025-10-15T15:14:28.42Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/d8/3a9e2db19d94d65771d0f2e21a9ea587d11b831332a73622f901157cc24b/coverage-7.11.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f91f927a3215b8907e214af77200250bb6aae36eca3f760f89780d13e495388d", size = 247092, upload-time = "2025-10-15T15:14:30.784Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/b1/bbca3c472544f9e2ad2d5116b2379732957048be4b93a9c543fcd0207e5f/coverage-7.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cdbcd376716d6b7fbfeedd687a6c4be019c5a5671b35f804ba76a4c0a778cba4", size = 248755, upload-time = "2025-10-15T15:14:32.585Z" },
+ { url = "https://files.pythonhosted.org/packages/89/49/638d5a45a6a0f00af53d6b637c87007eb2297042186334e9923a61aa8854/coverage-7.11.0-cp314-cp314-win32.whl", hash = "sha256:bab7ec4bb501743edc63609320aaec8cd9188b396354f482f4de4d40a9d10721", size = 218793, upload-time = "2025-10-15T15:14:34.972Z" },
+ { url = "https://files.pythonhosted.org/packages/30/cc/b675a51f2d068adb3cdf3799212c662239b0ca27f4691d1fff81b92ea850/coverage-7.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d4ba9a449e9364a936a27322b20d32d8b166553bfe63059bd21527e681e2fad", size = 219587, upload-time = "2025-10-15T15:14:37.047Z" },
+ { url = "https://files.pythonhosted.org/packages/93/98/5ac886876026de04f00820e5094fe22166b98dcb8b426bf6827aaf67048c/coverage-7.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:ce37f215223af94ef0f75ac68ea096f9f8e8c8ec7d6e8c346ee45c0d363f0479", size = 218168, upload-time = "2025-10-15T15:14:38.861Z" },
+ { url = "https://files.pythonhosted.org/packages/14/d1/b4145d35b3e3ecf4d917e97fc8895bcf027d854879ba401d9ff0f533f997/coverage-7.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:f413ce6e07e0d0dc9c433228727b619871532674b45165abafe201f200cc215f", size = 216850, upload-time = "2025-10-15T15:14:40.651Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/d1/7f645fc2eccd318369a8a9948acc447bb7c1ade2911e31d3c5620544c22b/coverage-7.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:05791e528a18f7072bf5998ba772fe29db4da1234c45c2087866b5ba4dea710e", size = 217071, upload-time = "2025-10-15T15:14:42.755Z" },
+ { url = "https://files.pythonhosted.org/packages/54/7d/64d124649db2737ceced1dfcbdcb79898d5868d311730f622f8ecae84250/coverage-7.11.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cacb29f420cfeb9283b803263c3b9a068924474ff19ca126ba9103e1278dfa44", size = 258570, upload-time = "2025-10-15T15:14:44.542Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/3f/6f5922f80dc6f2d8b2c6f974835c43f53eb4257a7797727e6ca5b7b2ec1f/coverage-7.11.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314c24e700d7027ae3ab0d95fbf8d53544fca1f20345fd30cd219b737c6e58d3", size = 260738, upload-time = "2025-10-15T15:14:46.436Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/5f/9e883523c4647c860b3812b417a2017e361eca5b635ee658387dc11b13c1/coverage-7.11.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:630d0bd7a293ad2fc8b4b94e5758c8b2536fdf36c05f1681270203e463cbfa9b", size = 262994, upload-time = "2025-10-15T15:14:48.3Z" },
+ { url = "https://files.pythonhosted.org/packages/07/bb/43b5a8e94c09c8bf51743ffc65c4c841a4ca5d3ed191d0a6919c379a1b83/coverage-7.11.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e89641f5175d65e2dbb44db15fe4ea48fade5d5bbb9868fdc2b4fce22f4a469d", size = 257282, upload-time = "2025-10-15T15:14:50.236Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/e5/0ead8af411411330b928733e1d201384b39251a5f043c1612970310e8283/coverage-7.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c9f08ea03114a637dab06cedb2e914da9dc67fa52c6015c018ff43fdde25b9c2", size = 260430, upload-time = "2025-10-15T15:14:52.413Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/66/03dd8bb0ba5b971620dcaac145461950f6d8204953e535d2b20c6b65d729/coverage-7.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce9f3bde4e9b031eaf1eb61df95c1401427029ea1bfddb8621c1161dcb0fa02e", size = 258190, upload-time = "2025-10-15T15:14:54.268Z" },
+ { url = "https://files.pythonhosted.org/packages/45/ae/28a9cce40bf3174426cb2f7e71ee172d98e7f6446dff936a7ccecee34b14/coverage-7.11.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:e4dc07e95495923d6fd4d6c27bf70769425b71c89053083843fd78f378558996", size = 256658, upload-time = "2025-10-15T15:14:56.436Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7c/3a44234a8599513684bfc8684878fd7b126c2760f79712bb78c56f19efc4/coverage-7.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:424538266794db2861db4922b05d729ade0940ee69dcf0591ce8f69784db0e11", size = 259342, upload-time = "2025-10-15T15:14:58.538Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/e6/0108519cba871af0351725ebdb8660fd7a0fe2ba3850d56d32490c7d9b4b/coverage-7.11.0-cp314-cp314t-win32.whl", hash = "sha256:4c1eeb3fb8eb9e0190bebafd0462936f75717687117339f708f395fe455acc73", size = 219568, upload-time = "2025-10-15T15:15:00.382Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/76/44ba876e0942b4e62fdde23ccb029ddb16d19ba1bef081edd00857ba0b16/coverage-7.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b56efee146c98dbf2cf5cffc61b9829d1e94442df4d7398b26892a53992d3547", size = 220687, upload-time = "2025-10-15T15:15:02.322Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/0c/0df55ecb20d0d0ed5c322e10a441775e1a3a5d78c60f0c4e1abfe6fcf949/coverage-7.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:b5c2705afa83f49bd91962a4094b6b082f94aef7626365ab3f8f4bd159c5acf3", size = 218711, upload-time = "2025-10-15T15:15:04.575Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/04/642c1d8a448ae5ea1369eac8495740a79eb4e581a9fb0cbdce56bbf56da1/coverage-7.11.0-py3-none-any.whl", hash = "sha256:4b7589765348d78fb4e5fb6ea35d07564e387da2fc5efff62e0222971f155f68", size = 207761, upload-time = "2025-10-15T15:15:06.439Z" },
+]
+
+[[package]]
+name = "crc32c"
+version = "2.8"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e3/66/7e97aa77af7cf6afbff26e3651b564fe41932599bc2d3dce0b2f73d4829a/crc32c-2.8.tar.gz", hash = "sha256:578728964e59c47c356aeeedee6220e021e124b9d3e8631d95d9a5e5f06e261c", size = 48179, upload-time = "2025-10-17T06:20:13.61Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/dc/0b/5e03b22d913698e9cc563f39b9f6bbd508606bf6b8e9122cd6bf196b87ea/crc32c-2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e560a97fbb96c9897cb1d9b5076ef12fc12e2e25622530a1afd0de4240f17e1f", size = 66329, upload-time = "2025-10-17T06:19:01.771Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/38/2fe0051ffe8c6a650c8b1ac0da31b8802d1dbe5fa40a84e4b6b6f5583db5/crc32c-2.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6762d276d90331a490ef7e71ffee53b9c0eb053bd75a272d786f3b08d3fe3671", size = 62988, upload-time = "2025-10-17T06:19:02.953Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/30/5837a71c014be83aba1469c58820d287fc836512a0cad6b8fdd43868accd/crc32c-2.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:60670569f5ede91e39f48fb0cb4060e05b8d8704dd9e17ede930bf441b2f73ef", size = 61522, upload-time = "2025-10-17T06:19:03.796Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/29/63972fc1452778e2092ae998c50cbfc2fc93e3fa9798a0278650cd6169c5/crc32c-2.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:711743da6ccc70b3c6718c328947b0b6f34a1fe6a6c27cc6c1d69cc226bf70e9", size = 80200, upload-time = "2025-10-17T06:19:04.617Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/3a/60eb49d7bdada4122b3ffd45b0df54bdc1b8dd092cda4b069a287bdfcff4/crc32c-2.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5eb4094a2054774f13b26f21bf56792bb44fa1fcee6c6ad099387a43ffbfb4fa", size = 81757, upload-time = "2025-10-17T06:19:05.496Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/63/6efc1b64429ef7d23bd58b75b7ac24d15df327e3ebbe9c247a0f7b1c2ed1/crc32c-2.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fff15bf2bd3e95780516baae935ed12be88deaa5ebe6143c53eb0d26a7bdc7b7", size = 80830, upload-time = "2025-10-17T06:19:06.621Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/eb/0ae9f436f8004f1c88f7429e659a7218a3879bd11a6b18ed1257aad7e98b/crc32c-2.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4c0e11e3826668121fa53e0745635baf5e4f0ded437e8ff63ea56f38fc4f970a", size = 80095, upload-time = "2025-10-17T06:19:07.381Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/81/4afc9d468977a4cd94a2eb62908553345009a7c0d30e74463a15d4b48ec3/crc32c-2.8-cp311-cp311-win32.whl", hash = "sha256:38f915336715d1f1353ab07d7d786f8a789b119e273aea106ba55355dfc9101d", size = 64886, upload-time = "2025-10-17T06:19:08.497Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/e8/94e839c9f7e767bf8479046a207afd440a08f5c59b52586e1af5e64fa4a0/crc32c-2.8-cp311-cp311-win_amd64.whl", hash = "sha256:60e0a765b1caab8d31b2ea80840639253906a9351d4b861551c8c8625ea20f86", size = 66639, upload-time = "2025-10-17T06:19:09.338Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/36/fd18ef23c42926b79c7003e16cb0f79043b5b179c633521343d3b499e996/crc32c-2.8-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:572ffb1b78cce3d88e8d4143e154d31044a44be42cb3f6fbbf77f1e7a941c5ab", size = 66379, upload-time = "2025-10-17T06:19:10.115Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/b8/c584958e53f7798dd358f5bdb1bbfc97483134f053ee399d3eeb26cca075/crc32c-2.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cf827b3758ee0c4aacd21ceca0e2da83681f10295c38a10bfeb105f7d98f7a68", size = 63042, upload-time = "2025-10-17T06:19:10.946Z" },
+ { url = "https://files.pythonhosted.org/packages/62/e6/6f2af0ec64a668a46c861e5bc778ea3ee42171fedfc5440f791f470fd783/crc32c-2.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:106fbd79013e06fa92bc3b51031694fcc1249811ed4364ef1554ee3dd2c7f5a2", size = 61528, upload-time = "2025-10-17T06:19:11.768Z" },
+ { url = "https://files.pythonhosted.org/packages/17/8b/4a04bd80a024f1a23978f19ae99407783e06549e361ab56e9c08bba3c1d3/crc32c-2.8-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6dde035f91ffbfe23163e68605ee5a4bb8ceebd71ed54bb1fb1d0526cdd125a2", size = 80028, upload-time = "2025-10-17T06:19:12.554Z" },
+ { url = "https://files.pythonhosted.org/packages/21/8f/01c7afdc76ac2007d0e6a98e7300b4470b170480f8188475b597d1f4b4c6/crc32c-2.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e41ebe7c2f0fdcd9f3a3fd206989a36b460b4d3f24816d53e5be6c7dba72c5e1", size = 81531, upload-time = "2025-10-17T06:19:13.406Z" },
+ { url = "https://files.pythonhosted.org/packages/32/2b/8f78c5a8cc66486be5f51b6f038fc347c3ba748d3ea68be17a014283c331/crc32c-2.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ecf66cf90266d9c15cea597d5cc86c01917cd1a238dc3c51420c7886fa750d7e", size = 80608, upload-time = "2025-10-17T06:19:14.223Z" },
+ { url = "https://files.pythonhosted.org/packages/db/86/fad1a94cdeeeb6b6e2323c87f970186e74bfd6fbfbc247bf5c88ad0873d5/crc32c-2.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:59eee5f3a69ad0793d5fa9cdc9b9d743b0cd50edf7fccc0a3988a821fef0208c", size = 79886, upload-time = "2025-10-17T06:19:15.345Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/db/1a7cb6757a1e32376fa2dfce00c815ea4ee614a94f9bff8228e37420c183/crc32c-2.8-cp312-cp312-win32.whl", hash = "sha256:a73d03ce3604aa5d7a2698e9057a0eef69f529c46497b27ee1c38158e90ceb76", size = 64896, upload-time = "2025-10-17T06:19:16.457Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/8e/2024de34399b2e401a37dcb54b224b56c747b0dc46de4966886827b4d370/crc32c-2.8-cp312-cp312-win_amd64.whl", hash = "sha256:56b3b7d015247962cf58186e06d18c3d75a1a63d709d3233509e1c50a2d36aa2", size = 66645, upload-time = "2025-10-17T06:19:17.235Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/d8/3ae227890b3be40955a7144106ef4dd97d6123a82c2a5310cdab58ca49d8/crc32c-2.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:36f1e03ee9e9c6938e67d3bcb60e36f260170aa5f37da1185e04ef37b56af395", size = 66380, upload-time = "2025-10-17T06:19:18.009Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/8b/178d3f987cd0e049b484615512d3f91f3d2caeeb8ff336bb5896ae317438/crc32c-2.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b2f3226b94b85a8dd9b3533601d7a63e9e3e8edf03a8a169830ee8303a199aeb", size = 63048, upload-time = "2025-10-17T06:19:18.853Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/a1/48145ae2545ebc0169d3283ebe882da580ea4606bfb67cf4ca922ac3cfc3/crc32c-2.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6e08628bc72d5b6bc8e0730e8f142194b610e780a98c58cb6698e665cb885a5b", size = 61530, upload-time = "2025-10-17T06:19:19.974Z" },
+ { url = "https://files.pythonhosted.org/packages/06/4b/cf05ed9d934cc30e5ae22f97c8272face420a476090e736615d9a6b53de0/crc32c-2.8-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:086f64793c5ec856d1ab31a026d52ad2b895ac83d7a38fce557d74eb857f0a82", size = 80001, upload-time = "2025-10-17T06:19:20.784Z" },
+ { url = "https://files.pythonhosted.org/packages/15/ab/4b04801739faf36345f6ba1920be5b1c70282fec52f8280afd3613fb13e2/crc32c-2.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcf72ee7e0135b3d941c34bb2c26c3fc6bc207106b49fd89aaafaeae223ae209", size = 81543, upload-time = "2025-10-17T06:19:21.557Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/1b/6e38dde5bfd2ea69b7f2ab6ec229fcd972a53d39e2db4efe75c0ac0382ce/crc32c-2.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8a717dd9c3fd777d9bc6603717eae172887d402c4ab589d124ebd0184a83f89e", size = 80644, upload-time = "2025-10-17T06:19:22.325Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/45/012176ffee90059ae8ec7131019c71724ea472aa63e72c0c8edbd1fad1d7/crc32c-2.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0450bb845b3c3c7b9bdc0b4e95620ec9a40824abdc8c86d6285c919a90743c1a", size = 79919, upload-time = "2025-10-17T06:19:23.101Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/2b/f557629842f9dec2b3461cb3a0d854bb586ec45b814cea58b082c32f0dde/crc32c-2.8-cp313-cp313-win32.whl", hash = "sha256:765d220bfcbcffa6598ac11eb1e10af0ee4802b49fe126aa6bf79f8ddb9931d1", size = 64896, upload-time = "2025-10-17T06:19:23.88Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/db/fd0f698c15d1e21d47c64181a98290665a08fcbb3940cd559e9c15bda57e/crc32c-2.8-cp313-cp313-win_amd64.whl", hash = "sha256:171ff0260d112c62abcce29332986950a57bddee514e0a2418bfde493ea06bb3", size = 66646, upload-time = "2025-10-17T06:19:24.702Z" },
+ { url = "https://files.pythonhosted.org/packages/db/b9/8e5d7054fe8e7eecab10fd0c8e7ffb01439417bdb6de1d66a81c38fc4a20/crc32c-2.8-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b977a32a3708d6f51703c8557008f190aaa434d7347431efb0e86fcbe78c2a50", size = 66203, upload-time = "2025-10-17T06:19:25.872Z" },
+ { url = "https://files.pythonhosted.org/packages/55/5f/cc926c70057a63cc0c98a3c8a896eb15fc7e74d3034eadd53c94917c6cc3/crc32c-2.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7399b01db4adaf41da2fb36fe2408e75a8d82a179a9564ed7619412e427b26d6", size = 62956, upload-time = "2025-10-17T06:19:26.652Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/8a/0660c44a2dd2cb6ccbb529eb363b9280f5c766f1017bc8355ed8d695bd94/crc32c-2.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4379f73f9cdad31958a673d11a332ec725ca71572401ca865867229f5f15e853", size = 61442, upload-time = "2025-10-17T06:19:27.74Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/5a/6108d2dfc0fe33522ce83ba07aed4b22014911b387afa228808a278e27cd/crc32c-2.8-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2e68264555fab19bab08331550dab58573e351a63ed79c869d455edd3b0aa417", size = 79109, upload-time = "2025-10-17T06:19:28.535Z" },
+ { url = "https://files.pythonhosted.org/packages/84/1e/c054f9e390090c197abf3d2936f4f9effaf0c6ee14569ae03d6ddf86958a/crc32c-2.8-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b48f2486727b8d0e7ccbae4a34cb0300498433d2a9d6b49cb13cb57c2e3f19cb", size = 80987, upload-time = "2025-10-17T06:19:29.305Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/ad/1650e5c3341e4a485f800ea83116d72965030c5d48ccc168fcc685756e4d/crc32c-2.8-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ecf123348934a086df8c8fde7f9f2d716d523ca0707c5a1367b8bb00d8134823", size = 79994, upload-time = "2025-10-17T06:19:30.109Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/3b/f2ed924b177729cbb2ab30ca2902abff653c31d48c95e7b66717a9ca9fcc/crc32c-2.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e636ac60f76de538f7a2c0d0f3abf43104ee83a8f5e516f6345dc283ed1a4df7", size = 79046, upload-time = "2025-10-17T06:19:30.894Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/80/413b05ee6ace613208b31b3670c3135ee1cf451f0e72a9c839b4946acc04/crc32c-2.8-cp313-cp313t-win32.whl", hash = "sha256:8dd4a19505e0253892e1b2f1425cc3bd47f79ae5a04cb8800315d00aad7197f2", size = 64837, upload-time = "2025-10-17T06:19:32.03Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/1b/85eddb6ac5b38496c4e35c20298aae627970c88c3c624a22ab33e84f16c7/crc32c-2.8-cp313-cp313t-win_amd64.whl", hash = "sha256:4bb18e4bd98fb266596523ffc6be9c5b2387b2fa4e505ec56ca36336f49cb639", size = 66574, upload-time = "2025-10-17T06:19:33.143Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/df/50e9079b532ff53dbfc0e66eed781374bd455af02ed5df8b56ad538de4ff/crc32c-2.8-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3a3b2e4bcf7b3ee333050e7d3ff38e2ba46ea205f1d73d8949b248aaffe937ac", size = 66399, upload-time = "2025-10-17T06:19:34.279Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/2e/67e3b0bc3d30e46ea5d16365cc81203286387671e22f2307eb41f19abb9c/crc32c-2.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:445e559e66dff16be54f8a4ef95aa6b01db799a639956d995c5498ba513fccc2", size = 63044, upload-time = "2025-10-17T06:19:35.062Z" },
+ { url = "https://files.pythonhosted.org/packages/36/ea/1723b17437e4344ed8d067456382ecb1f5b535d83fdc5aaebab676c6d273/crc32c-2.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:bf3040919e17afa5782e01b1875d6a05f44b8f19c05f211d8b9f8a1deb8bbd9c", size = 61541, upload-time = "2025-10-17T06:19:36.204Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/6a/cbec8a235c5b46a01f319939b538958662159aec0ed3a74944e3a6de21f1/crc32c-2.8-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5607ab8221e1ffd411f64aa40dbb6850cf06dd2908c9debd05d371e1acf62ff3", size = 80139, upload-time = "2025-10-17T06:19:37.351Z" },
+ { url = "https://files.pythonhosted.org/packages/21/31/d096722fe74b692d6e8206c27da1ea5f6b2a12ff92c54a62a6ba2f376254/crc32c-2.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f5db4f16816926986d3c94253314920689706ae13a9bf4888b47336c6735ce", size = 81736, upload-time = "2025-10-17T06:19:38.16Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/a2/f75ef716ff7e3c22f385ba6ef30c5de80c19a21ebe699dc90824a1903275/crc32c-2.8-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:70b0153c4d418b673309d3529334d117e1074c4a3b2d7f676e430d72c14de67b", size = 80795, upload-time = "2025-10-17T06:19:38.948Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/94/6d647a12d96ab087d9b8eacee3da073f981987827d57c7072f89ffc7b6cd/crc32c-2.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5c8933531442042438753755a5c8a9034e4d88b01da9eb796f7e151b31a7256c", size = 80042, upload-time = "2025-10-17T06:19:39.725Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/dc/32b8896b40a0afee7a3c040536d0da5a73e68df2be9fadd21770fd158e16/crc32c-2.8-cp314-cp314-win32.whl", hash = "sha256:cdc83a3fe6c4e5df9457294cfd643de7d95bd4e9382c1dd6ed1e0f0f9169172c", size = 64914, upload-time = "2025-10-17T06:19:40.527Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/b4/4308b27d307e8ecaf8dd1dcc63bbb0e47ae1826d93faa3e62d1ee00ee2d5/crc32c-2.8-cp314-cp314-win_amd64.whl", hash = "sha256:509e10035106df66770fe24b9eb8d9e32b6fb967df17744402fb67772d8b2bc7", size = 66723, upload-time = "2025-10-17T06:19:42.449Z" },
+ { url = "https://files.pythonhosted.org/packages/90/d5/a19d2489fa997a143bfbbf971a5c9a43f8b1ba9e775b1fb362d8fb15260c/crc32c-2.8-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:864359a39777a07b09b28eb31337c0cc603d5c1bf0fc328c3af736a8da624ec0", size = 66201, upload-time = "2025-10-17T06:19:43.273Z" },
+ { url = "https://files.pythonhosted.org/packages/98/c2/5f82f22d2c1242cb6f6fe92aa9a42991ebea86de994b8f9974d9c1d128e2/crc32c-2.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:14511d7cfc5d9f5e1a6c6b64caa6225c2bdc1ed00d725e9a374a3e84073ce180", size = 62956, upload-time = "2025-10-17T06:19:44.099Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/61/3d43d33489cf974fb78bfb3500845770e139ae6d1d83473b660bd8f79a6c/crc32c-2.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:918b7999b52b5dcbcea34081e9a02d46917d571921a3f209956a9a429b2e06e5", size = 61443, upload-time = "2025-10-17T06:19:44.89Z" },
+ { url = "https://files.pythonhosted.org/packages/52/6d/f306ce64a352a3002f76b0fc88a1373f4541f9d34fad3668688610bab14b/crc32c-2.8-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cc445da03fc012a5a03b71da1df1b40139729e6a5571fd4215ab40bfb39689c7", size = 79106, upload-time = "2025-10-17T06:19:45.688Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/b7/1f74965dd7ea762954a69d172dfb3a706049c84ffa45d31401d010a4a126/crc32c-2.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e3dde2ec59a8a830511d72a086ead95c0b0b7f0d418f93ea106244c5e77e350", size = 80983, upload-time = "2025-10-17T06:19:46.792Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/50/af93f0d91ccd61833ce77374ebfbd16f5805f5c17d18c6470976d9866d76/crc32c-2.8-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:61d51681a08b6a2a2e771b7f0cd1947fb87cb28f38ed55a01cb7c40b2ac4cdd8", size = 80009, upload-time = "2025-10-17T06:19:47.619Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/fa/94f394beb68a88258af694dab2f1284f55a406b615d7900bdd6235283bc4/crc32c-2.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:67c0716c3b1a02d5235be649487b637eed21f2d070f2b3f63f709dcd2fefb4c7", size = 79066, upload-time = "2025-10-17T06:19:48.409Z" },
+ { url = "https://files.pythonhosted.org/packages/91/c6/a6050e0c64fd73c67a97da96cb59f08b05111e00b958fb87ecdce99f17ac/crc32c-2.8-cp314-cp314t-win32.whl", hash = "sha256:2e8fe863fbbd8bdb6b414a2090f1b0f52106e76e9a9c96a413495dbe5ebe492a", size = 64869, upload-time = "2025-10-17T06:19:49.197Z" },
+ { url = "https://files.pythonhosted.org/packages/08/1f/c7735034e401cb1ea14f996a224518e3a3fa9987cb13680e707328a7d779/crc32c-2.8-cp314-cp314t-win_amd64.whl", hash = "sha256:20a9cfb897693eb6da19e52e2a7be2026fd4d9fc8ae318f086c0d71d5dd2d8e0", size = 66633, upload-time = "2025-10-17T06:19:50.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/1d/dd926c68eb8aac8b142a1a10b8eb62d95212c1cf81775644373fe7cceac2/crc32c-2.8-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5833f4071da7ea182c514ba17d1eee8aec3c5be927d798222fbfbbd0f5eea02c", size = 62345, upload-time = "2025-10-17T06:20:09.39Z" },
+ { url = "https://files.pythonhosted.org/packages/51/be/803404e5abea2ef2c15042edca04bbb7f625044cca879e47f186b43887c2/crc32c-2.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:1dc4da036126ac07b39dd9d03e93e585ec615a2ad28ff12757aef7de175295a8", size = 61229, upload-time = "2025-10-17T06:20:10.236Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/3a/00cc578cd27ed0b22c9be25cef2c24539d92df9fa80ebd67a3fc5419724c/crc32c-2.8-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:15905fa78344654e241371c47e6ed2411f9eeb2b8095311c68c88eccf541e8b4", size = 64108, upload-time = "2025-10-17T06:20:11.072Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/bc/0587ef99a1c7629f95dd0c9d4f3d894de383a0df85831eb16c48a6afdae4/crc32c-2.8-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c596f918688821f796434e89b431b1698396c38bf0b56de873621528fe3ecb1e", size = 64815, upload-time = "2025-10-17T06:20:11.919Z" },
+ { url = "https://files.pythonhosted.org/packages/73/42/94f2b8b92eae9064fcfb8deef2b971514065bd606231f8857ff8ae02bebd/crc32c-2.8-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8d23c4fe01b3844cb6e091044bc1cebdef7d16472e058ce12d9fadf10d2614af", size = 66659, upload-time = "2025-10-17T06:20:12.766Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "45.0.7"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'",
+]
+dependencies = [
+ { name = "cffi", marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/35/c495bffc2056f2dadb32434f1feedd79abde2a7f8363e1974afa9c33c7e2/cryptography-45.0.7.tar.gz", hash = "sha256:4b1654dfc64ea479c242508eb8c724044f1e964a47d1d1cacc5132292d851971", size = 744980, upload-time = "2025-09-01T11:15:03.146Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/91/925c0ac74362172ae4516000fe877912e33b5983df735ff290c653de4913/cryptography-45.0.7-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:3be4f21c6245930688bd9e162829480de027f8bf962ede33d4f8ba7d67a00cee", size = 7041105, upload-time = "2025-09-01T11:13:59.684Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/63/43641c5acce3a6105cf8bd5baeceeb1846bb63067d26dae3e5db59f1513a/cryptography-45.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:67285f8a611b0ebc0857ced2081e30302909f571a46bfa7a3cc0ad303fe015c6", size = 4205799, upload-time = "2025-09-01T11:14:02.517Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/29/c238dd9107f10bfde09a4d1c52fd38828b1aa353ced11f358b5dd2507d24/cryptography-45.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:577470e39e60a6cd7780793202e63536026d9b8641de011ed9d8174da9ca5339", size = 4430504, upload-time = "2025-09-01T11:14:04.522Z" },
+ { url = "https://files.pythonhosted.org/packages/62/62/24203e7cbcc9bd7c94739428cd30680b18ae6b18377ae66075c8e4771b1b/cryptography-45.0.7-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4bd3e5c4b9682bc112d634f2c6ccc6736ed3635fc3319ac2bb11d768cc5a00d8", size = 4209542, upload-time = "2025-09-01T11:14:06.309Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/e3/e7de4771a08620eef2389b86cd87a2c50326827dea5528feb70595439ce4/cryptography-45.0.7-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:465ccac9d70115cd4de7186e60cfe989de73f7bb23e8a7aa45af18f7412e75bf", size = 3889244, upload-time = "2025-09-01T11:14:08.152Z" },
+ { url = "https://files.pythonhosted.org/packages/96/b8/bca71059e79a0bb2f8e4ec61d9c205fbe97876318566cde3b5092529faa9/cryptography-45.0.7-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:16ede8a4f7929b4b7ff3642eba2bf79aa1d71f24ab6ee443935c0d269b6bc513", size = 4461975, upload-time = "2025-09-01T11:14:09.755Z" },
+ { url = "https://files.pythonhosted.org/packages/58/67/3f5b26937fe1218c40e95ef4ff8d23c8dc05aa950d54200cc7ea5fb58d28/cryptography-45.0.7-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:8978132287a9d3ad6b54fcd1e08548033cc09dc6aacacb6c004c73c3eb5d3ac3", size = 4209082, upload-time = "2025-09-01T11:14:11.229Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/e4/b3e68a4ac363406a56cf7b741eeb80d05284d8c60ee1a55cdc7587e2a553/cryptography-45.0.7-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b6a0e535baec27b528cb07a119f321ac024592388c5681a5ced167ae98e9fff3", size = 4460397, upload-time = "2025-09-01T11:14:12.924Z" },
+ { url = "https://files.pythonhosted.org/packages/22/49/2c93f3cd4e3efc8cb22b02678c1fad691cff9dd71bb889e030d100acbfe0/cryptography-45.0.7-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a24ee598d10befaec178efdff6054bc4d7e883f615bfbcd08126a0f4931c83a6", size = 4337244, upload-time = "2025-09-01T11:14:14.431Z" },
+ { url = "https://files.pythonhosted.org/packages/04/19/030f400de0bccccc09aa262706d90f2ec23d56bc4eb4f4e8268d0ddf3fb8/cryptography-45.0.7-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:fa26fa54c0a9384c27fcdc905a2fb7d60ac6e47d14bc2692145f2b3b1e2cfdbd", size = 4568862, upload-time = "2025-09-01T11:14:16.185Z" },
+ { url = "https://files.pythonhosted.org/packages/29/56/3034a3a353efa65116fa20eb3c990a8c9f0d3db4085429040a7eef9ada5f/cryptography-45.0.7-cp311-abi3-win32.whl", hash = "sha256:bef32a5e327bd8e5af915d3416ffefdbe65ed975b646b3805be81b23580b57b8", size = 2936578, upload-time = "2025-09-01T11:14:17.638Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/61/0ab90f421c6194705a99d0fa9f6ee2045d916e4455fdbb095a9c2c9a520f/cryptography-45.0.7-cp311-abi3-win_amd64.whl", hash = "sha256:3808e6b2e5f0b46d981c24d79648e5c25c35e59902ea4391a0dcb3e667bf7443", size = 3405400, upload-time = "2025-09-01T11:14:18.958Z" },
+ { url = "https://files.pythonhosted.org/packages/63/e8/c436233ddf19c5f15b25ace33979a9dd2e7aa1a59209a0ee8554179f1cc0/cryptography-45.0.7-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bfb4c801f65dd61cedfc61a83732327fafbac55a47282e6f26f073ca7a41c3b2", size = 7021824, upload-time = "2025-09-01T11:14:20.954Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/4c/8f57f2500d0ccd2675c5d0cc462095adf3faa8c52294ba085c036befb901/cryptography-45.0.7-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:81823935e2f8d476707e85a78a405953a03ef7b7b4f55f93f7c2d9680e5e0691", size = 4202233, upload-time = "2025-09-01T11:14:22.454Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/ac/59b7790b4ccaed739fc44775ce4645c9b8ce54cbec53edf16c74fd80cb2b/cryptography-45.0.7-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3994c809c17fc570c2af12c9b840d7cea85a9fd3e5c0e0491f4fa3c029216d59", size = 4423075, upload-time = "2025-09-01T11:14:24.287Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/56/d4f07ea21434bf891faa088a6ac15d6d98093a66e75e30ad08e88aa2b9ba/cryptography-45.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dad43797959a74103cb59c5dac71409f9c27d34c8a05921341fb64ea8ccb1dd4", size = 4204517, upload-time = "2025-09-01T11:14:25.679Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/ac/924a723299848b4c741c1059752c7cfe09473b6fd77d2920398fc26bfb53/cryptography-45.0.7-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ce7a453385e4c4693985b4a4a3533e041558851eae061a58a5405363b098fcd3", size = 3882893, upload-time = "2025-09-01T11:14:27.1Z" },
+ { url = "https://files.pythonhosted.org/packages/83/dc/4dab2ff0a871cc2d81d3ae6d780991c0192b259c35e4d83fe1de18b20c70/cryptography-45.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b04f85ac3a90c227b6e5890acb0edbaf3140938dbecf07bff618bf3638578cf1", size = 4450132, upload-time = "2025-09-01T11:14:28.58Z" },
+ { url = "https://files.pythonhosted.org/packages/12/dd/b2882b65db8fc944585d7fb00d67cf84a9cef4e77d9ba8f69082e911d0de/cryptography-45.0.7-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:48c41a44ef8b8c2e80ca4527ee81daa4c527df3ecbc9423c41a420a9559d0e27", size = 4204086, upload-time = "2025-09-01T11:14:30.572Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/fa/1d5745d878048699b8eb87c984d4ccc5da4f5008dfd3ad7a94040caca23a/cryptography-45.0.7-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f3df7b3d0f91b88b2106031fd995802a2e9ae13e02c36c1fc075b43f420f3a17", size = 4449383, upload-time = "2025-09-01T11:14:32.046Z" },
+ { url = "https://files.pythonhosted.org/packages/36/8b/fc61f87931bc030598e1876c45b936867bb72777eac693e905ab89832670/cryptography-45.0.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:dd342f085542f6eb894ca00ef70236ea46070c8a13824c6bde0dfdcd36065b9b", size = 4332186, upload-time = "2025-09-01T11:14:33.95Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/11/09700ddad7443ccb11d674efdbe9a832b4455dc1f16566d9bd3834922ce5/cryptography-45.0.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1993a1bb7e4eccfb922b6cd414f072e08ff5816702a0bdb8941c247a6b1b287c", size = 4561639, upload-time = "2025-09-01T11:14:35.343Z" },
+ { url = "https://files.pythonhosted.org/packages/71/ed/8f4c1337e9d3b94d8e50ae0b08ad0304a5709d483bfcadfcc77a23dbcb52/cryptography-45.0.7-cp37-abi3-win32.whl", hash = "sha256:18fcf70f243fe07252dcb1b268a687f2358025ce32f9f88028ca5c364b123ef5", size = 2926552, upload-time = "2025-09-01T11:14:36.929Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/ff/026513ecad58dacd45d1d24ebe52b852165a26e287177de1d545325c0c25/cryptography-45.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:7285a89df4900ed3bfaad5679b1e668cb4b38a8de1ccbfc84b05f34512da0a90", size = 3392742, upload-time = "2025-09-01T11:14:38.368Z" },
+ { url = "https://files.pythonhosted.org/packages/99/4e/49199a4c82946938a3e05d2e8ad9482484ba48bbc1e809e3d506c686d051/cryptography-45.0.7-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a862753b36620af6fc54209264f92c716367f2f0ff4624952276a6bbd18cbde", size = 3584634, upload-time = "2025-09-01T11:14:50.593Z" },
+ { url = "https://files.pythonhosted.org/packages/16/ce/5f6ff59ea9c7779dba51b84871c19962529bdcc12e1a6ea172664916c550/cryptography-45.0.7-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:06ce84dc14df0bf6ea84666f958e6080cdb6fe1231be2a51f3fc1267d9f3fb34", size = 4149533, upload-time = "2025-09-01T11:14:52.091Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/13/b3cfbd257ac96da4b88b46372e662009b7a16833bfc5da33bb97dd5631ae/cryptography-45.0.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d0c5c6bac22b177bf8da7435d9d27a6834ee130309749d162b26c3105c0795a9", size = 4385557, upload-time = "2025-09-01T11:14:53.551Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/c5/8c59d6b7c7b439ba4fc8d0cab868027fd095f215031bc123c3a070962912/cryptography-45.0.7-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:2f641b64acc00811da98df63df7d59fd4706c0df449da71cb7ac39a0732b40ae", size = 4149023, upload-time = "2025-09-01T11:14:55.022Z" },
+ { url = "https://files.pythonhosted.org/packages/55/32/05385c86d6ca9ab0b4d5bb442d2e3d85e727939a11f3e163fc776ce5eb40/cryptography-45.0.7-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:f5414a788ecc6ee6bc58560e85ca624258a55ca434884445440a810796ea0e0b", size = 4385722, upload-time = "2025-09-01T11:14:57.319Z" },
+ { url = "https://files.pythonhosted.org/packages/23/87/7ce86f3fa14bc11a5a48c30d8103c26e09b6465f8d8e9d74cf7a0714f043/cryptography-45.0.7-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:1f3d56f73595376f4244646dd5c5870c14c196949807be39e79e7bd9bac3da63", size = 3332908, upload-time = "2025-09-01T11:14:58.78Z" },
+]
+
+[[package]]
+name = "cryptography"
+version = "46.0.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy'",
+ "python_full_version >= '3.13' and platform_python_implementation == 'PyPy'",
+ "python_full_version == '3.12.*'",
+ "python_full_version < '3.12'",
+]
+dependencies = [
+ { name = "cffi", marker = "python_full_version < '3.14' and platform_python_implementation != 'PyPy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/80/ee/04cd4314db26ffc951c1ea90bde30dd226880ab9343759d7abbecef377ee/cryptography-46.0.0.tar.gz", hash = "sha256:99f64a6d15f19f3afd78720ad2978f6d8d4c68cd4eb600fab82ab1a7c2071dca", size = 749158, upload-time = "2025-09-16T21:07:49.091Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/bd/3e935ca6e87dc4969683f5dd9e49adaf2cb5734253d93317b6b346e0bd33/cryptography-46.0.0-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:c9c4121f9a41cc3d02164541d986f59be31548ad355a5c96ac50703003c50fb7", size = 7285468, upload-time = "2025-09-16T21:05:52.026Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/ee/dd17f412ce64b347871d7752657c5084940d42af4d9c25b1b91c7ee53362/cryptography-46.0.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4f70cbade61a16f5e238c4b0eb4e258d177a2fcb59aa0aae1236594f7b0ae338", size = 4308218, upload-time = "2025-09-16T21:05:55.653Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/53/f0b865a971e4e8b3e90e648b6f828950dea4c221bb699421e82ef45f0ef9/cryptography-46.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d1eccae15d5c28c74b2bea228775c63ac5b6c36eedb574e002440c0bc28750d3", size = 4571982, upload-time = "2025-09-16T21:05:57.322Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/c8/035be5fd63a98284fd74df9e04156f9fed7aa45cef41feceb0d06cbdadd0/cryptography-46.0.0-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1b4fba84166d906a22027f0d958e42f3a4dbbb19c28ea71f0fb7812380b04e3c", size = 4307996, upload-time = "2025-09-16T21:05:59.043Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/4a/dbb6d7d0a48b95984e2d4caf0a4c7d6606cea5d30241d984c0c02b47f1b6/cryptography-46.0.0-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:523153480d7575a169933f083eb47b1edd5fef45d87b026737de74ffeb300f69", size = 4015692, upload-time = "2025-09-16T21:06:01.324Z" },
+ { url = "https://files.pythonhosted.org/packages/65/48/aafcffdde716f6061864e56a0a5908f08dcb8523dab436228957c8ebd5df/cryptography-46.0.0-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:f09a3a108223e319168b7557810596631a8cb864657b0c16ed7a6017f0be9433", size = 4982192, upload-time = "2025-09-16T21:06:03.367Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/ab/1e73cfc181afc3054a09e5e8f7753a8fba254592ff50b735d7456d197353/cryptography-46.0.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c1f6ccd6f2eef3b2eb52837f0463e853501e45a916b3fc42e5d93cf244a4b97b", size = 4603944, upload-time = "2025-09-16T21:06:05.29Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/02/d71dac90b77c606c90c366571edf264dc8bd37cf836e7f902253cbf5aa77/cryptography-46.0.0-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:80a548a5862d6912a45557a101092cd6c64ae1475b82cef50ee305d14a75f598", size = 4308149, upload-time = "2025-09-16T21:06:07.006Z" },
+ { url = "https://files.pythonhosted.org/packages/29/e6/4dcb67fdc6addf4e319a99c4bed25776cb691f3aa6e0c4646474748816c6/cryptography-46.0.0-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:6c39fd5cd9b7526afa69d64b5e5645a06e1b904f342584b3885254400b63f1b3", size = 4947449, upload-time = "2025-09-16T21:06:11.244Z" },
+ { url = "https://files.pythonhosted.org/packages/26/04/91e3fad8ee33aa87815c8f25563f176a58da676c2b14757a4d3b19f0253c/cryptography-46.0.0-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d5c0cbb2fb522f7e39b59a5482a1c9c5923b7c506cfe96a1b8e7368c31617ac0", size = 4603549, upload-time = "2025-09-16T21:06:13.268Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/6e/caf4efadcc8f593cbaacfbb04778f78b6d0dac287b45cec25e5054de38b7/cryptography-46.0.0-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6d8945bc120dcd90ae39aa841afddaeafc5f2e832809dc54fb906e3db829dfdc", size = 4435976, upload-time = "2025-09-16T21:06:16.514Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/c0/704710f349db25c5b91965c3662d5a758011b2511408d9451126429b6cd6/cryptography-46.0.0-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:88c09da8a94ac27798f6b62de6968ac78bb94805b5d272dbcfd5fdc8c566999f", size = 4709447, upload-time = "2025-09-16T21:06:19.246Z" },
+ { url = "https://files.pythonhosted.org/packages/91/5e/ff63bfd27b75adaf75cc2398de28a0b08105f9d7f8193f3b9b071e38e8b9/cryptography-46.0.0-cp311-abi3-win32.whl", hash = "sha256:3738f50215211cee1974193a1809348d33893696ce119968932ea117bcbc9b1d", size = 3058317, upload-time = "2025-09-16T21:06:21.466Z" },
+ { url = "https://files.pythonhosted.org/packages/46/47/4caf35014c4551dd0b43aa6c2e250161f7ffcb9c3918c9e075785047d5d2/cryptography-46.0.0-cp311-abi3-win_amd64.whl", hash = "sha256:bbaa5eef3c19c66613317dc61e211b48d5f550db009c45e1c28b59d5a9b7812a", size = 3523891, upload-time = "2025-09-16T21:06:23.856Z" },
+ { url = "https://files.pythonhosted.org/packages/98/66/6a0cafb3084a854acf808fccf756cbc9b835d1b99fb82c4a15e2e2ffb404/cryptography-46.0.0-cp311-abi3-win_arm64.whl", hash = "sha256:16b5ac72a965ec9d1e34d9417dbce235d45fa04dac28634384e3ce40dfc66495", size = 2932145, upload-time = "2025-09-16T21:06:25.842Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/5f/0cf967a1dc1419d5dde111bd0e22872038199f4e4655539ea6f4da5ad7f1/cryptography-46.0.0-cp314-abi3-macosx_10_9_universal2.whl", hash = "sha256:91585fc9e696abd7b3e48a463a20dda1a5c0eeeca4ba60fa4205a79527694390", size = 7203952, upload-time = "2025-09-16T21:06:28.21Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/9e/d20925af5f0484c5049cf7254c91b79776a9b555af04493de6bdd419b495/cryptography-46.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:65e9117ebed5b16b28154ed36b164c20021f3a480e9cbb4b4a2a59b95e74c25d", size = 4293519, upload-time = "2025-09-16T21:06:30.143Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/b9/07aec6b183ef0054b5f826ae43f0b4db34c50b56aff18f67babdcc2642a3/cryptography-46.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:da7f93551d39d462263b6b5c9056c49f780b9200bf9fc2656d7c88c7bdb9b363", size = 4545583, upload-time = "2025-09-16T21:06:31.914Z" },
+ { url = "https://files.pythonhosted.org/packages/39/4a/7d25158be8c607e2b9ebda49be762404d675b47df335d0d2a3b979d80213/cryptography-46.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:be7479f9504bfb46628544ec7cb4637fe6af8b70445d4455fbb9c395ad9b7290", size = 4299196, upload-time = "2025-09-16T21:06:33.724Z" },
+ { url = "https://files.pythonhosted.org/packages/15/3f/65c8753c0dbebe769cc9f9d87d52bce8b74e850ef2818c59bfc7e4248663/cryptography-46.0.0-cp314-cp314t-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f85e6a7d42ad60024fa1347b1d4ef82c4df517a4deb7f829d301f1a92ded038c", size = 3994419, upload-time = "2025-09-16T21:06:35.877Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/b4/69a271873cfc333a236443c94aa07e0233bc36b384e182da2263703b5759/cryptography-46.0.0-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:d349af4d76a93562f1dce4d983a4a34d01cb22b48635b0d2a0b8372cdb4a8136", size = 4960228, upload-time = "2025-09-16T21:06:38.182Z" },
+ { url = "https://files.pythonhosted.org/packages/af/e0/ab62ee938b8d17bd1025cff569803cfc1c62dfdf89ffc78df6e092bff35f/cryptography-46.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:35aa1a44bd3e0efc3ef09cf924b3a0e2a57eda84074556f4506af2d294076685", size = 4577257, upload-time = "2025-09-16T21:06:39.998Z" },
+ { url = "https://files.pythonhosted.org/packages/49/67/09a581c21da7189676678edd2bd37b64888c88c2d2727f2c3e0350194fba/cryptography-46.0.0-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c457ad3f151d5fb380be99425b286167b358f76d97ad18b188b68097193ed95a", size = 4299023, upload-time = "2025-09-16T21:06:42.182Z" },
+ { url = "https://files.pythonhosted.org/packages/af/28/2cb6d3d0d2c8ce8be4f19f4d83956c845c760a9e6dfe5b476cebed4f4f00/cryptography-46.0.0-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:399ef4c9be67f3902e5ca1d80e64b04498f8b56c19e1bc8d0825050ea5290410", size = 4925802, upload-time = "2025-09-16T21:06:44.31Z" },
+ { url = "https://files.pythonhosted.org/packages/88/0b/1f31b6658c1dfa04e82b88de2d160e0e849ffb94353b1526dfb3a225a100/cryptography-46.0.0-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:378eff89b040cbce6169528f130ee75dceeb97eef396a801daec03b696434f06", size = 4577107, upload-time = "2025-09-16T21:06:46.324Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/af/507de3a1d4ded3068ddef188475d241bfc66563d99161585c8f2809fee01/cryptography-46.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c3648d6a5878fd1c9a22b1d43fa75efc069d5f54de12df95c638ae7ba88701d0", size = 4422506, upload-time = "2025-09-16T21:06:47.963Z" },
+ { url = "https://files.pythonhosted.org/packages/47/aa/08e514756504d92334cabfe7fe792d10d977f2294ef126b2056b436450eb/cryptography-46.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2fc30be952dd4334801d345d134c9ef0e9ccbaa8c3e1bc18925cbc4247b3e29c", size = 4684081, upload-time = "2025-09-16T21:06:49.667Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/ef/ffde6e334fbd4ace04a6d9ced4c5fe1ca9e6ded4ee21b077a6889b452a89/cryptography-46.0.0-cp314-cp314t-win32.whl", hash = "sha256:b8e7db4ce0b7297e88f3d02e6ee9a39382e0efaf1e8974ad353120a2b5a57ef7", size = 3029735, upload-time = "2025-09-16T21:06:51.301Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/78/a41aee8bc5659390806196b0ed4d388211d3b38172827e610a82a7cd7546/cryptography-46.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:40ee4ce3c34acaa5bc347615ec452c74ae8ff7db973a98c97c62293120f668c6", size = 3502172, upload-time = "2025-09-16T21:06:53.328Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/2b/7e7427c258fdeae867d236cc9cad0c5c56735bc4d2f4adf035933ab4c15f/cryptography-46.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:07a1be54f995ce14740bf8bbe1cc35f7a37760f992f73cf9f98a2a60b9b97419", size = 2912344, upload-time = "2025-09-16T21:06:56.808Z" },
+ { url = "https://files.pythonhosted.org/packages/53/06/80e7256a4677c2e9eb762638e8200a51f6dd56d2e3de3e34d0a83c2f5f80/cryptography-46.0.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:1d2073313324226fd846e6b5fc340ed02d43fd7478f584741bd6b791c33c9fee", size = 7257206, upload-time = "2025-09-16T21:06:59.295Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/b8/a5ed987f5c11b242713076121dddfff999d81fb492149c006a579d0e4099/cryptography-46.0.0-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83af84ebe7b6e9b6de05050c79f8cc0173c864ce747b53abce6a11e940efdc0d", size = 4301182, upload-time = "2025-09-16T21:07:01.624Z" },
+ { url = "https://files.pythonhosted.org/packages/da/94/f1c1f30110c05fa5247bf460b17acfd52fa3f5c77e94ba19cff8957dc5e6/cryptography-46.0.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c3cd09b1490c1509bf3892bde9cef729795fae4a2fee0621f19be3321beca7e4", size = 4562561, upload-time = "2025-09-16T21:07:03.386Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/54/8decbf2f707350bedcd525833d3a0cc0203d8b080d926ad75d5c4de701ba/cryptography-46.0.0-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d14eaf1569d6252280516bedaffdd65267428cdbc3a8c2d6de63753cf0863d5e", size = 4301974, upload-time = "2025-09-16T21:07:04.962Z" },
+ { url = "https://files.pythonhosted.org/packages/82/63/c34a2f3516c6b05801f129616a5a1c68a8c403b91f23f9db783ee1d4f700/cryptography-46.0.0-cp38-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ab3a14cecc741c8c03ad0ad46dfbf18de25218551931a23bca2731d46c706d83", size = 4009462, upload-time = "2025-09-16T21:07:06.569Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/c5/92ef920a4cf8ff35fcf9da5a09f008a6977dcb9801c709799ec1bf2873fb/cryptography-46.0.0-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:8e8b222eb54e3e7d3743a7c2b1f7fa7df7a9add790307bb34327c88ec85fe087", size = 4980769, upload-time = "2025-09-16T21:07:08.269Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/8f/1705f7ea3b9468c4a4fef6cce631db14feb6748499870a4772993cbeb729/cryptography-46.0.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7f3f88df0c9b248dcc2e76124f9140621aca187ccc396b87bc363f890acf3a30", size = 4591812, upload-time = "2025-09-16T21:07:10.288Z" },
+ { url = "https://files.pythonhosted.org/packages/34/b9/2d797ce9d346b8bac9f570b43e6e14226ff0f625f7f6f2f95d9065e316e3/cryptography-46.0.0-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9aa85222f03fdb30defabc7a9e1e3d4ec76eb74ea9fe1504b2800844f9c98440", size = 4301844, upload-time = "2025-09-16T21:07:12.522Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/2d/8efc9712997b46aea2ac8f74adc31f780ac4662e3b107ecad0d5c1a0c7f8/cryptography-46.0.0-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:f9aaf2a91302e1490c068d2f3af7df4137ac2b36600f5bd26e53d9ec320412d3", size = 4943257, upload-time = "2025-09-16T21:07:14.289Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/0c/bc365287a97d28aa7feef8810884831b2a38a8dc4cf0f8d6927ad1568d27/cryptography-46.0.0-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:32670ca085150ff36b438c17f2dfc54146fe4a074ebf0a76d72fb1b419a974bc", size = 4591154, upload-time = "2025-09-16T21:07:16.271Z" },
+ { url = "https://files.pythonhosted.org/packages/51/3b/0b15107277b0c558c02027da615f4e78c892f22c6a04d29c6ad43fcddca6/cryptography-46.0.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0f58183453032727a65e6605240e7a3824fd1d6a7e75d2b537e280286ab79a52", size = 4428200, upload-time = "2025-09-16T21:07:18.118Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/24/814d69418247ea2cfc985eec6678239013500d745bc7a0a35a32c2e2f3be/cryptography-46.0.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4bc257c2d5d865ed37d0bd7c500baa71f939a7952c424f28632298d80ccd5ec1", size = 4699862, upload-time = "2025-09-16T21:07:20.219Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/1e/665c718e0c45281a4e22454fa8a9bd8835f1ceb667b9ffe807baa41cd681/cryptography-46.0.0-cp38-abi3-win32.whl", hash = "sha256:df932ac70388be034b2e046e34d636245d5eeb8140db24a6b4c2268cd2073270", size = 3043766, upload-time = "2025-09-16T21:07:21.969Z" },
+ { url = "https://files.pythonhosted.org/packages/78/7e/12e1e13abff381c702697845d1cf372939957735f49ef66f2061f38da32f/cryptography-46.0.0-cp38-abi3-win_amd64.whl", hash = "sha256:274f8b2eb3616709f437326185eb563eb4e5813d01ebe2029b61bfe7d9995fbb", size = 3517216, upload-time = "2025-09-16T21:07:24.024Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/55/009497b2ae7375db090b41f9fe7a1a7362f804ddfe17ed9e34f748fcb0e5/cryptography-46.0.0-cp38-abi3-win_arm64.whl", hash = "sha256:249c41f2bbfa026615e7bdca47e4a66135baa81b08509ab240a2e666f6af5966", size = 2923145, upload-time = "2025-09-16T21:07:25.74Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/c9/fd0ac99ac18eaa8766800bf7d087e8c011889aa6643006cff9cbd523eadd/cryptography-46.0.0-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:75d2ddde8f1766ab2db48ed7f2aa3797aeb491ea8dfe9b4c074201aec00f5c16", size = 3722472, upload-time = "2025-09-16T21:07:32.619Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/69/ff831514209e68a7e32fef655abfd9ef9ee4608d151636fa11eb8d7e589a/cryptography-46.0.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:f9f85d9cf88e3ba2b2b6da3c2310d1cf75bdf04a5bc1a2e972603054f82c4dd5", size = 4249520, upload-time = "2025-09-16T21:07:34.409Z" },
+ { url = "https://files.pythonhosted.org/packages/19/4a/19960010da2865f521a5bd657eaf647d6a4368568e96f6d9ec635e47ad55/cryptography-46.0.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:834af45296083d892e23430e3b11df77e2ac5c042caede1da29c9bf59016f4d2", size = 4528031, upload-time = "2025-09-16T21:07:36.721Z" },
+ { url = "https://files.pythonhosted.org/packages/79/92/88970c2b5b270d232213a971e74afa6d0e82d8aeee0964765a78ee1f55c8/cryptography-46.0.0-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:c39f0947d50f74b1b3523cec3931315072646286fb462995eb998f8136779319", size = 4249072, upload-time = "2025-09-16T21:07:38.382Z" },
+ { url = "https://files.pythonhosted.org/packages/63/50/b0b90a269d64b479602d948f40ef6131f3704546ce003baa11405aa4093b/cryptography-46.0.0-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:6460866a92143a24e3ed68eaeb6e98d0cedd85d7d9a8ab1fc293ec91850b1b38", size = 4527173, upload-time = "2025-09-16T21:07:40.742Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e1/826091488f6402c904e831ccbde41cf1a08672644ee5107e2447ea76a903/cryptography-46.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bf1961037309ee0bdf874ccba9820b1c2f720c2016895c44d8eb2316226c1ad5", size = 3448199, upload-time = "2025-09-16T21:07:42.639Z" },
+]
+
+[[package]]
+name = "cycler"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" },
+]
+
+[[package]]
+name = "debugpy"
+version = "1.8.17"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d8/53/3af72b5c159278c4a0cf4cffa518675a0e73bdb7d1cac0239b815502d2ce/debugpy-1.8.17-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:d3fce3f0e3de262a3b67e69916d001f3e767661c6e1ee42553009d445d1cd840", size = 2207154, upload-time = "2025-09-17T16:33:29.457Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/6d/204f407df45600e2245b4a39860ed4ba32552330a0b3f5f160ae4cc30072/debugpy-1.8.17-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:c6bdf134457ae0cac6fb68205776be635d31174eeac9541e1d0c062165c6461f", size = 3170322, upload-time = "2025-09-17T16:33:30.837Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/13/1b8f87d39cf83c6b713de2620c31205299e6065622e7dd37aff4808dd410/debugpy-1.8.17-cp311-cp311-win32.whl", hash = "sha256:e79a195f9e059edfe5d8bf6f3749b2599452d3e9380484cd261f6b7cd2c7c4da", size = 5155078, upload-time = "2025-09-17T16:33:33.331Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/c5/c012c60a2922cc91caa9675d0ddfbb14ba59e1e36228355f41cab6483469/debugpy-1.8.17-cp311-cp311-win_amd64.whl", hash = "sha256:b532282ad4eca958b1b2d7dbcb2b7218e02cb934165859b918e3b6ba7772d3f4", size = 5179011, upload-time = "2025-09-17T16:33:35.711Z" },
+ { url = "https://files.pythonhosted.org/packages/08/2b/9d8e65beb2751876c82e1aceb32f328c43ec872711fa80257c7674f45650/debugpy-1.8.17-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:f14467edef672195c6f6b8e27ce5005313cb5d03c9239059bc7182b60c176e2d", size = 2549522, upload-time = "2025-09-17T16:33:38.466Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/78/eb0d77f02971c05fca0eb7465b18058ba84bd957062f5eec82f941ac792a/debugpy-1.8.17-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:24693179ef9dfa20dca8605905a42b392be56d410c333af82f1c5dff807a64cc", size = 4309417, upload-time = "2025-09-17T16:33:41.299Z" },
+ { url = "https://files.pythonhosted.org/packages/37/42/c40f1d8cc1fed1e75ea54298a382395b8b937d923fcf41ab0797a554f555/debugpy-1.8.17-cp312-cp312-win32.whl", hash = "sha256:6a4e9dacf2cbb60d2514ff7b04b4534b0139facbf2abdffe0639ddb6088e59cf", size = 5277130, upload-time = "2025-09-17T16:33:43.554Z" },
+ { url = "https://files.pythonhosted.org/packages/72/22/84263b205baad32b81b36eac076de0cdbe09fe2d0637f5b32243dc7c925b/debugpy-1.8.17-cp312-cp312-win_amd64.whl", hash = "sha256:e8f8f61c518952fb15f74a302e068b48d9c4691768ade433e4adeea961993464", size = 5319053, upload-time = "2025-09-17T16:33:53.033Z" },
+ { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" },
+ { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" },
+ { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" },
+ { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" },
+]
+
+[[package]]
+name = "decorator"
+version = "5.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" },
+]
+
+[[package]]
+name = "decoupler"
+version = "2.1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "adjusttext" },
+ { name = "anndata" },
+ { name = "docrep" },
+ { name = "marsilea" },
+ { name = "numba" },
+ { name = "requests" },
+ { name = "scipy" },
+ { name = "session-info2" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/61/9b/6b36db6f4f8003a4ce2af01b6baa671f3a965bf6eb873690320699e6da4b/decoupler-2.1.1.tar.gz", hash = "sha256:05700321aaf1693512ece7675d181fea2232a0ed94e5ca8f15096d6ad75c7abd", size = 1185563, upload-time = "2025-07-18T05:11:41.7Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/df/cf/c546685b6d4053e1391e46533d3a52eee98a92dab247f1c6d28e8a8b0cb2/decoupler-2.1.1-py3-none-any.whl", hash = "sha256:8cba2534ba8663c7655f9fae014859f6384285bb540dd8bf885a1fbd5fe0fd91", size = 117961, upload-time = "2025-07-18T05:11:40.133Z" },
+]
+
+[[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, upload-time = "2021-03-08T10:59:26.269Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" },
+]
+
+[[package]]
+name = "delayedarray"
+version = "0.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocutils" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bb/4e/50914f4652721e67a5de360064cf40edfc733766860c110311acd07ee808/delayedarray-0.6.1.tar.gz", hash = "sha256:f83dfb9f8d9a7dd45eea848f75422d8a496edf3f82e61a2e9ccc39ce760db4d9", size = 87609, upload-time = "2025-05-07T04:40:58.362Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/85/39a63ad1a49e093a40ea4c88d6eaded469ca3ae3f777a4c007465c368a9c/delayedarray-0.6.1-py3-none-any.whl", hash = "sha256:20afdb55170429fc0430a530827d0825aa9d044e70aeb0313472e7030639684d", size = 63800, upload-time = "2025-05-07T04:40:56.967Z" },
+]
+
+[[package]]
+name = "dill"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976, upload-time = "2025-04-16T00:41:48.867Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" },
+]
+
+[[package]]
+name = "distlib"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" },
+]
+
+[[package]]
+name = "docrep"
+version = "0.3.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/44/8e/250fab1cafeea43f4eb11f1d64cd6313f639965ff62cb0d9da3883655781/docrep-0.3.2.tar.gz", hash = "sha256:ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314", size = 33197, upload-time = "2021-02-16T09:01:50.183Z" }
+
+[[package]]
+name = "docutils"
+version = "0.21.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" },
+]
+
+[[package]]
+name = "dolomite"
+version = "0.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "dolomite-base" },
+ { name = "dolomite-mae" },
+ { name = "dolomite-matrix" },
+ { name = "dolomite-ranges" },
+ { name = "dolomite-sce" },
+ { name = "dolomite-se" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f4/02/54374a5cd4cd7f3d9e3089b5049291cee938c3b5330be69d05b004037e6d/dolomite-0.1.0.tar.gz", hash = "sha256:485c3ed06b44ff19554c8a58f88f19952e75da5af262c11ec67dd5b72544e791", size = 18955, upload-time = "2024-01-26T23:09:36.232Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4a/9b/687d4f87c516aaf87b1ce99909b1d98ba29ed39c99f7814ea6d1861d3b02/dolomite-0.1.0-py3-none-any.whl", hash = "sha256:41643499bf62f1d3dde39d76414db4f104f71a87ec8e73df8132ad04e21386ec", size = 3141, upload-time = "2024-01-26T23:09:34.299Z" },
+]
+
+[[package]]
+name = "dolomite-base"
+version = "0.4.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "biocutils" },
+ { name = "h5py" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/53/e80b5eee21afc8ad42f96e0071226f6f81b810c8a1ee49706d1794bea45a/dolomite_base-0.4.5.tar.gz", hash = "sha256:75f3ec2e85ae9713fd54fced4ab0dbcee4f26d91aa17f64850acbfb1fa283fee", size = 61619, upload-time = "2025-03-09T06:25:07.688Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b0/23/4df903f0162c0da9a720a58fa1ff056f94d12245a348d66c82f68ebed11b/dolomite_base-0.4.5-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:9dd095f1cb9f366b549bb1d6bc8abf405460474d9480c0b0d8710aa7e9698bd9", size = 2053980, upload-time = "2025-03-09T06:24:36.959Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a3/b5bd8763b06032ad3aa716b3120cc9d5bb495328f24b9cad320528b8aff5/dolomite_base-0.4.5-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:1f30039be40b9efe541b879251041cbaa85ccfcdf6192c12c56163532e06f058", size = 1679418, upload-time = "2025-03-09T06:24:38.609Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/f7/bc5a56d1f3bd1a28e48d53aee60fedbc22f1ebde909d7645e7d9a84339f3/dolomite_base-0.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8aafd9222be4466dadcfef26be86db37af57a7b3d314c545dec6f9c091a940", size = 2585810, upload-time = "2025-03-09T06:24:39.884Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/16/0e8d6d46cf46e49dc9fb40feb1f981b4bdd92698dfddf9c4c4b047cf8dc8/dolomite_base-0.4.5-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:8535344cf997bd5e70f281fc14b5bb10703592e6686cdec8efd25193328b32c6", size = 2461433, upload-time = "2025-03-09T06:24:41.501Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/64/37e6f1d008e24b1bb5594d1000a9fb6e140169756851b80146186b112b78/dolomite_base-0.4.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:87a4c2f1445366313e19f0bf08b14cd13fb883586f24291c49a8312b7a0dfd23", size = 3468192, upload-time = "2025-03-09T06:24:43.214Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/f2/0a937d86aa1f9639051380b5d7c0453ed2f2e695d1218b8b1de3987bbd89/dolomite_base-0.4.5-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:a050146ffa66e3c7760c8caf67c6d243225e190c39ad3c5f2c291b924d66b992", size = 2053888, upload-time = "2025-03-09T06:24:44.911Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/f3/20f5470053d6071b4da23b88f2ae02137938fd7e90a70026fe172ca29845/dolomite_base-0.4.5-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8c1d47741670fbd338aa914eb0d4ff7e6cbf049c6d1ac3c8520dcb1b735e4c98", size = 1679004, upload-time = "2025-03-09T06:24:46.99Z" },
+ { url = "https://files.pythonhosted.org/packages/00/27/6fcf3a802a873cdf53f93375c0d0da8824718edb905378fe0f41d8da5357/dolomite_base-0.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5de53733c2383168f6abb3606ec2fad28e57dd8f8adc38ba58eb0c746529c4b0", size = 2584394, upload-time = "2025-03-09T06:24:48.39Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/4e/1b861a2f146ccff04f2c4e05a8f01f866fed0435cbf68074adf952dd8327/dolomite_base-0.4.5-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:7f236bd7f495a97980152a5bacf78aec1082f64a05ea0cb033da501588f67a73", size = 2460596, upload-time = "2025-03-09T06:24:49.591Z" },
+ { url = "https://files.pythonhosted.org/packages/57/f6/5da9eea75ba19451c3e87962e9fc7972a066340ea1c04ed6d34b64e640c1/dolomite_base-0.4.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6597b4fc633a85acddbfdf8f98ded43f5b3207140dc092f29fb321e6c7fb3790", size = 3467943, upload-time = "2025-03-09T06:24:51.227Z" },
+ { url = "https://files.pythonhosted.org/packages/19/42/bc2588bd231f4304fca79d24ef9eaa2528593715e8882cc9c622f98d7d3e/dolomite_base-0.4.5-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:cefe99d9e89c8194621fb45202bb20e89052eb1b376def163f71a2ce50b7b881", size = 2054024, upload-time = "2025-03-09T06:24:53.039Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/63/76328649df72034891d16c189478a878ddd6ef997eb18459ae0e6bd5d252/dolomite_base-0.4.5-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:06feb31f8bf2f6256b7a665c89548835f83b8a229e24c85e09369185f7209ef0", size = 1679005, upload-time = "2025-03-09T06:24:54.662Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/1c/785ad97a5deba4b818020ee5b6bd7bd10c8e9b7d0df9127b2f1ed78d6d87/dolomite_base-0.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f3575a7ea75afb70b4724a6f1d9fde4e811f17c27f732cb501b0d6932f1a403", size = 2584457, upload-time = "2025-03-09T06:24:55.998Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/05/b641be37d7695088be8a85caf25ead74fa1161d053d6e150337fa93526cd/dolomite_base-0.4.5-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:1f8cfefac065c9bd07d39d8b828365c382b0b35519b49bf93961e80a1abbae43", size = 2460519, upload-time = "2025-03-09T06:24:57.46Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/5b/0b48b8a003ce8275ad1805b743f795878f9b63e5a5e7ddcc794b1ef73d3a/dolomite_base-0.4.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fb0cd8734d95838af4945d5f7e040b4902bd733f87f3dcaa47b4efc5e404ad5f", size = 3468476, upload-time = "2025-03-09T06:24:59.325Z" },
+]
+
+[[package]]
+name = "dolomite-mae"
+version = "0.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocutils" },
+ { name = "dolomite-base" },
+ { name = "dolomite-sce" },
+ { name = "dolomite-se" },
+ { name = "multiassayexperiment" },
+ { name = "numpy" },
+ { name = "pandas" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/52/a4/1e006c2cbf4a9c2d14367df070633fdf1eb4904b82964fbc3240902791df/dolomite_mae-0.2.0.tar.gz", hash = "sha256:2e7ea191b2bd780e6a7d23f1d7d787b61e19dc073fd78b35b54805540724f22d", size = 23536, upload-time = "2024-12-24T20:09:56.33Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/77/badaeec11ff7db9b9dd682a848827da1c6de1fdd02c113ca431b637a1599/dolomite_mae-0.2.0-py3-none-any.whl", hash = "sha256:395711177d4336e2fdd06dd982b66c66ed6dbd9497602d193eff15fd77990b7a", size = 6704, upload-time = "2024-12-24T20:09:54.058Z" },
+]
+
+[[package]]
+name = "dolomite-matrix"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "delayedarray" },
+ { name = "dolomite-base" },
+ { name = "h5py" },
+ { name = "hdf5array" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/3c/9ab414374be419bf8195592f5f80c09383625825714bcd87d357f0df2f2a/dolomite_matrix-0.4.1.tar.gz", hash = "sha256:1ab911294d78cd97014e00a59fe49f542a758f32ca33e4807ab03116c2e1e32d", size = 40893, upload-time = "2025-03-10T05:28:07.125Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e1/58/e1042733a27d77cfd537a4dfaa9e9e6593f40a5c0143d71ea9e26f365411/dolomite_matrix-0.4.1-py3-none-any.whl", hash = "sha256:bc8fccf7a6922bb1a3bd50c7931304ecb2dc4acbb3f9c4a9c4647f67f5a9959d", size = 22811, upload-time = "2025-03-10T05:28:05.775Z" },
+]
+
+[[package]]
+name = "dolomite-ranges"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "dolomite-base" },
+ { name = "genomicranges" },
+ { name = "h5py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9c/89/336bed09888fd3dee9f42d67fa335eeb1a380b371ce403f8062efa806ea7/dolomite_ranges-0.2.1.tar.gz", hash = "sha256:73bbb66b13dddd82cefeab4d6196477b79bebef7fa0e0ec7ef1e1559e9e297e2", size = 23625, upload-time = "2025-02-01T00:05:39.039Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/44/35/3b926ad4cc38912f18c136fa3036adc637499c6e93078c766be09c3e4607/dolomite_ranges-0.2.1-py3-none-any.whl", hash = "sha256:e5c386731699908bccd59119862441cd64357ada81d16df7fecf04b1b7d97330", size = 9441, upload-time = "2025-02-01T00:05:37.837Z" },
+]
+
+[[package]]
+name = "dolomite-sce"
+version = "0.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "dolomite-base" },
+ { name = "dolomite-se" },
+ { name = "singlecellexperiment" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/e8/97bb932fd43c87902ccbee6b265d426b1c475197b9f0d3c5d6d48782e040/dolomite_sce-0.3.0.tar.gz", hash = "sha256:c0ea6bac61def80be194ad79c73f1fd2f6d0dc6dc732880ca5508550be7b74a8", size = 22713, upload-time = "2024-12-24T20:04:37.048Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ac/7f/88e56d9aa30b1528d445db17b4571f7df29378522caa4e65a4c66d0082f6/dolomite_sce-0.3.0-py3-none-any.whl", hash = "sha256:e2ef604454546f71c7a3440b5034bf947800fa472e1c4b4b42e540e03c0c93cb", size = 6202, upload-time = "2024-12-24T20:04:36.129Z" },
+]
+
+[[package]]
+name = "dolomite-se"
+version = "0.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "dolomite-base" },
+ { name = "dolomite-matrix" },
+ { name = "dolomite-ranges" },
+ { name = "summarizedexperiment" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b7/b3/db182abd2c0781bad72c162f8fd24e0b4017517dab1693afa51cd97e74ee/dolomite_se-0.3.0.tar.gz", hash = "sha256:33a89c9c57522c29010a13e8c7ce50e6db4910c1278865528b51cdeb375b5d3e", size = 24060, upload-time = "2024-12-24T19:59:13.652Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/ba/56c33f4a5ede0a58b44981ff73ea442c59a1688b84dd6c30c1f008b3a1aa/dolomite_se-0.3.0-py3-none-any.whl", hash = "sha256:e0aef8d4c95d5727b06fa5976b6be12575eb106cf981e696650e8cfd006f5324", size = 8802, upload-time = "2024-12-24T19:59:12.616Z" },
+]
+
+[[package]]
+name = "donfig"
+version = "0.8.1.post1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pyyaml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/25/71/80cc718ff6d7abfbabacb1f57aaa42e9c1552bfdd01e64ddd704e4a03638/donfig-0.8.1.post1.tar.gz", hash = "sha256:3bef3413a4c1c601b585e8d297256d0c1470ea012afa6e8461dc28bfb7c23f52", size = 19506, upload-time = "2024-05-23T14:14:31.513Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/d5/c5db1ea3394c6e1732fb3286b3bd878b59507a8f77d32a2cebda7d7b7cd4/donfig-0.8.1.post1-py3-none-any.whl", hash = "sha256:2a3175ce74a06109ff9307d90a230f81215cbac9a751f4d1c6194644b8204f9d", size = 21592, upload-time = "2024-05-23T14:13:55.283Z" },
+]
+
+[[package]]
+name = "et-xmlfile"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d3/38/af70d7ab1ae9d4da450eeec1fa3918940a5fafb9055e934af8d6eb0c2313/et_xmlfile-2.0.0.tar.gz", hash = "sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54", size = 17234, upload-time = "2024-10-25T17:25:40.039Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/8b/5fe2cc11fee489817272089c4203e679c63b570a5aaeb18d852ae3cbba6a/et_xmlfile-2.0.0-py3-none-any.whl", hash = "sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa", size = 18059, upload-time = "2024-10-25T17:25:39.051Z" },
+]
+
+[[package]]
+name = "executing"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" },
+]
+
+[[package]]
+name = "face"
+version = "24.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "boltons" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ac/79/2484075a8549cd64beae697a8f664dee69a5ccf3a7439ee40c8f93c1978a/face-24.0.0.tar.gz", hash = "sha256:611e29a01ac5970f0077f9c577e746d48c082588b411b33a0dd55c4d872949f6", size = 62732, upload-time = "2024-11-02T05:24:26.095Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/47/21867c2e5fd006c8d36a560df9e32cb4f1f566b20c5dd41f5f8a2124f7de/face-24.0.0-py3-none-any.whl", hash = "sha256:0e2c17b426fa4639a4e77d1de9580f74a98f4869ba4c7c8c175b810611622cd3", size = 54742, upload-time = "2024-11-02T05:24:24.939Z" },
+]
+
+[[package]]
+name = "fastjsonschema"
+version = "2.21.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" },
+]
+
+[[package]]
+name = "filelock"
+version = "3.20.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/58/46/0028a82567109b5ef6e4d2a1f04a583fb513e6cf9527fcdd09afd817deeb/filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4", size = 18922, upload-time = "2025-10-08T18:03:50.056Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/91/7216b27286936c16f5b4d0c530087e4a54eead683e6b0b73dd0c64844af6/filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2", size = 16054, upload-time = "2025-10-08T18:03:48.35Z" },
+]
+
+[[package]]
+name = "flit"
+version = "3.12.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils" },
+ { name = "flit-core" },
+ { name = "pip" },
+ { name = "requests" },
+ { name = "tomli-w" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/9c/0608c91a5b6c013c63548515ae31cff6399cd9ce891bd9daee8c103da09b/flit-3.12.0.tar.gz", hash = "sha256:1c80f34dd96992e7758b40423d2809f48f640ca285d0b7821825e50745ec3740", size = 155038, upload-time = "2025-03-25T08:03:22.505Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f5/82/ce1d3bb380b227e26e517655d1de7b32a72aad61fa21ff9bd91a2e2db6ee/flit-3.12.0-py3-none-any.whl", hash = "sha256:2b4e7171dc22881fa6adc2dbf083e5ecc72520be3cd7587d2a803da94d6ef431", size = 50657, upload-time = "2025-03-25T08:03:19.031Z" },
+]
+
+[[package]]
+name = "flit-core"
+version = "3.12.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/69/59/b6fc2188dfc7ea4f936cd12b49d707f66a1cb7a1d2c16172963534db741b/flit_core-3.12.0.tar.gz", hash = "sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2", size = 53690, upload-time = "2025-03-25T08:03:23.969Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f2/65/b6ba90634c984a4fcc02c7e3afe523fef500c4980fec67cc27536ee50acf/flit_core-3.12.0-py3-none-any.whl", hash = "sha256:e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c", size = 45594, upload-time = "2025-03-25T08:03:20.772Z" },
+]
+
+[[package]]
+name = "flox"
+version = "0.10.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "numpy-groupies" },
+ { name = "packaging" },
+ { name = "pandas" },
+ { name = "scipy" },
+ { name = "toolz" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/eb/8f/87460e012f3ec7d70afee287a47c163a3ba6f149e909f6c89ef9360705cb/flox-0.10.7.tar.gz", hash = "sha256:d5e208ddb248f62987938070dc755911d400d3cc53957692714df1a1a77823f4", size = 919726, upload-time = "2025-09-25T14:45:47.842Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/ee/cd1f7e29979d0d71c8fabf5090a759b8d338bddf96aab286e39c7a7b2c0a/flox-0.10.7-py3-none-any.whl", hash = "sha256:645b58ffa64c6a0c4f855d6c2f9b1f377471e347aa67486086ad4e16e475d6da", size = 79259, upload-time = "2025-09-25T14:45:46.679Z" },
+]
+
+[[package]]
+name = "fonttools"
+version = "4.60.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4b/42/97a13e47a1e51a5a7142475bbcf5107fe3a68fc34aef331c897d5fb98ad0/fonttools-4.60.1.tar.gz", hash = "sha256:ef00af0439ebfee806b25f24c8f92109157ff3fac5731dc7867957812e87b8d9", size = 3559823, upload-time = "2025-09-29T21:13:27.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ea/85/639aa9bface1537e0fb0f643690672dde0695a5bbbc90736bc571b0b1941/fonttools-4.60.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7b4c32e232a71f63a5d00259ca3d88345ce2a43295bb049d21061f338124246f", size = 2831872, upload-time = "2025-09-29T21:11:20.329Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/47/3c63158459c95093be9618794acb1067b3f4d30dcc5c3e8114b70e67a092/fonttools-4.60.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3630e86c484263eaac71d117085d509cbcf7b18f677906824e4bace598fb70d2", size = 2356990, upload-time = "2025-09-29T21:11:22.754Z" },
+ { url = "https://files.pythonhosted.org/packages/94/dd/1934b537c86fcf99f9761823f1fc37a98fbd54568e8e613f29a90fed95a9/fonttools-4.60.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5c1015318e4fec75dd4943ad5f6a206d9727adf97410d58b7e32ab644a807914", size = 5042189, upload-time = "2025-09-29T21:11:25.061Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/d2/9f4e4c4374dd1daa8367784e1bd910f18ba886db1d6b825b12edf6db3edc/fonttools-4.60.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e6c58beb17380f7c2ea181ea11e7db8c0ceb474c9dd45f48e71e2cb577d146a1", size = 4978683, upload-time = "2025-09-29T21:11:27.693Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/c4/0fb2dfd1ecbe9a07954cc13414713ed1eab17b1c0214ef07fc93df234a47/fonttools-4.60.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec3681a0cb34c255d76dd9d865a55f260164adb9fa02628415cdc2d43ee2c05d", size = 5021372, upload-time = "2025-09-29T21:11:30.257Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/d5/495fc7ae2fab20223cc87179a8f50f40f9a6f821f271ba8301ae12bb580f/fonttools-4.60.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4b5c37a5f40e4d733d3bbaaef082149bee5a5ea3156a785ff64d949bd1353fa", size = 5132562, upload-time = "2025-09-29T21:11:32.737Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/fa/021dab618526323c744e0206b3f5c8596a2e7ae9aa38db5948a131123e83/fonttools-4.60.1-cp311-cp311-win32.whl", hash = "sha256:398447f3d8c0c786cbf1209711e79080a40761eb44b27cdafffb48f52bcec258", size = 2230288, upload-time = "2025-09-29T21:11:35.015Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/78/0e1a6d22b427579ea5c8273e1c07def2f325b977faaf60bb7ddc01456cb1/fonttools-4.60.1-cp311-cp311-win_amd64.whl", hash = "sha256:d066ea419f719ed87bc2c99a4a4bfd77c2e5949cb724588b9dd58f3fd90b92bf", size = 2278184, upload-time = "2025-09-29T21:11:37.434Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/f7/a10b101b7a6f8836a5adb47f2791f2075d044a6ca123f35985c42edc82d8/fonttools-4.60.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7b0c6d57ab00dae9529f3faf187f2254ea0aa1e04215cf2f1a8ec277c96661bc", size = 2832953, upload-time = "2025-09-29T21:11:39.616Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/fe/7bd094b59c926acf2304d2151354ddbeb74b94812f3dc943c231db09cb41/fonttools-4.60.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:839565cbf14645952d933853e8ade66a463684ed6ed6c9345d0faf1f0e868877", size = 2352706, upload-time = "2025-09-29T21:11:41.826Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/ca/4bb48a26ed95a1e7eba175535fe5805887682140ee0a0d10a88e1de84208/fonttools-4.60.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8177ec9676ea6e1793c8a084a90b65a9f778771998eb919d05db6d4b1c0b114c", size = 4923716, upload-time = "2025-09-29T21:11:43.893Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/9f/2cb82999f686c1d1ddf06f6ae1a9117a880adbec113611cc9d22b2fdd465/fonttools-4.60.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:996a4d1834524adbb423385d5a629b868ef9d774670856c63c9a0408a3063401", size = 4968175, upload-time = "2025-09-29T21:11:46.439Z" },
+ { url = "https://files.pythonhosted.org/packages/18/79/be569699e37d166b78e6218f2cde8c550204f2505038cdd83b42edc469b9/fonttools-4.60.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a46b2f450bc79e06ef3b6394f0c68660529ed51692606ad7f953fc2e448bc903", size = 4911031, upload-time = "2025-09-29T21:11:48.977Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/9f/89411cc116effaec5260ad519162f64f9c150e5522a27cbb05eb62d0c05b/fonttools-4.60.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6ec722ee589e89a89f5b7574f5c45604030aa6ae24cb2c751e2707193b466fed", size = 5062966, upload-time = "2025-09-29T21:11:54.344Z" },
+ { url = "https://files.pythonhosted.org/packages/62/a1/f888221934b5731d46cb9991c7a71f30cb1f97c0ef5fcf37f8da8fce6c8e/fonttools-4.60.1-cp312-cp312-win32.whl", hash = "sha256:b2cf105cee600d2de04ca3cfa1f74f1127f8455b71dbad02b9da6ec266e116d6", size = 2218750, upload-time = "2025-09-29T21:11:56.601Z" },
+ { url = "https://files.pythonhosted.org/packages/88/8f/a55b5550cd33cd1028601df41acd057d4be20efa5c958f417b0c0613924d/fonttools-4.60.1-cp312-cp312-win_amd64.whl", hash = "sha256:992775c9fbe2cf794786fa0ffca7f09f564ba3499b8fe9f2f80bd7197db60383", size = 2267026, upload-time = "2025-09-29T21:11:58.852Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/5b/cdd2c612277b7ac7ec8c0c9bc41812c43dc7b2d5f2b0897e15fdf5a1f915/fonttools-4.60.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f68576bb4bbf6060c7ab047b1574a1ebe5c50a17de62830079967b211059ebb", size = 2825777, upload-time = "2025-09-29T21:12:01.22Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/8a/de9cc0540f542963ba5e8f3a1f6ad48fa211badc3177783b9d5cadf79b5d/fonttools-4.60.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:eedacb5c5d22b7097482fa834bda0dafa3d914a4e829ec83cdea2a01f8c813c4", size = 2348080, upload-time = "2025-09-29T21:12:03.785Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/8b/371ab3cec97ee3fe1126b3406b7abd60c8fec8975fd79a3c75cdea0c3d83/fonttools-4.60.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b33a7884fabd72bdf5f910d0cf46be50dce86a0362a65cfc746a4168c67eb96c", size = 4903082, upload-time = "2025-09-29T21:12:06.382Z" },
+ { url = "https://files.pythonhosted.org/packages/04/05/06b1455e4bc653fcb2117ac3ef5fa3a8a14919b93c60742d04440605d058/fonttools-4.60.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2409d5fb7b55fd70f715e6d34e7a6e4f7511b8ad29a49d6df225ee76da76dd77", size = 4960125, upload-time = "2025-09-29T21:12:09.314Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/37/f3b840fcb2666f6cb97038793606bdd83488dca2d0b0fc542ccc20afa668/fonttools-4.60.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8651e0d4b3bdeda6602b85fdc2abbefc1b41e573ecb37b6779c4ca50753a199", size = 4901454, upload-time = "2025-09-29T21:12:11.931Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/9e/eb76f77e82f8d4a46420aadff12cec6237751b0fb9ef1de373186dcffb5f/fonttools-4.60.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:145daa14bf24824b677b9357c5e44fd8895c2a8f53596e1b9ea3496081dc692c", size = 5044495, upload-time = "2025-09-29T21:12:15.241Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/b3/cede8f8235d42ff7ae891bae8d619d02c8ac9fd0cfc450c5927a6200c70d/fonttools-4.60.1-cp313-cp313-win32.whl", hash = "sha256:2299df884c11162617a66b7c316957d74a18e3758c0274762d2cc87df7bc0272", size = 2217028, upload-time = "2025-09-29T21:12:17.96Z" },
+ { url = "https://files.pythonhosted.org/packages/75/4d/b022c1577807ce8b31ffe055306ec13a866f2337ecee96e75b24b9b753ea/fonttools-4.60.1-cp313-cp313-win_amd64.whl", hash = "sha256:a3db56f153bd4c5c2b619ab02c5db5192e222150ce5a1bc10f16164714bc39ac", size = 2266200, upload-time = "2025-09-29T21:12:20.14Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/83/752ca11c1aa9a899b793a130f2e466b79ea0cf7279c8d79c178fc954a07b/fonttools-4.60.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:a884aef09d45ba1206712c7dbda5829562d3fea7726935d3289d343232ecb0d3", size = 2822830, upload-time = "2025-09-29T21:12:24.406Z" },
+ { url = "https://files.pythonhosted.org/packages/57/17/bbeab391100331950a96ce55cfbbff27d781c1b85ebafb4167eae50d9fe3/fonttools-4.60.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8a44788d9d91df72d1a5eac49b31aeb887a5f4aab761b4cffc4196c74907ea85", size = 2345524, upload-time = "2025-09-29T21:12:26.819Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/2e/d4831caa96d85a84dd0da1d9f90d81cec081f551e0ea216df684092c6c97/fonttools-4.60.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e852d9dda9f93ad3651ae1e3bb770eac544ec93c3807888798eccddf84596537", size = 4843490, upload-time = "2025-09-29T21:12:29.123Z" },
+ { url = "https://files.pythonhosted.org/packages/49/13/5e2ea7c7a101b6fc3941be65307ef8df92cbbfa6ec4804032baf1893b434/fonttools-4.60.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:154cb6ee417e417bf5f7c42fe25858c9140c26f647c7347c06f0cc2d47eff003", size = 4944184, upload-time = "2025-09-29T21:12:31.414Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/2b/cf9603551c525b73fc47c52ee0b82a891579a93d9651ed694e4e2cd08bb8/fonttools-4.60.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5664fd1a9ea7f244487ac8f10340c4e37664675e8667d6fee420766e0fb3cf08", size = 4890218, upload-time = "2025-09-29T21:12:33.936Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/2f/933d2352422e25f2376aae74f79eaa882a50fb3bfef3c0d4f50501267101/fonttools-4.60.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:583b7f8e3c49486e4d489ad1deacfb8d5be54a8ef34d6df824f6a171f8511d99", size = 4999324, upload-time = "2025-09-29T21:12:36.637Z" },
+ { url = "https://files.pythonhosted.org/packages/38/99/234594c0391221f66216bc2c886923513b3399a148defaccf81dc3be6560/fonttools-4.60.1-cp314-cp314-win32.whl", hash = "sha256:66929e2ea2810c6533a5184f938502cfdaea4bc3efb7130d8cc02e1c1b4108d6", size = 2220861, upload-time = "2025-09-29T21:12:39.108Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/1d/edb5b23726dde50fc4068e1493e4fc7658eeefcaf75d4c5ffce067d07ae5/fonttools-4.60.1-cp314-cp314-win_amd64.whl", hash = "sha256:f3d5be054c461d6a2268831f04091dc82753176f6ea06dc6047a5e168265a987", size = 2270934, upload-time = "2025-09-29T21:12:41.339Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/da/1392aaa2170adc7071fe7f9cfd181a5684a7afcde605aebddf1fb4d76df5/fonttools-4.60.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b6379e7546ba4ae4b18f8ae2b9bc5960936007a1c0e30b342f662577e8bc3299", size = 2894340, upload-time = "2025-09-29T21:12:43.774Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/a7/3b9f16e010d536ce567058b931a20b590d8f3177b2eda09edd92e392375d/fonttools-4.60.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9d0ced62b59e0430b3690dbc5373df1c2aa7585e9a8ce38eff87f0fd993c5b01", size = 2375073, upload-time = "2025-09-29T21:12:46.437Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/b5/e9bcf51980f98e59bb5bb7c382a63c6f6cac0eec5f67de6d8f2322382065/fonttools-4.60.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:875cb7764708b3132637f6c5fb385b16eeba0f7ac9fa45a69d35e09b47045801", size = 4849758, upload-time = "2025-09-29T21:12:48.694Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/dc/1d2cf7d1cba82264b2f8385db3f5960e3d8ce756b4dc65b700d2c496f7e9/fonttools-4.60.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a184b2ea57b13680ab6d5fbde99ccef152c95c06746cb7718c583abd8f945ccc", size = 5085598, upload-time = "2025-09-29T21:12:51.081Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/4d/279e28ba87fb20e0c69baf72b60bbf1c4d873af1476806a7b5f2b7fac1ff/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:026290e4ec76583881763fac284aca67365e0be9f13a7fb137257096114cb3bc", size = 4957603, upload-time = "2025-09-29T21:12:53.423Z" },
+ { url = "https://files.pythonhosted.org/packages/78/d4/ff19976305e0c05aa3340c805475abb00224c954d3c65e82c0a69633d55d/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f0e8817c7d1a0c2eedebf57ef9a9896f3ea23324769a9a2061a80fe8852705ed", size = 4974184, upload-time = "2025-09-29T21:12:55.962Z" },
+ { url = "https://files.pythonhosted.org/packages/63/22/8553ff6166f5cd21cfaa115aaacaa0dc73b91c079a8cfd54a482cbc0f4f5/fonttools-4.60.1-cp314-cp314t-win32.whl", hash = "sha256:1410155d0e764a4615774e5c2c6fc516259fe3eca5882f034eb9bfdbee056259", size = 2282241, upload-time = "2025-09-29T21:12:58.179Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/cb/fa7b4d148e11d5a72761a22e595344133e83a9507a4c231df972e657579b/fonttools-4.60.1-cp314-cp314t-win_amd64.whl", hash = "sha256:022beaea4b73a70295b688f817ddc24ed3e3418b5036ffcd5658141184ef0d0c", size = 2345760, upload-time = "2025-09-29T21:13:00.375Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/93/0dd45cd283c32dea1545151d8c3637b4b8c53cdb3a625aeb2885b184d74d/fonttools-4.60.1-py3-none-any.whl", hash = "sha256:906306ac7afe2156fcf0042173d6ebbb05416af70f6b370967b47f8f00103bbb", size = 1143175, upload-time = "2025-09-29T21:13:24.134Z" },
+]
+
+[[package]]
+name = "formulaic"
+version = "1.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "interface-meta" },
+ { name = "narwhals" },
+ { name = "numpy" },
+ { name = "pandas" },
+ { name = "scipy" },
+ { name = "typing-extensions" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6a/8b/8038d2af289a5cc194fa0a255fe964a1a04e0e6ca4426aed8841a4b571e6/formulaic-1.2.1.tar.gz", hash = "sha256:dc79476baa2d811b35798893eb2f2c1e51edee8d7a9c1429b400e56f4e0beccc", size = 655266, upload-time = "2025-09-21T05:27:31.488Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1a/9d/c2c8b51b32f829a16fe042db30ad1dcef7947bf1dcf77c2cfd7b6f37b83a/formulaic-1.2.1-py3-none-any.whl", hash = "sha256:661d6d2467aa961b9afb3a1e2a187494239793c63eb729e422d1307afa98b43b", size = 117290, upload-time = "2025-09-21T05:27:30.025Z" },
+]
+
+[[package]]
+name = "formulaic-contrasts"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "formulaic" },
+ { name = "pandas" },
+ { name = "session-info" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/28/e6/4850976c248746062cfaa08628b3ec5ba3dfcab3d6ecd0d3886c36c04681/formulaic_contrasts-1.0.0.tar.gz", hash = "sha256:0a575a810bf1fba28938259d86a3ae2ae90cb9826fca84b9409085170862f701", size = 123794, upload-time = "2024-12-15T13:44:06.844Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/7b/639411281256c84e8111bf6cb9676c44dbf5d8ad4cb042f4359b7e7b9e74/formulaic_contrasts-1.0.0-py3-none-any.whl", hash = "sha256:e1220d315cf446bdec9385375ca4da43896e4ba68114ebea1b2a37efa5d097f5", size = 10054, upload-time = "2024-12-15T13:44:05.454Z" },
+]
+
+[[package]]
+name = "furo"
+version = "2025.9.25"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "accessible-pygments" },
+ { name = "beautifulsoup4" },
+ { name = "pygments" },
+ { name = "sphinx" },
+ { name = "sphinx-basic-ng" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4e/29/ff3b83a1ffce74676043ab3e7540d398e0b1ce7660917a00d7c4958b93da/furo-2025.9.25.tar.gz", hash = "sha256:3eac05582768fdbbc2bdfa1cdbcdd5d33cfc8b4bd2051729ff4e026a1d7e0a98", size = 1662007, upload-time = "2025-09-25T21:37:19.221Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/69/964b55f389c289e16ba2a5dfe587c3c462aac09e24123f09ddf703889584/furo-2025.9.25-py3-none-any.whl", hash = "sha256:2937f68e823b8e37b410c972c371bc2b1d88026709534927158e0cb3fac95afe", size = 340409, upload-time = "2025-09-25T21:37:17.244Z" },
+]
+
+[[package]]
+name = "future"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/b2/4140c69c6a66432916b26158687e821ba631a4c9273c474343badf84d3ba/future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05", size = 1228490, upload-time = "2024-02-21T11:52:38.461Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216", size = 491326, upload-time = "2024-02-21T11:52:35.956Z" },
+]
+
+[[package]]
+name = "genomicranges"
+version = "0.7.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "biocutils" },
+ { name = "iranges" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/eb/90/8de2c972e43340e87bf61471cce969f5a665dfade5966a7b4d5d8f923436/genomicranges-0.7.3.tar.gz", hash = "sha256:5e0ac145408ad6a637960cf750c8f7d1598ffa1f3f1f99a3b9843a6568ec7e32", size = 77888, upload-time = "2025-09-17T05:23:47.786Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d8/c7/fd34612377776719fc5a7e468b0e3b88c98e1253d079efadc125994b6956/genomicranges-0.7.3-py3-none-any.whl", hash = "sha256:f263eb3187fbc7361438147b18b95d982208cd563947d3fa7e368703254c4917", size = 41434, upload-time = "2025-09-17T05:23:46.227Z" },
+]
+
+[[package]]
+name = "glom"
+version = "24.11.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "boltons" },
+ { name = "face" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/05/89/b57cfbc448189426f2e01b244fbe9226b059ef5423a9d49c1d335a1f1026/glom-24.11.0.tar.gz", hash = "sha256:4325f96759a912044af7b6c6bd0dba44ad8c1eb6038aab057329661d2021bb27", size = 195120, upload-time = "2024-11-02T23:17:50.405Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9c/a2/75fd80784ec33da8d39cf885e8811a4fbc045a90db5e336b8e345e66dbb2/glom-24.11.0-py3-none-any.whl", hash = "sha256:991db7fcb4bfa9687010aa519b7b541bbe21111e70e58fdd2d7e34bbaa2c1fbd", size = 102690, upload-time = "2024-11-02T23:17:46.468Z" },
+]
+
+[[package]]
+name = "h5py"
+version = "3.15.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4d/6a/0d79de0b025aa85dc8864de8e97659c94cf3d23148394a954dc5ca52f8c8/h5py-3.15.1.tar.gz", hash = "sha256:c86e3ed45c4473564de55aa83b6fc9e5ead86578773dfbd93047380042e26b69", size = 426236, upload-time = "2025-10-16T10:35:27.404Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/41/fd/8349b48b15b47768042cff06ad6e1c229f0a4bd89225bf6b6894fea27e6d/h5py-3.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5aaa330bcbf2830150c50897ea5dcbed30b5b6d56897289846ac5b9e529ec243", size = 3434135, upload-time = "2025-10-16T10:33:47.954Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/b0/1c628e26a0b95858f54aba17e1599e7f6cd241727596cc2580b72cb0a9bf/h5py-3.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c970fb80001fffabb0109eaf95116c8e7c0d3ca2de854e0901e8a04c1f098509", size = 2870958, upload-time = "2025-10-16T10:33:50.907Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/e3/c255cafc9b85e6ea04e2ad1bba1416baa1d7f57fc98a214be1144087690c/h5py-3.15.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:80e5bb5b9508d5d9da09f81fd00abbb3f85da8143e56b1585d59bc8ceb1dba8b", size = 4504770, upload-time = "2025-10-16T10:33:54.357Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/23/4ab1108e87851ccc69694b03b817d92e142966a6c4abd99e17db77f2c066/h5py-3.15.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b849ba619a066196169763c33f9f0f02e381156d61c03e000bb0100f9950faf", size = 4700329, upload-time = "2025-10-16T10:33:57.616Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/e4/932a3a8516e4e475b90969bf250b1924dbe3612a02b897e426613aed68f4/h5py-3.15.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e7f6c841efd4e6e5b7e82222eaf90819927b6d256ab0f3aca29675601f654f3c", size = 4152456, upload-time = "2025-10-16T10:34:00.843Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/0a/f74d589883b13737021b2049ac796328f188dbb60c2ed35b101f5b95a3fc/h5py-3.15.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ca8a3a22458956ee7b40d8e39c9a9dc01f82933e4c030c964f8b875592f4d831", size = 4617295, upload-time = "2025-10-16T10:34:04.154Z" },
+ { url = "https://files.pythonhosted.org/packages/23/95/499b4e56452ef8b6c95a271af0dde08dac4ddb70515a75f346d4f400579b/h5py-3.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:550e51131376889656feec4aff2170efc054a7fe79eb1da3bb92e1625d1ac878", size = 2882129, upload-time = "2025-10-16T10:34:06.886Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/bb/cfcc70b8a42222ba3ad4478bcef1791181ea908e2adbd7d53c66395edad5/h5py-3.15.1-cp311-cp311-win_arm64.whl", hash = "sha256:b39239947cb36a819147fc19e86b618dcb0953d1cd969f5ed71fc0de60392427", size = 2477121, upload-time = "2025-10-16T10:34:09.579Z" },
+ { url = "https://files.pythonhosted.org/packages/62/b8/c0d9aa013ecfa8b7057946c080c0c07f6fa41e231d2e9bd306a2f8110bdc/h5py-3.15.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:316dd0f119734f324ca7ed10b5627a2de4ea42cc4dfbcedbee026aaa361c238c", size = 3399089, upload-time = "2025-10-16T10:34:12.135Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/5e/3c6f6e0430813c7aefe784d00c6711166f46225f5d229546eb53032c3707/h5py-3.15.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51469890e58e85d5242e43aab29f5e9c7e526b951caab354f3ded4ac88e7b76", size = 2847803, upload-time = "2025-10-16T10:34:14.564Z" },
+ { url = "https://files.pythonhosted.org/packages/00/69/ba36273b888a4a48d78f9268d2aee05787e4438557450a8442946ab8f3ec/h5py-3.15.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a33bfd5dfcea037196f7778534b1ff7e36a7f40a89e648c8f2967292eb6898e", size = 4914884, upload-time = "2025-10-16T10:34:18.452Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/30/d1c94066343a98bb2cea40120873193a4fed68c4ad7f8935c11caf74c681/h5py-3.15.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:25c8843fec43b2cc368aa15afa1cdf83fc5e17b1c4e10cd3771ef6c39b72e5ce", size = 5109965, upload-time = "2025-10-16T10:34:21.853Z" },
+ { url = "https://files.pythonhosted.org/packages/81/3d/d28172116eafc3bc9f5991b3cb3fd2c8a95f5984f50880adfdf991de9087/h5py-3.15.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a308fd8681a864c04423c0324527237a0484e2611e3441f8089fd00ed56a8171", size = 4561870, upload-time = "2025-10-16T10:34:26.69Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/83/393a7226024238b0f51965a7156004eaae1fcf84aa4bfecf7e582676271b/h5py-3.15.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f4a016df3f4a8a14d573b496e4d1964deb380e26031fc85fb40e417e9131888a", size = 5037161, upload-time = "2025-10-16T10:34:30.383Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/51/329e7436bf87ca6b0fe06dd0a3795c34bebe4ed8d6c44450a20565d57832/h5py-3.15.1-cp312-cp312-win_amd64.whl", hash = "sha256:59b25cf02411bf12e14f803fef0b80886444c7fe21a5ad17c6a28d3f08098a1e", size = 2874165, upload-time = "2025-10-16T10:34:33.461Z" },
+ { url = "https://files.pythonhosted.org/packages/09/a8/2d02b10a66747c54446e932171dd89b8b4126c0111b440e6bc05a7c852ec/h5py-3.15.1-cp312-cp312-win_arm64.whl", hash = "sha256:61d5a58a9851e01ee61c932bbbb1c98fe20aba0a5674776600fb9a361c0aa652", size = 2458214, upload-time = "2025-10-16T10:34:35.733Z" },
+ { url = "https://files.pythonhosted.org/packages/88/b3/40207e0192415cbff7ea1d37b9f24b33f6d38a5a2f5d18a678de78f967ae/h5py-3.15.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8440fd8bee9500c235ecb7aa1917a0389a2adb80c209fa1cc485bd70e0d94a5", size = 3376511, upload-time = "2025-10-16T10:34:38.596Z" },
+ { url = "https://files.pythonhosted.org/packages/31/96/ba99a003c763998035b0de4c299598125df5fc6c9ccf834f152ddd60e0fb/h5py-3.15.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ab2219dbc6fcdb6932f76b548e2b16f34a1f52b7666e998157a4dfc02e2c4123", size = 2826143, upload-time = "2025-10-16T10:34:41.342Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/c2/fc6375d07ea3962df7afad7d863fe4bde18bb88530678c20d4c90c18de1d/h5py-3.15.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8cb02c3a96255149ed3ac811eeea25b655d959c6dd5ce702c9a95ff11859eb5", size = 4908316, upload-time = "2025-10-16T10:34:44.619Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/69/4402ea66272dacc10b298cca18ed73e1c0791ff2ae9ed218d3859f9698ac/h5py-3.15.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:121b2b7a4c1915d63737483b7bff14ef253020f617c2fb2811f67a4bed9ac5e8", size = 5103710, upload-time = "2025-10-16T10:34:48.639Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/f6/11f1e2432d57d71322c02a97a5567829a75f223a8c821764a0e71a65cde8/h5py-3.15.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59b0d63b318bf3cc06687def2b45afd75926bbc006f7b8cd2b1a231299fc8599", size = 4556042, upload-time = "2025-10-16T10:34:51.841Z" },
+ { url = "https://files.pythonhosted.org/packages/18/88/3eda3ef16bfe7a7dbc3d8d6836bbaa7986feb5ff091395e140dc13927bcc/h5py-3.15.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e02fe77a03f652500d8bff288cbf3675f742fc0411f5a628fa37116507dc7cc0", size = 5030639, upload-time = "2025-10-16T10:34:55.257Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/ea/fbb258a98863f99befb10ed727152b4ae659f322e1d9c0576f8a62754e81/h5py-3.15.1-cp313-cp313-win_amd64.whl", hash = "sha256:dea78b092fd80a083563ed79a3171258d4a4d307492e7cf8b2313d464c82ba52", size = 2864363, upload-time = "2025-10-16T10:34:58.099Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/c9/35021cc9cd2b2915a7da3026e3d77a05bed1144a414ff840953b33937fb9/h5py-3.15.1-cp313-cp313-win_arm64.whl", hash = "sha256:c256254a8a81e2bddc0d376e23e2a6d2dc8a1e8a2261835ed8c1281a0744cd97", size = 2449570, upload-time = "2025-10-16T10:35:00.473Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/2c/926eba1514e4d2e47d0e9eb16c784e717d8b066398ccfca9b283917b1bfb/h5py-3.15.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:5f4fb0567eb8517c3ecd6b3c02c4f4e9da220c8932604960fd04e24ee1254763", size = 3380368, upload-time = "2025-10-16T10:35:03.117Z" },
+ { url = "https://files.pythonhosted.org/packages/65/4b/d715ed454d3baa5f6ae1d30b7eca4c7a1c1084f6a2edead9e801a1541d62/h5py-3.15.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:954e480433e82d3872503104f9b285d369048c3a788b2b1a00e53d1c47c98dd2", size = 2833793, upload-time = "2025-10-16T10:35:05.623Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/d4/ef386c28e4579314610a8bffebbee3b69295b0237bc967340b7c653c6c10/h5py-3.15.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fd125c131889ebbef0849f4a0e29cf363b48aba42f228d08b4079913b576bb3a", size = 4903199, upload-time = "2025-10-16T10:35:08.972Z" },
+ { url = "https://files.pythonhosted.org/packages/33/5d/65c619e195e0b5e54ea5a95c1bb600c8ff8715e0d09676e4cce56d89f492/h5py-3.15.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28a20e1a4082a479b3d7db2169f3a5034af010b90842e75ebbf2e9e49eb4183e", size = 5097224, upload-time = "2025-10-16T10:35:12.808Z" },
+ { url = "https://files.pythonhosted.org/packages/30/30/5273218400bf2da01609e1292f562c94b461fcb73c7a9e27fdadd43abc0a/h5py-3.15.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa8df5267f545b4946df8ca0d93d23382191018e4cda2deda4c2cedf9a010e13", size = 4551207, upload-time = "2025-10-16T10:35:16.24Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/39/a7ef948ddf4d1c556b0b2b9559534777bccc318543b3f5a1efdf6b556c9c/h5py-3.15.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99d374a21f7321a4c6ab327c4ab23bd925ad69821aeb53a1e75dd809d19f67fa", size = 5025426, upload-time = "2025-10-16T10:35:19.831Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/d8/7368679b8df6925b8415f9dcc9ab1dab01ddc384d2b2c24aac9191bd9ceb/h5py-3.15.1-cp314-cp314-win_amd64.whl", hash = "sha256:9c73d1d7cdb97d5b17ae385153472ce118bed607e43be11e9a9deefaa54e0734", size = 2865704, upload-time = "2025-10-16T10:35:22.658Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/b7/4a806f85d62c20157e62e58e03b27513dc9c55499768530acc4f4c5ce4be/h5py-3.15.1-cp314-cp314-win_arm64.whl", hash = "sha256:a6d8c5a05a76aca9a494b4c53ce8a9c29023b7f64f625c6ce1841e92a362ccdf", size = 2465544, upload-time = "2025-10-16T10:35:25.695Z" },
+]
+
+[[package]]
+name = "hdf5array"
+version = "0.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "delayedarray" },
+ { name = "h5py" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/77/b876b11af019489086aae36b4b0c08870cddb7817a314c591b57db9685cd/hdf5array-0.5.0.tar.gz", hash = "sha256:d0eb7ec71cb33258e29d21f67596b7828cbaea600e9bec60ce8b4db9ba3dda4c", size = 30828, upload-time = "2024-12-20T20:02:48.234Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/70/a7/01397bfe1d9a6e55477ffcdf33982a777d4c3cc9aacc2b6acbb8d2bc5c7a/hdf5array-0.5.0-py3-none-any.whl", hash = "sha256:d4b98796ca5caacc38e3689ccdab5cc51284e5778f9461b37052e6d7a0666ed4", size = 10485, upload-time = "2024-12-20T20:02:47.138Z" },
+]
+
+[[package]]
+name = "identify"
+version = "2.6.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ff/e7/685de97986c916a6d93b3876139e00eef26ad5bbbd61925d670ae8013449/identify-2.6.15.tar.gz", hash = "sha256:e4f4864b96c6557ef2a1e1c951771838f4edc9df3a72ec7118b338801b11c7bf", size = 99311, upload-time = "2025-10-02T17:43:40.631Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0f/1c/e5fd8f973d4f375adb21565739498e2e9a1e54c858a97b9a8ccfdc81da9b/identify-2.6.15-py2.py3-none-any.whl", hash = "sha256:1181ef7608e00704db228516541eb83a88a9f94433a8c80bb9b5bd54b1d81757", size = 99183, upload-time = "2025-10-02T17:43:39.137Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.11"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
+]
+
+[[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, upload-time = "2022-07-01T12:21:05.687Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769, upload-time = "2022-07-01T12:21:02.467Z" },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" },
+]
+
+[[package]]
+name = "interface-meta"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4d/75/10526292b332f3479c246750a96f6ec11a28e297839a9c25583b2aadc119/interface_meta-1.3.0.tar.gz", hash = "sha256:8a4493f8bdb73fb9655dcd5115bc897e207319e36c8835f39c516a2d7e9d79a1", size = 15007, upload-time = "2022-04-04T01:12:46.517Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/02/3f/a6ec28c88e2d8e54d32598a1e0b5208a4baa72a8e7f6e241beab5731eb9d/interface_meta-1.3.0-py3-none-any.whl", hash = "sha256:de35dc5241431886e709e20a14d6597ed07c9f1e8b4bfcffde2190ca5b700ee8", size = 14854, upload-time = "2022-04-04T01:12:45.183Z" },
+]
+
+[[package]]
+name = "invoke"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/de/bd/b461d3424a24c80490313fd77feeb666ca4f6a28c7e72713e3d9095719b4/invoke-2.2.1.tar.gz", hash = "sha256:515bf49b4a48932b79b024590348da22f39c4942dff991ad1fb8b8baea1be707", size = 304762, upload-time = "2025-10-11T00:36:35.172Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/4b/b99e37f88336009971405cbb7630610322ed6fbfa31e1d7ab3fbf3049a2d/invoke-2.2.1-py3-none-any.whl", hash = "sha256:2413bc441b376e5cd3f55bb5d364f973ad8bdd7bf87e53c79de3c11bf3feecc8", size = 160287, upload-time = "2025-10-11T00:36:33.703Z" },
+]
+
+[[package]]
+name = "ipykernel"
+version = "7.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "appnope", marker = "sys_platform == 'darwin'" },
+ { name = "comm" },
+ { name = "debugpy" },
+ { name = "ipython" },
+ { name = "jupyter-client" },
+ { name = "jupyter-core" },
+ { name = "matplotlib-inline" },
+ { name = "nest-asyncio" },
+ { name = "packaging" },
+ { name = "psutil" },
+ { name = "pyzmq" },
+ { name = "tornado" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a8/4c/9f0024c8457286c6bfd5405a15d650ec5ea36f420ef9bbc58b301f66cfc5/ipykernel-7.0.1.tar.gz", hash = "sha256:2d3fd7cdef22071c2abbad78f142b743228c5d59cd470d034871ae0ac359533c", size = 171460, upload-time = "2025-10-14T16:17:07.325Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl", hash = "sha256:87182a8305e28954b6721087dec45b171712610111d494c17bb607befa1c4000", size = 118157, upload-time = "2025-10-14T16:17:05.606Z" },
+]
+
+[[package]]
+name = "ipython"
+version = "9.6.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "decorator" },
+ { name = "ipython-pygments-lexers" },
+ { name = "jedi" },
+ { name = "matplotlib-inline" },
+ { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
+ { name = "prompt-toolkit" },
+ { name = "pygments" },
+ { name = "stack-data" },
+ { name = "traitlets" },
+ { name = "typing-extensions", marker = "python_full_version < '3.12'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2a/34/29b18c62e39ee2f7a6a3bba7efd952729d8aadd45ca17efc34453b717665/ipython-9.6.0.tar.gz", hash = "sha256:5603d6d5d356378be5043e69441a072b50a5b33b4503428c77b04cb8ce7bc731", size = 4396932, upload-time = "2025-09-29T10:55:53.948Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl", hash = "sha256:5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196", size = 616170, upload-time = "2025-09-29T10:55:47.676Z" },
+]
+
+[[package]]
+name = "ipython-pygments-lexers"
+version = "1.1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" },
+]
+
+[[package]]
+name = "iranges"
+version = "0.5.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "biocutils" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/06/2e/b21e89533ebe3387516a7ee77a9b685e763332ad224ae2048897fd9b6d9d/iranges-0.5.4.tar.gz", hash = "sha256:ab74d60d6dc83364fb4f194559cc2079b8bb573397b11e73e77ca7ed4414aa6a", size = 58537, upload-time = "2025-09-16T18:58:21.842Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f0/09/ae4a08c35b430d4daa60a43e004e6e7f06f5ade9b936283dcb613f3eee96/iranges-0.5.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a814a56e43b4c64534b1cf3d2de6b3c054d43cf6a689c334bac105fc695a07d", size = 180604, upload-time = "2025-09-16T18:58:01.466Z" },
+ { url = "https://files.pythonhosted.org/packages/88/a2/62651c31c5c8552ccf984106a7ed14b79f18b6fc9b97618858a0f659bc98/iranges-0.5.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175b95ce177588c6d6ca48546274a2aaac468194b72d20e2b9fe4ee279115be1", size = 156946, upload-time = "2025-09-16T18:58:02.883Z" },
+ { url = "https://files.pythonhosted.org/packages/42/33/019943e7468ff25c2e7f97f38d802e4f751f609f06601f5c09422a017115/iranges-0.5.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcdafd32797e9d7427ca9bcec7d5e8ce9af74adc33d1177d474d6f180f88711f", size = 201342, upload-time = "2025-09-16T18:58:04.347Z" },
+ { url = "https://files.pythonhosted.org/packages/64/c7/3e7c7f5fb6b8371e9275aeb7836394394e6474fe3e69103fa6e2051cde3d/iranges-0.5.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4cb2fcadff77c40ee03a65430d2a94f3de47d498584245d27bf46b525c985df9", size = 1174733, upload-time = "2025-09-16T18:58:05.529Z" },
+ { url = "https://files.pythonhosted.org/packages/44/67/73568a48e3cb20b73dfe7cf23963382c6c4c62d88af144ee6a804f266531/iranges-0.5.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ae388ae57e4501c6cdc5c07fb276532899dcc0009f0a8a7a47b2e40dab491c00", size = 181961, upload-time = "2025-09-16T18:58:06.691Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/ea/ef3f422a99f1f09193ad01f42c2b1c47aa36c20c83481d07e8e0e45135eb/iranges-0.5.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ab6a638d998d8615cfee6f2e7c7ce83d6c4993bbfc1d55b00ab16ba19400e99", size = 157475, upload-time = "2025-09-16T18:58:07.796Z" },
+ { url = "https://files.pythonhosted.org/packages/47/4c/60653f5a32e169b2e4a298e9ba5be5da7180fd4cb73d957ea2e9345296ab/iranges-0.5.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710174e31e891cee35cfd3aeff9613377968c222c55eee797a0f0c46afe2cef7", size = 199707, upload-time = "2025-09-16T18:58:09.299Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/d4/070d56b77b5f024a0325b5ce153a27c22fd351d6e7a357df4ce3e201b87c/iranges-0.5.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a1b912278ab69c5e32096040146544cf21baba8931b4ce3e3b03106a1aa7abe3", size = 1174590, upload-time = "2025-09-16T18:58:10.477Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/39/e56b6e47b66da2ff1afc20f54867de6dc350470b2cb6e5622e40a2efbf09/iranges-0.5.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9665762db3592b6436f29742e540a624e48011d74a897433c853ee0f1d4b2b1e", size = 181958, upload-time = "2025-09-16T18:58:11.979Z" },
+ { url = "https://files.pythonhosted.org/packages/03/80/8f7c8ede6e4fbe23cf4d33fa63734a7b48f59bf7b744fa75e25d364c6949/iranges-0.5.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:383b6dd8fd64e69ceab88c20eb6f6cb82d15fa5b8b126c8940697866349ce71f", size = 157535, upload-time = "2025-09-16T18:58:13.17Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/7a/558bda112c55214bac272ab6e66875e2573389450bcbce1560bee6a1370d/iranges-0.5.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d666b7fef8881f56152ba0e8d5fe162ad033b197754282312b68949305f70389", size = 199587, upload-time = "2025-09-16T18:58:14.283Z" },
+ { url = "https://files.pythonhosted.org/packages/65/22/35fd10219b89f9f307a61eb036b775adc9bde644c9665ca7eee87e0ec313/iranges-0.5.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:06d911e7ec0c7edbe88df49838c3bb7f4e33120d78aa9480ff36da44eb777b1a", size = 1174537, upload-time = "2025-09-16T18:58:15.413Z" },
+]
+
+[[package]]
+name = "jedi"
+version = "0.19.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "parso" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" },
+]
+
+[[package]]
+name = "jinja2"
+version = "3.1.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
+]
+
+[[package]]
+name = "joblib"
+version = "1.5.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/5d/447af5ea094b9e4c4054f82e223ada074c552335b9b4b2d14bd9b35a67c4/joblib-1.5.2.tar.gz", hash = "sha256:3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55", size = 331077, upload-time = "2025-08-27T12:15:46.575Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl", hash = "sha256:4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", size = 308396, upload-time = "2025-08-27T12:15:45.188Z" },
+]
+
+[[package]]
+name = "jsonschema"
+version = "4.25.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "jsonschema-specifications" },
+ { name = "referencing" },
+ { name = "rpds-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" },
+]
+
+[[package]]
+name = "jsonschema-specifications"
+version = "2025.9.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "referencing" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" },
+]
+
+[[package]]
+name = "jupyter-client"
+version = "8.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jupyter-core" },
+ { name = "python-dateutil" },
+ { name = "pyzmq" },
+ { name = "tornado" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" },
+]
+
+[[package]]
+name = "jupyter-core"
+version = "5.9.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "platformdirs" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" },
+]
+
+[[package]]
+name = "jupyterlab-pygments"
+version = "0.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" },
+]
+
+[[package]]
+name = "kiwisolver"
+version = "1.4.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167, upload-time = "2025-08-10T21:25:53.403Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579, upload-time = "2025-08-10T21:25:54.79Z" },
+ { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309, upload-time = "2025-08-10T21:25:55.76Z" },
+ { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596, upload-time = "2025-08-10T21:25:56.861Z" },
+ { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548, upload-time = "2025-08-10T21:25:58.246Z" },
+ { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618, upload-time = "2025-08-10T21:25:59.857Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437, upload-time = "2025-08-10T21:26:01.105Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742, upload-time = "2025-08-10T21:26:02.675Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810, upload-time = "2025-08-10T21:26:04.009Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579, upload-time = "2025-08-10T21:26:05.317Z" },
+ { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071, upload-time = "2025-08-10T21:26:06.686Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840, upload-time = "2025-08-10T21:26:07.94Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159, upload-time = "2025-08-10T21:26:09.048Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" },
+ { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" },
+ { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" },
+ { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" },
+ { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" },
+ { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" },
+ { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" },
+ { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" },
+ { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" },
+ { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" },
+ { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" },
+ { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" },
+ { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" },
+ { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" },
+ { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" },
+ { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" },
+ { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" },
+ { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" },
+ { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806, upload-time = "2025-08-10T21:27:01.537Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605, upload-time = "2025-08-10T21:27:03.335Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925, upload-time = "2025-08-10T21:27:04.339Z" },
+ { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414, upload-time = "2025-08-10T21:27:05.437Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272, upload-time = "2025-08-10T21:27:07.063Z" },
+ { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578, upload-time = "2025-08-10T21:27:08.452Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607, upload-time = "2025-08-10T21:27:10.125Z" },
+ { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150, upload-time = "2025-08-10T21:27:11.484Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979, upload-time = "2025-08-10T21:27:12.917Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456, upload-time = "2025-08-10T21:27:14.353Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621, upload-time = "2025-08-10T21:27:15.808Z" },
+ { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417, upload-time = "2025-08-10T21:27:17.436Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582, upload-time = "2025-08-10T21:27:18.436Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514, upload-time = "2025-08-10T21:27:19.465Z" },
+ { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905, upload-time = "2025-08-10T21:27:20.51Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399, upload-time = "2025-08-10T21:27:21.496Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197, upload-time = "2025-08-10T21:27:22.604Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125, upload-time = "2025-08-10T21:27:24.036Z" },
+ { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612, upload-time = "2025-08-10T21:27:25.773Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990, upload-time = "2025-08-10T21:27:27.089Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601, upload-time = "2025-08-10T21:27:29.343Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041, upload-time = "2025-08-10T21:27:30.754Z" },
+ { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897, upload-time = "2025-08-10T21:27:32.803Z" },
+ { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835, upload-time = "2025-08-10T21:27:34.23Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988, upload-time = "2025-08-10T21:27:35.587Z" },
+ { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260, upload-time = "2025-08-10T21:27:36.606Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104, upload-time = "2025-08-10T21:27:43.287Z" },
+ { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592, upload-time = "2025-08-10T21:27:44.314Z" },
+ { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281, upload-time = "2025-08-10T21:27:45.369Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009, upload-time = "2025-08-10T21:27:46.376Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929, upload-time = "2025-08-10T21:27:48.236Z" },
+]
+
+[[package]]
+name = "legacy-api-wrap"
+version = "1.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a4/07/fbc3cf8cf3759c5f234af9d94761f09f41e6d0aa912b2a9dfda19a48855a/legacy_api_wrap-1.4.1.tar.gz", hash = "sha256:9c40d67aa8312fec8763e87cbf28fea4b67710c79ca7a18137b573d150f3b2b4", size = 11003, upload-time = "2024-11-22T13:40:06.911Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/1d/9324c70629dfe4395f9122ab331cf245d3cce6ded851aa8a0a8ae264c4e6/legacy_api_wrap-1.4.1-py3-none-any.whl", hash = "sha256:8ba214242e836cebfd3b64c1a1653fce955abb0f9e4c7dffb51f2ad014def0eb", size = 9986, upload-time = "2024-11-22T13:40:05.265Z" },
+]
+
+[[package]]
+name = "legendkit"
+version = "0.3.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "matplotlib" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7c/b7/b1aa7a8075cd90d1231ca39cc01eaf004ba84bc192cc763a3212fc4b6311/legendkit-0.3.6.tar.gz", hash = "sha256:89c0d95c262420086f08c1fff06f9d3d3ee779cacf598464bec7bca10ac36853", size = 19490, upload-time = "2025-06-07T14:52:23.271Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/92/bd62fb14acf1f74ed021b3e2f105466a6b47b0ebedc5daddada4b88b47b4/legendkit-0.3.6-py3-none-any.whl", hash = "sha256:345ecb286d9aa8775c4a6498a8b0a37f76a2736870220d0687396db33b5bf91d", size = 24861, upload-time = "2025-06-07T14:52:22.011Z" },
+]
+
+[[package]]
+name = "llvmlite"
+version = "0.45.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/99/8d/5baf1cef7f9c084fb35a8afbde88074f0d6a727bc63ef764fe0e7543ba40/llvmlite-0.45.1.tar.gz", hash = "sha256:09430bb9d0bb58fc45a45a57c7eae912850bedc095cd0810a57de109c69e1c32", size = 185600, upload-time = "2025-10-01T17:59:52.046Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/ad/9bdc87b2eb34642c1cfe6bcb4f5db64c21f91f26b010f263e7467e7536a3/llvmlite-0.45.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:60f92868d5d3af30b4239b50e1717cb4e4e54f6ac1c361a27903b318d0f07f42", size = 43043526, upload-time = "2025-10-01T18:03:15.051Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/ea/c25c6382f452a943b4082da5e8c1665ce29a62884e2ec80608533e8e82d5/llvmlite-0.45.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:98baab513e19beb210f1ef39066288784839a44cd504e24fff5d17f1b3cf0860", size = 37253118, upload-time = "2025-10-01T18:04:06.783Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/af/85fc237de98b181dbbe8647324331238d6c52a3554327ccdc83ced28efba/llvmlite-0.45.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3adc2355694d6a6fbcc024d59bb756677e7de506037c878022d7b877e7613a36", size = 56288209, upload-time = "2025-10-01T18:01:00.168Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/df/3daf95302ff49beff4230065e3178cd40e71294968e8d55baf4a9e560814/llvmlite-0.45.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f3377a6db40f563058c9515dedcc8a3e562d8693a106a28f2ddccf2c8fcf6ca", size = 55140958, upload-time = "2025-10-01T18:02:11.199Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/56/4c0d503fe03bac820ecdeb14590cf9a248e120f483bcd5c009f2534f23f0/llvmlite-0.45.1-cp311-cp311-win_amd64.whl", hash = "sha256:f9c272682d91e0d57f2a76c6d9ebdfccc603a01828cdbe3d15273bdca0c3363a", size = 38132232, upload-time = "2025-10-01T18:04:52.181Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/7c/82cbd5c656e8991bcc110c69d05913be2229302a92acb96109e166ae31fb/llvmlite-0.45.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:28e763aba92fe9c72296911e040231d486447c01d4f90027c8e893d89d49b20e", size = 43043524, upload-time = "2025-10-01T18:03:30.666Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/bc/5314005bb2c7ee9f33102c6456c18cc81745d7055155d1218f1624463774/llvmlite-0.45.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a53f4b74ee9fd30cb3d27d904dadece67a7575198bd80e687ee76474620735f", size = 37253123, upload-time = "2025-10-01T18:04:18.177Z" },
+ { url = "https://files.pythonhosted.org/packages/96/76/0f7154952f037cb320b83e1c952ec4a19d5d689cf7d27cb8a26887d7bbc1/llvmlite-0.45.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b3796b1b1e1c14dcae34285d2f4ea488402fbd2c400ccf7137603ca3800864f", size = 56288211, upload-time = "2025-10-01T18:01:24.079Z" },
+ { url = "https://files.pythonhosted.org/packages/00/b1/0b581942be2683ceb6862d558979e87387e14ad65a1e4db0e7dd671fa315/llvmlite-0.45.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:779e2f2ceefef0f4368548685f0b4adde34e5f4b457e90391f570a10b348d433", size = 55140958, upload-time = "2025-10-01T18:02:30.482Z" },
+ { url = "https://files.pythonhosted.org/packages/33/94/9ba4ebcf4d541a325fd8098ddc073b663af75cc8b065b6059848f7d4dce7/llvmlite-0.45.1-cp312-cp312-win_amd64.whl", hash = "sha256:9e6c9949baf25d9aa9cd7cf0f6d011b9ca660dd17f5ba2b23bdbdb77cc86b116", size = 38132231, upload-time = "2025-10-01T18:05:03.664Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/e2/c185bb7e88514d5025f93c6c4092f6120c6cea8fe938974ec9860fb03bbb/llvmlite-0.45.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:d9ea9e6f17569a4253515cc01dade70aba536476e3d750b2e18d81d7e670eb15", size = 43043524, upload-time = "2025-10-01T18:03:43.249Z" },
+ { url = "https://files.pythonhosted.org/packages/09/b8/b5437b9ecb2064e89ccf67dccae0d02cd38911705112dd0dcbfa9cd9a9de/llvmlite-0.45.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:c9f3cadee1630ce4ac18ea38adebf2a4f57a89bd2740ce83746876797f6e0bfb", size = 37253121, upload-time = "2025-10-01T18:04:30.557Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/97/ad1a907c0173a90dd4df7228f24a3ec61058bc1a9ff8a0caec20a0cc622e/llvmlite-0.45.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:57c48bf2e1083eedbc9406fb83c4e6483017879714916fe8be8a72a9672c995a", size = 56288210, upload-time = "2025-10-01T18:01:40.26Z" },
+ { url = "https://files.pythonhosted.org/packages/32/d8/c99c8ac7a326e9735401ead3116f7685a7ec652691aeb2615aa732b1fc4a/llvmlite-0.45.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3aa3dfceda4219ae39cf18806c60eeb518c1680ff834b8b311bd784160b9ce40", size = 55140957, upload-time = "2025-10-01T18:02:46.244Z" },
+ { url = "https://files.pythonhosted.org/packages/09/56/ed35668130e32dbfad2eb37356793b0a95f23494ab5be7d9bf5cb75850ee/llvmlite-0.45.1-cp313-cp313-win_amd64.whl", hash = "sha256:080e6f8d0778a8239cd47686d402cb66eb165e421efa9391366a9b7e5810a38b", size = 38132232, upload-time = "2025-10-01T18:05:14.477Z" },
+]
+
+[[package]]
+name = "lxml"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/aa/88/262177de60548e5a2bfc46ad28232c9e9cbde697bd94132aeb80364675cb/lxml-6.0.2.tar.gz", hash = "sha256:cd79f3367bd74b317dda655dc8fcfa304d9eb6e4fb06b7168c5cf27f96e0cd62", size = 4073426, upload-time = "2025-09-22T04:04:59.287Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/77/d5/becbe1e2569b474a23f0c672ead8a29ac50b2dc1d5b9de184831bda8d14c/lxml-6.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:13e35cbc684aadf05d8711a5d1b5857c92e5e580efa9a0d2be197199c8def607", size = 8634365, upload-time = "2025-09-22T04:00:45.672Z" },
+ { url = "https://files.pythonhosted.org/packages/28/66/1ced58f12e804644426b85d0bb8a4478ca77bc1761455da310505f1a3526/lxml-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b1675e096e17c6fe9c0e8c81434f5736c0739ff9ac6123c87c2d452f48fc938", size = 4650793, upload-time = "2025-09-22T04:00:47.783Z" },
+ { url = "https://files.pythonhosted.org/packages/11/84/549098ffea39dfd167e3f174b4ce983d0eed61f9d8d25b7bf2a57c3247fc/lxml-6.0.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8ac6e5811ae2870953390452e3476694196f98d447573234592d30488147404d", size = 4944362, upload-time = "2025-09-22T04:00:49.845Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/bd/f207f16abf9749d2037453d56b643a7471d8fde855a231a12d1e095c4f01/lxml-6.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5aa0fc67ae19d7a64c3fe725dc9a1bb11f80e01f78289d05c6f62545affec438", size = 5083152, upload-time = "2025-09-22T04:00:51.709Z" },
+ { url = "https://files.pythonhosted.org/packages/15/ae/bd813e87d8941d52ad5b65071b1affb48da01c4ed3c9c99e40abb266fbff/lxml-6.0.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de496365750cc472b4e7902a485d3f152ecf57bd3ba03ddd5578ed8ceb4c5964", size = 5023539, upload-time = "2025-09-22T04:00:53.593Z" },
+ { url = "https://files.pythonhosted.org/packages/02/cd/9bfef16bd1d874fbe0cb51afb00329540f30a3283beb9f0780adbb7eec03/lxml-6.0.2-cp311-cp311-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:200069a593c5e40b8f6fc0d84d86d970ba43138c3e68619ffa234bc9bb806a4d", size = 5344853, upload-time = "2025-09-22T04:00:55.524Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/89/ea8f91594bc5dbb879734d35a6f2b0ad50605d7fb419de2b63d4211765cc/lxml-6.0.2-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d2de809c2ee3b888b59f995625385f74629707c9355e0ff856445cdcae682b7", size = 5225133, upload-time = "2025-09-22T04:00:57.269Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/37/9c735274f5dbec726b2db99b98a43950395ba3d4a1043083dba2ad814170/lxml-6.0.2-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:b2c3da8d93cf5db60e8858c17684c47d01fee6405e554fb55018dd85fc23b178", size = 4677944, upload-time = "2025-09-22T04:00:59.052Z" },
+ { url = "https://files.pythonhosted.org/packages/20/28/7dfe1ba3475d8bfca3878365075abe002e05d40dfaaeb7ec01b4c587d533/lxml-6.0.2-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:442de7530296ef5e188373a1ea5789a46ce90c4847e597856570439621d9c553", size = 5284535, upload-time = "2025-09-22T04:01:01.335Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/cf/5f14bc0de763498fc29510e3532bf2b4b3a1c1d5d0dff2e900c16ba021ef/lxml-6.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2593c77efde7bfea7f6389f1ab249b15ed4aa5bc5cb5131faa3b843c429fbedb", size = 5067343, upload-time = "2025-09-22T04:01:03.13Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/b0/bb8275ab5472f32b28cfbbcc6db7c9d092482d3439ca279d8d6fa02f7025/lxml-6.0.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3e3cb08855967a20f553ff32d147e14329b3ae70ced6edc2f282b94afbc74b2a", size = 4725419, upload-time = "2025-09-22T04:01:05.013Z" },
+ { url = "https://files.pythonhosted.org/packages/25/4c/7c222753bc72edca3b99dbadba1b064209bc8ed4ad448af990e60dcce462/lxml-6.0.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2ed6c667fcbb8c19c6791bbf40b7268ef8ddf5a96940ba9404b9f9a304832f6c", size = 5275008, upload-time = "2025-09-22T04:01:07.327Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/8c/478a0dc6b6ed661451379447cdbec77c05741a75736d97e5b2b729687828/lxml-6.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b8f18914faec94132e5b91e69d76a5c1d7b0c73e2489ea8929c4aaa10b76bbf7", size = 5248906, upload-time = "2025-09-22T04:01:09.452Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/d9/5be3a6ab2784cdf9accb0703b65e1b64fcdd9311c9f007630c7db0cfcce1/lxml-6.0.2-cp311-cp311-win32.whl", hash = "sha256:6605c604e6daa9e0d7f0a2137bdc47a2e93b59c60a65466353e37f8272f47c46", size = 3610357, upload-time = "2025-09-22T04:01:11.102Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/7d/ca6fb13349b473d5732fb0ee3eec8f6c80fc0688e76b7d79c1008481bf1f/lxml-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e5867f2651016a3afd8dd2c8238baa66f1e2802f44bc17e236f547ace6647078", size = 4036583, upload-time = "2025-09-22T04:01:12.766Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/a2/51363b5ecd3eab46563645f3a2c3836a2fc67d01a1b87c5017040f39f567/lxml-6.0.2-cp311-cp311-win_arm64.whl", hash = "sha256:4197fb2534ee05fd3e7afaab5d8bfd6c2e186f65ea7f9cd6a82809c887bd1285", size = 3680591, upload-time = "2025-09-22T04:01:14.874Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/c8/8ff2bc6b920c84355146cd1ab7d181bc543b89241cfb1ebee824a7c81457/lxml-6.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a59f5448ba2ceccd06995c95ea59a7674a10de0810f2ce90c9006f3cbc044456", size = 8661887, upload-time = "2025-09-22T04:01:17.265Z" },
+ { url = "https://files.pythonhosted.org/packages/37/6f/9aae1008083bb501ef63284220ce81638332f9ccbfa53765b2b7502203cf/lxml-6.0.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e8113639f3296706fbac34a30813929e29247718e88173ad849f57ca59754924", size = 4667818, upload-time = "2025-09-22T04:01:19.688Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/ca/31fb37f99f37f1536c133476674c10b577e409c0a624384147653e38baf2/lxml-6.0.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a8bef9b9825fa8bc816a6e641bb67219489229ebc648be422af695f6e7a4fa7f", size = 4950807, upload-time = "2025-09-22T04:01:21.487Z" },
+ { url = "https://files.pythonhosted.org/packages/da/87/f6cb9442e4bada8aab5ae7e1046264f62fdbeaa6e3f6211b93f4c0dd97f1/lxml-6.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:65ea18d710fd14e0186c2f973dc60bb52039a275f82d3c44a0e42b43440ea534", size = 5109179, upload-time = "2025-09-22T04:01:23.32Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/20/a7760713e65888db79bbae4f6146a6ae5c04e4a204a3c48896c408cd6ed2/lxml-6.0.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c371aa98126a0d4c739ca93ceffa0fd7a5d732e3ac66a46e74339acd4d334564", size = 5023044, upload-time = "2025-09-22T04:01:25.118Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/b0/7e64e0460fcb36471899f75831509098f3fd7cd02a3833ac517433cb4f8f/lxml-6.0.2-cp312-cp312-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:700efd30c0fa1a3581d80a748157397559396090a51d306ea59a70020223d16f", size = 5359685, upload-time = "2025-09-22T04:01:27.398Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/e1/e5df362e9ca4e2f48ed6411bd4b3a0ae737cc842e96877f5bf9428055ab4/lxml-6.0.2-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c33e66d44fe60e72397b487ee92e01da0d09ba2d66df8eae42d77b6d06e5eba0", size = 5654127, upload-time = "2025-09-22T04:01:29.629Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/d1/232b3309a02d60f11e71857778bfcd4acbdb86c07db8260caf7d008b08f8/lxml-6.0.2-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90a345bbeaf9d0587a3aaffb7006aa39ccb6ff0e96a57286c0cb2fd1520ea192", size = 5253958, upload-time = "2025-09-22T04:01:31.535Z" },
+ { url = "https://files.pythonhosted.org/packages/35/35/d955a070994725c4f7d80583a96cab9c107c57a125b20bb5f708fe941011/lxml-6.0.2-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:064fdadaf7a21af3ed1dcaa106b854077fbeada827c18f72aec9346847cd65d0", size = 4711541, upload-time = "2025-09-22T04:01:33.801Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/be/667d17363b38a78c4bd63cfd4b4632029fd68d2c2dc81f25ce9eb5224dd5/lxml-6.0.2-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fbc74f42c3525ac4ffa4b89cbdd00057b6196bcefe8bce794abd42d33a018092", size = 5267426, upload-time = "2025-09-22T04:01:35.639Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/47/62c70aa4a1c26569bc958c9ca86af2bb4e1f614e8c04fb2989833874f7ae/lxml-6.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6ddff43f702905a4e32bc24f3f2e2edfe0f8fde3277d481bffb709a4cced7a1f", size = 5064917, upload-time = "2025-09-22T04:01:37.448Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/55/6ceddaca353ebd0f1908ef712c597f8570cc9c58130dbb89903198e441fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6da5185951d72e6f5352166e3da7b0dc27aa70bd1090b0eb3f7f7212b53f1bb8", size = 4788795, upload-time = "2025-09-22T04:01:39.165Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/e8/fd63e15da5e3fd4c2146f8bbb3c14e94ab850589beab88e547b2dbce22e1/lxml-6.0.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:57a86e1ebb4020a38d295c04fc79603c7899e0df71588043eb218722dabc087f", size = 5676759, upload-time = "2025-09-22T04:01:41.506Z" },
+ { url = "https://files.pythonhosted.org/packages/76/47/b3ec58dc5c374697f5ba37412cd2728f427d056315d124dd4b61da381877/lxml-6.0.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:2047d8234fe735ab77802ce5f2297e410ff40f5238aec569ad7c8e163d7b19a6", size = 5255666, upload-time = "2025-09-22T04:01:43.363Z" },
+ { url = "https://files.pythonhosted.org/packages/19/93/03ba725df4c3d72afd9596eef4a37a837ce8e4806010569bedfcd2cb68fd/lxml-6.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f91fd2b2ea15a6800c8e24418c0775a1694eefc011392da73bc6cef2623b322", size = 5277989, upload-time = "2025-09-22T04:01:45.215Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/80/c06de80bfce881d0ad738576f243911fccf992687ae09fd80b734712b39c/lxml-6.0.2-cp312-cp312-win32.whl", hash = "sha256:3ae2ce7d6fedfb3414a2b6c5e20b249c4c607f72cb8d2bb7cc9c6ec7c6f4e849", size = 3611456, upload-time = "2025-09-22T04:01:48.243Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/d7/0cdfb6c3e30893463fb3d1e52bc5f5f99684a03c29a0b6b605cfae879cd5/lxml-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:72c87e5ee4e58a8354fb9c7c84cbf95a1c8236c127a5d1b7683f04bed8361e1f", size = 4011793, upload-time = "2025-09-22T04:01:50.042Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/7b/93c73c67db235931527301ed3785f849c78991e2e34f3fd9a6663ffda4c5/lxml-6.0.2-cp312-cp312-win_arm64.whl", hash = "sha256:61cb10eeb95570153e0c0e554f58df92ecf5109f75eacad4a95baa709e26c3d6", size = 3672836, upload-time = "2025-09-22T04:01:52.145Z" },
+ { url = "https://files.pythonhosted.org/packages/53/fd/4e8f0540608977aea078bf6d79f128e0e2c2bba8af1acf775c30baa70460/lxml-6.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9b33d21594afab46f37ae58dfadd06636f154923c4e8a4d754b0127554eb2e77", size = 8648494, upload-time = "2025-09-22T04:01:54.242Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/f4/2a94a3d3dfd6c6b433501b8d470a1960a20ecce93245cf2db1706adf6c19/lxml-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6c8963287d7a4c5c9a432ff487c52e9c5618667179c18a204bdedb27310f022f", size = 4661146, upload-time = "2025-09-22T04:01:56.282Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2e/4efa677fa6b322013035d38016f6ae859d06cac67437ca7dc708a6af7028/lxml-6.0.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1941354d92699fb5ffe6ed7b32f9649e43c2feb4b97205f75866f7d21aa91452", size = 4946932, upload-time = "2025-09-22T04:01:58.989Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/0f/526e78a6d38d109fdbaa5049c62e1d32fdd70c75fb61c4eadf3045d3d124/lxml-6.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bb2f6ca0ae2d983ded09357b84af659c954722bbf04dea98030064996d156048", size = 5100060, upload-time = "2025-09-22T04:02:00.812Z" },
+ { url = "https://files.pythonhosted.org/packages/81/76/99de58d81fa702cc0ea7edae4f4640416c2062813a00ff24bd70ac1d9c9b/lxml-6.0.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb2a12d704f180a902d7fa778c6d71f36ceb7b0d317f34cdc76a5d05aa1dd1df", size = 5019000, upload-time = "2025-09-22T04:02:02.671Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/35/9e57d25482bc9a9882cb0037fdb9cc18f4b79d85df94fa9d2a89562f1d25/lxml-6.0.2-cp313-cp313-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:6ec0e3f745021bfed19c456647f0298d60a24c9ff86d9d051f52b509663feeb1", size = 5348496, upload-time = "2025-09-22T04:02:04.904Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/8e/cb99bd0b83ccc3e8f0f528e9aa1f7a9965dfec08c617070c5db8d63a87ce/lxml-6.0.2-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:846ae9a12d54e368933b9759052d6206a9e8b250291109c48e350c1f1f49d916", size = 5643779, upload-time = "2025-09-22T04:02:06.689Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/34/9e591954939276bb679b73773836c6684c22e56d05980e31d52a9a8deb18/lxml-6.0.2-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef9266d2aa545d7374938fb5c484531ef5a2ec7f2d573e62f8ce722c735685fd", size = 5244072, upload-time = "2025-09-22T04:02:08.587Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/27/b29ff065f9aaca443ee377aff699714fcbffb371b4fce5ac4ca759e436d5/lxml-6.0.2-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:4077b7c79f31755df33b795dc12119cb557a0106bfdab0d2c2d97bd3cf3dffa6", size = 4718675, upload-time = "2025-09-22T04:02:10.783Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/f756f9c2cd27caa1a6ef8c32ae47aadea697f5c2c6d07b0dae133c244fbe/lxml-6.0.2-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a7c5d5e5f1081955358533be077166ee97ed2571d6a66bdba6ec2f609a715d1a", size = 5255171, upload-time = "2025-09-22T04:02:12.631Z" },
+ { url = "https://files.pythonhosted.org/packages/61/46/bb85ea42d2cb1bd8395484fd72f38e3389611aa496ac7772da9205bbda0e/lxml-6.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8f8d0cbd0674ee89863a523e6994ac25fd5be9c8486acfc3e5ccea679bad2679", size = 5057175, upload-time = "2025-09-22T04:02:14.718Z" },
+ { url = "https://files.pythonhosted.org/packages/95/0c/443fc476dcc8e41577f0af70458c50fe299a97bb6b7505bb1ae09aa7f9ac/lxml-6.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2cbcbf6d6e924c28f04a43f3b6f6e272312a090f269eff68a2982e13e5d57659", size = 4785688, upload-time = "2025-09-22T04:02:16.957Z" },
+ { url = "https://files.pythonhosted.org/packages/48/78/6ef0b359d45bb9697bc5a626e1992fa5d27aa3f8004b137b2314793b50a0/lxml-6.0.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dfb874cfa53340009af6bdd7e54ebc0d21012a60a4e65d927c2e477112e63484", size = 5660655, upload-time = "2025-09-22T04:02:18.815Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/ea/e1d33808f386bc1339d08c0dcada6e4712d4ed8e93fcad5f057070b7988a/lxml-6.0.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:fb8dae0b6b8b7f9e96c26fdd8121522ce5de9bb5538010870bd538683d30e9a2", size = 5247695, upload-time = "2025-09-22T04:02:20.593Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/47/eba75dfd8183673725255247a603b4ad606f4ae657b60c6c145b381697da/lxml-6.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:358d9adae670b63e95bc59747c72f4dc97c9ec58881d4627fe0120da0f90d314", size = 5269841, upload-time = "2025-09-22T04:02:22.489Z" },
+ { url = "https://files.pythonhosted.org/packages/76/04/5c5e2b8577bc936e219becb2e98cdb1aca14a4921a12995b9d0c523502ae/lxml-6.0.2-cp313-cp313-win32.whl", hash = "sha256:e8cd2415f372e7e5a789d743d133ae474290a90b9023197fd78f32e2dc6873e2", size = 3610700, upload-time = "2025-09-22T04:02:24.465Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/0a/4643ccc6bb8b143e9f9640aa54e38255f9d3b45feb2cbe7ae2ca47e8782e/lxml-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b30d46379644fbfc3ab81f8f82ae4de55179414651f110a1514f0b1f8f6cb2d7", size = 4010347, upload-time = "2025-09-22T04:02:26.286Z" },
+ { url = "https://files.pythonhosted.org/packages/31/ef/dcf1d29c3f530577f61e5fe2f1bd72929acf779953668a8a47a479ae6f26/lxml-6.0.2-cp313-cp313-win_arm64.whl", hash = "sha256:13dcecc9946dca97b11b7c40d29fba63b55ab4170d3c0cf8c0c164343b9bfdcf", size = 3671248, upload-time = "2025-09-22T04:02:27.918Z" },
+ { url = "https://files.pythonhosted.org/packages/03/15/d4a377b385ab693ce97b472fe0c77c2b16ec79590e688b3ccc71fba19884/lxml-6.0.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b0c732aa23de8f8aec23f4b580d1e52905ef468afb4abeafd3fec77042abb6fe", size = 8659801, upload-time = "2025-09-22T04:02:30.113Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/e8/c128e37589463668794d503afaeb003987373c5f94d667124ffd8078bbd9/lxml-6.0.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4468e3b83e10e0317a89a33d28f7aeba1caa4d1a6fd457d115dd4ffe90c5931d", size = 4659403, upload-time = "2025-09-22T04:02:32.119Z" },
+ { url = "https://files.pythonhosted.org/packages/00/ce/74903904339decdf7da7847bb5741fc98a5451b42fc419a86c0c13d26fe2/lxml-6.0.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:abd44571493973bad4598a3be7e1d807ed45aa2adaf7ab92ab7c62609569b17d", size = 4966974, upload-time = "2025-09-22T04:02:34.155Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/d3/131dec79ce61c5567fecf82515bd9bc36395df42501b50f7f7f3bd065df0/lxml-6.0.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:370cd78d5855cfbffd57c422851f7d3864e6ae72d0da615fca4dad8c45d375a5", size = 5102953, upload-time = "2025-09-22T04:02:36.054Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/ea/a43ba9bb750d4ffdd885f2cd333572f5bb900cd2408b67fdda07e85978a0/lxml-6.0.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:901e3b4219fa04ef766885fb40fa516a71662a4c61b80c94d25336b4934b71c0", size = 5055054, upload-time = "2025-09-22T04:02:38.154Z" },
+ { url = "https://files.pythonhosted.org/packages/60/23/6885b451636ae286c34628f70a7ed1fcc759f8d9ad382d132e1c8d3d9bfd/lxml-6.0.2-cp314-cp314-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:a4bf42d2e4cf52c28cc1812d62426b9503cdb0c87a6de81442626aa7d69707ba", size = 5352421, upload-time = "2025-09-22T04:02:40.413Z" },
+ { url = "https://files.pythonhosted.org/packages/48/5b/fc2ddfc94ddbe3eebb8e9af6e3fd65e2feba4967f6a4e9683875c394c2d8/lxml-6.0.2-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2c7fdaa4d7c3d886a42534adec7cfac73860b89b4e5298752f60aa5984641a0", size = 5673684, upload-time = "2025-09-22T04:02:42.288Z" },
+ { url = "https://files.pythonhosted.org/packages/29/9c/47293c58cc91769130fbf85531280e8cc7868f7fbb6d92f4670071b9cb3e/lxml-6.0.2-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98a5e1660dc7de2200b00d53fa00bcd3c35a3608c305d45a7bbcaf29fa16e83d", size = 5252463, upload-time = "2025-09-22T04:02:44.165Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/da/ba6eceb830c762b48e711ded880d7e3e89fc6c7323e587c36540b6b23c6b/lxml-6.0.2-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:dc051506c30b609238d79eda75ee9cab3e520570ec8219844a72a46020901e37", size = 4698437, upload-time = "2025-09-22T04:02:46.524Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/24/7be3f82cb7990b89118d944b619e53c656c97dc89c28cfb143fdb7cd6f4d/lxml-6.0.2-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8799481bbdd212470d17513a54d568f44416db01250f49449647b5ab5b5dccb9", size = 5269890, upload-time = "2025-09-22T04:02:48.812Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/bd/dcfb9ea1e16c665efd7538fc5d5c34071276ce9220e234217682e7d2c4a5/lxml-6.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9261bb77c2dab42f3ecd9103951aeca2c40277701eb7e912c545c1b16e0e4917", size = 5097185, upload-time = "2025-09-22T04:02:50.746Z" },
+ { url = "https://files.pythonhosted.org/packages/21/04/a60b0ff9314736316f28316b694bccbbabe100f8483ad83852d77fc7468e/lxml-6.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:65ac4a01aba353cfa6d5725b95d7aed6356ddc0a3cd734de00124d285b04b64f", size = 4745895, upload-time = "2025-09-22T04:02:52.968Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/bd/7d54bd1846e5a310d9c715921c5faa71cf5c0853372adf78aee70c8d7aa2/lxml-6.0.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b22a07cbb82fea98f8a2fd814f3d1811ff9ed76d0fc6abc84eb21527596e7cc8", size = 5695246, upload-time = "2025-09-22T04:02:54.798Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/32/5643d6ab947bc371da21323acb2a6e603cedbe71cb4c99c8254289ab6f4e/lxml-6.0.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d759cdd7f3e055d6bc8d9bec3ad905227b2e4c785dc16c372eb5b5e83123f48a", size = 5260797, upload-time = "2025-09-22T04:02:57.058Z" },
+ { url = "https://files.pythonhosted.org/packages/33/da/34c1ec4cff1eea7d0b4cd44af8411806ed943141804ac9c5d565302afb78/lxml-6.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:945da35a48d193d27c188037a05fec5492937f66fb1958c24fc761fb9d40d43c", size = 5277404, upload-time = "2025-09-22T04:02:58.966Z" },
+ { url = "https://files.pythonhosted.org/packages/82/57/4eca3e31e54dc89e2c3507e1cd411074a17565fa5ffc437c4ae0a00d439e/lxml-6.0.2-cp314-cp314-win32.whl", hash = "sha256:be3aaa60da67e6153eb15715cc2e19091af5dc75faef8b8a585aea372507384b", size = 3670072, upload-time = "2025-09-22T04:03:38.05Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/e0/c96cf13eccd20c9421ba910304dae0f619724dcf1702864fd59dd386404d/lxml-6.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:fa25afbadead523f7001caf0c2382afd272c315a033a7b06336da2637d92d6ed", size = 4080617, upload-time = "2025-09-22T04:03:39.835Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/5d/b3f03e22b3d38d6f188ef044900a9b29b2fe0aebb94625ce9fe244011d34/lxml-6.0.2-cp314-cp314-win_arm64.whl", hash = "sha256:063eccf89df5b24e361b123e257e437f9e9878f425ee9aae3144c77faf6da6d8", size = 3754930, upload-time = "2025-09-22T04:03:41.565Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/5c/42c2c4c03554580708fc738d13414801f340c04c3eff90d8d2d227145275/lxml-6.0.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:6162a86d86893d63084faaf4ff937b3daea233e3682fb4474db07395794fa80d", size = 8910380, upload-time = "2025-09-22T04:03:01.645Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/4f/12df843e3e10d18d468a7557058f8d3733e8b6e12401f30b1ef29360740f/lxml-6.0.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:414aaa94e974e23a3e92e7ca5b97d10c0cf37b6481f50911032c69eeb3991bba", size = 4775632, upload-time = "2025-09-22T04:03:03.814Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/0c/9dc31e6c2d0d418483cbcb469d1f5a582a1cd00a1f4081953d44051f3c50/lxml-6.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48461bd21625458dd01e14e2c38dd0aea69addc3c4f960c30d9f59d7f93be601", size = 4975171, upload-time = "2025-09-22T04:03:05.651Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/2b/9b870c6ca24c841bdd887504808f0417aa9d8d564114689266f19ddf29c8/lxml-6.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25fcc59afc57d527cfc78a58f40ab4c9b8fd096a9a3f964d2781ffb6eb33f4ed", size = 5110109, upload-time = "2025-09-22T04:03:07.452Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/0c/4f5f2a4dd319a178912751564471355d9019e220c20d7db3fb8307ed8582/lxml-6.0.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5179c60288204e6ddde3f774a93350177e08876eaf3ab78aa3a3649d43eb7d37", size = 5041061, upload-time = "2025-09-22T04:03:09.297Z" },
+ { url = "https://files.pythonhosted.org/packages/12/64/554eed290365267671fe001a20d72d14f468ae4e6acef1e179b039436967/lxml-6.0.2-cp314-cp314t-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:967aab75434de148ec80597b75062d8123cadf2943fb4281f385141e18b21338", size = 5306233, upload-time = "2025-09-22T04:03:11.651Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/31/1d748aa275e71802ad9722df32a7a35034246b42c0ecdd8235412c3396ef/lxml-6.0.2-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d100fcc8930d697c6561156c6810ab4a508fb264c8b6779e6e61e2ed5e7558f9", size = 5604739, upload-time = "2025-09-22T04:03:13.592Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/41/2c11916bcac09ed561adccacceaedd2bf0e0b25b297ea92aab99fd03d0fa/lxml-6.0.2-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ca59e7e13e5981175b8b3e4ab84d7da57993eeff53c07764dcebda0d0e64ecd", size = 5225119, upload-time = "2025-09-22T04:03:15.408Z" },
+ { url = "https://files.pythonhosted.org/packages/99/05/4e5c2873d8f17aa018e6afde417c80cc5d0c33be4854cce3ef5670c49367/lxml-6.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:957448ac63a42e2e49531b9d6c0fa449a1970dbc32467aaad46f11545be9af1d", size = 4633665, upload-time = "2025-09-22T04:03:17.262Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/c9/dcc2da1bebd6275cdc723b515f93edf548b82f36a5458cca3578bc899332/lxml-6.0.2-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b7fc49c37f1786284b12af63152fe1d0990722497e2d5817acfe7a877522f9a9", size = 5234997, upload-time = "2025-09-22T04:03:19.14Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/e2/5172e4e7468afca64a37b81dba152fc5d90e30f9c83c7c3213d6a02a5ce4/lxml-6.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e19e0643cc936a22e837f79d01a550678da8377d7d801a14487c10c34ee49c7e", size = 5090957, upload-time = "2025-09-22T04:03:21.436Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/b3/15461fd3e5cd4ddcb7938b87fc20b14ab113b92312fc97afe65cd7c85de1/lxml-6.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:1db01e5cf14345628e0cbe71067204db658e2fb8e51e7f33631f5f4735fefd8d", size = 4764372, upload-time = "2025-09-22T04:03:23.27Z" },
+ { url = "https://files.pythonhosted.org/packages/05/33/f310b987c8bf9e61c4dd8e8035c416bd3230098f5e3cfa69fc4232de7059/lxml-6.0.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:875c6b5ab39ad5291588aed6925fac99d0097af0dd62f33c7b43736043d4a2ec", size = 5634653, upload-time = "2025-09-22T04:03:25.767Z" },
+ { url = "https://files.pythonhosted.org/packages/70/ff/51c80e75e0bc9382158133bdcf4e339b5886c6ee2418b5199b3f1a61ed6d/lxml-6.0.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:cdcbed9ad19da81c480dfd6dd161886db6096083c9938ead313d94b30aadf272", size = 5233795, upload-time = "2025-09-22T04:03:27.62Z" },
+ { url = "https://files.pythonhosted.org/packages/56/4d/4856e897df0d588789dd844dbed9d91782c4ef0b327f96ce53c807e13128/lxml-6.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:80dadc234ebc532e09be1975ff538d154a7fa61ea5031c03d25178855544728f", size = 5257023, upload-time = "2025-09-22T04:03:30.056Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/85/86766dfebfa87bea0ab78e9ff7a4b4b45225df4b4d3b8cc3c03c5cd68464/lxml-6.0.2-cp314-cp314t-win32.whl", hash = "sha256:da08e7bb297b04e893d91087df19638dc7a6bb858a954b0cc2b9f5053c922312", size = 3911420, upload-time = "2025-09-22T04:03:32.198Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/1a/b248b355834c8e32614650b8008c69ffeb0ceb149c793961dd8c0b991bb3/lxml-6.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:252a22982dca42f6155125ac76d3432e548a7625d56f5a273ee78a5057216eca", size = 4406837, upload-time = "2025-09-22T04:03:34.027Z" },
+ { url = "https://files.pythonhosted.org/packages/92/aa/df863bcc39c5e0946263454aba394de8a9084dbaff8ad143846b0d844739/lxml-6.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:bb4c1847b303835d89d785a18801a883436cdfd5dc3d62947f9c49e24f0f5a2c", size = 3822205, upload-time = "2025-09-22T04:03:36.249Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/11/29d08bc103a62c0eba8016e7ed5aeebbf1e4312e83b0b1648dd203b0e87d/lxml-6.0.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1c06035eafa8404b5cf475bb37a9f6088b0aca288d4ccc9d69389750d5543700", size = 3949829, upload-time = "2025-09-22T04:04:45.608Z" },
+ { url = "https://files.pythonhosted.org/packages/12/b3/52ab9a3b31e5ab8238da241baa19eec44d2ab426532441ee607165aebb52/lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c7d13103045de1bdd6fe5d61802565f1a3537d70cd3abf596aa0af62761921ee", size = 4226277, upload-time = "2025-09-22T04:04:47.754Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/33/1eaf780c1baad88224611df13b1c2a9dfa460b526cacfe769103ff50d845/lxml-6.0.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a3c150a95fbe5ac91de323aa756219ef9cf7fde5a3f00e2281e30f33fa5fa4f", size = 4330433, upload-time = "2025-09-22T04:04:49.907Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/c1/27428a2ff348e994ab4f8777d3a0ad510b6b92d37718e5887d2da99952a2/lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60fa43be34f78bebb27812ed90f1925ec99560b0fa1decdb7d12b84d857d31e9", size = 4272119, upload-time = "2025-09-22T04:04:51.801Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/d0/3020fa12bcec4ab62f97aab026d57c2f0cfd480a558758d9ca233bb6a79d/lxml-6.0.2-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21c73b476d3cfe836be731225ec3421fa2f048d84f6df6a8e70433dff1376d5a", size = 4417314, upload-time = "2025-09-22T04:04:55.024Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/77/d7f491cbc05303ac6801651aabeb262d43f319288c1ea96c66b1d2692ff3/lxml-6.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e", size = 3518768, upload-time = "2025-09-22T04:04:57.097Z" },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mdurl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" }
+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, upload-time = "2023-06-03T06:41:11.019Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" },
+ { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" },
+ { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" },
+ { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" },
+ { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" },
+ { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" },
+ { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" },
+ { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" },
+ { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" },
+ { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" },
+ { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" },
+ { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" },
+ { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" },
+ { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" },
+ { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" },
+ { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" },
+ { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" },
+ { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" },
+ { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" },
+ { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" },
+ { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" },
+ { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" },
+ { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" },
+ { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" },
+ { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" },
+ { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" },
+]
+
+[[package]]
+name = "marsilea"
+version = "0.5.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "legendkit" },
+ { name = "matplotlib" },
+ { name = "numpy" },
+ { name = "pandas", extra = ["parquet"] },
+ { name = "platformdirs" },
+ { name = "scipy" },
+ { name = "seaborn" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b2/59/d063fdc70d7252f6fc1e4324bab82dd39fc84dd143a0d016c4e87a459565/marsilea-0.5.6.tar.gz", hash = "sha256:f58196edbfc7fc2cec819be14fb112dd9054f4149089f257c9436c97ed275855", size = 73564, upload-time = "2025-10-05T17:22:09.557Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1d/ab/0474bce38f996bfc5f965ff639b2b256944d317a92ce4404bb899d69d103/marsilea-0.5.6-py3-none-any.whl", hash = "sha256:5d646d718b84a6c93f1ca7ef2e5f3691b71e0c25644aa535f215c552a43a424a", size = 84980, upload-time = "2025-10-05T17:22:08.088Z" },
+]
+
+[[package]]
+name = "matplotlib"
+version = "3.10.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "contourpy" },
+ { name = "cycler" },
+ { name = "fonttools" },
+ { name = "kiwisolver" },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pillow" },
+ { name = "pyparsing" },
+ { name = "python-dateutil" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ae/e2/d2d5295be2f44c678ebaf3544ba32d20c1f9ef08c49fe47f496180e1db15/matplotlib-3.10.7.tar.gz", hash = "sha256:a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7", size = 34804865, upload-time = "2025-10-09T00:28:00.669Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fc/bc/0fb489005669127ec13f51be0c6adc074d7cf191075dab1da9fe3b7a3cfc/matplotlib-3.10.7-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:53b492410a6cd66c7a471de6c924f6ede976e963c0f3097a3b7abfadddc67d0a", size = 8257507, upload-time = "2025-10-09T00:26:19.073Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/6a/d42588ad895279ff6708924645b5d2ed54a7fb2dc045c8a804e955aeace1/matplotlib-3.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d9749313deb729f08207718d29c86246beb2ea3fdba753595b55901dee5d2fd6", size = 8119565, upload-time = "2025-10-09T00:26:21.023Z" },
+ { url = "https://files.pythonhosted.org/packages/10/b7/4aa196155b4d846bd749cf82aa5a4c300cf55a8b5e0dfa5b722a63c0f8a0/matplotlib-3.10.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2222c7ba2cbde7fe63032769f6eb7e83ab3227f47d997a8453377709b7fe3a5a", size = 8692668, upload-time = "2025-10-09T00:26:22.967Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/e7/664d2b97016f46683a02d854d730cfcf54ff92c1dafa424beebef50f831d/matplotlib-3.10.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e91f61a064c92c307c5a9dc8c05dc9f8a68f0a3be199d9a002a0622e13f874a1", size = 9521051, upload-time = "2025-10-09T00:26:25.041Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/a3/37aef1404efa615f49b5758a5e0261c16dd88f389bc1861e722620e4a754/matplotlib-3.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f1851eab59ca082c95df5a500106bad73672645625e04538b3ad0f69471ffcc", size = 9576878, upload-time = "2025-10-09T00:26:27.478Z" },
+ { url = "https://files.pythonhosted.org/packages/33/cd/b145f9797126f3f809d177ca378de57c45413c5099c5990de2658760594a/matplotlib-3.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:6516ce375109c60ceec579e699524e9d504cd7578506f01150f7a6bc174a775e", size = 8115142, upload-time = "2025-10-09T00:26:29.774Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/39/63bca9d2b78455ed497fcf51a9c71df200a11048f48249038f06447fa947/matplotlib-3.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:b172db79759f5f9bc13ef1c3ef8b9ee7b37b0247f987fbbbdaa15e4f87fd46a9", size = 7992439, upload-time = "2025-10-09T00:26:40.32Z" },
+ { url = "https://files.pythonhosted.org/packages/be/b3/09eb0f7796932826ec20c25b517d568627754f6c6462fca19e12c02f2e12/matplotlib-3.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a0edb7209e21840e8361e91ea84ea676658aa93edd5f8762793dec77a4a6748", size = 8272389, upload-time = "2025-10-09T00:26:42.474Z" },
+ { url = "https://files.pythonhosted.org/packages/11/0b/1ae80ddafb8652fd8046cb5c8460ecc8d4afccb89e2c6d6bec61e04e1eaf/matplotlib-3.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c380371d3c23e0eadf8ebff114445b9f970aff2010198d498d4ab4c3b41eea4f", size = 8128247, upload-time = "2025-10-09T00:26:44.77Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/18/95ae2e242d4a5c98bd6e90e36e128d71cf1c7e39b0874feaed3ef782e789/matplotlib-3.10.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d5f256d49fea31f40f166a5e3131235a5d2f4b7f44520b1cf0baf1ce568ccff0", size = 8696996, upload-time = "2025-10-09T00:26:46.792Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/3d/5b559efc800bd05cb2033aa85f7e13af51958136a48327f7c261801ff90a/matplotlib-3.10.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11ae579ac83cdf3fb72573bb89f70e0534de05266728740d478f0f818983c695", size = 9530153, upload-time = "2025-10-09T00:26:49.07Z" },
+ { url = "https://files.pythonhosted.org/packages/88/57/eab4a719fd110312d3c220595d63a3c85ec2a39723f0f4e7fa7e6e3f74ba/matplotlib-3.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4c14b6acd16cddc3569a2d515cfdd81c7a68ac5639b76548cfc1a9e48b20eb65", size = 9593093, upload-time = "2025-10-09T00:26:51.067Z" },
+ { url = "https://files.pythonhosted.org/packages/31/3c/80816f027b3a4a28cd2a0a6ef7f89a2db22310e945cd886ec25bfb399221/matplotlib-3.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:0d8c32b7ea6fb80b1aeff5a2ceb3fb9778e2759e899d9beff75584714afcc5ee", size = 8122771, upload-time = "2025-10-09T00:26:53.296Z" },
+ { url = "https://files.pythonhosted.org/packages/de/77/ef1fc78bfe99999b2675435cc52120887191c566b25017d78beaabef7f2d/matplotlib-3.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:5f3f6d315dcc176ba7ca6e74c7768fb7e4cf566c49cb143f6bc257b62e634ed8", size = 7992812, upload-time = "2025-10-09T00:26:54.882Z" },
+ { url = "https://files.pythonhosted.org/packages/02/9c/207547916a02c78f6bdd83448d9b21afbc42f6379ed887ecf610984f3b4e/matplotlib-3.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1d9d3713a237970569156cfb4de7533b7c4eacdd61789726f444f96a0d28f57f", size = 8273212, upload-time = "2025-10-09T00:26:56.752Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/d0/b3d3338d467d3fc937f0bb7f256711395cae6f78e22cef0656159950adf0/matplotlib-3.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:37a1fea41153dd6ee061d21ab69c9cf2cf543160b1b85d89cd3d2e2a7902ca4c", size = 8128713, upload-time = "2025-10-09T00:26:59.001Z" },
+ { url = "https://files.pythonhosted.org/packages/22/ff/6425bf5c20d79aa5b959d1ce9e65f599632345391381c9a104133fe0b171/matplotlib-3.10.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b3c4ea4948d93c9c29dc01c0c23eef66f2101bf75158c291b88de6525c55c3d1", size = 8698527, upload-time = "2025-10-09T00:27:00.69Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/7f/ccdca06f4c2e6c7989270ed7829b8679466682f4cfc0f8c9986241c023b6/matplotlib-3.10.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22df30ffaa89f6643206cf13877191c63a50e8f800b038bc39bee9d2d4957632", size = 9529690, upload-time = "2025-10-09T00:27:02.664Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/95/b80fc2c1f269f21ff3d193ca697358e24408c33ce2b106a7438a45407b63/matplotlib-3.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b69676845a0a66f9da30e87f48be36734d6748024b525ec4710be40194282c84", size = 9593732, upload-time = "2025-10-09T00:27:04.653Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/b6/23064a96308b9aeceeffa65e96bcde459a2ea4934d311dee20afde7407a0/matplotlib-3.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:744991e0cc863dd669c8dc9136ca4e6e0082be2070b9d793cbd64bec872a6815", size = 8122727, upload-time = "2025-10-09T00:27:06.814Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/a6/2faaf48133b82cf3607759027f82b5c702aa99cdfcefb7f93d6ccf26a424/matplotlib-3.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:fba2974df0bf8ce3c995fa84b79cde38326e0f7b5409e7a3a481c1141340bcf7", size = 7992958, upload-time = "2025-10-09T00:27:08.567Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/f0/b018fed0b599bd48d84c08794cb242227fe3341952da102ee9d9682db574/matplotlib-3.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:932c55d1fa7af4423422cb6a492a31cbcbdbe68fd1a9a3f545aa5e7a143b5355", size = 8316849, upload-time = "2025-10-09T00:27:10.254Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/b7/bb4f23856197659f275e11a2a164e36e65e9b48ea3e93c4ec25b4f163198/matplotlib-3.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e38c2d581d62ee729a6e144c47a71b3f42fb4187508dbbf4fe71d5612c3433b", size = 8178225, upload-time = "2025-10-09T00:27:12.241Z" },
+ { url = "https://files.pythonhosted.org/packages/62/56/0600609893ff277e6f3ab3c0cef4eafa6e61006c058e84286c467223d4d5/matplotlib-3.10.7-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:786656bb13c237bbcebcd402f65f44dd61ead60ee3deb045af429d889c8dbc67", size = 8711708, upload-time = "2025-10-09T00:27:13.879Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/1a/6bfecb0cafe94d6658f2f1af22c43b76cf7a1c2f0dc34ef84cbb6809617e/matplotlib-3.10.7-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09d7945a70ea43bf9248f4b6582734c2fe726723204a76eca233f24cffc7ef67", size = 9541409, upload-time = "2025-10-09T00:27:15.684Z" },
+ { url = "https://files.pythonhosted.org/packages/08/50/95122a407d7f2e446fd865e2388a232a23f2b81934960ea802f3171518e4/matplotlib-3.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d0b181e9fa8daf1d9f2d4c547527b167cb8838fc587deabca7b5c01f97199e84", size = 9594054, upload-time = "2025-10-09T00:27:17.547Z" },
+ { url = "https://files.pythonhosted.org/packages/13/76/75b194a43b81583478a81e78a07da8d9ca6ddf50dd0a2ccabf258059481d/matplotlib-3.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:31963603041634ce1a96053047b40961f7a29eb8f9a62e80cc2c0427aa1d22a2", size = 8200100, upload-time = "2025-10-09T00:27:20.039Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/9e/6aefebdc9f8235c12bdeeda44cc0383d89c1e41da2c400caf3ee2073a3ce/matplotlib-3.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:aebed7b50aa6ac698c90f60f854b47e48cd2252b30510e7a1feddaf5a3f72cbf", size = 8042131, upload-time = "2025-10-09T00:27:21.608Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/4b/e5bc2c321b6a7e3a75638d937d19ea267c34bd5a90e12bee76c4d7c7a0d9/matplotlib-3.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d883460c43e8c6b173fef244a2341f7f7c0e9725c7fe68306e8e44ed9c8fb100", size = 8273787, upload-time = "2025-10-09T00:27:23.27Z" },
+ { url = "https://files.pythonhosted.org/packages/86/ad/6efae459c56c2fbc404da154e13e3a6039129f3c942b0152624f1c621f05/matplotlib-3.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07124afcf7a6504eafcb8ce94091c5898bbdd351519a1beb5c45f7a38c67e77f", size = 8131348, upload-time = "2025-10-09T00:27:24.926Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/5a/a4284d2958dee4116359cc05d7e19c057e64ece1b4ac986ab0f2f4d52d5a/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c17398b709a6cce3d9fdb1595c33e356d91c098cd9486cb2cc21ea2ea418e715", size = 9533949, upload-time = "2025-10-09T00:27:26.704Z" },
+ { url = "https://files.pythonhosted.org/packages/de/ff/f3781b5057fa3786623ad8976fc9f7b0d02b2f28534751fd5a44240de4cf/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7146d64f561498764561e9cd0ed64fcf582e570fc519e6f521e2d0cfd43365e1", size = 9804247, upload-time = "2025-10-09T00:27:28.514Z" },
+ { url = "https://files.pythonhosted.org/packages/47/5a/993a59facb8444efb0e197bf55f545ee449902dcee86a4dfc580c3b61314/matplotlib-3.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:90ad854c0a435da3104c01e2c6f0028d7e719b690998a2333d7218db80950722", size = 9595497, upload-time = "2025-10-09T00:27:30.418Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/a5/77c95aaa9bb32c345cbb49626ad8eb15550cba2e6d4c88081a6c2ac7b08d/matplotlib-3.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:4645fc5d9d20ffa3a39361fcdbcec731382763b623b72627806bf251b6388866", size = 8252732, upload-time = "2025-10-09T00:27:32.332Z" },
+ { url = "https://files.pythonhosted.org/packages/74/04/45d269b4268d222390d7817dae77b159651909669a34ee9fdee336db5883/matplotlib-3.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:9257be2f2a03415f9105c486d304a321168e61ad450f6153d77c69504ad764bb", size = 8124240, upload-time = "2025-10-09T00:27:33.94Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/c7/ca01c607bb827158b439208c153d6f14ddb9fb640768f06f7ca3488ae67b/matplotlib-3.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1e4bbad66c177a8fdfa53972e5ef8be72a5f27e6a607cec0d8579abd0f3102b1", size = 8316938, upload-time = "2025-10-09T00:27:35.534Z" },
+ { url = "https://files.pythonhosted.org/packages/84/d2/5539e66e9f56d2fdec94bb8436f5e449683b4e199bcc897c44fbe3c99e28/matplotlib-3.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d8eb7194b084b12feb19142262165832fc6ee879b945491d1c3d4660748020c4", size = 8178245, upload-time = "2025-10-09T00:27:37.334Z" },
+ { url = "https://files.pythonhosted.org/packages/77/b5/e6ca22901fd3e4fe433a82e583436dd872f6c966fca7e63cf806b40356f8/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d41379b05528091f00e1728004f9a8d7191260f3862178b88e8fd770206318", size = 9541411, upload-time = "2025-10-09T00:27:39.387Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/99/a4524db57cad8fee54b7237239a8f8360bfcfa3170d37c9e71c090c0f409/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a74f79fafb2e177f240579bc83f0b60f82cc47d2f1d260f422a0627207008ca", size = 9803664, upload-time = "2025-10-09T00:27:41.492Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/a5/85e2edf76ea0ad4288d174926d9454ea85f3ce5390cc4e6fab196cbf250b/matplotlib-3.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:702590829c30aada1e8cef0568ddbffa77ca747b4d6e36c6d173f66e301f89cc", size = 9594066, upload-time = "2025-10-09T00:27:43.694Z" },
+ { url = "https://files.pythonhosted.org/packages/39/69/9684368a314f6d83fe5c5ad2a4121a3a8e03723d2e5c8ea17b66c1bad0e7/matplotlib-3.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:f79d5de970fc90cd5591f60053aecfce1fcd736e0303d9f0bf86be649fa68fb8", size = 8342832, upload-time = "2025-10-09T00:27:45.543Z" },
+ { url = "https://files.pythonhosted.org/packages/04/5f/e22e08da14bc1a0894184640d47819d2338b792732e20d292bf86e5ab785/matplotlib-3.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:cb783436e47fcf82064baca52ce748af71725d0352e1d31564cbe9c95df92b9c", size = 8172585, upload-time = "2025-10-09T00:27:47.185Z" },
+ { url = "https://files.pythonhosted.org/packages/58/8f/76d5dc21ac64a49e5498d7f0472c0781dae442dd266a67458baec38288ec/matplotlib-3.10.7-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15112bcbaef211bd663fa935ec33313b948e214454d949b723998a43357b17b0", size = 8252283, upload-time = "2025-10-09T00:27:54.739Z" },
+ { url = "https://files.pythonhosted.org/packages/27/0d/9c5d4c2317feb31d819e38c9f947c942f42ebd4eb935fc6fd3518a11eaa7/matplotlib-3.10.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d2a959c640cdeecdd2ec3136e8ea0441da59bcaf58d67e9c590740addba2cb68", size = 8116733, upload-time = "2025-10-09T00:27:56.406Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/cc/3fe688ff1355010937713164caacf9ed443675ac48a997bab6ed23b3f7c0/matplotlib-3.10.7-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3886e47f64611046bc1db523a09dd0a0a6bed6081e6f90e13806dd1d1d1b5e91", size = 8693919, upload-time = "2025-10-09T00:27:58.41Z" },
+]
+
+[[package]]
+name = "matplotlib-inline"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" },
+]
+
+[[package]]
+name = "mdit-py-plugins"
+version = "0.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown-it-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b2/fd/a756d36c0bfba5f6e39a1cdbdbfdd448dc02692467d83816dff4592a1ebc/mdit_py_plugins-0.5.0.tar.gz", hash = "sha256:f4918cb50119f50446560513a8e311d574ff6aaed72606ddae6d35716fe809c6", size = 44655, upload-time = "2025-08-11T07:25:49.083Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fb/86/dd6e5db36df29e76c7a7699123569a4a18c1623ce68d826ed96c62643cae/mdit_py_plugins-0.5.0-py3-none-any.whl", hash = "sha256:07a08422fc1936a5d26d146759e9155ea466e842f5ab2f7d2266dd084c8dab1f", size = 57205, upload-time = "2025-08-11T07:25:47.597Z" },
+]
+
+[[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, upload-time = "2022-08-14T12:40:10.846Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
+]
+
+[[package]]
+name = "mistune"
+version = "3.1.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" },
+]
+
+[[package]]
+name = "multiassayexperiment"
+version = "0.5.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "biocutils" },
+ { name = "summarizedexperiment" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9e/c0/0fc28a525360e8fb031b3fa192772369e85889ec8081580285db7bcc0caf/multiassayexperiment-0.5.2.tar.gz", hash = "sha256:b1783f27761e071df565c70c1ea4bd38e8d2a7f2f33dbeba47afabe5b0d98f1d", size = 1071163, upload-time = "2025-07-08T20:41:07.874Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/1b/02df2fb91f7625d2390b9a98553c9af469008edf8753559ad5d446eb5d0e/multiassayexperiment-0.5.2-py3-none-any.whl", hash = "sha256:db885050012c3d8df49885802fbb84935e622750467b28590d98ae939082fc8d", size = 15055, upload-time = "2025-07-08T20:41:06.361Z" },
+]
+
+[[package]]
+name = "mypy"
+version = "1.15.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mypy-extensions" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717, upload-time = "2025-02-05T03:50:34.655Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f", size = 10662338, upload-time = "2025-02-05T03:50:17.287Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5", size = 9787540, upload-time = "2025-02-05T03:49:51.21Z" },
+ { url = "https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e", size = 11538051, upload-time = "2025-02-05T03:50:20.885Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c", size = 12286751, upload-time = "2025-02-05T03:49:42.408Z" },
+ { url = "https://files.pythonhosted.org/packages/72/af/19ff499b6f1dafcaf56f9881f7a965ac2f474f69f6f618b5175b044299f5/mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f", size = 12421783, upload-time = "2025-02-05T03:49:07.707Z" },
+ { url = "https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f", size = 9265618, upload-time = "2025-02-05T03:49:54.581Z" },
+ { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981, upload-time = "2025-02-05T03:50:28.25Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175, upload-time = "2025-02-05T03:50:13.411Z" },
+ { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675, upload-time = "2025-02-05T03:50:31.421Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020, upload-time = "2025-02-05T03:48:48.705Z" },
+ { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582, upload-time = "2025-02-05T03:49:03.628Z" },
+ { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614, upload-time = "2025-02-05T03:50:00.313Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/9b/fd2e05d6ffff24d912f150b87db9e364fa8282045c875654ce7e32fffa66/mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445", size = 10788592, upload-time = "2025-02-05T03:48:55.789Z" },
+ { url = "https://files.pythonhosted.org/packages/74/37/b246d711c28a03ead1fd906bbc7106659aed7c089d55fe40dd58db812628/mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d", size = 9753611, upload-time = "2025-02-05T03:48:44.581Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/ac/395808a92e10cfdac8003c3de9a2ab6dc7cde6c0d2a4df3df1b815ffd067/mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5", size = 11438443, upload-time = "2025-02-05T03:49:25.514Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541, upload-time = "2025-02-05T03:49:57.623Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348, upload-time = "2025-02-05T03:48:52.361Z" },
+ { url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648, upload-time = "2025-02-05T03:49:11.395Z" },
+ { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777, upload-time = "2025-02-05T03:50:08.348Z" },
+]
+
+[[package]]
+name = "mypy-extensions"
+version = "1.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" },
+]
+
+[[package]]
+name = "myst-parser"
+version = "4.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils" },
+ { name = "jinja2" },
+ { name = "markdown-it-py" },
+ { name = "mdit-py-plugins" },
+ { name = "pyyaml" },
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/a5/9626ba4f73555b3735ad86247a8077d4603aa8628537687c839ab08bfe44/myst_parser-4.0.1.tar.gz", hash = "sha256:5cfea715e4f3574138aecbf7d54132296bfd72bb614d31168f48c477a830a7c4", size = 93985, upload-time = "2025-02-12T10:53:03.833Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5f/df/76d0321c3797b54b60fef9ec3bd6f4cfd124b9e422182156a1dd418722cf/myst_parser-4.0.1-py3-none-any.whl", hash = "sha256:9134e88959ec3b5780aedf8a99680ea242869d012e8821db3126d427edc9c95d", size = 84579, upload-time = "2025-02-12T10:53:02.078Z" },
+]
+
+[[package]]
+name = "narwhals"
+version = "2.9.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b7/95/aa46616f5e567ff5d262f4c207d5ca79cb2766010c786c351b8e7f930ef4/narwhals-2.9.0.tar.gz", hash = "sha256:d8cde40a6a8a7049d8e66608b7115ab19464acc6f305d136a8dc8ba396c4acfe", size = 584098, upload-time = "2025-10-20T12:19:16.893Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/34/00c7ae8194074ed82b64e0bb7c24220eac5f77ac90c16e23cf0d2cfd2a03/narwhals-2.9.0-py3-none-any.whl", hash = "sha256:c59f7de4763004ae81691ce16df71b4e55aead0ead7ccde8c8f2ef8c9559c765", size = 422255, upload-time = "2025-10-20T12:19:15.228Z" },
+]
+
+[[package]]
+name = "natsort"
+version = "8.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e2/a9/a0c57aee75f77794adaf35322f8b6404cbd0f89ad45c87197a937764b7d0/natsort-8.4.0.tar.gz", hash = "sha256:45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581", size = 76575, upload-time = "2023-06-20T04:17:19.925Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/82/7a9d0550484a62c6da82858ee9419f3dd1ccc9aa1c26a1e43da3ecd20b0d/natsort-8.4.0-py3-none-any.whl", hash = "sha256:4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c", size = 38268, upload-time = "2023-06-20T04:17:17.522Z" },
+]
+
+[[package]]
+name = "nbclient"
+version = "0.10.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jupyter-client" },
+ { name = "jupyter-core" },
+ { name = "nbformat" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" },
+]
+
+[[package]]
+name = "nbconvert"
+version = "7.16.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "beautifulsoup4" },
+ { name = "bleach", extra = ["css"] },
+ { name = "defusedxml" },
+ { name = "jinja2" },
+ { name = "jupyter-core" },
+ { name = "jupyterlab-pygments" },
+ { name = "markupsafe" },
+ { name = "mistune" },
+ { name = "nbclient" },
+ { name = "nbformat" },
+ { name = "packaging" },
+ { name = "pandocfilters" },
+ { name = "pygments" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" },
+]
+
+[[package]]
+name = "nbformat"
+version = "5.10.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fastjsonschema" },
+ { name = "jsonschema" },
+ { name = "jupyter-core" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" },
+]
+
+[[package]]
+name = "nbsphinx"
+version = "0.9.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils" },
+ { name = "jinja2" },
+ { name = "nbconvert" },
+ { name = "nbformat" },
+ { name = "sphinx" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1e/84/b1856b7651ac34e965aa567a158714c7f3bd42a1b1ce76bf423ffb99872c/nbsphinx-0.9.7.tar.gz", hash = "sha256:abd298a686d55fa894ef697c51d44f24e53aa312dadae38e82920f250a5456fe", size = 180479, upload-time = "2025-03-03T19:46:08.069Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/49/2d/8c8e635bcc6757573d311bb3c5445426382f280da32b8cd6d82d501ef4a4/nbsphinx-0.9.7-py3-none-any.whl", hash = "sha256:7292c3767fea29e405c60743eee5393682a83982ab202ff98f5eb2db02629da8", size = 31660, upload-time = "2025-03-03T19:46:06.581Z" },
+]
+
+[[package]]
+name = "nest-asyncio"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" },
+]
+
+[[package]]
+name = "nodeenv"
+version = "1.9.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" },
+]
+
+[[package]]
+name = "numba"
+version = "0.62.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "llvmlite" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a3/20/33dbdbfe60e5fd8e3dbfde299d106279a33d9f8308346022316781368591/numba-0.62.1.tar.gz", hash = "sha256:7b774242aa890e34c21200a1fc62e5b5757d5286267e71103257f4e2af0d5161", size = 2749817, upload-time = "2025-09-29T10:46:31.551Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/dd/5f/8b3491dd849474f55e33c16ef55678ace1455c490555337899c35826836c/numba-0.62.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:f43e24b057714e480fe44bc6031de499e7cf8150c63eb461192caa6cc8530bc8", size = 2684279, upload-time = "2025-09-29T10:43:37.213Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/18/71969149bfeb65a629e652b752b80167fe8a6a6f6e084f1f2060801f7f31/numba-0.62.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:57cbddc53b9ee02830b828a8428757f5c218831ccc96490a314ef569d8342b7b", size = 2687330, upload-time = "2025-09-29T10:43:59.601Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/7d/403be3fecae33088027bc8a95dc80a2fda1e3beff3e0e5fc4374ada3afbe/numba-0.62.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:604059730c637c7885386521bb1b0ddcbc91fd56131a6dcc54163d6f1804c872", size = 3739727, upload-time = "2025-09-29T10:42:45.922Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/c3/3d910d08b659a6d4c62ab3cd8cd93c4d8b7709f55afa0d79a87413027ff6/numba-0.62.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d6c540880170bee817011757dc9049dba5a29db0c09b4d2349295991fe3ee55f", size = 3445490, upload-time = "2025-09-29T10:43:12.692Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/82/9d425c2f20d9f0a37f7cb955945a553a00fa06a2b025856c3550227c5543/numba-0.62.1-cp311-cp311-win_amd64.whl", hash = "sha256:03de6d691d6b6e2b76660ba0f38f37b81ece8b2cc524a62f2a0cfae2bfb6f9da", size = 2745550, upload-time = "2025-09-29T10:44:20.571Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/fa/30fa6873e9f821c0ae755915a3ca444e6ff8d6a7b6860b669a3d33377ac7/numba-0.62.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:1b743b32f8fa5fff22e19c2e906db2f0a340782caf024477b97801b918cf0494", size = 2685346, upload-time = "2025-09-29T10:43:43.677Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/d5/504ce8dc46e0dba2790c77e6b878ee65b60fe3e7d6d0006483ef6fde5a97/numba-0.62.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90fa21b0142bcf08ad8e32a97d25d0b84b1e921bc9423f8dda07d3652860eef6", size = 2688139, upload-time = "2025-09-29T10:44:04.894Z" },
+ { url = "https://files.pythonhosted.org/packages/50/5f/6a802741176c93f2ebe97ad90751894c7b0c922b52ba99a4395e79492205/numba-0.62.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6ef84d0ac19f1bf80431347b6f4ce3c39b7ec13f48f233a48c01e2ec06ecbc59", size = 3796453, upload-time = "2025-09-29T10:42:52.771Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/df/efd21527d25150c4544eccc9d0b7260a5dec4b7e98b5a581990e05a133c0/numba-0.62.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9315cc5e441300e0ca07c828a627d92a6802bcbf27c5487f31ae73783c58da53", size = 3496451, upload-time = "2025-09-29T10:43:19.279Z" },
+ { url = "https://files.pythonhosted.org/packages/80/44/79bfdab12a02796bf4f1841630355c82b5a69933b1d50eb15c7fa37dabe8/numba-0.62.1-cp312-cp312-win_amd64.whl", hash = "sha256:44e3aa6228039992f058f5ebfcfd372c83798e9464297bdad8cc79febcf7891e", size = 2745552, upload-time = "2025-09-29T10:44:26.399Z" },
+ { url = "https://files.pythonhosted.org/packages/22/76/501ea2c07c089ef1386868f33dff2978f43f51b854e34397b20fc55e0a58/numba-0.62.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:b72489ba8411cc9fdcaa2458d8f7677751e94f0109eeb53e5becfdc818c64afb", size = 2685766, upload-time = "2025-09-29T10:43:49.161Z" },
+ { url = "https://files.pythonhosted.org/packages/80/68/444986ed95350c0611d5c7b46828411c222ce41a0c76707c36425d27ce29/numba-0.62.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:44a1412095534a26fb5da2717bc755b57da5f3053965128fe3dc286652cc6a92", size = 2688741, upload-time = "2025-09-29T10:44:10.07Z" },
+ { url = "https://files.pythonhosted.org/packages/78/7e/bf2e3634993d57f95305c7cee4c9c6cb3c9c78404ee7b49569a0dfecfe33/numba-0.62.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8c9460b9e936c5bd2f0570e20a0a5909ee6e8b694fd958b210e3bde3a6dba2d7", size = 3804576, upload-time = "2025-09-29T10:42:59.53Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/b6/8a1723fff71f63bbb1354bdc60a1513a068acc0f5322f58da6f022d20247/numba-0.62.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:728f91a874192df22d74e3fd42c12900b7ce7190b1aad3574c6c61b08313e4c5", size = 3503367, upload-time = "2025-09-29T10:43:26.326Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/ec/9d414e7a80d6d1dc4af0e07c6bfe293ce0b04ea4d0ed6c45dad9bd6e72eb/numba-0.62.1-cp313-cp313-win_amd64.whl", hash = "sha256:bbf3f88b461514287df66bc8d0307e949b09f2b6f67da92265094e8fa1282dd8", size = 2745529, upload-time = "2025-09-29T10:44:31.738Z" },
+]
+
+[[package]]
+name = "numcodecs"
+version = "0.16.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f6/48/6188e359b90a9d8a1850f2bc888c023e66f4a8b2b496820babbea414f008/numcodecs-0.16.3.tar.gz", hash = "sha256:53d705865faaf0a7927c973af3777532001c8fbb653de119c1e844608614d799", size = 6275704, upload-time = "2025-09-18T18:54:57.221Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d4/cc/917a85972537498f2bbd7914047efc98babc8667587ceb9dcb228378978a/numcodecs-0.16.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:95c9f2a49bef10cf91ad614a761cba9bfe96656b60c12540e1080de5d909b4ca", size = 1642356, upload-time = "2025-09-18T18:54:36.402Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/6a/64c25a089e8537441fe67c09ecb7f3f7fb5d98cd04faf01f605d43aca41c/numcodecs-0.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2afe73d5ebaf9ca0cd5c83aad945da80d29a33d860a80d43a7248491d8813ff", size = 1169186, upload-time = "2025-09-18T18:54:37.838Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/a0/0de627baeb43e2045a3d4b3de99bf8b69af329a33df1ed4cda468d70c1fb/numcodecs-0.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:913f08194d82dcb37594e6705e6d4ae6ccd4b6571500b832fb3e4a155de1dfe8", size = 8341668, upload-time = "2025-09-18T18:54:39.444Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/0f/49d1f74a216149240c4b9403218111f11670bd11af0919fda357bb056bf2/numcodecs-0.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85a7f1cae9eb18b85709af46570bf9c60056e7155c4c8f610e8080c68124d0e5", size = 8866611, upload-time = "2025-09-18T18:54:41.168Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/51/03aece765108fe247717105b5131856546e5428f22a56a14ffdebd017424/numcodecs-0.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:f7bb7f2c46eb7ec8a1c5f8d8fe1a72c222256dd6d6df5af9eaac7a6b905f3575", size = 806787, upload-time = "2025-09-18T18:54:42.78Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/78/e4b34803a3aa1d0769919695de4b133266c18c80c474d32ebc462fa1a9bd/numcodecs-0.16.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c77454d92941a335d148b0b822f5d4783103f392774d5d76283bbf7f21b49529", size = 1681108, upload-time = "2025-09-18T18:54:43.856Z" },
+ { url = "https://files.pythonhosted.org/packages/25/cf/ca36f463b03a4097767d2a1c1b72f31810e8c6384e9449dd9b925203783c/numcodecs-0.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:270e7a33ee96bdf5c957acf25a2487002a233811a125a155c400c2f036b69c73", size = 1165589, upload-time = "2025-09-18T18:54:44.954Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/ae/670260c3c4b5ed34a0674561355f3d4ce7fcbdf09a667e5bc841526d271c/numcodecs-0.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12f43fa4a347d1dba775c4506a1c9b15b90144c258433b81f79f1c1b1a990db5", size = 8316365, upload-time = "2025-09-18T18:54:46.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/fa/94e022419c751a60ff0f53642ebae5ef81ed3cc3640f958588e3ad3dc18d/numcodecs-0.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44869ef564a50aa545215c6a0d42ba5bbc34e9715523fb2336ada3d1fb2b331d", size = 8846228, upload-time = "2025-09-18T18:54:47.858Z" },
+ { url = "https://files.pythonhosted.org/packages/71/60/f23733589f3e059bf8589508acd23ffeec230bdf179f138a54f5ab16e0a6/numcodecs-0.16.3-cp312-cp312-win_amd64.whl", hash = "sha256:9aae6996172ba10c5f5111b2998709071b5aeba6b58b1ee0b26b61ed6aa7f2f4", size = 806260, upload-time = "2025-09-18T18:54:49.41Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/d5/d3536d06ac1e5fb848a3186958204082b68b106364c9a3669652dd786731/numcodecs-0.16.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:947406b01c20f2ce7ce2e631e7f21b782e8a9d4b57b374a41c9e7b1341a8f3a2", size = 1677129, upload-time = "2025-09-18T18:54:50.5Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/fd/b0513a3428dc2b38ec85eea771703ae69c49f09b9650d6c44c9105c80073/numcodecs-0.16.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7cf50e351398a34b45817974c411527629e88937b7683695e276afd65da6ed6f", size = 1159058, upload-time = "2025-09-18T18:54:51.675Z" },
+ { url = "https://files.pythonhosted.org/packages/98/05/b7c127283cfb154a97abb284363825401b69302d71a28608af66f73257cc/numcodecs-0.16.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7938502fcc060ed9543814f38ca67048b33d7bd2667756e36e6b1060455b17e", size = 8260987, upload-time = "2025-09-18T18:54:52.883Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/46/320d960aff884bc63abaaf846ffa3de4803e83e8070b6f84c5688464839c/numcodecs-0.16.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:010d628c95be1214536fb22c0df4ced58da954b404b1fcb25ddebf64e4a3f7f3", size = 8805295, upload-time = "2025-09-18T18:54:54.698Z" },
+ { url = "https://files.pythonhosted.org/packages/31/ae/acc2e0f1f49ba32afa2174578f170673139248ef86f77e334f2619133867/numcodecs-0.16.3-cp313-cp313-win_amd64.whl", hash = "sha256:e83115e3c32de798c7b7164503e06aae9f9746c1cef564d029616eb44bd6cd90", size = 803204, upload-time = "2025-09-18T18:54:56.192Z" },
+]
+
+[package.optional-dependencies]
+crc32c = [
+ { name = "crc32c" },
+]
+
+[[package]]
+name = "numpy"
+version = "2.3.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b5/f4/098d2270d52b41f1bd7db9fc288aaa0400cb48c2a3e2af6fa365d9720947/numpy-2.3.4.tar.gz", hash = "sha256:a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a", size = 20582187, upload-time = "2025-10-15T16:18:11.77Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/e7/0e07379944aa8afb49a556a2b54587b828eb41dc9adc56fb7615b678ca53/numpy-2.3.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e78aecd2800b32e8347ce49316d3eaf04aed849cd5b38e0af39f829a4e59f5eb", size = 21259519, upload-time = "2025-10-15T16:15:19.012Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/cb/5a69293561e8819b09e34ed9e873b9a82b5f2ade23dce4c51dc507f6cfe1/numpy-2.3.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd09cc5d65bda1e79432859c40978010622112e9194e581e3415a3eccc7f43f", size = 14452796, upload-time = "2025-10-15T16:15:23.094Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/04/ff11611200acd602a1e5129e36cfd25bf01ad8e5cf927baf2e90236eb02e/numpy-2.3.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:1b219560ae2c1de48ead517d085bc2d05b9433f8e49d0955c82e8cd37bd7bf36", size = 5381639, upload-time = "2025-10-15T16:15:25.572Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/77/e95c757a6fe7a48d28a009267408e8aa382630cc1ad1db7451b3bc21dbb4/numpy-2.3.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:bafa7d87d4c99752d07815ed7a2c0964f8ab311eb8168f41b910bd01d15b6032", size = 6914296, upload-time = "2025-10-15T16:15:27.079Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/d2/137c7b6841c942124eae921279e5c41b1c34bab0e6fc60c7348e69afd165/numpy-2.3.4-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36dc13af226aeab72b7abad501d370d606326a0029b9f435eacb3b8c94b8a8b7", size = 14591904, upload-time = "2025-10-15T16:15:29.044Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/32/67e3b0f07b0aba57a078c4ab777a9e8e6bc62f24fb53a2337f75f9691699/numpy-2.3.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7b2f9a18b5ff9824a6af80de4f37f4ec3c2aab05ef08f51c77a093f5b89adda", size = 16939602, upload-time = "2025-10-15T16:15:31.106Z" },
+ { url = "https://files.pythonhosted.org/packages/95/22/9639c30e32c93c4cee3ccdb4b09c2d0fbff4dcd06d36b357da06146530fb/numpy-2.3.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9984bd645a8db6ca15d850ff996856d8762c51a2239225288f08f9050ca240a0", size = 16372661, upload-time = "2025-10-15T16:15:33.546Z" },
+ { url = "https://files.pythonhosted.org/packages/12/e9/a685079529be2b0156ae0c11b13d6be647743095bb51d46589e95be88086/numpy-2.3.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:64c5825affc76942973a70acf438a8ab618dbd692b84cd5ec40a0a0509edc09a", size = 18884682, upload-time = "2025-10-15T16:15:36.105Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/85/f6f00d019b0cc741e64b4e00ce865a57b6bed945d1bbeb1ccadbc647959b/numpy-2.3.4-cp311-cp311-win32.whl", hash = "sha256:ed759bf7a70342f7817d88376eb7142fab9fef8320d6019ef87fae05a99874e1", size = 6570076, upload-time = "2025-10-15T16:15:38.225Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/10/f8850982021cb90e2ec31990291f9e830ce7d94eef432b15066e7cbe0bec/numpy-2.3.4-cp311-cp311-win_amd64.whl", hash = "sha256:faba246fb30ea2a526c2e9645f61612341de1a83fb1e0c5edf4ddda5a9c10996", size = 13089358, upload-time = "2025-10-15T16:15:40.404Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/ad/afdd8351385edf0b3445f9e24210a9c3971ef4de8fd85155462fc4321d79/numpy-2.3.4-cp311-cp311-win_arm64.whl", hash = "sha256:4c01835e718bcebe80394fd0ac66c07cbb90147ebbdad3dcecd3f25de2ae7e2c", size = 10462292, upload-time = "2025-10-15T16:15:42.896Z" },
+ { url = "https://files.pythonhosted.org/packages/96/7a/02420400b736f84317e759291b8edaeee9dc921f72b045475a9cbdb26b17/numpy-2.3.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef1b5a3e808bc40827b5fa2c8196151a4c5abe110e1726949d7abddfe5c7ae11", size = 20957727, upload-time = "2025-10-15T16:15:44.9Z" },
+ { url = "https://files.pythonhosted.org/packages/18/90/a014805d627aa5750f6f0e878172afb6454552da929144b3c07fcae1bb13/numpy-2.3.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c2f91f496a87235c6aaf6d3f3d89b17dba64996abadccb289f48456cff931ca9", size = 14187262, upload-time = "2025-10-15T16:15:47.761Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/e4/0a94b09abe89e500dc748e7515f21a13e30c5c3fe3396e6d4ac108c25fca/numpy-2.3.4-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f77e5b3d3da652b474cc80a14084927a5e86a5eccf54ca8ca5cbd697bf7f2667", size = 5115992, upload-time = "2025-10-15T16:15:50.144Z" },
+ { url = "https://files.pythonhosted.org/packages/88/dd/db77c75b055c6157cbd4f9c92c4458daef0dd9cbe6d8d2fe7f803cb64c37/numpy-2.3.4-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:8ab1c5f5ee40d6e01cbe96de5863e39b215a4d24e7d007cad56c7184fdf4aeef", size = 6648672, upload-time = "2025-10-15T16:15:52.442Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/e6/e31b0d713719610e406c0ea3ae0d90760465b086da8783e2fd835ad59027/numpy-2.3.4-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77b84453f3adcb994ddbd0d1c5d11db2d6bda1a2b7fd5ac5bd4649d6f5dc682e", size = 14284156, upload-time = "2025-10-15T16:15:54.351Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/58/30a85127bfee6f108282107caf8e06a1f0cc997cb6b52cdee699276fcce4/numpy-2.3.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4121c5beb58a7f9e6dfdee612cb24f4df5cd4db6e8261d7f4d7450a997a65d6a", size = 16641271, upload-time = "2025-10-15T16:15:56.67Z" },
+ { url = "https://files.pythonhosted.org/packages/06/f2/2e06a0f2adf23e3ae29283ad96959267938d0efd20a2e25353b70065bfec/numpy-2.3.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:65611ecbb00ac9846efe04db15cbe6186f562f6bb7e5e05f077e53a599225d16", size = 16059531, upload-time = "2025-10-15T16:15:59.412Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/e7/b106253c7c0d5dc352b9c8fab91afd76a93950998167fa3e5afe4ef3a18f/numpy-2.3.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dabc42f9c6577bcc13001b8810d300fe814b4cfbe8a92c873f269484594f9786", size = 18578983, upload-time = "2025-10-15T16:16:01.804Z" },
+ { url = "https://files.pythonhosted.org/packages/73/e3/04ecc41e71462276ee867ccbef26a4448638eadecf1bc56772c9ed6d0255/numpy-2.3.4-cp312-cp312-win32.whl", hash = "sha256:a49d797192a8d950ca59ee2d0337a4d804f713bb5c3c50e8db26d49666e351dc", size = 6291380, upload-time = "2025-10-15T16:16:03.938Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/a8/566578b10d8d0e9955b1b6cd5db4e9d4592dd0026a941ff7994cedda030a/numpy-2.3.4-cp312-cp312-win_amd64.whl", hash = "sha256:985f1e46358f06c2a09921e8921e2c98168ed4ae12ccd6e5e87a4f1857923f32", size = 12787999, upload-time = "2025-10-15T16:16:05.801Z" },
+ { url = "https://files.pythonhosted.org/packages/58/22/9c903a957d0a8071b607f5b1bff0761d6e608b9a965945411f867d515db1/numpy-2.3.4-cp312-cp312-win_arm64.whl", hash = "sha256:4635239814149e06e2cb9db3dd584b2fa64316c96f10656983b8026a82e6e4db", size = 10197412, upload-time = "2025-10-15T16:16:07.854Z" },
+ { url = "https://files.pythonhosted.org/packages/57/7e/b72610cc91edf138bc588df5150957a4937221ca6058b825b4725c27be62/numpy-2.3.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c090d4860032b857d94144d1a9976b8e36709e40386db289aaf6672de2a81966", size = 20950335, upload-time = "2025-10-15T16:16:10.304Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/46/bdd3370dcea2f95ef14af79dbf81e6927102ddf1cc54adc0024d61252fd9/numpy-2.3.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a13fc473b6db0be619e45f11f9e81260f7302f8d180c49a22b6e6120022596b3", size = 14179878, upload-time = "2025-10-15T16:16:12.595Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/01/5a67cb785bda60f45415d09c2bc245433f1c68dd82eef9c9002c508b5a65/numpy-2.3.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:3634093d0b428e6c32c3a69b78e554f0cd20ee420dcad5a9f3b2a63762ce4197", size = 5108673, upload-time = "2025-10-15T16:16:14.877Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cd/8428e23a9fcebd33988f4cb61208fda832800ca03781f471f3727a820704/numpy-2.3.4-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:043885b4f7e6e232d7df4f51ffdef8c36320ee9d5f227b380ea636722c7ed12e", size = 6641438, upload-time = "2025-10-15T16:16:16.805Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/d1/913fe563820f3c6b079f992458f7331278dcd7ba8427e8e745af37ddb44f/numpy-2.3.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ee6a571d1e4f0ea6d5f22d6e5fbd6ed1dc2b18542848e1e7301bd190500c9d7", size = 14281290, upload-time = "2025-10-15T16:16:18.764Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/7e/7d306ff7cb143e6d975cfa7eb98a93e73495c4deabb7d1b5ecf09ea0fd69/numpy-2.3.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fc8a63918b04b8571789688b2780ab2b4a33ab44bfe8ccea36d3eba51228c953", size = 16636543, upload-time = "2025-10-15T16:16:21.072Z" },
+ { url = "https://files.pythonhosted.org/packages/47/6a/8cfc486237e56ccfb0db234945552a557ca266f022d281a2f577b98e955c/numpy-2.3.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:40cc556d5abbc54aabe2b1ae287042d7bdb80c08edede19f0c0afb36ae586f37", size = 16056117, upload-time = "2025-10-15T16:16:23.369Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/0e/42cb5e69ea901e06ce24bfcc4b5664a56f950a70efdcf221f30d9615f3f3/numpy-2.3.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ecb63014bb7f4ce653f8be7f1df8cbc6093a5a2811211770f6606cc92b5a78fd", size = 18577788, upload-time = "2025-10-15T16:16:27.496Z" },
+ { url = "https://files.pythonhosted.org/packages/86/92/41c3d5157d3177559ef0a35da50f0cda7fa071f4ba2306dd36818591a5bc/numpy-2.3.4-cp313-cp313-win32.whl", hash = "sha256:e8370eb6925bb8c1c4264fec52b0384b44f675f191df91cbe0140ec9f0955646", size = 6282620, upload-time = "2025-10-15T16:16:29.811Z" },
+ { url = "https://files.pythonhosted.org/packages/09/97/fd421e8bc50766665ad35536c2bb4ef916533ba1fdd053a62d96cc7c8b95/numpy-2.3.4-cp313-cp313-win_amd64.whl", hash = "sha256:56209416e81a7893036eea03abcb91c130643eb14233b2515c90dcac963fe99d", size = 12784672, upload-time = "2025-10-15T16:16:31.589Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/df/5474fb2f74970ca8eb978093969b125a84cc3d30e47f82191f981f13a8a0/numpy-2.3.4-cp313-cp313-win_arm64.whl", hash = "sha256:a700a4031bc0fd6936e78a752eefb79092cecad2599ea9c8039c548bc097f9bc", size = 10196702, upload-time = "2025-10-15T16:16:33.902Z" },
+ { url = "https://files.pythonhosted.org/packages/11/83/66ac031464ec1767ea3ed48ce40f615eb441072945e98693bec0bcd056cc/numpy-2.3.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:86966db35c4040fdca64f0816a1c1dd8dbd027d90fca5a57e00e1ca4cd41b879", size = 21049003, upload-time = "2025-10-15T16:16:36.101Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/99/5b14e0e686e61371659a1d5bebd04596b1d72227ce36eed121bb0aeab798/numpy-2.3.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:838f045478638b26c375ee96ea89464d38428c69170360b23a1a50fa4baa3562", size = 14302980, upload-time = "2025-10-15T16:16:39.124Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/44/e9486649cd087d9fc6920e3fc3ac2aba10838d10804b1e179fb7cbc4e634/numpy-2.3.4-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d7315ed1dab0286adca467377c8381cd748f3dc92235f22a7dfc42745644a96a", size = 5231472, upload-time = "2025-10-15T16:16:41.168Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/51/902b24fa8887e5fe2063fd61b1895a476d0bbf46811ab0c7fdf4bd127345/numpy-2.3.4-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:84f01a4d18b2cc4ade1814a08e5f3c907b079c847051d720fad15ce37aa930b6", size = 6739342, upload-time = "2025-10-15T16:16:43.777Z" },
+ { url = "https://files.pythonhosted.org/packages/34/f1/4de9586d05b1962acdcdb1dc4af6646361a643f8c864cef7c852bf509740/numpy-2.3.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:817e719a868f0dacde4abdfc5c1910b301877970195db9ab6a5e2c4bd5b121f7", size = 14354338, upload-time = "2025-10-15T16:16:46.081Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/06/1c16103b425de7969d5a76bdf5ada0804b476fed05d5f9e17b777f1cbefd/numpy-2.3.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85e071da78d92a214212cacea81c6da557cab307f2c34b5f85b628e94803f9c0", size = 16702392, upload-time = "2025-10-15T16:16:48.455Z" },
+ { url = "https://files.pythonhosted.org/packages/34/b2/65f4dc1b89b5322093572b6e55161bb42e3e0487067af73627f795cc9d47/numpy-2.3.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2ec646892819370cf3558f518797f16597b4e4669894a2ba712caccc9da53f1f", size = 16134998, upload-time = "2025-10-15T16:16:51.114Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/11/94ec578896cdb973aaf56425d6c7f2aff4186a5c00fac15ff2ec46998b46/numpy-2.3.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:035796aaaddfe2f9664b9a9372f089cfc88bd795a67bd1bfe15e6e770934cf64", size = 18651574, upload-time = "2025-10-15T16:16:53.429Z" },
+ { url = "https://files.pythonhosted.org/packages/62/b7/7efa763ab33dbccf56dade36938a77345ce8e8192d6b39e470ca25ff3cd0/numpy-2.3.4-cp313-cp313t-win32.whl", hash = "sha256:fea80f4f4cf83b54c3a051f2f727870ee51e22f0248d3114b8e755d160b38cfb", size = 6413135, upload-time = "2025-10-15T16:16:55.992Z" },
+ { url = "https://files.pythonhosted.org/packages/43/70/aba4c38e8400abcc2f345e13d972fb36c26409b3e644366db7649015f291/numpy-2.3.4-cp313-cp313t-win_amd64.whl", hash = "sha256:15eea9f306b98e0be91eb344a94c0e630689ef302e10c2ce5f7e11905c704f9c", size = 12928582, upload-time = "2025-10-15T16:16:57.943Z" },
+ { url = "https://files.pythonhosted.org/packages/67/63/871fad5f0073fc00fbbdd7232962ea1ac40eeaae2bba66c76214f7954236/numpy-2.3.4-cp313-cp313t-win_arm64.whl", hash = "sha256:b6c231c9c2fadbae4011ca5e7e83e12dc4a5072f1a1d85a0a7b3ed754d145a40", size = 10266691, upload-time = "2025-10-15T16:17:00.048Z" },
+ { url = "https://files.pythonhosted.org/packages/72/71/ae6170143c115732470ae3a2d01512870dd16e0953f8a6dc89525696069b/numpy-2.3.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:81c3e6d8c97295a7360d367f9f8553973651b76907988bb6066376bc2252f24e", size = 20955580, upload-time = "2025-10-15T16:17:02.509Z" },
+ { url = "https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff", size = 14188056, upload-time = "2025-10-15T16:17:04.873Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/3d/d85f6700d0a4aa4f9491030e1021c2b2b7421b2b38d01acd16734a2bfdc7/numpy-2.3.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:62b2198c438058a20b6704351b35a1d7db881812d8512d67a69c9de1f18ca05f", size = 5116555, upload-time = "2025-10-15T16:17:07.499Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/04/82c1467d86f47eee8a19a464c92f90a9bb68ccf14a54c5224d7031241ffb/numpy-2.3.4-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:9d729d60f8d53a7361707f4b68a9663c968882dd4f09e0d58c044c8bf5faee7b", size = 6643581, upload-time = "2025-10-15T16:17:09.774Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/d3/c79841741b837e293f48bd7db89d0ac7a4f2503b382b78a790ef1dc778a5/numpy-2.3.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd0c630cf256b0a7fd9d0a11c9413b42fef5101219ce6ed5a09624f5a65392c7", size = 14299186, upload-time = "2025-10-15T16:17:11.937Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2", size = 16638601, upload-time = "2025-10-15T16:17:14.391Z" },
+ { url = "https://files.pythonhosted.org/packages/93/87/1c1de269f002ff0a41173fe01dcc925f4ecff59264cd8f96cf3b60d12c9b/numpy-2.3.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:15fb27364ed84114438fff8aaf998c9e19adbeba08c0b75409f8c452a8692c52", size = 16074219, upload-time = "2025-10-15T16:17:17.058Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/28/18f72ee77408e40a76d691001ae599e712ca2a47ddd2c4f695b16c65f077/numpy-2.3.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:85d9fb2d8cd998c84d13a79a09cc0c1091648e848e4e6249b0ccd7f6b487fa26", size = 18576702, upload-time = "2025-10-15T16:17:19.379Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/76/95650169b465ececa8cf4b2e8f6df255d4bf662775e797ade2025cc51ae6/numpy-2.3.4-cp314-cp314-win32.whl", hash = "sha256:e73d63fd04e3a9d6bc187f5455d81abfad05660b212c8804bf3b407e984cd2bc", size = 6337136, upload-time = "2025-10-15T16:17:22.886Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/89/a231a5c43ede5d6f77ba4a91e915a87dea4aeea76560ba4d2bf185c683f0/numpy-2.3.4-cp314-cp314-win_amd64.whl", hash = "sha256:3da3491cee49cf16157e70f607c03a217ea6647b1cea4819c4f48e53d49139b9", size = 12920542, upload-time = "2025-10-15T16:17:24.783Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/0c/ae9434a888f717c5ed2ff2393b3f344f0ff6f1c793519fa0c540461dc530/numpy-2.3.4-cp314-cp314-win_arm64.whl", hash = "sha256:6d9cd732068e8288dbe2717177320723ccec4fb064123f0caf9bbd90ab5be868", size = 10480213, upload-time = "2025-10-15T16:17:26.935Z" },
+ { url = "https://files.pythonhosted.org/packages/83/4b/c4a5f0841f92536f6b9592694a5b5f68c9ab37b775ff342649eadf9055d3/numpy-2.3.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:22758999b256b595cf0b1d102b133bb61866ba5ceecf15f759623b64c020c9ec", size = 21052280, upload-time = "2025-10-15T16:17:29.638Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/80/90308845fc93b984d2cc96d83e2324ce8ad1fd6efea81b324cba4b673854/numpy-2.3.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9cb177bc55b010b19798dc5497d540dea67fd13a8d9e882b2dae71de0cf09eb3", size = 14302930, upload-time = "2025-10-15T16:17:32.384Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/4e/07439f22f2a3b247cec4d63a713faae55e1141a36e77fb212881f7cda3fb/numpy-2.3.4-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0f2bcc76f1e05e5ab58893407c63d90b2029908fa41f9f1cc51eecce936c3365", size = 5231504, upload-time = "2025-10-15T16:17:34.515Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/de/1e11f2547e2fe3d00482b19721855348b94ada8359aef5d40dd57bfae9df/numpy-2.3.4-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dc20bde86802df2ed8397a08d793da0ad7a5fd4ea3ac85d757bf5dd4ad7c252", size = 6739405, upload-time = "2025-10-15T16:17:36.128Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/40/8cd57393a26cebe2e923005db5134a946c62fa56a1087dc7c478f3e30837/numpy-2.3.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e199c087e2aa71c8f9ce1cb7a8e10677dc12457e7cc1be4798632da37c3e86e", size = 14354866, upload-time = "2025-10-15T16:17:38.884Z" },
+ { url = "https://files.pythonhosted.org/packages/93/39/5b3510f023f96874ee6fea2e40dfa99313a00bf3ab779f3c92978f34aace/numpy-2.3.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85597b2d25ddf655495e2363fe044b0ae999b75bc4d630dc0d886484b03a5eb0", size = 16703296, upload-time = "2025-10-15T16:17:41.564Z" },
+ { url = "https://files.pythonhosted.org/packages/41/0d/19bb163617c8045209c1996c4e427bccbc4bbff1e2c711f39203c8ddbb4a/numpy-2.3.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:04a69abe45b49c5955923cf2c407843d1c85013b424ae8a560bba16c92fe44a0", size = 16136046, upload-time = "2025-10-15T16:17:43.901Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/c1/6dba12fdf68b02a21ac411c9df19afa66bed2540f467150ca64d246b463d/numpy-2.3.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e1708fac43ef8b419c975926ce1eaf793b0c13b7356cfab6ab0dc34c0a02ac0f", size = 18652691, upload-time = "2025-10-15T16:17:46.247Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/73/f85056701dbbbb910c51d846c58d29fd46b30eecd2b6ba760fc8b8a1641b/numpy-2.3.4-cp314-cp314t-win32.whl", hash = "sha256:863e3b5f4d9915aaf1b8ec79ae560ad21f0b8d5e3adc31e73126491bb86dee1d", size = 6485782, upload-time = "2025-10-15T16:17:48.872Z" },
+ { url = "https://files.pythonhosted.org/packages/17/90/28fa6f9865181cb817c2471ee65678afa8a7e2a1fb16141473d5fa6bacc3/numpy-2.3.4-cp314-cp314t-win_amd64.whl", hash = "sha256:962064de37b9aef801d33bc579690f8bfe6c5e70e29b61783f60bcba838a14d6", size = 13113301, upload-time = "2025-10-15T16:17:50.938Z" },
+ { url = "https://files.pythonhosted.org/packages/54/23/08c002201a8e7e1f9afba93b97deceb813252d9cfd0d3351caed123dcf97/numpy-2.3.4-cp314-cp314t-win_arm64.whl", hash = "sha256:8b5a9a39c45d852b62693d9b3f3e0fe052541f804296ff401a72a1b60edafb29", size = 10547532, upload-time = "2025-10-15T16:17:53.48Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/b6/64898f51a86ec88ca1257a59c1d7fd077b60082a119affefcdf1dd0df8ca/numpy-2.3.4-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6e274603039f924c0fe5cb73438fa9246699c78a6df1bd3decef9ae592ae1c05", size = 21131552, upload-time = "2025-10-15T16:17:55.845Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4c/f135dc6ebe2b6a3c77f4e4838fa63d350f85c99462012306ada1bd4bc460/numpy-2.3.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d149aee5c72176d9ddbc6803aef9c0f6d2ceeea7626574fc68518da5476fa346", size = 14377796, upload-time = "2025-10-15T16:17:58.308Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/a4/f33f9c23fcc13dd8412fc8614559b5b797e0aba9d8e01dfa8bae10c84004/numpy-2.3.4-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:6d34ed9db9e6395bb6cd33286035f73a59b058169733a9db9f85e650b88df37e", size = 5306904, upload-time = "2025-10-15T16:18:00.596Z" },
+ { url = "https://files.pythonhosted.org/packages/28/af/c44097f25f834360f9fb960fa082863e0bad14a42f36527b2a121abdec56/numpy-2.3.4-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:fdebe771ca06bb8d6abce84e51dca9f7921fe6ad34a0c914541b063e9a68928b", size = 6819682, upload-time = "2025-10-15T16:18:02.32Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/8c/cd283b54c3c2b77e188f63e23039844f56b23bba1712318288c13fe86baf/numpy-2.3.4-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e92defe6c08211eb77902253b14fe5b480ebc5112bc741fd5e9cd0608f847", size = 14422300, upload-time = "2025-10-15T16:18:04.271Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/f0/8404db5098d92446b3e3695cf41c6f0ecb703d701cb0b7566ee2177f2eee/numpy-2.3.4-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13b9062e4f5c7ee5c7e5be96f29ba71bc5a37fed3d1d77c37390ae00724d296d", size = 16760806, upload-time = "2025-10-15T16:18:06.668Z" },
+ { url = "https://files.pythonhosted.org/packages/95/8e/2844c3959ce9a63acc7c8e50881133d86666f0420bcde695e115ced0920f/numpy-2.3.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:81b3a59793523e552c4a96109dde028aa4448ae06ccac5a76ff6532a85558a7f", size = 12973130, upload-time = "2025-10-15T16:18:09.397Z" },
+]
+
+[[package]]
+name = "numpy-groupies"
+version = "0.11.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/ff/0559b586423d9a59feac52c2261501106dcd61e45214862de5fbb03b78cb/numpy_groupies-0.11.3.tar.gz", hash = "sha256:aed4afdad55e856b9e737fe4b4673c77e47c2f887c3663a18baaa200407c23e0", size = 159159, upload-time = "2025-05-22T11:47:58.364Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b0/e0/760e73c111193db5ca37712a148e4807d1b0c60302ab31e4ada6528ca34d/numpy_groupies-0.11.3-py3-none-any.whl", hash = "sha256:d4065dd5d56fda941ad5a7c80a7f80b49f671ed148aaa3e243a0e4caa71adcb3", size = 40784, upload-time = "2025-05-22T11:47:56.997Z" },
+]
+
+[[package]]
+name = "openpyxl"
+version = "3.1.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "et-xmlfile" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3d/f9/88d94a75de065ea32619465d2f77b29a0469500e99012523b91cc4141cd1/openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050", size = 186464, upload-time = "2024-06-28T14:03:44.161Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c0/da/977ded879c29cbd04de313843e76868e6e13408a94ed6b987245dc7c8506/openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2", size = 250910, upload-time = "2024-06-28T14:03:41.161Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "pandas"
+version = "2.3.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "python-dateutil" },
+ { name = "pytz" },
+ { name = "tzdata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" },
+ { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" },
+ { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" },
+ { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" },
+ { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" },
+ { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" },
+ { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" },
+ { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" },
+ { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" },
+ { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" },
+ { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" },
+ { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" },
+ { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" },
+ { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" },
+ { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" },
+ { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" },
+ { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" },
+ { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" },
+]
+
+[package.optional-dependencies]
+parquet = [
+ { name = "pyarrow" },
+]
+
+[[package]]
+name = "pandas-stubs"
+version = "2.3.2.250926"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "types-pytz" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1b/3b/32be58a125db39d0b5f62cc93795f32b5bb2915bd5c4a46f0e35171985e2/pandas_stubs-2.3.2.250926.tar.gz", hash = "sha256:c64b9932760ceefb96a3222b953e6a251321a9832a28548be6506df473a66406", size = 102147, upload-time = "2025-09-26T19:50:39.522Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/96/1e4a035eaf4dce9610aac6e43026d0c6baa05773daf6d21e635a4fe19e21/pandas_stubs-2.3.2.250926-py3-none-any.whl", hash = "sha256:81121818453dcfe00f45c852f4dceee043640b813830f6e7bd084a4ef7ff7270", size = 159995, upload-time = "2025-09-26T19:50:38.241Z" },
+]
+
+[[package]]
+name = "pandoc"
+version = "2.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "plumbum" },
+ { name = "ply" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/10/9a/e3186e760c57ee5f1c27ea5cea577a0ff9abfca51eefcb4d9a4cd39aff2e/pandoc-2.4.tar.gz", hash = "sha256:ecd1f8cbb7f4180c6b5db4a17a7c1a74df519995f5f186ef81ce72a9cbd0dd9a", size = 34635, upload-time = "2024-08-07T14:33:58.016Z" }
+
+[[package]]
+name = "pandocfilters"
+version = "1.5.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" },
+]
+
+[[package]]
+name = "paramiko"
+version = "4.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "bcrypt" },
+ { name = "cryptography", version = "45.0.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
+ { name = "cryptography", version = "46.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
+ { name = "invoke" },
+ { name = "pynacl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1f/e7/81fdcbc7f190cdb058cffc9431587eb289833bdd633e2002455ca9bb13d4/paramiko-4.0.0.tar.gz", hash = "sha256:6a25f07b380cc9c9a88d2b920ad37167ac4667f8d9886ccebd8f90f654b5d69f", size = 1630743, upload-time = "2025-08-04T01:02:03.711Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/90/a744336f5af32c433bd09af7854599682a383b37cfd78f7de263de6ad6cb/paramiko-4.0.0-py3-none-any.whl", hash = "sha256:0e20e00ac666503bf0b4eda3b6d833465a2b7aff2e2b3d79a8bba5ef144ee3b9", size = 223932, upload-time = "2025-08-04T01:02:02.029Z" },
+]
+
+[[package]]
+name = "parso"
+version = "0.8.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" },
+]
+
+[[package]]
+name = "pexpect"
+version = "4.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "ptyprocess" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" },
+]
+
+[[package]]
+name = "pillow"
+version = "12.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/cace85a1b0c9775a9f8f5d5423c8261c858760e2466c79b2dd184638b056/pillow-12.0.0.tar.gz", hash = "sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353", size = 47008828, upload-time = "2025-10-15T18:24:14.008Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0e/5a/a2f6773b64edb921a756eb0729068acad9fc5208a53f4a349396e9436721/pillow-12.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0fd00cac9c03256c8b2ff58f162ebcd2587ad3e1f2e397eab718c47e24d231cc", size = 5289798, upload-time = "2025-10-15T18:21:47.763Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/05/069b1f8a2e4b5a37493da6c5868531c3f77b85e716ad7a590ef87d58730d/pillow-12.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3475b96f5908b3b16c47533daaa87380c491357d197564e0ba34ae75c0f3257", size = 4650589, upload-time = "2025-10-15T18:21:49.515Z" },
+ { url = "https://files.pythonhosted.org/packages/61/e3/2c820d6e9a36432503ead175ae294f96861b07600a7156154a086ba7111a/pillow-12.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:110486b79f2d112cf6add83b28b627e369219388f64ef2f960fef9ebaf54c642", size = 6230472, upload-time = "2025-10-15T18:21:51.052Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/89/63427f51c64209c5e23d4d52071c8d0f21024d3a8a487737caaf614a5795/pillow-12.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5269cc1caeedb67e6f7269a42014f381f45e2e7cd42d834ede3c703a1d915fe3", size = 8033887, upload-time = "2025-10-15T18:21:52.604Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/1b/c9711318d4901093c15840f268ad649459cd81984c9ec9887756cca049a5/pillow-12.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa5129de4e174daccbc59d0a3b6d20eaf24417d59851c07ebb37aeb02947987c", size = 6343964, upload-time = "2025-10-15T18:21:54.619Z" },
+ { url = "https://files.pythonhosted.org/packages/41/1e/db9470f2d030b4995083044cd8738cdd1bf773106819f6d8ba12597d5352/pillow-12.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bee2a6db3a7242ea309aa7ee8e2780726fed67ff4e5b40169f2c940e7eb09227", size = 7034756, upload-time = "2025-10-15T18:21:56.151Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b0/6177a8bdd5ee4ed87cba2de5a3cc1db55ffbbec6176784ce5bb75aa96798/pillow-12.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:90387104ee8400a7b4598253b4c406f8958f59fcf983a6cea2b50d59f7d63d0b", size = 6458075, upload-time = "2025-10-15T18:21:57.759Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/5e/61537aa6fa977922c6a03253a0e727e6e4a72381a80d63ad8eec350684f2/pillow-12.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc91a56697869546d1b8f0a3ff35224557ae7f881050e99f615e0119bf934b4e", size = 7125955, upload-time = "2025-10-15T18:21:59.372Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/3d/d5033539344ee3cbd9a4d69e12e63ca3a44a739eb2d4c8da350a3d38edd7/pillow-12.0.0-cp311-cp311-win32.whl", hash = "sha256:27f95b12453d165099c84f8a8bfdfd46b9e4bda9e0e4b65f0635430027f55739", size = 6298440, upload-time = "2025-10-15T18:22:00.982Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/42/aaca386de5cc8bd8a0254516957c1f265e3521c91515b16e286c662854c4/pillow-12.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:b583dc9070312190192631373c6c8ed277254aa6e6084b74bdd0a6d3b221608e", size = 6999256, upload-time = "2025-10-15T18:22:02.617Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/f1/9197c9c2d5708b785f631a6dfbfa8eb3fb9672837cb92ae9af812c13b4ed/pillow-12.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:759de84a33be3b178a64c8ba28ad5c135900359e85fb662bc6e403ad4407791d", size = 2436025, upload-time = "2025-10-15T18:22:04.598Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/90/4fcce2c22caf044e660a198d740e7fbc14395619e3cb1abad12192c0826c/pillow-12.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371", size = 5249377, upload-time = "2025-10-15T18:22:05.993Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/e0/ed960067543d080691d47d6938ebccbf3976a931c9567ab2fbfab983a5dd/pillow-12.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082", size = 4650343, upload-time = "2025-10-15T18:22:07.718Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/a1/f81fdeddcb99c044bf7d6faa47e12850f13cee0849537a7d27eeab5534d4/pillow-12.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f", size = 6232981, upload-time = "2025-10-15T18:22:09.287Z" },
+ { url = "https://files.pythonhosted.org/packages/88/e1/9098d3ce341a8750b55b0e00c03f1630d6178f38ac191c81c97a3b047b44/pillow-12.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d", size = 8041399, upload-time = "2025-10-15T18:22:10.872Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/62/a22e8d3b602ae8cc01446d0c57a54e982737f44b6f2e1e019a925143771d/pillow-12.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953", size = 6347740, upload-time = "2025-10-15T18:22:12.769Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/87/424511bdcd02c8d7acf9f65caa09f291a519b16bd83c3fb3374b3d4ae951/pillow-12.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8", size = 7040201, upload-time = "2025-10-15T18:22:14.813Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/4d/435c8ac688c54d11755aedfdd9f29c9eeddf68d150fe42d1d3dbd2365149/pillow-12.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79", size = 6462334, upload-time = "2025-10-15T18:22:16.375Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/f2/ad34167a8059a59b8ad10bc5c72d4d9b35acc6b7c0877af8ac885b5f2044/pillow-12.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba", size = 7134162, upload-time = "2025-10-15T18:22:17.996Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/b1/a7391df6adacf0a5c2cf6ac1cf1fcc1369e7d439d28f637a847f8803beb3/pillow-12.0.0-cp312-cp312-win32.whl", hash = "sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0", size = 6298769, upload-time = "2025-10-15T18:22:19.923Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/0b/d87733741526541c909bbf159e338dcace4f982daac6e5a8d6be225ca32d/pillow-12.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a", size = 7001107, upload-time = "2025-10-15T18:22:21.644Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/96/aaa61ce33cc98421fb6088af2a03be4157b1e7e0e87087c888e2370a7f45/pillow-12.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad", size = 2436012, upload-time = "2025-10-15T18:22:23.621Z" },
+ { url = "https://files.pythonhosted.org/packages/62/f2/de993bb2d21b33a98d031ecf6a978e4b61da207bef02f7b43093774c480d/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643", size = 4045493, upload-time = "2025-10-15T18:22:25.758Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/b6/bc8d0c4c9f6f111a783d045310945deb769b806d7574764234ffd50bc5ea/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4", size = 4120461, upload-time = "2025-10-15T18:22:27.286Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/57/d60d343709366a353dc56adb4ee1e7d8a2cc34e3fbc22905f4167cfec119/pillow-12.0.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399", size = 3576912, upload-time = "2025-10-15T18:22:28.751Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/a4/a0a31467e3f83b94d37568294b01d22b43ae3c5d85f2811769b9c66389dd/pillow-12.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5", size = 5249132, upload-time = "2025-10-15T18:22:30.641Z" },
+ { url = "https://files.pythonhosted.org/packages/83/06/48eab21dd561de2914242711434c0c0eb992ed08ff3f6107a5f44527f5e9/pillow-12.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b", size = 4650099, upload-time = "2025-10-15T18:22:32.73Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/bd/69ed99fd46a8dba7c1887156d3572fe4484e3f031405fcc5a92e31c04035/pillow-12.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3", size = 6230808, upload-time = "2025-10-15T18:22:34.337Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/94/8fad659bcdbf86ed70099cb60ae40be6acca434bbc8c4c0d4ef356d7e0de/pillow-12.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07", size = 8037804, upload-time = "2025-10-15T18:22:36.402Z" },
+ { url = "https://files.pythonhosted.org/packages/20/39/c685d05c06deecfd4e2d1950e9a908aa2ca8bc4e6c3b12d93b9cafbd7837/pillow-12.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e", size = 6345553, upload-time = "2025-10-15T18:22:38.066Z" },
+ { url = "https://files.pythonhosted.org/packages/38/57/755dbd06530a27a5ed74f8cb0a7a44a21722ebf318edbe67ddbd7fb28f88/pillow-12.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344", size = 7037729, upload-time = "2025-10-15T18:22:39.769Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/b6/7e94f4c41d238615674d06ed677c14883103dce1c52e4af16f000338cfd7/pillow-12.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27", size = 6459789, upload-time = "2025-10-15T18:22:41.437Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/14/4448bb0b5e0f22dd865290536d20ec8a23b64e2d04280b89139f09a36bb6/pillow-12.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79", size = 7130917, upload-time = "2025-10-15T18:22:43.152Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/ca/16c6926cc1c015845745d5c16c9358e24282f1e588237a4c36d2b30f182f/pillow-12.0.0-cp313-cp313-win32.whl", hash = "sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098", size = 6302391, upload-time = "2025-10-15T18:22:44.753Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/2a/dd43dcfd6dae9b6a49ee28a8eedb98c7d5ff2de94a5d834565164667b97b/pillow-12.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905", size = 7007477, upload-time = "2025-10-15T18:22:46.838Z" },
+ { url = "https://files.pythonhosted.org/packages/77/f0/72ea067f4b5ae5ead653053212af05ce3705807906ba3f3e8f58ddf617e6/pillow-12.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a", size = 2435918, upload-time = "2025-10-15T18:22:48.399Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/5e/9046b423735c21f0487ea6cb5b10f89ea8f8dfbe32576fe052b5ba9d4e5b/pillow-12.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3", size = 5251406, upload-time = "2025-10-15T18:22:49.905Z" },
+ { url = "https://files.pythonhosted.org/packages/12/66/982ceebcdb13c97270ef7a56c3969635b4ee7cd45227fa707c94719229c5/pillow-12.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced", size = 4653218, upload-time = "2025-10-15T18:22:51.587Z" },
+ { url = "https://files.pythonhosted.org/packages/16/b3/81e625524688c31859450119bf12674619429cab3119eec0e30a7a1029cb/pillow-12.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b", size = 6266564, upload-time = "2025-10-15T18:22:53.215Z" },
+ { url = "https://files.pythonhosted.org/packages/98/59/dfb38f2a41240d2408096e1a76c671d0a105a4a8471b1871c6902719450c/pillow-12.0.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d", size = 8069260, upload-time = "2025-10-15T18:22:54.933Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/3d/378dbea5cd1874b94c312425ca77b0f47776c78e0df2df751b820c8c1d6c/pillow-12.0.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a", size = 6379248, upload-time = "2025-10-15T18:22:56.605Z" },
+ { url = "https://files.pythonhosted.org/packages/84/b0/d525ef47d71590f1621510327acec75ae58c721dc071b17d8d652ca494d8/pillow-12.0.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe", size = 7066043, upload-time = "2025-10-15T18:22:58.53Z" },
+ { url = "https://files.pythonhosted.org/packages/61/2c/aced60e9cf9d0cde341d54bf7932c9ffc33ddb4a1595798b3a5150c7ec4e/pillow-12.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee", size = 6490915, upload-time = "2025-10-15T18:23:00.582Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/26/69dcb9b91f4e59f8f34b2332a4a0a951b44f547c4ed39d3e4dcfcff48f89/pillow-12.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef", size = 7157998, upload-time = "2025-10-15T18:23:02.627Z" },
+ { url = "https://files.pythonhosted.org/packages/61/2b/726235842220ca95fa441ddf55dd2382b52ab5b8d9c0596fe6b3f23dafe8/pillow-12.0.0-cp313-cp313t-win32.whl", hash = "sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9", size = 6306201, upload-time = "2025-10-15T18:23:04.709Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/3d/2afaf4e840b2df71344ababf2f8edd75a705ce500e5dc1e7227808312ae1/pillow-12.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b", size = 7013165, upload-time = "2025-10-15T18:23:06.46Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/75/3fa09aa5cf6ed04bee3fa575798ddf1ce0bace8edb47249c798077a81f7f/pillow-12.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47", size = 2437834, upload-time = "2025-10-15T18:23:08.194Z" },
+ { url = "https://files.pythonhosted.org/packages/54/2a/9a8c6ba2c2c07b71bec92cf63e03370ca5e5f5c5b119b742bcc0cde3f9c5/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9", size = 4045531, upload-time = "2025-10-15T18:23:10.121Z" },
+ { url = "https://files.pythonhosted.org/packages/84/54/836fdbf1bfb3d66a59f0189ff0b9f5f666cee09c6188309300df04ad71fa/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2", size = 4120554, upload-time = "2025-10-15T18:23:12.14Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/cd/16aec9f0da4793e98e6b54778a5fbce4f375c6646fe662e80600b8797379/pillow-12.0.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a", size = 3576812, upload-time = "2025-10-15T18:23:13.962Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/b7/13957fda356dc46339298b351cae0d327704986337c3c69bb54628c88155/pillow-12.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b", size = 5252689, upload-time = "2025-10-15T18:23:15.562Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/f5/eae31a306341d8f331f43edb2e9122c7661b975433de5e447939ae61c5da/pillow-12.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad", size = 4650186, upload-time = "2025-10-15T18:23:17.379Z" },
+ { url = "https://files.pythonhosted.org/packages/86/62/2a88339aa40c4c77e79108facbd307d6091e2c0eb5b8d3cf4977cfca2fe6/pillow-12.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01", size = 6230308, upload-time = "2025-10-15T18:23:18.971Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/33/5425a8992bcb32d1cb9fa3dd39a89e613d09a22f2c8083b7bf43c455f760/pillow-12.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c", size = 8039222, upload-time = "2025-10-15T18:23:20.909Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/61/3f5d3b35c5728f37953d3eec5b5f3e77111949523bd2dd7f31a851e50690/pillow-12.0.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e", size = 6346657, upload-time = "2025-10-15T18:23:23.077Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/be/ee90a3d79271227e0f0a33c453531efd6ed14b2e708596ba5dd9be948da3/pillow-12.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e", size = 7038482, upload-time = "2025-10-15T18:23:25.005Z" },
+ { url = "https://files.pythonhosted.org/packages/44/34/a16b6a4d1ad727de390e9bd9f19f5f669e079e5826ec0f329010ddea492f/pillow-12.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9", size = 6461416, upload-time = "2025-10-15T18:23:27.009Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/39/1aa5850d2ade7d7ba9f54e4e4c17077244ff7a2d9e25998c38a29749eb3f/pillow-12.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab", size = 7131584, upload-time = "2025-10-15T18:23:29.752Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/db/4fae862f8fad0167073a7733973bfa955f47e2cac3dc3e3e6257d10fab4a/pillow-12.0.0-cp314-cp314-win32.whl", hash = "sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b", size = 6400621, upload-time = "2025-10-15T18:23:32.06Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/24/b350c31543fb0107ab2599464d7e28e6f856027aadda995022e695313d94/pillow-12.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b", size = 7142916, upload-time = "2025-10-15T18:23:34.71Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/9b/0ba5a6fd9351793996ef7487c4fdbde8d3f5f75dbedc093bb598648fddf0/pillow-12.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0", size = 2523836, upload-time = "2025-10-15T18:23:36.967Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/7a/ceee0840aebc579af529b523d530840338ecf63992395842e54edc805987/pillow-12.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6", size = 5255092, upload-time = "2025-10-15T18:23:38.573Z" },
+ { url = "https://files.pythonhosted.org/packages/44/76/20776057b4bfd1aef4eeca992ebde0f53a4dce874f3ae693d0ec90a4f79b/pillow-12.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6", size = 4653158, upload-time = "2025-10-15T18:23:40.238Z" },
+ { url = "https://files.pythonhosted.org/packages/82/3f/d9ff92ace07be8836b4e7e87e6a4c7a8318d47c2f1463ffcf121fc57d9cb/pillow-12.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1", size = 6267882, upload-time = "2025-10-15T18:23:42.434Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/7a/4f7ff87f00d3ad33ba21af78bfcd2f032107710baf8280e3722ceec28cda/pillow-12.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e", size = 8071001, upload-time = "2025-10-15T18:23:44.29Z" },
+ { url = "https://files.pythonhosted.org/packages/75/87/fcea108944a52dad8cca0715ae6247e271eb80459364a98518f1e4f480c1/pillow-12.0.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca", size = 6380146, upload-time = "2025-10-15T18:23:46.065Z" },
+ { url = "https://files.pythonhosted.org/packages/91/52/0d31b5e571ef5fd111d2978b84603fce26aba1b6092f28e941cb46570745/pillow-12.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925", size = 7067344, upload-time = "2025-10-15T18:23:47.898Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/f4/2dd3d721f875f928d48e83bb30a434dee75a2531bca839bb996bb0aa5a91/pillow-12.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8", size = 6491864, upload-time = "2025-10-15T18:23:49.607Z" },
+ { url = "https://files.pythonhosted.org/packages/30/4b/667dfcf3d61fc309ba5a15b141845cece5915e39b99c1ceab0f34bf1d124/pillow-12.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4", size = 7158911, upload-time = "2025-10-15T18:23:51.351Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/2f/16cabcc6426c32218ace36bf0d55955e813f2958afddbf1d391849fee9d1/pillow-12.0.0-cp314-cp314t-win32.whl", hash = "sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52", size = 6408045, upload-time = "2025-10-15T18:23:53.177Z" },
+ { url = "https://files.pythonhosted.org/packages/35/73/e29aa0c9c666cf787628d3f0dcf379f4791fba79f4936d02f8b37165bdf8/pillow-12.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a", size = 7148282, upload-time = "2025-10-15T18:23:55.316Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/70/6b41bdcddf541b437bbb9f47f94d2db5d9ddef6c37ccab8c9107743748a4/pillow-12.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7", size = 2525630, upload-time = "2025-10-15T18:23:57.149Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/b3/582327e6c9f86d037b63beebe981425d6811104cb443e8193824ef1a2f27/pillow-12.0.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b22bd8c974942477156be55a768f7aa37c46904c175be4e158b6a86e3a6b7ca8", size = 5215068, upload-time = "2025-10-15T18:23:59.594Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/d6/67748211d119f3b6540baf90f92fae73ae51d5217b171b0e8b5f7e5d558f/pillow-12.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:805ebf596939e48dbb2e4922a1d3852cfc25c38160751ce02da93058b48d252a", size = 4614994, upload-time = "2025-10-15T18:24:01.669Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/e1/f8281e5d844c41872b273b9f2c34a4bf64ca08905668c8ae730eedc7c9fa/pillow-12.0.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cae81479f77420d217def5f54b5b9d279804d17e982e0f2fa19b1d1e14ab5197", size = 5246639, upload-time = "2025-10-15T18:24:03.403Z" },
+ { url = "https://files.pythonhosted.org/packages/94/5a/0d8ab8ffe8a102ff5df60d0de5af309015163bf710c7bb3e8311dd3b3ad0/pillow-12.0.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeaefa96c768fc66818730b952a862235d68825c178f1b3ffd4efd7ad2edcb7c", size = 6986839, upload-time = "2025-10-15T18:24:05.344Z" },
+ { url = "https://files.pythonhosted.org/packages/20/2e/3434380e8110b76cd9eb00a363c484b050f949b4bbe84ba770bb8508a02c/pillow-12.0.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09f2d0abef9e4e2f349305a4f8cc784a8a6c2f58a8c4892eea13b10a943bd26e", size = 5313505, upload-time = "2025-10-15T18:24:07.137Z" },
+ { url = "https://files.pythonhosted.org/packages/57/ca/5a9d38900d9d74785141d6580950fe705de68af735ff6e727cb911b64740/pillow-12.0.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bdee52571a343d721fb2eb3b090a82d959ff37fc631e3f70422e0c2e029f3e76", size = 5963654, upload-time = "2025-10-15T18:24:09.579Z" },
+ { url = "https://files.pythonhosted.org/packages/95/7e/f896623c3c635a90537ac093c6a618ebe1a90d87206e42309cb5d98a1b9e/pillow-12.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:b290fd8aa38422444d4b50d579de197557f182ef1068b75f5aa8558638b8d0a5", size = 6997850, upload-time = "2025-10-15T18:24:11.495Z" },
+]
+
+[[package]]
+name = "pip"
+version = "25.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/16/650289cd3f43d5a2fadfd98c68bd1e1e7f2550a1a5326768cddfbcedb2c5/pip-25.2.tar.gz", hash = "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2", size = 1840021, upload-time = "2025-07-30T21:50:15.401Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/3f/945ef7ab14dc4f9d7f40288d2df998d1837ee0888ec3659c813487572faa/pip-25.2-py3-none-any.whl", hash = "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717", size = 1752557, upload-time = "2025-07-30T21:50:13.323Z" },
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
+]
+
+[[package]]
+name = "plumbum"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f0/5d/49ba324ad4ae5b1a4caefafbce7a1648540129344481f2ed4ef6bb68d451/plumbum-1.9.0.tar.gz", hash = "sha256:e640062b72642c3873bd5bdc3effed75ba4d3c70ef6b6a7b907357a84d909219", size = 319083, upload-time = "2024-10-05T05:59:27.059Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4f/9d/d03542c93bb3d448406731b80f39c3d5601282f778328c22c77d270f4ed4/plumbum-1.9.0-py3-none-any.whl", hash = "sha256:9fd0d3b0e8d86e4b581af36edf3f3bbe9d1ae15b45b8caab28de1bcb27aaa7f5", size = 127970, upload-time = "2024-10-05T05:59:25.102Z" },
+]
+
+[[package]]
+name = "ply"
+version = "3.11"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", size = 159130, upload-time = "2018-02-15T19:01:31.097Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", size = 49567, upload-time = "2018-02-15T19:01:27.172Z" },
+]
+
+[[package]]
+name = "pre-commit"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cfgv" },
+ { name = "identify" },
+ { name = "nodeenv" },
+ { name = "pyyaml" },
+ { name = "virtualenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" },
+]
+
+[[package]]
+name = "prompt-toolkit"
+version = "3.0.52"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wcwidth" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/89/fc/889242351a932d6183eec5df1fc6539b6f36b6a88444f1e63f18668253aa/psutil-7.1.1.tar.gz", hash = "sha256:092b6350145007389c1cfe5716050f02030a05219d90057ea867d18fe8d372fc", size = 487067, upload-time = "2025-10-19T15:43:59.373Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/51/30/f97f8fb1f9ecfbeae4b5ca738dcae66ab28323b5cfbc96cb5565f3754056/psutil-7.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:8fa59d7b1f01f0337f12cd10dbd76e4312a4d3c730a4fedcbdd4e5447a8b8460", size = 244221, upload-time = "2025-10-19T15:44:03.145Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/98/b8d1f61ebf35f4dbdbaabadf9208282d8adc820562f0257e5e6e79e67bf2/psutil-7.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:2a95104eae85d088891716db676f780c1404fc15d47fde48a46a5d61e8f5ad2c", size = 245660, upload-time = "2025-10-19T15:44:05.657Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/4a/b8015d7357fefdfe34bc4a3db48a107bae4bad0b94fb6eb0613f09a08ada/psutil-7.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98629cd8567acefcc45afe2f4ba1e9290f579eacf490a917967decce4b74ee9b", size = 286963, upload-time = "2025-10-19T15:44:08.877Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2", size = 290118, upload-time = "2025-10-19T15:44:11.897Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/af/c13d360c0adc6f6218bf9e2873480393d0f729c8dd0507d171f53061c0d3/psutil-7.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:146a704f224fb2ded2be3da5ac67fc32b9ea90c45b51676f9114a6ac45616967", size = 292587, upload-time = "2025-10-19T15:44:14.67Z" },
+ { url = "https://files.pythonhosted.org/packages/90/2d/c933e7071ba60c7862813f2c7108ec4cf8304f1c79660efeefd0de982258/psutil-7.1.1-cp37-abi3-win32.whl", hash = "sha256:295c4025b5cd880f7445e4379e6826f7307e3d488947bf9834e865e7847dc5f7", size = 243772, upload-time = "2025-10-19T15:44:16.938Z" },
+ { url = "https://files.pythonhosted.org/packages/be/f3/11fd213fff15427bc2853552138760c720fd65032d99edfb161910d04127/psutil-7.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:9b4f17c5f65e44f69bd3a3406071a47b79df45cf2236d1f717970afcb526bcd3", size = 246936, upload-time = "2025-10-19T15:44:18.663Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/8d/8a9a45c8b655851f216c1d44f68e3533dc8d2c752ccd0f61f1aa73be4893/psutil-7.1.1-cp37-abi3-win_arm64.whl", hash = "sha256:5457cf741ca13da54624126cd5d333871b454ab133999a9a103fb097a7d7d21a", size = 243944, upload-time = "2025-10-19T15:44:20.666Z" },
+]
+
+[[package]]
+name = "ptyprocess"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" },
+]
+
+[[package]]
+name = "pure-eval"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" },
+]
+
+[[package]]
+name = "pyarrow"
+version = "21.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" },
+ { url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" },
+ { url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" },
+ { url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" },
+ { url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" },
+ { url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" },
+ { url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" },
+ { url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" },
+ { url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" },
+ { url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" },
+ { url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" },
+]
+
+[[package]]
+name = "pybiomart"
+version = "0.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "future" },
+ { name = "pandas" },
+ { name = "requests" },
+ { name = "requests-cache" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/91/22/3c7f20669238c228c2768c733377078e57b60bc58b93a7b517f56b795df0/pybiomart-0.2.0.tar.gz", hash = "sha256:e9eac20db921820670c646d99725b0ee279e407379e5e8c3ec7245a07425d8fe", size = 195840, upload-time = "2017-05-10T21:17:59.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4a/6d/23cf5ae8b0a549a60164c49836c8e8eb393747b5fd00a7b5d9445886e0d8/pybiomart-0.2.0-py3-none-any.whl", hash = "sha256:c88bdd97887e2144a8be44036901aa032a824c82b42c33e24515b6c786b80933", size = 10586, upload-time = "2017-05-10T21:17:57.826Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.23"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" },
+]
+
+[[package]]
+name = "pycurl"
+version = "7.45.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e3/3d/01255f1cde24401f54bb3727d0e5d3396b67fc04964f287d5d473155f176/pycurl-7.45.7.tar.gz", hash = "sha256:9d43013002eab2fd6d0dcc671cd1e9149e2fc1c56d5e796fad94d076d6cb69ef", size = 241098, upload-time = "2025-09-24T13:37:17.067Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b9/b1/923d75ec2bcb39bef889ce47f706ab07fbb050ac528712af586acd641028/pycurl-7.45.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f17264adc95a7f92a148d17c55eee885da640cbd98cf9169e643029d79bb18c7", size = 3795020, upload-time = "2025-09-24T13:36:07.115Z" },
+ { url = "https://files.pythonhosted.org/packages/92/f9/edf6965ab5260257fad3ba962474908150ca45125b415a561ec710f6b5b6/pycurl-7.45.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0bcfeaf766372ec40e3830d4ad6ebc3064e8a0bd145214d4291d17ed6017f3e3", size = 3902808, upload-time = "2025-09-24T13:36:08.827Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/61/2c3aea6481d9012e9b8e7264225ac57a3fa03ff02b1b6c3a4e89a8b78bdf/pycurl-7.45.7-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:788df7ab964f03894c616e742e088f1bf209a54465f61541ba77901a9e1cd701", size = 5178287, upload-time = "2025-09-24T13:36:10.613Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/b7/e3524703c4a74d9e080a0f4bd6c7ec829bd1ed0a8d5f8c22eb91de8ba947/pycurl-7.45.7-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:3d19b4a94c2e20976cbc7773e5398bae19e3bc65a0894fcd01d8477bfc5fdb2f", size = 4881508, upload-time = "2025-09-24T13:36:12.305Z" },
+ { url = "https://files.pythonhosted.org/packages/57/4c/721eeb17205aee5ff68511230b23b2cb0d70ffdf7aa9d393abdffa5e326c/pycurl-7.45.7-cp311-cp311-win32.whl", hash = "sha256:d5d7bc6e01d74548e93d5b9b3e38c3a91b6f54a36f2fe13407cac035b57f0c1f", size = 2738302, upload-time = "2025-09-24T13:36:14.078Z" },
+ { url = "https://files.pythonhosted.org/packages/88/3f/c3ff543ad28c3e94f8db8044142a2c9963960ff976aeb1b09f4761967ab9/pycurl-7.45.7-cp311-cp311-win_amd64.whl", hash = "sha256:94a3c02381b62b2f0498f4ea3a3bd8b96ae2a6a905fcfd198547805894793a5b", size = 3299170, upload-time = "2025-09-24T13:36:15.898Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/d3/77cf5cef99e83cf9e088e4a4539b933cdccf2bfabbb32f55d0273f9efd11/pycurl-7.45.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd69340f5a49d6e4f67723db6ea4459c554d2210c3dd4da99950d6d405ddafb4", size = 3795471, upload-time = "2025-09-24T13:36:17.608Z" },
+ { url = "https://files.pythonhosted.org/packages/18/f9/42137fcace6403a1670dc203a16fce443f53da7b14cdc28f05053008e56b/pycurl-7.45.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:752a5bbbd1b148b61d69be718e2c1c89a1b16de27a21e6382d28c8d2a33e9bf1", size = 3903182, upload-time = "2025-09-24T13:36:19.353Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/db/46134f8e822527a39fd4ed0e5150992274f1368a4fe8402818cc45470ffe/pycurl-7.45.7-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:5fa5afd86d86e156051c7d7d6de34f6c03a7a64e4794ac0d72379bee8fcafafd", size = 5188809, upload-time = "2025-09-24T13:36:21.444Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/f8/9a6148258b056202d5872fcd5e4d512ad9ee487c0f7b5dddd631004432b4/pycurl-7.45.7-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f463a7f7c12b322b4f72af908f863b4da1f71dae344dd75f50d30c33ff0f197a", size = 4893965, upload-time = "2025-09-24T13:36:23.108Z" },
+ { url = "https://files.pythonhosted.org/packages/41/16/bbf5da7e0108dafddb70347f299f6de54f1364079a66653759c9e9fb099d/pycurl-7.45.7-cp312-cp312-win32.whl", hash = "sha256:83c217e0c7aea28bbd9512e27fb6f9ef9b9f398dff57ebe223ecaa043bcd08fa", size = 2736232, upload-time = "2025-09-24T13:36:25.072Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/16/ab7d73ed3d2a31a9d9bb8a44710b8f95f6ea24bd260967f07ae67c36e8c4/pycurl-7.45.7-cp312-cp312-win_amd64.whl", hash = "sha256:150b1d2e98bcf760878b3891e6f2f937a4b2a90c559ffc6add65aeb5844bc66a", size = 3296191, upload-time = "2025-09-24T13:36:27.242Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/0c/b6442a204c13d68e339d18c7f16a30b0178ad1efed644fe411f8a404934c/pycurl-7.45.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8d39cc233c7c3303072758b088ad7ccde0a5dcb30ce752f2f8a31428a07faac1", size = 3795397, upload-time = "2025-09-24T13:36:29.362Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/23/dae7f5bf59f31908fd10797e03e9af6ad70ee0fe8a71783bcced68ca7db4/pycurl-7.45.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:824a785d01500da47fe6935dbadc4b0a14577405c25d01327a94717578dd2b1d", size = 3903225, upload-time = "2025-09-24T13:36:31.393Z" },
+ { url = "https://files.pythonhosted.org/packages/33/93/016d37e76b172d508706828319389a08be4cb669daab8cdac6947b699f80/pycurl-7.45.7-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:998335e6b69691c097e3a74214901c71773e0a7a8d3d0cc87c60d6969eb8b584", size = 5189262, upload-time = "2025-09-24T13:36:33.752Z" },
+ { url = "https://files.pythonhosted.org/packages/24/e3/039ed3b136fb008354047881a3f36e5647d67d97d7b7620123fa8b9c515f/pycurl-7.45.7-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:00824c3c64d5e935d0325e6a000bb0242622cd763d1e202c1a8df455bc58da58", size = 4895224, upload-time = "2025-09-24T13:36:35.449Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/52/f2326e0ddb2c6ab74a46c90aff0aac565cc4f804f03ac6a454cf7c75cb37/pycurl-7.45.7-cp313-cp313-win32.whl", hash = "sha256:bfe49668ba0a7fba183cf0e189bb8da515793da8f383d8d157ac8647143dc516", size = 2736217, upload-time = "2025-09-24T13:36:37.152Z" },
+ { url = "https://files.pythonhosted.org/packages/96/d5/d7214c92b97fe8541efcdf42a35e5b0852e6c57340f9266e4f4acccfa492/pycurl-7.45.7-cp313-cp313-win_amd64.whl", hash = "sha256:3d9d718c366983bc65b149f0947f016929b4001f604f2523e6de5a49907f4474", size = 3296259, upload-time = "2025-09-24T13:36:38.886Z" },
+ { url = "https://files.pythonhosted.org/packages/85/bb/18c4e53ef9a8d52451336aae1e44768dfb639ba46dd02f331c5dc9220bc3/pycurl-7.45.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6157ac0daf30ffc28446c54ebbd073c8c11b45cba9c45256619e218a07a31312", size = 3794861, upload-time = "2025-09-24T13:36:40.509Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/23/ea963df437b8b0fd4e2ff5909dbfd800364231a95588de2b6446ffbdd1c8/pycurl-7.45.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:09ac9a855273a77f7c6a72f05be430646c47a298d403a75876c2188ea5d77534", size = 3903002, upload-time = "2025-09-24T13:36:42.765Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/33/6432144d3961ff862c1ac933f4851828f8947d615aa46b50b91162224af9/pycurl-7.45.7-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:0263e94d2ea3cd25b5fcf96527f521dc29b8a73a9b19e71223b6e2452f5cb35a", size = 5186571, upload-time = "2025-09-24T13:36:44.584Z" },
+ { url = "https://files.pythonhosted.org/packages/44/91/635beb1e8c5a8b2a031fb09bd64e5c2abd332cebb9211739539ab385e731/pycurl-7.45.7-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:54cffa56a5ead14915f1f0d3e8fabf6fcea3056a8e5f971fc1caebb9715bd9b1", size = 4891741, upload-time = "2025-09-24T13:36:46.7Z" },
+ { url = "https://files.pythonhosted.org/packages/77/bd/51ffbf6c4a3c5bcdad2f3175c5b5980fff4dd668e2556593530030430fcf/pycurl-7.45.7-cp314-cp314-win32.whl", hash = "sha256:09e426cf5e61e5b37c30903734204f75023baa6e4bfe574e037f12e53ec3f0ba", size = 2817391, upload-time = "2025-09-24T13:36:48.766Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/68/c7c7f4b2372568eff3a12046364fdd74e382778563ee26727a1b016702bc/pycurl-7.45.7-cp314-cp314-win_amd64.whl", hash = "sha256:8eab3a83670d83966c7a0df4fa02cf2272499966066bfaa810444c427cb653b0", size = 3403530, upload-time = "2025-09-24T13:36:50.825Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/66/b65ae067433f37fd4c2b89aec9b0ab31b35cd3846e77854e7ec47bfb9d13/pycurl-7.45.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:69f16d6709f3305da1043ee9edb5e1715212b75011779d58c4bd8fc9ad9fc88a", size = 3798020, upload-time = "2025-09-24T13:36:53.259Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/31/af6edb607b7d359b54df63ee561650fe7f94347f86e7c600e0042af595cc/pycurl-7.45.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:435f140afa59eb0cece57e6364348977af768add452d49a8547a26fc90dc2bfa", size = 3905273, upload-time = "2025-09-24T13:36:55.386Z" },
+ { url = "https://files.pythonhosted.org/packages/79/35/4825905afb55037db15d2d2c9a45253ca8951559ef5f62afd277c98d1ec2/pycurl-7.45.7-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:ff50a3d787c3d059f330d7cb7325b40416bcb0f43f5006b396a6e61871df0ebf", size = 5247322, upload-time = "2025-09-24T13:36:57.568Z" },
+ { url = "https://files.pythonhosted.org/packages/28/fc/716a3e9d335aa12f09471842e49e3db9eb792a06ddc6203a6fb1b90b7f7a/pycurl-7.45.7-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:5ed0cab4e05558ba112111585ae2a85627ab48d6185547fc4ba8ec8e2cfecd0d", size = 4947252, upload-time = "2025-09-24T13:36:59.26Z" },
+ { url = "https://files.pythonhosted.org/packages/43/05/b8274ad3740b76f029031921b1831f9a7f9fdc419333c85488b25dcde87a/pycurl-7.45.7-cp314-cp314t-win32.whl", hash = "sha256:e79f90c0af413933dedc79a1717f49076f08b32ff4a42776d6c38ba37125717e", size = 2824929, upload-time = "2025-09-24T13:37:01.665Z" },
+ { url = "https://files.pythonhosted.org/packages/70/c1/3982528967a42eff566d7e94fce0c8a0cf293c398a38465f87709440f260/pycurl-7.45.7-cp314-cp314t-win_amd64.whl", hash = "sha256:bdb72c53445b1c09315940c81a14a3635dfde6710aea703976ce9617209830e7", size = 3412632, upload-time = "2025-09-24T13:37:03.852Z" },
+]
+
+[[package]]
+name = "pydeseq2"
+version = "0.5.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anndata" },
+ { name = "formulaic" },
+ { name = "formulaic-contrasts" },
+ { name = "matplotlib" },
+ { name = "numpy" },
+ { name = "pandas" },
+ { name = "scikit-learn" },
+ { name = "scipy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d4/82/e9c9246608b57977682bdc32efa6a6ec67784242d8ac284513bfe8b0fe27/pydeseq2-0.5.2.tar.gz", hash = "sha256:9a124793f3155e40863f63cb92d73f815d01c6e0b3cc0d8e8730141c134c16f4", size = 51377, upload-time = "2025-06-26T13:42:52.365Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/8c/f637418a679fb49bc3368940e0705df3b43c85b2ff5ae91455e78401750b/pydeseq2-0.5.2-py3-none-any.whl", hash = "sha256:60014562d85f8c1c56cc7d169a4f0e29e9d615a863b93401add5fc30a61513d9", size = 44627, upload-time = "2025-06-26T13:42:50.845Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
+]
+
+[[package]]
+name = "pynacl"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854, upload-time = "2022-01-07T22:05:41.134Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920, upload-time = "2022-01-07T22:05:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722, upload-time = "2022-01-07T22:05:50.989Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087, upload-time = "2022-01-07T22:05:52.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678, upload-time = "2022-01-07T22:05:54.251Z" },
+ { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660, upload-time = "2022-01-07T22:05:56.056Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824, upload-time = "2022-01-07T22:05:57.434Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912, upload-time = "2022-01-07T22:05:58.665Z" },
+ { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624, upload-time = "2022-01-07T22:06:00.085Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141, upload-time = "2022-01-07T22:06:01.861Z" },
+]
+
+[[package]]
+name = "pyparsing"
+version = "3.2.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274, upload-time = "2025-09-21T04:11:06.277Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" },
+]
+
+[[package]]
+name = "pypath-common"
+version = "0.2.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "platformdirs" },
+ { name = "psutil" },
+ { name = "setuptools" },
+ { name = "tabulate" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4d/35/5a864f99492ff065760ee23d3baac6acdabe7b32293629b6fba913207fe0/pypath_common-0.2.6.tar.gz", hash = "sha256:c3266c27a4720a5f95a809acc1c9caccffc8712f2de233fcf3ec879d84fc40e6", size = 49570, upload-time = "2025-04-03T09:16:57.716Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/65/f0/3158a9c04fc94583f0c3f9175d276a19012962077aed6567da89bcd66d93/pypath_common-0.2.6-py3-none-any.whl", hash = "sha256:f45dc942a6a959c3c73d03c13c3a905ceed577fb389f527e3e4e927ad0667e6c", size = 55314, upload-time = "2025-04-03T09:16:55.184Z" },
+]
+
+[[package]]
+name = "pypath-omnipath"
+version = "0.16.20"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "beautifulsoup4" },
+ { name = "certifi" },
+ { name = "cffi" },
+ { name = "cryptography", version = "45.0.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_python_implementation != 'PyPy'" },
+ { name = "cryptography", version = "46.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14' or platform_python_implementation == 'PyPy'" },
+ { name = "dill" },
+ { name = "future" },
+ { name = "glom" },
+ { name = "lxml" },
+ { name = "matplotlib" },
+ { name = "numpy" },
+ { name = "openpyxl" },
+ { name = "pandas" },
+ { name = "psutil" },
+ { name = "pycurl" },
+ { name = "pypath-common" },
+ { name = "pyreadr" },
+ { name = "pysftp" },
+ { name = "pyyaml" },
+ { name = "rdata" },
+ { name = "requests" },
+ { name = "scipy" },
+ { name = "sqlparse" },
+ { name = "tabulate" },
+ { name = "timeloop" },
+ { name = "toml" },
+ { name = "tornado" },
+ { name = "tqdm" },
+ { name = "typing-extensions" },
+ { name = "xlrd" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/44/e2/582b3ec6220694deb33c44026a75602e9dd86bbc969e36119eae494bf6f7/pypath_omnipath-0.16.20.tar.gz", hash = "sha256:22d696320505486943d00c3b74331d5cefebb5b9ed3c5be0f56b25a7191c5e4b", size = 935931, upload-time = "2025-06-03T16:47:11.019Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3b/ad/2bc8cd8d53544f53c75f36ded7283e99f0ac026a657029e5f4478d853724/pypath_omnipath-0.16.20-py3-none-any.whl", hash = "sha256:9223970d4874ef126df7084059e8dc8633a3c4ffaf641349528a36923b9ad80f", size = 1169212, upload-time = "2025-06-03T16:47:07.896Z" },
+]
+
+[[package]]
+name = "pyreadr"
+version = "0.5.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pandas" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1a/78/36451474523a712c75d72119e4b2475b6c254d92a7eed2ab30b9abc040bd/pyreadr-0.5.3.tar.gz", hash = "sha256:71517866240ed195e7933ed9c47129e738d6f23c3269556f1db4037554ecf455", size = 1287391, upload-time = "2025-03-04T09:02:05.167Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/9d/76441d389545f2a6f8c624843bc56b6ad550a63a5a5ad354a2237b31abaf/pyreadr-0.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ff2717438695a13e775837afe6f2c0474059f52f0dc9897c36a59ced37de4f5c", size = 311820, upload-time = "2025-03-04T09:01:19.003Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/f2/8eb2b9a19d7ff05fc8da6d63d0bca2af89b26e75f32505c8c505b0f83328/pyreadr-0.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e3ac43e6edaaf60bf5fa2419cc912483a81a1e027d7da4dc83e83b3a8b87c8d1", size = 309340, upload-time = "2025-03-04T09:01:20.924Z" },
+ { url = "https://files.pythonhosted.org/packages/06/ba/6d3fc8b540d3cb8c966b5819cf45962e4cfc149808e0fbdf921f7d84f99d/pyreadr-0.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f69b63a6f1360fdeb357bb5aa6350143dd2e8cde60017213e3092324b18d6eb", size = 408219, upload-time = "2025-03-04T09:01:22.822Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/89/93abb893379096f3f8c132e562119f431fa16772de370d86c9d8adf91bfd/pyreadr-0.5.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6e63eb64b16da58aee579699c808fc85137bd1efd998a2bb658df532033a266", size = 411669, upload-time = "2025-03-04T09:01:24.229Z" },
+ { url = "https://files.pythonhosted.org/packages/46/cf/2219a58023d52c7014408bec061b7e732a2890d1df49bdb4ed7c17259a5e/pyreadr-0.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:4e1dc79e2659575957209bbef119c29d35b8082eb51d2cbc3e84fa9b64efe0f9", size = 1370179, upload-time = "2025-03-04T09:01:26.87Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/28/042f1211e83fed2b07175cda9ac5891ff1d436039aa48e82e2dfaa5a415d/pyreadr-0.5.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d789f37edf927c38fd2b23beb908b9c3a66517ed16fbd9a0062e429ea889a465", size = 317269, upload-time = "2025-03-04T09:01:28.869Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/61/d61d3aab82102d32c761734273b6f0e74b8fea307b0d323650954c998836/pyreadr-0.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f6081a4e56e2f6d77b7fbc511b14b51dbda573f41dfdccaf65867af1801c9656", size = 313791, upload-time = "2025-03-04T09:01:30.319Z" },
+ { url = "https://files.pythonhosted.org/packages/71/80/3e59724af0c219ad58780a7ef2b83fae85402caf8663caf8d780acd6ece1/pyreadr-0.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3c0b98a34836d403eafed0e974b8f1d750280453337e315ac79ff457f041d9e", size = 414984, upload-time = "2025-03-04T09:01:32.104Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/44/ebedaf964425147920887381c1fdcad8d0648b6442f01f1b3a113808c3d9/pyreadr-0.5.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab98a9428ec7eddeb3b15588e549091cfa1d16713b440143162014d55b2c245", size = 418266, upload-time = "2025-03-04T09:01:34.499Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/f4/1cfacf40d6943fae716b77a7376812b1b4bc049f077453f3008e2065a0ca/pyreadr-0.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:2f99c44942cf1b2e14c75b31ade7bc240f6bf1b0e035cdf523da4360e09eb3c5", size = 1372609, upload-time = "2025-03-04T09:01:38.605Z" },
+ { url = "https://files.pythonhosted.org/packages/31/31/dbbe0adbc8ec886cdd7082b8cde6da866ac6acf4b7a21b2878d20536cfcb/pyreadr-0.5.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c852e4bad01cef4ab52ca0393eb6d3c0d6a1e66900b906ab5591a4becf439ac8", size = 317119, upload-time = "2025-03-04T09:01:43.71Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/49/0e233f818359e992683dcc699a8208f302c5f199556e20f02d36d4e7cba9/pyreadr-0.5.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b8cdd92a2cbfb177afb3d69550afd0d7849415679bb27ca45ac826c5e2bc14ac", size = 313822, upload-time = "2025-03-04T09:01:46.083Z" },
+ { url = "https://files.pythonhosted.org/packages/44/fa/a4adff12113de0e6ed0a172e29becf4abd9e7eed9ac99b8e8a21c7a013dc/pyreadr-0.5.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a54168a089b694b529ec4c9660094aa34d17e3d90d11aaf70ac296e398344e3", size = 414992, upload-time = "2025-03-04T09:01:48.079Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/bc/ba1b11ebce2e88639720b85376e7dd11d9eb5daeee0f65c9ebdf47c9c661/pyreadr-0.5.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:651c69396c4f15040d72b07c5751048972451191ec4101f6d3a392d1c2f20863", size = 418340, upload-time = "2025-03-04T09:01:49.925Z" },
+ { url = "https://files.pythonhosted.org/packages/78/aa/8ef7045b2f320d00be0ce63c3e2b6442dd195a7efb3a1892a06686c5c5e1/pyreadr-0.5.3-cp313-cp313-win_amd64.whl", hash = "sha256:e73699867a668e1f3b32f1aacf5c9019a8619a62e1aa0484f726687b61243763", size = 1372799, upload-time = "2025-03-04T09:01:53.543Z" },
+]
+
+[[package]]
+name = "pysftp"
+version = "0.2.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "paramiko" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/36/60/45f30390a38b1f92e0a8cf4de178cd7c2bc3f874c85430e40ccf99df8fe7/pysftp-0.2.9.tar.gz", hash = "sha256:fbf55a802e74d663673400acd92d5373c1c7ee94d765b428d9f977567ac4854a", size = 25949, upload-time = "2016-07-06T00:19:28.988Z" }
+
+[[package]]
+name = "pytest"
+version = "8.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "iniconfig" },
+ { name = "packaging" },
+ { name = "pluggy" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "pytximport"
+version = "0.12.1"
+source = { editable = "." }
+dependencies = [
+ { name = "anndata" },
+ { name = "click" },
+ { name = "click-default-group" },
+ { name = "flox" },
+ { name = "h5py" },
+ { name = "numpy" },
+ { name = "pandas" },
+ { name = "pybiomart" },
+ { name = "tqdm" },
+ { name = "xarray" },
+]
+
+[package.optional-dependencies]
+biocpy = [
+ { name = "biocframe" },
+ { name = "dolomite" },
+ { name = "dolomite-se" },
+ { name = "summarizedexperiment" },
+]
+dev = [
+ { name = "bandit" },
+ { name = "biocframe" },
+ { name = "certifi" },
+ { name = "coverage" },
+ { name = "decoupler" },
+ { name = "dolomite" },
+ { name = "dolomite-se" },
+ { name = "flit" },
+ { name = "furo" },
+ { name = "ipykernel" },
+ { name = "jupyter-client" },
+ { name = "jupyter-core" },
+ { name = "mypy" },
+ { name = "myst-parser" },
+ { name = "nbsphinx" },
+ { name = "pandas-stubs" },
+ { name = "pandoc" },
+ { name = "pre-commit" },
+ { name = "pyarrow" },
+ { name = "pydeseq2" },
+ { name = "pypath-omnipath" },
+ { name = "pytest" },
+ { name = "ruff" },
+ { name = "sphinx" },
+ { name = "sphinx-autoapi" },
+ { name = "sphinx-autodoc-typehints" },
+ { name = "sphinx-copybutton" },
+ { name = "sphinx-design" },
+ { name = "sphinx-rtd-theme" },
+ { name = "summarizedexperiment" },
+ { name = "types-tqdm" },
+]
+pyarrow = [
+ { name = "pyarrow" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "anndata", specifier = ">=0.11.0" },
+ { name = "bandit", marker = "extra == 'dev'" },
+ { name = "biocframe", marker = "extra == 'biocpy'" },
+ { name = "biocframe", marker = "extra == 'dev'" },
+ { name = "certifi", marker = "extra == 'dev'" },
+ { name = "click", specifier = ">=8.0.0,<9" },
+ { name = "click-default-group", specifier = ">=1.2.0,<2" },
+ { name = "coverage", marker = "extra == 'dev'" },
+ { name = "decoupler", marker = "extra == 'dev'" },
+ { name = "dolomite", marker = "extra == 'biocpy'" },
+ { name = "dolomite", marker = "extra == 'dev'" },
+ { name = "dolomite-se", marker = "extra == 'biocpy'" },
+ { name = "dolomite-se", marker = "extra == 'dev'" },
+ { name = "flit", marker = "extra == 'dev'" },
+ { name = "flox", specifier = ">=0.10.0,<0.11.0" },
+ { name = "furo", marker = "extra == 'dev'" },
+ { name = "h5py", specifier = ">=3.0.0,<4" },
+ { name = "ipykernel", marker = "extra == 'dev'" },
+ { name = "jupyter-client", marker = "extra == 'dev'" },
+ { name = "jupyter-core", marker = "extra == 'dev'" },
+ { name = "mypy", marker = "extra == 'dev'", specifier = "==1.15.0" },
+ { name = "myst-parser", marker = "extra == 'dev'" },
+ { name = "nbsphinx", marker = "extra == 'dev'" },
+ { name = "numpy", specifier = ">=2.0.0,<3" },
+ { name = "pandas", specifier = ">=2.2.0,<3" },
+ { name = "pandas-stubs", marker = "extra == 'dev'" },
+ { name = "pandoc", marker = "extra == 'dev'" },
+ { name = "pre-commit", marker = "extra == 'dev'" },
+ { name = "pyarrow", marker = "extra == 'dev'" },
+ { name = "pyarrow", marker = "extra == 'pyarrow'" },
+ { name = "pybiomart", specifier = "==0.2.0" },
+ { name = "pydeseq2", marker = "extra == 'dev'" },
+ { name = "pypath-omnipath", marker = "extra == 'dev'" },
+ { name = "pytest", marker = "extra == 'dev'" },
+ { name = "ruff", marker = "extra == 'dev'", specifier = "==0.13.2" },
+ { name = "sphinx", marker = "extra == 'dev'" },
+ { name = "sphinx-autoapi", marker = "extra == 'dev'" },
+ { name = "sphinx-autodoc-typehints", marker = "extra == 'dev'" },
+ { name = "sphinx-copybutton", marker = "extra == 'dev'" },
+ { name = "sphinx-design", marker = "extra == 'dev'" },
+ { name = "sphinx-rtd-theme", marker = "extra == 'dev'" },
+ { name = "summarizedexperiment", marker = "extra == 'biocpy'" },
+ { name = "summarizedexperiment", marker = "extra == 'dev'" },
+ { name = "tqdm", specifier = ">=4.0.0,<5" },
+ { name = "types-tqdm", marker = "extra == 'dev'" },
+ { name = "xarray", specifier = ">=2024.0.0" },
+]
+provides-extras = ["pyarrow", "biocpy", "dev"]
+
+[[package]]
+name = "pytz"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" },
+]
+
+[[package]]
+name = "pywin32"
+version = "311"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" },
+ { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" },
+ { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" },
+ { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" },
+ { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" },
+]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" },
+ { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" },
+ { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" },
+ { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" },
+ { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" },
+ { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" },
+ { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" },
+ { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" },
+ { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" },
+ { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" },
+ { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" },
+ { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" },
+ { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" },
+ { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" },
+ { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" },
+ { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" },
+ { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" },
+ { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" },
+ { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" },
+ { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" },
+ { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" },
+ { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" },
+]
+
+[[package]]
+name = "pyzmq"
+version = "27.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "implementation_name == 'pypy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" },
+ { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" },
+ { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" },
+ { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" },
+ { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" },
+ { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" },
+ { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" },
+ { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" },
+ { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" },
+ { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" },
+ { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" },
+ { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" },
+ { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" },
+ { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" },
+ { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" },
+]
+
+[[package]]
+name = "rdata"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "pandas" },
+ { name = "typing-extensions" },
+ { name = "xarray" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5b/e5/c5626257359fde4662f9c2f658bcb37873ffad1490c8991640a361b8cf8e/rdata-1.0.0.tar.gz", hash = "sha256:d924d7657c9eeaee4b86a0ae87999f5beb0070ed47bd491c85bc79ee9644596d", size = 56618, upload-time = "2025-08-15T17:17:10.832Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/b6/aec7624eb1db90e58b7fa34ab6491ee06385020bbb9598d4b8a28051da81/rdata-1.0.0-py3-none-any.whl", hash = "sha256:b671e31676e158dc215297595d5085aee1674b91be3c26e38638ca056167d402", size = 72291, upload-time = "2025-08-15T17:17:09.404Z" },
+]
+
+[[package]]
+name = "referencing"
+version = "0.37.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "rpds-py" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" },
+]
+
+[[package]]
+name = "requests-cache"
+version = "1.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "cattrs" },
+ { name = "platformdirs" },
+ { name = "requests" },
+ { name = "url-normalize" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1a/be/7b2a95a9e7a7c3e774e43d067c51244e61dea8b120ae2deff7089a93fb2b/requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1", size = 3018209, upload-time = "2024-06-18T17:18:03.774Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/2e/8f4051119f460cfc786aa91f212165bb6e643283b533db572d7b33952bd2/requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603", size = 61425, upload-time = "2024-06-18T17:17:45Z" },
+]
+
+[[package]]
+name = "rich"
+version = "14.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown-it-py" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/d2/8920e102050a0de7bfabeb4c4614a49248cf8d5d7a8d01885fbb24dc767a/rich-14.2.0.tar.gz", hash = "sha256:73ff50c7c0c1c77c8243079283f4edb376f0f6442433aecb8ce7e6d0b92d1fe4", size = 219990, upload-time = "2025-10-09T14:16:53.064Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/25/7a/b0178788f8dc6cafce37a212c99565fa1fe7872c70c6c9c1e1a372d9d88f/rich-14.2.0-py3-none-any.whl", hash = "sha256:76bc51fe2e57d2b1be1f96c524b890b816e334ab4c1e45888799bfaab0021edd", size = 243393, upload-time = "2025-10-09T14:16:51.245Z" },
+]
+
+[[package]]
+name = "rpds-py"
+version = "0.28.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/48/dc/95f074d43452b3ef5d06276696ece4b3b5d696e7c9ad7173c54b1390cd70/rpds_py-0.28.0.tar.gz", hash = "sha256:abd4df20485a0983e2ca334a216249b6186d6e3c1627e106651943dbdb791aea", size = 27419, upload-time = "2025-10-22T22:24:29.327Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a6/34/058d0db5471c6be7bef82487ad5021ff8d1d1d27794be8730aad938649cf/rpds_py-0.28.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:03065002fd2e287725d95fbc69688e0c6daf6c6314ba38bdbaa3895418e09296", size = 362344, upload-time = "2025-10-22T22:21:39.713Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/67/9503f0ec8c055a0782880f300c50a2b8e5e72eb1f94dfc2053da527444dd/rpds_py-0.28.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28ea02215f262b6d078daec0b45344c89e161eab9526b0d898221d96fdda5f27", size = 348440, upload-time = "2025-10-22T22:21:41.056Z" },
+ { url = "https://files.pythonhosted.org/packages/68/2e/94223ee9b32332a41d75b6f94b37b4ce3e93878a556fc5f152cbd856a81f/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25dbade8fbf30bcc551cb352376c0ad64b067e4fc56f90e22ba70c3ce205988c", size = 379068, upload-time = "2025-10-22T22:21:42.593Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/25/54fd48f9f680cfc44e6a7f39a5fadf1d4a4a1fd0848076af4a43e79f998c/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c03002f54cc855860bfdc3442928ffdca9081e73b5b382ed0b9e8efe6e5e205", size = 390518, upload-time = "2025-10-22T22:21:43.998Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/85/ac258c9c27f2ccb1bd5d0697e53a82ebcf8088e3186d5d2bf8498ee7ed44/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9699fa7990368b22032baf2b2dce1f634388e4ffc03dfefaaac79f4695edc95", size = 525319, upload-time = "2025-10-22T22:21:45.645Z" },
+ { url = "https://files.pythonhosted.org/packages/40/cb/c6734774789566d46775f193964b76627cd5f42ecf246d257ce84d1912ed/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9b06fe1a75e05e0713f06ea0c89ecb6452210fd60e2f1b6ddc1067b990e08d9", size = 404896, upload-time = "2025-10-22T22:21:47.544Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/53/14e37ce83202c632c89b0691185dca9532288ff9d390eacae3d2ff771bae/rpds_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac9f83e7b326a3f9ec3ef84cda98fb0a74c7159f33e692032233046e7fd15da2", size = 382862, upload-time = "2025-10-22T22:21:49.176Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/83/f3642483ca971a54d60caa4449f9d6d4dbb56a53e0072d0deff51b38af74/rpds_py-0.28.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:0d3259ea9ad8743a75a43eb7819324cdab393263c91be86e2d1901ee65c314e0", size = 398848, upload-time = "2025-10-22T22:21:51.024Z" },
+ { url = "https://files.pythonhosted.org/packages/44/09/2d9c8b2f88e399b4cfe86efdf2935feaf0394e4f14ab30c6c5945d60af7d/rpds_py-0.28.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a7548b345f66f6695943b4ef6afe33ccd3f1b638bd9afd0f730dd255c249c9e", size = 412030, upload-time = "2025-10-22T22:21:52.665Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/f5/e1cec473d4bde6df1fd3738be8e82d64dd0600868e76e92dfeaebbc2d18f/rpds_py-0.28.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c9a40040aa388b037eb39416710fbcce9443498d2eaab0b9b45ae988b53f5c67", size = 559700, upload-time = "2025-10-22T22:21:54.123Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/be/73bb241c1649edbf14e98e9e78899c2c5e52bbe47cb64811f44d2cc11808/rpds_py-0.28.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8f60c7ea34e78c199acd0d3cda37a99be2c861dd2b8cf67399784f70c9f8e57d", size = 584581, upload-time = "2025-10-22T22:21:56.102Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/9c/ffc6e9218cd1eb5c2c7dbd276c87cd10e8c2232c456b554169eb363381df/rpds_py-0.28.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1571ae4292649100d743b26d5f9c63503bb1fedf538a8f29a98dce2d5ba6b4e6", size = 549981, upload-time = "2025-10-22T22:21:58.253Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/50/da8b6d33803a94df0149345ee33e5d91ed4d25fc6517de6a25587eae4133/rpds_py-0.28.0-cp311-cp311-win32.whl", hash = "sha256:5cfa9af45e7c1140af7321fa0bef25b386ee9faa8928c80dc3a5360971a29e8c", size = 214729, upload-time = "2025-10-22T22:21:59.625Z" },
+ { url = "https://files.pythonhosted.org/packages/12/fd/b0f48c4c320ee24c8c20df8b44acffb7353991ddf688af01eef5f93d7018/rpds_py-0.28.0-cp311-cp311-win_amd64.whl", hash = "sha256:dd8d86b5d29d1b74100982424ba53e56033dc47720a6de9ba0259cf81d7cecaa", size = 223977, upload-time = "2025-10-22T22:22:01.092Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/21/c8e77a2ac66e2ec4e21f18a04b4e9a0417ecf8e61b5eaeaa9360a91713b4/rpds_py-0.28.0-cp311-cp311-win_arm64.whl", hash = "sha256:4e27d3a5709cc2b3e013bf93679a849213c79ae0573f9b894b284b55e729e120", size = 217326, upload-time = "2025-10-22T22:22:02.944Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/5c/6c3936495003875fe7b14f90ea812841a08fca50ab26bd840e924097d9c8/rpds_py-0.28.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6b4f28583a4f247ff60cd7bdda83db8c3f5b05a7a82ff20dd4b078571747708f", size = 366439, upload-time = "2025-10-22T22:22:04.525Z" },
+ { url = "https://files.pythonhosted.org/packages/56/f9/a0f1ca194c50aa29895b442771f036a25b6c41a35e4f35b1a0ea713bedae/rpds_py-0.28.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d678e91b610c29c4b3d52a2c148b641df2b4676ffe47c59f6388d58b99cdc424", size = 348170, upload-time = "2025-10-22T22:22:06.397Z" },
+ { url = "https://files.pythonhosted.org/packages/18/ea/42d243d3a586beb72c77fa5def0487daf827210069a95f36328e869599ea/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e819e0e37a44a78e1383bf1970076e2ccc4dc8c2bbaa2f9bd1dc987e9afff628", size = 378838, upload-time = "2025-10-22T22:22:07.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/78/3de32e18a94791af8f33601402d9d4f39613136398658412a4e0b3047327/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5ee514e0f0523db5d3fb171f397c54875dbbd69760a414dccf9d4d7ad628b5bd", size = 393299, upload-time = "2025-10-22T22:22:09.435Z" },
+ { url = "https://files.pythonhosted.org/packages/13/7e/4bdb435afb18acea2eb8a25ad56b956f28de7c59f8a1d32827effa0d4514/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f3fa06d27fdcee47f07a39e02862da0100cb4982508f5ead53ec533cd5fe55e", size = 518000, upload-time = "2025-10-22T22:22:11.326Z" },
+ { url = "https://files.pythonhosted.org/packages/31/d0/5f52a656875cdc60498ab035a7a0ac8f399890cc1ee73ebd567bac4e39ae/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46959ef2e64f9e4a41fc89aa20dbca2b85531f9a72c21099a3360f35d10b0d5a", size = 408746, upload-time = "2025-10-22T22:22:13.143Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/cd/49ce51767b879cde77e7ad9fae164ea15dce3616fe591d9ea1df51152706/rpds_py-0.28.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8455933b4bcd6e83fde3fefc987a023389c4b13f9a58c8d23e4b3f6d13f78c84", size = 386379, upload-time = "2025-10-22T22:22:14.602Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/99/e4e1e1ee93a98f72fc450e36c0e4d99c35370220e815288e3ecd2ec36a2a/rpds_py-0.28.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:ad50614a02c8c2962feebe6012b52f9802deec4263946cddea37aaf28dd25a66", size = 401280, upload-time = "2025-10-22T22:22:16.063Z" },
+ { url = "https://files.pythonhosted.org/packages/61/35/e0c6a57488392a8b319d2200d03dad2b29c0db9996f5662c3b02d0b86c02/rpds_py-0.28.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e5deca01b271492553fdb6c7fd974659dce736a15bae5dad7ab8b93555bceb28", size = 412365, upload-time = "2025-10-22T22:22:17.504Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/6a/841337980ea253ec797eb084665436007a1aad0faac1ba097fb906c5f69c/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:735f8495a13159ce6a0d533f01e8674cec0c57038c920495f87dcb20b3ddb48a", size = 559573, upload-time = "2025-10-22T22:22:19.108Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/5e/64826ec58afd4c489731f8b00729c5f6afdb86f1df1df60bfede55d650bb/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:961ca621ff10d198bbe6ba4957decca61aa2a0c56695384c1d6b79bf61436df5", size = 583973, upload-time = "2025-10-22T22:22:20.768Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/ee/44d024b4843f8386a4eeaa4c171b3d31d55f7177c415545fd1a24c249b5d/rpds_py-0.28.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2374e16cc9131022e7d9a8f8d65d261d9ba55048c78f3b6e017971a4f5e6353c", size = 553800, upload-time = "2025-10-22T22:22:22.25Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/89/33e675dccff11a06d4d85dbb4d1865f878d5020cbb69b2c1e7b2d3f82562/rpds_py-0.28.0-cp312-cp312-win32.whl", hash = "sha256:d15431e334fba488b081d47f30f091e5d03c18527c325386091f31718952fe08", size = 216954, upload-time = "2025-10-22T22:22:24.105Z" },
+ { url = "https://files.pythonhosted.org/packages/af/36/45f6ebb3210887e8ee6dbf1bc710ae8400bb417ce165aaf3024b8360d999/rpds_py-0.28.0-cp312-cp312-win_amd64.whl", hash = "sha256:a410542d61fc54710f750d3764380b53bf09e8c4edbf2f9141a82aa774a04f7c", size = 227844, upload-time = "2025-10-22T22:22:25.551Z" },
+ { url = "https://files.pythonhosted.org/packages/57/91/f3fb250d7e73de71080f9a221d19bd6a1c1eb0d12a1ea26513f6c1052ad6/rpds_py-0.28.0-cp312-cp312-win_arm64.whl", hash = "sha256:1f0cfd1c69e2d14f8c892b893997fa9a60d890a0c8a603e88dca4955f26d1edd", size = 217624, upload-time = "2025-10-22T22:22:26.914Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/03/ce566d92611dfac0085c2f4b048cd53ed7c274a5c05974b882a908d540a2/rpds_py-0.28.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e9e184408a0297086f880556b6168fa927d677716f83d3472ea333b42171ee3b", size = 366235, upload-time = "2025-10-22T22:22:28.397Z" },
+ { url = "https://files.pythonhosted.org/packages/00/34/1c61da1b25592b86fd285bd7bd8422f4c9d748a7373b46126f9ae792a004/rpds_py-0.28.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:edd267266a9b0448f33dc465a97cfc5d467594b600fe28e7fa2f36450e03053a", size = 348241, upload-time = "2025-10-22T22:22:30.171Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/00/ed1e28616848c61c493a067779633ebf4b569eccaacf9ccbdc0e7cba2b9d/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85beb8b3f45e4e32f6802fb6cd6b17f615ef6c6a52f265371fb916fae02814aa", size = 378079, upload-time = "2025-10-22T22:22:31.644Z" },
+ { url = "https://files.pythonhosted.org/packages/11/b2/ccb30333a16a470091b6e50289adb4d3ec656fd9951ba8c5e3aaa0746a67/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d2412be8d00a1b895f8ad827cc2116455196e20ed994bb704bf138fe91a42724", size = 393151, upload-time = "2025-10-22T22:22:33.453Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/d0/73e2217c3ee486d555cb84920597480627d8c0240ff3062005c6cc47773e/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf128350d384b777da0e68796afdcebc2e9f63f0e9f242217754e647f6d32491", size = 517520, upload-time = "2025-10-22T22:22:34.949Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/91/23efe81c700427d0841a4ae7ea23e305654381831e6029499fe80be8a071/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2036d09b363aa36695d1cc1a97b36865597f4478470b0697b5ee9403f4fe399", size = 408699, upload-time = "2025-10-22T22:22:36.584Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/ee/a324d3198da151820a326c1f988caaa4f37fc27955148a76fff7a2d787a9/rpds_py-0.28.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8e1e9be4fa6305a16be628959188e4fd5cd6f1b0e724d63c6d8b2a8adf74ea6", size = 385720, upload-time = "2025-10-22T22:22:38.014Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ad/e68120dc05af8b7cab4a789fccd8cdcf0fe7e6581461038cc5c164cd97d2/rpds_py-0.28.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:0a403460c9dd91a7f23fc3188de6d8977f1d9603a351d5db6cf20aaea95b538d", size = 401096, upload-time = "2025-10-22T22:22:39.869Z" },
+ { url = "https://files.pythonhosted.org/packages/99/90/c1e070620042459d60df6356b666bb1f62198a89d68881816a7ed121595a/rpds_py-0.28.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d7366b6553cdc805abcc512b849a519167db8f5e5c3472010cd1228b224265cb", size = 411465, upload-time = "2025-10-22T22:22:41.395Z" },
+ { url = "https://files.pythonhosted.org/packages/68/61/7c195b30d57f1b8d5970f600efee72a4fad79ec829057972e13a0370fd24/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b43c6a3726efd50f18d8120ec0551241c38785b68952d240c45ea553912ac41", size = 558832, upload-time = "2025-10-22T22:22:42.871Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/3d/06f3a718864773f69941d4deccdf18e5e47dd298b4628062f004c10f3b34/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0cb7203c7bc69d7c1585ebb33a2e6074492d2fc21ad28a7b9d40457ac2a51ab7", size = 583230, upload-time = "2025-10-22T22:22:44.877Z" },
+ { url = "https://files.pythonhosted.org/packages/66/df/62fc783781a121e77fee9a21ead0a926f1b652280a33f5956a5e7833ed30/rpds_py-0.28.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a52a5169c664dfb495882adc75c304ae1d50df552fbd68e100fdc719dee4ff9", size = 553268, upload-time = "2025-10-22T22:22:46.441Z" },
+ { url = "https://files.pythonhosted.org/packages/84/85/d34366e335140a4837902d3dea89b51f087bd6a63c993ebdff59e93ee61d/rpds_py-0.28.0-cp313-cp313-win32.whl", hash = "sha256:2e42456917b6687215b3e606ab46aa6bca040c77af7df9a08a6dcfe8a4d10ca5", size = 217100, upload-time = "2025-10-22T22:22:48.342Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/1c/f25a3f3752ad7601476e3eff395fe075e0f7813fbb9862bd67c82440e880/rpds_py-0.28.0-cp313-cp313-win_amd64.whl", hash = "sha256:e0a0311caedc8069d68fc2bf4c9019b58a2d5ce3cd7cb656c845f1615b577e1e", size = 227759, upload-time = "2025-10-22T22:22:50.219Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/d6/5f39b42b99615b5bc2f36ab90423ea404830bdfee1c706820943e9a645eb/rpds_py-0.28.0-cp313-cp313-win_arm64.whl", hash = "sha256:04c1b207ab8b581108801528d59ad80aa83bb170b35b0ddffb29c20e411acdc1", size = 217326, upload-time = "2025-10-22T22:22:51.647Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/8b/0c69b72d1cee20a63db534be0df271effe715ef6c744fdf1ff23bb2b0b1c/rpds_py-0.28.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f296ea3054e11fc58ad42e850e8b75c62d9a93a9f981ad04b2e5ae7d2186ff9c", size = 355736, upload-time = "2025-10-22T22:22:53.211Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/6d/0c2ee773cfb55c31a8514d2cece856dd299170a49babd50dcffb15ddc749/rpds_py-0.28.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5a7306c19b19005ad98468fcefeb7100b19c79fc23a5f24a12e06d91181193fa", size = 342677, upload-time = "2025-10-22T22:22:54.723Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/1c/22513ab25a27ea205144414724743e305e8153e6abe81833b5e678650f5a/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5d9b86aa501fed9862a443c5c3116f6ead8bc9296185f369277c42542bd646b", size = 371847, upload-time = "2025-10-22T22:22:56.295Z" },
+ { url = "https://files.pythonhosted.org/packages/60/07/68e6ccdb4b05115ffe61d31afc94adef1833d3a72f76c9632d4d90d67954/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e5bbc701eff140ba0e872691d573b3d5d30059ea26e5785acba9132d10c8c31d", size = 381800, upload-time = "2025-10-22T22:22:57.808Z" },
+ { url = "https://files.pythonhosted.org/packages/73/bf/6d6d15df80781d7f9f368e7c1a00caf764436518c4877fb28b029c4624af/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a5690671cd672a45aa8616d7374fdf334a1b9c04a0cac3c854b1136e92374fe", size = 518827, upload-time = "2025-10-22T22:22:59.826Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/d3/2decbb2976cc452cbf12a2b0aaac5f1b9dc5dd9d1f7e2509a3ee00421249/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f1d92ecea4fa12f978a367c32a5375a1982834649cdb96539dcdc12e609ab1a", size = 399471, upload-time = "2025-10-22T22:23:01.968Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/2c/f30892f9e54bd02e5faca3f6a26d6933c51055e67d54818af90abed9748e/rpds_py-0.28.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d252db6b1a78d0a3928b6190156042d54c93660ce4d98290d7b16b5296fb7cc", size = 377578, upload-time = "2025-10-22T22:23:03.52Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/5d/3bce97e5534157318f29ac06bf2d279dae2674ec12f7cb9c12739cee64d8/rpds_py-0.28.0-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d61b355c3275acb825f8777d6c4505f42b5007e357af500939d4a35b19177259", size = 390482, upload-time = "2025-10-22T22:23:05.391Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/f0/886bd515ed457b5bd93b166175edb80a0b21a210c10e993392127f1e3931/rpds_py-0.28.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acbe5e8b1026c0c580d0321c8aae4b0a1e1676861d48d6e8c6586625055b606a", size = 402447, upload-time = "2025-10-22T22:23:06.93Z" },
+ { url = "https://files.pythonhosted.org/packages/42/b5/71e8777ac55e6af1f4f1c05b47542a1eaa6c33c1cf0d300dca6a1c6e159a/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa23b6f0fc59b85b4c7d89ba2965af274346f738e8d9fc2455763602e62fd5f", size = 552385, upload-time = "2025-10-22T22:23:08.557Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/cb/6ca2d70cbda5a8e36605e7788c4aa3bea7c17d71d213465a5a675079b98d/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7b14b0c680286958817c22d76fcbca4800ddacef6f678f3a7c79a1fe7067fe37", size = 575642, upload-time = "2025-10-22T22:23:10.348Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/d4/407ad9960ca7856d7b25c96dcbe019270b5ffdd83a561787bc682c797086/rpds_py-0.28.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:bcf1d210dfee61a6c86551d67ee1031899c0fdbae88b2d44a569995d43797712", size = 544507, upload-time = "2025-10-22T22:23:12.434Z" },
+ { url = "https://files.pythonhosted.org/packages/51/31/2f46fe0efcac23fbf5797c6b6b7e1c76f7d60773e525cb65fcbc582ee0f2/rpds_py-0.28.0-cp313-cp313t-win32.whl", hash = "sha256:3aa4dc0fdab4a7029ac63959a3ccf4ed605fee048ba67ce89ca3168da34a1342", size = 205376, upload-time = "2025-10-22T22:23:13.979Z" },
+ { url = "https://files.pythonhosted.org/packages/92/e4/15947bda33cbedfc134490a41841ab8870a72a867a03d4969d886f6594a2/rpds_py-0.28.0-cp313-cp313t-win_amd64.whl", hash = "sha256:7b7d9d83c942855e4fdcfa75d4f96f6b9e272d42fffcb72cd4bb2577db2e2907", size = 215907, upload-time = "2025-10-22T22:23:15.5Z" },
+ { url = "https://files.pythonhosted.org/packages/08/47/ffe8cd7a6a02833b10623bf765fbb57ce977e9a4318ca0e8cf97e9c3d2b3/rpds_py-0.28.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:dcdcb890b3ada98a03f9f2bb108489cdc7580176cb73b4f2d789e9a1dac1d472", size = 353830, upload-time = "2025-10-22T22:23:17.03Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/9f/890f36cbd83a58491d0d91ae0db1702639edb33fb48eeb356f80ecc6b000/rpds_py-0.28.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:f274f56a926ba2dc02976ca5b11c32855cbd5925534e57cfe1fda64e04d1add2", size = 341819, upload-time = "2025-10-22T22:23:18.57Z" },
+ { url = "https://files.pythonhosted.org/packages/09/e3/921eb109f682aa24fb76207698fbbcf9418738f35a40c21652c29053f23d/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fe0438ac4a29a520ea94c8c7f1754cdd8feb1bc490dfda1bfd990072363d527", size = 373127, upload-time = "2025-10-22T22:23:20.216Z" },
+ { url = "https://files.pythonhosted.org/packages/23/13/bce4384d9f8f4989f1a9599c71b7a2d877462e5fd7175e1f69b398f729f4/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8a358a32dd3ae50e933347889b6af9a1bdf207ba5d1a3f34e1a38cd3540e6733", size = 382767, upload-time = "2025-10-22T22:23:21.787Z" },
+ { url = "https://files.pythonhosted.org/packages/23/e1/579512b2d89a77c64ccef5a0bc46a6ef7f72ae0cf03d4b26dcd52e57ee0a/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e80848a71c78aa328fefaba9c244d588a342c8e03bda518447b624ea64d1ff56", size = 517585, upload-time = "2025-10-22T22:23:23.699Z" },
+ { url = "https://files.pythonhosted.org/packages/62/3c/ca704b8d324a2591b0b0adcfcaadf9c862375b11f2f667ac03c61b4fd0a6/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f586db2e209d54fe177e58e0bc4946bea5fb0102f150b1b2f13de03e1f0976f8", size = 399828, upload-time = "2025-10-22T22:23:25.713Z" },
+ { url = "https://files.pythonhosted.org/packages/da/37/e84283b9e897e3adc46b4c88bb3f6ec92a43bd4d2f7ef5b13459963b2e9c/rpds_py-0.28.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ae8ee156d6b586e4292491e885d41483136ab994e719a13458055bec14cf370", size = 375509, upload-time = "2025-10-22T22:23:27.32Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/c2/a980beab869d86258bf76ec42dec778ba98151f253a952b02fe36d72b29c/rpds_py-0.28.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:a805e9b3973f7e27f7cab63a6b4f61d90f2e5557cff73b6e97cd5b8540276d3d", size = 392014, upload-time = "2025-10-22T22:23:29.332Z" },
+ { url = "https://files.pythonhosted.org/packages/da/b5/b1d3c5f9d3fa5aeef74265f9c64de3c34a0d6d5cd3c81c8b17d5c8f10ed4/rpds_py-0.28.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5d3fd16b6dc89c73a4da0b4ac8b12a7ecc75b2864b95c9e5afed8003cb50a728", size = 402410, upload-time = "2025-10-22T22:23:31.14Z" },
+ { url = "https://files.pythonhosted.org/packages/74/ae/cab05ff08dfcc052afc73dcb38cbc765ffc86f94e966f3924cd17492293c/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6796079e5d24fdaba6d49bda28e2c47347e89834678f2bc2c1b4fc1489c0fb01", size = 553593, upload-time = "2025-10-22T22:23:32.834Z" },
+ { url = "https://files.pythonhosted.org/packages/70/80/50d5706ea2a9bfc9e9c5f401d91879e7c790c619969369800cde202da214/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:76500820c2af232435cbe215e3324c75b950a027134e044423f59f5b9a1ba515", size = 576925, upload-time = "2025-10-22T22:23:34.47Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/12/85a57d7a5855a3b188d024b099fd09c90db55d32a03626d0ed16352413ff/rpds_py-0.28.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bbdc5640900a7dbf9dd707fe6388972f5bbd883633eb68b76591044cfe346f7e", size = 542444, upload-time = "2025-10-22T22:23:36.093Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/65/10643fb50179509150eb94d558e8837c57ca8b9adc04bd07b98e57b48f8c/rpds_py-0.28.0-cp314-cp314-win32.whl", hash = "sha256:adc8aa88486857d2b35d75f0640b949759f79dc105f50aa2c27816b2e0dd749f", size = 207968, upload-time = "2025-10-22T22:23:37.638Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/84/0c11fe4d9aaea784ff4652499e365963222481ac647bcd0251c88af646eb/rpds_py-0.28.0-cp314-cp314-win_amd64.whl", hash = "sha256:66e6fa8e075b58946e76a78e69e1a124a21d9a48a5b4766d15ba5b06869d1fa1", size = 218876, upload-time = "2025-10-22T22:23:39.179Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/e0/3ab3b86ded7bb18478392dc3e835f7b754cd446f62f3fc96f4fe2aca78f6/rpds_py-0.28.0-cp314-cp314-win_arm64.whl", hash = "sha256:a6fe887c2c5c59413353b7c0caff25d0e566623501ccfff88957fa438a69377d", size = 212506, upload-time = "2025-10-22T22:23:40.755Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ec/d5681bb425226c3501eab50fc30e9d275de20c131869322c8a1729c7b61c/rpds_py-0.28.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:7a69df082db13c7070f7b8b1f155fa9e687f1d6aefb7b0e3f7231653b79a067b", size = 355433, upload-time = "2025-10-22T22:23:42.259Z" },
+ { url = "https://files.pythonhosted.org/packages/be/ec/568c5e689e1cfb1ea8b875cffea3649260955f677fdd7ddc6176902d04cd/rpds_py-0.28.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b1cde22f2c30ebb049a9e74c5374994157b9b70a16147d332f89c99c5960737a", size = 342601, upload-time = "2025-10-22T22:23:44.372Z" },
+ { url = "https://files.pythonhosted.org/packages/32/fe/51ada84d1d2a1d9d8f2c902cfddd0133b4a5eb543196ab5161d1c07ed2ad/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5338742f6ba7a51012ea470bd4dc600a8c713c0c72adaa0977a1b1f4327d6592", size = 372039, upload-time = "2025-10-22T22:23:46.025Z" },
+ { url = "https://files.pythonhosted.org/packages/07/c1/60144a2f2620abade1a78e0d91b298ac2d9b91bc08864493fa00451ef06e/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1460ebde1bcf6d496d80b191d854adedcc619f84ff17dc1c6d550f58c9efbba", size = 382407, upload-time = "2025-10-22T22:23:48.098Z" },
+ { url = "https://files.pythonhosted.org/packages/45/ed/091a7bbdcf4038a60a461df50bc4c82a7ed6d5d5e27649aab61771c17585/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e3eb248f2feba84c692579257a043a7699e28a77d86c77b032c1d9fbb3f0219c", size = 518172, upload-time = "2025-10-22T22:23:50.16Z" },
+ { url = "https://files.pythonhosted.org/packages/54/dd/02cc90c2fd9c2ef8016fd7813bfacd1c3a1325633ec8f244c47b449fc868/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3bbba5def70b16cd1c1d7255666aad3b290fbf8d0fe7f9f91abafb73611a91", size = 399020, upload-time = "2025-10-22T22:23:51.81Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/81/5d98cc0329bbb911ccecd0b9e19fbf7f3a5de8094b4cda5e71013b2dd77e/rpds_py-0.28.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3114f4db69ac5a1f32e7e4d1cbbe7c8f9cf8217f78e6e002cedf2d54c2a548ed", size = 377451, upload-time = "2025-10-22T22:23:53.711Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/07/4d5bcd49e3dfed2d38e2dcb49ab6615f2ceb9f89f5a372c46dbdebb4e028/rpds_py-0.28.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:4b0cb8a906b1a0196b863d460c0222fb8ad0f34041568da5620f9799b83ccf0b", size = 390355, upload-time = "2025-10-22T22:23:55.299Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/79/9f14ba9010fee74e4f40bf578735cfcbb91d2e642ffd1abe429bb0b96364/rpds_py-0.28.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf681ac76a60b667106141e11a92a3330890257e6f559ca995fbb5265160b56e", size = 403146, upload-time = "2025-10-22T22:23:56.929Z" },
+ { url = "https://files.pythonhosted.org/packages/39/4c/f08283a82ac141331a83a40652830edd3a4a92c34e07e2bbe00baaea2f5f/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1e8ee6413cfc677ce8898d9cde18cc3a60fc2ba756b0dec5b71eb6eb21c49fa1", size = 552656, upload-time = "2025-10-22T22:23:58.62Z" },
+ { url = "https://files.pythonhosted.org/packages/61/47/d922fc0666f0dd8e40c33990d055f4cc6ecff6f502c2d01569dbed830f9b/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b3072b16904d0b5572a15eb9d31c1954e0d3227a585fc1351aa9878729099d6c", size = 576782, upload-time = "2025-10-22T22:24:00.312Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/0c/5bafdd8ccf6aa9d3bfc630cfece457ff5b581af24f46a9f3590f790e3df2/rpds_py-0.28.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b670c30fd87a6aec281c3c9896d3bae4b205fd75d79d06dc87c2503717e46092", size = 544671, upload-time = "2025-10-22T22:24:02.297Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/37/dcc5d8397caa924988693519069d0beea077a866128719351a4ad95e82fc/rpds_py-0.28.0-cp314-cp314t-win32.whl", hash = "sha256:8014045a15b4d2b3476f0a287fcc93d4f823472d7d1308d47884ecac9e612be3", size = 205749, upload-time = "2025-10-22T22:24:03.848Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/69/64d43b21a10d72b45939a28961216baeb721cc2a430f5f7c3bfa21659a53/rpds_py-0.28.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7a4e59c90d9c27c561eb3160323634a9ff50b04e4f7820600a2beb0ac90db578", size = 216233, upload-time = "2025-10-22T22:24:05.471Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/bc/b43f2ea505f28119bd551ae75f70be0c803d2dbcd37c1b3734909e40620b/rpds_py-0.28.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f5e7101145427087e493b9c9b959da68d357c28c562792300dd21a095118ed16", size = 363913, upload-time = "2025-10-22T22:24:07.129Z" },
+ { url = "https://files.pythonhosted.org/packages/28/f2/db318195d324c89a2c57dc5195058cbadd71b20d220685c5bd1da79ee7fe/rpds_py-0.28.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:31eb671150b9c62409a888850aaa8e6533635704fe2b78335f9aaf7ff81eec4d", size = 350452, upload-time = "2025-10-22T22:24:08.754Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/f2/1391c819b8573a4898cedd6b6c5ec5bc370ce59e5d6bdcebe3c9c1db4588/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48b55c1f64482f7d8bd39942f376bfdf2f6aec637ee8c805b5041e14eeb771db", size = 380957, upload-time = "2025-10-22T22:24:10.826Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/5c/e5de68ee7eb7248fce93269833d1b329a196d736aefb1a7481d1e99d1222/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24743a7b372e9a76171f6b69c01aedf927e8ac3e16c474d9fe20d552a8cb45c7", size = 391919, upload-time = "2025-10-22T22:24:12.559Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/4f/2376336112cbfeb122fd435d608ad8d5041b3aed176f85a3cb32c262eb80/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:389c29045ee8bbb1627ea190b4976a310a295559eaf9f1464a1a6f2bf84dde78", size = 528541, upload-time = "2025-10-22T22:24:14.197Z" },
+ { url = "https://files.pythonhosted.org/packages/68/53/5ae232e795853dd20da7225c5dd13a09c0a905b1a655e92bdf8d78a99fd9/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23690b5827e643150cf7b49569679ec13fe9a610a15949ed48b85eb7f98f34ec", size = 405629, upload-time = "2025-10-22T22:24:16.001Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/2d/351a3b852b683ca9b6b8b38ed9efb2347596973849ba6c3a0e99877c10aa/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f0c9266c26580e7243ad0d72fc3e01d6b33866cfab5084a6da7576bcf1c4f72", size = 384123, upload-time = "2025-10-22T22:24:17.585Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/15/870804daa00202728cc91cb8e2385fa9f1f4eb49857c49cfce89e304eae6/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4c6c4db5d73d179746951486df97fd25e92396be07fc29ee8ff9a8f5afbdfb27", size = 400923, upload-time = "2025-10-22T22:24:19.512Z" },
+ { url = "https://files.pythonhosted.org/packages/53/25/3706b83c125fa2a0bccceac951de3f76631f6bd0ee4d02a0ed780712ef1b/rpds_py-0.28.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3b695a8fa799dd2cfdb4804b37096c5f6dba1ac7f48a7fbf6d0485bcd060316", size = 413767, upload-time = "2025-10-22T22:24:21.316Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/f9/ce43dbe62767432273ed2584cef71fef8411bddfb64125d4c19128015018/rpds_py-0.28.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:6aa1bfce3f83baf00d9c5fcdbba93a3ab79958b4c7d7d1f55e7fe68c20e63912", size = 561530, upload-time = "2025-10-22T22:24:22.958Z" },
+ { url = "https://files.pythonhosted.org/packages/46/c9/ffe77999ed8f81e30713dd38fd9ecaa161f28ec48bb80fa1cd9118399c27/rpds_py-0.28.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:7b0f9dceb221792b3ee6acb5438eb1f02b0cb2c247796a72b016dcc92c6de829", size = 585453, upload-time = "2025-10-22T22:24:24.779Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/d2/4a73b18821fd4669762c855fd1f4e80ceb66fb72d71162d14da58444a763/rpds_py-0.28.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5d0145edba8abd3db0ab22b5300c99dc152f5c9021fab861be0f0544dc3cbc5f", size = 552199, upload-time = "2025-10-22T22:24:26.54Z" },
+]
+
+[[package]]
+name = "ruff"
+version = "0.13.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/02/df/8d7d8c515d33adfc540e2edf6c6021ea1c5a58a678d8cfce9fae59aabcab/ruff-0.13.2.tar.gz", hash = "sha256:cb12fffd32fb16d32cef4ed16d8c7cdc27ed7c944eaa98d99d01ab7ab0b710ff", size = 5416417, upload-time = "2025-09-25T14:54:09.936Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6e/84/5716a7fa4758e41bf70e603e13637c42cfb9dbf7ceb07180211b9bbf75ef/ruff-0.13.2-py3-none-linux_armv6l.whl", hash = "sha256:3796345842b55f033a78285e4f1641078f902020d8450cade03aad01bffd81c3", size = 12343254, upload-time = "2025-09-25T14:53:27.784Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/77/c7042582401bb9ac8eff25360e9335e901d7a1c0749a2b28ba4ecb239991/ruff-0.13.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ff7e4dda12e683e9709ac89e2dd436abf31a4d8a8fc3d89656231ed808e231d2", size = 13040891, upload-time = "2025-09-25T14:53:31.38Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/15/125a7f76eb295cb34d19c6778e3a82ace33730ad4e6f28d3427e134a02e0/ruff-0.13.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c75e9d2a2fafd1fdd895d0e7e24b44355984affdde1c412a6f6d3f6e16b22d46", size = 12243588, upload-time = "2025-09-25T14:53:33.543Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/eb/0093ae04a70f81f8be7fd7ed6456e926b65d238fc122311293d033fdf91e/ruff-0.13.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cceac74e7bbc53ed7d15d1042ffe7b6577bf294611ad90393bf9b2a0f0ec7cb6", size = 12491359, upload-time = "2025-09-25T14:53:35.892Z" },
+ { url = "https://files.pythonhosted.org/packages/43/fe/72b525948a6956f07dad4a6f122336b6a05f2e3fd27471cea612349fedb9/ruff-0.13.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6ae3f469b5465ba6d9721383ae9d49310c19b452a161b57507764d7ef15f4b07", size = 12162486, upload-time = "2025-09-25T14:53:38.171Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/e3/0fac422bbbfb2ea838023e0d9fcf1f30183d83ab2482800e2cb892d02dfe/ruff-0.13.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f8f9e3cd6714358238cd6626b9d43026ed19c0c018376ac1ef3c3a04ffb42d8", size = 13871203, upload-time = "2025-09-25T14:53:41.943Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/82/b721c8e3ec5df6d83ba0e45dcf00892c4f98b325256c42c38ef136496cbf/ruff-0.13.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c6ed79584a8f6cbe2e5d7dbacf7cc1ee29cbdb5df1172e77fbdadc8bb85a1f89", size = 14929635, upload-time = "2025-09-25T14:53:43.953Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/a0/ad56faf6daa507b83079a1ad7a11694b87d61e6bf01c66bd82b466f21821/ruff-0.13.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aed130b2fde049cea2019f55deb939103123cdd191105f97a0599a3e753d61b0", size = 14338783, upload-time = "2025-09-25T14:53:46.205Z" },
+ { url = "https://files.pythonhosted.org/packages/47/77/ad1d9156db8f99cd01ee7e29d74b34050e8075a8438e589121fcd25c4b08/ruff-0.13.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1887c230c2c9d65ed1b4e4cfe4d255577ea28b718ae226c348ae68df958191aa", size = 13355322, upload-time = "2025-09-25T14:53:48.164Z" },
+ { url = "https://files.pythonhosted.org/packages/64/8b/e87cfca2be6f8b9f41f0bb12dc48c6455e2d66df46fe61bb441a226f1089/ruff-0.13.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5bcb10276b69b3cfea3a102ca119ffe5c6ba3901e20e60cf9efb53fa417633c3", size = 13354427, upload-time = "2025-09-25T14:53:50.486Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/df/bf382f3fbead082a575edb860897287f42b1b3c694bafa16bc9904c11ed3/ruff-0.13.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:afa721017aa55a555b2ff7944816587f1cb813c2c0a882d158f59b832da1660d", size = 13537637, upload-time = "2025-09-25T14:53:52.887Z" },
+ { url = "https://files.pythonhosted.org/packages/51/70/1fb7a7c8a6fc8bd15636288a46e209e81913b87988f26e1913d0851e54f4/ruff-0.13.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1dbc875cf3720c64b3990fef8939334e74cb0ca65b8dbc61d1f439201a38101b", size = 12340025, upload-time = "2025-09-25T14:53:54.88Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/27/1e5b3f1c23ca5dd4106d9d580e5c13d9acb70288bff614b3d7b638378cc9/ruff-0.13.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b939a1b2a960e9742e9a347e5bbc9b3c3d2c716f86c6ae273d9cbd64f193f22", size = 12133449, upload-time = "2025-09-25T14:53:57.089Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/09/b92a5ccee289f11ab128df57d5911224197d8d55ef3bd2043534ff72ca54/ruff-0.13.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:50e2d52acb8de3804fc5f6e2fa3ae9bdc6812410a9e46837e673ad1f90a18736", size = 13051369, upload-time = "2025-09-25T14:53:59.124Z" },
+ { url = "https://files.pythonhosted.org/packages/89/99/26c9d1c7d8150f45e346dc045cc49f23e961efceb4a70c47dea0960dea9a/ruff-0.13.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3196bc13ab2110c176b9a4ae5ff7ab676faaa1964b330a1383ba20e1e19645f2", size = 13523644, upload-time = "2025-09-25T14:54:01.622Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/00/e7f1501e81e8ec290e79527827af1d88f541d8d26151751b46108978dade/ruff-0.13.2-py3-none-win32.whl", hash = "sha256:7c2a0b7c1e87795fec3404a485096bcd790216c7c146a922d121d8b9c8f1aaac", size = 12245990, upload-time = "2025-09-25T14:54:03.647Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/bd/d9f33a73de84fafd0146c6fba4f497c4565fe8fa8b46874b8e438869abc2/ruff-0.13.2-py3-none-win_amd64.whl", hash = "sha256:17d95fb32218357c89355f6f6f9a804133e404fc1f65694372e02a557edf8585", size = 13324004, upload-time = "2025-09-25T14:54:06.05Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/12/28fa2f597a605884deb0f65c1b1ae05111051b2a7030f5d8a4ff7f4599ba/ruff-0.13.2-py3-none-win_arm64.whl", hash = "sha256:da711b14c530412c827219312b7d7fbb4877fb31150083add7e8c5336549cea7", size = 12484437, upload-time = "2025-09-25T14:54:08.022Z" },
+]
+
+[[package]]
+name = "scikit-learn"
+version = "1.7.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "joblib" },
+ { name = "numpy" },
+ { name = "scipy" },
+ { name = "threadpoolctl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967, upload-time = "2025-09-09T08:20:32.421Z" },
+ { url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645, upload-time = "2025-09-09T08:20:34.436Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424, upload-time = "2025-09-09T08:20:36.776Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234, upload-time = "2025-09-09T08:20:38.957Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244, upload-time = "2025-09-09T08:20:41.166Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" },
+ { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" },
+ { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382, upload-time = "2025-09-09T08:20:54.731Z" },
+ { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042, upload-time = "2025-09-09T08:20:57.313Z" },
+ { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180, upload-time = "2025-09-09T08:20:59.671Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660, upload-time = "2025-09-09T08:21:01.71Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057, upload-time = "2025-09-09T08:21:04.234Z" },
+ { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731, upload-time = "2025-09-09T08:21:06.381Z" },
+ { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852, upload-time = "2025-09-09T08:21:08.628Z" },
+ { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094, upload-time = "2025-09-09T08:21:11.486Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436, upload-time = "2025-09-09T08:21:13.602Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749, upload-time = "2025-09-09T08:21:15.96Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/82/dee5acf66837852e8e68df6d8d3a6cb22d3df997b733b032f513d95205b7/scikit_learn-1.7.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fa8f63940e29c82d1e67a45d5297bdebbcb585f5a5a50c4914cc2e852ab77f33", size = 9208906, upload-time = "2025-09-09T08:21:18.557Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/30/9029e54e17b87cb7d50d51a5926429c683d5b4c1732f0507a6c3bed9bf65/scikit_learn-1.7.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f95dc55b7902b91331fa4e5845dd5bde0580c9cd9612b1b2791b7e80c3d32615", size = 8627836, upload-time = "2025-09-09T08:21:20.695Z" },
+ { url = "https://files.pythonhosted.org/packages/60/18/4a52c635c71b536879f4b971c2cedf32c35ee78f48367885ed8025d1f7ee/scikit_learn-1.7.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9656e4a53e54578ad10a434dc1f993330568cfee176dff07112b8785fb413106", size = 9426236, upload-time = "2025-09-09T08:21:22.645Z" },
+ { url = "https://files.pythonhosted.org/packages/99/7e/290362f6ab582128c53445458a5befd471ed1ea37953d5bcf80604619250/scikit_learn-1.7.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96dc05a854add0e50d3f47a1ef21a10a595016da5b007c7d9cd9d0bffd1fcc61", size = 9312593, upload-time = "2025-09-09T08:21:24.65Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/87/24f541b6d62b1794939ae6422f8023703bbf6900378b2b34e0b4384dfefd/scikit_learn-1.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:bb24510ed3f9f61476181e4db51ce801e2ba37541def12dc9333b946fc7a9cf8", size = 8820007, upload-time = "2025-09-09T08:21:26.713Z" },
+]
+
+[[package]]
+name = "scipy"
+version = "1.15.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" },
+ { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" },
+ { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" },
+ { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" },
+ { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" },
+ { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" },
+ { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" },
+ { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" },
+ { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" },
+ { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" },
+ { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" },
+ { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" },
+ { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" },
+ { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" },
+ { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" },
+ { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" },
+ { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" },
+ { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" },
+]
+
+[[package]]
+name = "seaborn"
+version = "0.13.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "matplotlib" },
+ { name = "numpy" },
+ { name = "pandas" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696, upload-time = "2024-01-25T13:21:52.551Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914, upload-time = "2024-01-25T13:21:49.598Z" },
+]
+
+[[package]]
+name = "session-info"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "stdlib-list" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f5/dc/4a0c85aee2034be368d3ca293a563128122dde6db6e1bc9ca9ef3472c731/session_info-1.0.1.tar.gz", hash = "sha256:d71950d5a8ce7f7f7d5e86aa208c148c4e50b5440b77d5544d422b48e4f3ed41", size = 24663, upload-time = "2025-04-11T16:08:43.504Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/c4/f6b7c0ec5241a2bde90c7ba1eca6ba44f8488bcedafe9072c79593015ec0/session_info-1.0.1-py3-none-any.whl", hash = "sha256:451d191e51816070b9f21a6ff3f6eb5d6015ae2738e8db63ac4e6398260a5838", size = 9119, upload-time = "2025-04-11T16:08:42.612Z" },
+]
+
+[[package]]
+name = "session-info2"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/45/4f/6333d79d97ccfea6d2199b7e666f8c53c5a31b64968c948a750a0b5c748a/session_info2-0.2.3.tar.gz", hash = "sha256:6d16e3c6bb72ea52e589da4d722d24798aa3511c34ab8446a131d655cba2e2c9", size = 23859, upload-time = "2025-10-09T12:51:28.07Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9d/b7/7d4c95c7b8525dabea23c548a1bb068d7a61635d544e8c92c51e784dad63/session_info2-0.2.3-py3-none-any.whl", hash = "sha256:f211d9930f73b485b727b6c4d8b964fa1b634351b3079393738f42be9b4c7f5e", size = 16347, upload-time = "2025-10-09T12:51:26.413Z" },
+]
+
+[[package]]
+name = "setuptools"
+version = "80.9.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" },
+]
+
+[[package]]
+name = "singlecellexperiment"
+version = "0.5.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "summarizedexperiment" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/71/d9/6268e81d7b5c49dd12d0f4d5ccaa1b6c095b8571968152ceeab462f07a78/singlecellexperiment-0.5.9.tar.gz", hash = "sha256:5bcbfd21e0d01196b1427ea99411f79d199d9678b613470522d57bffe54d38ad", size = 1076637, upload-time = "2025-05-05T16:37:09.993Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9a/b0/378527f1b8436b379314513ad3e97a7b4064ea9046c5cf90cc887e1a7d43/singlecellexperiment-0.5.9-py3-none-any.whl", hash = "sha256:90687a6a2074c6bb38f3f335b1f2dd442357ea349b74e7b3660506be00950852", size = 15995, upload-time = "2025-05-05T16:37:07.899Z" },
+]
+
+[[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, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "snowballstemmer"
+version = "3.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575, upload-time = "2025-05-09T16:34:51.843Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" },
+]
+
+[[package]]
+name = "soupsieve"
+version = "2.8"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" },
+]
+
+[[package]]
+name = "sphinx"
+version = "8.1.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "alabaster" },
+ { name = "babel" },
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "docutils" },
+ { name = "imagesize" },
+ { name = "jinja2" },
+ { name = "packaging" },
+ { name = "pygments" },
+ { name = "requests" },
+ { name = "snowballstemmer" },
+ { name = "sphinxcontrib-applehelp" },
+ { name = "sphinxcontrib-devhelp" },
+ { name = "sphinxcontrib-htmlhelp" },
+ { name = "sphinxcontrib-jsmath" },
+ { name = "sphinxcontrib-qthelp" },
+ { name = "sphinxcontrib-serializinghtml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611, upload-time = "2024-10-13T20:27:13.93Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/60/1ddff83a56d33aaf6f10ec8ce84b4c007d9368b21008876fceda7e7381ef/sphinx-8.1.3-py3-none-any.whl", hash = "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2", size = 3487125, upload-time = "2024-10-13T20:27:10.448Z" },
+]
+
+[[package]]
+name = "sphinx-autoapi"
+version = "3.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "astroid", version = "3.3.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },
+ { name = "astroid", version = "4.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" },
+ { name = "jinja2" },
+ { name = "pyyaml" },
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a9/ad/c627976d5f4d812b203ef1136108bbd81ef9bbbfd3f700f1295c322c22e6/sphinx_autoapi-3.6.1.tar.gz", hash = "sha256:1ff2992b7d5e39ccf92413098a376e0f91e7b4ca532c4f3e71298dbc8a4a9900", size = 55456, upload-time = "2025-10-06T16:21:22.888Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ca/89/aea2f346fcdb44eb72464842e106b6291b2687feec2dd8b2de920ab89f28/sphinx_autoapi-3.6.1-py3-none-any.whl", hash = "sha256:6b7af0d5650f6eac1f4b85c1eb9f9a4911160ec7138bdc4451c77a5e94d5832c", size = 35334, upload-time = "2025-10-06T16:21:21.33Z" },
+]
+
+[[package]]
+name = "sphinx-autodoc-typehints"
+version = "3.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/26/f0/43c6a5ff3e7b08a8c3b32f81b859f1b518ccc31e45f22e2b41ced38be7b9/sphinx_autodoc_typehints-3.0.1.tar.gz", hash = "sha256:b9b40dd15dee54f6f810c924f863f9cf1c54f9f3265c495140ea01be7f44fa55", size = 36282, upload-time = "2025-01-16T18:25:30.958Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/dc/dc46c5c7c566b7ec5e8f860f9c89533bf03c0e6aadc96fb9b337867e4460/sphinx_autodoc_typehints-3.0.1-py3-none-any.whl", hash = "sha256:4b64b676a14b5b79cefb6628a6dc8070e320d4963e8ff640a2f3e9390ae9045a", size = 20245, upload-time = "2025-01-16T18:25:27.394Z" },
+]
+
+[[package]]
+name = "sphinx-basic-ng"
+version = "1.0.0b2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/0b/a866924ded68efec7a1759587a4e478aec7559d8165fac8b2ad1c0e774d6/sphinx_basic_ng-1.0.0b2.tar.gz", hash = "sha256:9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9", size = 20736, upload-time = "2023-07-08T18:40:54.166Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/dd/018ce05c532a22007ac58d4f45232514cd9d6dd0ee1dc374e309db830983/sphinx_basic_ng-1.0.0b2-py3-none-any.whl", hash = "sha256:eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b", size = 22496, upload-time = "2023-07-08T18:40:52.659Z" },
+]
+
+[[package]]
+name = "sphinx-copybutton"
+version = "0.5.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/2b/a964715e7f5295f77509e59309959f4125122d648f86b4fe7d70ca1d882c/sphinx-copybutton-0.5.2.tar.gz", hash = "sha256:4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd", size = 23039, upload-time = "2023-04-14T08:10:22.998Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/48/1ea60e74949eecb12cdd6ac43987f9fd331156388dcc2319b45e2ebb81bf/sphinx_copybutton-0.5.2-py3-none-any.whl", hash = "sha256:fb543fd386d917746c9a2c50360c7905b605726b9355cd26e9974857afeae06e", size = 13343, upload-time = "2023-04-14T08:10:20.844Z" },
+]
+
+[[package]]
+name = "sphinx-design"
+version = "0.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2b/69/b34e0cb5336f09c6866d53b4a19d76c227cdec1bbc7ac4de63ca7d58c9c7/sphinx_design-0.6.1.tar.gz", hash = "sha256:b44eea3719386d04d765c1a8257caca2b3e6f8421d7b3a5e742c0fd45f84e632", size = 2193689, upload-time = "2024-08-02T13:48:44.277Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/43/65c0acbd8cc6f50195a3a1fc195c404988b15c67090e73c7a41a9f57d6bd/sphinx_design-0.6.1-py3-none-any.whl", hash = "sha256:b11f37db1a802a183d61b159d9a202314d4d2fe29c163437001324fe2f19549c", size = 2215338, upload-time = "2024-08-02T13:48:42.106Z" },
+]
+
+[[package]]
+name = "sphinx-rtd-theme"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "docutils" },
+ { name = "sphinx" },
+ { name = "sphinxcontrib-jquery" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/91/44/c97faec644d29a5ceddd3020ae2edffa69e7d00054a8c7a6021e82f20335/sphinx_rtd_theme-3.0.2.tar.gz", hash = "sha256:b7457bc25dda723b20b086a670b9953c859eab60a2a03ee8eb2bb23e176e5f85", size = 7620463, upload-time = "2024-11-13T11:06:04.545Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/85/77/46e3bac77b82b4df5bb5b61f2de98637724f246b4966cfc34bc5895d852a/sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl", hash = "sha256:422ccc750c3a3a311de4ae327e82affdaf59eb695ba4936538552f3b00f4ee13", size = 7655561, upload-time = "2024-11-13T11:06:02.094Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-applehelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053, upload-time = "2024-07-29T01:09:00.465Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300, upload-time = "2024-07-29T01:08:58.99Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-devhelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967, upload-time = "2024-07-29T01:09:23.417Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530, upload-time = "2024-07-29T01:09:21.945Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-htmlhelp"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617, upload-time = "2024-07-29T01:09:37.889Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705, upload-time = "2024-07-29T01:09:36.407Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-jquery"
+version = "4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/de/f3/aa67467e051df70a6330fe7770894b3e4f09436dea6881ae0b4f3d87cad8/sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a", size = 122331, upload-time = "2023-03-14T15:01:01.944Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/85/749bd22d1a68db7291c89e2ebca53f4306c3f205853cf31e9de279034c3c/sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae", size = 121104, upload-time = "2023-03-14T15:01:00.356Z" },
+]
+
+[[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, upload-time = "2019-01-21T16:10:16.347Z" }
+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, upload-time = "2019-01-21T16:10:14.333Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-qthelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165, upload-time = "2024-07-29T01:09:56.435Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743, upload-time = "2024-07-29T01:09:54.885Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080, upload-time = "2024-07-29T01:10:09.332Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072, upload-time = "2024-07-29T01:10:08.203Z" },
+]
+
+[[package]]
+name = "sqlparse"
+version = "0.5.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/40/edede8dd6977b0d3da179a342c198ed100dd2aba4be081861ee5911e4da4/sqlparse-0.5.3.tar.gz", hash = "sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272", size = 84999, upload-time = "2024-12-10T12:05:30.728Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl", hash = "sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca", size = 44415, upload-time = "2024-12-10T12:05:27.824Z" },
+]
+
+[[package]]
+name = "stack-data"
+version = "0.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "asttokens" },
+ { name = "executing" },
+ { name = "pure-eval" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" },
+]
+
+[[package]]
+name = "stdlib-list"
+version = "0.11.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5d/09/8d5c564931ae23bef17420a6c72618463a59222ca4291a7dd88de8a0d490/stdlib_list-0.11.1.tar.gz", hash = "sha256:95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857", size = 60442, upload-time = "2025-02-18T15:39:38.769Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/c7/4102536de33c19d090ed2b04e90e7452e2e3dc653cf3323208034eaaca27/stdlib_list-0.11.1-py3-none-any.whl", hash = "sha256:9029ea5e3dfde8cd4294cfd4d1797be56a67fc4693c606181730148c3fd1da29", size = 83620, upload-time = "2025-02-18T15:39:37.02Z" },
+]
+
+[[package]]
+name = "stevedore"
+version = "5.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2a/5f/8418daad5c353300b7661dd8ce2574b0410a6316a8be650a189d5c68d938/stevedore-5.5.0.tar.gz", hash = "sha256:d31496a4f4df9825e1a1e4f1f74d19abb0154aff311c3b376fcc89dae8fccd73", size = 513878, upload-time = "2025-08-25T12:54:26.806Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/80/c5/0c06759b95747882bb50abda18f5fb48c3e9b0fbfc6ebc0e23550b52415d/stevedore-5.5.0-py3-none-any.whl", hash = "sha256:18363d4d268181e8e8452e71a38cd77630f345b2ef6b4a8d5614dac5ee0d18cf", size = 49518, upload-time = "2025-08-25T12:54:25.445Z" },
+]
+
+[[package]]
+name = "summarizedexperiment"
+version = "0.5.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "biocframe" },
+ { name = "biocutils" },
+ { name = "genomicranges" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/58/5e/4817d1c0858060e1122191a82384bb942a19d39e98cd03a932e0afe04051/summarizedexperiment-0.5.5.tar.gz", hash = "sha256:8d7411091aa3ddf756e492fc98e46ece58d80938fe8f466baaf684fd5aa4cbf3", size = 1015767, upload-time = "2025-03-26T07:21:40.949Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/09/308d7667d17b136cc5cb27a034ea6521643b368b060d22a34f1a19499b0b/summarizedexperiment-0.5.5-py3-none-any.whl", hash = "sha256:494d52e07b424c899752b162df49abfbaedfdadc392f271431f51e0be1619223", size = 22448, upload-time = "2025-03-26T07:21:39.253Z" },
+]
+
+[[package]]
+name = "tabulate"
+version = "0.9.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", size = 81090, upload-time = "2022-10-06T17:21:48.54Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", size = 35252, upload-time = "2022-10-06T17:21:44.262Z" },
+]
+
+[[package]]
+name = "threadpoolctl"
+version = "3.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" },
+]
+
+[[package]]
+name = "timeloop"
+version = "1.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6a/95/3e39ee32f15a8e9dea46bb52300611a5351964eeaa393bafb0d738e90ce0/timeloop-1.0.2.tar.gz", hash = "sha256:4e716c67fe6bcadcee7ddb91e2520792426818a70f27e630cfbbbd9becc48a13", size = 2902, upload-time = "2019-02-12T12:06:15.779Z" }
+
+[[package]]
+name = "tinycss2"
+version = "1.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "webencodings" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" },
+]
+
+[[package]]
+name = "toml"
+version = "0.10.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" },
+]
+
+[[package]]
+name = "tomli-w"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size = 7184, upload-time = "2025-01-15T12:07:24.262Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size = 6675, upload-time = "2025-01-15T12:07:22.074Z" },
+]
+
+[[package]]
+name = "toolz"
+version = "1.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/11/d6/114b492226588d6ff54579d95847662fc69196bdeec318eb45393b24c192/toolz-1.1.0.tar.gz", hash = "sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b", size = 52613, upload-time = "2025-10-17T04:03:21.661Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl", hash = "sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8", size = 58093, upload-time = "2025-10-17T04:03:20.435Z" },
+]
+
+[[package]]
+name = "tornado"
+version = "6.5.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" },
+ { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" },
+ { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" },
+]
+
+[[package]]
+name = "tqdm"
+version = "4.67.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" },
+]
+
+[[package]]
+name = "traitlets"
+version = "5.14.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" },
+]
+
+[[package]]
+name = "types-pytz"
+version = "2025.2.0.20250809"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/07/e2/c774f754de26848f53f05defff5bb21dd9375a059d1ba5b5ea943cf8206e/types_pytz-2025.2.0.20250809.tar.gz", hash = "sha256:222e32e6a29bb28871f8834e8785e3801f2dc4441c715cd2082b271eecbe21e5", size = 10876, upload-time = "2025-08-09T03:14:17.453Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/db/d0/91c24fe54e565f2344d7a6821e6c6bb099841ef09007ea6321a0bac0f808/types_pytz-2025.2.0.20250809-py3-none-any.whl", hash = "sha256:4f55ed1b43e925cf851a756fe1707e0f5deeb1976e15bf844bcaa025e8fbd0db", size = 10095, upload-time = "2025-08-09T03:14:16.674Z" },
+]
+
+[[package]]
+name = "types-requests"
+version = "2.32.4.20250913"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz", hash = "sha256:abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", size = 23113, upload-time = "2025-09-13T02:40:02.309Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl", hash = "sha256:78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", size = 20658, upload-time = "2025-09-13T02:40:01.115Z" },
+]
+
+[[package]]
+name = "types-tqdm"
+version = "4.67.0.20250809"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "types-requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/d0/cf498fc630d9fdaf2428b93e60b0e67b08008fec22b78716b8323cf644dc/types_tqdm-4.67.0.20250809.tar.gz", hash = "sha256:02bf7ab91256080b9c4c63f9f11b519c27baaf52718e5fdab9e9606da168d500", size = 17200, upload-time = "2025-08-09T03:17:43.489Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/13/3ff0781445d7c12730befce0fddbbc7a76e56eb0e7029446f2853238360a/types_tqdm-4.67.0.20250809-py3-none-any.whl", hash = "sha256:1a73053b31fcabf3c1f3e2a9d5ecdba0f301bde47a418cd0e0bdf774827c5c57", size = 24020, upload-time = "2025-08-09T03:17:42.453Z" },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.15.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
+]
+
+[[package]]
+name = "tzdata"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" },
+]
+
+[[package]]
+name = "url-normalize"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "idna" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/80/31/febb777441e5fcdaacb4522316bf2a527c44551430a4873b052d545e3279/url_normalize-2.2.1.tar.gz", hash = "sha256:74a540a3b6eba1d95bdc610c24f2c0141639f3ba903501e61a52a8730247ff37", size = 18846, upload-time = "2025-04-26T20:37:58.553Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/d9/5ec15501b675f7bc07c5d16aa70d8d778b12375686b6efd47656efdc67cd/url_normalize-2.2.1-py3-none-any.whl", hash = "sha256:3deb687587dc91f7b25c9ae5162ffc0f057ae85d22b1e15cf5698311247f567b", size = 14728, upload-time = "2025-04-26T20:37:57.217Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.35.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "distlib" },
+ { name = "filelock" },
+ { name = "platformdirs" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a4/d5/b0ccd381d55c8f45d46f77df6ae59fbc23d19e901e2d523395598e5f4c93/virtualenv-20.35.3.tar.gz", hash = "sha256:4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44", size = 6002907, upload-time = "2025-10-10T21:23:33.178Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/73/d9a94da0e9d470a543c1b9d3ccbceb0f59455983088e727b8a1824ed90fb/virtualenv-20.35.3-py3-none-any.whl", hash = "sha256:63d106565078d8c8d0b206d48080f938a8b25361e19432d2c9db40d2899c810a", size = 5981061, upload-time = "2025-10-10T21:23:30.433Z" },
+]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.14"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" },
+]
+
+[[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, upload-time = "2017-04-05T20:21:34.189Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" },
+]
+
+[[package]]
+name = "wrapt"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/49/19/5e5bcd855d808892fe02d49219f97a50f64cd6d8313d75df3494ee97b1a3/wrapt-2.0.0.tar.gz", hash = "sha256:35a542cc7a962331d0279735c30995b024e852cf40481e384fd63caaa391cbb9", size = 81722, upload-time = "2025-10-19T23:47:54.07Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/12/8f/8e4c8b6da60b4205191d588cbac448fb9ff4f5ed89f4e555dc4813ab30cf/wrapt-2.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b7e221abb6c5387819db9323dac3c875b459695057449634f1111955d753c621", size = 77433, upload-time = "2025-10-19T23:45:42.543Z" },
+ { url = "https://files.pythonhosted.org/packages/22/9a/01a29ccb029aa8e78241f8b53cb89ae8826c240129abbbb6ebba3416eff9/wrapt-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1147a84c8fc852426580af8b6e33138461ddbc65aa459a25ea539374d32069fa", size = 60641, upload-time = "2025-10-19T23:45:43.866Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/ec/e058997971428b7665b5c3665a55b18bb251ea7e08d002925e3ca017c020/wrapt-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5d6691d4a711504a0bc10de789842ad6ac627bed22937b10f37a1211a8ab7bb3", size = 61526, upload-time = "2025-10-19T23:45:44.839Z" },
+ { url = "https://files.pythonhosted.org/packages/70/c3/c82263503f554715aa1847e85dc75a69631a54e9d7ab0f1a55e34a22d44a/wrapt-2.0.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f460e1eb8e75a17c3918c8e35ba57625721eef2439ef0bcf05304ac278a65e1d", size = 114069, upload-time = "2025-10-19T23:45:47.223Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/97/d95e88a3a1bc2890a1aa47880c2762cf0eb6d231b5a64048e351cec6f071/wrapt-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:12c37784b77bf043bf65cc96c7195a5db474b8e54173208af076bdbb61df7b3e", size = 116109, upload-time = "2025-10-19T23:45:48.252Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/36/cba0bf954f2303897b80fa5342499b43f8c5201110dddf0d578d6841b149/wrapt-2.0.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75e5c049eb583835f7a0e0e311d9dde9bfbaac723a6dd89d052540f9b2809977", size = 112500, upload-time = "2025-10-19T23:45:45.838Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/2b/8cb88e63bec989f641d208acb3fd198bfdbbb4ef7dfb71f0cac3c90b07a9/wrapt-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e50bcbd5b65dac21b82319fcf18486e6ac439947e9305034b00704eb7405f553", size = 115356, upload-time = "2025-10-19T23:45:49.249Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/60/a6d5fb94648cd430648705bef9f4241bd22ead123ead552b6d2873ad5240/wrapt-2.0.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:06b78cb6b9320f57737a52fede882640d93cface98332d1a3df0c5696ec9ae9f", size = 111754, upload-time = "2025-10-19T23:45:51.21Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/44/1963854edf0592ae806307899dc7bf891e76cec19e598f55845c94603a65/wrapt-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8c8349ebfc3cd98bc9105e0112dd8c8ac1f3c7cb5601f9d02248cae83a63f748", size = 113789, upload-time = "2025-10-19T23:45:52.473Z" },
+ { url = "https://files.pythonhosted.org/packages/62/ec/4b1d76cb6d96ac511aaaa92efc57f528e57f06082a595b8b2663fcdb0f20/wrapt-2.0.0-cp311-cp311-win32.whl", hash = "sha256:028f19ec29e204fe725139d4a8b09f77ecfb64f8f02b7ab5ee822c85e330b68b", size = 57954, upload-time = "2025-10-19T23:45:57.03Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/cf/df8ff9bd64d4a75f9a9f6c1c93480a51904d0c9bd71c11994301c47d8a33/wrapt-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:c6961f05e58d919153ba311b397b7b904b907132b7b8344dde47865d4bb5ec89", size = 60308, upload-time = "2025-10-19T23:45:54.314Z" },
+ { url = "https://files.pythonhosted.org/packages/69/d8/61e245fe387d58d84b3f913d5da9d909c4f239b887db692a05105aaf2a1b/wrapt-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:be7e316c2accd5a31dbcc230de19e2a846a325f8967fdea72704d00e38e6af06", size = 58822, upload-time = "2025-10-19T23:45:55.772Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/28/7f266b5bf50c3ad0c99c524d99faa0f7d6eecb045d950e7d2c9e1f0e1338/wrapt-2.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73c6f734aecb1a030d9a265c13a425897e1ea821b73249bb14471445467ca71c", size = 78078, upload-time = "2025-10-19T23:45:58.855Z" },
+ { url = "https://files.pythonhosted.org/packages/06/0c/bbdcad7eb535fae9d6b0fcfa3995c364797cd8e2b423bba5559ab2d88dcf/wrapt-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b4a7f8023b8ce8a36370154733c747f8d65c8697cb977d8b6efeb89291fff23e", size = 61158, upload-time = "2025-10-19T23:46:00.096Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/8a/bba3e7a4ebf4d1624103ee59d97b78a1fbb08fb5753ff5d1b69f5ef5e863/wrapt-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a1cb62f686c50e9dab5983c68f6c8e9cbf14a6007935e683662898a7d892fa69", size = 61646, upload-time = "2025-10-19T23:46:01.279Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/0c/0f565294897a72493dbafe7b46229b5f09f3776795a894d6b737e98387de/wrapt-2.0.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:43dc0550ae15e33e6bb45a82a5e1b5495be2587fbaa996244b509921810ee49f", size = 121442, upload-time = "2025-10-19T23:46:04.287Z" },
+ { url = "https://files.pythonhosted.org/packages/da/80/7f03501a8a078ad79b19b1a888f9192a9494e62ddf8985267902766a4f30/wrapt-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39c5b45b056d630545e40674d1f5e1b51864b3546f25ab6a4a331943de96262e", size = 123018, upload-time = "2025-10-19T23:46:06.052Z" },
+ { url = "https://files.pythonhosted.org/packages/37/6b/ad0e1ff98359f13b4b0c2c52848e792841146fe79ac5f56899b9a028fc0d/wrapt-2.0.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:804e88f824b76240a1b670330637ccfd2d18b9efa3bb4f02eb20b2f64880b324", size = 117369, upload-time = "2025-10-19T23:46:02.53Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/6c/a90437bba8cb1ce2ed639af979515e09784678c2a7f4ffc79f2cf7de809e/wrapt-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c2c476aa3fc2b9899c3f7b20963fac4f952e7edb74a31fc92f7745389a2e3618", size = 121453, upload-time = "2025-10-19T23:46:07.747Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/a9/b3982f9bd15bd45857a23c48b7c36e47d05db4a4dcc5061c31f169238845/wrapt-2.0.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:8d851e526891216f89fcb7a1820dad9bd503ba3468fb9635ee28e93c781aa98e", size = 116250, upload-time = "2025-10-19T23:46:09.385Z" },
+ { url = "https://files.pythonhosted.org/packages/73/e2/b7a8b1afac9f791d8f5eac0d9726559f1d7ec4a2b5a6b4e67ac145b007a5/wrapt-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b95733c2360c4a8656ee93c7af78e84c0bd617da04a236d7a456c8faa34e7a2d", size = 120575, upload-time = "2025-10-19T23:46:11.882Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/0f/37920eeea96094f450ae35505d39f1135df951a2cdee0d4e01d4f843396a/wrapt-2.0.0-cp312-cp312-win32.whl", hash = "sha256:ea56817176834edf143df1109ae8fdaa087be82fdad3492648de0baa8ae82bf2", size = 58175, upload-time = "2025-10-19T23:46:15.678Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/db/b395f3b0c7f2c60d9219afacc54ceb699801ccf2d3d969ba556dc6d3af20/wrapt-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c7d3bee7be7a2665286103f4d1f15405c8074e6e1f89dac5774f9357c9a3809", size = 60415, upload-time = "2025-10-19T23:46:12.913Z" },
+ { url = "https://files.pythonhosted.org/packages/86/22/33d660214548af47fc59d9eec8c0e0693bcedc5b3a0b52e8cbdd61f3b646/wrapt-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:680f707e1d26acbc60926659799b15659f077df5897a6791c7c598a5d4a211c4", size = 58911, upload-time = "2025-10-19T23:46:13.889Z" },
+ { url = "https://files.pythonhosted.org/packages/18/0a/dd88abfe756b1aa79f0777e5ee4ce9e4b5dc4999bd805e9b04b52efc7b18/wrapt-2.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e2ea096db28d5eb64d381af0e93464621ace38a7003a364b6b5ffb7dd713aabe", size = 78083, upload-time = "2025-10-19T23:46:16.937Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/b9/8afebc1655a863bb2178b23c2d699b8743f3a7dab466904adc6155f3c858/wrapt-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c92b5a82d28491e3f14f037e1aae99a27a5e6e0bb161e65f52c0445a3fa7c940", size = 61156, upload-time = "2025-10-19T23:46:17.927Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/8b/f710a6528ccc52e21943f42c8cf64814cde90f9adbd3bcd58c7c274b4f75/wrapt-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:81d234718aabe632d179fac52c7f69f0f99fbaac4d4bcd670e62462bbcbfcad7", size = 61641, upload-time = "2025-10-19T23:46:19.229Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/5f/e4eabd0cc6684c5b208c2abc5c3459449c4d15be1694a9bbcf51e0e135fd/wrapt-2.0.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:db2eea83c43f84e4e41dbbb4c1de371a53166e55f900a6b130c3ef51c6345c1a", size = 121454, upload-time = "2025-10-19T23:46:21.808Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/c4/ec31ee17cc7866960d323609ba7402be786d211a6d713a59f776c4270bb3/wrapt-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65f50e356c425c061e1e17fe687ff30e294fed9bf3441dc1f13ef73859c2a817", size = 123063, upload-time = "2025-10-19T23:46:23.545Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/2b/a4b10c3c0022e40aeae9bec009bafb049f440493f0575ebb27ecf61c32f8/wrapt-2.0.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:887f2a667e3cbfb19e204032d42ad7dedaa43972e4861dc7a3d51ae951d9b578", size = 117401, upload-time = "2025-10-19T23:46:20.433Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4a/ade23a76967e1f148e461076a4d0e24a7950a5f18b394c9107fe60224ae2/wrapt-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9054829da4be461e3ad3192e4b6bbf1fc18af64c9975ce613aec191924e004dc", size = 121485, upload-time = "2025-10-19T23:46:24.85Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/ba/33b5f3e2edede4e1cfd259f0d9c203cf370f259bb9b215dd58fc6cbb94e9/wrapt-2.0.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b952ffd77133a5a2798ee3feb18e51b0a299d2f440961e5bb7737dbb02e57289", size = 116276, upload-time = "2025-10-19T23:46:27.006Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/bf/b7f95bb4529a35ca11eb95d48f9d1a563b495471f7cf404c644566fb4293/wrapt-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e25fde03c480061b8234d8ee4863eb5f40a9be4fb258ce105b364de38fc6bcf9", size = 120578, upload-time = "2025-10-19T23:46:28.679Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/71/984849df6f052592474a44aafd6b847e1cffad39b0debc5390a04aa46331/wrapt-2.0.0-cp313-cp313-win32.whl", hash = "sha256:49e982b7860d325094978292a49e0418833fc7fc42c0dc7cd0b7524d7d06ee74", size = 58178, upload-time = "2025-10-19T23:46:32.372Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/3b/4e1fc0f2e1355fbc55ab248311bf4c958dbbd96bd9183b9e96882cc16213/wrapt-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:6e5c86389d9964050ce50babe247d172a5e3911d59a64023b90db2b4fa00ae7c", size = 60423, upload-time = "2025-10-19T23:46:30.041Z" },
+ { url = "https://files.pythonhosted.org/packages/20/0a/9384e0551f56fe361f41bb8f209a13bb9ef689c3a18264225b249849b12c/wrapt-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:b96fdaa4611e05c7231937930567d3c16782be9dbcf03eb9f60d83e57dd2f129", size = 58918, upload-time = "2025-10-19T23:46:31.056Z" },
+ { url = "https://files.pythonhosted.org/packages/68/70/37b90d3ee5bf0d0dc4859306383da08b685c9a51abff6fd6b0a7c052e117/wrapt-2.0.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f2c7b7fead096dbf1dcc455b7f59facb05de3f5bfb04f60a69f98cdfe6049e5f", size = 81980, upload-time = "2025-10-19T23:46:33.368Z" },
+ { url = "https://files.pythonhosted.org/packages/95/23/0ce69cc90806b90b3ee4cfd9ad8d2ee9becc3a1aab7df3c3bfc7d0904cb6/wrapt-2.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:04c7c8393f25b11c0faa5d907dd9eb462e87e4e7ba55e308a046d7ed37f4bbe2", size = 62900, upload-time = "2025-10-19T23:46:34.415Z" },
+ { url = "https://files.pythonhosted.org/packages/54/76/03ec08170c02f38f3be3646977920976b968e0b704a0693a98f95d02f4d2/wrapt-2.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a93e0f8b376c0735b2f4daf58018b4823614d2b896cb72b6641c4d3dbdca1d75", size = 63636, upload-time = "2025-10-19T23:46:35.643Z" },
+ { url = "https://files.pythonhosted.org/packages/75/c1/04ce0511e504cdcd84cdb6980bc7d4efa38ac358e8103d6dd0cd278bfc6d/wrapt-2.0.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b42d13603da4416c43c430dbc6313c8d7ff745c40942f146ed4f6dd02c7d2547", size = 152650, upload-time = "2025-10-19T23:46:38.717Z" },
+ { url = "https://files.pythonhosted.org/packages/17/06/cd2e32b5f744701189c954f9ab5eee449c86695b13f414bb8ea7a83f6d48/wrapt-2.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8bbd2472abf8c33480ad2314b1f8fac45d592aba6cc093e8839a7b2045660e6", size = 158811, upload-time = "2025-10-19T23:46:40.875Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/a2/a6d920695cca62563c1b969064e5cd2051344a6e330c184b6f80383d87e4/wrapt-2.0.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e64a3a1fd9a308ab9b815a2ad7a65b679730629dbf85f8fc3f7f970d634ee5df", size = 146033, upload-time = "2025-10-19T23:46:37.351Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/90/7fd2abe4ec646bc43cb6b0d05086be6fcf15e64f06f51fc4198804396d68/wrapt-2.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d61214525eaf88e0d0edf3d1ad5b5889863c6f88e588c6cdc6aa4ee5d1f10a4a", size = 155673, upload-time = "2025-10-19T23:46:42.582Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/8d/6cce7f8c41633e677ac8aa34e84b53a22a645ec2a680deb991785ca2798d/wrapt-2.0.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:04f7a5f92c5f7324a1735043cc467b1295a1c5b4e0c1395472b7c44706e3dc61", size = 144364, upload-time = "2025-10-19T23:46:44.381Z" },
+ { url = "https://files.pythonhosted.org/packages/72/42/9570349e03afa9d83daf7f33ffb17e8cdc62d7e84c0d09005d0f51912efa/wrapt-2.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2356f76cb99b3de5b4e5b8210367fbbb81c7309fe39b622f5d199dd88eb7f765", size = 150275, upload-time = "2025-10-19T23:46:45.662Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/d8/448728e6fe030e5c4f1022c82cd3af1de1c672fa53d2d5b36b32a55ce7bf/wrapt-2.0.0-cp313-cp313t-win32.whl", hash = "sha256:0a921b657a224e40e4bc161b5d33934583b34f0c9c5bdda4e6ac66f9d2fcb849", size = 59867, upload-time = "2025-10-19T23:46:49.593Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/b1/ad812b1fe1cd85f6498dc3a3c9809a1e880d6108283b1735119bec217041/wrapt-2.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:c16f6d4eea98080f6659a8a7fc559d4a0a337ee66960659265cad2c8a40f7c0f", size = 63170, upload-time = "2025-10-19T23:46:46.87Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/29/c105b1e76650c82823c491952a7a8eafe09b78944f7a43f22d37ed860229/wrapt-2.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:52878edc13dc151c58a9966621d67163a80654bc6cff4b2e1c79fa62d0352b26", size = 60339, upload-time = "2025-10-19T23:46:47.862Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/38/0dd39f83163fd28326afba84e3e416656938df07e60a924ac4d992b30220/wrapt-2.0.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:79a53d86c2aff7b32cc77267e3a308365d1fcb881e74bc9cbe26f63ee90e37f0", size = 78242, upload-time = "2025-10-19T23:46:51.096Z" },
+ { url = "https://files.pythonhosted.org/packages/08/ef/fa7a5c1d73f8690c712f9d2e4615700c6809942536dd3f441b9ba650a310/wrapt-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d731a4f22ed6ffa4cb551b4d2b0c24ff940c27a88edaf8e3490a5ee3a05aef71", size = 61207, upload-time = "2025-10-19T23:46:52.558Z" },
+ { url = "https://files.pythonhosted.org/packages/23/d9/67cb93da492eb0a1cb17b7ed18220d059e58f00467ce6728b674d3441b3d/wrapt-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3e02ab8c0ac766a5a6e81cd3b6cc39200c69051826243182175555872522bd5a", size = 61748, upload-time = "2025-10-19T23:46:54.468Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/be/912bbd70cc614f491b526a1d7fe85695b283deed19287b9f32460178c54d/wrapt-2.0.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:895870602d65d7338edb3b6a717d856632ad9f14f7ff566214e4fb11f0816649", size = 120424, upload-time = "2025-10-19T23:46:57.575Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/e1/10df8937e7da2aa9bc3662a4b623e51a323c68f42cad7b13f0e61a700ce2/wrapt-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b9ad4fab76a0086dc364c4f17f39ad289600e73ef5c6e9ab529aff22cac1ac3", size = 122804, upload-time = "2025-10-19T23:46:59.308Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/60/576751b1919adab9f63168e3b5fd46c0d1565871b1cc4c2569503ccf4be6/wrapt-2.0.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e7ca0562606d7bad2736b2c18f61295d61f50cd3f4bfc51753df13614dbcce1b", size = 117398, upload-time = "2025-10-19T23:46:55.814Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/55/243411f360cc27bae5f8e21c16f1a8d87674c5534f4558e8a97c1e0d1c6f/wrapt-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe089d9f5a4a3dea0108a8ae34bced114d0c4cca417bada1c5e8f42d98af9050", size = 121230, upload-time = "2025-10-19T23:47:01.347Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/23/2f21f692c3b3f0857cb82708ce0c341fbac55a489d4025ae4e3fd5d5de8c/wrapt-2.0.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e761f2d2f8dbc80384af3d547b522a80e67db3e319c7b02e7fd97aded0a8a678", size = 116296, upload-time = "2025-10-19T23:47:02.659Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/ed/678957fad212cfb1b65b2359d62f5619f5087d1d1cf296c6a996be45171c/wrapt-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:17ba1bdc52d0c783481850996aa26cea5237720769197335abea2ae6b4c23bc0", size = 119602, upload-time = "2025-10-19T23:47:03.775Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/e3/aeb4c3b052d3eed95e61babc20dcb1a512651e098cca4b84a6896585c06a/wrapt-2.0.0-cp314-cp314-win32.whl", hash = "sha256:f73318741b141223a4674ba96992aa2291b1b3f7a5e85cb3c2c964f86171eb45", size = 58649, upload-time = "2025-10-19T23:47:07.382Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/2a/a71c51cb211798405b59172c7df5789a5b934b18317223cf22e0c6f852de/wrapt-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8e08d4edb13cafe7b3260f31d4de033f73d3205774540cf583bffaa4bec97db9", size = 60897, upload-time = "2025-10-19T23:47:04.862Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/a5/acc5628035d06f69e9144cca543ca54c33b42a5a23b6f1e8fa131026db89/wrapt-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:af01695c2b7bbd8d67b869d8e3de2b123a7bfbee0185bdd138c2775f75373b83", size = 59306, upload-time = "2025-10-19T23:47:05.883Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/e6/1318ca07d7fcee57e4592a78dacd9d5493b8ddd971c553a62904fb2c0cf2/wrapt-2.0.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:057f02c13cce7b26c79624c06a3e1c2353e6dc9708525232232f6768118042ca", size = 81987, upload-time = "2025-10-19T23:47:08.7Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/bf/ffac358ddf61c3923d94a8b0e7620f2af1cd1b637a0fe4963a3919aa62b7/wrapt-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:79bdd84570267f3f43d609c892ae2d30b91ee4b8614c2cbfd311a2965f1c9bdb", size = 62902, upload-time = "2025-10-19T23:47:10.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/af/387c51f9e7b544fe95d852fc94f9f3866e3f7d7d39c2ee65041752f90bc2/wrapt-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:93c8b4f4d54fd401a817abbfc9bf482aa72fd447f8adf19ce81d035b3f5c762c", size = 63635, upload-time = "2025-10-19T23:47:11.746Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/99/d38d8c80b9cc352531d4d539a17e3674169a5cc25a7e6e5e3c27bc29893e/wrapt-2.0.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5e09ffd31001dce71c2c2a4fc201bdba9a2f9f62b23700cf24af42266e784741", size = 152659, upload-time = "2025-10-19T23:47:15.344Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/2a/e154432f274e22ecf2465583386c5ceffa5e0bab3947c1c5b26cc8e7b275/wrapt-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d87c285ff04e26083c4b03546e7b74df7ba4f1f32f1dcb92e9ac13c2dbb4c379", size = 158818, upload-time = "2025-10-19T23:47:17.569Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/7a/3a40c453300e2898e99c27495b8109ff7cd526997d12cfb8ebd1843199a4/wrapt-2.0.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e52e50ea0a72ea48d1291cf8b8aaedcc99072d9dc5baba6b820486dcf4c67da8", size = 146113, upload-time = "2025-10-19T23:47:13.026Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/e2/3116a9eade8bea2bf5eedba3fa420e3c7d193d4b047440330d8eaf1098de/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1fd4c95536975895f32571073446e614d5e2810b666b64955586dcddfd438fd3", size = 155689, upload-time = "2025-10-19T23:47:19.397Z" },
+ { url = "https://files.pythonhosted.org/packages/43/1c/277d3fbe9d177830ab9e54fe9253f38455b75a22d639a4bd9fa092d55ae5/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d6ebfe9283209220ed9de80a3e9442aab8fc2be5a9bbf8491b99e02ca9349a89", size = 144403, upload-time = "2025-10-19T23:47:20.779Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/37/ab6ddaf182248aac5ed925725ef4c69a510594764665ecbd95bdd4481f16/wrapt-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5d3ebd784804f146b7ea55359beb138e23cc18e5a5cc2cf26ad438723c00ce3a", size = 150307, upload-time = "2025-10-19T23:47:22.604Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/d7/df9e2d8040a3af618ff9496261cf90ca4f886fd226af0f4a69ac0c020c3b/wrapt-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:9b15940ae9debc8b40b15dc57e1ce4433f7fb9d3f8761c7fab1ddd94cb999d99", size = 60557, upload-time = "2025-10-19T23:47:26.73Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/c2/502bd4557a3a9199ea73cc5932cf83354bd362682162f0b14164d2e90216/wrapt-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7a0efbbc06d3e2077476a04f55859819d23206600b4c33f791359a8e6fa3c362", size = 63988, upload-time = "2025-10-19T23:47:23.826Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/f2/632b13942f45db7af709f346ff38b8992c8c21b004e61ab320b0dec525fe/wrapt-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:7fec8a9455c029c8cf4ff143a53b6e7c463268d42be6c17efa847ebd2f809965", size = 60584, upload-time = "2025-10-19T23:47:25.396Z" },
+ { url = "https://files.pythonhosted.org/packages/00/5c/c34575f96a0a038579683c7f10fca943c15c7946037d1d254ab9db1536ec/wrapt-2.0.0-py3-none-any.whl", hash = "sha256:02482fb0df89857e35427dfb844319417e14fae05878f295ee43fa3bf3b15502", size = 43998, upload-time = "2025-10-19T23:47:52.858Z" },
+]
+
+[[package]]
+name = "xarray"
+version = "2025.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pandas" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7b/ce/f5dd613ddd0b3f839c59e6c2fa20c62469bf671bf4c92a12b09dc0972326/xarray-2025.10.1.tar.gz", hash = "sha256:3c2b5ad7389825bd624ada5ff26b01ac54b1aae72e2fe0d724d81d40a2bf5785", size = 3058736, upload-time = "2025-10-07T20:25:56.708Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c3/78/4d6d68555a92cb97b4c192759c4ab585c5cb23490f64d4ddf12c66a3b051/xarray-2025.10.1-py3-none-any.whl", hash = "sha256:a4e699433b87a7fac340951bc36648645eeef72bdd915ff055ac2fd99865a73d", size = 1365202, upload-time = "2025-10-07T20:25:54.964Z" },
+]
+
+[[package]]
+name = "xlrd"
+version = "2.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/07/5a/377161c2d3538d1990d7af382c79f3b2372e880b65de21b01b1a2b78691e/xlrd-2.0.2.tar.gz", hash = "sha256:08b5e25de58f21ce71dc7db3b3b8106c1fa776f3024c54e45b45b374e89234c9", size = 100167, upload-time = "2025-06-14T08:46:39.039Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1a/62/c8d562e7766786ba6587d09c5a8ba9f718ed3fa8af7f4553e8f91c36f302/xlrd-2.0.2-py2.py3-none-any.whl", hash = "sha256:ea762c3d29f4cca48d82df517b6d89fbce4db3107f9d78713e48cd321d5c9aa9", size = 96555, upload-time = "2025-06-14T08:46:37.766Z" },
+]
+
+[[package]]
+name = "zarr"
+version = "3.1.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "donfig" },
+ { name = "numcodecs", extra = ["crc32c"] },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d6/67/14be68a7bad15eecda09b1e81fca2420f7533645fe187bf4d6104c1aad52/zarr-3.1.3.tar.gz", hash = "sha256:01342f3e26a02ed5670db608a5576fbdb8d76acb5c280bd2d0082454b1ba6f79", size = 349125, upload-time = "2025-09-18T19:32:41.688Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1a/71/9de7229515a53d1cc5705ca9c411530f711a2242f962214d9dbfe2741aa4/zarr-3.1.3-py3-none-any.whl", hash = "sha256:45f67f87f65f14fa453f99dd8110a5936b7ac69f3a21981d33e90407c80c302a", size = 276427, upload-time = "2025-09-18T19:32:40.042Z" },
+]