git: b066d35050c7 - main - deskutils/readur: New port: Quick, painless, intuitive OCR platform
- Reply: Gleb Popov : "Re: git: b066d35050c7 - main - deskutils/readur: New port: Quick, painless, intuitive OCR platform"
- Reply: Max Brazhnikov : "Re: git: b066d35050c7 - main - deskutils/readur: New port: Quick, painless, intuitive OCR platform"
- Reply: Jesús_Daniel_Colmenares_Oviedo : "Re: git: b066d35050c7 - main - deskutils/readur: New port: Quick, painless, intuitive OCR platform"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 23 Jul 2025 18:26:09 UTC
The branch main has been updated by dtxdf:
URL: https://cgit.FreeBSD.org/ports/commit/?id=b066d35050c7815b59bf9bb6144d6ac8fcfd840b
commit b066d35050c7815b59bf9bb6144d6ac8fcfd840b
Author: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2025-07-13 22:06:28 +0000
Commit: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2025-07-23 18:25:27 +0000
deskutils/readur: New port: Quick, painless, intuitive OCR platform
Readur is a powerful, modern document management system built with
Rust and React. Readur provides intelligent document processing
with OCR capabilities, full-text search, and a beautiful web interface
designed for 2026 tech standards.
Approved by: acm (mentor)
---
GIDs | 2 +-
UIDs | 2 +-
deskutils/Makefile | 1 +
deskutils/readur/Makefile | 54 ++
deskutils/readur/Makefile.crates | 584 +++++++++++++++
deskutils/readur/distinfo | 1175 ++++++++++++++++++++++++++++++
deskutils/readur/files/patch-src_main.rs | 11 +
deskutils/readur/files/pkg-message.in | 17 +
deskutils/readur/files/readur.in | 36 +
deskutils/readur/pkg-descr | 4 +
deskutils/readur/pkg-plist | 10 +
11 files changed, 1894 insertions(+), 2 deletions(-)
diff --git a/GIDs b/GIDs
index 119e457e06f1..84d6a6eadfba 100644
--- a/GIDs
+++ b/GIDs
@@ -779,7 +779,7 @@ pocket-id:*:834:
filebrowser:*:835:
tinyauth:*:836:
homebox:*:837:
-# free: 838
+readur:*:838:
shiori:*:839:
netdisco:*:840:
tcpcryptd:*:841:
diff --git a/UIDs b/UIDs
index 4f251d5de24f..447d27bd94c1 100644
--- a/UIDs
+++ b/UIDs
@@ -785,7 +785,7 @@ pocket-id:*:834:834::0:0:OIDC provider that allows users to authenticate with th
filebrowser:*:835:835::0:0:Web File Browser:/var/db/filebrowser:/usr/sbin/nologin
tinyauth:*:836:836::0:0:Simplest way to protect your apps with a login screen:/nonexistent:/usr/sbin/nologin
homebox:*:837:837::0:0:Inventory and organization system built for the Home User:/var/db/homebox:/usr/sbin/nologin
-# free: 838
+readur:*:838:838::0:0:Intuitive OCR platform:/var/db/readur:/usr/sbin/nologin
shiori:*:839:839::0:0:Simple bookmark manager built with Go:/var/db/shiori:/usr/sbin/nologin
netdisco:*:840:840::0:0:netdisco daemon:/usr/local/etc/netdisco:/bin/sh
tcpcryptd:*:841:841::0:0:tcpcrypt daemon:/nonexistent:/usr/sbin/nologin
diff --git a/deskutils/Makefile b/deskutils/Makefile
index 20e85a1055f2..b5927042cd00 100644
--- a/deskutils/Makefile
+++ b/deskutils/Makefile
@@ -246,6 +246,7 @@
SUBDIR += qmediamanager
SUBDIR += qownnotes
SUBDIR += qtfeedback
+ SUBDIR += readur
SUBDIR += recoll
SUBDIR += rednotebook
SUBDIR += remind
diff --git a/deskutils/readur/Makefile b/deskutils/readur/Makefile
new file mode 100644
index 000000000000..82088bc7f223
--- /dev/null
+++ b/deskutils/readur/Makefile
@@ -0,0 +1,54 @@
+PORTNAME= readur
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.5.0
+CATEGORIES= deskutils
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.frontend${EXTRACT_SUFX} \
+ swagger-ui-${SWAGGER_TAG}.zip
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Quick, painless, intuitive OCR platform
+WWW= https://github.com/readur/${PORTNAME}
+
+LICENSE= MIT
+
+LIB_DEPENDS= libleptonica.so:graphics/leptonica \
+ libtesseract.so:graphics/tesseract
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ocrmypdf>=0:textproc/py-ocrmypdf@${PY_FLAVOR} \
+ poppler-utils>=0:graphics/poppler-utils
+
+USES= cargo llvm:build pkgconfig python ssl
+USE_GITHUB= yes
+USE_RC_SUBR= ${PORTNAME}
+
+CARGO_INSTALL_ARGS= --bin ${PORTNAME}
+
+MAKE_ENV= LIBCLANG_PATH=${LLVM_PREFIX}/lib \
+ SWAGGER_UI_DOWNLOAD_URL=file:${DISTDIR}/swagger-ui-${SWAGGER_TAG}.zip
+
+SUB_FILES= pkg-message
+SUB_LIST= USER=${READUR_USER}
+
+USERS= ${READUR_USER}
+GROUPS= ${READUR_GROUP}
+
+PLIST_SUB= GROUP=${READUR_GROUP} \
+ HOMEDIR=${READUR_HOMEDIR} \
+ USER=${READUR_USER}
+
+READUR_USER= ${PORTNAME}
+READUR_GROUP= ${READUR_USER}
+READUR_HOMEDIR= /var/db/${READUR_USER}
+
+SWAGGER_TAG= v5.17.14
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%WWWDIR%%|${WWWDIR}|' \
+ ${WRKSRC}/src/main.rs
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${WWWDIR}
+ @cd ${WRKDIR}/readur-frontend && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}
+ @${MKDIR} ${STAGEDIR}${READUR_HOMEDIR}
+
+.include <bsd.port.mk>
diff --git a/deskutils/readur/Makefile.crates b/deskutils/readur/Makefile.crates
new file mode 100644
index 000000000000..0b7347163588
--- /dev/null
+++ b/deskutils/readur/Makefile.crates
@@ -0,0 +1,584 @@
+CARGO_CRATES= ab_glyph-0.2.29 \
+ ab_glyph_rasterizer-0.1.8 \
+ addr2line-0.24.2 \
+ adler2-2.0.1 \
+ aho-corasick-1.1.3 \
+ aligned-vec-0.6.4 \
+ allocator-api2-0.2.21 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anstream-0.6.19 \
+ anstyle-1.0.11 \
+ anstyle-parse-0.2.7 \
+ anstyle-query-1.1.3 \
+ anstyle-wincon-3.0.9 \
+ anyhow-1.0.98 \
+ approx-0.5.1 \
+ arbitrary-1.4.1 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.6 \
+ assert-json-diff-2.0.2 \
+ async-stream-0.3.6 \
+ async-stream-impl-0.3.6 \
+ async-trait-0.1.88 \
+ atoi-2.0.0 \
+ atomic-waker-1.1.2 \
+ autocfg-1.4.0 \
+ av1-grain-0.2.4 \
+ avif-serialize-0.8.3 \
+ aws-config-1.8.1 \
+ aws-credential-types-1.2.3 \
+ aws-lc-rs-1.13.1 \
+ aws-lc-sys-0.29.0 \
+ aws-runtime-1.5.8 \
+ aws-sdk-s3-1.96.0 \
+ aws-sdk-sso-1.74.0 \
+ aws-sdk-ssooidc-1.75.0 \
+ aws-sdk-sts-1.76.0 \
+ aws-sigv4-1.3.3 \
+ aws-smithy-async-1.2.5 \
+ aws-smithy-checksums-0.63.4 \
+ aws-smithy-eventstream-0.60.9 \
+ aws-smithy-http-0.62.1 \
+ aws-smithy-http-client-1.0.5 \
+ aws-smithy-json-0.61.4 \
+ aws-smithy-observability-0.1.3 \
+ aws-smithy-query-0.60.7 \
+ aws-smithy-runtime-1.8.3 \
+ aws-smithy-runtime-api-1.8.1 \
+ aws-smithy-types-1.3.2 \
+ aws-smithy-xml-0.60.10 \
+ aws-types-1.3.7 \
+ axum-0.8.4 \
+ axum-core-0.5.2 \
+ backtrace-0.3.75 \
+ base16ct-0.1.1 \
+ base64-0.13.1 \
+ base64-0.21.7 \
+ base64-0.22.1 \
+ base64-simd-0.8.0 \
+ base64ct-1.8.0 \
+ bcrypt-0.17.0 \
+ bindgen-0.64.0 \
+ bindgen-0.69.5 \
+ bit_field-0.10.2 \
+ bitflags-1.3.2 \
+ bitflags-2.9.1 \
+ bitstream-io-2.6.0 \
+ block-buffer-0.10.4 \
+ blowfish-0.9.1 \
+ bollard-0.18.1 \
+ bollard-stubs-1.47.1-rc.27.3.1 \
+ built-0.7.7 \
+ bumpalo-3.18.1 \
+ bytemuck-1.23.1 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.10.1 \
+ bytes-utils-0.1.4 \
+ cc-1.2.27 \
+ cexpr-0.6.0 \
+ cfg-expr-0.15.8 \
+ cfg-if-1.0.1 \
+ chrono-0.4.41 \
+ cipher-0.4.4 \
+ clang-sys-1.8.1 \
+ clap-4.5.41 \
+ clap_builder-4.5.41 \
+ clap_derive-4.5.41 \
+ clap_lex-0.7.5 \
+ cmake-0.1.54 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.4 \
+ concurrent-queue-2.5.0 \
+ const-oid-0.9.6 \
+ core-foundation-0.9.4 \
+ core-foundation-0.10.1 \
+ core-foundation-sys-0.8.7 \
+ cpufeatures-0.2.17 \
+ crc-3.3.0 \
+ crc-catalog-2.4.0 \
+ crc-fast-1.3.0 \
+ crc32fast-1.4.2 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-queue-0.3.12 \
+ crossbeam-utils-0.8.21 \
+ crunchy-0.2.3 \
+ crypto-bigint-0.4.9 \
+ crypto-bigint-0.5.5 \
+ crypto-common-0.1.6 \
+ darling-0.20.11 \
+ darling_core-0.20.11 \
+ darling_macro-0.20.11 \
+ deadpool-0.10.0 \
+ deadpool-runtime-0.1.4 \
+ der-0.6.1 \
+ der-0.7.10 \
+ deranged-0.4.0 \
+ derive_arbitrary-1.4.1 \
+ digest-0.10.7 \
+ displaydoc-0.2.5 \
+ docker_credential-1.3.2 \
+ dotenvy-0.15.7 \
+ dunce-1.0.5 \
+ dyn-clone-1.0.19 \
+ ecdsa-0.14.8 \
+ either-1.15.0 \
+ elliptic-curve-0.12.3 \
+ encoding_rs-0.8.35 \
+ equator-0.4.2 \
+ equator-macro-0.4.2 \
+ equivalent-1.0.2 \
+ errno-0.3.12 \
+ etcetera-0.8.0 \
+ etcetera-0.10.0 \
+ event-listener-5.4.0 \
+ exr-1.73.0 \
+ fastrand-2.3.0 \
+ fdeflate-0.3.7 \
+ ff-0.12.1 \
+ filetime-0.2.25 \
+ flate2-1.1.2 \
+ flume-0.11.1 \
+ fnv-1.0.7 \
+ foldhash-0.1.5 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.1 \
+ fs_extra-1.3.0 \
+ fsevent-sys-4.1.0 \
+ futures-0.3.31 \
+ futures-channel-0.3.31 \
+ futures-core-0.3.31 \
+ futures-executor-0.3.31 \
+ futures-intrusive-0.5.0 \
+ futures-io-0.3.31 \
+ futures-macro-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ generic-array-0.14.7 \
+ getrandom-0.2.16 \
+ getrandom-0.3.3 \
+ gif-0.13.1 \
+ gimli-0.31.1 \
+ glob-0.3.2 \
+ group-0.12.1 \
+ h2-0.3.26 \
+ h2-0.4.10 \
+ half-2.6.0 \
+ hashbrown-0.12.3 \
+ hashbrown-0.15.4 \
+ hashlink-0.10.0 \
+ heck-0.5.0 \
+ hermit-abi-0.5.2 \
+ hex-0.4.3 \
+ hkdf-0.12.4 \
+ hmac-0.12.1 \
+ home-0.5.11 \
+ hostname-0.4.1 \
+ http-0.2.12 \
+ http-1.3.1 \
+ http-body-0.4.6 \
+ http-body-1.0.1 \
+ http-body-util-0.1.3 \
+ http-range-header-0.4.2 \
+ httparse-1.10.1 \
+ httpdate-1.0.3 \
+ hyper-0.14.32 \
+ hyper-1.6.0 \
+ hyper-named-pipe-0.1.0 \
+ hyper-rustls-0.24.2 \
+ hyper-rustls-0.27.7 \
+ hyper-tls-0.6.0 \
+ hyper-util-0.1.14 \
+ hyperlocal-0.9.1 \
+ iana-time-zone-0.1.63 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-2.0.0 \
+ icu_locale_core-2.0.0 \
+ icu_normalizer-2.0.0 \
+ icu_normalizer_data-2.0.0 \
+ icu_properties-2.0.1 \
+ icu_properties_data-2.0.1 \
+ icu_provider-2.0.0 \
+ ident_case-1.0.1 \
+ idna-1.0.3 \
+ idna_adapter-1.2.1 \
+ image-0.25.6 \
+ image-webp-0.2.2 \
+ imageproc-0.25.0 \
+ imgref-1.11.0 \
+ indexmap-1.9.3 \
+ indexmap-2.9.0 \
+ inotify-0.11.0 \
+ inotify-sys-0.1.5 \
+ inout-0.1.4 \
+ interpolate_name-0.2.4 \
+ io-uring-0.7.8 \
+ ipnet-2.11.0 \
+ iri-string-0.7.8 \
+ is_terminal_polyfill-1.70.1 \
+ itertools-0.12.1 \
+ itoa-1.0.15 \
+ jobserver-0.1.33 \
+ jpeg-decoder-0.3.1 \
+ js-sys-0.3.77 \
+ jsonwebtoken-9.3.1 \
+ kqueue-1.1.1 \
+ kqueue-sys-1.0.4 \
+ lazy_static-1.5.0 \
+ lazycell-1.3.0 \
+ lebe-0.5.2 \
+ leptonica-plumbing-1.4.0 \
+ leptonica-sys-0.4.9 \
+ libc-0.2.173 \
+ libfuzzer-sys-0.4.9 \
+ libloading-0.8.8 \
+ libm-0.2.15 \
+ libredox-0.1.3 \
+ libsqlite3-sys-0.30.1 \
+ libz-rs-sys-0.5.1 \
+ linux-raw-sys-0.4.15 \
+ linux-raw-sys-0.9.4 \
+ litemap-0.8.0 \
+ lock_api-0.4.13 \
+ log-0.4.27 \
+ loop9-0.1.5 \
+ lru-0.12.5 \
+ matchers-0.1.0 \
+ matchit-0.8.4 \
+ matrixmultiply-0.3.10 \
+ maybe-rayon-0.1.1 \
+ md-5-0.10.6 \
+ memchr-2.7.5 \
+ mime-0.3.17 \
+ mime_guess-2.0.5 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.8.9 \
+ mio-1.0.4 \
+ multer-3.1.0 \
+ nalgebra-0.32.6 \
+ native-tls-0.2.14 \
+ new_debug_unreachable-1.0.6 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ notify-8.1.0 \
+ notify-types-2.0.0 \
+ ntapi-0.4.1 \
+ nu-ansi-term-0.46.0 \
+ num-0.4.3 \
+ num-bigint-0.4.6 \
+ num-bigint-dig-0.8.4 \
+ num-complex-0.4.6 \
+ num-conv-0.1.0 \
+ num-derive-0.4.2 \
+ num-integer-0.1.46 \
+ num-iter-0.1.45 \
+ num-rational-0.4.2 \
+ num-traits-0.2.19 \
+ num_cpus-1.17.0 \
+ oauth2-4.4.2 \
+ objc2-core-foundation-0.3.1 \
+ objc2-io-kit-0.3.1 \
+ object-0.36.7 \
+ once_cell-1.21.3 \
+ once_cell_polyfill-1.70.1 \
+ openssl-0.10.73 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-sys-0.9.109 \
+ outref-0.5.2 \
+ overload-0.1.1 \
+ owned_ttf_parser-0.25.0 \
+ p256-0.11.1 \
+ parking-2.2.1 \
+ parking_lot-0.12.4 \
+ parking_lot_core-0.9.11 \
+ parse-display-0.9.1 \
+ parse-display-derive-0.9.1 \
+ paste-1.0.15 \
+ peeking_take_while-0.1.2 \
+ pem-3.0.5 \
+ pem-rfc7468-0.7.0 \
+ percent-encoding-2.3.1 \
+ pin-project-lite-0.2.16 \
+ pin-utils-0.1.0 \
+ pkcs1-0.7.5 \
+ pkcs8-0.9.0 \
+ pkcs8-0.10.2 \
+ pkg-config-0.3.32 \
+ png-0.17.16 \
+ potential_utf-0.1.2 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.21 \
+ prettyplease-0.2.34 \
+ proc-macro2-1.0.95 \
+ profiling-1.0.16 \
+ profiling-procmacros-1.0.16 \
+ qoi-0.4.1 \
+ quick-error-2.0.1 \
+ quick-xml-0.37.5 \
+ quote-1.0.40 \
+ r-efi-5.2.0 \
+ rand-0.8.5 \
+ rand-0.9.1 \
+ rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
+ rand_core-0.6.4 \
+ rand_core-0.9.3 \
+ rand_distr-0.4.3 \
+ rav1e-0.7.1 \
+ ravif-0.11.12 \
+ raw-cpuid-11.5.0 \
+ rawpointer-0.2.1 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ redox_syscall-0.3.5 \
+ redox_syscall-0.5.13 \
+ ref-cast-1.0.24 \
+ ref-cast-impl-1.0.24 \
+ regex-1.11.1 \
+ regex-automata-0.1.10 \
+ regex-automata-0.4.9 \
+ regex-lite-0.1.6 \
+ regex-syntax-0.6.29 \
+ regex-syntax-0.8.5 \
+ reqwest-0.11.27 \
+ reqwest-0.12.22 \
+ rfc6979-0.3.1 \
+ rgb-0.8.50 \
+ ring-0.17.14 \
+ rsa-0.9.8 \
+ rust-embed-8.7.2 \
+ rust-embed-impl-8.7.2 \
+ rust-embed-utils-8.7.2 \
+ rustc-demangle-0.1.25 \
+ rustc-hash-1.1.0 \
+ rustc_version-0.4.1 \
+ rustix-0.38.44 \
+ rustix-1.0.7 \
+ rustls-0.21.12 \
+ rustls-0.23.27 \
+ rustls-native-certs-0.6.3 \
+ rustls-native-certs-0.8.1 \
+ rustls-pemfile-1.0.4 \
+ rustls-pemfile-2.2.0 \
+ rustls-pki-types-1.12.0 \
+ rustls-webpki-0.101.7 \
+ rustls-webpki-0.103.3 \
+ rustversion-1.0.21 \
+ ryu-1.0.20 \
+ safe_arch-0.7.4 \
+ same-file-1.0.6 \
+ schannel-0.1.27 \
+ schemars-0.9.0 \
+ scopeguard-1.2.0 \
+ sct-0.7.1 \
+ sec1-0.3.0 \
+ security-framework-2.11.1 \
+ security-framework-3.2.0 \
+ security-framework-sys-2.14.0 \
+ semver-1.0.26 \
+ serde-1.0.219 \
+ serde_derive-1.0.219 \
+ serde_json-1.0.140 \
+ serde_path_to_error-0.1.17 \
+ serde_repr-0.1.20 \
+ serde_spanned-0.6.9 \
+ serde_urlencoded-0.7.1 \
+ serde_with-3.13.0 \
+ serde_with_macros-3.13.0 \
+ sha1-0.10.6 \
+ sha2-0.10.9 \
+ sharded-slab-0.1.7 \
+ shlex-1.3.0 \
+ signal-hook-registry-1.4.5 \
+ signature-1.6.4 \
+ signature-2.2.0 \
+ simba-0.8.1 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ simple_asn1-0.6.3 \
+ slab-0.4.10 \
+ smallvec-1.15.1 \
+ socket2-0.5.10 \
+ spin-0.9.8 \
+ spki-0.6.0 \
+ spki-0.7.3 \
+ sqlx-0.8.6 \
+ sqlx-core-0.8.6 \
+ sqlx-macros-0.8.6 \
+ sqlx-macros-core-0.8.6 \
+ sqlx-mysql-0.8.6 \
+ sqlx-postgres-0.8.6 \
+ sqlx-sqlite-0.8.6 \
+ stable_deref_trait-1.2.0 \
+ stringprep-0.1.5 \
+ strsim-0.11.1 \
+ structmeta-0.3.0 \
+ structmeta-derive-0.3.0 \
+ subtle-2.6.1 \
+ syn-1.0.109 \
+ syn-2.0.103 \
+ sync_wrapper-0.1.2 \
+ sync_wrapper-1.0.2 \
+ synstructure-0.13.2 \
+ sysinfo-0.36.0 \
+ system-configuration-0.5.1 \
+ system-configuration-0.6.1 \
+ system-configuration-sys-0.5.0 \
+ system-configuration-sys-0.6.0 \
+ system-deps-6.2.2 \
+ target-lexicon-0.12.16 \
+ tempfile-3.20.0 \
+ tesseract-0.15.2 \
+ tesseract-plumbing-0.11.1 \
+ tesseract-sys-0.6.3 \
+ testcontainers-0.24.0 \
+ testcontainers-modules-0.12.1 \
+ thiserror-1.0.69 \
+ thiserror-2.0.12 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.12 \
+ thread_local-1.1.9 \
+ tiff-0.9.1 \
+ time-0.3.41 \
+ time-core-0.1.4 \
+ time-macros-0.2.22 \
+ tinystr-0.8.1 \
+ tinyvec-1.9.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.46.1 \
+ tokio-macros-2.5.0 \
+ tokio-native-tls-0.3.1 \
+ tokio-rustls-0.24.1 \
+ tokio-rustls-0.26.2 \
+ tokio-stream-0.1.17 \
+ tokio-tar-0.3.1 \
+ tokio-test-0.4.4 \
+ tokio-util-0.7.15 \
+ toml-0.8.23 \
+ toml_datetime-0.6.11 \
+ toml_edit-0.22.27 \
+ tower-0.5.2 \
+ tower-http-0.6.6 \
+ tower-layer-0.3.3 \
+ tower-service-0.3.3 \
+ tracing-0.1.41 \
+ tracing-attributes-0.1.29 \
+ tracing-core-0.1.34 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.19 \
+ try-lock-0.2.5 \
+ ttf-parser-0.25.1 \
+ typenum-1.18.0 \
+ unicase-2.8.1 \
+ unicode-bidi-0.3.18 \
+ unicode-ident-1.0.18 \
+ unicode-normalization-0.1.24 \
+ unicode-properties-0.1.3 \
+ untrusted-0.9.0 \
+ url-2.5.4 \
+ urlencoding-2.1.3 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ utoipa-5.4.0 \
+ utoipa-gen-5.4.0 \
+ utoipa-swagger-ui-9.0.2 \
+ uuid-1.17.0 \
+ v_frame-0.3.9 \
+ valuable-0.1.1 \
+ vcpkg-0.2.15 \
+ version-compare-0.2.0 \
+ version_check-0.9.5 \
+ vsimd-0.8.0 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.11.1+wasi-snapshot-preview1 \
+ wasi-0.14.2+wasi-0.2.4 \
+ wasite-0.1.0 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-futures-0.4.50 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ web-sys-0.3.77 \
+ webpki-roots-0.25.4 \
+ webpki-roots-0.26.11 \
+ webpki-roots-1.0.0 \
+ weezl-0.1.10 \
+ which-4.4.2 \
+ whoami-1.6.0 \
+ wide-0.7.32 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.9 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.61.3 \
+ windows-collections-0.2.0 \
+ windows-core-0.61.2 \
+ windows-future-0.2.1 \
+ windows-implement-0.60.0 \
+ windows-interface-0.59.1 \
+ windows-link-0.1.3 \
+ windows-numerics-0.2.0 \
+ windows-registry-0.5.2 \
+ windows-result-0.3.4 \
+ windows-strings-0.4.2 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-sys-0.60.2 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.2 \
+ windows-threading-0.1.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.48.5 \
+ 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.48.5 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.0 \
+ winnow-0.7.11 \
+ winreg-0.50.0 \
+ wiremock-0.6.4 \
+ wit-bindgen-rt-0.39.0 \
+ writeable-0.6.1 \
+ xattr-1.5.0 \
+ xmlparser-0.13.6 \
+ yoke-0.8.0 \
+ yoke-derive-0.8.0 \
+ zerocopy-0.8.25 \
+ zerocopy-derive-0.8.25 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
+ zeroize-1.8.1 \
+ zerotrie-0.2.2 \
+ zerovec-0.11.2 \
+ zerovec-derive-0.11.1 \
+ zip-3.0.0 \
+ zlib-rs-0.5.1 \
+ zopfli-0.8.2 \
+ zune-core-0.4.12 \
+ zune-inflate-0.2.54 \
+ zune-jpeg-0.4.17
diff --git a/deskutils/readur/distinfo b/deskutils/readur/distinfo
new file mode 100644
index 000000000000..e0167359f6df
--- /dev/null
+++ b/deskutils/readur/distinfo
@@ -0,0 +1,1175 @@
+TIMESTAMP = 1753251341
+SHA256 (readur-v2.5.0.frontend.tar.gz) = a03ccc5acfb1b809939760d7bdfe7046773d0dde6b125ea809e555d07e412dad
+SIZE (readur-v2.5.0.frontend.tar.gz) = 2502588
+SHA256 (swagger-ui-v5.17.14.zip) = 481244d0812097b11fbaeef79f71d942b171617f9c9f9514e63acbe13e71ccdc
+SIZE (swagger-ui-v5.17.14.zip) = 4388280
+SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0
+SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011
+SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046
+SIZE (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = 11010
+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/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aligned-vec-0.6.4.crate) = dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b
+SIZE (rust/crates/aligned-vec-0.6.4.crate) = 12609
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.19.crate) = 301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933
+SIZE (rust/crates/anstream-0.6.19.crate) = 28767
+SHA256 (rust/crates/anstyle-1.0.11.crate) = 862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd
+SIZE (rust/crates/anstyle-1.0.11.crate) = 15880
+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.3.crate) = 6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9
+SIZE (rust/crates/anstyle-query-1.1.3.crate) = 10190
+SHA256 (rust/crates/anstyle-wincon-3.0.9.crate) = 403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882
+SIZE (rust/crates/anstyle-wincon-3.0.9.crate) = 12561
+SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
+SIZE (rust/crates/anyhow-1.0.98.crate) = 53334
+SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
+SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/assert-json-diff-2.0.2.crate) = 47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12
+SIZE (rust/crates/assert-json-diff-2.0.2.crate) = 10874
+SHA256 (rust/crates/async-stream-0.3.6.crate) = 0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476
+SIZE (rust/crates/async-stream-0.3.6.crate) = 13823
+SHA256 (rust/crates/async-stream-impl-0.3.6.crate) = c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d
+SIZE (rust/crates/async-stream-impl-0.3.6.crate) = 4312
+SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5
+SIZE (rust/crates/async-trait-0.1.88.crate) = 32084
+SHA256 (rust/crates/atoi-2.0.0.crate) = f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528
+SIZE (rust/crates/atoi-2.0.0.crate) = 7785
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/av1-grain-0.2.4.crate) = 4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8
+SIZE (rust/crates/av1-grain-0.2.4.crate) = 37050
+SHA256 (rust/crates/avif-serialize-0.8.3.crate) = 98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e
+SIZE (rust/crates/avif-serialize-0.8.3.crate) = 12696
+SHA256 (rust/crates/aws-config-1.8.1.crate) = c18d005c70d2b9c0c1ea8876c039db0ec7fb71164d25c73ccea21bf41fd02171
+SIZE (rust/crates/aws-config-1.8.1.crate) = 133121
+SHA256 (rust/crates/aws-credential-types-1.2.3.crate) = 687bc16bc431a8533fe0097c7f0182874767f920989d7260950172ae8e3c4465
+SIZE (rust/crates/aws-credential-types-1.2.3.crate) = 15081
+SHA256 (rust/crates/aws-lc-rs-1.13.1.crate) = 93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7
+SIZE (rust/crates/aws-lc-rs-1.13.1.crate) = 202707
+SHA256 (rust/crates/aws-lc-sys-0.29.0.crate) = 61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079
+SIZE (rust/crates/aws-lc-sys-0.29.0.crate) = 9021128
+SHA256 (rust/crates/aws-runtime-1.5.8.crate) = 4f6c68419d8ba16d9a7463671593c54f81ba58cab466e9b759418da606dcc2e2
+SIZE (rust/crates/aws-runtime-1.5.8.crate) = 74103
+SHA256 (rust/crates/aws-sdk-s3-1.96.0.crate) = 6e25d24de44b34dcdd5182ac4e4c6f07bcec2661c505acef94c0d293b65505fe
+SIZE (rust/crates/aws-sdk-s3-1.96.0.crate) = 1521430
+SHA256 (rust/crates/aws-sdk-sso-1.74.0.crate) = e0a69de9c1b9272da2872af60c7402683e7f45c06267735b4332deacb203239b
+SIZE (rust/crates/aws-sdk-sso-1.74.0.crate) = 88334
+SHA256 (rust/crates/aws-sdk-ssooidc-1.75.0.crate) = f0b161d836fac72bdd5ac1a4cd1cdc38ab888c7af26cfd95f661be4409505e63
+SIZE (rust/crates/aws-sdk-ssooidc-1.75.0.crate) = 104722
+SHA256 (rust/crates/aws-sdk-sts-1.76.0.crate) = cb1cd79a3412751a341a28e2cd0d6fa4345241976da427b075a0c0cd5409f886
+SIZE (rust/crates/aws-sdk-sts-1.76.0.crate) = 174503
+SHA256 (rust/crates/aws-sigv4-1.3.3.crate) = ddfb9021f581b71870a17eac25b52335b82211cdc092e02b6876b2bcefa61666
+SIZE (rust/crates/aws-sigv4-1.3.3.crate) = 58523
+SHA256 (rust/crates/aws-smithy-async-1.2.5.crate) = 1e190749ea56f8c42bf15dd76c65e14f8f765233e6df9b0506d9d934ebef867c
+SIZE (rust/crates/aws-smithy-async-1.2.5.crate) = 20847
+SHA256 (rust/crates/aws-smithy-checksums-0.63.4.crate) = 244f00666380d35c1c76b90f7b88a11935d11b84076ac22a4c014ea0939627af
+SIZE (rust/crates/aws-smithy-checksums-0.63.4.crate) = 19385
+SHA256 (rust/crates/aws-smithy-eventstream-0.60.9.crate) = 338a3642c399c0a5d157648426110e199ca7fd1c689cc395676b81aa563700c4
+SIZE (rust/crates/aws-smithy-eventstream-0.60.9.crate) = 20071
+SHA256 (rust/crates/aws-smithy-http-0.62.1.crate) = 99335bec6cdc50a346fda1437f9fefe33abf8c99060739a546a16457f2862ca9
+SIZE (rust/crates/aws-smithy-http-0.62.1.crate) = 23778
+SHA256 (rust/crates/aws-smithy-http-client-1.0.5.crate) = 7f491388e741b7ca73b24130ff464c1478acc34d5b331b7dd0a2ee4643595a15
+SIZE (rust/crates/aws-smithy-http-client-1.0.5.crate) = 73463
+SHA256 (rust/crates/aws-smithy-json-0.61.4.crate) = a16e040799d29c17412943bdbf488fd75db04112d0c0d4b9290bacf5ae0014b9
+SIZE (rust/crates/aws-smithy-json-0.61.4.crate) = 27786
+SHA256 (rust/crates/aws-smithy-observability-0.1.3.crate) = 9364d5989ac4dd918e5cc4c4bdcc61c9be17dcd2586ea7f69e348fc7c6cab393
+SIZE (rust/crates/aws-smithy-observability-0.1.3.crate) = 10275
+SHA256 (rust/crates/aws-smithy-query-0.60.7.crate) = f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb
+SIZE (rust/crates/aws-smithy-query-0.60.7.crate) = 7409
+SHA256 (rust/crates/aws-smithy-runtime-1.8.3.crate) = 14302f06d1d5b7d333fd819943075b13d27c7700b414f574c3c35859bfb55d5e
+SIZE (rust/crates/aws-smithy-runtime-1.8.3.crate) = 99497
+SHA256 (rust/crates/aws-smithy-runtime-api-1.8.1.crate) = bd8531b6d8882fd8f48f82a9754e682e29dd44cff27154af51fa3eb730f59efb
+SIZE (rust/crates/aws-smithy-runtime-api-1.8.1.crate) = 77687
+SHA256 (rust/crates/aws-smithy-types-1.3.2.crate) = d498595448e43de7f4296b7b7a18a8a02c61ec9349128c80a368f7c3b4ab11a8
+SIZE (rust/crates/aws-smithy-types-1.3.2.crate) = 92281
+SHA256 (rust/crates/aws-smithy-xml-0.60.10.crate) = 3db87b96cb1b16c024980f133968d52882ca0daaee3a086c6decc500f6c99728
+SIZE (rust/crates/aws-smithy-xml-0.60.10.crate) = 25216
+SHA256 (rust/crates/aws-types-1.3.7.crate) = 8a322fec39e4df22777ed3ad8ea868ac2f94cd15e1a55f6ee8d8d6305057689a
+SIZE (rust/crates/aws-types-1.3.7.crate) = 22670
+SHA256 (rust/crates/axum-0.8.4.crate) = 021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5
+SIZE (rust/crates/axum-0.8.4.crate) = 175159
+SHA256 (rust/crates/axum-core-0.5.2.crate) = 68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6
+SIZE (rust/crates/axum-core-0.5.2.crate) = 26212
+SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
+SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
+SHA256 (rust/crates/base16ct-0.1.1.crate) = 349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce
+SIZE (rust/crates/base16ct-0.1.1.crate) = 10186
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
+SIZE (rust/crates/base64-0.21.7.crate) = 82576
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/base64-simd-0.8.0.crate) = 339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195
+SIZE (rust/crates/base64-simd-0.8.0.crate) = 12531
+SHA256 (rust/crates/base64ct-1.8.0.crate) = 55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba
+SIZE (rust/crates/base64ct-1.8.0.crate) = 31211
+SHA256 (rust/crates/bcrypt-0.17.0.crate) = 92758ad6077e4c76a6cadbce5005f666df70d4f13b19976b1a8062eef880040f
+SIZE (rust/crates/bcrypt-0.17.0.crate) = 12461
+SHA256 (rust/crates/bindgen-0.64.0.crate) = c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4
+SIZE (rust/crates/bindgen-0.64.0.crate) = 204700
+SHA256 (rust/crates/bindgen-0.69.5.crate) = 271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088
+SIZE (rust/crates/bindgen-0.69.5.crate) = 221128
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bitstream-io-2.6.0.crate) = 6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2
+SIZE (rust/crates/bitstream-io-2.6.0.crate) = 38256
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/blowfish-0.9.1.crate) = e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7
+SIZE (rust/crates/blowfish-0.9.1.crate) = 16734
+SHA256 (rust/crates/bollard-0.18.1.crate) = 97ccca1260af6a459d75994ad5acc1651bcabcbdbc41467cc9786519ab854c30
+SIZE (rust/crates/bollard-0.18.1.crate) = 127144
+SHA256 (rust/crates/bollard-stubs-1.47.1-rc.27.3.1.crate) = 3f179cfbddb6e77a5472703d4b30436bff32929c0aa8a9008ecf23d1d3cdd0da
+SIZE (rust/crates/bollard-stubs-1.47.1-rc.27.3.1.crate) = 60497
+SHA256 (rust/crates/built-0.7.7.crate) = 56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b
+SIZE (rust/crates/built-0.7.7.crate) = 29776
+SHA256 (rust/crates/bumpalo-3.18.1.crate) = 793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee
+SIZE (rust/crates/bumpalo-3.18.1.crate) = 96348
+SHA256 (rust/crates/bytemuck-1.23.1.crate) = 5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422
+SIZE (rust/crates/bytemuck-1.23.1.crate) = 52585
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/bytes-utils-0.1.4.crate) = 7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35
+SIZE (rust/crates/bytes-utils-0.1.4.crate) = 20703
+SHA256 (rust/crates/cc-1.2.27.crate) = d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc
+SIZE (rust/crates/cc-1.2.27.crate) = 107070
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
+SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
+SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268
+SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
+SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
+SHA256 (rust/crates/clap-4.5.41.crate) = be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9
+SIZE (rust/crates/clap-4.5.41.crate) = 58298
+SHA256 (rust/crates/clap_builder-4.5.41.crate) = 707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d
+SIZE (rust/crates/clap_builder-4.5.41.crate) = 169633
+SHA256 (rust/crates/clap_derive-4.5.41.crate) = ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491
+SIZE (rust/crates/clap_derive-4.5.41.crate) = 33493
+SHA256 (rust/crates/clap_lex-0.7.5.crate) = b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675
+SIZE (rust/crates/clap_lex-0.7.5.crate) = 13469
+SHA256 (rust/crates/cmake-0.1.54.crate) = e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0
+SIZE (rust/crates/cmake-0.1.54.crate) = 18955
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/colorchoice-1.0.4.crate) = b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75
+SIZE (rust/crates/colorchoice-1.0.4.crate) = 8196
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8
+SIZE (rust/crates/const-oid-0.9.6.crate) = 45382
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-0.10.1.crate) = b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6
+SIZE (rust/crates/core-foundation-0.10.1.crate) = 28886
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crc-3.3.0.crate) = 9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675
+SIZE (rust/crates/crc-3.3.0.crate) = 13905
+SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5
+SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
+SHA256 (rust/crates/crc-fast-1.3.0.crate) = 6bf62af4cc77d8fe1c22dde4e721d87f2f54056139d8c412e1366b740305f56f
+SIZE (rust/crates/crc-fast-1.3.0.crate) = 76401
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+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-queue-0.3.12.crate) = 0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115
+SIZE (rust/crates/crossbeam-queue-0.3.12.crate) = 16270
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
+SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
+SHA256 (rust/crates/crypto-bigint-0.4.9.crate) = ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef
+SIZE (rust/crates/crypto-bigint-0.4.9.crate) = 46826
+SHA256 (rust/crates/crypto-bigint-0.5.5.crate) = 0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76
+SIZE (rust/crates/crypto-bigint-0.5.5.crate) = 83384
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+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/deadpool-0.10.0.crate) = fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490
+SIZE (rust/crates/deadpool-0.10.0.crate) = 31997
+SHA256 (rust/crates/deadpool-runtime-0.1.4.crate) = 092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b
+SIZE (rust/crates/deadpool-runtime-0.1.4.crate) = 7664
+SHA256 (rust/crates/der-0.6.1.crate) = f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de
+SIZE (rust/crates/der-0.6.1.crate) = 74205
+SHA256 (rust/crates/der-0.7.10.crate) = e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb
+SIZE (rust/crates/der-0.7.10.crate) = 90111
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/derive_arbitrary-1.4.1.crate) = 30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800
+SIZE (rust/crates/derive_arbitrary-1.4.1.crate) = 11521
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/docker_credential-1.3.2.crate) = 1d89dfcba45b4afad7450a99b39e751590463e45c04728cf555d36bb66940de8
+SIZE (rust/crates/docker_credential-1.3.2.crate) = 14082
+SHA256 (rust/crates/dotenvy-0.15.7.crate) = 1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b
+SIZE (rust/crates/dotenvy-0.15.7.crate) = 20293
+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.19.crate) = 1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005
+SIZE (rust/crates/dyn-clone-1.0.19.crate) = 12896
+SHA256 (rust/crates/ecdsa-0.14.8.crate) = 413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c
+SIZE (rust/crates/ecdsa-0.14.8.crate) = 24720
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/elliptic-curve-0.12.3.crate) = e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3
*** 1023 LINES SKIPPED ***