Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-uncalled-for for 
openSUSE:Factory checked in at 2026-11-11 16:30:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-uncalled-for (Old)
 and      /work/SRC/openSUSE:Factory/.python-uncalled-for.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-uncalled-for"

Wed Nov 11 16:30:18 2026 rev:6 rq:1396879 version:0.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-uncalled-for/python-uncalled-for.changes  
2026-11-06 20:04:47.911396987 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-uncalled-for.new.3759290/python-uncalled-for.changes
     2026-11-11 16:31:42.568930795 +0100
@@ -1,0 +2,9 @@
+Wed Nov 11 12:58:05 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.6.1:
+  * A CallArgument naming a parameter the outer function does not
+    declare now becomes a keyword-only parameter of the outer
+    signature instead of requiring the outer function to declare
+    an argument it never uses
+
+-------------------------------------------------------------------

Old:
----
  uncalled_for-0.6.0.tar.gz

New:
----
  uncalled_for-0.6.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-uncalled-for.spec ++++++
--- /var/tmp/diff_new_pack.wt6pMi/_old  2026-11-11 16:31:43.321962389 +0100
+++ /var/tmp/diff_new_pack.wt6pMi/_new  2026-11-11 16:31:43.323962472 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python-uncalled-for
-Version:        0.6.0
+Version:        0.6.1
 Release:        0
 Summary:        Async-friendly dependency injection for Python
 License:        MIT

++++++ uncalled_for-0.6.0.tar.gz -> uncalled_for-0.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/.github/workflows/ci.yml 
new/uncalled_for-0.6.1/.github/workflows/ci.yml
--- old/uncalled_for-0.6.0/.github/workflows/ci.yml     2020-02-02 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/.github/workflows/ci.yml     2020-02-02 
01:00:00.000000000 +0100
@@ -87,3 +87,17 @@
 
       - name: Run prek
         uses: j178/prek-action@v2
+
+  # The one check main's ruleset requires. It succeeds only when every job
+  # it needs succeeded, so a job added to or renamed in this workflow counts
+  # without a change to the ruleset.
+  all-checks-passed:
+    name: All checks passed
+    if: ${{ always() }}
+    needs: [test, prek]
+    runs-on: ubuntu-26.04
+    timeout-minutes: 1
+    steps:
+      - name: Fail unless every needed job succeeded
+        if: ${{ contains(needs.*.result, 'failure') || 
contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
+        run: exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/PKG-INFO 
new/uncalled_for-0.6.1/PKG-INFO
--- old/uncalled_for-0.6.0/PKG-INFO     2020-02-02 01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/PKG-INFO     2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.5
 Name: uncalled-for
-Version: 0.6.0
+Version: 0.6.1
 Summary: Async dependency injection for Python functions
 Project-URL: Repository, https://github.com/chrisguidry/uncalled-for
 Project-URL: Bug Tracker, https://github.com/chrisguidry/uncalled-for/issues
@@ -101,6 +101,11 @@
 `CallArgument(optional=True)` yields `None` when the outer function has no
 such argument. References that form a cycle raise `CycleError`.
 
+When the outer function doesn't declare the parameter,
+`without_dependencies` adds it to the wrapper's signature as keyword-only,
+required unless the reference has a `default`. Optional references are never
+added.
+
 ## Bindings
 
 `Depends` accepts keyword bindings, so you can wire up an ordinary function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/README.md 
new/uncalled_for-0.6.1/README.md
--- old/uncalled_for-0.6.0/README.md    2020-02-02 01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/README.md    2020-02-02 01:00:00.000000000 +0100
@@ -79,6 +79,11 @@
 `CallArgument(optional=True)` yields `None` when the outer function has no
 such argument. References that form a cycle raise `CycleError`.
 
+When the outer function doesn't declare the parameter,
+`without_dependencies` adds it to the wrapper's signature as keyword-only,
+required unless the reference has a `default`. Optional references are never
+added.
+
 ## Bindings
 
 `Depends` accepts keyword bindings, so you can wire up an ordinary function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/src/uncalled_for/__init__.py 
new/uncalled_for-0.6.1/src/uncalled_for/__init__.py
--- old/uncalled_for-0.6.0/src/uncalled_for/__init__.py 2020-02-02 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/src/uncalled_for/__init__.py 2020-02-02 
01:00:00.000000000 +0100
@@ -12,6 +12,7 @@
     get_dependency_parameters,
     get_signature,
 )
+from .references import get_call_argument_parameters
 from .resolution import FailedDependency, resolved_dependencies, 
without_dependencies
 from .shared import Shared, SharedContext
 from .validation import validate_dependencies
@@ -31,6 +32,7 @@
     "current_frame",
     "frame_scope",
     "get_annotation_dependencies",
+    "get_call_argument_parameters",
     "get_dependency_parameters",
     "get_signature",
     "resolved_dependencies",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/src/uncalled_for/frames.py 
new/uncalled_for-0.6.1/src/uncalled_for/frames.py
--- old/uncalled_for-0.6.0/src/uncalled_for/frames.py   2020-02-02 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/src/uncalled_for/frames.py   2020-02-02 
01:00:00.000000000 +0100
@@ -130,15 +130,24 @@
 
     parameter: str | None
     optional: bool
+    default: Any
 
-    def __init__(self, parameter: str | None = None, optional: bool = False) 
-> None:
+    def __init__(
+        self,
+        parameter: str | None = None,
+        optional: bool = False,
+        default: Any = inspect.Parameter.empty,
+    ) -> None:
+        if optional and default is not inspect.Parameter.empty:
+            raise TypeError("CallArgument takes optional or default, not both")
         self.parameter = parameter
         self.optional = optional
+        self.default = default
 
     def for_parameter(self, name: str) -> Dependency[Any]:
         if self.parameter is not None:
             return self
-        return type(self)(name, self.optional)
+        return type(self)(name, self.optional, self.default)
 
     async def __aenter__(self) -> Any:
         if self.parameter is None:
@@ -153,10 +162,17 @@
         except LookupError:
             if self.optional:
                 return None
+            if self.default is not inspect.Parameter.empty:
+                return self.default
             raise
 
 
-def CallArgument(parameter: str | None = None, optional: bool = False) -> Any:
+def CallArgument(
+    parameter: str | None = None,
+    optional: bool = False,
+    *,
+    default: Any = inspect.Parameter.empty,
+) -> Any:
     """Declare a dependency on an argument of the outer function.
 
     The value is whatever the outer function receives for *parameter* on this
@@ -168,6 +184,11 @@
     argument. References that form a cycle raise ``CycleError``, which
     *optional* does not suppress.
 
+    A reference to a parameter the outer function does not declare becomes a
+    keyword-only parameter of ``without_dependencies(outer)``, unless it is
+    *optional*. Give it a *default* to make that parameter optional; the
+    reference also yields *default* when no value arrives.
+
     Do not use this inside a ``Shared`` factory. A shared value outlives the
     call that built it, so it must not read that call's arguments.
 
@@ -179,4 +200,4 @@
         async def show(user_id: str, account: Account = Depends(get_account)):
             ...
     """
-    return cast(Any, _CallArgument(parameter, optional))
+    return cast(Any, _CallArgument(parameter, optional, default))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/src/uncalled_for/functional.py 
new/uncalled_for-0.6.1/src/uncalled_for/functional.py
--- old/uncalled_for-0.6.0/src/uncalled_for/functional.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/src/uncalled_for/functional.py       2020-02-02 
01:00:00.000000000 +0100
@@ -136,7 +136,12 @@
         # key uses that name and matches the equivalent explicit form. The
         # runtime type is part of the key so that a subclass with different
         # semantics never shares an entry with the class it extends.
-        return (type(value), value.parameter or name, value.optional)
+        return (
+            type(value),
+            value.parameter or name,
+            value.optional,
+            _binding_key(value.default, name),
+        )
 
     if isinstance(value, _Depends):
         depends = cast("_Depends[Any]", value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/src/uncalled_for/references.py 
new/uncalled_for-0.6.1/src/uncalled_for/references.py
--- old/uncalled_for-0.6.0/src/uncalled_for/references.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/src/uncalled_for/references.py       2020-02-02 
01:00:00.000000000 +0100
@@ -0,0 +1,129 @@
+"""Call-argument references that add parameters to an outer signature."""
+
+from __future__ import annotations
+
+import inspect
+from collections.abc import Callable, Iterator
+from typing import Annotated, Any, cast, get_args, get_origin, get_type_hints
+
+from .base import Dependency
+from .frames import _CallArgument  # pyright: ignore[reportPrivateUsage]
+from .functional import _Depends  # pyright: ignore[reportPrivateUsage]
+from .introspection import get_dependency_parameters, get_signature
+
+_reference_cache: dict[Callable[..., object], list[inspect.Parameter]] = {}
+
+
+def get_call_argument_parameters(
+    function: Callable[..., object],
+) -> list[inspect.Parameter]:
+    """Find the parameters that dependencies of *function* reference but it 
lacks.
+
+    A ``CallArgument`` anywhere in the ``Depends`` graph of *function*, in a
+    factory's parameters or in a binding, may name a parameter that *function*
+    does not declare. Each such name becomes a keyword-only parameter typed
+    from the referencing parameter's annotation. It is required unless the
+    reference has a *default*. Optional references are left out, so they keep
+    yielding ``None``.
+
+    References to one name share a parameter, which is required if any of them
+    is. Different annotations or different defaults raise ``TypeError``.
+    """
+    if function in _reference_cache:
+        return _reference_cache[function]
+
+    declared = get_signature(function).parameters
+    parameters: dict[str, inspect.Parameter] = {}
+
+    for owner, name, reference in _references(function):
+        assert reference.parameter is not None
+        if reference.optional or reference.parameter in declared:
+            continue
+
+        parameter = inspect.Parameter(
+            reference.parameter,
+            inspect.Parameter.KEYWORD_ONLY,
+            default=reference.default,
+            annotation=_annotation(owner, name),
+        )
+        existing = parameters.get(parameter.name)
+        if existing is None:
+            parameters[parameter.name] = parameter
+            continue
+        if existing.annotation != parameter.annotation:
+            raise TypeError(
+                f"Dependencies of {function.__qualname__} reference "
+                f"{parameter.name!r} with different annotations"
+            )
+        if parameter.default is inspect.Parameter.empty:
+            parameters[parameter.name] = parameter
+        elif (
+            existing.default is not inspect.Parameter.empty
+            and existing.default != parameter.default
+        ):
+            raise TypeError(
+                f"Dependencies of {function.__qualname__} reference "
+                f"{parameter.name!r} with different defaults"
+            )
+
+    result = list(parameters.values())
+    _reference_cache[function] = result
+    return result
+
+
+def _references(
+    function: Callable[..., Any],
+) -> Iterator[tuple[Callable[..., Any], str, _CallArgument]]:
+    """Yield each call-argument reference reachable from *function*.
+
+    Each item names the function and parameter that declare the reference,
+    which is where its annotation lives.
+    """
+    for name, dependency in get_dependency_parameters(function).items():
+        yield from _dependency_references(function, name, dependency)
+
+
+def _dependency_references(
+    owner: Callable[..., Any],
+    name: str,
+    dependency: Dependency[Any],
+) -> Iterator[tuple[Callable[..., Any], str, _CallArgument]]:
+    bound = dependency.for_parameter(name)
+    if isinstance(bound, _CallArgument):
+        yield owner, name, bound
+        return
+    if not isinstance(bound, _Depends):
+        return
+
+    depends = cast("_Depends[Any]", bound)
+    for parameter, inner in get_dependency_parameters(depends.factory).items():
+        if parameter not in depends.bindings:
+            yield from _dependency_references(depends.factory, parameter, 
inner)
+    for parameter, value in depends.bindings.items():
+        if isinstance(value, Dependency):
+            yield from _dependency_references(
+                depends.factory, parameter, cast(Dependency[Any], value)
+            )
+
+
+def _annotation(owner: Callable[..., Any], name: str) -> Any:
+    """The annotation of *owner*'s parameter *name*, without dependency 
metadata."""
+    try:
+        hint: Any = get_type_hints(owner, include_extras=True).get(
+            name, inspect.Parameter.empty
+        )
+    except Exception:
+        parameter = get_signature(owner).parameters.get(name)
+        return parameter.annotation if parameter else inspect.Parameter.empty
+
+    if get_origin(hint) is not Annotated:
+        return hint
+    base, *metadata = get_args(hint)
+    kept = [item for item in metadata if not _is_dependency(item)]
+    return Annotated[base, *kept] if kept else base
+
+
+def _is_dependency(item: object) -> bool:
+    return isinstance(item, Dependency) or (
+        isinstance(item, type) and issubclass(item, Dependency)
+    )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/src/uncalled_for/resolution.py 
new/uncalled_for-0.6.1/src/uncalled_for/resolution.py
--- old/uncalled_for-0.6.0/src/uncalled_for/resolution.py       2020-02-02 
01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/src/uncalled_for/resolution.py       2020-02-02 
01:00:00.000000000 +0100
@@ -12,6 +12,7 @@
 from .frames import frame_scope
 from .functional import _Depends  # pyright: ignore[reportPrivateUsage]
 from .introspection import get_dependency_parameters, get_signature
+from .references import get_call_argument_parameters
 
 
 class FailedDependency:
@@ -75,27 +76,45 @@
     If *function* has no ``Dependency`` defaults, it is returned unchanged.
     Otherwise an async wrapper is returned that resolves dependencies
     automatically and forwards user-supplied keyword arguments.
+
+    The wrapper's signature also gains the parameters from
+    ``get_call_argument_parameters``. Their values reach the dependencies that
+    reference them, never *function* itself.
     """
     dependency_names = set(get_dependency_parameters(function))
     annotation_dependencies = get_annotation_dependencies(function)
     if not dependency_names and not annotation_dependencies:
         return function
 
+    referenced = get_call_argument_parameters(function)
+    referenced_names = {parameter.name for parameter in referenced}
+
     original_signature = get_signature(function)
     filtered_parameters = [
         p
         for name, p in original_signature.parameters.items()
         if name not in dependency_names
     ]
+    variadic = [
+        p for p in filtered_parameters if p.kind is 
inspect.Parameter.VAR_KEYWORD
+    ]
+    filtered_parameters = [
+        p for p in filtered_parameters if p.kind is not 
inspect.Parameter.VAR_KEYWORD
+    ]
     new_signature = original_signature.replace(
-        parameters=filtered_parameters, 
return_annotation=inspect.Parameter.empty
+        parameters=[*filtered_parameters, *referenced, *variadic],
+        return_annotation=inspect.Parameter.empty,
     )
 
     is_async = inspect.iscoroutinefunction(function)
 
     async def wrapper(**kwargs: Any) -> Any:
         async with resolved_dependencies(function, kwargs) as resolved:
-            all_kwargs = {**resolved, **kwargs}
+            all_kwargs = {
+                name: value
+                for name, value in {**resolved, **kwargs}.items()
+                if name not in referenced_names
+            }
             if is_async:
                 return await function(**all_kwargs)
             return function(**all_kwargs)
@@ -107,6 +126,6 @@
         k: v
         for k, v in function.__annotations__.items()
         if k not in dependency_names and k != "return"
-    }
+    } | {parameter.name: parameter.annotation for parameter in referenced}
 
     return wrapper
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/uncalled_for-0.6.0/tests/test_call_argument_parameters.py 
new/uncalled_for-0.6.1/tests/test_call_argument_parameters.py
--- old/uncalled_for-0.6.0/tests/test_call_argument_parameters.py       
1970-01-01 01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/tests/test_call_argument_parameters.py       
2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,197 @@
+"""Tests for call-argument references that add parameters to an outer 
signature."""
+
+from __future__ import annotations
+
+import inspect
+from typing import Annotated, Any
+
+import pytest
+
+from uncalled_for import (
+    CallArgument,
+    Dependency,
+    Depends,
+    Shared,
+    get_call_argument_parameters,
+    without_dependencies,
+)
+
+
+class _Marker(Dependency[None]):
+    """An annotation-only dependency that rides along in Annotated metadata."""
+
+    async def __aenter__(self) -> None: ...
+
+
+def current_workspace(workspace: str | None = CallArgument(default=None)) -> 
str:
+    return workspace or "default"
+
+
+def current_user(user_id: str = CallArgument()) -> str:
+    return f"user:{user_id}"
+
+
+async def test_an_undeclared_reference_becomes_a_parameter() -> None:
+    async def list_items(resolved: str = Depends(current_workspace)) -> str:
+        return resolved
+
+    wrapper = without_dependencies(list_items)
+
+    assert str(inspect.signature(wrapper)) == "(*, workspace: str | None = 
None)"
+    assert wrapper.__annotations__ == {"workspace": str | None}
+    assert await wrapper(workspace="acme") == "acme"
+    assert await wrapper() == "default"
+
+
+async def test_a_reference_without_a_default_is_required() -> None:
+    async def show(name: str, user: str = Depends(current_user)) -> str:
+        return f"{name}:{user}"
+
+    wrapper = without_dependencies(show)
+    parameter = inspect.signature(wrapper).parameters["user_id"]
+
+    assert parameter.kind is inspect.Parameter.KEYWORD_ONLY
+    assert parameter.default is inspect.Parameter.empty
+    assert await wrapper(name="n", user_id="u-1") == "n:user:u-1"
+
+
+async def test_the_function_never_receives_a_referenced_parameter() -> None:
+    received: dict[str, Any] = {}
+
+    def show(user: str = Depends(current_user), **rest: Any) -> str:
+        received.update(rest)
+        return user
+
+    wrapper = without_dependencies(show)
+
+    assert list(inspect.signature(wrapper).parameters) == ["user_id", "rest"]
+    assert await wrapper(user_id="u-1") == "user:u-1"
+    assert received == {}
+
+
+async def test_a_declared_parameter_keeps_its_meaning() -> None:
+    async def show(user_id: str, user: str = Depends(current_user)) -> str:
+        return f"{user_id}/{user}"
+
+    assert get_call_argument_parameters(show) == []
+    assert await without_dependencies(show)(user_id="u-1") == "u-1/user:u-1"
+
+
+async def test_an_optional_reference_is_not_lifted() -> None:
+    def tenant(tenant: str | None = CallArgument(optional=True)) -> str:
+        return tenant or "none"
+
+    async def show(value: str = Depends(tenant)) -> str:
+        return value
+
+    assert get_call_argument_parameters(show) == []
+    assert await without_dependencies(show)() == "none"
+
+
+async def test_references_through_bindings_and_nested_factories() -> None:
+    def account(owner: str, region: str = CallArgument(default="us")) -> str:
+        return f"{owner}@{region}"
+
+    def profile(
+        acct: str = Depends(account, owner=CallArgument("account_id")),
+    ) -> str:
+        return acct
+
+    async def show(value: str = Depends(profile)) -> str:
+        return value
+
+    parameters = get_call_argument_parameters(show)
+
+    assert [str(p) for p in parameters] == ["region: str = 'us'", "account_id: 
str"]
+    assert await without_dependencies(show)(account_id="a-1") == "a-1@us"
+
+
+async def test_a_binding_that_overrides_a_reference_hides_it() -> None:
+    async def show(user: str = Depends(current_user, user_id="fixed")) -> str: 
...
+
+    assert get_call_argument_parameters(show) == []
+
+
+async def test_shared_dependencies_are_not_walked() -> None:
+    def config() -> str: ...
+
+    async def show(value: str = Shared(config)) -> str: ...
+
+    assert get_call_argument_parameters(show) == []
+
+
+async def test_references_to_one_name_share_a_parameter() -> None:
+    def other_workspace(workspace: str | None = CallArgument()) -> str: ...
+
+    async def show(
+        a: str = Depends(current_workspace),
+        b: str = Depends(other_workspace),
+    ) -> str: ...
+
+    async def reversed_show(
+        b: str = Depends(other_workspace),
+        a: str = Depends(current_workspace),
+    ) -> str: ...
+
+    for function in (show, reversed_show):
+        (parameter,) = get_call_argument_parameters(function)
+        assert parameter.default is inspect.Parameter.empty
+
+
+async def test_conflicting_annotations_raise() -> None:
+    def numeric(workspace: int = CallArgument()) -> int: ...
+
+    async def show(a: str = Depends(current_workspace), b: int = 
Depends(numeric)): ...
+
+    with pytest.raises(TypeError, match="different annotations"):
+        get_call_argument_parameters(show)
+
+
+async def test_conflicting_defaults_raise() -> None:
+    def other(workspace: str | None = CallArgument(default="x")) -> str: ...
+
+    def same(workspace: str | None = CallArgument(default=None)) -> str: ...
+
+    async def show(a: str = Depends(current_workspace), b: str = 
Depends(other)): ...
+
+    async def agreeing(a: str = Depends(current_workspace), b: str = 
Depends(same)): ...
+
+    with pytest.raises(TypeError, match="different defaults"):
+        get_call_argument_parameters(show)
+    (parameter,) = get_call_argument_parameters(agreeing)
+    assert parameter.default is None
+
+
+async def test_annotated_references_drop_their_dependency_metadata() -> None:
+    def tagged(
+        workspace: Annotated[str, "described", CallArgument(default="w")],
+    ) -> str: ...
+
+    def bare(workspace: Annotated[str, _Marker, CallArgument()]) -> str: ...
+
+    async def show(a: str = Depends(tagged)) -> str: ...
+
+    async def plain(a: str = Depends(bare)) -> str: ...
+
+    (tagged_parameter,) = get_call_argument_parameters(show)
+    (bare_parameter,) = get_call_argument_parameters(plain)
+
+    assert tagged_parameter.annotation == Annotated[str, "described"]
+    assert bare_parameter.annotation is str
+
+
+async def test_unresolvable_hints_fall_back_to_the_raw_annotation() -> None:
+    def broken(
+        workspace: "UnresolvableType" = CallArgument(),  # pyright: 
ignore[reportUndefinedVariable,reportUnknownParameterType]  # noqa: F821
+    ) -> str: ...
+
+    async def show(a: str = Depends(broken)) -> str:  # pyright: 
ignore[reportUnknownArgumentType]
+        ...
+
+    (parameter,) = get_call_argument_parameters(show)
+    assert parameter.annotation == "'UnresolvableType'"
+
+
+def test_optional_and_default_are_exclusive() -> None:
+    with pytest.raises(TypeError, match="optional or default"):
+        CallArgument(optional=True, default=None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/uncalled_for-0.6.0/uv.lock 
new/uncalled_for-0.6.1/uv.lock
--- old/uncalled_for-0.6.0/uv.lock      2020-02-02 01:00:00.000000000 +0100
+++ new/uncalled_for-0.6.1/uv.lock      2020-02-02 01:00:00.000000000 +0100
@@ -90,128 +90,128 @@
 
 [[package]]
 name = "coverage"
-version = "7.17.0"
+version = "7.17.2"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/d2/79/e78bd8f75a9b8e32233ce92d4607f0a21ce88a9156cace2884e7175a82f5/coverage-7.17.0.tar.gz";,
 hash = 
"sha256:cc010a0a7fbdd9bb8bdfd0d3f04a5151275860213cbd7e2b876b29778489c712", size 
= 991021, upload-time = "2026-10-22T16:06:50.009Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/78/4a/740c3134227763ebc30a226d7f2f29b25e35898d162dd8b2dd792be83fb2/coverage-7.17.2.tar.gz";,
 hash = 
"sha256:d05a1bef52f4d7f1b484a1cf46a8929e50963f910e51396373f06cd3b6248f38", size 
= 996756, upload-time = "2026-11-04T19:52:34.313Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/75/25/79a66272edd250031aeee6db87d500a0bf76390d0d5f8c2f431fe354715f/coverage-7.17.0-cp311-cp311-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:99a7b390cbccc6bf029ca4da3f0f607c218bb4085e9cd6b58a90d14ca12993c3", size 
= 225837, upload-time = "2026-10-22T16:03:55.622Z" },
-    { url = 
"https://files.pythonhosted.org/packages/52/a6/f5f6fefb2fc1305363927edad1d0a60ce6ef80d6c1a74a79e825f0f670eb/coverage-7.17.0-cp311-cp311-macosx_11_0_arm64.whl";,
 hash = 
"sha256:f72640e02a470b57b15cd655820133f6892760209283a363a60e2df932d5f0fe", size 
= 226257, upload-time = "2026-10-22T16:03:57.164Z" },
-    { url = 
"https://files.pythonhosted.org/packages/28/61/72889bac8eb44c51f8043edb227df551dfdca1fc4819a6c6d67b3f69427b/coverage-7.17.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:2dc9233f39149b5a4f4aba17a4b6bc5cca22e52cfc4b06fdb07d014439b8b2ea", size 
= 258282, upload-time = "2026-10-22T16:03:58.521Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f4/e4/03e4a5644df9b73de0d44d1b82acd18b06c42b5abc3f1433be8363fa983d/coverage-7.17.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:8e8113d3852e9377421a61de1917df27b3abb25404a4ecf69f9e64612c4345b5", size 
= 260506, upload-time = "2026-10-22T16:04:00.116Z" },
-    { url = 
"https://files.pythonhosted.org/packages/6f/4e/949022286df7e59e8633a3a7e6635e0e6b53af7d57074cb0bf8f500373fb/coverage-7.17.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:c86a39539d10d666bb819c16c94d7edfc1aa2e0531b937f7c549b83d15177c6e", size 
= 262600, upload-time = "2026-10-22T16:04:01.49Z" },
-    { url = 
"https://files.pythonhosted.org/packages/27/cf/7d67f60df081006315699b7edb9402c1b47142caf1383f4e56ae8ff1a501/coverage-7.17.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:559f748446ee799803686b5784e3deb54c70d655ac386a860e06b11672504ba7", size 
= 264609, upload-time = "2026-10-22T16:04:03.286Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e1/e0/9293d94afbc099990a085e88229a51c79b00828aba0f2adda32dc4cc16d1/coverage-7.17.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:34d65c9e8e257f48a654908005046fbf1bc48d9540ae3776ad08c0acd010e10c", size 
= 258382, upload-time = "2026-10-22T16:04:04.804Z" },
-    { url = 
"https://files.pythonhosted.org/packages/24/c8/bcd28efedf262c074dae76f61098739eb02b15f3f716f80cc86f9885b8a9/coverage-7.17.0-cp311-cp311-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:5b7fa0997b8eba7378ac66f31ec7f70164490353ab79b9667d37c0d365e50177", size 
= 260299, upload-time = "2026-10-22T16:04:06.291Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b8/dc/503f55e5e2200933403c90d619d9f779b5060ddd338b1bdc63cd235592cb/coverage-7.17.0-cp311-cp311-musllinux_1_2_i686.whl";,
 hash = 
"sha256:6ae0453a3390e67f7bfbe34417bbdf5b4ebfc21db23fb446a0a41115eeeca6ca", size 
= 258314, upload-time = "2026-10-22T16:04:07.729Z" },
-    { url = 
"https://files.pythonhosted.org/packages/bb/b1/f1a57c36077cc516240636f7eff0d1427939ed795f096dd2c7769213a56c/coverage-7.17.0-cp311-cp311-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:96151262832f3c230ebae23b2d6911ad549e1738465946c97004913ff06112ba", size 
= 262239, upload-time = "2026-10-22T16:04:09.116Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a8/4f/c2e59d4a132936c7c207b9b69ab99c0f27b14c3c93266e9922aa3b562b37/coverage-7.17.0-cp311-cp311-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:cd7397de6cc782f00fe5ac1d75e9b306bcfa49c8b6b8dd6ed1f7709393ad40b3", size 
= 257841, upload-time = "2026-10-22T16:04:10.509Z" },
-    { url = 
"https://files.pythonhosted.org/packages/05/04/50742c0ee8b6c85826ff11737c93ed957fea4c9acf4b4b99804bdac1dd84/coverage-7.17.0-cp311-cp311-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:9d1fdf82c6fea57b5e9dada509f9ce9638c8334664e2c98c7f6f1ccf3d143ad2", size 
= 259039, upload-time = "2026-10-22T16:04:11.916Z" },
-    { url = 
"https://files.pythonhosted.org/packages/8e/cd/83ad4bbbfcb6d045a33c14cdca313f6c9275737c67f3b7300222e3239a37/coverage-7.17.0-cp311-cp311-win32.whl";,
 hash = 
"sha256:38c86e5d74bbfd88a393fa3f91257c1225c63aa6db6d5918de3e49ab04f91c6e", size 
= 227687, upload-time = "2026-10-22T16:04:13.537Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ca/c8/dcc5a7effa79707eb8a61e699b141cff7c9b46036771274cfb48ea7b765f/coverage-7.17.0-cp311-cp311-win_amd64.whl";,
 hash = 
"sha256:2ed3097c6817bc1a7fc8ae0a6131db74aa1150d863cccc308237ff362d3226b2", size 
= 228290, upload-time = "2026-10-22T16:04:14.899Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d1/58/a8553e0dcd38d8136df63964638d2b588e0a4a916bff1bca996244fda693/coverage-7.17.0-cp311-cp311-win_arm64.whl";,
 hash = 
"sha256:6052e878b628abcd38fa5f2b64abebc686eed4e2267da42434017a9c6d24f241", size 
= 228199, upload-time = "2026-10-22T16:04:16.351Z" },
-    { url = 
"https://files.pythonhosted.org/packages/0a/25/989fd3b495c4274ac0cf54cb6664326415e60183a7f8a73dd9bbb0b11e34/coverage-7.17.0-cp312-cp312-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:0cfdc938ca3319d873d1f1252e60620a39aee4ebf9dbd7cc58238109ebda9c51", size 
= 225938, upload-time = "2026-10-22T16:04:18.113Z" },
-    { url = 
"https://files.pythonhosted.org/packages/db/cb/14726426bf3241657facbf0f7df7babd8f7d3fcf8e4609b7929f9dceecbc/coverage-7.17.0-cp312-cp312-macosx_11_0_arm64.whl";,
 hash = 
"sha256:d523da3c2e4bca49417768bcdb1a443c5b359dc44b8b93a3102e118fce912c40", size 
= 226166, upload-time = "2026-10-22T16:04:19.524Z" },
-    { url = 
"https://files.pythonhosted.org/packages/8e/97/f95ed32cd3cfbe261a3598e694cb770cefc7b2d13ff013418d6f70a44dde/coverage-7.17.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:adbf3450c0f3f2b2854e282a8758f2b3eddf787eeff24ec9c9bc2cbc38328cc1", size 
= 258462, upload-time = "2026-10-22T16:04:21.079Z" },
-    { url = 
"https://files.pythonhosted.org/packages/91/ac/eb4c31f741509a9ef48cf6f28385e98e9de0785599282252eee252ff8af7/coverage-7.17.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:85932227e9dd38e62cd29c17fefdfecfb919eead6af1e3259522d03cf85de983", size 
= 261789, upload-time = "2026-10-22T16:04:23.037Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e8/3e/d9cd006d1a3cc5deab07beb29b86cb4a10dd84d66b330820363fb8d310d6/coverage-7.17.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:30f5477aac9c9e4a0a641c55f8f8fddd7f3bd91176c912c50f40ffced96b4034", size 
= 262322, upload-time = "2026-10-22T16:04:24.94Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c0/3a/4c872c6ae0762b09cdb8e856891bb3f584848cb60b6dda2bacb85fe2f3f0/coverage-7.17.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:0b8bb651a4406fb6a983a905309fec1783443c65e1771b41e92740a0f4a1176b", size 
= 264600, upload-time = "2026-10-22T16:04:26.444Z" },
-    { url = 
"https://files.pythonhosted.org/packages/df/98/1d41a2373fa98b423bcd70adb91d75e38eafb417955426dbb920b10016f3/coverage-7.17.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:0edeb6594f080c8de1263cccb239cb316ef77aeb959e2e0f38f2953fcc72a49e", size 
= 258678, upload-time = "2026-10-22T16:04:27.832Z" },
-    { url = 
"https://files.pythonhosted.org/packages/92/6a/fe04b5e63e76506daa63d90bdfb00a53767fe5df18546b437d6226918d6b/coverage-7.17.0-cp312-cp312-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:da94ec0484e84fce5c7bf8d0f54b97767a90d992653a129b35634699d516e0a5", size 
= 260210, upload-time = "2026-10-22T16:04:29.275Z" },
-    { url = 
"https://files.pythonhosted.org/packages/4f/c3/5c5a78dc19dd4799be9c6ec022316fb25ababaeacfaf0f52f24c56a57b43/coverage-7.17.0-cp312-cp312-musllinux_1_2_i686.whl";,
 hash = 
"sha256:a25cc5e8c23a590815c6a7aa43624234d25cb23b21b484adb8a0daed59860db5", size 
= 258375, upload-time = "2026-10-22T16:04:30.647Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ed/e7/4c1d8eaff4d756fefd15d58c4953a78ab656782fd0e32c5a3465dba61aa0/coverage-7.17.0-cp312-cp312-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:db645c81cf4d6bcb392ea1894aad65d55d1588a8472c834b25ca575da3029a56", size 
= 262422, upload-time = "2026-10-22T16:04:32.053Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a6/2a/0b17c3e2e7b6ff1a5d92eb58915c0d1026668928f961d14dac73cf1b6096/coverage-7.17.0-cp312-cp312-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:6a80a11b90c4a03df1502304cf24ff953255b6b5d076ef79066ecf88baaff31f", size 
= 257875, upload-time = "2026-10-22T16:04:33.824Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d3/2d/eb0cbde0535342df0d17a667163030a3afb67e5eb9e3ad94af9540041584/coverage-7.17.0-cp312-cp312-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:e4eaf11d6b0f2147f46cfbf06fe7edcca6f095d0120da00ddc2458995ee869fc", size 
= 260361, upload-time = "2026-10-22T16:04:35.661Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2e/47/1be2a6db7eb655d0a1d899217c3f2469f9121cbbeddac35c1c8173b1482e/coverage-7.17.0-cp312-cp312-win32.whl";,
 hash = 
"sha256:912a29f338798541d795e2e25903c6fe7a99dee70a40fe4706a9a124649b523e", size 
= 227747, upload-time = "2026-10-22T16:04:37.102Z" },
-    { url = 
"https://files.pythonhosted.org/packages/11/c5/201c894c57de81875d8b8cc527ba222aa350e8cfb183eb3f6df45d06ad8e/coverage-7.17.0-cp312-cp312-win_amd64.whl";,
 hash = 
"sha256:88a1a9fb0075b83389dd9b403bb3fce976031b3c2aa0e05e3e57143cf639de69", size 
= 228325, upload-time = "2026-10-22T16:04:38.989Z" },
-    { url = 
"https://files.pythonhosted.org/packages/0b/5d/196095339b19758cf83f507fb598bc42820ae124745feb3084662729e17a/coverage-7.17.0-cp312-cp312-win_arm64.whl";,
 hash = 
"sha256:2c680e838ff9e68d491158625ca2c1ddb17d78d791bba96a31f8b839b4990438", size 
= 228131, upload-time = "2026-10-22T16:04:40.654Z" },
-    { url = 
"https://files.pythonhosted.org/packages/54/e6/1f01afbc9f4fa8ca5e1fa6fdf537a5c58b5765d1b4167ee284cddb9acc72/coverage-7.17.0-cp313-cp313-android_24_arm64_v8a.whl";,
 hash = 
"sha256:84538c040f4e6214f663459d89372ce4e6b2bbdd9d397ef0dca7b3ecd56b8eb2", size 
= 227080, upload-time = "2026-10-22T16:04:42.325Z" },
-    { url = 
"https://files.pythonhosted.org/packages/92/7a/bdb7e6260c4a211389aeac9b89dc31662ebe122153ad0ecfd156897912df/coverage-7.17.0-cp313-cp313-android_24_x86_64.whl";,
 hash = 
"sha256:6abfb6a4cf1cb1b67bc8fccdde177e2d2b781d0d34449e7078156547025140e5", size 
= 227152, upload-time = "2026-10-22T16:04:43.737Z" },
-    { url = 
"https://files.pythonhosted.org/packages/37/4e/276e7d5b3cfb124871bdb544c27b004a8b4e270e6bf8e7414149c54b5e5b/coverage-7.17.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:ef65e96f0fc1a7c8b7644c7011d47a8228555e7888ac4d6246f715a7f3d7c398", size 
= 225397, upload-time = "2026-10-22T16:04:45.292Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b3/7d/dac073db12f3c131598a6693253aded581e4d7d622a89864f11bfb0ca2f5/coverage-7.17.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:55939ea4c097fda2edabf80fac5e49bef15597b950a9f29fc56292a895245feb", size 
= 225705, upload-time = "2026-10-22T16:04:46.603Z" },
-    { url = 
"https://files.pythonhosted.org/packages/00/45/877b0a9248e921080ae91d115c13192d17e308f5aee86bcc7f7bc2a54ed1/coverage-7.17.0-cp313-cp313-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:bfb6f868af552c0ceb2d19220b8cbcc2be096ca26163ac30e682a13041433429", size 
= 225828, upload-time = "2026-10-22T16:04:48.065Z" },
-    { url = 
"https://files.pythonhosted.org/packages/4f/f5/2c48d47abec0e4590b302920334be5ee3854f96bbd22524feabb8d92b220/coverage-7.17.0-cp313-cp313-macosx_11_0_arm64.whl";,
 hash = 
"sha256:8d823d66afd59566030539c49c7a6acaf3083996682be2dda760c63555842094", size 
= 226088, upload-time = "2026-10-22T16:04:49.513Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a8/a0/ec0442f3f372c7fd742f49b3022edd392f79e37a0048e1fa333f56d01ec3/coverage-7.17.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:50678474e714c684b82c108e63fbb8f1bcf1266d8293a49980f1d08526f093b5", size 
= 257257, upload-time = "2026-10-22T16:04:50.982Z" },
-    { url = 
"https://files.pythonhosted.org/packages/92/e2/eb0927ba93809f76eee69fa1e47999825fc7dbbabc3e0e1a2744f2677acb/coverage-7.17.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:045c1eeb19fb4eae949850a761102fffb3a5f638b97f977912f95843e54f6669", size 
= 260165, upload-time = "2026-10-22T16:04:52.409Z" },
-    { url = 
"https://files.pythonhosted.org/packages/9a/a2/8d4c6055efb32099b15c9cc33d007b8aabebc4832f372a3274de5ba0afc5/coverage-7.17.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:dfb12891a773cbc2132349c77c690a045a882fe3f98b4bda50dfabb01893f9bd", size 
= 261098, upload-time = "2026-10-22T16:04:53.763Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2c/1e/93412288688a7b03f152a734c8ef086e395108a0a6a746985d3967e220f2/coverage-7.17.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:3067608b4429629f640c1b23d2f69b05d2fd45e00ebb6ee9e8fad220a6c11722", size 
= 263164, upload-time = "2026-10-22T16:04:55.386Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3c/20/7eb8d805c4f1a212245cef20181dfbf39535357985073d49730ee9cf08d4/coverage-7.17.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:a1762e85cbbe3b5ff9c6dcbcc1b89d5c72320094292b7b9572bf882c85e428b7", size 
= 257287, upload-time = "2026-10-22T16:04:56.976Z" },
-    { url = 
"https://files.pythonhosted.org/packages/1a/c1/1df29630b4ed17e135c76390afcc6bd273c3dc5ba2a21a76813a600fe98c/coverage-7.17.0-cp313-cp313-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:62bb77987d3f72a0aaa77c567ee7f9806bc2e748c8f46fafbe1fdb90dd148398", size 
= 259256, upload-time = "2026-10-22T16:04:58.545Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a1/79/2365d1008d28aafe468a450a24c6c63363de794b5140223d67685cd0e205/coverage-7.17.0-cp313-cp313-musllinux_1_2_i686.whl";,
 hash = 
"sha256:6cc31f27240d4e080437e3b8229d92f1d809c9a4f233607385373b73974e183e", size 
= 257178, upload-time = "2026-10-22T16:05:00.103Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c0/9f/f002952d295d772688dffce0d991e3822795b1e3aad158073712a5a5e86e/coverage-7.17.0-cp313-cp313-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:61cde5222f1933d476647c5a25ed1a8678b7703098cb5a15f4a0aa39967d8c28", size 
= 261275, upload-time = "2026-10-22T16:05:01.462Z" },
-    { url = 
"https://files.pythonhosted.org/packages/40/fe/f9e15fbb426be97cd679ee5d359151e046f103bcd76b5092c318c26ed596/coverage-7.17.0-cp313-cp313-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:11f5f7fb2d97a0fe865f5e7bad4eb0619b957637f676bc088d13844adf26ba95", size 
= 257029, upload-time = "2026-10-22T16:05:02.8Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c2/4a/3c398f38694387334ff4c9f71afc8e15b4fa7db7bc0bea4d5b6032eb0df0/coverage-7.17.0-cp313-cp313-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:6e09612b1b82c9df1d2b6c85dee88d5aad3e73d77a8ec0b16ac6a7322cbdf5d9", size 
= 259109, upload-time = "2026-10-22T16:05:04.241Z" },
-    { url = 
"https://files.pythonhosted.org/packages/bd/a9/908a3cf1a2335aec1c788682a06c2f742a62a4f987033f080de1c5fd1997/coverage-7.17.0-cp313-cp313-win32.whl";,
 hash = 
"sha256:bd3e9eb493631ff1ca34bf5efac25b5c66724f837bf6182c4fc771c55946423d", size 
= 227691, upload-time = "2026-10-22T16:05:05.636Z" },
-    { url = 
"https://files.pythonhosted.org/packages/13/f7/8cdd7bfd8a63b3e6b133fc395ecfc7b1cb6f561926e7e2ad050de85b83e7/coverage-7.17.0-cp313-cp313-win_amd64.whl";,
 hash = 
"sha256:f1fc9a7cea899c51d8a53e66c2f082a3d9e461ece32418d3ef0a0b90c32bfd3d", size 
= 228418, upload-time = "2026-10-22T16:05:07.057Z" },
-    { url = 
"https://files.pythonhosted.org/packages/09/cf/0b3fc57f735cd3831ca13d0be5312a5477d5934066683c5d34018cab7541/coverage-7.17.0-cp313-cp313-win_arm64.whl";,
 hash = 
"sha256:e65a1e61a68493fbfbe44d8bec71b3231d81b9917f62d3dafe0e105072147e83", size 
= 228142, upload-time = "2026-10-22T16:05:08.435Z" },
-    { url = 
"https://files.pythonhosted.org/packages/4d/e1/722462fe79912ebebc101497bd16c42413cde2dbae771017f1ec0acb84c2/coverage-7.17.0-cp314-cp314-android_24_arm64_v8a.whl";,
 hash = 
"sha256:dc5936491e306f2f6f095bd5fba593de11eb0375cee787ca1f245c3a333a523a", size 
= 227197, upload-time = "2026-10-22T16:05:09.846Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b7/74/826b9c09f2ebfea803bccb391d935688a25309bff8e819fc446bc629c108/coverage-7.17.0-cp314-cp314-android_24_x86_64.whl";,
 hash = 
"sha256:968c5fb6e0c83cab752d79a70209648ce4d90cae815c60fa229b59e264601062", size 
= 227314, upload-time = "2026-10-22T16:05:11.422Z" },
-    { url = 
"https://files.pythonhosted.org/packages/6d/19/c8514d7f5e0659a96ff2bc7377119dca6d420e2761c5fc69ae37618734f8/coverage-7.17.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:12cb8a20ad904a5811e6660d829a586b216e5254b9b34b76dde8a4d65d827dc6", size 
= 225477, upload-time = "2026-10-22T16:05:12.761Z" },
-    { url = 
"https://files.pythonhosted.org/packages/81/74/ef9433ce599f07d8633b4ce6e6d6921505c4ef3f7f9006f8eb66e2c278cf/coverage-7.17.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:bb5ca66937c55bc85d1a5e9c5900a3e4693a8edf2280a9b3672b7b2661a84b95", size 
= 225787, upload-time = "2026-10-22T16:05:14.394Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d8/66/26e58981940e8b3944c6a9941bec5c7f50840e7009a046712e3f3bcd9e6a/coverage-7.17.0-cp314-cp314-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:5cc15faaf318ee5040d835a62c75bc6f122d837274f3b5efd47bf9fbd4ac5b85", size 
= 226019, upload-time = "2026-10-22T16:05:15.798Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e9/63/fe175310815cc8357b83b773c9b4c20943c269f217dd825a37c4b4bfe324/coverage-7.17.0-cp314-cp314-macosx_11_0_arm64.whl";,
 hash = 
"sha256:7d6d9d396c8b7bcaf76d774a10140b218111484e54c73a5f2a1b75655381748e", size 
= 226169, upload-time = "2026-10-22T16:05:17.188Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2c/b0/ac84761f5b4bd226696b0ec4606903d2ef7208abda0aec06c14a4218def4/coverage-7.17.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:42e6f170d1ac04b7eb3363310a6c41cdfd82c1fe6bf9ffbc4a86f380bdf091c7", size 
= 258092, upload-time = "2026-10-22T16:05:18.691Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e9/58/d8bdd65a661913bc12eaaa3e59742b2cb8b94f2e7f78e62184f0a58ca493/coverage-7.17.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:acdb5f3c96046efff9dc6c572a6acb2b8d0da09372d7b9a9ed7249cf7d17434f", size 
= 261096, upload-time = "2026-10-22T16:05:20.089Z" },
-    { url = 
"https://files.pythonhosted.org/packages/7b/15/5d82e2f0a75ea149e0a6412e137e1d610538772fdfd7199737db7fe234da/coverage-7.17.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:3393209f6894713161ee82a9b0e673e58237e0f9733c6638e7a6c0c620ef0b33", size 
= 262080, upload-time = "2026-10-22T16:05:21.568Z" },
-    { url = 
"https://files.pythonhosted.org/packages/0f/cc/e3ebfd295d1dd47c7bc84a17d73f150465a37ab388dd68fe82b495dc79a0/coverage-7.17.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:e9494d9e99389d39e6a96227749af898d8924ff591cb63944f8a98e68582bf0e", size 
= 264558, upload-time = "2026-10-22T16:05:22.906Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e0/9d/e2adff76d6544bbc6df7366d74967923c2de37ba889a006bfb875bf5857b/coverage-7.17.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:032d4c2db4c677eb71d43f2f8b80bf64e9346f7a3f7b6ebb13f1782f3cc6c274", size 
= 257855, upload-time = "2026-10-22T16:05:24.343Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d9/fd/ecd1e9cddf1c36b5d03c438568b1f53e63db84bb3656539d71b454484c7d/coverage-7.17.0-cp314-cp314-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:4343a9378b964eb3cb80fa90406385de91c7e982a769ca9314d848f93bc0d3f2", size 
= 259933, upload-time = "2026-10-22T16:05:25.79Z" },
-    { url = 
"https://files.pythonhosted.org/packages/40/b6/e17a19dccdbcad494c64691f71c1dba3e55c30625bc29ffbb88ac5a0aa8b/coverage-7.17.0-cp314-cp314-musllinux_1_2_i686.whl";,
 hash = 
"sha256:b609df3d6d900464207532c5170a65c6ede8d2e0b91f151f90008a866395cd76", size 
= 257972, upload-time = "2026-10-22T16:05:27.185Z" },
-    { url = 
"https://files.pythonhosted.org/packages/6a/0d/37dac534709a3fa43a937c8b0604839bb44b8670b83d143a4b78fec20d1e/coverage-7.17.0-cp314-cp314-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:a01ef92caeedfa4f2ad171a3a8e6fece4565de871d8bca428151bf9929f41048", size 
= 262271, upload-time = "2026-10-22T16:05:28.619Z" },
-    { url = 
"https://files.pythonhosted.org/packages/cb/17/7c05186925b4d64a46c271dfd944e3f0c1ad89db9095c31a6df157a75df2/coverage-7.17.0-cp314-cp314-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:a3914e2c98c34b94c26d2add3d2a61ccfd3534fc4eaa879ee290bdbb5184ba6c", size 
= 257604, upload-time = "2026-10-22T16:05:30.07Z" },
-    { url = 
"https://files.pythonhosted.org/packages/95/65/c241cdee66a0ff86c68f6d37328e735d10e3d30cd6ff66f356039eb688d2/coverage-7.17.0-cp314-cp314-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:e8a72b26dc5c9a9422e45472b1d67ba5caf273c524c8668cc04b23062663755e", size 
= 259714, upload-time = "2026-10-22T16:05:31.402Z" },
-    { url = 
"https://files.pythonhosted.org/packages/db/09/e93233fe2405574ce0a31ed201c0cba3a860e085db5d2828bf12b7dc0790/coverage-7.17.0-cp314-cp314-win32.whl";,
 hash = 
"sha256:03baf0688e14a5a44ffd1eefa8928dfc92b14565e521174e072b31b971aa1657", size 
= 227914, upload-time = "2026-10-22T16:05:32.78Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d7/77/04979eb217edb94b94afabb4bcc179f60c746f68d3fd0b12688ba9195730/coverage-7.17.0-cp314-cp314-win_amd64.whl";,
 hash = 
"sha256:3a4459b0f389dd1e51aac3dbfc4ca35b30cae7dc99caa3c0a086d1997a985709", size 
= 228543, upload-time = "2026-10-22T16:05:34.118Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a0/38/155f2f2c6769f8c43eca8a5e581443faa0908828650090b97103b4a41376/coverage-7.17.0-cp314-cp314-win_arm64.whl";,
 hash = 
"sha256:a32ee5831b15ba239bef5d272ae586ca8acea4a661b5f2941f5a0d380e518b23", size 
= 228396, upload-time = "2026-10-22T16:05:35.951Z" },
-    { url = 
"https://files.pythonhosted.org/packages/52/55/d6751572d9445485c4c5a51ec6ae11caa5c11b7ef2448cdccc884f7f54d9/coverage-7.17.0-cp314-cp314t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:9c083e253e96fdeeaf48133fe836cac86ace2db215d235700e7f7532420a200c", size 
= 226486, upload-time = "2026-10-22T16:05:37.363Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2f/a8/82d37760e537bfdb9fdee285fa1e1b45bc153293d23e2331c7befedd1990/coverage-7.17.0-cp314-cp314t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:b88fb4d4d7608cbcebdc7ff7dbffc2115e3b81d6c33a79147cd79d54fcb080f4", size 
= 226861, upload-time = "2026-10-22T16:05:38.777Z" },
-    { url = 
"https://files.pythonhosted.org/packages/24/96/70ec00a9db6d7bdd3f914eba12057360769f5cb78a98456e71fe1937deb5/coverage-7.17.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:2bf3ee38a40c0570c316b9e7507c472469586906a20f289705898528c31aaea8", size 
= 266849, upload-time = "2026-10-22T16:05:40.285Z" },
-    { url = 
"https://files.pythonhosted.org/packages/77/d8/d99be3bfbb208512f039c80b31e404138a86678fc929a17acd5b7135a6ae/coverage-7.17.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:7c570293f001ea91598b90e90cb9b98fddee833e90bbede432cbd218331ccd8e", size 
= 269402, upload-time = "2026-10-22T16:05:41.585Z" },
-    { url = 
"https://files.pythonhosted.org/packages/82/50/6cbe8b5a5060edbd21ce8109c4e900f8b7656e8b72ede6dc4d82dc0b8bfb/coverage-7.17.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:791f9ee09814dd30d9562b4f4eb037a371485ec1c830b53999d2320d20c4e764", size 
= 272025, upload-time = "2026-10-22T16:05:42.921Z" },
-    { url = 
"https://files.pythonhosted.org/packages/bd/05/d3633add01e5518dfdacfdbd1be41cb5c581412dd8bccd663edf6ef7fec8/coverage-7.17.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:c7c5672ecf1b497de7a0b37743bef40e3b58e3207e9fe2ed6682cb0420836a88", size 
= 273515, upload-time = "2026-10-22T16:05:44.324Z" },
-    { url = 
"https://files.pythonhosted.org/packages/57/d9/b83387780271bf9ea9f96a3aeb01c1c302c4494a927923c4fa70cd170a3f/coverage-7.17.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:337f87e62e1c5f43c8198d879f677c342d152f84d3f157add12558853cbb8eaf", size 
= 266725, upload-time = "2026-10-22T16:05:45.713Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e4/be/8e80b29764ae3f4d70d44952eee3f3927eb36897490fe799e400adb7f5da/coverage-7.17.0-cp314-cp314t-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:c8a58baa8eb6154c6645eadcc19b6c089deab78c24a612a83206f2a8a5992a7c", size 
= 269312, upload-time = "2026-10-22T16:05:47.054Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b8/c9/e702f588fe8d83ca844f133270ad0a49bf650c8cf260551ff6f11a6b6bbf/coverage-7.17.0-cp314-cp314t-musllinux_1_2_i686.whl";,
 hash = 
"sha256:fb5745048ee20f796b0e3ab61831049e749acff188563e2af32f58ede957ac1b", size 
= 266740, upload-time = "2026-10-22T16:05:48.343Z" },
-    { url = 
"https://files.pythonhosted.org/packages/8a/11/ee13ad14b714d75ef07c490b6e43969574a8b8b8c6d67bc741fcbacbf9c3/coverage-7.17.0-cp314-cp314t-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:7b5abcae74750302ac4bc77351eaee87c450e4abd3b6225eacde3858e260f8b2", size 
= 271036, upload-time = "2026-10-22T16:05:49.727Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e2/bc/854e8912c11c54aaf416e74602000589c6efbbe1f251dc90202fdabddcb6/coverage-7.17.0-cp314-cp314t-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:4e153f0bd6509dbf837fd585f489b3328bfd98f2a718a0b15ae63032148b285c", size 
= 266158, upload-time = "2026-10-22T16:05:51.141Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a8/dd/96432830ddf63bc42654de54eee77a0cd6949cc65769bda06f353323f23a/coverage-7.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:e42a835271922fe7bf98c7a05c78d4032f4e52bf5b07fafa1eadfdfc2f0ad22f", size 
= 268088, upload-time = "2026-10-22T16:05:52.92Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ce/ee/230c6ec065a6629d41cc89323ceb54d37e2650c104f70fc108f4ee7c5051/coverage-7.17.0-cp314-cp314t-win32.whl";,
 hash = 
"sha256:5900055351ec89fdffb34b27898815106529ded29a9496464c1ebd6313fd40fa", size 
= 228229, upload-time = "2026-10-22T16:05:54.255Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f0/1d/23eb6aadcb3c00764ff2961c0ff55f5dfa2543856d932b949bbc04fa68e9/coverage-7.17.0-cp314-cp314t-win_amd64.whl";,
 hash = 
"sha256:5ee9c8bd13a59e301dc2aefe7aa8384633406808de051b1982775667094eb673", size 
= 229154, upload-time = "2026-10-22T16:05:55.682Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3e/f1/7df117e8e016b7a3ee459e833b3456f3610505afefd071f8727702d98439/coverage-7.17.0-cp314-cp314t-win_arm64.whl";,
 hash = 
"sha256:0a9cb9a0fb58e6fff5442969af36094ecd6976f4907f179e33b27e15355d8f74", size 
= 228726, upload-time = "2026-10-22T16:05:57.179Z" },
-    { url = 
"https://files.pythonhosted.org/packages/9f/a1/f9c24911755f91e6f451ca2e2c1804fbcbe9fecbc3310e341bbbbfa1d85b/coverage-7.17.0-cp315-cp315-android_24_arm64_v8a.whl";,
 hash = 
"sha256:adabc1079ba844b096799ba8638d8df434aca1613f95bb7d5791af320cf05559", size 
= 227196, upload-time = "2026-10-22T16:05:58.543Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b0/a5/2b665b40c626e6bb40e5e8e23d91170b48b5f2f57186f46b07f2fac42386/coverage-7.17.0-cp315-cp315-android_24_x86_64.whl";,
 hash = 
"sha256:6b4593d2871c4c801656dd5861e759f8f5156febd6b6061b02f6a72d64618b7b", size 
= 227315, upload-time = "2026-10-22T16:06:00.409Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3d/8c/22b518d61b930b8a4d62905d046c76a03675ef19b466462011dfb16439a3/coverage-7.17.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:c2c48a36bb970b7265b196032bfd4237c0b373f2b25ef7012d7e905b5b35c19c", size 
= 225490, upload-time = "2026-10-22T16:06:01.743Z" },
-    { url = 
"https://files.pythonhosted.org/packages/08/5b/d3b141455944e030cd4987f055f8c84a44a1a0b28d81ae93389f44051691/coverage-7.17.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:f8bc2cd4c6aa58be1ca243fb8cddb6c3c42031fe4403991ad9cf2b3baed03d9f", size 
= 225797, upload-time = "2026-10-22T16:06:03.423Z" },
-    { url = 
"https://files.pythonhosted.org/packages/03/24/aab2156983f7022361352640c583d08f0238e4cd7463eb921172001b4cfe/coverage-7.17.0-cp315-cp315-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:cbf0b83ce927de6053279ba61342d9f8892afde1385fcba9144cd05d4023d109", size 
= 226025, upload-time = "2026-10-22T16:06:04.76Z" },
-    { url = 
"https://files.pythonhosted.org/packages/87/db/94697b9ccf4ec94cdad07bf94e2a21b9702247cb212d2d5f18d2b9c3d0de/coverage-7.17.0-cp315-cp315-macosx_11_0_arm64.whl";,
 hash = 
"sha256:66efc0fb99cee34626fc17d3adac9c3cd816bfdad563bb1e983c3ef432f566d4", size 
= 226193, upload-time = "2026-10-22T16:06:06.167Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a0/fd/db1c4ade4219831d590fff5aa5b7d9ceaf84586e8e60da6fff71b6182251/coverage-7.17.0-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:58a304efdf2253fb2ea03d45d0a04cc174a92a0cd5279c28c5bb893ce7410968", size 
= 258046, upload-time = "2026-10-22T16:06:07.51Z" },
-    { url = 
"https://files.pythonhosted.org/packages/95/ee/84ed138990ed752abd73db4adffc1842d6152017d8e21809cc109a413fda/coverage-7.17.0-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:aed06129a9f530a948928260d7d2d81c47261355b0127e3c782251b38958463c", size 
= 261735, upload-time = "2026-10-22T16:06:08.861Z" },
-    { url = 
"https://files.pythonhosted.org/packages/64/ad/c1e4367bbd1e7d562d6bc979c82b542f2040544e95a8cd995b694caf0e1a/coverage-7.17.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:f6cdb47a9be2d3313829bed1d296086287682a3ee901ff987b3432b45705b771", size 
= 262819, upload-time = "2026-10-22T16:06:10.49Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b5/3a/e8e8509b0940403eab15d86f70022790a01fce3e971a161919c544953f7a/coverage-7.17.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:804fbaf81d09b34e2f8b1159d01e211a50713d743d32fd9b2ca6cf0ae507a66f", size 
= 265194, upload-time = "2026-10-22T16:06:11.847Z" },
-    { url = 
"https://files.pythonhosted.org/packages/1f/77/d64bbdbb734b1059ebcde2b5df567f142a9948079e51af9b0abf8c9ec17b/coverage-7.17.0-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:b2afebb96da9a1bbca142f8cc12320c14e5c215e0a49cded4f191f5a31506a28", size 
= 258410, upload-time = "2026-10-22T16:06:13.234Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e2/29/7cf81f08a254532c074eb52cfe6b12bb753d08f2997269c9fac8de359541/coverage-7.17.0-cp315-cp315-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:bd04fd23206be9ad3de13b0b39313094fafa66a1f6baf70f5471c004a9fac47d", size 
= 260697, upload-time = "2026-10-22T16:06:14.595Z" },
-    { url = 
"https://files.pythonhosted.org/packages/7f/56/bacea6dee2d5ccb31ab0cfffcee87ca7efa80ff048840209c8013aeaf02e/coverage-7.17.0-cp315-cp315-musllinux_1_2_i686.whl";,
 hash = 
"sha256:5ebfbc87836529a31d25c2dec1262c38eea852ec1c46c0f690a515a7339d9c5b", size 
= 258649, upload-time = "2026-10-22T16:06:16.265Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a4/97/fd8a6a63740f9ee177c53b59e2f4d0752369bb0fd154086a1e69aa1fb255/coverage-7.17.0-cp315-cp315-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:a59c3b470ac3b2432af3598a996affbeb10236cd899a005c1c4e517fcff8b592", size 
= 262989, upload-time = "2026-10-22T16:06:17.85Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c1/37/7cd3d3520d45db3788456452b65446182c08f2a7c276f40c9dd11966be02/coverage-7.17.0-cp315-cp315-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:7fef12cec4b96f59e09761cbd4fc9bdf4788062d1ae435b920241fc16c8a9549", size 
= 257955, upload-time = "2026-10-22T16:06:19.563Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c1/b9/80343a55e07d854927a915cc21a52e350ae1db9ead33f0248507b960785f/coverage-7.17.0-cp315-cp315-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:a14e8d69464da9cbe1dc29e7116dbd37296d1d51a695327c478e250349085089", size 
= 260512, upload-time = "2026-10-22T16:06:21.055Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f3/32/e4c816f0cb3efdc6392bb276ff88359729f9dec605bdd3c1c7a44776f759/coverage-7.17.0-cp315-cp315-win32.whl";,
 hash = 
"sha256:9a66074231799d8884d267234d49f60c90b43a945dfe069646b72f3058cd4e67", size 
= 227913, upload-time = "2026-10-22T16:06:22.407Z" },
-    { url = 
"https://files.pythonhosted.org/packages/43/14/283120142ac281834808584249b89957de997c28573ddd65ae106b622121/coverage-7.17.0-cp315-cp315-win_amd64.whl";,
 hash = 
"sha256:79cf71e5f9a48877ccfed5baa2c72f45af4feeaa596249e23eb15b473134830e", size 
= 228532, upload-time = "2026-10-22T16:06:23.756Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b9/bc/83dbc6c3bd58042afaefcb0cfd7d7a2e3076989a2f3d9bc6e6edac819784/coverage-7.17.0-cp315-cp315-win_arm64.whl";,
 hash = 
"sha256:09e563b49c81cd0a33734e926d7a4a6ef1778d74304cde2dcc3aff8b30ea1036", size 
= 228393, upload-time = "2026-10-22T16:06:25.163Z" },
-    { url = 
"https://files.pythonhosted.org/packages/00/ed/9463d1cb1766a2570343a372c2871c7fb4d561e5051f029399f4d57ce947/coverage-7.17.0-cp315-cp315t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:a5e2e0625dfc789af0b2e10acfc106b352f314fffbd19e6392a7961c8cbe5d9a", size 
= 226481, upload-time = "2026-10-22T16:06:26.563Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ae/59/6536c7fa87be13236b4184fc395f14d18f622a5b8ef7448a6bfdf5f24ec0/coverage-7.17.0-cp315-cp315t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:194562ab1eff0d85aee8a17ce4c5c0bc1ebf70a629a7145257123156ad100fd6", size 
= 226876, upload-time = "2026-10-22T16:06:27.921Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b0/bc/4ffae6038f78382c9ab6a4969cb5fc01d50b083d119851085807629abe88/coverage-7.17.0-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:85682ca89bc4601125dcdff23fa70e6274e13c9ad502fba845e6c274ab2c6569", size 
= 267241, upload-time = "2026-10-22T16:06:29.356Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c0/60/cae4b708b4217d33ebf66b9c57f8910a257346b3eaf054a78d73605ddc4c/coverage-7.17.0-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:0d0fac604a962ff546beb038cba9a5a09d88e6e3f01612fb46f7bd4fe5dc8dca", size 
= 270079, upload-time = "2026-10-22T16:06:30.736Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a9/84/1225ab04e55a6a2e483e903a5eb0f8f081cb5325df833594534aa288d91c/coverage-7.17.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:72edd4f9483ae30cd1ba4f230687840ef7b58a16afb1c9e81131fd6d64655f36", size 
= 272775, upload-time = "2026-10-22T16:06:32.247Z" },
-    { url = 
"https://files.pythonhosted.org/packages/94/ad/567f8dd9246a553aa8753732c41f0e0654e98e9a617d6282e64eae0e6aa8/coverage-7.17.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:91e487ad07c511da77b574820141a7c2da09bc2a4b4090b5be2424295d100697", size 
= 274110, upload-time = "2026-10-22T16:06:33.859Z" },
-    { url = 
"https://files.pythonhosted.org/packages/66/5f/e0ee76895df40601e4aedffb6b8e71ea48e276a629fb4488b92cffffca14/coverage-7.17.0-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:1cabb31531002fef5197de5df3c84730aef01e750e25154b9813a2583435aba2", size 
= 267775, upload-time = "2026-10-22T16:06:35.193Z" },
-    { url = 
"https://files.pythonhosted.org/packages/19/6d/d19c6e45e940e5b9ba697b7be9a8e63cef73d90bdea45b670a59df466717/coverage-7.17.0-cp315-cp315t-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:c9ac886242bbd50fb35a2242ba79555a99891e657da33f98b7ca968e3488a350", size 
= 270268, upload-time = "2026-10-22T16:06:36.597Z" },
-    { url = 
"https://files.pythonhosted.org/packages/27/a3/b2731bb7aef2db800b330603675c3fa58a6497a05d5b5f8625f3b6285f68/coverage-7.17.0-cp315-cp315t-musllinux_1_2_i686.whl";,
 hash = 
"sha256:d45cdc495671fc99268ff3653e0da4244972e9fc0e1fc3ea9de18781ad28963a", size 
= 267298, upload-time = "2026-10-22T16:06:37.973Z" },
-    { url = 
"https://files.pythonhosted.org/packages/50/75/d0c90a81b6b6607933109914dc8b0ef0a5f4cacf9482ca868ae773ee5d0b/coverage-7.17.0-cp315-cp315t-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:12961f738d717a046d4bf3f8d1727eb3ebe2ed5478ff96cd6233d4dfc39323d3", size 
= 271899, upload-time = "2026-10-22T16:06:39.389Z" },
-    { url = 
"https://files.pythonhosted.org/packages/64/1e/f038f3a2614e9ef839a40a184713aca40b8ed79e626ab5cdc388771045df/coverage-7.17.0-cp315-cp315t-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:1ee0a982b0e1230b3edf768a7dd022bd2377303763895327ac62deb5efacee03", size 
= 267380, upload-time = "2026-10-22T16:06:40.97Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c9/30/8d636e639b2d8b1934128573402a7caf66c8cfbc794fa02061d84f115c34/coverage-7.17.0-cp315-cp315t-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:460679f53893081edb94eeed011d26be37228ba649b853fd2aed7e4394fb1f35", size 
= 268993, upload-time = "2026-10-22T16:06:42.361Z" },
-    { url = 
"https://files.pythonhosted.org/packages/73/7a/219f6b391cb0636242d06c390a8add5af91afa3e92afd0380dbedd34f487/coverage-7.17.0-cp315-cp315t-win32.whl";,
 hash = 
"sha256:600e121e412cd6bdb52ec105b95c6a04da0c9710d1534f6e64a42db667907802", size 
= 228216, upload-time = "2026-10-22T16:06:43.714Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f0/3f/514d294319c5eac11494394545de209079f33993e14526c220eab29b2a96/coverage-7.17.0-cp315-cp315t-win_amd64.whl";,
 hash = 
"sha256:c3e11b81faafb1f063248735c3e2c5c4183fc1db2c7f46782170dd7760dffcbc", size 
= 229146, upload-time = "2026-10-22T16:06:45.262Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f6/82/c0d8bb0a67df838fc7bc6f4060ffc404fd1154fd18e624d83e6abc41aeef/coverage-7.17.0-cp315-cp315t-win_arm64.whl";,
 hash = 
"sha256:d472ee1c64868a917a47f02ffb4ac8c22b477f7589d57a3eb0c58b1ad4f0137c", size 
= 228716, upload-time = "2026-10-22T16:06:47.097Z" },
-    { url = 
"https://files.pythonhosted.org/packages/c9/17/48032919343afa2906112d458aceda2043afdb24a2ee8eb4c60904d8ddf1/coverage-7.17.0-py3-none-any.whl";,
 hash = 
"sha256:bac487dce0d2aff28ddf1a533a916f771416eee0e493960f611e49037b878e9d", size 
= 217383, upload-time = "2026-10-22T16:06:48.471Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5e/9d/e3db9071ebeda48e47e5be0fd0404219954e7888f64e7c37df324a79dc3a/coverage-7.17.2-cp311-cp311-macosx_10_9_x86_64.whl";,
 hash = 
"sha256:a3f49ac9c9e5fd4b450677eb44f4b14ea9ab71950b2896888c9f6a22d5cd1773", size 
= 227732, upload-time = "2026-11-04T19:49:22.217Z" },
+    { url = 
"https://files.pythonhosted.org/packages/49/a1/260786d936940102052a51cb166f80f4a98e67fb6142aa050f1af48a2385/coverage-7.17.2-cp311-cp311-macosx_11_0_arm64.whl";,
 hash = 
"sha256:3d3d9d79a2b6cdcdde5a1ab1ae89953faea5cb28c0eea17a413ad997bb3cc8a1", size 
= 228154, upload-time = "2026-11-04T19:49:25.066Z" },
+    { url = 
"https://files.pythonhosted.org/packages/be/80/f5176b7f6aa9e05e37e1bb5eae473c5d015485c36206934f53b2b2795076/coverage-7.17.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:5b71aeaa4440cbece5498acda30838685793d3bb960aff87ec97fbb546715a5f", size 
= 260181, upload-time = "2026-11-04T19:49:26.523Z" },
+    { url = 
"https://files.pythonhosted.org/packages/03/9f/4669ca11ce1932cc18fce766ead327ceb41a92055608c179b137067e2805/coverage-7.17.2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:01303d9e68b6e6bdc5459b54e3bd0e3539c94c25b50ac7362b7cbcacbc815fbc", size 
= 262404, upload-time = "2026-11-04T19:49:28.113Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ae/99/efefaa02a4b2876ffa4a389c81a8074c888442b12c64046b448718fa5590/coverage-7.17.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:1947bd9d82e405c892c50b0d8dc0c1dea5df2a962129ca238c500a6bcf887509", size 
= 264497, upload-time = "2026-11-04T19:49:29.773Z" },
+    { url = 
"https://files.pythonhosted.org/packages/19/2f/a565096e5dcf8c511332d397d712b056f06091ab3efc10adb5a4d22b0cc2/coverage-7.17.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:2cd1a7472a972fed01c89589b1560846e32e942f8329a515c4059d4521c6579a", size 
= 266507, upload-time = "2026-11-04T19:49:31.507Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ab/09/87f9b02f97179f2c76fa5724e0ce00b9db2bbe16b7e21d89c8fc1f3a77d9/coverage-7.17.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:2b7fe217808239437b8509b869fde2e0cac48776a68c626bd6b15411b087e3de", size 
= 260297, upload-time = "2026-11-04T19:49:33.002Z" },
+    { url = 
"https://files.pythonhosted.org/packages/db/12/70733b58d508bc80dc983408b06f1fd0c59fde0eb1379dd9473b3e290856/coverage-7.17.2-cp311-cp311-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:565f1f1a9632d82678525d668a10fe070a285603a9d3581505b0e1a66624ad50", size 
= 262196, upload-time = "2026-11-04T19:49:34.412Z" },
+    { url = 
"https://files.pythonhosted.org/packages/33/de/0495b108a3091f2389800455b615939867a3ac19f24f0fc186f4d066b4f3/coverage-7.17.2-cp311-cp311-musllinux_1_2_i686.whl";,
 hash = 
"sha256:189cdffb3ebc53d6133de67952dac7cc88d1fcaff5480623fb00ef0bf1cef918", size 
= 260212, upload-time = "2026-11-04T19:49:38.462Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0f/ff/39cda949e0e9bbc16620d8b843fd78929a46edda2566e54b9597bda61625/coverage-7.17.2-cp311-cp311-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:f25209696631752468a25e5954fe119503468b3b29b6fa2c621ae766153c6f50", size 
= 264136, upload-time = "2026-11-04T19:49:40.266Z" },
+    { url = 
"https://files.pythonhosted.org/packages/85/e5/0eb1bbfc80e1a03318d81fc044dc1c4fc075921f7f618298d42837dafa66/coverage-7.17.2-cp311-cp311-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:20faaaf3a49601afbcd6d46c17a594b0ae62631498def44e5eed94789962ea18", size 
= 259738, upload-time = "2026-11-04T19:49:41.79Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a7/18/098ea8ee450922eec7ab48a35b4a7fd6a49c4a97416d1e4cf66092c24dc4/coverage-7.17.2-cp311-cp311-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:7c123b6bbc183a14372036769f033098026aa75fc8fba37d028b0b772356e90b", size 
= 260937, upload-time = "2026-11-04T19:49:43.467Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8e/1c/a6ee041c4bc8b6ec7bc9f417daf89e3ee702182a48d573267ccaaed17c64/coverage-7.17.2-cp311-cp311-win32.whl";,
 hash = 
"sha256:1c3146ef9d14c011517422489784a7ac344477e9cdacb05d9529e912721cd5d8", size 
= 229599, upload-time = "2026-11-04T19:49:45.014Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5a/df/7f077fb2e71b1d73fe8285be7c6ba43dc085f9eaa2384d4e8e55560073a3/coverage-7.17.2-cp311-cp311-win_amd64.whl";,
 hash = 
"sha256:51c6a60e63ea993113ea5cd24a401cc2faddc54aa7acfddaffa5d3b8c0161b9d", size 
= 230202, upload-time = "2026-11-04T19:49:46.548Z" },
+    { url = 
"https://files.pythonhosted.org/packages/90/56/89dcd5907d0cc04b07746e62e1cb896c0f694e5af40aa0c980458825c6c5/coverage-7.17.2-cp311-cp311-win_arm64.whl";,
 hash = 
"sha256:b08ee3ef53e80e5a50c68b3d9764363e373acba540e1b58daee0a9a7f23fdfb2", size 
= 230110, upload-time = "2026-11-04T19:49:48.005Z" },
+    { url = 
"https://files.pythonhosted.org/packages/22/6a/a51808ac625c457326fb37b174d35e1badb1324c6def5d9668089c4b14ef/coverage-7.17.2-cp312-cp312-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:289a24443352713745f79c1b6aae4e99ced2f5ff3e86bb630c33c631d50f217c", size 
= 227838, upload-time = "2026-11-04T19:49:49.546Z" },
+    { url = 
"https://files.pythonhosted.org/packages/31/24/f32ec1a5ef947294252e77c5d40ac0903ba1de4c92638edfcca8629c067f/coverage-7.17.2-cp312-cp312-macosx_11_0_arm64.whl";,
 hash = 
"sha256:da4b0aef427eb96e422b444e5c2c3d38768fedb9141346294c38717a8b15b416", size 
= 228060, upload-time = "2026-11-04T19:49:51.221Z" },
+    { url = 
"https://files.pythonhosted.org/packages/01/8e/3097367327c69e65521b9d9bf8b9d2ddecefa8c21bd08e17bc068bd3db93/coverage-7.17.2-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:90c6c5f93606b8803bd7f8a0b2ae05df7e35da4504a1c53cfe9294a1731e1f49", size 
= 260359, upload-time = "2026-11-04T19:49:52.756Z" },
+    { url = 
"https://files.pythonhosted.org/packages/73/65/774fc4ec86807b6ee66b46465bc49b34bb6d291e9bff6ddfa9708ccb4053/coverage-7.17.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:36314997533266bde3d07765289674304d61bfe49165bb1b4fa9be12cb4ba0d1", size 
= 263687, upload-time = "2026-11-04T19:49:54.351Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d8/72/17b5df5d8211e1880169b93197ba98b21b30ccf8f116284536113b7582c5/coverage-7.17.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:1682d98ded28524bc6853cc4e7c65175b3e917f38b2e2ddebb28cafd8ab4de74", size 
= 264220, upload-time = "2026-11-04T19:49:56.172Z" },
+    { url = 
"https://files.pythonhosted.org/packages/de/0c/603ba7fff1aa4c8064fdf4a1fff6d9fb51c72a5828429dfe858be48e38b3/coverage-7.17.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:8eab0a5cff8dbc563d1416a6e079ba3c146712e47167c022a5df5ea01bd76df9", size 
= 266498, upload-time = "2026-11-04T19:49:57.718Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f4/ca/f2ae6e47e18b35a0dbddb9d8f51be34a6d66b41120f2e0f7363ccc0812f4/coverage-7.17.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:635337a96895f2ffcfe2aa7554468a988f468fb67a8007c1a65e95148c1855a9", size 
= 260591, upload-time = "2026-11-04T19:49:59.159Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b2/4b/b09540a46395a6a1052ad114bf366e383c64e223374f4911a85620667930/coverage-7.17.2-cp312-cp312-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:79cd2d9742419b6d1aaeb1f3fb77a8e6a01c09ebe5bd1b27011752410a5e3781", size 
= 262107, upload-time = "2026-11-04T19:50:00.607Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ec/c4/42783cb43481fafafffbc7be7fe6026258ffd30a575707733109c9ef0679/coverage-7.17.2-cp312-cp312-musllinux_1_2_i686.whl";,
 hash = 
"sha256:b0209fff1ca92f1e2e344d54b5b3def74efbdb46ba807cd81976a5e9e569cac3", size 
= 260271, upload-time = "2026-11-04T19:50:02.06Z" },
+    { url = 
"https://files.pythonhosted.org/packages/37/07/192ee81dd1ec4da58ae0f03fdd0045d2b821007e4194f7704d6e495733f0/coverage-7.17.2-cp312-cp312-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:7a3984fb8c2407721f9bc05573fc9a770752efc756d55068ccbde1fe53e42233", size 
= 264320, upload-time = "2026-11-04T19:50:03.613Z" },
+    { url = 
"https://files.pythonhosted.org/packages/dd/94/8d983310d98299a19ba23efbb324492f4bf8d8668d610eacd304e451f138/coverage-7.17.2-cp312-cp312-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:698ca1575135215be25ac9c5d14f0b5455135d29602b7ee81e511d64a0435c85", size 
= 259774, upload-time = "2026-11-04T19:50:05.363Z" },
+    { url = 
"https://files.pythonhosted.org/packages/1a/85/6c923d71c76566c6c65a2af104d39d69d44ae708a700de017e6c56fedfc6/coverage-7.17.2-cp312-cp312-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:686b6f8f9e57afc3a44096b17ee8de7e11e0a12f2da819e25047af1eb3b0fc6f", size 
= 262258, upload-time = "2026-11-04T19:50:06.807Z" },
+    { url = 
"https://files.pythonhosted.org/packages/54/f9/fd3c37b09891bfdfece486a6145345bf2b32332045a678afd293a7f2f05d/coverage-7.17.2-cp312-cp312-win32.whl";,
 hash = 
"sha256:ee083412170118074bcc74361fcbc7104eb6d0b7c9c75eb3b84a4c324410c531", size 
= 229659, upload-time = "2026-11-04T19:50:08.184Z" },
+    { url = 
"https://files.pythonhosted.org/packages/dc/b8/4d395163c9bfae0e991abbd14dea9c9bbb4ade904e5f297cbfb7b8150216/coverage-7.17.2-cp312-cp312-win_amd64.whl";,
 hash = 
"sha256:e269dddf5ebac20dfcc5a2a459528a9d221ab828cb31dfdf19c7cfacdbcee673", size 
= 230240, upload-time = "2026-11-04T19:50:09.715Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a3/02/1024b8d4f60a9ecc0ee41a6000425caa63855d63e51da84c93c0b1dff894/coverage-7.17.2-cp312-cp312-win_arm64.whl";,
 hash = 
"sha256:bac3c79c31f45274117ed64c65efeaed85665668aeba7d809c7c38801ada6ed4", size 
= 230043, upload-time = "2026-11-04T19:50:11.187Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e0/32/d750d7b10b0a9436349b3fb78491c5bb8f9b524f01ae6994d935d77d6ab8/coverage-7.17.2-cp313-cp313-android_24_arm64_v8a.whl";,
 hash = 
"sha256:882cade9b6dc43b2bc819bb444c0a13e4ed1f669a50e0de74adeec54fce486f3", size 
= 228978, upload-time = "2026-11-04T19:50:12.782Z" },
+    { url = 
"https://files.pythonhosted.org/packages/63/33/468f8c63aff5deef81bfb8e44771f68ebba328c0aa46c8a6ff27dedd0fda/coverage-7.17.2-cp313-cp313-android_24_x86_64.whl";,
 hash = 
"sha256:f5a875e92f10c6463027d8151459f2d92b4c13527402ed1301eaddabd79d8cf5", size 
= 229048, upload-time = "2026-11-04T19:50:14.255Z" },
+    { url = 
"https://files.pythonhosted.org/packages/10/91/c8723e48c1497a3c56a3194973a416a6f0fb24560425685f960888e03b20/coverage-7.17.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:e8da5e158d13556457f69245deacf6d8401a2c9c31afaddd18bea691e849b5fd", size 
= 227293, upload-time = "2026-11-04T19:50:15.857Z" },
+    { url = 
"https://files.pythonhosted.org/packages/61/4f/2f57b3dc6ef31e12a99e6dcb820c4ab04d973ea1466f73c856bf920a740c/coverage-7.17.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:42133a2647982db7968db138c0f4a57f5836101d8d504600a87ef8ebfa22a4cf", size 
= 227599, upload-time = "2026-11-04T19:50:17.418Z" },
+    { url = 
"https://files.pythonhosted.org/packages/9c/fa/967e829238dda21c4bce17aef2f739187678c8e6e6fc880a8454945a7433/coverage-7.17.2-cp313-cp313-macosx_10_13_x86_64.whl";,
 hash = 
"sha256:e6c89d63d43738712ce1febddb7758ffeb56de08f1b2be68aeb9a9c7fee712c7", size 
= 227727, upload-time = "2026-11-04T19:50:18.924Z" },
+    { url = 
"https://files.pythonhosted.org/packages/9d/df/803ba08e8937759dc3f18b93ece82f81b2fb446e3846e4d60a06a4e77647/coverage-7.17.2-cp313-cp313-macosx_11_0_arm64.whl";,
 hash = 
"sha256:f94d465ee00ebe694ca866d66bbe45fa04618b1afcb377de934694f624fa7cf6", size 
= 227987, upload-time = "2026-11-04T19:50:20.867Z" },
+    { url = 
"https://files.pythonhosted.org/packages/4a/12/92dcd9206e7bb817af42b8663cfeefdbb2c5a6c92cc7069d43e6892bbdeb/coverage-7.17.2-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:7ce0acb27a823e8e5169282f538f0e182854cc8b472b88d45456f09b6fe364fd", size 
= 259154, upload-time = "2026-11-04T19:50:22.328Z" },
+    { url = 
"https://files.pythonhosted.org/packages/48/2d/6b028df8050caef4ce0df177686c92dba16ab7cf004040e5518f95b57021/coverage-7.17.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:70daa8e4b49541b51c0baeba0d802b0d14d3214daeebc071b3db0b0c7dc84646", size 
= 262065, upload-time = "2026-11-04T19:50:23.745Z" },
+    { url = 
"https://files.pythonhosted.org/packages/62/c3/429b500937ac446e36fcce517d040b0b8bd04a4bfa087bdf864175553fea/coverage-7.17.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:95bd8dc5b356f78f10a967ec50f8902d56f24c623753ac9fce0aba9d6213d5c5", size 
= 262997, upload-time = "2026-11-04T19:50:25.223Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c1/91/263224a77de3ab1ee42d110b09f1ac9a02638794d3e002a859822638256a/coverage-7.17.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:a5565a9dd715a5a94ffcf9a0ad4b6b1501b5441fd67d660e78742adff5d37a0a", size 
= 265062, upload-time = "2026-11-04T19:50:26.829Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0f/44/99b72f2961f4ba54ac14ccb016f3b212cc9a9dfda4c37e07a208efe01f9f/coverage-7.17.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:091eba4248d31b03828fc657c96d14adfaa8754f5aec7b73298b82894858db06", size 
= 259201, upload-time = "2026-11-04T19:50:28.386Z" },
+    { url = 
"https://files.pythonhosted.org/packages/be/a7/e97f63a7c345077e4e398d15e3aa5068edc28cb061f997f71fd0e32703e1/coverage-7.17.2-cp313-cp313-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:d2742952851c7f88b1484385f68c42c6388153520efb40ff09fc852c3783aa5c", size 
= 261155, upload-time = "2026-11-04T19:50:29.806Z" },
+    { url = 
"https://files.pythonhosted.org/packages/16/0c/73e470df7db83962e2cdd6c1a7ca7dc8f8632c17a6d378d6d9124ff8bc6b/coverage-7.17.2-cp313-cp313-musllinux_1_2_i686.whl";,
 hash = 
"sha256:1da1999e3c371edd669b48a1029c86dc0474cdc6ff152d58cb3f15cb3337af72", size 
= 259077, upload-time = "2026-11-04T19:50:31.437Z" },
+    { url = 
"https://files.pythonhosted.org/packages/50/43/db8bc1b92d933b0b5f57d0e3377594c4f78ea31e84e8fbc22627fd17ecf4/coverage-7.17.2-cp313-cp313-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:7804a6022fcd5e1d4de4dc676e985d6aea0119249e88c041e943f3cd07953527", size 
= 263172, upload-time = "2026-11-04T19:50:33.014Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c4/f4/3e9e5cc9ccc911f8fb9595053da1ce58b9de8941b27e2f2f7058cdfc87f1/coverage-7.17.2-cp313-cp313-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:6bdf3821fd0740b5369b9ab58b4e9d0d68a2c5c75a7ee0cd3beb624f9f15e4fa", size 
= 258926, upload-time = "2026-11-04T19:50:34.513Z" },
+    { url = 
"https://files.pythonhosted.org/packages/72/9f/0d67883bf55adf50424728937cbee54d76fa137817e6bb20f97061d01816/coverage-7.17.2-cp313-cp313-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:e09c37817768bb71fe3e70b6ce5e6ac1a0cd7398536c2f30a4460218c7b66e93", size 
= 261006, upload-time = "2026-11-04T19:50:35.956Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a8/22/71965edc14736073b55a40e521791d9233d5c3194fa6887a94f4431fbbcc/coverage-7.17.2-cp313-cp313-win32.whl";,
 hash = 
"sha256:c10f2a2748dd084e44811bb9b26979763af9003115d9bf93c1da69011944719f", size 
= 229602, upload-time = "2026-11-04T19:50:37.564Z" },
+    { url = 
"https://files.pythonhosted.org/packages/47/0d/715cb37f51f908a6f6f33fe8c6fc95ab638b17cb014b1650daae0893c160/coverage-7.17.2-cp313-cp313-win_amd64.whl";,
 hash = 
"sha256:8dc07ed34bcb206f69d5b54fd3874f7bf39ac941c9f7aec2b53b29874fcfd77a", size 
= 230329, upload-time = "2026-11-04T19:50:38.988Z" },
+    { url = 
"https://files.pythonhosted.org/packages/39/f2/a5099bdc2a530f29c818a1c7e706669451c10e5f0eb62dcff76ef3568668/coverage-7.17.2-cp313-cp313-win_arm64.whl";,
 hash = 
"sha256:bb74283661a239fdaf738ac0b07db4ed9b476c7532d3e713abf0f6a072781e60", size 
= 230055, upload-time = "2026-11-04T19:50:40.479Z" },
+    { url = 
"https://files.pythonhosted.org/packages/96/f9/30d6ff7a66e1519d79940fdee542ead9a63601de60be5cc9fe62c74bab58/coverage-7.17.2-cp314-cp314-android_24_arm64_v8a.whl";,
 hash = 
"sha256:0439f77deb5c023003533ae8909a9aa1e174c847d655327035b1e542c7c8a54e", size 
= 229094, upload-time = "2026-11-04T19:50:42.193Z" },
+    { url = 
"https://files.pythonhosted.org/packages/1a/db/82c722c37dce98fe1abc953768903752bdd415dfe8cfeb7b744a7236a735/coverage-7.17.2-cp314-cp314-android_24_x86_64.whl";,
 hash = 
"sha256:e86a66f96d80c770daeed78394c1d4f6e8d03e5a3e08c5dab5275d56414f296a", size 
= 229213, upload-time = "2026-11-04T19:50:43.779Z" },
+    { url = 
"https://files.pythonhosted.org/packages/7d/07/71b68d870975776cb185f11cd80e053b01739f3646488fe8b9721744f56a/coverage-7.17.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:87b30f3daa0bedda6b770b303410a6def007844772aaa143dc52675b3d95cd8a", size 
= 227374, upload-time = "2026-11-04T19:50:45.258Z" },
+    { url = 
"https://files.pythonhosted.org/packages/aa/23/ed60f79576175e108c77df2bdc116f46e367aab108542ddeecaab752f0f6/coverage-7.17.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:3f219efbc3ec71c377e278dee201633e1d4ad0d2d9bdaddfd9489b2869d584c4", size 
= 227676, upload-time = "2026-11-04T19:50:47.095Z" },
+    { url = 
"https://files.pythonhosted.org/packages/10/7e/60a51850d3ff659b82cc211bc98fa126aab2ac9b81bd4ed6abc3e3720a09/coverage-7.17.2-cp314-cp314-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:36248fb6c03341501169539bcab35eb3a59159100be1246fad3c14cb73c17685", size 
= 227915, upload-time = "2026-11-04T19:50:48.581Z" },
+    { url = 
"https://files.pythonhosted.org/packages/77/80/a9539c15076fb9b95d8cbdb7f0caec90857d80bddca3eeca439f5e2e64e2/coverage-7.17.2-cp314-cp314-macosx_11_0_arm64.whl";,
 hash = 
"sha256:2a6281011cf85699763bf88ab55e0774f6696f87b390f39152b14ecefadccb59", size 
= 228072, upload-time = "2026-11-04T19:50:50.073Z" },
+    { url = 
"https://files.pythonhosted.org/packages/7f/3b/0a84b6032511834105fd4f8a8b4e76927783cea03dc4796032d5c4bfec8b/coverage-7.17.2-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:3dfefb1ec16ca1a01e5da40ba162e268ced8bd3624b9eba4e9384ebfa14af7ec", size 
= 259991, upload-time = "2026-11-04T19:50:51.665Z" },
+    { url = 
"https://files.pythonhosted.org/packages/2e/e4/a3e6b8bcc219b00ea91e36f071c2659b253e5d6e1b258c31eb4524231718/coverage-7.17.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:34e5c7a2da36804c6e6f10b368eae01ad56f5a4ac5ecce7297300a3d46fdef2a", size 
= 262995, upload-time = "2026-11-04T19:50:53.236Z" },
+    { url = 
"https://files.pythonhosted.org/packages/05/54/a666b65c5bb145d8796b7902ff1c0f60600a6c2a08949e20f2fb7af15de3/coverage-7.17.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:e6bf531deaebf8f69ba6015bba3fb817cab6694dfb69ac2a708889dc59a3926e", size 
= 263980, upload-time = "2026-11-04T19:50:55.366Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a6/73/ac9d06da9e0c143b874a68b17d8dfeedc45acdf1bdcee5b22a42bece098e/coverage-7.17.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:88d4dc83b6ad09a2134cad9d8ec780b274b17ac7dfba8c2c6e92e3bc468fe85d", size 
= 266457, upload-time = "2026-11-04T19:50:57.04Z" },
+    { url = 
"https://files.pythonhosted.org/packages/87/b1/8a500e16cf787383b00b5a86eb50a490b4d8ebde505f92e1aaca515afc0a/coverage-7.17.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:8dc17707fd463b4dfab53792e41d50a23316ac6b98539007aa2388a1d44a8535", size 
= 259768, upload-time = "2026-11-04T19:50:58.508Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f7/be/642762c5973b89e2b8bf66c95778bdd80e96ceea442ae8fa753732597b73/coverage-7.17.2-cp314-cp314-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:df0a34d445eea64f3766e9ca2ff57bcde600a89c7c0330434a7a37e8d6e2549f", size 
= 261831, upload-time = "2026-11-04T19:51:00.25Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e4/b1/f7d6c0ef0a4aecf3f91f19df4ab3fa131fec8c89f554187511716584c9f5/coverage-7.17.2-cp314-cp314-musllinux_1_2_i686.whl";,
 hash = 
"sha256:c5a98aff9eb681312ed403ecb7beb5f15fd25d6e0acc2554b9ca4b4d6f0b6705", size 
= 259871, upload-time = "2026-11-04T19:51:01.776Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c7/c0/3ae087d52cfa5119ad9ecbd193c40089924d1101cef7333f15a86dccb444/coverage-7.17.2-cp314-cp314-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:7565c17092f2f4021abbe3f5007300c224f362364a388f5ddad9216dab44b611", size 
= 264169, upload-time = "2026-11-04T19:51:03.365Z" },
+    { url = 
"https://files.pythonhosted.org/packages/c5/95/d324108991f892cb361ef8b2f91bd4cda9c2563e0954247409e9e6b911ab/coverage-7.17.2-cp314-cp314-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:555257578e20a46020c27b2af4ef99059cd906aa9b8e163baf9da9a5afb65a64", size 
= 259502, upload-time = "2026-11-04T19:51:04.91Z" },
+    { url = 
"https://files.pythonhosted.org/packages/14/b5/13a62eac66cecbaaa098bb753a3693b44454a4d21d53db4f1a0953f35f0b/coverage-7.17.2-cp314-cp314-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:460ba2139866e758c3a8e9d9422fdc889942bcbc5ccaf710dc4fbd8707d14aa8", size 
= 261613, upload-time = "2026-11-04T19:51:06.414Z" },
+    { url = 
"https://files.pythonhosted.org/packages/53/13/9ea31cfa72434449b9a98666760169d1e0ab31b3f6cdb12e68149106668e/coverage-7.17.2-cp314-cp314-win32.whl";,
 hash = 
"sha256:e72cf9556f799c3fce7597c1bd7dbfc9104befbd08088deb3b9ae9fd98117c02", size 
= 229842, upload-time = "2026-11-04T19:51:08.61Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f6/cc/aa8f34b014979c973740f5a5ed6861ecfc6009082c70e72030ca1519e0f8/coverage-7.17.2-cp314-cp314-win_amd64.whl";,
 hash = 
"sha256:205f9e329d9d5e47c320f8712326a01620689edae50531cc8934511e2c5e8f7e", size 
= 230474, upload-time = "2026-11-04T19:51:10.167Z" },
+    { url = 
"https://files.pythonhosted.org/packages/49/64/16afaa19b3886dc157c3c5ebace5241b84b96a005cb28545584e66b80895/coverage-7.17.2-cp314-cp314-win_arm64.whl";,
 hash = 
"sha256:a5909dd087006c70c128297312ba67d877123e871100645d9bd73ae021a4d01d", size 
= 230325, upload-time = "2026-11-04T19:51:11.63Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e8/95/acc865e1411c8ebc5c5d230367f3bfed5c605ed54bb41b84fc58f4e7f137/coverage-7.17.2-cp314-cp314t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:674bcd023a3743666d4d7a15238e57a00c968553780a36c80d3779fc410b912c", size 
= 228384, upload-time = "2026-11-04T19:51:13.729Z" },
+    { url = 
"https://files.pythonhosted.org/packages/10/98/02c37c6a928ccfc84b7a43eda44d96d3b1ccbc93989c178754b7e67e7650/coverage-7.17.2-cp314-cp314t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:ba45dc072bfbf1798e68ec81379b73473fc912174bff9f91924d77711a1d2b30", size 
= 228758, upload-time = "2026-11-04T19:51:15.394Z" },
+    { url = 
"https://files.pythonhosted.org/packages/28/ab/d503b0aaebb92b171260469463915af5e16a64457b289d4cb844e8c366ac/coverage-7.17.2-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:0d8a5dc709da9b90ad5cc859a9b88c9b801e65ca2fbf7cbdbed5b9cbf457fcc9", size 
= 268749, upload-time = "2026-11-04T19:51:17.179Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f6/e5/6d6ba15bde22fcccd07e14305be14291d041f732771a73f787297445d3e7/coverage-7.17.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:248873a144c067f981742ff4bbfb48b57e281a8cb7a3821d4e293bdb50b47970", size 
= 271301, upload-time = "2026-11-04T19:51:18.893Z" },
+    { url = 
"https://files.pythonhosted.org/packages/63/e7/bd6dcec5b8130f5bd8679087a2bc3a50a53c4ee78d5ec449610020088ff3/coverage-7.17.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:d0332e2b27fc5cc761d6b8a33118b958e6a46be7f00fd30e03a5cf103350c0b3", size 
= 273924, upload-time = "2026-11-04T19:51:20.605Z" },
+    { url = 
"https://files.pythonhosted.org/packages/55/c1/b3f06aa1f1c51f4295fdfa6500eb7409aaa6273cf5f27bafc25217f3547d/coverage-7.17.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:27fc4384a1154f7df30d304ccddc05ef457368c065670ecbd392606279b3329a", size 
= 275412, upload-time = "2026-11-04T19:51:22.09Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a7/f0/b68ab3654af3541488b26856e3043c13c782d8e6104fc8149746ecaa83f0/coverage-7.17.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:603140eeae3f9adc562f91b1b98d4d1fc491bd1f66c5082482c568d0b7891bb1", size 
= 268638, upload-time = "2026-11-04T19:51:23.653Z" },
+    { url = 
"https://files.pythonhosted.org/packages/fd/16/4a9d56bd4ca4572cbd20f9843813623cef1b88b15f979ec4f381704d2f84/coverage-7.17.2-cp314-cp314t-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:be0fec33b69c40f845c76f67fb4495b62a84da8c31a579dc6e18c5a63fa6a1f3", size 
= 271211, upload-time = "2026-11-04T19:51:25.678Z" },
+    { url = 
"https://files.pythonhosted.org/packages/78/d2/1c04b38bab92d2b7d62718d170b5bea43755fefee7e29cc056448c433d92/coverage-7.17.2-cp314-cp314t-musllinux_1_2_i686.whl";,
 hash = 
"sha256:960e199965e506d78f62252355397a05c8cee8072ad2d82d932745517d566539", size 
= 268638, upload-time = "2026-11-04T19:51:27.262Z" },
+    { url = 
"https://files.pythonhosted.org/packages/26/c9/2c639e9aee78b0522cb3dc245de09685e34b479bcc45d4d2a277d0de1174/coverage-7.17.2-cp314-cp314t-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:d7a363c0788435ff5324d9582d37c63f215c75f974d755cfd6cfc9fbe0e64b04", size 
= 272935, upload-time = "2026-11-04T19:51:28.96Z" },
+    { url = 
"https://files.pythonhosted.org/packages/79/1f/11bdaf03c1b12f88094b57420b4238d3974ebec6a7d674b645a54e24f90c/coverage-7.17.2-cp314-cp314t-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:afd81658f17b1a50bbc1d247a61fa435be0be471246136eb946f9cbfc437a4fa", size 
= 268057, upload-time = "2026-11-04T19:51:30.44Z" },
+    { url = 
"https://files.pythonhosted.org/packages/bb/f6/43d40d1b4d4892e54c68a241cd5b92efed4d5934109e0e5e24a94759f732/coverage-7.17.2-cp314-cp314t-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:d88fcc24470d73ed4360e910f8549718b913ba56fb8775d9ef929a647835dfea", size 
= 269986, upload-time = "2026-11-04T19:51:31.913Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8e/33/6874185b791c71684c401fc74abd71bbdb102e8ee41c8f380cf25af41d29/coverage-7.17.2-cp314-cp314t-win32.whl";,
 hash = 
"sha256:2c42c222939b8699e7bc0e453149627f211ebbbb2f74c1a04331b0cd9834e2c8", size 
= 230160, upload-time = "2026-11-04T19:51:33.304Z" },
+    { url = 
"https://files.pythonhosted.org/packages/16/e0/9057b4cf962ca6089b144f0d93a748f5e2d13876dd0f33f9d5a2c2ec49d2/coverage-7.17.2-cp314-cp314t-win_amd64.whl";,
 hash = 
"sha256:b94c509e26603ba7f8cb1bf8bb63967c7be533493be5668d8442cd06ec853d76", size 
= 231086, upload-time = "2026-11-04T19:51:35.002Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5e/4f/bd626297c942380279dff323e1d8a8937990d553119a4f887358488b1b54/coverage-7.17.2-cp314-cp314t-win_arm64.whl";,
 hash = 
"sha256:eca90e028932de597e2c50f454ad8cc631281e14d20b9f801a649ab555deb580", size 
= 230657, upload-time = "2026-11-04T19:51:36.742Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ac/92/ff8badc05ff0c4ed26ca62fb3d155e9014ff65768b76d5f399e63d9e9a79/coverage-7.17.2-cp315-cp315-android_24_arm64_v8a.whl";,
 hash = 
"sha256:cbf751ae86ef0d80e719915c087b05776c8d9300141f6c3e56f536d78a62c301", size 
= 229092, upload-time = "2026-11-04T19:51:38.222Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5a/8b/c5a5392e5a5dceb68f3b1b8cdba925c7997699f351d811cd4a41add9c29e/coverage-7.17.2-cp315-cp315-android_24_x86_64.whl";,
 hash = 
"sha256:249c4b4eaac9ced6fb85e465027ca26348111c2760108fffc356a16be4f54cd9", size 
= 229212, upload-time = "2026-11-04T19:51:39.738Z" },
+    { url = 
"https://files.pythonhosted.org/packages/7b/bc/9259a1fc49ad663861cbfb3df6a99d4c8f62a11b242a2db3358822d28b17/coverage-7.17.2-cp315-cp315-ios_13_0_arm64_iphoneos.whl";,
 hash = 
"sha256:e2fd4e664a34854cae8db58ca6132fb7b5a7efc67b14233e797194bd0d63b6b0", size 
= 227390, upload-time = "2026-11-04T19:51:41.16Z" },
+    { url = 
"https://files.pythonhosted.org/packages/20/ad/83f03da8ab846af246d4a47b651e5d90229a4c3314e31e8eecade63b378f/coverage-7.17.2-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl";,
 hash = 
"sha256:0712a43e39410aa567f2e85846490f8dd6c839820e7edef2142767c5c03162ba", size 
= 227690, upload-time = "2026-11-04T19:51:42.658Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f3/08/e110687f24245edbbe9c0986a6ccd04f1f9a6e90e329cbd4347e2b81d76e/coverage-7.17.2-cp315-cp315-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:298849ca0e385767096995cb57f72059b469f43f9927b8393f29d134f7bb1062", size 
= 227922, upload-time = "2026-11-04T19:51:44.376Z" },
+    { url = 
"https://files.pythonhosted.org/packages/93/24/7cfcd6adb4a0c18a10de12fd695edbf8cd121fdca0a6a63cea1bffc029fe/coverage-7.17.2-cp315-cp315-macosx_11_0_arm64.whl";,
 hash = 
"sha256:81a432793440edef268dbadd493393bd6f70fa4b87f76c58114f7f77f1ccfaea", size 
= 228094, upload-time = "2026-11-04T19:51:46.108Z" },
+    { url = 
"https://files.pythonhosted.org/packages/54/7a/af167a0bb6d0564209d35c8039b290327ecf7b3e34f838f9360b56d3a03c/coverage-7.17.2-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:d14872ccef35972c4ac290f2432f43d0a7bb230cae2b5ed26871ab86221e8b5f", size 
= 259940, upload-time = "2026-11-04T19:51:47.599Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f5/c6/4f3931c3ff80a6f2608209181adb00527970a4b43b64c3aa323383c37d51/coverage-7.17.2-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:3bd065e75c077d6de8cd3fe68699a8b47be3ec595af6b66e3629926839094609", size 
= 263632, upload-time = "2026-11-04T19:51:49.047Z" },
+    { url = 
"https://files.pythonhosted.org/packages/3e/71/31a4945459008952061147ea9b85853902507d865a7272a9f64be0c4a093/coverage-7.17.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:8d3626b9816f7eadd0993c3703a1d8ed124b579cebe5201b446f1c0d551fa245", size 
= 264713, upload-time = "2026-11-04T19:51:50.569Z" },
+    { url = 
"https://files.pythonhosted.org/packages/82/6b/a4eb258b0373034f8f19aeea4c1bc4c89942b5b228812ee9952f033dc611/coverage-7.17.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:c9639c2ea019c948b52067a0f74485039eb84b7a2de828ba6d178e663fb2b8bd", size 
= 267091, upload-time = "2026-11-04T19:51:52.09Z" },
+    { url = 
"https://files.pythonhosted.org/packages/02/ae/9410f2f4bbaa698ff3869c7c09e0fa10d74482a1ec8040063157612f07a0/coverage-7.17.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:19d508b0611486f8e23e28abcba77795ee865ff0e0cd936349ba692c8d0d8ca4", size 
= 260326, upload-time = "2026-11-04T19:51:53.508Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ad/ee/97549ec1bdf6ff6d17612dbcf4b2205daa74510273ac1efd1460e3db275c/coverage-7.17.2-cp315-cp315-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:cfe64d2501806a04507217852a3132a9a9076321435500bf3b11943a5c872732", size 
= 262595, upload-time = "2026-11-04T19:51:55.514Z" },
+    { url = 
"https://files.pythonhosted.org/packages/36/72/76e04605522a6dd81bbf43e1b407ca611f415c04b67e18c123ee440b1d69/coverage-7.17.2-cp315-cp315-musllinux_1_2_i686.whl";,
 hash = 
"sha256:4274acd35aae5bbbd0908792260819b9720b171ccc099a8168f7c20ef5d6ab3a", size 
= 260546, upload-time = "2026-11-04T19:51:57.068Z" },
+    { url = 
"https://files.pythonhosted.org/packages/30/8d/163e027635790ab232f3ec0261d2a26bec34c377bea2096554261444d0f5/coverage-7.17.2-cp315-cp315-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:85bccf6fe19ea3747147387971465f6a06197d6b9f6b644a97ba90ca5b09c5cd", size 
= 264877, upload-time = "2026-11-04T19:51:58.575Z" },
+    { url = 
"https://files.pythonhosted.org/packages/18/35/11dd585a06be350285d42c17aa2fccd0af18d962b6979f03dd1a258eb705/coverage-7.17.2-cp315-cp315-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:d5024913651813801fd43b65b6409b0d50f8bae95316c8f1512dfbd8ca96cb1f", size 
= 259858, upload-time = "2026-11-04T19:52:00.361Z" },
+    { url = 
"https://files.pythonhosted.org/packages/1a/ed/f1f3b4bf6081122bf1820b1f38352377a75a2d5f39bb6331598e165b64af/coverage-7.17.2-cp315-cp315-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:99b64a12fe6017c254a8027790e0eaa22eaeec201e7dfda5eaac176a6984ef27", size 
= 262401, upload-time = "2026-11-04T19:52:02.02Z" },
+    { url = 
"https://files.pythonhosted.org/packages/ab/bb/61e07a606a9f4d0f5391ac9b62b1f008a997f87860ad233f99833fd6e6bd/coverage-7.17.2-cp315-cp315-win32.whl";,
 hash = 
"sha256:74d91af590514dda16165d5d7cfa94183150c6a6a80a99f61068369ae3959455", size 
= 229840, upload-time = "2026-11-04T19:52:04.813Z" },
+    { url = 
"https://files.pythonhosted.org/packages/86/40/2d4980d3374a023a34c5ea7cd5d2b93c02c5588a324ca7faf8a0a8c7dbac/coverage-7.17.2-cp315-cp315-win_amd64.whl";,
 hash = 
"sha256:075566a44289afb634ceaafa7d8d377bb2667a5b4a90fbee2609efdcd015c66e", size 
= 230461, upload-time = "2026-11-04T19:52:06.727Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f8/c8/b307327b1256f9ed8ffc3271db041913835cfee065fbaf45105978093c08/coverage-7.17.2-cp315-cp315-win_arm64.whl";,
 hash = 
"sha256:be699e76b57fede8920a0f568eff23b270d9004414b7cf6744bdda851638be6e", size 
= 230322, upload-time = "2026-11-04T19:52:08.191Z" },
+    { url = 
"https://files.pythonhosted.org/packages/40/18/0912e37f23c101faebd7c5e544c6ba6bd750715f81f2a2c7ea66f83a2295/coverage-7.17.2-cp315-cp315t-macosx_10_15_x86_64.whl";,
 hash = 
"sha256:ffbaadf8612781358b3f949ad68dce26c5a35beaafcc48125fc231dbcce7d362", size 
= 228380, upload-time = "2026-11-04T19:52:09.892Z" },
+    { url = 
"https://files.pythonhosted.org/packages/5e/a0/c4ce9bbf82b2e9dbf2e0326004c8c37d87a275f515fc7bb22344a6162050/coverage-7.17.2-cp315-cp315t-macosx_11_0_arm64.whl";,
 hash = 
"sha256:d4004fce7b3a8ae5ef2af835670763f12723e9b9d74837697607b89a17f77312", size 
= 228776, upload-time = "2026-11-04T19:52:11.351Z" },
+    { url = 
"https://files.pythonhosted.org/packages/3f/05/9c7429c87589534755398a58fe9837fdb2870a22d99e87623fcb261e1d4e/coverage-7.17.2-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl";,
 hash = 
"sha256:a838a10afb5b60a6cc6315348b176badaf2409d821208a3e3cda1dc608129e23", size 
= 269129, upload-time = "2026-11-04T19:52:12.815Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e9/22/d1ad2ea7c8871d66f8453d33cdeec39986e6e1f2a104628e9bcb171f0209/coverage-7.17.2-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl";,
 hash = 
"sha256:0fc17882975fe485cfc95fb2f20eed937e05e0c0d8ffa5048857cda3aa838e8a", size 
= 271967, upload-time = "2026-11-04T19:52:14.685Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0d/1d/5038de4bf6549903ec3d86959c6f18aff54911616b47aa96f4d6a5660c93/coverage-7.17.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:a65faa1ee98e090a5fd7c116f6d3ab5c6a85fcc46849b8494835608715836399", size 
= 274667, upload-time = "2026-11-04T19:52:16.122Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8b/ea/68a26b4b5eb255d92de906fd66e8d720b1df15e705949ea9a9cef2cc7f8b/coverage-7.17.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl";,
 hash = 
"sha256:7c17f716c837db550a202e7732cdfaa726b8515cba88be42193616913970d223", size 
= 276001, upload-time = "2026-11-04T19:52:17.639Z" },
+    { url = 
"https://files.pythonhosted.org/packages/70/86/0f4238f09b22bc03a907346fabcabe5449626879cdedbc1edd362ab0e570/coverage-7.17.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl";,
 hash = 
"sha256:545ca42488c7f0e62324fb2621aa05737db843b75e84e65a271bbf976f496f66", size 
= 269687, upload-time = "2026-11-04T19:52:19.169Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f1/ac/1885255425900f691c543d88394d9f0dacd2f2dc78422e660c747ca9c95c/coverage-7.17.2-cp315-cp315t-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:8de787f533b13aeeea5d7139610eadb56f249cc739840b973603d1d18d0fb023", size 
= 272158, upload-time = "2026-11-04T19:52:20.714Z" },
+    { url = 
"https://files.pythonhosted.org/packages/02/d6/0111601342d91e25d13e22a55f34600aa387c55b5027b90e78d941911821/coverage-7.17.2-cp315-cp315t-musllinux_1_2_i686.whl";,
 hash = 
"sha256:485b2ed9e13b7e9209276843d7147e2f1cd1c816582655650a64c8f922093c58", size 
= 269182, upload-time = "2026-11-04T19:52:22.204Z" },
+    { url = 
"https://files.pythonhosted.org/packages/70/48/d9bdc5346a9ad09711f55b6901ee05b57305e6b2b66e6edfd50f81f0d410/coverage-7.17.2-cp315-cp315t-musllinux_1_2_ppc64le.whl";,
 hash = 
"sha256:a472e23a7514478e1c8124ea056424d681e3173975650b0a06b6181658f1009a", size 
= 273790, upload-time = "2026-11-04T19:52:23.677Z" },
+    { url = 
"https://files.pythonhosted.org/packages/98/75/3a4d8ce4aa59ed2e898364acf923b39471689d51876bb978c42e664cdb79/coverage-7.17.2-cp315-cp315t-musllinux_1_2_riscv64.whl";,
 hash = 
"sha256:0a623de5c57c5c3f3aed830c73a3a5aad91dbf76d53bc30ec161be758c8ca408", size 
= 269277, upload-time = "2026-11-04T19:52:25.19Z" },
+    { url = 
"https://files.pythonhosted.org/packages/4a/11/d15082e504e7852a25848ee0dcb59453579ec923c6d1f3010316e1fb6118/coverage-7.17.2-cp315-cp315t-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:2ad189c65706306644399e48530ad1aea1dfb311bd21d988df1ace422d09f3f8", size 
= 270890, upload-time = "2026-11-04T19:52:26.745Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f1/9d/6460101b0191afae9ed84c8d8136cc8cc09675f376ce08acb3118b8c27be/coverage-7.17.2-cp315-cp315t-win32.whl";,
 hash = 
"sha256:6fd6f218e39a621a30dbaf9543831fa10fe713afc8a44b52fc42cfe277412609", size 
= 230148, upload-time = "2026-11-04T19:52:28.164Z" },
+    { url = 
"https://files.pythonhosted.org/packages/9a/f2/3462d9616445a8cb36ec2e027d1c0ae82f6f90f224d9851ba0b22b7425d6/coverage-7.17.2-cp315-cp315t-win_amd64.whl";,
 hash = 
"sha256:ef07aae0a666ef5edcab5bc1bb590468c6f4120a8cdad50a010d042a59ab6e77", size 
= 231074, upload-time = "2026-11-04T19:52:29.714Z" },
+    { url = 
"https://files.pythonhosted.org/packages/4c/06/abeca0cf853e77aba9464d4ada4603c8b6e744b667c13e1d4eefecc487af/coverage-7.17.2-cp315-cp315t-win_arm64.whl";,
 hash = 
"sha256:c68f64d96857749a215657c172f7144ed026063489686b901774f271997923c2", size 
= 230648, upload-time = "2026-11-04T19:52:31.267Z" },
+    { url = 
"https://files.pythonhosted.org/packages/da/91/1805cc144497d76a436f66a21fa57492bee7ed1257826fb992f03b9b2b6f/coverage-7.17.2-py3-none-any.whl";,
 hash = 
"sha256:e674027ceb6bfd959f1bb035000fd20fa8b717dc6765adaaf8bca347822c8c7d", size 
= 219280, upload-time = "2026-11-04T19:52:32.726Z" },
 ]
 
 [[package]]
@@ -416,11 +416,11 @@
 
 [[package]]
 name = "mypy-extensions"
-version = "1.1.0"
+version = "1.2.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" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/d0/6f/43edf3be2748d0e40974a5ee046a8bb4c9961a4bdd3e7d5c6dcbf32d1af6/mypy_extensions-1.2.0.tar.gz";,
 hash = 
"sha256:c6e275a07f1c2fc096b62940452d0eaa3f3af7de45d704787866240a7c6d5a51", size 
= 6566, upload-time = "2026-11-03T16:26:33.692Z" }
 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" },
+    { url = 
"https://files.pythonhosted.org/packages/b5/99/7b1adac7e97ce7bbda34792dc6e9b2f5cc5cffd1875883f78a818b2a2687/mypy_extensions-1.2.0-py3-none-any.whl";,
 hash = 
"sha256:993e7a20aa5671eb41a7132cf555af30062da99729601601b9a8382b11cae768", size 
= 5114, upload-time = "2026-11-03T16:26:32.731Z" },
 ]
 
 [[package]]
@@ -461,19 +461,19 @@
 
 [[package]]
 name = "prek"
-version = "0.5.9"
+version = "0.5.10"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/f2/c6/89312171d4b87b7d2419a077f84e638bee69d1b7943598c72685655f86a7/prek-0.5.9.tar.gz";,
 hash = 
"sha256:47bc660a7e959860a44afb5ff3dc167d96f04d929b405020a0f2c7683d3d00d8", size 
= 603716, upload-time = "2026-10-30T10:32:01.272Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/e2/69/2e2f3804a4c4d53c89875a92665fa1cdc96eb49a2f483752e9aa8a2350e7/prek-0.5.10.tar.gz";,
 hash = 
"sha256:bfb3c7072fc9c5c49d715c015693f4ea6ef7b051f134eac158ed7753e6f00101", size 
= 605608, upload-time = "2026-11-04T01:47:55.646Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/4c/d1/318ff67aae2307cf1db65a5eea46ed891b340efaa75d9fba3c4307247ee3/prek-0.5.9-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:007e406e38a247fa52edddb7f7381a5c19058872c7999ee0ba92a112d768a2b3", size 
= 5861967, upload-time = "2026-10-30T10:31:43.735Z" },
-    { url = 
"https://files.pythonhosted.org/packages/5d/17/cef855f5a9c40d588557bf7a703bce0420d9592fa8407d2320df9a48135a/prek-0.5.9-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:db03274472abdc033fce78ff28d6abe221eebd2388f0c6d293376b1b09df0978", size 
= 5511607, upload-time = "2026-10-30T10:31:46.06Z" },
-    { url = 
"https://files.pythonhosted.org/packages/34/b6/ef0bfb91af9c1485775087108810eb7ea28152de2e7ecb7485310f259a4d/prek-0.5.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:cc050edef6217dc0a12bd3202258b1449f24efcfa227cbf8cee7cac0a2b7f8df", size 
= 5625679, upload-time = "2026-10-30T10:31:47.884Z" },
-    { url = 
"https://files.pythonhosted.org/packages/03/01/92719c905cf39683fe3db9664f1520ed6a0ee21e899fd9862ea6f72351c8/prek-0.5.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:da36f09983a5ca9c36afbda2c8b45e567b3f597acac38de9636850cbf5778570", size 
= 6058394, upload-time = "2026-10-30T10:31:49.995Z" },
-    { url = 
"https://files.pythonhosted.org/packages/7c/de/9f538470c56f0524215d5ede21fdb092b5a5a55ee8b4ccc88a35487d57e0/prek-0.5.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:1ef04fd7b4bae3a31e1180bc87e877a3a5584063fe79320a125267afee47090d", size 
= 5942047, upload-time = "2026-10-30T10:31:52.132Z" },
-    { url = 
"https://files.pythonhosted.org/packages/27/ba/f4ed6bd2624f0889d4b557c72355e69636ac141c4b6c91b6af6999686b55/prek-0.5.9-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:db754a188464f4f3ea2101c74593ed0a5c371132c2da42daa8b94a67a9f15331", size 
= 5625016, upload-time = "2026-10-30T10:31:53.846Z" },
-    { url = 
"https://files.pythonhosted.org/packages/2e/f2/469eb2cd0e2202117104aeef5e4430c05ad3442f8a7616423e204e58214b/prek-0.5.9-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:7c4acbfded9dfdba5bac0690c92b1aaa5fbeedceb2172eff2c4f38a750a68075", size 
= 6092336, upload-time = "2026-10-30T10:31:55.634Z" },
-    { url = 
"https://files.pythonhosted.org/packages/cf/1e/2c35ff3b059b6fbb43273c3ebe996b6d9d37c1889607c5ba6b9eea66530c/prek-0.5.9-py3-none-win_amd64.whl";,
 hash = 
"sha256:b8fe1a01273203932b46318ebf304304838b6b73ff99b89531f42c86b63b86d5", size 
= 5501419, upload-time = "2026-10-30T10:31:57.93Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a3/a6/672ef3834b367ec376261fe269161851377e32597a52b447e3f1534b6f3e/prek-0.5.9-py3-none-win_arm64.whl";,
 hash = 
"sha256:a548c0744311bd5ca521ea2cd845ced65b4f0de0c0a59dc87f0e1669a1c2dede", size 
= 5444009, upload-time = "2026-10-30T10:31:59.685Z" },
+    { url = 
"https://files.pythonhosted.org/packages/08/8e/e91b61d35cb58943c06c8c28468d63ea80e47411e67ae92f656632d622aa/prek-0.5.10-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:f527aff6b0f66fe1b25d69c8b52cd3855eecd0bde6a7b092d068cf3459d61492", size 
= 5885267, upload-time = "2026-11-04T01:47:39.538Z" },
+    { url = 
"https://files.pythonhosted.org/packages/6e/2a/244c52b31bbc8aa010e8f6535d0a9801094384b8d6f92c8dd592b4107c42/prek-0.5.10-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:647cee631058495c6a16560624ca48fed8020d835cc944c6b6941a515827f0fe", size 
= 5498190, upload-time = "2026-11-04T01:47:41.696Z" },
+    { url = 
"https://files.pythonhosted.org/packages/87/40/ab72c8a0a5932df38e1d7bd739150450c2abbaa42f0e64a1c9b6ac92814d/prek-0.5.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl";,
 hash = 
"sha256:35e50990aa83d52f3a54c2a5be9cfe60649b07a02c5ec252e834d830f6903ee8", size 
= 5649497, upload-time = "2026-11-04T01:47:43.274Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a3/1d/df20b11dda0b1e5ae0c095830b04b9dedfcdc5a81994f0021c55cb3fa06b/prek-0.5.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:0b47b06f8f118b0dc4cb8663492fd64fb90408dfe20d596dea3767003d716b2f", size 
= 6078523, upload-time = "2026-11-04T01:47:45.338Z" },
+    { url = 
"https://files.pythonhosted.org/packages/70/48/5b74be17f90f9ecc9c988d250fad5ae0d855dbf567ec20e25cbfcef258ca/prek-0.5.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:b4a5667c09ae692be1ed930b9cef23258c3a648ea89aa1a737a16317ea78f718", size 
= 5916406, upload-time = "2026-11-04T01:47:47.351Z" },
+    { url = 
"https://files.pythonhosted.org/packages/11/14/58374587e973223a370bdf3cd6298936e8d43594c25458613c92ac0d86ac/prek-0.5.10-py3-none-manylinux_2_28_aarch64.whl";,
 hash = 
"sha256:6aaaff95bd6fe1bd0ceef3d76e17c798eafc740be19ab36c28fa15329d35ed16", size 
= 5587363, upload-time = "2026-11-04T01:47:48.869Z" },
+    { url = 
"https://files.pythonhosted.org/packages/a6/85/6d52a8a117cc6c2596e28e254789810a6458b47e2dd7e8fb6217af7ea205/prek-0.5.10-py3-none-musllinux_1_1_x86_64.whl";,
 hash = 
"sha256:d6dc6bde07884cf7b065bfe901416343e9ed187ab41d26fcb29e219ac1759415", size 
= 6107344, upload-time = "2026-11-04T01:47:50.519Z" },
+    { url = 
"https://files.pythonhosted.org/packages/47/be/591e35f0a3bc57d8cad3a23ec4dcbe69ceb65146ff93c00a7560cf6fd751/prek-0.5.10-py3-none-win_amd64.whl";,
 hash = 
"sha256:175ef58e5aab13e6d6a1a41409ed011dfae62bc60180b227bb7192803e980010", size 
= 5470434, upload-time = "2026-11-04T01:47:52.268Z" },
+    { url = 
"https://files.pythonhosted.org/packages/7f/af/06a905c3b341adb7838498b39157ef2079ecd11079c40d4265e6d14c70d6/prek-0.5.10-py3-none-win_arm64.whl";,
 hash = 
"sha256:e689633358ec7c0e3dd3d0d9bce55613a9f78fc31ce3b4a16cdce70bb1d1d47a", size 
= 5410984, upload-time = "2026-11-04T01:47:53.978Z" },
 ]
 
 [[package]]
@@ -543,14 +543,14 @@
 
 [[package]]
 name = "pytest-randomly"
-version = "5.0.0"
+version = "5.1.0"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "pytest" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/01/3b/6a40e1b9d925651e601e056a97f60d8a1daeddeac03d5609be60cb4362ce/pytest_randomly-5.0.0.tar.gz";,
 hash = 
"sha256:e9c575a5873ef168ddbe340ed9e97ce9edb4492ccc821e4b2ac6bb1f0ed515d2", size 
= 8542, upload-time = "2026-09-01T22:34:20.441Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/4b/59/d9f088bdf2bdafd7b5305d2be5f2e73d330756e092c448e4e534a30d9bda/pytest_randomly-5.1.0.tar.gz";,
 hash = 
"sha256:cdf8af20419969d273b97c8e7c8d688200807e815bdc733cf2a6af183080ad58", size 
= 9010, upload-time = "2026-11-08T23:48:13.168Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/10/b4/47e939285caad9a623d021512912ac08dc92a467ad075d179f43729d2934/pytest_randomly-5.0.0-py3-none-any.whl";,
 hash = 
"sha256:8a0d4703115c0c25b38b6e129fc16b1947b9643ff26a41bc1d185d7e5a7689c1", size 
= 8920, upload-time = "2026-09-01T22:34:19.227Z" },
+    { url = 
"https://files.pythonhosted.org/packages/67/ef/9979eae8db530930873d15fb16043ef6d72b5042f2636de4d85568eb3df4/pytest_randomly-5.1.0-py3-none-any.whl";,
 hash = 
"sha256:fb9004e6821422291087d0294fd62f45ff304094db11fbdff8f2fe1ed20764d8", size 
= 8969, upload-time = "2026-11-08T23:48:11.833Z" },
 ]
 
 [[package]]
@@ -567,27 +567,27 @@
 
 [[package]]
 name = "ruff"
-version = "0.17.3"
+version = "0.17.4"
 source = { registry = "https://pypi.org/simple"; }
-sdist = { url = 
"https://files.pythonhosted.org/packages/59/73/81f140c4edd9cc323de5478e6bbd3bbcfae9a82692df1a258de8cec6a6d2/ruff-0.17.3.tar.gz";,
 hash = 
"sha256:a57049c8addb3662073859bb55a7ad35aa54f8a7c9ed268911d1333c5aadaaa9", size 
= 5339444, upload-time = "2026-10-27T00:34:05.914Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/84/0e/3d154514b5bad104f7e1c13169c2d09aa9959fccdc06eb47610ccdfa83ed/ruff-0.17.4.tar.gz";,
 hash = 
"sha256:f32d178b50e826e00f6c6c1be3f56333068acb9b67fe167143527fa9b81e890d", size 
= 5357750, upload-time = "2026-11-05T18:52:17.638Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/9e/8c/083365310c4e79c842f25bf5a842facbd9b0c0ec336f96dffa5074fe723d/ruff-0.17.3-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:ab86b84cd9d05e56d329742c0cabdcbe2d1d56c98f4a04aab9b5b66196febfb4", size 
= 10216522, upload-time = "2026-10-27T00:33:29.822Z" },
-    { url = 
"https://files.pythonhosted.org/packages/72/26/4b2edf31cfebe9605d8f6ed8f1d6f376d3a53d4c9a123e62661c64c440f0/ruff-0.17.3-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:e407b4a6852853a9a2cdce96963e94ad9775578bb44e7561a0f2829f3cc04b11", size 
= 10217786, upload-time = "2026-10-27T00:33:33.949Z" },
-    { url = 
"https://files.pythonhosted.org/packages/a2/7e/537aba4b7f54397a374d2f6a6fc93e9c8015e18553f31a4a7b7dbced48b5/ruff-0.17.3-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:b75cc113b3aca388933d8296b667b1ac401a80317ea3074c9b0a66541199da29", size 
= 9440362, upload-time = "2026-10-27T00:33:35.784Z" },
-    { url = 
"https://files.pythonhosted.org/packages/3d/66/283e39734f66c8a5ebaa93c22eb7b7515779a0b1d5a5c0ad20e05c0edb41/ruff-0.17.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";,
 hash = 
"sha256:ab5fa7ed5ce18554ea69d850ad162cbaa0c85fc47c08d83a569f806681c9a6ad", size 
= 10094281, upload-time = "2026-10-27T00:33:38.216Z" },
-    { url = 
"https://files.pythonhosted.org/packages/21/4c/1ffc768497bd025a32c72152771e40c0b99bddc5cc6e4f50c7949a395346/ruff-0.17.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:c673c170e27834d1262e3a9c1e97bdc9b9c3b180c63d89173ce69747232474c1", size 
= 10022543, upload-time = "2026-10-27T00:33:40.181Z" },
-    { url = 
"https://files.pythonhosted.org/packages/73/c3/f90db547301080fcb82c92abf914c8bd57b89911d9b65a6c4cc6b52d0635/ruff-0.17.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:6a754c0341bc9ca151b7b335988b3263921c08859f84ca219b70cee825571b6f", size 
= 10683921, upload-time = "2026-10-27T00:33:42.182Z" },
-    { url = 
"https://files.pythonhosted.org/packages/e5/98/92d4a8a26c6c96cf1a5b34dd59036d8a71e52d650aab065c58867e964e63/ruff-0.17.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:4590b9d86c0b1543ebb09094254e191cd43fe8edaf330baa035aab03da251532", size 
= 11373408, upload-time = "2026-10-27T00:33:44.19Z" },
-    { url = 
"https://files.pythonhosted.org/packages/43/02/1f24d2e3064c9753926deeb901afa57777b37ee46799b09ddd7aee6e5145/ruff-0.17.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:bbde18beccd98c29a227c63c99022e3443b99258e08326df6425dfe0443705ef", size 
= 10977469, upload-time = "2026-10-27T00:33:46.179Z" },
-    { url = 
"https://files.pythonhosted.org/packages/f0/20/fecedea2209f574ab92033b344e01a7f0c2dc76c6d6d19a14c9f8141173f/ruff-0.17.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:7fa4b0f931cdbcb8a52044f370a3eb429fb42eb88807b0e800fcaa98dd42b24e", size 
= 10577491, upload-time = "2026-10-27T00:33:48.233Z" },
-    { url = 
"https://files.pythonhosted.org/packages/33/36/b93fdf0bc6f84f0cd487aadfb0354deb40013669ea35ac3d26855de1e959/ruff-0.17.3-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:39405f341deec934b4289634324ad695f72df2970f9121582872eaf5b722f0f5", size 
= 10608748, upload-time = "2026-10-27T00:33:50.284Z" },
-    { url = 
"https://files.pythonhosted.org/packages/5d/b7/7d3f5f14145daead1efb0b9a8289ed1daa100f419d60774375951723ce00/ruff-0.17.3-py3-none-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:68074094f55ca3d29ab19491f640282f7a84061c4c7977aa5094b968ca457e9a", size 
= 10075057, upload-time = "2026-10-27T00:33:52.074Z" },
-    { url = 
"https://files.pythonhosted.org/packages/b0/ed/93ff7a5909ee56e2bd4b982deae9e0efb2724417874a90c9e41ad66c6dd7/ruff-0.17.3-py3-none-musllinux_1_2_armv7l.whl";,
 hash = 
"sha256:27bb571ac78fef178fe5118d2827df95c2aae74a48fff2b15f6acd03af5ff5bb", size 
= 10022431, upload-time = "2026-10-27T00:33:54.061Z" },
-    { url = 
"https://files.pythonhosted.org/packages/9b/07/a83b9eeec8c1c3c0e4eda15f06c3a91001bfd2687ea2f07b750719bf9712/ruff-0.17.3-py3-none-musllinux_1_2_i686.whl";,
 hash = 
"sha256:029c37cbd3de48ca37aa12117bead2d065f15da17d66bf84e0d4274013705db2", size 
= 10394903, upload-time = "2026-10-27T00:33:56.158Z" },
-    { url = 
"https://files.pythonhosted.org/packages/af/b2/05c39857c2526fcbebe46ad93a8dc97424656dfef14d3ef933abe1ffd331/ruff-0.17.3-py3-none-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:692fdb46d0fd9c71e380947dc5fc72f2c3f881073bc1f739e4579376231affbe", size 
= 10799780, upload-time = "2026-10-27T00:33:58.204Z" },
-    { url = 
"https://files.pythonhosted.org/packages/ec/d9/47171a16739eb7a353936b31c20cf54340531e68c9af7d72fd7a784e235d/ruff-0.17.3-py3-none-win32.whl";,
 hash = 
"sha256:46539cb031b01fd29ae0a02142483c46640b233ee12bb1c1b690bffa1555d5ca", size 
= 9908481, upload-time = "2026-10-27T00:34:00.087Z" },
-    { url = 
"https://files.pythonhosted.org/packages/d0/a0/f08c1631bfd81faa6a90eaf70c37c786c11bed2046302b56bb506c25e1a0/ruff-0.17.3-py3-none-win_amd64.whl";,
 hash = 
"sha256:56b8ffb3f3b3cbccb8b76b71b38261b7ed982ef5d20f5b447b1b61a7f4949b24", size 
= 10341333, upload-time = "2026-10-27T00:34:02.099Z" },
-    { url = 
"https://files.pythonhosted.org/packages/99/d5/4ad4ed31413c301430918e70d3d38ae6f097af0766cb9ab8c9d502b2a4d6/ruff-0.17.3-py3-none-win_arm64.whl";,
 hash = 
"sha256:81fce74bcd6be0e9da7c67c7553fd0f1f12964a2052cd728ef917b937a5ca1d9", size 
= 9854332, upload-time = "2026-10-27T00:34:03.847Z" },
+    { url = 
"https://files.pythonhosted.org/packages/e0/61/c83c78bbb6108f6c6270a106cf12b54175f4f42da088b9bb880f18e31289/ruff-0.17.4-py3-none-linux_armv6l.whl";,
 hash = 
"sha256:2b08c4ff98dc234f4a3871a3105353b922fa875ea1073ca31001eb8c06bb4d89", size 
= 10252195, upload-time = "2026-11-05T18:51:36.594Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0a/12/dd158708378866e8b53e145a465dbc51a7cccb9fa197a74d67eaedde7234/ruff-0.17.4-py3-none-macosx_10_12_x86_64.whl";,
 hash = 
"sha256:13e781c3c5f663e7fba737eaaeb70dd943dd55171daf316afb25cd5268cfe0c7", size 
= 10266044, upload-time = "2026-11-05T18:51:39.502Z" },
+    { url = 
"https://files.pythonhosted.org/packages/28/32/89a94a8eb11fd505a381ae6f04e190d038d9958695209dc1786ce5cfcda3/ruff-0.17.4-py3-none-macosx_11_0_arm64.whl";,
 hash = 
"sha256:7ed2f416349944f908f9574215994602242b0836844eba48eec61473033afca0", size 
= 9432227, upload-time = "2026-11-05T18:51:41.968Z" },
+    { url = 
"https://files.pythonhosted.org/packages/58/de/a392dc38b215798ae72e639d228b7f6c02d826a95d1c0ad7c4c0ee49ef5b/ruff-0.17.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";,
 hash = 
"sha256:8ea6e0017c785f7282092b11e46338e4ebed1b9e575ebf2e55a8a1eda968241a", size 
= 10136900, upload-time = "2026-11-05T18:51:44.562Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b7/8f/a880f60f42005f6ffdf58f77af34c7ee327000b5607f48a2f6a69d8b242c/ruff-0.17.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl";,
 hash = 
"sha256:7e061dcc0933c7031a616ac8d66ac540309b2aa21ab558101a8f53e9ac7a1185", size 
= 10051245, upload-time = "2026-11-05T18:51:46.7Z" },
+    { url = 
"https://files.pythonhosted.org/packages/09/55/98844264108af7d5ec27ca3a9cd5a989094ca657a14599c4b69a537a0e9a/ruff-0.17.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl";,
 hash = 
"sha256:f99e95a1515161138be3cbd1b06c06e739d8feb38ade35564556999fffc3686e", size 
= 10704341, upload-time = "2026-11-05T18:51:49.228Z" },
+    { url = 
"https://files.pythonhosted.org/packages/28/a2/5edf97659c3ac7c73f978003bd314936f671037fdac6b978e9de3e4b2b65/ruff-0.17.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl";,
 hash = 
"sha256:5f28cf0dd37cb172fa5a8d2e92e6ada3a9dbd0609f094ed24039929eef0b7524", size 
= 11394465, upload-time = "2026-11-05T18:51:51.534Z" },
+    { url = 
"https://files.pythonhosted.org/packages/f2/8f/51371ae856b2bef4d15a044a574695fbc0f6ae63aafa42a2a22428070fb6/ruff-0.17.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl";,
 hash = 
"sha256:6b21c771b296888e8a35c6f48555f4b44e4483f61675d6ed51810a5203469ce6", size 
= 10988262, upload-time = "2026-11-05T18:51:53.91Z" },
+    { url = 
"https://files.pythonhosted.org/packages/af/1b/62874f14c7873f27c7887d2b1ea41de990e14ba9518801ffe8eacb5d51a6/ruff-0.17.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";,
 hash = 
"sha256:2cd025509b2e15721b426fc70fd946d71f43b3db3b08e946dfec2d696d911690", size 
= 10572829, upload-time = "2026-11-05T18:51:56.129Z" },
+    { url = 
"https://files.pythonhosted.org/packages/98/30/860b9dae67432b16b88558a9cb2d3194825fa62838f8b9cc49f5d9022095/ruff-0.17.4-py3-none-manylinux_2_31_riscv64.whl";,
 hash = 
"sha256:49b77f7b3921669466882a4881168801bdb06ec2cd83fb936049016cf5fdece1", size 
= 10617545, upload-time = "2026-11-05T18:51:58.172Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0f/08/781a4b41a1c83fd6e30fea610d6502a6f94e49cf94693fd37bdcbc6bfe11/ruff-0.17.4-py3-none-musllinux_1_2_aarch64.whl";,
 hash = 
"sha256:e3b84eb74f260d1c2dbd236fd9d4c011d4fdd0a52bdf8aea57a10e3a1b71fca5", size 
= 10111955, upload-time = "2026-11-05T18:52:00.59Z" },
+    { url = 
"https://files.pythonhosted.org/packages/3c/e9/94b1c7b677120f30839254518924f73a8157e9bcfa200edcd5796fecdb99/ruff-0.17.4-py3-none-musllinux_1_2_armv7l.whl";,
 hash = 
"sha256:20e43d7a08e712e33067ba887e6574546c79bd4831596ce8f16803ac7ff9ad90", size 
= 10058355, upload-time = "2026-11-05T18:52:03.61Z" },
+    { url = 
"https://files.pythonhosted.org/packages/27/5f/a825910b9f309336dc33cb8c0774126662c1d2f765699b3e0a1bd538d01f/ruff-0.17.4-py3-none-musllinux_1_2_i686.whl";,
 hash = 
"sha256:0d1f4848fd2ec0499be4046db9b7dfcc952666885f00233cc7033515282556a8", size 
= 10415932, upload-time = "2026-11-05T18:52:06.264Z" },
+    { url = 
"https://files.pythonhosted.org/packages/8b/b8/0796468423413ea4df1a6e2442ae26cf49b8f7dda0eecf246e0d5d0dde54/ruff-0.17.4-py3-none-musllinux_1_2_x86_64.whl";,
 hash = 
"sha256:6007e7f3a0e55b0fbdb947af69cf24c21b4928df6be8ef3e767c69b5ccccf496", size 
= 10826033, upload-time = "2026-11-05T18:52:08.675Z" },
+    { url = 
"https://files.pythonhosted.org/packages/b9/ab/d8e407669ffe5014429baf780c2df47e001968a6e4c17f615e2e7b13a9ba/ruff-0.17.4-py3-none-win32.whl";,
 hash = 
"sha256:3971a78cba76298b284c8321e6d40d93045ed348bec5c369d85099efc97fb7cf", size 
= 9931993, upload-time = "2026-11-05T18:52:11.169Z" },
+    { url = 
"https://files.pythonhosted.org/packages/bd/15/42af8a72d8946e3c9efd2bbf6641e462b6832783b0d043d63ef5b280ba7f/ruff-0.17.4-py3-none-win_amd64.whl";,
 hash = 
"sha256:67c5a894fc054cf41f75f7afa24815de5a74329d97634126c2a1015740ff4e8c", size 
= 10292922, upload-time = "2026-11-05T18:52:13.436Z" },
+    { url = 
"https://files.pythonhosted.org/packages/68/9e/f1dbffcfb8ff25dadbc21f87a8b73c3848abe4abada9d4b08ccef8bec40c/ruff-0.17.4-py3-none-win_arm64.whl";,
 hash = 
"sha256:181ae38a9a8fb94925bf7d0794327b48d7fd7f4b50cfd84c0e999cc09ef8d131", size 
= 9889396, upload-time = "2026-11-05T18:52:15.549Z" },
 ]
 
 [[package]]

Reply via email to