aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-11-29 23:20:23 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-11-29 23:20:23 +0000
commit0dc6a09ef659d21fa4dd7d83dce76bd714fb3257 (patch)
treed0490c86e1997ee55e8664c9ac04811b9d58bc89
parentfd4042a38f6de690818ee4e2ea794996f16e44ad (diff)
textproc/typos: Add typos 1.39.2
typos finds and corrects spelling mistakes among source code: - Fast enough to run on monorepos - Low false positives so you can run on PRs
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/typos/Makefile32
-rw-r--r--textproc/typos/Makefile.crates204
-rw-r--r--textproc/typos/distinfo411
-rw-r--r--textproc/typos/pkg-descr3
-rw-r--r--textproc/typos/pkg-plist6
6 files changed, 657 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 0c8e8b247065..c82fb07bb480 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -2152,6 +2152,7 @@
SUBDIR += txt2html
SUBDIR += txt2man
SUBDIR += txt2tags
+ SUBDIR += typos
SUBDIR += typst
SUBDIR += uchardet
SUBDIR += ucto
diff --git a/textproc/typos/Makefile b/textproc/typos/Makefile
new file mode 100644
index 000000000000..04dd170866d4
--- /dev/null
+++ b/textproc/typos/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= typos
+PORTVERSION= 1.39.2
+DISTVERSIONPREFIX= v
+CATEGORIES= textproc
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Source code spell checker
+WWW= https://github.com/crate-ci/typos
+
+LICENSE= APACHE20 MIT
+LICENSE_COMB= dual
+LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
+
+USES= cargo
+
+CARGO_INSTALL_PATH= crates/typos-cli
+
+USE_GITHUB= yes
+GH_ACCOUNT= crate-ci
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_SUB= yes
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/typos
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/docs/*.md ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/textproc/typos/Makefile.crates b/textproc/typos/Makefile.crates
new file mode 100644
index 000000000000..e292ea51cf68
--- /dev/null
+++ b/textproc/typos/Makefile.crates
@@ -0,0 +1,204 @@
+CARGO_CRATES= Inflector-0.11.4 \
+ addr2line-0.24.2 \
+ adler2-2.0.1 \
+ ahash-0.8.12 \
+ aho-corasick-1.1.4 \
+ annotate-snippets-0.12.8 \
+ anstream-0.6.21 \
+ anstyle-1.0.13 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.4 \
+ anstyle-wincon-3.0.10 \
+ anyhow-1.0.100 \
+ assert_fs-1.1.3 \
+ automod-1.0.15 \
+ backtrace-0.3.74 \
+ base64-0.22.1 \
+ bitflags-2.9.4 \
+ bstr-1.12.1 \
+ cfg-if-1.0.3 \
+ clap-4.5.51 \
+ clap-cargo-0.18.3 \
+ clap-verbosity-flag-3.0.4 \
+ clap_builder-4.5.51 \
+ clap_derive-4.5.49 \
+ clap_lex-0.7.5 \
+ codegenrs-3.0.2 \
+ colorchoice-1.0.4 \
+ colorchoice-clap-1.0.7 \
+ condtype-1.3.0 \
+ content_inspector-0.2.4 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ csv-1.4.0 \
+ csv-core-0.1.12 \
+ darling-0.20.11 \
+ darling_core-0.20.11 \
+ darling_macro-0.20.11 \
+ deranged-0.4.0 \
+ derive_more-2.0.1 \
+ derive_more-impl-2.0.1 \
+ derive_setters-0.1.8 \
+ difference-2.0.0 \
+ difflib-0.4.0 \
+ divan-0.1.21 \
+ divan-macros-0.1.21 \
+ doc-comment-0.3.3 \
+ dunce-1.0.5 \
+ dyn-clone-1.0.20 \
+ edit-distance-2.2.2 \
+ either-1.15.0 \
+ encoding_rs-0.8.35 \
+ enumflags2-0.7.12 \
+ enumflags2_derive-0.7.12 \
+ env_filter-0.1.3 \
+ env_logger-0.11.8 \
+ equivalent-1.0.2 \
+ errno-0.3.14 \
+ fastrand-2.3.0 \
+ filetime-0.2.26 \
+ fnv-1.0.7 \
+ getrandom-0.3.3 \
+ gimli-0.31.1 \
+ glob-0.3.3 \
+ globset-0.4.18 \
+ globwalk-0.9.1 \
+ hashbrown-0.16.0 \
+ heck-0.5.0 \
+ human-panic-2.0.4 \
+ humantime-2.3.0 \
+ humantime-serde-1.1.1 \
+ ident_case-1.0.1 \
+ ignore-0.4.25 \
+ indexmap-2.12.0 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.14.0 \
+ itoa-1.0.15 \
+ kstring-2.0.2 \
+ lazy_static-1.5.0 \
+ libc-0.2.176 \
+ libredox-0.1.10 \
+ linux-raw-sys-0.11.0 \
+ log-0.4.28 \
+ maplit-1.0.2 \
+ memchr-2.7.6 \
+ miniz_oxide-0.8.9 \
+ normalize-line-endings-0.3.0 \
+ num-conv-0.1.0 \
+ object-0.36.7 \
+ once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ os_info-3.12.0 \
+ os_pipe-1.2.2 \
+ phf-0.13.1 \
+ phf_codegen-0.13.1 \
+ phf_generator-0.13.1 \
+ phf_macros-0.13.1 \
+ phf_shared-0.13.1 \
+ plist-1.7.4 \
+ powerfmt-0.2.0 \
+ predicates-3.1.3 \
+ predicates-core-1.0.9 \
+ predicates-tree-1.0.12 \
+ prettyplease-0.2.37 \
+ proc-exit-2.0.2 \
+ proc-macro2-1.0.101 \
+ quick-xml-0.38.3 \
+ quote-1.0.41 \
+ r-efi-5.3.0 \
+ rayon-1.11.0 \
+ rayon-core-1.13.0 \
+ redox_syscall-0.5.17 \
+ ref-cast-1.0.25 \
+ ref-cast-impl-1.0.25 \
+ regex-1.12.2 \
+ regex-automata-0.4.13 \
+ regex-lite-0.1.7 \
+ regex-syntax-0.8.6 \
+ rustc-demangle-0.1.26 \
+ rustix-1.1.2 \
+ ryu-1.0.20 \
+ same-file-1.0.6 \
+ schemafy_core-0.6.0 \
+ schemafy_lib-0.6.0 \
+ schemars-1.0.5 \
+ schemars_derive-1.0.5 \
+ semver-1.0.27 \
+ serde-1.0.228 \
+ serde-sarif-0.8.0 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
+ serde_derive_internals-0.29.1 \
+ serde_json-1.0.145 \
+ serde_regex-1.1.0 \
+ serde_spanned-1.0.3 \
+ shlex-1.3.0 \
+ simdutf8-0.1.5 \
+ similar-2.7.0 \
+ siphasher-1.0.1 \
+ snapbox-0.6.23 \
+ snapbox-macros-0.4.0 \
+ static_assertions-1.1.0 \
+ strsim-0.11.1 \
+ strum-0.27.2 \
+ strum_macros-0.27.2 \
+ supports-unicode-3.0.0 \
+ syn-1.0.109 \
+ syn-2.0.106 \
+ tempfile-3.23.0 \
+ terminal_size-0.4.3 \
+ termtree-0.5.1 \
+ thiserror-2.0.17 \
+ thiserror-impl-2.0.17 \
+ thread_local-1.1.9 \
+ time-0.3.41 \
+ time-core-0.1.4 \
+ time-macros-0.2.22 \
+ toml-0.9.8 \
+ toml_datetime-0.7.3 \
+ toml_edit-0.23.6 \
+ toml_parser-1.0.4 \
+ toml_writer-1.0.4 \
+ trycmd-0.15.10 \
+ typed-arena-2.0.2 \
+ typed-builder-0.21.2 \
+ typed-builder-macro-0.21.2 \
+ unicase-2.8.1 \
+ unicode-ident-1.0.19 \
+ unicode-width-0.2.2 \
+ unicode-xid-0.2.6 \
+ uriparse-0.6.4 \
+ utf8parse-0.2.2 \
+ uuid-1.18.1 \
+ version_check-0.9.5 \
+ wait-timeout-0.2.1 \
+ walkdir-2.5.0 \
+ wasi-0.14.4+wasi-0.2.4 \
+ winapi-util-0.1.11 \
+ windows-link-0.2.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.4 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.0 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.0 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.0 \
+ winnow-0.7.13 \
+ wit-bindgen-0.45.1 \
+ zerocopy-0.8.27 \
+ zerocopy-derive-0.8.27
diff --git a/textproc/typos/distinfo b/textproc/typos/distinfo
new file mode 100644
index 000000000000..cf7f35402ea7
--- /dev/null
+++ b/textproc/typos/distinfo
@@ -0,0 +1,411 @@
+TIMESTAMP = 1763853130
+SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
+SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
+SIZE (rust/crates/adler2-2.0.1.crate) = 13366
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
+SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301
+SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015
+SHA256 (rust/crates/annotate-snippets-0.12.8.crate) = 025c7edcdffa4ccc5c0905f472a0ae3759378cfbef88ef518a3575e19ae3aebd
+SIZE (rust/crates/annotate-snippets-0.12.8.crate) = 56707
+SHA256 (rust/crates/anstream-0.6.21.crate) = 43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a
+SIZE (rust/crates/anstream-0.6.21.crate) = 29516
+SHA256 (rust/crates/anstyle-1.0.13.crate) = 5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78
+SIZE (rust/crates/anstyle-1.0.13.crate) = 17651
+SHA256 (rust/crates/anstyle-parse-0.2.7.crate) = 4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2
+SIZE (rust/crates/anstyle-parse-0.2.7.crate) = 21707
+SHA256 (rust/crates/anstyle-query-1.1.4.crate) = 9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2
+SIZE (rust/crates/anstyle-query-1.1.4.crate) = 10192
+SHA256 (rust/crates/anstyle-wincon-3.0.10.crate) = 3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a
+SIZE (rust/crates/anstyle-wincon-3.0.10.crate) = 12558
+SHA256 (rust/crates/anyhow-1.0.100.crate) = a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61
+SIZE (rust/crates/anyhow-1.0.100.crate) = 54059
+SHA256 (rust/crates/assert_fs-1.1.3.crate) = a652f6cb1f516886fcfee5e7a5c078b9ade62cfcb889524efe5a64d682dd27a9
+SIZE (rust/crates/assert_fs-1.1.3.crate) = 20176
+SHA256 (rust/crates/automod-1.0.15.crate) = ebb4bd301db2e2ca1f5be131c24eb8ebf2d9559bc3744419e93baf8ddea7e670
+SIZE (rust/crates/automod-1.0.15.crate) = 9129
+SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
+SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
+SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
+SHA256 (rust/crates/bstr-1.12.1.crate) = 63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab
+SIZE (rust/crates/bstr-1.12.1.crate) = 354916
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
+SHA256 (rust/crates/clap-4.5.51.crate) = 4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5
+SIZE (rust/crates/clap-4.5.51.crate) = 62030
+SHA256 (rust/crates/clap-cargo-0.18.3.crate) = 936551935c8258754bb8216aec040957d261f977303754b9bf1a213518388006
+SIZE (rust/crates/clap-cargo-0.18.3.crate) = 14597
+SHA256 (rust/crates/clap-verbosity-flag-3.0.4.crate) = 9d92b1fab272fe943881b77cc6e920d6543e5b1bfadbd5ed81c7c5a755742394
+SIZE (rust/crates/clap-verbosity-flag-3.0.4.crate) = 16952
+SHA256 (rust/crates/clap_builder-4.5.51.crate) = 75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a
+SIZE (rust/crates/clap_builder-4.5.51.crate) = 171077
+SHA256 (rust/crates/clap_derive-4.5.49.crate) = 2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671
+SIZE (rust/crates/clap_derive-4.5.49.crate) = 33559
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/codegenrs-3.0.2.crate) = 11a564a9c6e001f881ff5074dc1fb10aae609c82c92b7ddb47e40987be820771
+SIZE (rust/crates/codegenrs-3.0.2.crate) = 8676
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/colorchoice-clap-1.0.7.crate) = 0ff31f4fe290e780fe3bbec6b2eb9dbfdccd1630e79a104c221d99243de81493
+SIZE (rust/crates/colorchoice-clap-1.0.7.crate) = 10638
+SHA256 (rust/crates/condtype-1.3.0.crate) = baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af
+SIZE (rust/crates/condtype-1.3.0.crate) = 12634
+SHA256 (rust/crates/content_inspector-0.2.4.crate) = b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38
+SIZE (rust/crates/content_inspector-0.2.4.crate) = 11386
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/csv-1.4.0.crate) = 52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938
+SIZE (rust/crates/csv-1.4.0.crate) = 888642
+SHA256 (rust/crates/csv-core-0.1.12.crate) = 7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d
+SIZE (rust/crates/csv-core-0.1.12.crate) = 26298
+SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
+SIZE (rust/crates/darling-0.20.11.crate) = 37614
+SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
+SIZE (rust/crates/darling_core-0.20.11.crate) = 68006
+SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead
+SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/derive_more-2.0.1.crate) = 093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678
+SIZE (rust/crates/derive_more-2.0.1.crate) = 70127
+SHA256 (rust/crates/derive_more-impl-2.0.1.crate) = bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3
+SIZE (rust/crates/derive_more-impl-2.0.1.crate) = 78233
+SHA256 (rust/crates/derive_setters-0.1.8.crate) = ae5c625eda104c228c06ecaf988d1c60e542176bd7a490e60eeda3493244c0c9
+SIZE (rust/crates/derive_setters-0.1.8.crate) = 11918
+SHA256 (rust/crates/difference-2.0.0.crate) = 524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198
+SIZE (rust/crates/difference-2.0.0.crate) = 147616
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/divan-0.1.21.crate) = a405457ec78b8fe08b0e32b4a3570ab5dff6dd16eb9e76a5ee0a9d9cbd898933
+SIZE (rust/crates/divan-0.1.21.crate) = 97542
+SHA256 (rust/crates/divan-macros-0.1.21.crate) = 9556bc800956545d6420a640173e5ba7dfa82f38d3ea5a167eb555bc69ac3323
+SIZE (rust/crates/divan-macros-0.1.21.crate) = 15766
+SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
+SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
+SHA256 (rust/crates/dunce-1.0.5.crate) = 92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813
+SIZE (rust/crates/dunce-1.0.5.crate) = 8244
+SHA256 (rust/crates/dyn-clone-1.0.20.crate) = d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555
+SIZE (rust/crates/dyn-clone-1.0.20.crate) = 13134
+SHA256 (rust/crates/edit-distance-2.2.2.crate) = 324d428080b707bac399325341bd61af5ded1b30f33b7c949792ca464733c2d5
+SIZE (rust/crates/edit-distance-2.2.2.crate) = 9002
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3
+SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050
+SHA256 (rust/crates/enumflags2-0.7.12.crate) = 1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef
+SIZE (rust/crates/enumflags2-0.7.12.crate) = 17544
+SHA256 (rust/crates/enumflags2_derive-0.7.12.crate) = 67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827
+SIZE (rust/crates/enumflags2_derive-0.7.12.crate) = 8573
+SHA256 (rust/crates/env_filter-0.1.3.crate) = 186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0
+SIZE (rust/crates/env_filter-0.1.3.crate) = 15191
+SHA256 (rust/crates/env_logger-0.11.8.crate) = 13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f
+SIZE (rust/crates/env_logger-0.11.8.crate) = 32538
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/filetime-0.2.26.crate) = bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed
+SIZE (rust/crates/filetime-0.2.26.crate) = 17273
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
+SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
+SIZE (rust/crates/gimli-0.31.1.crate) = 279515
+SHA256 (rust/crates/glob-0.3.3.crate) = 0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280
+SIZE (rust/crates/glob-0.3.3.crate) = 22861
+SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3
+SIZE (rust/crates/globset-0.4.18.crate) = 28970
+SHA256 (rust/crates/globwalk-0.9.1.crate) = 0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757
+SIZE (rust/crates/globwalk-0.9.1.crate) = 12572
+SHA256 (rust/crates/hashbrown-0.16.0.crate) = 5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d
+SIZE (rust/crates/hashbrown-0.16.0.crate) = 141708
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/human-panic-2.0.4.crate) = 9a8a07a0957cd4a3cad4a1e4ca7cd5ea07fcacef6ebe2e5d0c7935bfc95120d8
+SIZE (rust/crates/human-panic-2.0.4.crate) = 15912
+SHA256 (rust/crates/humantime-2.3.0.crate) = 135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424
+SIZE (rust/crates/humantime-2.3.0.crate) = 23242
+SHA256 (rust/crates/humantime-serde-1.1.1.crate) = 57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c
+SIZE (rust/crates/humantime-serde-1.1.1.crate) = 7886
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/ignore-0.4.25.crate) = d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a
+SIZE (rust/crates/ignore-0.4.25.crate) = 59154
+SHA256 (rust/crates/indexmap-2.12.0.crate) = 6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f
+SIZE (rust/crates/indexmap-2.12.0.crate) = 100446
+SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
+SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
+SHA256 (rust/crates/itertools-0.14.0.crate) = 2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285
+SIZE (rust/crates/itertools-0.14.0.crate) = 152715
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/kstring-2.0.2.crate) = 558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1
+SIZE (rust/crates/kstring-2.0.2.crate) = 23044
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/libc-0.2.176.crate) = 58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174
+SIZE (rust/crates/libc-0.2.176.crate) = 790040
+SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
+SIZE (rust/crates/libredox-0.1.10.crate) = 7332
+SHA256 (rust/crates/linux-raw-sys-0.11.0.crate) = df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039
+SIZE (rust/crates/linux-raw-sys-0.11.0.crate) = 2659624
+SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
+SIZE (rust/crates/log-0.4.28.crate) = 51131
+SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
+SIZE (rust/crates/maplit-1.0.2.crate) = 8871
+SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
+SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316
+SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
+SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
+SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
+SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
+SIZE (rust/crates/once_cell_polyfill-1.70.1.crate) = 7510
+SHA256 (rust/crates/os_info-3.12.0.crate) = d0e1ac5fde8d43c34139135df8ea9ee9465394b2d8d20f032d38998f64afffc3
+SIZE (rust/crates/os_info-3.12.0.crate) = 24642
+SHA256 (rust/crates/os_pipe-1.2.2.crate) = db335f4760b14ead6290116f2427bf33a14d4f0617d49f78a246de10c1831224
+SIZE (rust/crates/os_pipe-1.2.2.crate) = 10810
+SHA256 (rust/crates/phf-0.13.1.crate) = c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf
+SIZE (rust/crates/phf-0.13.1.crate) = 24786
+SHA256 (rust/crates/phf_codegen-0.13.1.crate) = 49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1
+SIZE (rust/crates/phf_codegen-0.13.1.crate) = 14774
+SHA256 (rust/crates/phf_generator-0.13.1.crate) = 135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737
+SIZE (rust/crates/phf_generator-0.13.1.crate) = 15952
+SHA256 (rust/crates/phf_macros-0.13.1.crate) = 812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef
+SIZE (rust/crates/phf_macros-0.13.1.crate) = 21732
+SHA256 (rust/crates/phf_shared-0.13.1.crate) = e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266
+SIZE (rust/crates/phf_shared-0.13.1.crate) = 16141
+SHA256 (rust/crates/plist-1.7.4.crate) = 3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1
+SIZE (rust/crates/plist-1.7.4.crate) = 103748
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/predicates-3.1.3.crate) = a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573
+SIZE (rust/crates/predicates-3.1.3.crate) = 24063
+SHA256 (rust/crates/predicates-core-1.0.9.crate) = 727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa
+SIZE (rust/crates/predicates-core-1.0.9.crate) = 8618
+SHA256 (rust/crates/predicates-tree-1.0.12.crate) = 72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c
+SIZE (rust/crates/predicates-tree-1.0.12.crate) = 8392
+SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b
+SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033
+SHA256 (rust/crates/proc-exit-2.0.2.crate) = 77a5390699eb9ac50677729fda96fb8339d4629f257cc6cfa6eaa673730f8f63
+SIZE (rust/crates/proc-exit-2.0.2.crate) = 12898
+SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de
+SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886
+SHA256 (rust/crates/quick-xml-0.38.3.crate) = 42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89
+SIZE (rust/crates/quick-xml-0.38.3.crate) = 204498
+SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1
+SIZE (rust/crates/quote-1.0.41.crate) = 31408
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+SHA256 (rust/crates/rayon-1.11.0.crate) = 368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f
+SIZE (rust/crates/rayon-1.11.0.crate) = 182470
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/redox_syscall-0.5.17.crate) = 5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77
+SIZE (rust/crates/redox_syscall-0.5.17.crate) = 30002
+SHA256 (rust/crates/ref-cast-1.0.25.crate) = f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d
+SIZE (rust/crates/ref-cast-1.0.25.crate) = 15192
+SHA256 (rust/crates/ref-cast-impl-1.0.25.crate) = b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da
+SIZE (rust/crates/ref-cast-impl-1.0.25.crate) = 10167
+SHA256 (rust/crates/regex-1.12.2.crate) = 843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4
+SIZE (rust/crates/regex-1.12.2.crate) = 163843
+SHA256 (rust/crates/regex-automata-0.4.13.crate) = 5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c
+SIZE (rust/crates/regex-automata-0.4.13.crate) = 625250
+SHA256 (rust/crates/regex-lite-0.1.7.crate) = 943f41321c63ef1c92fd763bfe054d2668f7f225a5c29f0105903dc2fc04ba30
+SIZE (rust/crates/regex-lite-0.1.7.crate) = 96903
+SHA256 (rust/crates/regex-syntax-0.8.6.crate) = caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001
+SIZE (rust/crates/regex-syntax-0.8.6.crate) = 358808
+SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace
+SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340
+SHA256 (rust/crates/rustix-1.1.2.crate) = cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e
+SIZE (rust/crates/rustix-1.1.2.crate) = 422717
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/schemafy_core-0.6.0.crate) = 2bec29dddcfe60f92f3c0d422707b8b56473983ef0481df8d5236ed3ab8fdf24
+SIZE (rust/crates/schemafy_core-0.6.0.crate) = 1878
+SHA256 (rust/crates/schemafy_lib-0.6.0.crate) = af3d87f1df246a9b7e2bfd1f4ee5f88e48b11ef9cfc62e63f0dead255b1a6f5f
+SIZE (rust/crates/schemafy_lib-0.6.0.crate) = 10431
+SHA256 (rust/crates/schemars-1.0.5.crate) = 1317c3bf3e7df961da95b0a56a172a02abead31276215a0497241a7624b487ce
+SIZE (rust/crates/schemars-1.0.5.crate) = 88673
+SHA256 (rust/crates/schemars_derive-1.0.5.crate) = 5f760a6150d45dd66ec044983c124595ae76912e77ed0b44124cb3e415cce5d9
+SIZE (rust/crates/schemars_derive-1.0.5.crate) = 31160
+SHA256 (rust/crates/semver-1.0.27.crate) = d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2
+SIZE (rust/crates/semver-1.0.27.crate) = 30081
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde-sarif-0.8.0.crate) = a053c46f18a8043570d4e32fefc4c6377f82bf29ec310a33e93f273048e3b0be
+SIZE (rust/crates/serde-sarif-0.8.0.crate) = 32527
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_derive_internals-0.29.1.crate) = 18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711
+SIZE (rust/crates/serde_derive_internals-0.29.1.crate) = 26189
+SHA256 (rust/crates/serde_json-1.0.145.crate) = 402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c
+SIZE (rust/crates/serde_json-1.0.145.crate) = 155748
+SHA256 (rust/crates/serde_regex-1.1.0.crate) = a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf
+SIZE (rust/crates/serde_regex-1.1.0.crate) = 9710
+SHA256 (rust/crates/serde_spanned-1.0.3.crate) = e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392
+SIZE (rust/crates/serde_spanned-1.0.3.crate) = 11011
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/simdutf8-0.1.5.crate) = e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e
+SIZE (rust/crates/simdutf8-0.1.5.crate) = 28488
+SHA256 (rust/crates/similar-2.7.0.crate) = bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa
+SIZE (rust/crates/similar-2.7.0.crate) = 53928
+SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
+SIZE (rust/crates/siphasher-1.0.1.crate) = 10351
+SHA256 (rust/crates/snapbox-0.6.23.crate) = 96fa1ce81be900d083b30ec2d481e6658c2acfaa2cfc7be45ccc2cc1b820edb3
+SIZE (rust/crates/snapbox-0.6.23.crate) = 56996
+SHA256 (rust/crates/snapbox-macros-0.4.0.crate) = 3b750c344002d7cc69afb9da00ebd9b5c0f8ac2eb7d115d9d45d5b5f47718d74
+SIZE (rust/crates/snapbox-macros-0.4.0.crate) = 9305
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/strum-0.27.2.crate) = af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf
+SIZE (rust/crates/strum-0.27.2.crate) = 8489
+SHA256 (rust/crates/strum_macros-0.27.2.crate) = 7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7
+SIZE (rust/crates/strum_macros-0.27.2.crate) = 30522
+SHA256 (rust/crates/supports-unicode-3.0.0.crate) = b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2
+SIZE (rust/crates/supports-unicode-3.0.0.crate) = 7825
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6
+SIZE (rust/crates/syn-2.0.106.crate) = 301514
+SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
+SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
+SHA256 (rust/crates/terminal_size-0.4.3.crate) = 60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0
+SIZE (rust/crates/terminal_size-0.4.3.crate) = 10686
+SHA256 (rust/crates/termtree-0.5.1.crate) = 8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683
+SIZE (rust/crates/termtree-0.5.1.crate) = 8498
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
+SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
+SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
+SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40
+SIZE (rust/crates/time-0.3.41.crate) = 138369
+SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c
+SIZE (rust/crates/time-core-0.1.4.crate) = 8422
+SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49
+SIZE (rust/crates/time-macros-0.2.22.crate) = 24604
+SHA256 (rust/crates/toml-0.9.8.crate) = f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8
+SIZE (rust/crates/toml-0.9.8.crate) = 56104
+SHA256 (rust/crates/toml_datetime-0.7.3.crate) = f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533
+SIZE (rust/crates/toml_datetime-0.7.3.crate) = 17827
+SHA256 (rust/crates/toml_edit-0.23.6.crate) = f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b
+SIZE (rust/crates/toml_edit-0.23.6.crate) = 65753
+SHA256 (rust/crates/toml_parser-1.0.4.crate) = c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e
+SIZE (rust/crates/toml_parser-1.0.4.crate) = 34978
+SHA256 (rust/crates/toml_writer-1.0.4.crate) = df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2
+SIZE (rust/crates/toml_writer-1.0.4.crate) = 17146
+SHA256 (rust/crates/trycmd-0.15.10.crate) = 659488a954e37cc663704c169f829952c49b315e2fe5fd375508baffa698f106
+SIZE (rust/crates/trycmd-0.15.10.crate) = 34065
+SHA256 (rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a
+SIZE (rust/crates/typed-arena-2.0.2.crate) = 11848
+SHA256 (rust/crates/typed-builder-0.21.2.crate) = fef81aec2ca29576f9f6ae8755108640d0a86dd3161b2e8bca6cfa554e98f77d
+SIZE (rust/crates/typed-builder-0.21.2.crate) = 22561
+SHA256 (rust/crates/typed-builder-macro-0.21.2.crate) = 1ecb9ecf7799210407c14a8cfdfe0173365780968dc57973ed082211958e0b18
+SIZE (rust/crates/typed-builder-macro-0.21.2.crate) = 21717
+SHA256 (rust/crates/unicase-2.8.1.crate) = 75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539
+SIZE (rust/crates/unicase-2.8.1.crate) = 24088
+SHA256 (rust/crates/unicode-ident-1.0.19.crate) = f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d
+SIZE (rust/crates/unicode-ident-1.0.19.crate) = 47480
+SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
+SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853
+SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744
+SHA256 (rust/crates/uriparse-0.6.4.crate) = 0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff
+SIZE (rust/crates/uriparse-0.6.4.crate) = 56145
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/uuid-1.18.1.crate) = 2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2
+SIZE (rust/crates/uuid-1.18.1.crate) = 60468
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/wait-timeout-0.2.1.crate) = 09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11
+SIZE (rust/crates/wait-timeout-0.2.1.crate) = 11435
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.14.4+wasi-0.2.4.crate) = 88a5f4a424faf49c3c2c344f166f0662341d470ea185e939657aaff130f0ec4a
+SIZE (rust/crates/wasi-0.14.4+wasi-0.2.4.crate) = 145408
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+SHA256 (rust/crates/windows-link-0.2.0.crate) = 45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65
+SIZE (rust/crates/windows-link-0.2.0.crate) = 6170
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
+SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.4.crate) = 2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b
+SIZE (rust/crates/windows-targets-0.53.4.crate) = 7161
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
+SHA256 (rust/crates/winnow-0.7.13.crate) = 21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf
+SIZE (rust/crates/winnow-0.7.13.crate) = 174454
+SHA256 (rust/crates/wit-bindgen-0.45.1.crate) = 5c573471f125075647d03df72e026074b7203790d41351cd6edc96f46bcccd36
+SIZE (rust/crates/wit-bindgen-0.45.1.crate) = 60395
+SHA256 (rust/crates/zerocopy-0.8.27.crate) = 0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c
+SIZE (rust/crates/zerocopy-0.8.27.crate) = 252663
+SHA256 (rust/crates/zerocopy-derive-0.8.27.crate) = 88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831
+SIZE (rust/crates/zerocopy-derive-0.8.27.crate) = 89827
+SHA256 (crate-ci-typos-v1.39.2_GH0.tar.gz) = 2ac7b75fb8cd5091dfb3c07997a8f7d9abdc918260d0e2378cefdad7cf059923
+SIZE (crate-ci-typos-v1.39.2_GH0.tar.gz) = 4476660
diff --git a/textproc/typos/pkg-descr b/textproc/typos/pkg-descr
new file mode 100644
index 000000000000..b5b0bc5a2c27
--- /dev/null
+++ b/textproc/typos/pkg-descr
@@ -0,0 +1,3 @@
+typos finds and corrects spelling mistakes among source code:
+- Fast enough to run on monorepos
+- Low false positives so you can run on PRs
diff --git a/textproc/typos/pkg-plist b/textproc/typos/pkg-plist
new file mode 100644
index 000000000000..9f79d3f7ab0c
--- /dev/null
+++ b/textproc/typos/pkg-plist
@@ -0,0 +1,6 @@
+bin/typos
+%%PORTDOCS%%%%DOCSDIR%%/comparison.md
+%%PORTDOCS%%%%DOCSDIR%%/design.md
+%%PORTDOCS%%%%DOCSDIR%%/github-action.md
+%%PORTDOCS%%%%DOCSDIR%%/pre-commit.md
+%%PORTDOCS%%%%DOCSDIR%%/reference.md