From 86035927fd49c43ac4694680fbe1ee3fbc03dbd0 Mon Sep 17 00:00:00 2001 From: Arun Babu Neelicattu Date: Wed, 10 Jun 2026 15:11:34 +0200 Subject: [PATCH] feat(lemonade): add FastFlowLM backend for AMD Ryzen AI NPU inference --- aetherpak.yaml | 12 +- ...r.Lemonade.backends.fastflowlm.appdata.xml | 37 + ...de_server.Lemonade.backends.fastflowlm.png | Bin 0 -> 20022 bytes ...e_server.Lemonade.backends.fastflowlm.yaml | 36 + ...fastflowlm-disable-usr-local-symlink.patch | 32 + .../modules/boost.yaml | 12 + .../modules/fastflowlm.yaml | 45 + .../modules/fftw3f.yaml | 12 + .../modules/generated-flm-cargo-sources.json | 1022 +++++++++++++++++ 9 files changed, 1205 insertions(+), 3 deletions(-) create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.appdata.xml create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.png create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.yaml create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/modules/0001-fastflowlm-disable-usr-local-symlink.patch create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/modules/boost.yaml create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/modules/fastflowlm.yaml create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/modules/fftw3f.yaml create mode 100644 ai.lemonade_server.Lemonade.backends.fastflowlm/modules/generated-flm-cargo-sources.json diff --git a/aetherpak.yaml b/aetherpak.yaml index 9996c5e..fddc2ff 100644 --- a/aetherpak.yaml +++ b/aetherpak.yaml @@ -4,12 +4,18 @@ pages_url: https://lemonade-sdk.github.io/flatpak branding: index_template: .github/workflows/templates/lemonade.html +defaults: + remotes: + amd-npu: https://abn.github.io/flatpaks-amd-npu/amd-npu.flatpakrepo + lemonade: https://lemonade-sdk.github.io/flatpak/lemonade.flatpakrepo + apps: - id: ai.lemonade_server.Lemonade - branch: stable arches: - x86_64 - aarch64 manifest: ai.lemonade_server.Lemonade/ai.lemonade_server.Lemonade.yaml - builder_args: - - --install-deps-from=flathub + - id: ai.lemonade_server.Lemonade.backends.fastflowlm + arches: + - x86_64 + manifest: ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.yaml diff --git a/ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.appdata.xml b/ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.appdata.xml new file mode 100644 index 0000000..eaacf3b --- /dev/null +++ b/ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.appdata.xml @@ -0,0 +1,37 @@ + + + ai.lemonade_server.Lemonade.backends.fastflowlm + ai.lemonade_server.Lemonade + CC0-1.0 + MIT + FastFlowLM Backend + AMD Ryzen AI NPU inference backend for Lemonade + + FastFlowLM + + ai.lemonade_server.Lemonade.backends.fastflowlm + +

+ This extension adds the FastFlowLM inference backend to Lemonade. Once + installed, Lemonade can select FastFlowLM as one of its backends to serve + large language models directly on AMD Ryzen AI NPUs. +

+

+ FastFlowLM is an NPU-optimized runtime that delivers fast, efficient + language model inference on tile-structured neural processing units. It + provides instant token streaming and support for context windows up to + 256k tokens, with multiple AI modalities including reasoning models, + vision, audio, and embeddings. +

+
+ https://fastflowlm.com/ + https://github.com/FastFlowLM/FastFlowLM/issues + + flm + + + + + + +
diff --git a/ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.png b/ai.lemonade_server.Lemonade.backends.fastflowlm/ai.lemonade_server.Lemonade.backends.fastflowlm.png new file mode 100644 index 0000000000000000000000000000000000000000..1d936cc53bab15fc1e91b5292587ffaee52ca196 GIT binary patch literal 20022 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/dev/null || true + - chmod a+rX "${FLATPAK_DEST}/bin/flm" +subdir: src +sources: + - type: git + url: https://github.com/FastFlowLM/FastFlowLM.git + commit: 5324dd73162e7005546d287aa4daeceff56e3b2c + - type: patch + path: 0001-fastflowlm-disable-usr-local-symlink.patch + - type: inline + contents: | + [source.crates-io] + replace-with = "vendored-sources" + + [source.vendored-sources] + directory = "/run/build/fastflowlm/cargo/vendor" + dest: third_party/tokenizers-cpp/rust/.cargo + dest-filename: config.toml + - generated-flm-cargo-sources.json \ No newline at end of file diff --git a/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/fftw3f.yaml b/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/fftw3f.yaml new file mode 100644 index 0000000..34466dd --- /dev/null +++ b/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/fftw3f.yaml @@ -0,0 +1,12 @@ +name: fftw3f +buildsystem: simple +build-commands: + - ./configure --prefix=${FLATPAK_DEST} + --libdir=${FLATPAK_DEST}/lib + --enable-shared --disable-static --enable-threads --enable-float --enable-avx + - make -j${FLATPAK_BUILDER_N_JOBS:-4} + - make install +sources: + - type: archive + url: https://www.fftw.org/fftw-3.3.10.tar.gz + sha256: 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467 diff --git a/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/generated-flm-cargo-sources.json b/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/generated-flm-cargo-sources.json new file mode 100644 index 0000000..c880519 --- /dev/null +++ b/ai.lemonade_server.Lemonade.backends.fastflowlm/modules/generated-flm-cargo-sources.json @@ -0,0 +1,1022 @@ +[ + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ahash/ahash-0.8.12.crate", + "sha256": "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75", + "dest": "cargo/vendor/ahash-0.8.12" + }, + { + "type": "inline", + "contents": "{\"package\": \"5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75\", \"files\": {}}", + "dest": "cargo/vendor/ahash-0.8.12", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/aho-corasick/aho-corasick-1.1.4.crate", + "sha256": "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301", + "dest": "cargo/vendor/aho-corasick-1.1.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301\", \"files\": {}}", + "dest": "cargo/vendor/aho-corasick-1.1.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/base64/base64-0.13.1.crate", + "sha256": "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8", + "dest": "cargo/vendor/base64-0.13.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8\", \"files\": {}}", + "dest": "cargo/vendor/base64-0.13.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/bitflags/bitflags-2.12.1.crate", + "sha256": "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a", + "dest": "cargo/vendor/bitflags-2.12.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a\", \"files\": {}}", + "dest": "cargo/vendor/bitflags-2.12.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/castaway/castaway-0.2.4.crate", + "sha256": "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a", + "dest": "cargo/vendor/castaway-0.2.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a\", \"files\": {}}", + "dest": "cargo/vendor/castaway-0.2.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/cc/cc-1.2.63.crate", + "sha256": "556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f", + "dest": "cargo/vendor/cc-1.2.63" + }, + { + "type": "inline", + "contents": "{\"package\": \"556e016178bb5662a08681bbe0f00f8e17631781a4dfc8c45e466e4b185ec27f\", \"files\": {}}", + "dest": "cargo/vendor/cc-1.2.63", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/cfg-if/cfg-if-1.0.4.crate", + "sha256": "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801", + "dest": "cargo/vendor/cfg-if-1.0.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\", \"files\": {}}", + "dest": "cargo/vendor/cfg-if-1.0.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/compact_str/compact_str-0.9.1.crate", + "sha256": "9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab", + "dest": "cargo/vendor/compact_str-0.9.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"9dfdd1c2274d9aa354115b09dc9a901d6c5576818cdf70d14cae2bdb47df00ab\", \"files\": {}}", + "dest": "cargo/vendor/compact_str-0.9.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-deque/crossbeam-deque-0.8.6.crate", + "sha256": "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51", + "dest": "cargo/vendor/crossbeam-deque-0.8.6" + }, + { + "type": "inline", + "contents": "{\"package\": \"9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-deque-0.8.6", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-epoch/crossbeam-epoch-0.9.18.crate", + "sha256": "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e", + "dest": "cargo/vendor/crossbeam-epoch-0.9.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-epoch-0.9.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/crossbeam-utils/crossbeam-utils-0.8.21.crate", + "sha256": "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28", + "dest": "cargo/vendor/crossbeam-utils-0.8.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28\", \"files\": {}}", + "dest": "cargo/vendor/crossbeam-utils-0.8.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling/darling-0.20.11.crate", + "sha256": "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee", + "dest": "cargo/vendor/darling-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee\", \"files\": {}}", + "dest": "cargo/vendor/darling-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling_core/darling_core-0.20.11.crate", + "sha256": "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e", + "dest": "cargo/vendor/darling_core-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e\", \"files\": {}}", + "dest": "cargo/vendor/darling_core-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/darling_macro/darling_macro-0.20.11.crate", + "sha256": "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead", + "dest": "cargo/vendor/darling_macro-0.20.11" + }, + { + "type": "inline", + "contents": "{\"package\": \"fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead\", \"files\": {}}", + "dest": "cargo/vendor/darling_macro-0.20.11", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/dary_heap/dary_heap-0.3.9.crate", + "sha256": "8b1e3a325bc115f096c8b77bbf027a7c2592230e70be2d985be950d3d5e60ebe", + "dest": "cargo/vendor/dary_heap-0.3.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"8b1e3a325bc115f096c8b77bbf027a7c2592230e70be2d985be950d3d5e60ebe\", \"files\": {}}", + "dest": "cargo/vendor/dary_heap-0.3.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder/derive_builder-0.20.2.crate", + "sha256": "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947", + "dest": "cargo/vendor/derive_builder-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder_core/derive_builder_core-0.20.2.crate", + "sha256": "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8", + "dest": "cargo/vendor/derive_builder_core-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder_core-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/derive_builder_macro/derive_builder_macro-0.20.2.crate", + "sha256": "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c", + "dest": "cargo/vendor/derive_builder_macro-0.20.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c\", \"files\": {}}", + "dest": "cargo/vendor/derive_builder_macro-0.20.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/either/either-1.16.0.crate", + "sha256": "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e", + "dest": "cargo/vendor/either-1.16.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e\", \"files\": {}}", + "dest": "cargo/vendor/either-1.16.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/esaxx-rs/esaxx-rs-0.1.10.crate", + "sha256": "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6", + "dest": "cargo/vendor/esaxx-rs-0.1.10" + }, + { + "type": "inline", + "contents": "{\"package\": \"d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6\", \"files\": {}}", + "dest": "cargo/vendor/esaxx-rs-0.1.10", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/find-msvc-tools/find-msvc-tools-0.1.9.crate", + "sha256": "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582", + "dest": "cargo/vendor/find-msvc-tools-0.1.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582\", \"files\": {}}", + "dest": "cargo/vendor/find-msvc-tools-0.1.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/fnv/fnv-1.0.7.crate", + "sha256": "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", + "dest": "cargo/vendor/fnv-1.0.7" + }, + { + "type": "inline", + "contents": "{\"package\": \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\", \"files\": {}}", + "dest": "cargo/vendor/fnv-1.0.7", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/getrandom/getrandom-0.3.4.crate", + "sha256": "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd", + "dest": "cargo/vendor/getrandom-0.3.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\", \"files\": {}}", + "dest": "cargo/vendor/getrandom-0.3.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ident_case/ident_case-1.0.1.crate", + "sha256": "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39", + "dest": "cargo/vendor/ident_case-1.0.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\", \"files\": {}}", + "dest": "cargo/vendor/ident_case-1.0.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/itertools/itertools-0.14.0.crate", + "sha256": "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285", + "dest": "cargo/vendor/itertools-0.14.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\", \"files\": {}}", + "dest": "cargo/vendor/itertools-0.14.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/itoa/itoa-1.0.18.crate", + "sha256": "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682", + "dest": "cargo/vendor/itoa-1.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\", \"files\": {}}", + "dest": "cargo/vendor/itoa-1.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/libc/libc-0.2.186.crate", + "sha256": "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66", + "dest": "cargo/vendor/libc-0.2.186" + }, + { + "type": "inline", + "contents": "{\"package\": \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\", \"files\": {}}", + "dest": "cargo/vendor/libc-0.2.186", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/log/log-0.4.31.crate", + "sha256": "113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f", + "dest": "cargo/vendor/log-0.4.31" + }, + { + "type": "inline", + "contents": "{\"package\": \"113b30b4cd05f7c06868fdb2854f66a7b9fece9a48425351cd532e810d74024f\", \"files\": {}}", + "dest": "cargo/vendor/log-0.4.31", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/macro_rules_attribute/macro_rules_attribute-0.2.2.crate", + "sha256": "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520", + "dest": "cargo/vendor/macro_rules_attribute-0.2.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520\", \"files\": {}}", + "dest": "cargo/vendor/macro_rules_attribute-0.2.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/macro_rules_attribute-proc_macro/macro_rules_attribute-proc_macro-0.2.2.crate", + "sha256": "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30", + "dest": "cargo/vendor/macro_rules_attribute-proc_macro-0.2.2" + }, + { + "type": "inline", + "contents": "{\"package\": \"670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30\", \"files\": {}}", + "dest": "cargo/vendor/macro_rules_attribute-proc_macro-0.2.2", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/memchr/memchr-2.8.1.crate", + "sha256": "6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8", + "dest": "cargo/vendor/memchr-2.8.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"6b947ae49db0d222b1dbc6b113ce7248a3fc3a6ca21b696717bfc000ba4484d8\", \"files\": {}}", + "dest": "cargo/vendor/memchr-2.8.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/minimal-lexical/minimal-lexical-0.2.1.crate", + "sha256": "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a", + "dest": "cargo/vendor/minimal-lexical-0.2.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\", \"files\": {}}", + "dest": "cargo/vendor/minimal-lexical-0.2.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/monostate/monostate-0.1.18.crate", + "sha256": "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67", + "dest": "cargo/vendor/monostate-0.1.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67\", \"files\": {}}", + "dest": "cargo/vendor/monostate-0.1.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/monostate-impl/monostate-impl-0.1.18.crate", + "sha256": "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9", + "dest": "cargo/vendor/monostate-impl-0.1.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9\", \"files\": {}}", + "dest": "cargo/vendor/monostate-impl-0.1.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/nom/nom-7.1.3.crate", + "sha256": "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a", + "dest": "cargo/vendor/nom-7.1.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\", \"files\": {}}", + "dest": "cargo/vendor/nom-7.1.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/once_cell/once_cell-1.21.4.crate", + "sha256": "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50", + "dest": "cargo/vendor/once_cell-1.21.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\", \"files\": {}}", + "dest": "cargo/vendor/once_cell-1.21.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/onig/onig-6.5.3.crate", + "sha256": "0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2", + "dest": "cargo/vendor/onig-6.5.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2\", \"files\": {}}", + "dest": "cargo/vendor/onig-6.5.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/onig_sys/onig_sys-69.9.3.crate", + "sha256": "1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7", + "dest": "cargo/vendor/onig_sys-69.9.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7\", \"files\": {}}", + "dest": "cargo/vendor/onig_sys-69.9.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/paste/paste-1.0.15.crate", + "sha256": "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a", + "dest": "cargo/vendor/paste-1.0.15" + }, + { + "type": "inline", + "contents": "{\"package\": \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\", \"files\": {}}", + "dest": "cargo/vendor/paste-1.0.15", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/pkg-config/pkg-config-0.3.33.crate", + "sha256": "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e", + "dest": "cargo/vendor/pkg-config-0.3.33" + }, + { + "type": "inline", + "contents": "{\"package\": \"19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e\", \"files\": {}}", + "dest": "cargo/vendor/pkg-config-0.3.33", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ppv-lite86/ppv-lite86-0.2.21.crate", + "sha256": "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9", + "dest": "cargo/vendor/ppv-lite86-0.2.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\", \"files\": {}}", + "dest": "cargo/vendor/ppv-lite86-0.2.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.106.crate", + "sha256": "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934", + "dest": "cargo/vendor/proc-macro2-1.0.106" + }, + { + "type": "inline", + "contents": "{\"package\": \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\", \"files\": {}}", + "dest": "cargo/vendor/proc-macro2-1.0.106", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/quote/quote-1.0.45.crate", + "sha256": "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924", + "dest": "cargo/vendor/quote-1.0.45" + }, + { + "type": "inline", + "contents": "{\"package\": \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\", \"files\": {}}", + "dest": "cargo/vendor/quote-1.0.45", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/r-efi/r-efi-5.3.0.crate", + "sha256": "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f", + "dest": "cargo/vendor/r-efi-5.3.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\", \"files\": {}}", + "dest": "cargo/vendor/r-efi-5.3.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand/rand-0.9.4.crate", + "sha256": "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea", + "dest": "cargo/vendor/rand-0.9.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea\", \"files\": {}}", + "dest": "cargo/vendor/rand-0.9.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand_chacha/rand_chacha-0.9.0.crate", + "sha256": "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb", + "dest": "cargo/vendor/rand_chacha-0.9.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\", \"files\": {}}", + "dest": "cargo/vendor/rand_chacha-0.9.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rand_core/rand_core-0.9.5.crate", + "sha256": "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c", + "dest": "cargo/vendor/rand_core-0.9.5" + }, + { + "type": "inline", + "contents": "{\"package\": \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\", \"files\": {}}", + "dest": "cargo/vendor/rand_core-0.9.5", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon/rayon-1.12.0.crate", + "sha256": "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d", + "dest": "cargo/vendor/rayon-1.12.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d\", \"files\": {}}", + "dest": "cargo/vendor/rayon-1.12.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon-cond/rayon-cond-0.4.0.crate", + "sha256": "2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f", + "dest": "cargo/vendor/rayon-cond-0.4.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f\", \"files\": {}}", + "dest": "cargo/vendor/rayon-cond-0.4.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rayon-core/rayon-core-1.13.0.crate", + "sha256": "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91", + "dest": "cargo/vendor/rayon-core-1.13.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91\", \"files\": {}}", + "dest": "cargo/vendor/rayon-core-1.13.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex/regex-1.12.3.crate", + "sha256": "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276", + "dest": "cargo/vendor/regex-1.12.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276\", \"files\": {}}", + "dest": "cargo/vendor/regex-1.12.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex-automata/regex-automata-0.4.14.crate", + "sha256": "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f", + "dest": "cargo/vendor/regex-automata-0.4.14" + }, + { + "type": "inline", + "contents": "{\"package\": \"6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f\", \"files\": {}}", + "dest": "cargo/vendor/regex-automata-0.4.14", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/regex-syntax/regex-syntax-0.8.10.crate", + "sha256": "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a", + "dest": "cargo/vendor/regex-syntax-0.8.10" + }, + { + "type": "inline", + "contents": "{\"package\": \"dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a\", \"files\": {}}", + "dest": "cargo/vendor/regex-syntax-0.8.10", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/rustversion/rustversion-1.0.22.crate", + "sha256": "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d", + "dest": "cargo/vendor/rustversion-1.0.22" + }, + { + "type": "inline", + "contents": "{\"package\": \"b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d\", \"files\": {}}", + "dest": "cargo/vendor/rustversion-1.0.22", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/ryu/ryu-1.0.23.crate", + "sha256": "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f", + "dest": "cargo/vendor/ryu-1.0.23" + }, + { + "type": "inline", + "contents": "{\"package\": \"9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f\", \"files\": {}}", + "dest": "cargo/vendor/ryu-1.0.23", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde/serde-1.0.228.crate", + "sha256": "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e", + "dest": "cargo/vendor/serde-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e\", \"files\": {}}", + "dest": "cargo/vendor/serde-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_core/serde_core-1.0.228.crate", + "sha256": "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad", + "dest": "cargo/vendor/serde_core-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad\", \"files\": {}}", + "dest": "cargo/vendor/serde_core-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_derive/serde_derive-1.0.228.crate", + "sha256": "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79", + "dest": "cargo/vendor/serde_derive-1.0.228" + }, + { + "type": "inline", + "contents": "{\"package\": \"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79\", \"files\": {}}", + "dest": "cargo/vendor/serde_derive-1.0.228", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/serde_json/serde_json-1.0.150.crate", + "sha256": "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9", + "dest": "cargo/vendor/serde_json-1.0.150" + }, + { + "type": "inline", + "contents": "{\"package\": \"e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9\", \"files\": {}}", + "dest": "cargo/vendor/serde_json-1.0.150", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/shlex/shlex-2.0.1.crate", + "sha256": "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba", + "dest": "cargo/vendor/shlex-2.0.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\", \"files\": {}}", + "dest": "cargo/vendor/shlex-2.0.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/smallvec/smallvec-1.15.1.crate", + "sha256": "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03", + "dest": "cargo/vendor/smallvec-1.15.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03\", \"files\": {}}", + "dest": "cargo/vendor/smallvec-1.15.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/spm_precompiled/spm_precompiled-0.1.4.crate", + "sha256": "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326", + "dest": "cargo/vendor/spm_precompiled-0.1.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326\", \"files\": {}}", + "dest": "cargo/vendor/spm_precompiled-0.1.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/static_assertions/static_assertions-1.1.0.crate", + "sha256": "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f", + "dest": "cargo/vendor/static_assertions-1.1.0" + }, + { + "type": "inline", + "contents": "{\"package\": \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\", \"files\": {}}", + "dest": "cargo/vendor/static_assertions-1.1.0", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/strsim/strsim-0.11.1.crate", + "sha256": "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f", + "dest": "cargo/vendor/strsim-0.11.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\", \"files\": {}}", + "dest": "cargo/vendor/strsim-0.11.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/syn/syn-2.0.117.crate", + "sha256": "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99", + "dest": "cargo/vendor/syn-2.0.117" + }, + { + "type": "inline", + "contents": "{\"package\": \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\", \"files\": {}}", + "dest": "cargo/vendor/syn-2.0.117", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/thiserror/thiserror-2.0.18.crate", + "sha256": "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4", + "dest": "cargo/vendor/thiserror-2.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4\", \"files\": {}}", + "dest": "cargo/vendor/thiserror-2.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/thiserror-impl/thiserror-impl-2.0.18.crate", + "sha256": "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5", + "dest": "cargo/vendor/thiserror-impl-2.0.18" + }, + { + "type": "inline", + "contents": "{\"package\": \"ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5\", \"files\": {}}", + "dest": "cargo/vendor/thiserror-impl-2.0.18", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/tokenizers/tokenizers-0.21.4.crate", + "sha256": "a620b996116a59e184c2fa2dfd8251ea34a36d0a514758c6f966386bd2e03476", + "dest": "cargo/vendor/tokenizers-0.21.4" + }, + { + "type": "inline", + "contents": "{\"package\": \"a620b996116a59e184c2fa2dfd8251ea34a36d0a514758c6f966386bd2e03476\", \"files\": {}}", + "dest": "cargo/vendor/tokenizers-0.21.4", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.24.crate", + "sha256": "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75", + "dest": "cargo/vendor/unicode-ident-1.0.24" + }, + { + "type": "inline", + "contents": "{\"package\": \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\", \"files\": {}}", + "dest": "cargo/vendor/unicode-ident-1.0.24", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-normalization-alignments/unicode-normalization-alignments-0.1.12.crate", + "sha256": "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de", + "dest": "cargo/vendor/unicode-normalization-alignments-0.1.12" + }, + { + "type": "inline", + "contents": "{\"package\": \"43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de\", \"files\": {}}", + "dest": "cargo/vendor/unicode-normalization-alignments-0.1.12", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode-segmentation/unicode-segmentation-1.13.3.crate", + "sha256": "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8", + "dest": "cargo/vendor/unicode-segmentation-1.13.3" + }, + { + "type": "inline", + "contents": "{\"package\": \"c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8\", \"files\": {}}", + "dest": "cargo/vendor/unicode-segmentation-1.13.3", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/unicode_categories/unicode_categories-0.1.1.crate", + "sha256": "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e", + "dest": "cargo/vendor/unicode_categories-0.1.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e\", \"files\": {}}", + "dest": "cargo/vendor/unicode_categories-0.1.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/version_check/version_check-0.9.5.crate", + "sha256": "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a", + "dest": "cargo/vendor/version_check-0.9.5" + }, + { + "type": "inline", + "contents": "{\"package\": \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\", \"files\": {}}", + "dest": "cargo/vendor/version_check-0.9.5", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/wasip2/wasip2-1.0.3+wasi-0.2.9.crate", + "sha256": "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6", + "dest": "cargo/vendor/wasip2-1.0.3+wasi-0.2.9" + }, + { + "type": "inline", + "contents": "{\"package\": \"20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6\", \"files\": {}}", + "dest": "cargo/vendor/wasip2-1.0.3+wasi-0.2.9", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/wit-bindgen/wit-bindgen-0.57.1.crate", + "sha256": "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e", + "dest": "cargo/vendor/wit-bindgen-0.57.1" + }, + { + "type": "inline", + "contents": "{\"package\": \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\", \"files\": {}}", + "dest": "cargo/vendor/wit-bindgen-0.57.1", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zerocopy/zerocopy-0.8.50.crate", + "sha256": "3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1", + "dest": "cargo/vendor/zerocopy-0.8.50" + }, + { + "type": "inline", + "contents": "{\"package\": \"3b065d4f0e55f82fae73202e189638116a87c55ab6b8e6c2721e13dd9d854ad1\", \"files\": {}}", + "dest": "cargo/vendor/zerocopy-0.8.50", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zerocopy-derive/zerocopy-derive-0.8.50.crate", + "sha256": "0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639", + "dest": "cargo/vendor/zerocopy-derive-0.8.50" + }, + { + "type": "inline", + "contents": "{\"package\": \"0b631b19d36a892ab55420c92dbc83ccd79274f25be714855d3074aa71cab639\", \"files\": {}}", + "dest": "cargo/vendor/zerocopy-derive-0.8.50", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "archive", + "archive-type": "tar-gzip", + "url": "https://static.crates.io/crates/zmij/zmij-1.0.21.crate", + "sha256": "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa", + "dest": "cargo/vendor/zmij-1.0.21" + }, + { + "type": "inline", + "contents": "{\"package\": \"b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa\", \"files\": {}}", + "dest": "cargo/vendor/zmij-1.0.21", + "dest-filename": ".cargo-checksum.json" + }, + { + "type": "inline", + "contents": "[source.vendored-sources]\ndirectory = \"cargo/vendor\"\n\n[source.crates-io]\nreplace-with = \"vendored-sources\"\n", + "dest": "cargo", + "dest-filename": "config" + } +]