# The tools .github/workflows/release-macos.yml installs before it builds anything, pinned with hashes so nothing
# in the release job resolves fresh from PyPI:
#
#   python -m pip install --require-hashes --only-binary :all: -r packaging/macos/release-tools.txt
#
# uv drives the build (packaging/macos/build_app.py); packaging normalizes the tag check's versions.
# uv 0.13.0 exports this repo's uv.lock (revision 3) byte-for-byte as 0.11.3 did (checked 2026-10-10).
# Regenerate, then re-run the release dry run:
#
#   uv pip compile --no-config --generate-hashes --universal --python-version 3.11 --no-header --no-annotate \
#     <(printf 'uv==X\npackaging==Y\n') -o packaging/macos/release-tools.txt
#
packaging==26.3 \
    --hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \
    --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
uv==0.13.0 \
    --hash=sha256:0367b4e0ae4dcef32da4aa2ad2f3853b6ad81d50c187abe50d343d892b8fea21 \
    --hash=sha256:0d9886f69a2e6f9e85a7a11c37f208353aa559bdb5c91d7b69fe883c038439a1 \
    --hash=sha256:24119f4ab6cf3fcff9eca8e8e418a647c22100a510ea35ecf8bff6264f2e9ab4 \
    --hash=sha256:26b7eb7870d406c71b1a6c4da743ca89c8f9fe6f6901c854bbf9d75c2c1a71d8 \
    --hash=sha256:286d5976bffe3ed0c62601c0393adb3748f0d88aa24f38cd80ebab773f5b5f74 \
    --hash=sha256:5163a516b9a488bccb4001f727720b775719dfb6dcb144a9bc0ef23e5cfdd269 \
    --hash=sha256:52c7da0fd9056d9551124777ec77de53f0df7017daf8f98a19e947b7837416ed \
    --hash=sha256:5cb956988442f5b1ca281344818a6b9fa296a799d7024cc53ae571d464150ca2 \
    --hash=sha256:61dd3d38e4826a7666b2d29147cd77905ef71686073ac30a6c897d8ef1e3dbc1 \
    --hash=sha256:69061ee515b993c51c23e393448c1a42193dcb31d8ac4d85dffa2e33058a1780 \
    --hash=sha256:78187f23c0b51d1be824096ec8a656c417acca312f5451ba1e2ee057ec5a6e87 \
    --hash=sha256:7dd0de76fd7ebec97427c4cc42de4ea789478dfd985f28915c94c8512e489ac9 \
    --hash=sha256:93265932cb2efd1486d4d182211281b3f0b31637e2fc160c4c8d7b15294188d1 \
    --hash=sha256:95441f304ca4a3c64bd1db3a027f72c15a32e54080c956a48e06234b9b37bb43 \
    --hash=sha256:9a38bd3406b2106288a38888df785f12c5ddc6db22871aacfe0a0ee766f9f6c0 \
    --hash=sha256:a5f93ae362b751737cecef0bbc0294624be68a843ff9b32d86e6862a26101630 \
    --hash=sha256:b70b5b04985760e801d1eeea03a177eb7e0a11ec89acd8996b46a7a566010c04 \
    --hash=sha256:ec7bc3175523bf6d7c0e6acb71e16b537f82fcc4186b6347ed9120957c758beb \
    --hash=sha256:f840e640fe16591f6d71a94e8863707b7ba43c5786d1fe662868a9fb44c53e50
