diff --git a/Cargo.lock b/Cargo.lock index babd529f5..116b6ded8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2661,6 +2661,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -2695,6 +2704,16 @@ version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +[[package]] +name = "heapless" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ba4bd83f9415b58b4ed8dc5714c76e626a105be4646c02630ad730ad3b5aa4" +dependencies = [ + "hash32", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.5.0" @@ -5026,10 +5045,10 @@ dependencies = [ "tokio", "tokio-util", "tracing", - "unicode-width 0.2.2", "uucore", "uutils_term_grid", "windows-sys 0.61.2", + "xutf", "yansi", ] @@ -5069,6 +5088,7 @@ dependencies = [ "grep-pcre2", "grep-regex", "grep-searcher", + "heapless", "html-to-markdown-rs", "icy_sixel", "ignore", @@ -5107,11 +5127,6 @@ dependencies = [ "tokio-util", "toml", "uiautomation", - "unicode-normalization", - "unicode-properties", - "unicode-script", - "unicode-segmentation", - "unicode-width 0.2.2", "windows-sys 0.61.2", "winreg 0.56.0", "x11rb", @@ -7527,12 +7542,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" -[[package]] -name = "unicode-script" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" - [[package]] name = "unicode-segmentation" version = "1.13.3" @@ -8843,9 +8852,9 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7" [[package]] name = "xutf" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2ab198275c47f70ceb92678c000b1bb9468a52297c5ce20c5ab5e99fa2c33d" +checksum = "a14f3ca7038796715a5f5fd1c22aac21423b4f86fd9ef5585ef1744a5cfc573e" [[package]] name = "xxhash-rust" diff --git a/Cargo.toml b/Cargo.toml index 2d18318b3..24f6d5bb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,6 @@ repository = "https://github.com/can1357/oh-my-pi" [patch.crates-io] brush-core = { path = "crates/vendor/brush-core" } - [profile.release] opt-level = 3 lto = "fat" @@ -232,16 +231,13 @@ clap = { version = "4", features = ["derive"] } pdf-inspector = "1" regex = "1" similar = "3.1.0" -unicode-segmentation = "1.13" -unicode-normalization = "0.1" -unicode-properties = "=0.1.3" # Unicode 16 - must match fancy-regex/HF/CPython oracles (utok) -unicode-width = "0.2" fontdue = { version = "0.9", default-features = false } # ────────────────────────────────────────────────────────────────────────────── # Data Structures - Collections # ────────────────────────────────────────────────────────────────────────────── phf = { version = "0.13", features = ["macros"] } +heapless = "0.9" smallvec = { version = "1.15.1", features = [ "serde", "write", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 44f743a6f..690e0f154 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -502,13 +502,13 @@ "REPO_MAPPING:rules_rust+,bazel_skylib bazel_skylib+", "REPO_MAPPING:rules_rust+,bazel_tools bazel_tools", "REPO_MAPPING:rules_rust+,rules_cc rules_cc+", - "FILE:@@//Cargo.lock c9822487c1973f7cc31b8bb868b1fea65dfb5eee3945c55bcb9f85bc4828dcc7", - "FILE:@@//Cargo.toml 5b623d1259660430d5ba7bba05da76f7f194826eb3103f5fedeb51f61e1ae398", + "FILE:@@//Cargo.lock c0c5e77f26c399a768c77f77f2d7272aa294c3543fcc9395ad703468e5fe038e", + "FILE:@@//Cargo.toml 4cc2e1307f79c1b3580ff7abff2ce1ab44ca1c8c61f93c844d05a5edbd3bb1d5", "FILE:@@//crates/pi-ast/Cargo.toml 64ef1448308a98a4e7fce94d178e7cd4f62cf85f9270faa8557ecdd2619d676f", "FILE:@@//crates/pi-builtins/Cargo.toml d307f8718da1fcdd470d6eccefa6c8bdb36ddd6ec1ff6dac80937da4bd7edc1f", "FILE:@@//crates/pi-walker/Cargo.toml 464d100d6326658eebdbe2742acb6c637d124ee77c686c1f5c404101f43c7347", "FILE:@@//crates/pi-iso/Cargo.toml 1cd7ed7e5e8cbe9b1683f38f1250d475d6bec29cd84c757af817eb5a79cffdb2", - "FILE:@@//crates/pi-natives/Cargo.toml ff1ec35499da708c11709e176d529423c36f36dbbd0b9540648203d171d8e155", + "FILE:@@//crates/pi-natives/Cargo.toml dac9dc14d00934d455da94459f7fe6bb89063ce4b6615fa09698a2be95484aaa", "FILE:@@//crates/pi-shell/Cargo.toml 33e310fe70852a0fe983008d5fa89e66bc46ef97a4549bda1e204a019359ceb8", "FILE:@@//crates/vendor/brush-core/Cargo.toml cc50ec81f548f8ca4a3fd2b280665319dba66df9cbc9bd15c3edd6266bc3269c", "FILE:@@//crates/pi-voice/Cargo.toml 565b5e48abc8bf664827d4d08924b5b8819c6b7b870fb659e479e1f87f183fc0" @@ -518,9 +518,9 @@ "repoRuleId": "@@rules_rust+//crate_universe/private:crates_vendor.bzl%crates_vendor_remote_repository", "attributes": { "contents": { - "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"ansi-width-0.1.0\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ansi-width\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.104\",\n actual = \"@crates__anyhow-1.0.104//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crates__anyhow-1.0.104//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arboard-3.6.1\",\n actual = \"@crates__arboard-3.6.1//:arboard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arboard\",\n actual = \"@crates__arboard-3.6.1//:arboard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argmax-0.3.1\",\n actual = \"@crates__argmax-0.3.1//:argmax\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argmax\",\n actual = \"@crates__argmax-0.3.1//:argmax\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ashpd-0.11.1\",\n actual = \"@crates__ashpd-0.11.1//:ashpd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ashpd\",\n actual = \"@crates__ashpd-0.11.1//:ashpd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ast-grep-core-0.39.9\",\n actual = \"@crates__ast-grep-core-0.39.9//:ast_grep_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ast-grep-core\",\n actual = \"@crates__ast-grep-core-0.39.9//:ast_grep_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-recursion-1.1.1\",\n actual = \"@crates__async-recursion-1.1.1//:async_recursion\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-recursion\",\n actual = \"@crates__async-recursion-1.1.1//:async_recursion\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-trait-0.1.92\",\n actual = \"@crates__async-trait-0.1.92//:async_trait\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-trait\",\n actual = \"@crates__async-trait-0.1.92//:async_trait\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"atspi-0.30.0\",\n actual = \"@crates__atspi-0.30.0//:atspi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"atspi\",\n actual = \"@crates__atspi-0.30.0//:atspi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"audiopus_sys-0.2.2\",\n actual = \"@crates__audiopus_sys-0.2.2//:audiopus_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"audiopus_sys\",\n actual = \"@crates__audiopus_sys-0.2.2//:audiopus_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64-0.22.1\",\n actual = \"@crates__base64-0.22.1//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64\",\n actual = \"@crates__base64-0.22.1//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bigdecimal-0.4.10\",\n actual = \"@crates__bigdecimal-0.4.10//:bigdecimal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bigdecimal\",\n actual = \"@crates__bigdecimal-0.4.10//:bigdecimal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"binary-heap-plus-0.5.0\",\n actual = \"@crates__binary-heap-plus-0.5.0//:binary_heap_plus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"binary-heap-plus\",\n actual = \"@crates__binary-heap-plus-0.5.0//:binary_heap_plus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bon-3.9.3\",\n actual = \"@crates__bon-3.9.3//:bon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bon\",\n actual = \"@crates__bon-3.9.3//:bon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"brush-parser-0.3.0\",\n actual = \"@crates__brush-parser-0.3.0//:brush_parser\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"brush-parser-0.4.0\",\n actual = \"@crates__brush-parser-0.4.0//:brush_parser\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bstr-1.13.1\",\n actual = \"@crates__bstr-1.13.1//:bstr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bstr\",\n actual = \"@crates__bstr-1.13.1//:bstr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytecount-0.6.9\",\n actual = \"@crates__bytecount-0.6.9//:bytecount\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytecount\",\n actual = \"@crates__bytecount-0.6.9//:bytecount\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes-1.12.1\",\n actual = \"@crates__bytes-1.12.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes\",\n actual = \"@crates__bytes-1.12.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cached-0.59.0\",\n actual = \"@crates__cached-0.59.0//:cached\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cached\",\n actual = \"@crates__cached-0.59.0//:cached\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cfg-if-1.0.4\",\n actual = \"@crates__cfg-if-1.0.4//:cfg_if\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cfg-if\",\n actual = \"@crates__cfg-if-1.0.4//:cfg_if\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"check_elevation-0.2.7\",\n actual = \"@crates__check_elevation-0.2.7//:check_elevation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"check_elevation\",\n actual = \"@crates__check_elevation-0.2.7//:check_elevation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono-0.4.45\",\n actual = \"@crates__chrono-0.4.45//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono\",\n actual = \"@crates__chrono-0.4.45//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.6.6\",\n actual = \"@crates__clap-4.6.6//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crates__clap-4.6.6//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clipboard-win-5.4.1\",\n actual = \"@crates__clipboard-win-5.4.1//:clipboard_win\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clipboard-win\",\n actual = \"@crates__clipboard-win-5.4.1//:clipboard_win\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"codesnake-0.2.1\",\n actual = \"@crates__codesnake-0.2.1//:codesnake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"codesnake\",\n actual = \"@crates__codesnake-0.2.1//:codesnake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"color-print-0.3.7\",\n actual = \"@crates__color-print-0.3.7//:color_print\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"color-print\",\n actual = \"@crates__color-print-0.3.7//:color_print\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"command-fds-0.3.3\",\n actual = \"@crates__command-fds-0.3.3//:command_fds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"command-fds\",\n actual = \"@crates__command-fds-0.3.3//:command_fds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"compare-0.1.0\",\n actual = \"@crates__compare-0.1.0//:compare\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"compare\",\n actual = \"@crates__compare-0.1.0//:compare\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"core-graphics-0.25.0\",\n actual = \"@crates__core-graphics-0.25.0//:core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"core-graphics\",\n actual = \"@crates__core-graphics-0.25.0//:core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dashmap-6.2.1\",\n actual = \"@crates__dashmap-6.2.1//:dashmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dashmap\",\n actual = \"@crates__dashmap-6.2.1//:dashmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dns-lookup-3.0.1\",\n actual = \"@crates__dns-lookup-3.0.1//:dns_lookup\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dns-lookup\",\n actual = \"@crates__dns-lookup-3.0.1//:dns_lookup\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"enigo-0.6.1\",\n actual = \"@crates__enigo-0.6.1//:enigo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"enigo\",\n actual = \"@crates__enigo-0.6.1//:enigo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"faccess-0.2.4\",\n actual = \"@crates__faccess-0.2.4//:faccess\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"faccess\",\n actual = \"@crates__faccess-0.2.4//:faccess\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fancy-regex-0.16.2\",\n actual = \"@crates__fancy-regex-0.16.2//:fancy_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fancy-regex-0.17.0\",\n actual = \"@crates__fancy-regex-0.17.0//:fancy_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"filetime-0.2.29\",\n actual = \"@crates__filetime-0.2.29//:filetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"filetime\",\n actual = \"@crates__filetime-0.2.29//:filetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"flume-0.11.1\",\n actual = \"@crates__flume-0.11.1//:flume\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"flume\",\n actual = \"@crates__flume-0.11.1//:flume\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foldhash-0.2.0\",\n actual = \"@crates__foldhash-0.2.0//:foldhash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foldhash\",\n actual = \"@crates__foldhash-0.2.0//:foldhash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fontdue-0.9.4\",\n actual = \"@crates__fontdue-0.9.4//:fontdue\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fontdue\",\n actual = \"@crates__fontdue-0.9.4//:fontdue\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types-0.5.0\",\n actual = \"@crates__foreign-types-0.5.0//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types\",\n actual = \"@crates__foreign-types-0.5.0//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fs_extra-1.3.0\",\n actual = \"@crates__fs_extra-1.3.0//:fs_extra\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fs_extra\",\n actual = \"@crates__fs_extra-1.3.0//:fs_extra\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures-0.3.34\",\n actual = \"@crates__futures-0.3.34//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures\",\n actual = \"@crates__futures-0.3.34//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"getrandom-0.4.3\",\n actual = \"@crates__getrandom-0.4.3//:getrandom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"getrandom\",\n actual = \"@crates__getrandom-0.4.3//:getrandom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"glob-0.3.4\",\n actual = \"@crates__glob-0.3.4//:glob\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"glob\",\n actual = \"@crates__glob-0.3.4//:glob\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"globset-0.4.20\",\n actual = \"@crates__globset-0.4.20//:globset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"globset\",\n actual = \"@crates__globset-0.4.20//:globset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-cli-0.1.12\",\n actual = \"@crates__grep-cli-0.1.12//:grep_cli\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-cli\",\n actual = \"@crates__grep-cli-0.1.12//:grep_cli\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-matcher-0.1.9\",\n actual = \"@crates__grep-matcher-0.1.9//:grep_matcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-matcher\",\n actual = \"@crates__grep-matcher-0.1.9//:grep_matcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-pcre2-0.1.10\",\n actual = \"@crates__grep-pcre2-0.1.10//:grep_pcre2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-pcre2\",\n actual = \"@crates__grep-pcre2-0.1.10//:grep_pcre2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-printer-0.3.1\",\n actual = \"@crates__grep-printer-0.3.1//:grep_printer\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-printer\",\n actual = \"@crates__grep-printer-0.3.1//:grep_printer\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-regex-0.1.14\",\n actual = \"@crates__grep-regex-0.1.14//:grep_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-regex\",\n actual = \"@crates__grep-regex-0.1.14//:grep_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-searcher-0.1.17\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-searcher\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex-0.4.3\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hifijson-0.2.3\",\n actual = \"@crates__hifijson-0.2.3//:hifijson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hifijson\",\n actual = \"@crates__hifijson-0.2.3//:hifijson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hostname-0.4.2\",\n actual = \"@crates__hostname-0.4.2//:hostname\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hostname\",\n actual = \"@crates__hostname-0.4.2//:hostname\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"html-to-markdown-rs-3.11.0\",\n actual = \"@crates__html-to-markdown-rs-3.11.0//:html_to_markdown_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"html-to-markdown-rs\",\n actual = \"@crates__html-to-markdown-rs-3.11.0//:html_to_markdown_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"icy_sixel-0.5.1\",\n actual = \"@crates__icy_sixel-0.5.1//:icy_sixel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"icy_sixel\",\n actual = \"@crates__icy_sixel-0.5.1//:icy_sixel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ignore-0.4.33\",\n actual = \"@crates__ignore-0.4.33//:ignore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ignore\",\n actual = \"@crates__ignore-0.4.33//:ignore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"image-0.25.10\",\n actual = \"@crates__image-0.25.10//:image\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"image\",\n actual = \"@crates__image-0.25.10//:image\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.18.6\",\n actual = \"@crates__indicatif-0.18.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crates__indicatif-0.18.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inferno-0.12.8\",\n actual = \"@crates__inferno-0.12.8//:inferno\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inferno\",\n actual = \"@crates__inferno-0.12.8//:inferno\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inherent-1.0.14\",\n actual = \"@crates__inherent-1.0.14//:inherent\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inherent\",\n actual = \"@crates__inherent-1.0.14//:inherent\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools-0.14.0\",\n actual = \"@crates__itertools-0.14.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools\",\n actual = \"@crates__itertools-0.14.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-core-2.2.1\",\n actual = \"@crates__jaq-core-2.2.1//:jaq_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-core\",\n actual = \"@crates__jaq-core-2.2.1//:jaq_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-json-1.1.3\",\n actual = \"@crates__jaq-json-1.1.3//:jaq_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-json\",\n actual = \"@crates__jaq-json-1.1.3//:jaq_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-std-2.1.2\",\n actual = \"@crates__jaq-std-2.1.2//:jaq_std\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-std\",\n actual = \"@crates__jaq-std-2.1.2//:jaq_std\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jiff-0.2.35\",\n actual = \"@crates__jiff-0.2.35//:jiff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jiff\",\n actual = \"@crates__jiff-0.2.35//:jiff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc-0.2.189\",\n actual = \"@crates__libc-0.2.189//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc\",\n actual = \"@crates__libc-0.2.189//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"lscolors-0.21.0\",\n actual = \"@crates__lscolors-0.21.0//:lscolors\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"lscolors\",\n actual = \"@crates__lscolors-0.21.0//:lscolors\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr-2.8.3\",\n actual = \"@crates__memchr-2.8.3//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr\",\n actual = \"@crates__memchr-2.8.3//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memmap2-0.9.11\",\n actual = \"@crates__memmap2-0.9.11//:memmap2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memmap2\",\n actual = \"@crates__memmap2-0.9.11//:memmap2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-3.12.1\",\n actual = \"@crates__napi-3.12.1//:napi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi\",\n actual = \"@crates__napi-3.12.1//:napi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-build-2.4.1\",\n actual = \"@crates__napi-build-2.4.1//:napi_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-build\",\n actual = \"@crates__napi-build-2.4.1//:napi_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-derive-3.6.3\",\n actual = \"@crates__napi-derive-3.6.3//:napi_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-derive\",\n actual = \"@crates__napi-derive-3.6.3//:napi_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix-0.31.3\",\n actual = \"@crates__nix-0.31.3//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix\",\n actual = \"@crates__nix-0.31.3//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nom-8.0.0\",\n actual = \"@crates__nom-8.0.0//:nom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nom\",\n actual = \"@crates__nom-8.0.0//:nom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"normalize-path-0.2.1\",\n actual = \"@crates__normalize-path-0.2.1//:normalize_path\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"normalize-path\",\n actual = \"@crates__normalize-path-0.2.1//:normalize_path\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"notify-8.2.0\",\n actual = \"@crates__notify-8.2.0//:notify\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"notify\",\n actual = \"@crates__notify-8.2.0//:notify\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-0.4.8\",\n actual = \"@crates__num-bigint-0.4.8//:num_bigint\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint\",\n actual = \"@crates__num-bigint-0.4.8//:num_bigint\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits-0.2.19\",\n actual = \"@crates__num-traits-0.2.19//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits\",\n actual = \"@crates__num-traits-0.2.19//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-app-kit-0.3.2\",\n actual = \"@crates__objc2-app-kit-0.3.2//:objc2_app_kit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-app-kit\",\n actual = \"@crates__objc2-app-kit-0.3.2//:objc2_app_kit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-application-services-0.3.2\",\n actual = \"@crates__objc2-application-services-0.3.2//:objc2_application_services\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-application-services\",\n actual = \"@crates__objc2-application-services-0.3.2//:objc2_application_services\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-foundation-0.3.2\",\n actual = \"@crates__objc2-core-foundation-0.3.2//:objc2_core_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-foundation\",\n actual = \"@crates__objc2-core-foundation-0.3.2//:objc2_core_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-graphics-0.3.2\",\n actual = \"@crates__objc2-core-graphics-0.3.2//:objc2_core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-graphics\",\n actual = \"@crates__objc2-core-graphics-0.3.2//:objc2_core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-foundation-0.3.2\",\n actual = \"@crates__objc2-foundation-0.3.2//:objc2_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-foundation\",\n actual = \"@crates__objc2-foundation-0.3.2//:objc2_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"onig-6.5.3\",\n actual = \"@crates__onig-6.5.3//:onig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"onig\",\n actual = \"@crates__onig-6.5.3//:onig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"opus-0.3.1\",\n actual = \"@crates__opus-0.3.1//:opus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"opus\",\n actual = \"@crates__opus-0.3.1//:opus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_display-0.1.4\",\n actual = \"@crates__os_display-0.1.4//:os_display\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_display\",\n actual = \"@crates__os_display-0.1.4//:os_display\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_pipe-1.2.3\",\n actual = \"@crates__os_pipe-1.2.3//:os_pipe\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_pipe\",\n actual = \"@crates__os_pipe-1.2.3//:os_pipe\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parking_lot-0.12.5\",\n actual = \"@crates__parking_lot-0.12.5//:parking_lot\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parking_lot\",\n actual = \"@crates__parking_lot-0.12.5//:parking_lot\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parse_datetime-0.14.0\",\n actual = \"@crates__parse_datetime-0.14.0//:parse_datetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parse_datetime\",\n actual = \"@crates__parse_datetime-0.14.0//:parse_datetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pdf-inspector-1.15.0\",\n actual = \"@crates__pdf-inspector-1.15.0//:pdf_inspector\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pdf-inspector\",\n actual = \"@crates__pdf-inspector-1.15.0//:pdf_inspector\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"phf-0.13.1\",\n actual = \"@crates__phf-0.13.1//:phf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"phf\",\n actual = \"@crates__phf-0.13.1//:phf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pi-shell-17.3.8\",\n actual = \"@crates__pi-shell-17.3.8//:pi_shell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pi-shell\",\n actual = \"@crates__pi-shell-17.3.8//:pi_shell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"platform-info-2.1.0\",\n actual = \"@crates__platform-info-2.1.0//:platform_info\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"platform-info\",\n actual = \"@crates__platform-info-2.1.0//:platform_info\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"png-0.18.1\",\n actual = \"@crates__png-0.18.1//:png\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"png\",\n actual = \"@crates__png-0.18.1//:png\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"portable-pty-0.9.0\",\n actual = \"@crates__portable-pty-0.9.0//:portable_pty\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"portable-pty\",\n actual = \"@crates__portable-pty-0.9.0//:portable_pty\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pretty_assertions-1.4.1\",\n actual = \"@crates__pretty_assertions-1.4.1//:pretty_assertions\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pretty_assertions\",\n actual = \"@crates__pretty_assertions-1.4.1//:pretty_assertions\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"procfs-0.18.0\",\n actual = \"@crates__procfs-0.18.0//:procfs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"procfs\",\n actual = \"@crates__procfs-0.18.0//:procfs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.10.2\",\n actual = \"@crates__rand-0.10.2//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crates__rand-0.10.2//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rayon-1.12.0\",\n actual = \"@crates__rayon-1.12.0//:rayon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rayon\",\n actual = \"@crates__rayon-1.12.0//:rayon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex-1.13.1\",\n actual = \"@crates__regex-1.13.1//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex\",\n actual = \"@crates__regex-1.13.1//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reis-0.5.0\",\n actual = \"@crates__reis-0.5.0//:reis\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reis\",\n actual = \"@crates__reis-0.5.0//:reis\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rlimit-0.11.0\",\n actual = \"@crates__rlimit-0.11.0//:rlimit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rlimit\",\n actual = \"@crates__rlimit-0.11.0//:rlimit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rpds-1.2.1\",\n actual = \"@crates__rpds-1.2.1//:rpds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rpds\",\n actual = \"@crates__rpds-1.2.1//:rpds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustc-hash-2.1.3\",\n actual = \"@crates__rustc-hash-2.1.3//:rustc_hash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustc-hash\",\n actual = \"@crates__rustc-hash-2.1.3//:rustc_hash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix-1.1.4\",\n actual = \"@crates__rustix-1.1.4//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix\",\n actual = \"@crates__rustix-1.1.4//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"self_cell-1.3.0\",\n actual = \"@crates__self_cell-1.3.0//:self_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"self_cell\",\n actual = \"@crates__self_cell-1.3.0//:self_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.229\",\n actual = \"@crates__serde-1.0.229//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crates__serde-1.0.229//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.151\",\n actual = \"@crates__serde_json-1.0.151//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crates__serde_json-1.0.151//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"similar-3.2.0\",\n actual = \"@crates__similar-3.2.0//:similar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"similar\",\n actual = \"@crates__similar-3.2.0//:similar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"smallvec-1.15.2\",\n actual = \"@crates__smallvec-1.15.2//:smallvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"smallvec\",\n actual = \"@crates__smallvec-1.15.2//:smallvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum-0.28.0\",\n actual = \"@crates__strum-0.28.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum\",\n actual = \"@crates__strum-0.28.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum_macros-0.28.0\",\n actual = \"@crates__strum_macros-0.28.0//:strum_macros\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum_macros\",\n actual = \"@crates__strum_macros-0.28.0//:strum_macros\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syntect-5.3.0\",\n actual = \"@crates__syntect-5.3.0//:syntect\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syntect\",\n actual = \"@crates__syntect-5.3.0//:syntect\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.27.0\",\n actual = \"@crates__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crates__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"terminfo-0.9.0\",\n actual = \"@crates__terminfo-0.9.0//:terminfo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"terminfo\",\n actual = \"@crates__terminfo-0.9.0//:terminfo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror-2.0.20\",\n actual = \"@crates__thiserror-2.0.20//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror\",\n actual = \"@crates__thiserror-2.0.20//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiktoken-rs-0.11.0\",\n actual = \"@crates__tiktoken-rs-0.11.0//:tiktoken_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiktoken-rs\",\n actual = \"@crates__tiktoken-rs-0.11.0//:tiktoken_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-1.53.1\",\n actual = \"@crates__tokio-1.53.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio\",\n actual = \"@crates__tokio-1.53.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util-0.7.19\",\n actual = \"@crates__tokio-util-0.7.19//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util\",\n actual = \"@crates__tokio-util-0.7.19//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"toml-1.1.4+spec-1.1.0\",\n actual = \"@crates__toml-1.1.4-spec-1.1.0//:toml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"toml\",\n actual = \"@crates__toml-1.1.4-spec-1.1.0//:toml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-0.1.44\",\n actual = \"@crates__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing\",\n actual = \"@crates__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-0.25.10\",\n actual = \"@crates__tree-sitter-0.25.10//:tree_sitter\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter\",\n actual = \"@crates__tree-sitter-0.25.10//:tree_sitter\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-astro-next-0.1.1\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_astro-0.1.1\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_astro\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-bash-0.25.1\",\n actual = \"@crates__tree-sitter-bash-0.25.1//:tree_sitter_bash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-bash\",\n actual = \"@crates__tree-sitter-bash-0.25.1//:tree_sitter_bash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-0.24.2\",\n actual = \"@crates__tree-sitter-c-0.24.2//:tree_sitter_c\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c\",\n actual = \"@crates__tree-sitter-c-0.24.2//:tree_sitter_c\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-sharp-0.23.5\",\n actual = \"@crates__tree-sitter-c-sharp-0.23.5//:tree_sitter_c_sharp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-sharp\",\n actual = \"@crates__tree-sitter-c-sharp-0.23.5//:tree_sitter_c_sharp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-clojure-0.1.0\",\n actual = \"@crates__tree-sitter-clojure-0.1.0//:tree_sitter_clojure\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-clojure\",\n actual = \"@crates__tree-sitter-clojure-0.1.0//:tree_sitter_clojure\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cmake-0.7.4\",\n actual = \"@crates__tree-sitter-cmake-0.7.4//:tree_sitter_cmake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cmake\",\n actual = \"@crates__tree-sitter-cmake-0.7.4//:tree_sitter_cmake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cpp-0.23.4\",\n actual = \"@crates__tree-sitter-cpp-0.23.4//:tree_sitter_cpp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cpp\",\n actual = \"@crates__tree-sitter-cpp-0.23.4//:tree_sitter_cpp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-css-0.25.0\",\n actual = \"@crates__tree-sitter-css-0.25.0//:tree_sitter_css\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-css\",\n actual = \"@crates__tree-sitter-css-0.25.0//:tree_sitter_css\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dart-0.2.0\",\n actual = \"@crates__tree-sitter-dart-0.2.0//:tree_sitter_dart\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dart\",\n actual = \"@crates__tree-sitter-dart-0.2.0//:tree_sitter_dart\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-diff-0.1.0\",\n actual = \"@crates__tree-sitter-diff-0.1.0//:tree_sitter_diff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-diff\",\n actual = \"@crates__tree-sitter-diff-0.1.0//:tree_sitter_diff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dockerfile-updated-0.2.0\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_dockerfile-0.2.0\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_dockerfile\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elisp-1.7.2\",\n actual = \"@crates__tree-sitter-elisp-1.7.2//:tree_sitter_elisp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elisp\",\n actual = \"@crates__tree-sitter-elisp-1.7.2//:tree_sitter_elisp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elixir-0.3.5\",\n actual = \"@crates__tree-sitter-elixir-0.3.5//:tree_sitter_elixir\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elixir\",\n actual = \"@crates__tree-sitter-elixir-0.3.5//:tree_sitter_elixir\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-erlang-0.16.0\",\n actual = \"@crates__tree-sitter-erlang-0.16.0//:tree_sitter_erlang\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-erlang\",\n actual = \"@crates__tree-sitter-erlang-0.16.0//:tree_sitter_erlang\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-fortran-0.6.0\",\n actual = \"@crates__tree-sitter-fortran-0.6.0//:tree_sitter_fortran\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-fortran\",\n actual = \"@crates__tree-sitter-fortran-0.6.0//:tree_sitter_fortran\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-go-0.25.0\",\n actual = \"@crates__tree-sitter-go-0.25.0//:tree_sitter_go\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-go\",\n actual = \"@crates__tree-sitter-go-0.25.0//:tree_sitter_go\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-graphql-0.1.0\",\n actual = \"@crates__tree-sitter-graphql-0.1.0//:tree_sitter_graphql\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-graphql\",\n actual = \"@crates__tree-sitter-graphql-0.1.0//:tree_sitter_graphql\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-haskell-0.23.1\",\n actual = \"@crates__tree-sitter-haskell-0.23.1//:tree_sitter_haskell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-haskell\",\n actual = \"@crates__tree-sitter-haskell-0.23.1//:tree_sitter_haskell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-hcl-1.1.0\",\n actual = \"@crates__tree-sitter-hcl-1.1.0//:tree_sitter_hcl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-hcl\",\n actual = \"@crates__tree-sitter-hcl-1.1.0//:tree_sitter_hcl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-html-0.23.2\",\n actual = \"@crates__tree-sitter-html-0.23.2//:tree_sitter_html\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-html\",\n actual = \"@crates__tree-sitter-html-0.23.2//:tree_sitter_html\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ini-1.4.0\",\n actual = \"@crates__tree-sitter-ini-1.4.0//:tree_sitter_ini\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ini\",\n actual = \"@crates__tree-sitter-ini-1.4.0//:tree_sitter_ini\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-java-0.23.5\",\n actual = \"@crates__tree-sitter-java-0.23.5//:tree_sitter_java\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-java\",\n actual = \"@crates__tree-sitter-java-0.23.5//:tree_sitter_java\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-javascript-0.25.0\",\n actual = \"@crates__tree-sitter-javascript-0.25.0//:tree_sitter_javascript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-javascript\",\n actual = \"@crates__tree-sitter-javascript-0.25.0//:tree_sitter_javascript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-json-0.24.8\",\n actual = \"@crates__tree-sitter-json-0.24.8//:tree_sitter_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-json\",\n actual = \"@crates__tree-sitter-json-0.24.8//:tree_sitter_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-julia-0.23.1\",\n actual = \"@crates__tree-sitter-julia-0.23.1//:tree_sitter_julia\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-julia\",\n actual = \"@crates__tree-sitter-julia-0.23.1//:tree_sitter_julia\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-just-0.2.0\",\n actual = \"@crates__tree-sitter-just-0.2.0//:tree_sitter_just\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-just\",\n actual = \"@crates__tree-sitter-just-0.2.0//:tree_sitter_just\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-kotlin-sg-0.4.1\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_kotlin-0.4.1\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_kotlin\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-lua-0.5.0\",\n actual = \"@crates__tree-sitter-lua-0.5.0//:tree_sitter_lua\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-lua\",\n actual = \"@crates__tree-sitter-lua-0.5.0//:tree_sitter_lua\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-make-1.1.1\",\n actual = \"@crates__tree-sitter-make-1.1.1//:tree_sitter_make\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-make\",\n actual = \"@crates__tree-sitter-make-1.1.1//:tree_sitter_make\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-md-0.5.3\",\n actual = \"@crates__tree-sitter-md-0.5.3//:tree_sitter_md\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-md\",\n actual = \"@crates__tree-sitter-md-0.5.3//:tree_sitter_md\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-nix-0.3.0\",\n actual = \"@crates__tree-sitter-nix-0.3.0//:tree_sitter_nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-nix\",\n actual = \"@crates__tree-sitter-nix-0.3.0//:tree_sitter_nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-objc-3.0.2\",\n actual = \"@crates__tree-sitter-objc-3.0.2//:tree_sitter_objc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-objc\",\n actual = \"@crates__tree-sitter-objc-3.0.2//:tree_sitter_objc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ocaml-0.24.2\",\n actual = \"@crates__tree-sitter-ocaml-0.24.2//:tree_sitter_ocaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ocaml\",\n actual = \"@crates__tree-sitter-ocaml-0.24.2//:tree_sitter_ocaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-odin-1.3.0\",\n actual = \"@crates__tree-sitter-odin-1.3.0//:tree_sitter_odin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-odin\",\n actual = \"@crates__tree-sitter-odin-1.3.0//:tree_sitter_odin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-php-0.24.2\",\n actual = \"@crates__tree-sitter-php-0.24.2//:tree_sitter_php\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-php\",\n actual = \"@crates__tree-sitter-php-0.24.2//:tree_sitter_php\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-powershell-0.26.4\",\n actual = \"@crates__tree-sitter-powershell-0.26.4//:tree_sitter_powershell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-powershell\",\n actual = \"@crates__tree-sitter-powershell-0.26.4//:tree_sitter_powershell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-proto-0.4.0\",\n actual = \"@crates__tree-sitter-proto-0.4.0//:tree_sitter_proto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-proto\",\n actual = \"@crates__tree-sitter-proto-0.4.0//:tree_sitter_proto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-python-0.25.0\",\n actual = \"@crates__tree-sitter-python-0.25.0//:tree_sitter_python\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-python\",\n actual = \"@crates__tree-sitter-python-0.25.0//:tree_sitter_python\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-r-1.3.0\",\n actual = \"@crates__tree-sitter-r-1.3.0//:tree_sitter_r\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-r\",\n actual = \"@crates__tree-sitter-r-1.3.0//:tree_sitter_r\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-regex-0.25.0\",\n actual = \"@crates__tree-sitter-regex-0.25.0//:tree_sitter_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-regex\",\n actual = \"@crates__tree-sitter-regex-0.25.0//:tree_sitter_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ruby-0.23.1\",\n actual = \"@crates__tree-sitter-ruby-0.23.1//:tree_sitter_ruby\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ruby\",\n actual = \"@crates__tree-sitter-ruby-0.23.1//:tree_sitter_ruby\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-rust-0.24.2\",\n actual = \"@crates__tree-sitter-rust-0.24.2//:tree_sitter_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-rust\",\n actual = \"@crates__tree-sitter-rust-0.24.2//:tree_sitter_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-scala-0.26.2\",\n actual = \"@crates__tree-sitter-scala-0.26.2//:tree_sitter_scala\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-scala\",\n actual = \"@crates__tree-sitter-scala-0.26.2//:tree_sitter_scala\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-sequel-0.3.11\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_sql-0.3.11\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_sql\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-solidity-1.2.13\",\n actual = \"@crates__tree-sitter-solidity-1.2.13//:tree_sitter_solidity\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-solidity\",\n actual = \"@crates__tree-sitter-solidity-1.2.13//:tree_sitter_solidity\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-starlark-1.3.0\",\n actual = \"@crates__tree-sitter-starlark-1.3.0//:tree_sitter_starlark\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-starlark\",\n actual = \"@crates__tree-sitter-starlark-1.3.0//:tree_sitter_starlark\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-svelte-next-0.1.1\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_svelte-0.1.1\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_svelte\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-swift-0.7.3\",\n actual = \"@crates__tree-sitter-swift-0.7.3//:tree_sitter_swift\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-swift\",\n actual = \"@crates__tree-sitter-swift-0.7.3//:tree_sitter_swift\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-tlaplus-1.5.0\",\n actual = \"@crates__tree-sitter-tlaplus-1.5.0//:tree_sitter_tlaplus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-tlaplus\",\n actual = \"@crates__tree-sitter-tlaplus-1.5.0//:tree_sitter_tlaplus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-toml-ng-0.7.0\",\n actual = \"@crates__tree-sitter-toml-ng-0.7.0//:tree_sitter_toml_ng\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-toml-ng\",\n actual = \"@crates__tree-sitter-toml-ng-0.7.0//:tree_sitter_toml_ng\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-typescript-0.23.2\",\n actual = \"@crates__tree-sitter-typescript-0.23.2//:tree_sitter_typescript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-typescript\",\n actual = \"@crates__tree-sitter-typescript-0.23.2//:tree_sitter_typescript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-verilog-1.0.3\",\n actual = \"@crates__tree-sitter-verilog-1.0.3//:tree_sitter_verilog\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-verilog\",\n actual = \"@crates__tree-sitter-verilog-1.0.3//:tree_sitter_verilog\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-vue-next-0.1.0\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_vue-0.1.0\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_vue\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-xml-0.7.0\",\n actual = \"@crates__tree-sitter-xml-0.7.0//:tree_sitter_xml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-xml\",\n actual = \"@crates__tree-sitter-xml-0.7.0//:tree_sitter_xml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-yaml-0.7.2\",\n actual = \"@crates__tree-sitter-yaml-0.7.2//:tree_sitter_yaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-yaml\",\n actual = \"@crates__tree-sitter-yaml-0.7.2//:tree_sitter_yaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-zig-1.1.2\",\n actual = \"@crates__tree-sitter-zig-1.1.2//:tree_sitter_zig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-zig\",\n actual = \"@crates__tree-sitter-zig-1.1.2//:tree_sitter_zig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uiautomation-0.25.0\",\n actual = \"@crates__uiautomation-0.25.0//:uiautomation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uiautomation\",\n actual = \"@crates__uiautomation-0.25.0//:uiautomation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uucore-0.8.0\",\n actual = \"@crates__uucore-0.8.0//:uucore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uucore\",\n actual = \"@crates__uucore-0.8.0//:uucore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uuid-1.24.1\",\n actual = \"@crates__uuid-1.24.1//:uuid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uuid\",\n actual = \"@crates__uuid-1.24.1//:uuid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uutils_term_grid-0.8.0\",\n actual = \"@crates__uutils_term_grid-0.8.0//:term_grid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uutils_term_grid\",\n actual = \"@crates__uutils_term_grid-0.8.0//:term_grid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uzers-0.12.2\",\n actual = \"@crates__uzers-0.12.2//:uzers\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uzers\",\n actual = \"@crates__uzers-0.12.2//:uzers\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"webrtc-0.17.2\",\n actual = \"@crates__webrtc-0.17.2//:webrtc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"webrtc\",\n actual = \"@crates__webrtc-0.17.2//:webrtc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"whoami-2.1.3\",\n actual = \"@crates__whoami-2.1.3//:whoami\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"whoami\",\n actual = \"@crates__whoami-2.1.3//:whoami\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"windows-sys-0.59.0\",\n actual = \"@crates__windows-sys-0.59.0//:windows_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"windows-sys-0.61.2\",\n actual = \"@crates__windows-sys-0.61.2//:windows_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"winreg-0.56.0\",\n actual = \"@crates__winreg-0.56.0//:winreg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"winreg\",\n actual = \"@crates__winreg-0.56.0//:winreg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x11rb-0.13.2\",\n actual = \"@crates__x11rb-0.13.2//:x11rb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x11rb\",\n actual = \"@crates__x11rb-0.13.2//:x11rb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xcap-0.9.6\",\n actual = \"@crates__xcap-0.9.6//:xcap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xcap\",\n actual = \"@crates__xcap-0.9.6//:xcap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xkeysym-0.2.1\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xkeysym\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xutf-1.3.0\",\n actual = \"@crates__xutf-1.3.0//:xutf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xutf\",\n actual = \"@crates__xutf-1.3.0//:xutf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xxhash-rust-0.8.18\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xxhash-rust\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"yansi-1.0.1\",\n actual = \"@crates__yansi-1.0.1//:yansi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"yansi\",\n actual = \"@crates__yansi-1.0.1//:yansi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zstd-0.13.3\",\n actual = \"@crates__zstd-0.13.3//:zstd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zstd\",\n actual = \"@crates__zstd-0.13.3//:zstd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zune-jpeg-0.5.15\",\n actual = \"@crates__zune-jpeg-0.5.15//:zune_jpeg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zune-jpeg\",\n actual = \"@crates__zune-jpeg-0.5.15//:zune_jpeg\",\n tags = [\"manual\"],\n)\n", + "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"ansi-width-0.1.0\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ansi-width\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.104\",\n actual = \"@crates__anyhow-1.0.104//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crates__anyhow-1.0.104//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arboard-3.6.1\",\n actual = \"@crates__arboard-3.6.1//:arboard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arboard\",\n actual = \"@crates__arboard-3.6.1//:arboard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argmax-0.3.1\",\n actual = \"@crates__argmax-0.3.1//:argmax\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argmax\",\n actual = \"@crates__argmax-0.3.1//:argmax\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ashpd-0.11.1\",\n actual = \"@crates__ashpd-0.11.1//:ashpd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ashpd\",\n actual = \"@crates__ashpd-0.11.1//:ashpd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ast-grep-core-0.39.9\",\n actual = \"@crates__ast-grep-core-0.39.9//:ast_grep_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ast-grep-core\",\n actual = \"@crates__ast-grep-core-0.39.9//:ast_grep_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-recursion-1.1.1\",\n actual = \"@crates__async-recursion-1.1.1//:async_recursion\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-recursion\",\n actual = \"@crates__async-recursion-1.1.1//:async_recursion\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-trait-0.1.92\",\n actual = \"@crates__async-trait-0.1.92//:async_trait\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-trait\",\n actual = \"@crates__async-trait-0.1.92//:async_trait\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"atspi-0.30.0\",\n actual = \"@crates__atspi-0.30.0//:atspi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"atspi\",\n actual = \"@crates__atspi-0.30.0//:atspi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"audiopus_sys-0.2.2\",\n actual = \"@crates__audiopus_sys-0.2.2//:audiopus_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"audiopus_sys\",\n actual = \"@crates__audiopus_sys-0.2.2//:audiopus_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64-0.22.1\",\n actual = \"@crates__base64-0.22.1//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"base64\",\n actual = \"@crates__base64-0.22.1//:base64\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bigdecimal-0.4.10\",\n actual = \"@crates__bigdecimal-0.4.10//:bigdecimal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bigdecimal\",\n actual = \"@crates__bigdecimal-0.4.10//:bigdecimal\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"binary-heap-plus-0.5.0\",\n actual = \"@crates__binary-heap-plus-0.5.0//:binary_heap_plus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"binary-heap-plus\",\n actual = \"@crates__binary-heap-plus-0.5.0//:binary_heap_plus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bon-3.9.3\",\n actual = \"@crates__bon-3.9.3//:bon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bon\",\n actual = \"@crates__bon-3.9.3//:bon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"brush-parser-0.3.0\",\n actual = \"@crates__brush-parser-0.3.0//:brush_parser\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"brush-parser-0.4.0\",\n actual = \"@crates__brush-parser-0.4.0//:brush_parser\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bstr-1.13.1\",\n actual = \"@crates__bstr-1.13.1//:bstr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bstr\",\n actual = \"@crates__bstr-1.13.1//:bstr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytecount-0.6.9\",\n actual = \"@crates__bytecount-0.6.9//:bytecount\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytecount\",\n actual = \"@crates__bytecount-0.6.9//:bytecount\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes-1.12.1\",\n actual = \"@crates__bytes-1.12.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes\",\n actual = \"@crates__bytes-1.12.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cached-0.59.0\",\n actual = \"@crates__cached-0.59.0//:cached\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cached\",\n actual = \"@crates__cached-0.59.0//:cached\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cfg-if-1.0.4\",\n actual = \"@crates__cfg-if-1.0.4//:cfg_if\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cfg-if\",\n actual = \"@crates__cfg-if-1.0.4//:cfg_if\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"check_elevation-0.2.7\",\n actual = \"@crates__check_elevation-0.2.7//:check_elevation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"check_elevation\",\n actual = \"@crates__check_elevation-0.2.7//:check_elevation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono-0.4.45\",\n actual = \"@crates__chrono-0.4.45//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"chrono\",\n actual = \"@crates__chrono-0.4.45//:chrono\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.6.6\",\n actual = \"@crates__clap-4.6.6//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crates__clap-4.6.6//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clipboard-win-5.4.1\",\n actual = \"@crates__clipboard-win-5.4.1//:clipboard_win\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clipboard-win\",\n actual = \"@crates__clipboard-win-5.4.1//:clipboard_win\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"codesnake-0.2.1\",\n actual = \"@crates__codesnake-0.2.1//:codesnake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"codesnake\",\n actual = \"@crates__codesnake-0.2.1//:codesnake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"color-print-0.3.7\",\n actual = \"@crates__color-print-0.3.7//:color_print\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"color-print\",\n actual = \"@crates__color-print-0.3.7//:color_print\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"command-fds-0.3.3\",\n actual = \"@crates__command-fds-0.3.3//:command_fds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"command-fds\",\n actual = \"@crates__command-fds-0.3.3//:command_fds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"compare-0.1.0\",\n actual = \"@crates__compare-0.1.0//:compare\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"compare\",\n actual = \"@crates__compare-0.1.0//:compare\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"core-graphics-0.25.0\",\n actual = \"@crates__core-graphics-0.25.0//:core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"core-graphics\",\n actual = \"@crates__core-graphics-0.25.0//:core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dashmap-6.2.1\",\n actual = \"@crates__dashmap-6.2.1//:dashmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dashmap\",\n actual = \"@crates__dashmap-6.2.1//:dashmap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dns-lookup-3.0.1\",\n actual = \"@crates__dns-lookup-3.0.1//:dns_lookup\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"dns-lookup\",\n actual = \"@crates__dns-lookup-3.0.1//:dns_lookup\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"enigo-0.6.1\",\n actual = \"@crates__enigo-0.6.1//:enigo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"enigo\",\n actual = \"@crates__enigo-0.6.1//:enigo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"faccess-0.2.4\",\n actual = \"@crates__faccess-0.2.4//:faccess\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"faccess\",\n actual = \"@crates__faccess-0.2.4//:faccess\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fancy-regex-0.16.2\",\n actual = \"@crates__fancy-regex-0.16.2//:fancy_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fancy-regex-0.17.0\",\n actual = \"@crates__fancy-regex-0.17.0//:fancy_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"filetime-0.2.29\",\n actual = \"@crates__filetime-0.2.29//:filetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"filetime\",\n actual = \"@crates__filetime-0.2.29//:filetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"flume-0.11.1\",\n actual = \"@crates__flume-0.11.1//:flume\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"flume\",\n actual = \"@crates__flume-0.11.1//:flume\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foldhash-0.2.0\",\n actual = \"@crates__foldhash-0.2.0//:foldhash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foldhash\",\n actual = \"@crates__foldhash-0.2.0//:foldhash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fontdue-0.9.4\",\n actual = \"@crates__fontdue-0.9.4//:fontdue\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fontdue\",\n actual = \"@crates__fontdue-0.9.4//:fontdue\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types-0.5.0\",\n actual = \"@crates__foreign-types-0.5.0//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"foreign-types\",\n actual = \"@crates__foreign-types-0.5.0//:foreign_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fs_extra-1.3.0\",\n actual = \"@crates__fs_extra-1.3.0//:fs_extra\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"fs_extra\",\n actual = \"@crates__fs_extra-1.3.0//:fs_extra\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures-0.3.34\",\n actual = \"@crates__futures-0.3.34//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures\",\n actual = \"@crates__futures-0.3.34//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"getrandom-0.4.3\",\n actual = \"@crates__getrandom-0.4.3//:getrandom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"getrandom\",\n actual = \"@crates__getrandom-0.4.3//:getrandom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"glob-0.3.4\",\n actual = \"@crates__glob-0.3.4//:glob\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"glob\",\n actual = \"@crates__glob-0.3.4//:glob\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"globset-0.4.20\",\n actual = \"@crates__globset-0.4.20//:globset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"globset\",\n actual = \"@crates__globset-0.4.20//:globset\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-cli-0.1.12\",\n actual = \"@crates__grep-cli-0.1.12//:grep_cli\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-cli\",\n actual = \"@crates__grep-cli-0.1.12//:grep_cli\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-matcher-0.1.9\",\n actual = \"@crates__grep-matcher-0.1.9//:grep_matcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-matcher\",\n actual = \"@crates__grep-matcher-0.1.9//:grep_matcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-pcre2-0.1.10\",\n actual = \"@crates__grep-pcre2-0.1.10//:grep_pcre2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-pcre2\",\n actual = \"@crates__grep-pcre2-0.1.10//:grep_pcre2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-printer-0.3.1\",\n actual = \"@crates__grep-printer-0.3.1//:grep_printer\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-printer\",\n actual = \"@crates__grep-printer-0.3.1//:grep_printer\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-regex-0.1.14\",\n actual = \"@crates__grep-regex-0.1.14//:grep_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-regex\",\n actual = \"@crates__grep-regex-0.1.14//:grep_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-searcher-0.1.17\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"grep-searcher\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heapless-0.9.3\",\n actual = \"@crates__heapless-0.9.3//:heapless\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"heapless\",\n actual = \"@crates__heapless-0.9.3//:heapless\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex-0.4.3\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hex\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hifijson-0.2.3\",\n actual = \"@crates__hifijson-0.2.3//:hifijson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hifijson\",\n actual = \"@crates__hifijson-0.2.3//:hifijson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hostname-0.4.2\",\n actual = \"@crates__hostname-0.4.2//:hostname\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"hostname\",\n actual = \"@crates__hostname-0.4.2//:hostname\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"html-to-markdown-rs-3.11.0\",\n actual = \"@crates__html-to-markdown-rs-3.11.0//:html_to_markdown_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"html-to-markdown-rs\",\n actual = \"@crates__html-to-markdown-rs-3.11.0//:html_to_markdown_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"icy_sixel-0.5.1\",\n actual = \"@crates__icy_sixel-0.5.1//:icy_sixel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"icy_sixel\",\n actual = \"@crates__icy_sixel-0.5.1//:icy_sixel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ignore-0.4.33\",\n actual = \"@crates__ignore-0.4.33//:ignore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ignore\",\n actual = \"@crates__ignore-0.4.33//:ignore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"image-0.25.10\",\n actual = \"@crates__image-0.25.10//:image\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"image\",\n actual = \"@crates__image-0.25.10//:image\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.18.6\",\n actual = \"@crates__indicatif-0.18.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crates__indicatif-0.18.6//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inferno-0.12.8\",\n actual = \"@crates__inferno-0.12.8//:inferno\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inferno\",\n actual = \"@crates__inferno-0.12.8//:inferno\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inherent-1.0.14\",\n actual = \"@crates__inherent-1.0.14//:inherent\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"inherent\",\n actual = \"@crates__inherent-1.0.14//:inherent\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools-0.14.0\",\n actual = \"@crates__itertools-0.14.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"itertools\",\n actual = \"@crates__itertools-0.14.0//:itertools\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-core-2.2.1\",\n actual = \"@crates__jaq-core-2.2.1//:jaq_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-core\",\n actual = \"@crates__jaq-core-2.2.1//:jaq_core\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-json-1.1.3\",\n actual = \"@crates__jaq-json-1.1.3//:jaq_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-json\",\n actual = \"@crates__jaq-json-1.1.3//:jaq_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-std-2.1.2\",\n actual = \"@crates__jaq-std-2.1.2//:jaq_std\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jaq-std\",\n actual = \"@crates__jaq-std-2.1.2//:jaq_std\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jiff-0.2.35\",\n actual = \"@crates__jiff-0.2.35//:jiff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"jiff\",\n actual = \"@crates__jiff-0.2.35//:jiff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc-0.2.189\",\n actual = \"@crates__libc-0.2.189//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc\",\n actual = \"@crates__libc-0.2.189//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"lscolors-0.21.0\",\n actual = \"@crates__lscolors-0.21.0//:lscolors\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"lscolors\",\n actual = \"@crates__lscolors-0.21.0//:lscolors\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr-2.8.3\",\n actual = \"@crates__memchr-2.8.3//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memchr\",\n actual = \"@crates__memchr-2.8.3//:memchr\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memmap2-0.9.11\",\n actual = \"@crates__memmap2-0.9.11//:memmap2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"memmap2\",\n actual = \"@crates__memmap2-0.9.11//:memmap2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-3.12.1\",\n actual = \"@crates__napi-3.12.1//:napi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi\",\n actual = \"@crates__napi-3.12.1//:napi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-build-2.4.1\",\n actual = \"@crates__napi-build-2.4.1//:napi_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-build\",\n actual = \"@crates__napi-build-2.4.1//:napi_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-derive-3.6.3\",\n actual = \"@crates__napi-derive-3.6.3//:napi_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"napi-derive\",\n actual = \"@crates__napi-derive-3.6.3//:napi_derive\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix-0.31.3\",\n actual = \"@crates__nix-0.31.3//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix\",\n actual = \"@crates__nix-0.31.3//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nom-8.0.0\",\n actual = \"@crates__nom-8.0.0//:nom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nom\",\n actual = \"@crates__nom-8.0.0//:nom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"normalize-path-0.2.1\",\n actual = \"@crates__normalize-path-0.2.1//:normalize_path\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"normalize-path\",\n actual = \"@crates__normalize-path-0.2.1//:normalize_path\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"notify-8.2.0\",\n actual = \"@crates__notify-8.2.0//:notify\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"notify\",\n actual = \"@crates__notify-8.2.0//:notify\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint-0.4.8\",\n actual = \"@crates__num-bigint-0.4.8//:num_bigint\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-bigint\",\n actual = \"@crates__num-bigint-0.4.8//:num_bigint\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits-0.2.19\",\n actual = \"@crates__num-traits-0.2.19//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"num-traits\",\n actual = \"@crates__num-traits-0.2.19//:num_traits\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-app-kit-0.3.2\",\n actual = \"@crates__objc2-app-kit-0.3.2//:objc2_app_kit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-app-kit\",\n actual = \"@crates__objc2-app-kit-0.3.2//:objc2_app_kit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-application-services-0.3.2\",\n actual = \"@crates__objc2-application-services-0.3.2//:objc2_application_services\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-application-services\",\n actual = \"@crates__objc2-application-services-0.3.2//:objc2_application_services\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-foundation-0.3.2\",\n actual = \"@crates__objc2-core-foundation-0.3.2//:objc2_core_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-foundation\",\n actual = \"@crates__objc2-core-foundation-0.3.2//:objc2_core_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-graphics-0.3.2\",\n actual = \"@crates__objc2-core-graphics-0.3.2//:objc2_core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-core-graphics\",\n actual = \"@crates__objc2-core-graphics-0.3.2//:objc2_core_graphics\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-foundation-0.3.2\",\n actual = \"@crates__objc2-foundation-0.3.2//:objc2_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"objc2-foundation\",\n actual = \"@crates__objc2-foundation-0.3.2//:objc2_foundation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"onig-6.5.3\",\n actual = \"@crates__onig-6.5.3//:onig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"onig\",\n actual = \"@crates__onig-6.5.3//:onig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"opus-0.3.1\",\n actual = \"@crates__opus-0.3.1//:opus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"opus\",\n actual = \"@crates__opus-0.3.1//:opus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_display-0.1.4\",\n actual = \"@crates__os_display-0.1.4//:os_display\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_display\",\n actual = \"@crates__os_display-0.1.4//:os_display\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_pipe-1.2.3\",\n actual = \"@crates__os_pipe-1.2.3//:os_pipe\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"os_pipe\",\n actual = \"@crates__os_pipe-1.2.3//:os_pipe\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parking_lot-0.12.5\",\n actual = \"@crates__parking_lot-0.12.5//:parking_lot\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parking_lot\",\n actual = \"@crates__parking_lot-0.12.5//:parking_lot\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parse_datetime-0.14.0\",\n actual = \"@crates__parse_datetime-0.14.0//:parse_datetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"parse_datetime\",\n actual = \"@crates__parse_datetime-0.14.0//:parse_datetime\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pdf-inspector-1.15.0\",\n actual = \"@crates__pdf-inspector-1.15.0//:pdf_inspector\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pdf-inspector\",\n actual = \"@crates__pdf-inspector-1.15.0//:pdf_inspector\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"phf-0.13.1\",\n actual = \"@crates__phf-0.13.1//:phf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"phf\",\n actual = \"@crates__phf-0.13.1//:phf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pi-shell-17.3.8\",\n actual = \"@crates__pi-shell-17.3.8//:pi_shell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pi-shell\",\n actual = \"@crates__pi-shell-17.3.8//:pi_shell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"platform-info-2.1.0\",\n actual = \"@crates__platform-info-2.1.0//:platform_info\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"platform-info\",\n actual = \"@crates__platform-info-2.1.0//:platform_info\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"png-0.18.1\",\n actual = \"@crates__png-0.18.1//:png\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"png\",\n actual = \"@crates__png-0.18.1//:png\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"portable-pty-0.9.0\",\n actual = \"@crates__portable-pty-0.9.0//:portable_pty\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"portable-pty\",\n actual = \"@crates__portable-pty-0.9.0//:portable_pty\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pretty_assertions-1.4.1\",\n actual = \"@crates__pretty_assertions-1.4.1//:pretty_assertions\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pretty_assertions\",\n actual = \"@crates__pretty_assertions-1.4.1//:pretty_assertions\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"procfs-0.18.0\",\n actual = \"@crates__procfs-0.18.0//:procfs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"procfs\",\n actual = \"@crates__procfs-0.18.0//:procfs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.10.2\",\n actual = \"@crates__rand-0.10.2//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crates__rand-0.10.2//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rayon-1.12.0\",\n actual = \"@crates__rayon-1.12.0//:rayon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rayon\",\n actual = \"@crates__rayon-1.12.0//:rayon\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex-1.13.1\",\n actual = \"@crates__regex-1.13.1//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"regex\",\n actual = \"@crates__regex-1.13.1//:regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reis-0.5.0\",\n actual = \"@crates__reis-0.5.0//:reis\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"reis\",\n actual = \"@crates__reis-0.5.0//:reis\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rlimit-0.11.0\",\n actual = \"@crates__rlimit-0.11.0//:rlimit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rlimit\",\n actual = \"@crates__rlimit-0.11.0//:rlimit\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rpds-1.2.1\",\n actual = \"@crates__rpds-1.2.1//:rpds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rpds\",\n actual = \"@crates__rpds-1.2.1//:rpds\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustc-hash-2.1.3\",\n actual = \"@crates__rustc-hash-2.1.3//:rustc_hash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustc-hash\",\n actual = \"@crates__rustc-hash-2.1.3//:rustc_hash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix-1.1.4\",\n actual = \"@crates__rustix-1.1.4//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rustix\",\n actual = \"@crates__rustix-1.1.4//:rustix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"self_cell-1.3.0\",\n actual = \"@crates__self_cell-1.3.0//:self_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"self_cell\",\n actual = \"@crates__self_cell-1.3.0//:self_cell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.229\",\n actual = \"@crates__serde-1.0.229//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crates__serde-1.0.229//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.151\",\n actual = \"@crates__serde_json-1.0.151//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crates__serde_json-1.0.151//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"similar-3.2.0\",\n actual = \"@crates__similar-3.2.0//:similar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"similar\",\n actual = \"@crates__similar-3.2.0//:similar\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"smallvec-1.15.2\",\n actual = \"@crates__smallvec-1.15.2//:smallvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"smallvec\",\n actual = \"@crates__smallvec-1.15.2//:smallvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum-0.28.0\",\n actual = \"@crates__strum-0.28.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum\",\n actual = \"@crates__strum-0.28.0//:strum\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum_macros-0.28.0\",\n actual = \"@crates__strum_macros-0.28.0//:strum_macros\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"strum_macros\",\n actual = \"@crates__strum_macros-0.28.0//:strum_macros\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syntect-5.3.0\",\n actual = \"@crates__syntect-5.3.0//:syntect\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syntect\",\n actual = \"@crates__syntect-5.3.0//:syntect\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.27.0\",\n actual = \"@crates__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crates__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"terminfo-0.9.0\",\n actual = \"@crates__terminfo-0.9.0//:terminfo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"terminfo\",\n actual = \"@crates__terminfo-0.9.0//:terminfo\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror-2.0.20\",\n actual = \"@crates__thiserror-2.0.20//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror\",\n actual = \"@crates__thiserror-2.0.20//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiktoken-rs-0.11.0\",\n actual = \"@crates__tiktoken-rs-0.11.0//:tiktoken_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tiktoken-rs\",\n actual = \"@crates__tiktoken-rs-0.11.0//:tiktoken_rs\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-1.53.1\",\n actual = \"@crates__tokio-1.53.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio\",\n actual = \"@crates__tokio-1.53.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util-0.7.19\",\n actual = \"@crates__tokio-util-0.7.19//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util\",\n actual = \"@crates__tokio-util-0.7.19//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"toml-1.1.4+spec-1.1.0\",\n actual = \"@crates__toml-1.1.4-spec-1.1.0//:toml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"toml\",\n actual = \"@crates__toml-1.1.4-spec-1.1.0//:toml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-0.1.44\",\n actual = \"@crates__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing\",\n actual = \"@crates__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-0.25.10\",\n actual = \"@crates__tree-sitter-0.25.10//:tree_sitter\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter\",\n actual = \"@crates__tree-sitter-0.25.10//:tree_sitter\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-astro-next-0.1.1\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_astro-0.1.1\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_astro\",\n actual = \"@crates__tree-sitter-astro-next-0.1.1//:tree_sitter_astro_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-bash-0.25.1\",\n actual = \"@crates__tree-sitter-bash-0.25.1//:tree_sitter_bash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-bash\",\n actual = \"@crates__tree-sitter-bash-0.25.1//:tree_sitter_bash\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-0.24.2\",\n actual = \"@crates__tree-sitter-c-0.24.2//:tree_sitter_c\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c\",\n actual = \"@crates__tree-sitter-c-0.24.2//:tree_sitter_c\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-sharp-0.23.5\",\n actual = \"@crates__tree-sitter-c-sharp-0.23.5//:tree_sitter_c_sharp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-c-sharp\",\n actual = \"@crates__tree-sitter-c-sharp-0.23.5//:tree_sitter_c_sharp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-clojure-0.1.0\",\n actual = \"@crates__tree-sitter-clojure-0.1.0//:tree_sitter_clojure\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-clojure\",\n actual = \"@crates__tree-sitter-clojure-0.1.0//:tree_sitter_clojure\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cmake-0.7.4\",\n actual = \"@crates__tree-sitter-cmake-0.7.4//:tree_sitter_cmake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cmake\",\n actual = \"@crates__tree-sitter-cmake-0.7.4//:tree_sitter_cmake\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cpp-0.23.4\",\n actual = \"@crates__tree-sitter-cpp-0.23.4//:tree_sitter_cpp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-cpp\",\n actual = \"@crates__tree-sitter-cpp-0.23.4//:tree_sitter_cpp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-css-0.25.0\",\n actual = \"@crates__tree-sitter-css-0.25.0//:tree_sitter_css\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-css\",\n actual = \"@crates__tree-sitter-css-0.25.0//:tree_sitter_css\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dart-0.2.0\",\n actual = \"@crates__tree-sitter-dart-0.2.0//:tree_sitter_dart\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dart\",\n actual = \"@crates__tree-sitter-dart-0.2.0//:tree_sitter_dart\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-diff-0.1.0\",\n actual = \"@crates__tree-sitter-diff-0.1.0//:tree_sitter_diff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-diff\",\n actual = \"@crates__tree-sitter-diff-0.1.0//:tree_sitter_diff\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-dockerfile-updated-0.2.0\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_dockerfile-0.2.0\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_dockerfile\",\n actual = \"@crates__tree-sitter-dockerfile-updated-0.2.0//:tree_sitter_dockerfile_updated\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elisp-1.7.2\",\n actual = \"@crates__tree-sitter-elisp-1.7.2//:tree_sitter_elisp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elisp\",\n actual = \"@crates__tree-sitter-elisp-1.7.2//:tree_sitter_elisp\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elixir-0.3.5\",\n actual = \"@crates__tree-sitter-elixir-0.3.5//:tree_sitter_elixir\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-elixir\",\n actual = \"@crates__tree-sitter-elixir-0.3.5//:tree_sitter_elixir\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-erlang-0.16.0\",\n actual = \"@crates__tree-sitter-erlang-0.16.0//:tree_sitter_erlang\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-erlang\",\n actual = \"@crates__tree-sitter-erlang-0.16.0//:tree_sitter_erlang\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-fortran-0.6.0\",\n actual = \"@crates__tree-sitter-fortran-0.6.0//:tree_sitter_fortran\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-fortran\",\n actual = \"@crates__tree-sitter-fortran-0.6.0//:tree_sitter_fortran\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-go-0.25.0\",\n actual = \"@crates__tree-sitter-go-0.25.0//:tree_sitter_go\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-go\",\n actual = \"@crates__tree-sitter-go-0.25.0//:tree_sitter_go\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-graphql-0.1.0\",\n actual = \"@crates__tree-sitter-graphql-0.1.0//:tree_sitter_graphql\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-graphql\",\n actual = \"@crates__tree-sitter-graphql-0.1.0//:tree_sitter_graphql\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-haskell-0.23.1\",\n actual = \"@crates__tree-sitter-haskell-0.23.1//:tree_sitter_haskell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-haskell\",\n actual = \"@crates__tree-sitter-haskell-0.23.1//:tree_sitter_haskell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-hcl-1.1.0\",\n actual = \"@crates__tree-sitter-hcl-1.1.0//:tree_sitter_hcl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-hcl\",\n actual = \"@crates__tree-sitter-hcl-1.1.0//:tree_sitter_hcl\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-html-0.23.2\",\n actual = \"@crates__tree-sitter-html-0.23.2//:tree_sitter_html\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-html\",\n actual = \"@crates__tree-sitter-html-0.23.2//:tree_sitter_html\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ini-1.4.0\",\n actual = \"@crates__tree-sitter-ini-1.4.0//:tree_sitter_ini\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ini\",\n actual = \"@crates__tree-sitter-ini-1.4.0//:tree_sitter_ini\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-java-0.23.5\",\n actual = \"@crates__tree-sitter-java-0.23.5//:tree_sitter_java\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-java\",\n actual = \"@crates__tree-sitter-java-0.23.5//:tree_sitter_java\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-javascript-0.25.0\",\n actual = \"@crates__tree-sitter-javascript-0.25.0//:tree_sitter_javascript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-javascript\",\n actual = \"@crates__tree-sitter-javascript-0.25.0//:tree_sitter_javascript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-json-0.24.8\",\n actual = \"@crates__tree-sitter-json-0.24.8//:tree_sitter_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-json\",\n actual = \"@crates__tree-sitter-json-0.24.8//:tree_sitter_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-julia-0.23.1\",\n actual = \"@crates__tree-sitter-julia-0.23.1//:tree_sitter_julia\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-julia\",\n actual = \"@crates__tree-sitter-julia-0.23.1//:tree_sitter_julia\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-just-0.2.0\",\n actual = \"@crates__tree-sitter-just-0.2.0//:tree_sitter_just\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-just\",\n actual = \"@crates__tree-sitter-just-0.2.0//:tree_sitter_just\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-kotlin-sg-0.4.1\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_kotlin-0.4.1\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_kotlin\",\n actual = \"@crates__tree-sitter-kotlin-sg-0.4.1//:tree_sitter_kotlin_sg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-lua-0.5.0\",\n actual = \"@crates__tree-sitter-lua-0.5.0//:tree_sitter_lua\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-lua\",\n actual = \"@crates__tree-sitter-lua-0.5.0//:tree_sitter_lua\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-make-1.1.1\",\n actual = \"@crates__tree-sitter-make-1.1.1//:tree_sitter_make\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-make\",\n actual = \"@crates__tree-sitter-make-1.1.1//:tree_sitter_make\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-md-0.5.3\",\n actual = \"@crates__tree-sitter-md-0.5.3//:tree_sitter_md\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-md\",\n actual = \"@crates__tree-sitter-md-0.5.3//:tree_sitter_md\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-nix-0.3.0\",\n actual = \"@crates__tree-sitter-nix-0.3.0//:tree_sitter_nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-nix\",\n actual = \"@crates__tree-sitter-nix-0.3.0//:tree_sitter_nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-objc-3.0.2\",\n actual = \"@crates__tree-sitter-objc-3.0.2//:tree_sitter_objc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-objc\",\n actual = \"@crates__tree-sitter-objc-3.0.2//:tree_sitter_objc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ocaml-0.24.2\",\n actual = \"@crates__tree-sitter-ocaml-0.24.2//:tree_sitter_ocaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ocaml\",\n actual = \"@crates__tree-sitter-ocaml-0.24.2//:tree_sitter_ocaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-odin-1.3.0\",\n actual = \"@crates__tree-sitter-odin-1.3.0//:tree_sitter_odin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-odin\",\n actual = \"@crates__tree-sitter-odin-1.3.0//:tree_sitter_odin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-php-0.24.2\",\n actual = \"@crates__tree-sitter-php-0.24.2//:tree_sitter_php\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-php\",\n actual = \"@crates__tree-sitter-php-0.24.2//:tree_sitter_php\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-powershell-0.26.4\",\n actual = \"@crates__tree-sitter-powershell-0.26.4//:tree_sitter_powershell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-powershell\",\n actual = \"@crates__tree-sitter-powershell-0.26.4//:tree_sitter_powershell\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-proto-0.4.0\",\n actual = \"@crates__tree-sitter-proto-0.4.0//:tree_sitter_proto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-proto\",\n actual = \"@crates__tree-sitter-proto-0.4.0//:tree_sitter_proto\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-python-0.25.0\",\n actual = \"@crates__tree-sitter-python-0.25.0//:tree_sitter_python\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-python\",\n actual = \"@crates__tree-sitter-python-0.25.0//:tree_sitter_python\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-r-1.3.0\",\n actual = \"@crates__tree-sitter-r-1.3.0//:tree_sitter_r\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-r\",\n actual = \"@crates__tree-sitter-r-1.3.0//:tree_sitter_r\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-regex-0.25.0\",\n actual = \"@crates__tree-sitter-regex-0.25.0//:tree_sitter_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-regex\",\n actual = \"@crates__tree-sitter-regex-0.25.0//:tree_sitter_regex\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ruby-0.23.1\",\n actual = \"@crates__tree-sitter-ruby-0.23.1//:tree_sitter_ruby\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-ruby\",\n actual = \"@crates__tree-sitter-ruby-0.23.1//:tree_sitter_ruby\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-rust-0.24.2\",\n actual = \"@crates__tree-sitter-rust-0.24.2//:tree_sitter_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-rust\",\n actual = \"@crates__tree-sitter-rust-0.24.2//:tree_sitter_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-scala-0.26.2\",\n actual = \"@crates__tree-sitter-scala-0.26.2//:tree_sitter_scala\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-scala\",\n actual = \"@crates__tree-sitter-scala-0.26.2//:tree_sitter_scala\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-sequel-0.3.11\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_sql-0.3.11\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_sql\",\n actual = \"@crates__tree-sitter-sequel-0.3.11//:tree_sitter_sequel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-solidity-1.2.13\",\n actual = \"@crates__tree-sitter-solidity-1.2.13//:tree_sitter_solidity\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-solidity\",\n actual = \"@crates__tree-sitter-solidity-1.2.13//:tree_sitter_solidity\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-starlark-1.3.0\",\n actual = \"@crates__tree-sitter-starlark-1.3.0//:tree_sitter_starlark\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-starlark\",\n actual = \"@crates__tree-sitter-starlark-1.3.0//:tree_sitter_starlark\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-svelte-next-0.1.1\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_svelte-0.1.1\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_svelte\",\n actual = \"@crates__tree-sitter-svelte-next-0.1.1//:tree_sitter_svelte_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-swift-0.7.3\",\n actual = \"@crates__tree-sitter-swift-0.7.3//:tree_sitter_swift\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-swift\",\n actual = \"@crates__tree-sitter-swift-0.7.3//:tree_sitter_swift\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-tlaplus-1.5.0\",\n actual = \"@crates__tree-sitter-tlaplus-1.5.0//:tree_sitter_tlaplus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-tlaplus\",\n actual = \"@crates__tree-sitter-tlaplus-1.5.0//:tree_sitter_tlaplus\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-toml-ng-0.7.0\",\n actual = \"@crates__tree-sitter-toml-ng-0.7.0//:tree_sitter_toml_ng\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-toml-ng\",\n actual = \"@crates__tree-sitter-toml-ng-0.7.0//:tree_sitter_toml_ng\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-typescript-0.23.2\",\n actual = \"@crates__tree-sitter-typescript-0.23.2//:tree_sitter_typescript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-typescript\",\n actual = \"@crates__tree-sitter-typescript-0.23.2//:tree_sitter_typescript\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-verilog-1.0.3\",\n actual = \"@crates__tree-sitter-verilog-1.0.3//:tree_sitter_verilog\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-verilog\",\n actual = \"@crates__tree-sitter-verilog-1.0.3//:tree_sitter_verilog\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-vue-next-0.1.0\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_vue-0.1.0\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree_sitter_vue\",\n actual = \"@crates__tree-sitter-vue-next-0.1.0//:tree_sitter_vue_next\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-xml-0.7.0\",\n actual = \"@crates__tree-sitter-xml-0.7.0//:tree_sitter_xml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-xml\",\n actual = \"@crates__tree-sitter-xml-0.7.0//:tree_sitter_xml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-yaml-0.7.2\",\n actual = \"@crates__tree-sitter-yaml-0.7.2//:tree_sitter_yaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-yaml\",\n actual = \"@crates__tree-sitter-yaml-0.7.2//:tree_sitter_yaml\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-zig-1.1.2\",\n actual = \"@crates__tree-sitter-zig-1.1.2//:tree_sitter_zig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tree-sitter-zig\",\n actual = \"@crates__tree-sitter-zig-1.1.2//:tree_sitter_zig\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uiautomation-0.25.0\",\n actual = \"@crates__uiautomation-0.25.0//:uiautomation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uiautomation\",\n actual = \"@crates__uiautomation-0.25.0//:uiautomation\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uucore-0.8.0\",\n actual = \"@crates__uucore-0.8.0//:uucore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uucore\",\n actual = \"@crates__uucore-0.8.0//:uucore\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uuid-1.24.1\",\n actual = \"@crates__uuid-1.24.1//:uuid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uuid\",\n actual = \"@crates__uuid-1.24.1//:uuid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uutils_term_grid-0.8.0\",\n actual = \"@crates__uutils_term_grid-0.8.0//:term_grid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uutils_term_grid\",\n actual = \"@crates__uutils_term_grid-0.8.0//:term_grid\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uzers-0.12.2\",\n actual = \"@crates__uzers-0.12.2//:uzers\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"uzers\",\n actual = \"@crates__uzers-0.12.2//:uzers\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"webrtc-0.17.2\",\n actual = \"@crates__webrtc-0.17.2//:webrtc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"webrtc\",\n actual = \"@crates__webrtc-0.17.2//:webrtc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"whoami-2.1.3\",\n actual = \"@crates__whoami-2.1.3//:whoami\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"whoami\",\n actual = \"@crates__whoami-2.1.3//:whoami\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"windows-sys-0.59.0\",\n actual = \"@crates__windows-sys-0.59.0//:windows_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"windows-sys-0.61.2\",\n actual = \"@crates__windows-sys-0.61.2//:windows_sys\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"winreg-0.56.0\",\n actual = \"@crates__winreg-0.56.0//:winreg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"winreg\",\n actual = \"@crates__winreg-0.56.0//:winreg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x11rb-0.13.2\",\n actual = \"@crates__x11rb-0.13.2//:x11rb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"x11rb\",\n actual = \"@crates__x11rb-0.13.2//:x11rb\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xcap-0.9.6\",\n actual = \"@crates__xcap-0.9.6//:xcap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xcap\",\n actual = \"@crates__xcap-0.9.6//:xcap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xkeysym-0.2.1\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xkeysym\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xutf-1.4.0\",\n actual = \"@crates__xutf-1.4.0//:xutf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xutf\",\n actual = \"@crates__xutf-1.4.0//:xutf\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xxhash-rust-0.8.18\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"xxhash-rust\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"yansi-1.0.1\",\n actual = \"@crates__yansi-1.0.1//:yansi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"yansi\",\n actual = \"@crates__yansi-1.0.1//:yansi\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zstd-0.13.3\",\n actual = \"@crates__zstd-0.13.3//:zstd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zstd\",\n actual = \"@crates__zstd-0.13.3//:zstd\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zune-jpeg-0.5.15\",\n actual = \"@crates__zune-jpeg-0.5.15//:zune_jpeg\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"zune-jpeg\",\n actual = \"@crates__zune-jpeg-0.5.15//:zune_jpeg\",\n tags = [\"manual\"],\n)\n", "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n # `ctx.attr.actual` is a list of 1 item due to the transition\n providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n if CcInfo in ctx.attr.actual[0]:\n providers.append(ctx.attr.actual[0][CcInfo])\n return providers\n\ndef _change_compilation_mode(compilation_mode):\n def _change_compilation_mode_impl(_settings, _attr):\n return {\n \"//command_line_option:compilation_mode\": compilation_mode,\n }\n\n return transition(\n implementation = _change_compilation_mode_impl,\n inputs = [],\n outputs = [\n \"//command_line_option:compilation_mode\",\n ],\n )\n\ndef _transition_alias_rule(compilation_mode):\n return rule(\n implementation = _transition_alias_impl,\n provides = COMMON_PROVIDERS,\n attrs = {\n \"actual\": attr.label(\n mandatory = True,\n doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n providers = COMMON_PROVIDERS,\n cfg = _change_compilation_mode(compilation_mode),\n ),\n \"_allowlist_function_transition\": attr.label(\n default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n ),\n },\n doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n", - "crates.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_edition](#crate_edition)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe:defs.bzl\", \"crates_vendor_remote_repository\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef crate_edition(package_name = None):\n \"\"\"Finds the Rust edition for the package where this macro is called.\n\n Args:\n package_name (str, optional): The package name whose edition should be\n looked up. Defaults to `native.package_name()` when unset.\n\n Returns:\n str: The Rust edition declared by the package's Cargo.toml file.\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n if package_name not in _CRATE_EDITIONS:\n fail(\"Tried to get crate_edition for package \" + package_name + \" but that package had no Cargo.toml file\")\n\n return _CRATE_EDITIONS[package_name]\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list.\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS, ALIASES, AND EDITIONS\n###############################################################################\n\n_CRATE_EDITIONS = {\n \"crates/vendor/brush-core\": \"2024\",\n \"crates/pi-ast\": \"2024\",\n \"crates/pi-builtins\": \"2024\",\n \"crates/pi-iso\": \"2024\",\n \"crates/pi-natives\": \"2024\",\n \"crates/pi-shell\": \"2024\",\n \"crates/pi-voice\": \"2024\",\n \"crates/pi-walker\": \"2024\",\n}\n\n_NORMAL_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"bon\": Label(\"//bon-3.9.3\"),\n \"brush-parser\": Label(\"//brush-parser-0.4.0\"),\n \"cached\": Label(\"//cached-0.59.0\"),\n \"cfg-if\": Label(\"//cfg-if-1.0.4\"),\n \"chrono\": Label(\"//chrono-0.4.45\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"color-print\": Label(\"//color-print-0.3.7\"),\n \"fancy-regex\": Label(\"//fancy-regex-0.17.0\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"itertools\": Label(\"//itertools-0.14.0\"),\n \"normalize-path\": Label(\"//normalize-path-0.2.1\"),\n \"rand\": Label(\"//rand-0.10.2\"),\n \"rpds\": Label(\"//rpds-1.2.1\"),\n \"strum\": Label(\"//strum-0.28.0\"),\n \"thiserror\": Label(\"//thiserror-2.0.20\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"tracing\": Label(\"//tracing-0.1.44\"),\n },\n \"cfg(any(unix, windows))\": {\n \"hostname\": Label(\"//hostname-0.4.2\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(unix)\": {\n \"command-fds\": Label(\"//command-fds-0.3.3\"),\n \"libc\": Label(\"//libc-0.2.189\"),\n \"nix\": Label(\"//nix-0.31.3\"),\n \"terminfo\": Label(\"//terminfo-0.9.0\"),\n \"uzers\": Label(\"//uzers-0.12.2\"),\n },\n \"cfg(windows)\": {\n \"check_elevation\": Label(\"//check_elevation-0.2.7\"),\n \"whoami\": Label(\"//whoami-2.1.3\"),\n \"windows-sys\": Label(\"//windows-sys-0.59.0\"),\n },\n \"wasm32-unknown-unknown\": {\n \"getrandom\": Label(\"//getrandom-0.4.3\"),\n \"uuid\": Label(\"//uuid-1.24.1\"),\n },\n },\n \"crates/pi-ast\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"ast-grep-core\": Label(\"//ast-grep-core-0.39.9\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"phf\": Label(\"//phf-0.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"tree-sitter\": Label(\"//tree-sitter-0.25.10\"),\n \"tree_sitter_astro\": Label(\"//tree-sitter-astro-next-0.1.1\"),\n \"tree-sitter-bash\": Label(\"//tree-sitter-bash-0.25.1\"),\n \"tree-sitter-c\": Label(\"//tree-sitter-c-0.24.2\"),\n \"tree-sitter-c-sharp\": Label(\"//tree-sitter-c-sharp-0.23.5\"),\n \"tree-sitter-clojure\": Label(\"//tree-sitter-clojure-0.1.0\"),\n \"tree-sitter-cmake\": Label(\"//tree-sitter-cmake-0.7.4\"),\n \"tree-sitter-cpp\": Label(\"//tree-sitter-cpp-0.23.4\"),\n \"tree-sitter-css\": Label(\"//tree-sitter-css-0.25.0\"),\n \"tree-sitter-dart\": Label(\"//tree-sitter-dart-0.2.0\"),\n \"tree-sitter-diff\": Label(\"//tree-sitter-diff-0.1.0\"),\n \"tree_sitter_dockerfile\": Label(\"//tree-sitter-dockerfile-updated-0.2.0\"),\n \"tree-sitter-elisp\": Label(\"//tree-sitter-elisp-1.7.2\"),\n \"tree-sitter-elixir\": Label(\"//tree-sitter-elixir-0.3.5\"),\n \"tree-sitter-erlang\": Label(\"//tree-sitter-erlang-0.16.0\"),\n \"tree-sitter-fortran\": Label(\"//tree-sitter-fortran-0.6.0\"),\n \"tree-sitter-go\": Label(\"//tree-sitter-go-0.25.0\"),\n \"tree-sitter-graphql\": Label(\"//tree-sitter-graphql-0.1.0\"),\n \"tree-sitter-haskell\": Label(\"//tree-sitter-haskell-0.23.1\"),\n \"tree-sitter-hcl\": Label(\"//tree-sitter-hcl-1.1.0\"),\n \"tree-sitter-html\": Label(\"//tree-sitter-html-0.23.2\"),\n \"tree-sitter-ini\": Label(\"//tree-sitter-ini-1.4.0\"),\n \"tree-sitter-java\": Label(\"//tree-sitter-java-0.23.5\"),\n \"tree-sitter-javascript\": Label(\"//tree-sitter-javascript-0.25.0\"),\n \"tree-sitter-json\": Label(\"//tree-sitter-json-0.24.8\"),\n \"tree-sitter-julia\": Label(\"//tree-sitter-julia-0.23.1\"),\n \"tree-sitter-just\": Label(\"//tree-sitter-just-0.2.0\"),\n \"tree_sitter_kotlin\": Label(\"//tree-sitter-kotlin-sg-0.4.1\"),\n \"tree-sitter-lua\": Label(\"//tree-sitter-lua-0.5.0\"),\n \"tree-sitter-make\": Label(\"//tree-sitter-make-1.1.1\"),\n \"tree-sitter-md\": Label(\"//tree-sitter-md-0.5.3\"),\n \"tree-sitter-nix\": Label(\"//tree-sitter-nix-0.3.0\"),\n \"tree-sitter-objc\": Label(\"//tree-sitter-objc-3.0.2\"),\n \"tree-sitter-ocaml\": Label(\"//tree-sitter-ocaml-0.24.2\"),\n \"tree-sitter-odin\": Label(\"//tree-sitter-odin-1.3.0\"),\n \"tree-sitter-php\": Label(\"//tree-sitter-php-0.24.2\"),\n \"tree-sitter-powershell\": Label(\"//tree-sitter-powershell-0.26.4\"),\n \"tree-sitter-proto\": Label(\"//tree-sitter-proto-0.4.0\"),\n \"tree-sitter-python\": Label(\"//tree-sitter-python-0.25.0\"),\n \"tree-sitter-r\": Label(\"//tree-sitter-r-1.3.0\"),\n \"tree-sitter-regex\": Label(\"//tree-sitter-regex-0.25.0\"),\n \"tree-sitter-ruby\": Label(\"//tree-sitter-ruby-0.23.1\"),\n \"tree-sitter-rust\": Label(\"//tree-sitter-rust-0.24.2\"),\n \"tree-sitter-scala\": Label(\"//tree-sitter-scala-0.26.2\"),\n \"tree_sitter_sql\": Label(\"//tree-sitter-sequel-0.3.11\"),\n \"tree-sitter-solidity\": Label(\"//tree-sitter-solidity-1.2.13\"),\n \"tree-sitter-starlark\": Label(\"//tree-sitter-starlark-1.3.0\"),\n \"tree_sitter_svelte\": Label(\"//tree-sitter-svelte-next-0.1.1\"),\n \"tree-sitter-swift\": Label(\"//tree-sitter-swift-0.7.3\"),\n \"tree-sitter-tlaplus\": Label(\"//tree-sitter-tlaplus-1.5.0\"),\n \"tree-sitter-toml-ng\": Label(\"//tree-sitter-toml-ng-0.7.0\"),\n \"tree-sitter-typescript\": Label(\"//tree-sitter-typescript-0.23.2\"),\n \"tree-sitter-verilog\": Label(\"//tree-sitter-verilog-1.0.3\"),\n \"tree_sitter_vue\": Label(\"//tree-sitter-vue-next-0.1.0\"),\n \"tree-sitter-xml\": Label(\"//tree-sitter-xml-0.7.0\"),\n \"tree-sitter-yaml\": Label(\"//tree-sitter-yaml-0.7.2\"),\n \"tree-sitter-zig\": Label(\"//tree-sitter-zig-1.1.2\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n },\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"ansi-width\": Label(\"//ansi-width-0.1.0\"),\n \"argmax\": Label(\"//argmax-0.3.1\"),\n \"bigdecimal\": Label(\"//bigdecimal-0.4.10\"),\n \"binary-heap-plus\": Label(\"//binary-heap-plus-0.5.0\"),\n \"brush-parser\": Label(\"//brush-parser-0.4.0\"),\n \"bstr\": Label(\"//bstr-1.13.1\"),\n \"bytecount\": Label(\"//bytecount-0.6.9\"),\n \"cfg-if\": Label(\"//cfg-if-1.0.4\"),\n \"chrono\": Label(\"//chrono-0.4.45\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"codesnake\": Label(\"//codesnake-0.2.1\"),\n \"compare\": Label(\"//compare-0.1.0\"),\n \"faccess\": Label(\"//faccess-0.2.4\"),\n \"fancy-regex\": Label(\"//fancy-regex-0.17.0\"),\n \"filetime\": Label(\"//filetime-0.2.29\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"foldhash\": Label(\"//foldhash-0.2.0\"),\n \"fs_extra\": Label(\"//fs_extra-1.3.0\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"glob\": Label(\"//glob-0.3.4\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"grep-cli\": Label(\"//grep-cli-0.1.12\"),\n \"grep-matcher\": Label(\"//grep-matcher-0.1.9\"),\n \"grep-pcre2\": Label(\"//grep-pcre2-0.1.10\"),\n \"grep-printer\": Label(\"//grep-printer-0.3.1\"),\n \"grep-regex\": Label(\"//grep-regex-0.1.14\"),\n \"grep-searcher\": Label(\"//grep-searcher-0.1.17\"),\n \"hex\": Label(\"//hex-0.4.3\"),\n \"hifijson\": Label(\"//hifijson-0.2.3\"),\n \"hostname\": Label(\"//hostname-0.4.2\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"indicatif\": Label(\"//indicatif-0.18.6\"),\n \"itertools\": Label(\"//itertools-0.14.0\"),\n \"jaq-core\": Label(\"//jaq-core-2.2.1\"),\n \"jaq-json\": Label(\"//jaq-json-1.1.3\"),\n \"jaq-std\": Label(\"//jaq-std-2.1.2\"),\n \"jiff\": Label(\"//jiff-0.2.35\"),\n \"libc\": Label(\"//libc-0.2.189\"),\n \"lscolors\": Label(\"//lscolors-0.21.0\"),\n \"memchr\": Label(\"//memchr-2.8.3\"),\n \"memmap2\": Label(\"//memmap2-0.9.11\"),\n \"nom\": Label(\"//nom-8.0.0\"),\n \"num-bigint\": Label(\"//num-bigint-0.4.8\"),\n \"num-traits\": Label(\"//num-traits-0.2.19\"),\n \"onig\": Label(\"//onig-6.5.3\"),\n \"os_display\": Label(\"//os_display-0.1.4\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"parse_datetime\": Label(\"//parse_datetime-0.14.0\"),\n \"platform-info\": Label(\"//platform-info-2.1.0\"),\n \"rand\": Label(\"//rand-0.10.2\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"rustc-hash\": Label(\"//rustc-hash-2.1.3\"),\n \"self_cell\": Label(\"//self_cell-1.3.0\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"similar\": Label(\"//similar-3.2.0\"),\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"strum\": Label(\"//strum-0.28.0\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n \"thiserror\": Label(\"//thiserror-2.0.20\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"tracing\": Label(\"//tracing-0.1.44\"),\n \"uucore\": Label(\"//uucore-0.8.0\"),\n \"uutils_term_grid\": Label(\"//uutils_term_grid-0.8.0\"),\n \"xutf\": Label(\"//xutf-1.3.0\"),\n \"yansi\": Label(\"//yansi-1.0.1\"),\n },\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": {\n \"procfs\": Label(\"//procfs-0.18.0\"),\n },\n \"cfg(any(unix, windows))\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(unix)\": {\n \"dns-lookup\": Label(\"//dns-lookup-3.0.1\"),\n \"nix\": Label(\"//nix-0.31.3\"),\n \"notify\": Label(\"//notify-8.2.0\"),\n \"rlimit\": Label(\"//rlimit-0.11.0\"),\n \"rustix\": Label(\"//rustix-1.1.4\"),\n },\n \"cfg(windows)\": {\n \"notify\": Label(\"//notify-8.2.0\"),\n \"rustix\": Label(\"//rustix-1.1.4\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n \"similar\": Label(\"//similar-3.2.0\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"arboard\": Label(\"//arboard-3.6.1\"),\n \"ast-grep-core\": Label(\"//ast-grep-core-0.39.9\"),\n \"base64\": Label(\"//base64-0.22.1\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"fontdue\": Label(\"//fontdue-0.9.4\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"grep-matcher\": Label(\"//grep-matcher-0.1.9\"),\n \"grep-pcre2\": Label(\"//grep-pcre2-0.1.10\"),\n \"grep-regex\": Label(\"//grep-regex-0.1.14\"),\n \"grep-searcher\": Label(\"//grep-searcher-0.1.17\"),\n \"html-to-markdown-rs\": Label(\"//html-to-markdown-rs-3.11.0\"),\n \"icy_sixel\": Label(\"//icy_sixel-0.5.1\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"image\": Label(\"//image-0.25.10\"),\n \"inferno\": Label(\"//inferno-0.12.8\"),\n \"napi\": Label(\"//napi-3.12.1\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"pdf-inspector\": Label(\"//pdf-inspector-1.15.0\"),\n \"phf\": Label(\"//phf-0.13.1\"),\n \"png\": Label(\"//png-0.18.1\"),\n \"portable-pty\": Label(\"//portable-pty-0.9.0\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"syntect\": Label(\"//syntect-5.3.0\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"toml\": Label(\"//toml-1.1.4+spec-1.1.0\"),\n \"xutf\": Label(\"//xutf-1.3.0\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n \"zstd\": Label(\"//zstd-0.13.3\"),\n \"zune-jpeg\": Label(\"//zune-jpeg-0.5.15\"),\n },\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": {\n \"enigo\": Label(\"//enigo-0.6.1\"),\n \"xcap\": Label(\"//xcap-0.9.6\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"ashpd\": Label(\"//ashpd-0.11.1\"),\n \"atspi\": Label(\"//atspi-0.30.0\"),\n \"reis\": Label(\"//reis-0.5.0\"),\n \"x11rb\": Label(\"//x11rb-0.13.2\"),\n \"xkeysym\": Label(\"//xkeysym-0.2.1\"),\n },\n \"cfg(target_os = \\\"macos\\\")\": {\n \"core-graphics\": Label(\"//core-graphics-0.25.0\"),\n \"foreign-types\": Label(\"//foreign-types-0.5.0\"),\n \"objc2-app-kit\": Label(\"//objc2-app-kit-0.3.2\"),\n \"objc2-application-services\": Label(\"//objc2-application-services-0.3.2\"),\n \"objc2-core-foundation\": Label(\"//objc2-core-foundation-0.3.2\"),\n \"objc2-core-graphics\": Label(\"//objc2-core-graphics-0.3.2\"),\n \"objc2-foundation\": Label(\"//objc2-foundation-0.3.2\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"clipboard-win\": Label(\"//clipboard-win-5.4.1\"),\n \"uiautomation\": Label(\"//uiautomation-0.25.0\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n \"winreg\": Label(\"//winreg-0.56.0\"),\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"brush-parser\": Label(\"//brush-parser-0.3.0\"),\n \"bytes\": Label(\"//bytes-1.12.1\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"jiff\": Label(\"//jiff-0.2.35\"),\n \"os_pipe\": Label(\"//os_pipe-1.2.3\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"toml\": Label(\"//toml-1.1.4+spec-1.1.0\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n \"winreg\": Label(\"//winreg-0.56.0\"),\n },\n },\n \"crates/pi-voice\": {\n _COMMON_CONDITION: {\n \"audiopus_sys\": Label(\"//audiopus_sys-0.2.2\"),\n \"bytes\": Label(\"//bytes-1.12.1\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"opus\": Label(\"//opus-0.3.1\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"webrtc\": Label(\"//webrtc-0.17.2\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(target_os = \\\"windows\\\")\": {\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-walker\": {\n _COMMON_CONDITION: {\n \"dashmap\": Label(\"//dashmap-6.2.1\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(unix, windows))\": {\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n \"wasm32-unknown-unknown\": {\n },\n },\n \"crates/pi-ast\": {\n _COMMON_CONDITION: {\n Label(\"//tree-sitter-astro-next-0.1.1\"): \"tree_sitter_astro\",\n Label(\"//tree-sitter-dockerfile-updated-0.2.0\"): \"tree_sitter_dockerfile\",\n Label(\"//tree-sitter-kotlin-sg-0.4.1\"): \"tree_sitter_kotlin\",\n Label(\"//tree-sitter-sequel-0.3.11\"): \"tree_sitter_sql\",\n Label(\"//tree-sitter-svelte-next-0.1.1\"): \"tree_sitter_svelte\",\n Label(\"//tree-sitter-vue-next-0.1.0\"): \"tree_sitter_vue\",\n },\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": {\n },\n \"cfg(any(unix, windows))\": {\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(target_os = \\\"macos\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-voice\": {\n _COMMON_CONDITION: {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(target_os = \\\"windows\\\")\": {\n },\n },\n \"crates/pi-walker\": {\n _COMMON_CONDITION: {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"pretty_assertions\": Label(\"//pretty_assertions-1.4.1\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"pretty_assertions\": Label(\"//pretty_assertions-1.4.1\"),\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"fancy-regex\": Label(\"//fancy-regex-0.16.2\"),\n \"tiktoken-rs\": Label(\"//tiktoken-rs-0.11.0\"),\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"async-recursion\": Label(\"//async-recursion-1.1.1\"),\n \"async-trait\": Label(\"//async-trait-0.1.92\"),\n \"inherent\": Label(\"//inherent-1.0.14\"),\n \"strum_macros\": Label(\"//strum_macros-0.28.0\"),\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"strum_macros\": Label(\"//strum_macros-0.28.0\"),\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n \"async-trait\": Label(\"//async-trait-0.1.92\"),\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"napi-derive\": Label(\"//napi-derive-3.6.3\"),\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"napi-build\": Label(\"//napi-build-2.4.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-apple-darwin\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"aarch64-linux-android\": [],\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-unknown-linux-gnu\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\"],\n \"aarch64-unknown-linux-musl\": [\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), target_os = \\\"windows\\\"))\": [],\n \"cfg(all(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), target_vendor = \\\"apple\\\", any(target_os = \\\"ios\\\", target_os = \\\"macos\\\", target_os = \\\"tvos\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"cfg(all(any(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), all(target_arch = \\\"arm\\\", target_endian = \\\"little\\\")), any(target_os = \\\"android\\\", target_os = \\\"linux\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(curve25519_dalek_backend = \\\"fiat\\\"), not(curve25519_dalek_backend = \\\"serial\\\"), target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"android\\\"))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"loongarch64\\\", target_os = \\\"linux\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_os = \\\"linux\\\", not(target_env = \\\"ohos\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n \"cfg(all(unix, not(any(target_os = \\\"macos\\\", target_os = \\\"android\\\", target_os = \\\"emscripten\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(unix, not(target_os = \\\"macos\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any())\": [],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\", target_os = \\\"macos\\\", target_os = \\\"hurd\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"dragonfly\\\"))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"openbsd\\\", target_os = \\\"netbsd\\\", target_os = \\\"dragonflybsd\\\", target_os = \\\"ios\\\"))\": [],\n \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(any(unix, target_os = \\\"fuchsia\\\", target_os = \\\"vxworks\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"redox\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, windows))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(windows, target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(curve25519_dalek_backend = \\\"fiat\\\")\": [],\n \"cfg(not(all(target_arch = \\\"arm\\\", target_os = \\\"none\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(any(target_os = \\\"android\\\", target_os = \\\"linux\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(not(target_arch = \\\"wasm32\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n \"cfg(not(target_os = \\\"windows\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(windows))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_arch = \\\"aarch64\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(target_arch = \\\"spirv\\\")\": [],\n \"cfg(target_arch = \\\"wasm32\\\")\": [],\n \"cfg(target_arch = \\\"x86\\\")\": [],\n \"cfg(target_arch = \\\"x86_64\\\")\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_family = \\\"wasm\\\")\": [],\n \"cfg(target_os = \\\"android\\\")\": [],\n \"cfg(target_os = \\\"freebsd\\\")\": [],\n \"cfg(target_os = \\\"haiku\\\")\": [],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"linux\\\")\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_os = \\\"macos\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(target_os = \\\"netbsd\\\")\": [],\n \"cfg(target_os = \\\"redox\\\")\": [],\n \"cfg(target_os = \\\"solaris\\\")\": [],\n \"cfg(target_os = \\\"vxworks\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [],\n \"cfg(target_os = \\\"windows\\\")\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(target_vendor = \\\"apple\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(unix)\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(windows)\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(windows_raw_dylib)\": [],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"wasm32-unknown-unknown\": [],\n \"x86_64-apple-darwin\": [\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-pc-windows-msvc\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"x86_64-unknown-linux-gnu\": [\"@@//bazel/triples:x86_64-unknown-linux-gnu\"],\n \"x86_64-unknown-linux-musl\": [\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n crates_vendor_remote_repository,\n name = \"crates\",\n # Lean interface: just point at `crates.bzl`; the repo rule\n # derives the sibling `BUILD.bazel` and `defs.bzl`.\n crates_module = Label(\"@crates//crates:crates.bzl\"),\n )\n maybe(\n http_archive,\n name = \"crates__adler2-2.0.1\",\n sha256 = \"320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler2/2.0.1/download\"],\n strip_prefix = \"adler2-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.adler2-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aead-0.5.2\",\n sha256 = \"d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aead/0.5.2/download\"],\n strip_prefix = \"aead-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.aead-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aes-0.8.4\",\n sha256 = \"b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes/0.8.4/download\"],\n strip_prefix = \"aes-0.8.4\",\n build_file = Label(\"@crates//crates:BUILD.aes-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aes-gcm-0.10.3\",\n sha256 = \"831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes-gcm/0.10.3/download\"],\n strip_prefix = \"aes-gcm-0.10.3\",\n build_file = Label(\"@crates//crates:BUILD.aes-gcm-0.10.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ahash-0.8.12\",\n sha256 = \"5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ahash/0.8.12/download\"],\n strip_prefix = \"ahash-0.8.12\",\n build_file = Label(\"@crates//crates:BUILD.ahash-0.8.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aho-corasick-1.1.5\",\n sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n strip_prefix = \"aho-corasick-1.1.5\",\n build_file = Label(\"@crates//crates:BUILD.aho-corasick-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__allocator-api2-0.2.21\",\n sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n strip_prefix = \"allocator-api2-0.2.21\",\n build_file = Label(\"@crates//crates:BUILD.allocator-api2-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__android_system_properties-0.1.6\",\n sha256 = \"ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android_system_properties/0.1.6/download\"],\n strip_prefix = \"android_system_properties-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.android_system_properties-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__annotate-snippets-0.11.5\",\n sha256 = \"710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/annotate-snippets/0.11.5/download\"],\n strip_prefix = \"annotate-snippets-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.annotate-snippets-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ansi-width-0.1.0\",\n sha256 = \"219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ansi-width/0.1.0/download\"],\n strip_prefix = \"ansi-width-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.ansi-width-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstream-1.0.0\",\n sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n strip_prefix = \"anstream-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.anstream-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-1.0.14\",\n sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n strip_prefix = \"anstyle-1.0.14\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-parse-1.0.0\",\n sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n strip_prefix = \"anstyle-parse-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-parse-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-query-1.1.5\",\n sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n strip_prefix = \"anstyle-query-1.1.5\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-query-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-wincon-3.0.11\",\n sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n strip_prefix = \"anstyle-wincon-3.0.11\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-wincon-3.0.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anyhow-1.0.104\",\n sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n strip_prefix = \"anyhow-1.0.104\",\n build_file = Label(\"@crates//crates:BUILD.anyhow-1.0.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arboard-3.6.1\",\n sha256 = \"0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arboard/3.6.1/download\"],\n strip_prefix = \"arboard-3.6.1\",\n build_file = Label(\"@crates//crates:BUILD.arboard-3.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arc-swap-1.9.2\",\n sha256 = \"c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arc-swap/1.9.2/download\"],\n strip_prefix = \"arc-swap-1.9.2\",\n build_file = Label(\"@crates//crates:BUILD.arc-swap-1.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__archery-1.2.3\",\n sha256 = \"33ca55ee147b1926dbea904f50fe4902494e97bc742205abbbf10c709e43815f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/archery/1.2.3/download\"],\n strip_prefix = \"archery-1.2.3\",\n build_file = Label(\"@crates//crates:BUILD.archery-1.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__argmax-0.3.1\",\n sha256 = \"5b7e3ef5e3a7f2c5e5a49d90ad087c03d38258e75155daac64deb62c50972c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argmax/0.3.1/download\"],\n strip_prefix = \"argmax-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.argmax-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arrayref-0.3.9\",\n sha256 = \"76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayref/0.3.9/download\"],\n strip_prefix = \"arrayref-0.3.9\",\n build_file = Label(\"@crates//crates:BUILD.arrayref-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arrayvec-0.7.8\",\n sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n strip_prefix = \"arrayvec-0.7.8\",\n build_file = Label(\"@crates//crates:BUILD.arrayvec-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ashpd-0.11.1\",\n sha256 = \"d2f3f79755c74fd155000314eb349864caa787c6592eace6c6882dad873d9c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ashpd/0.11.1/download\"],\n strip_prefix = \"ashpd-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.ashpd-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-0.6.2\",\n sha256 = \"5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs/0.6.2/download\"],\n strip_prefix = \"asn1-rs-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-derive-0.5.1\",\n sha256 = \"965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs-derive/0.5.1/download\"],\n strip_prefix = \"asn1-rs-derive-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-derive-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-impl-0.2.0\",\n sha256 = \"7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs-impl/0.2.0/download\"],\n strip_prefix = \"asn1-rs-impl-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-impl-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ast-grep-core-0.39.9\",\n sha256 = \"057ae90e7256ebf85f840b1638268df0142c9d19467d500b790631fd301acc27\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ast-grep-core/0.39.9/download\"],\n strip_prefix = \"ast-grep-core-0.39.9\",\n build_file = Label(\"@crates//crates:BUILD.ast-grep-core-0.39.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__astral-tl-0.7.11\",\n sha256 = \"d90933ffb0f97e2fc2e0de21da9d3f20597b804012d199843a6fe7c2810d28f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/astral-tl/0.7.11/download\"],\n strip_prefix = \"astral-tl-0.7.11\",\n build_file = Label(\"@crates//crates:BUILD.astral-tl-0.7.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-broadcast-0.7.2\",\n sha256 = \"435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-broadcast/0.7.2/download\"],\n strip_prefix = \"async-broadcast-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.async-broadcast-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-channel-2.5.0\",\n sha256 = \"924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-channel/2.5.0/download\"],\n strip_prefix = \"async-channel-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.async-channel-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-executor-1.14.0\",\n sha256 = \"c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-executor/1.14.0/download\"],\n strip_prefix = \"async-executor-1.14.0\",\n build_file = Label(\"@crates//crates:BUILD.async-executor-1.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-io-2.6.0\",\n sha256 = \"456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-io/2.6.0/download\"],\n strip_prefix = \"async-io-2.6.0\",\n build_file = Label(\"@crates//crates:BUILD.async-io-2.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-lock-3.4.2\",\n sha256 = \"290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-lock/3.4.2/download\"],\n strip_prefix = \"async-lock-3.4.2\",\n build_file = Label(\"@crates//crates:BUILD.async-lock-3.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-process-2.5.0\",\n sha256 = \"fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-process/2.5.0/download\"],\n strip_prefix = \"async-process-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.async-process-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-recursion-1.1.1\",\n sha256 = \"3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-recursion/1.1.1/download\"],\n strip_prefix = \"async-recursion-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.async-recursion-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-signal-0.2.14\",\n sha256 = \"52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-signal/0.2.14/download\"],\n strip_prefix = \"async-signal-0.2.14\",\n build_file = Label(\"@crates//crates:BUILD.async-signal-0.2.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-task-4.7.1\",\n sha256 = \"8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-task/4.7.1/download\"],\n strip_prefix = \"async-task-4.7.1\",\n build_file = Label(\"@crates//crates:BUILD.async-task-4.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-trait-0.1.92\",\n sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n strip_prefix = \"async-trait-0.1.92\",\n build_file = Label(\"@crates//crates:BUILD.async-trait-0.1.92.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-0.30.0\",\n sha256 = \"6bf601cccedfffec598ec2db1f9d6745885458bccc0e8916d7023f017c94b3d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi/0.30.0/download\"],\n strip_prefix = \"atspi-0.30.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-0.30.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-common-0.14.0\",\n sha256 = \"f8a79bed3f5b408ce3152f36e07327a845e6ed5d7e2821a89264037dbcc11daf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-common/0.14.0/download\"],\n strip_prefix = \"atspi-common-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-common-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-connection-0.14.0\",\n sha256 = \"8fab8e4f574f5a7d3af280b38eff25fb6f47a537dac9ae39ce152f52b19fb10b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-connection/0.14.0/download\"],\n strip_prefix = \"atspi-connection-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-connection-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-proxies-0.14.0\",\n sha256 = \"53403acd3ab2fdb5914f6558da22e540fc07656fce5510f8c02be0e6ef68413e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-proxies/0.14.0/download\"],\n strip_prefix = \"atspi-proxies-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-proxies-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__audiopus_sys-0.2.2\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//bazel/patches:audiopus-sys-libdir.patch\",\n ],\n sha256 = \"62314a1546a2064e033665d658e88c620a62904be945f8147e6b16c3db9f8651\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/audiopus_sys/0.2.2/download\"],\n strip_prefix = \"audiopus_sys-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.audiopus_sys-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__autocfg-1.5.1\",\n sha256 = \"f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/autocfg/1.5.1/download\"],\n strip_prefix = \"autocfg-1.5.1\",\n build_file = Label(\"@crates//crates:BUILD.autocfg-1.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base16ct-0.2.0\",\n sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n strip_prefix = \"base16ct-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.base16ct-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crates//crates:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-0.23.1\",\n sha256 = \"ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.23.1/download\"],\n strip_prefix = \"base64-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.base64-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-simd-0.8.0\",\n sha256 = \"339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64-simd/0.8.0/download\"],\n strip_prefix = \"base64-simd-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.base64-simd-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64ct-1.8.3\",\n sha256 = \"2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64ct/1.8.3/download\"],\n strip_prefix = \"base64ct-1.8.3\",\n build_file = Label(\"@crates//crates:BUILD.base64ct-1.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bigdecimal-0.4.10\",\n sha256 = \"4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bigdecimal/0.4.10/download\"],\n strip_prefix = \"bigdecimal-0.4.10\",\n build_file = Label(\"@crates//crates:BUILD.bigdecimal-0.4.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__binary-heap-plus-0.5.0\",\n sha256 = \"e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/binary-heap-plus/0.5.0/download\"],\n strip_prefix = \"binary-heap-plus-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.binary-heap-plus-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bincode-1.3.3\",\n sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n strip_prefix = \"bincode-1.3.3\",\n build_file = Label(\"@crates//crates:BUILD.bincode-1.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bindgen-0.72.1\",\n sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n strip_prefix = \"bindgen-0.72.1\",\n build_file = Label(\"@crates//crates:BUILD.bindgen-0.72.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bit-set-0.8.0\",\n sha256 = \"08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bit-set/0.8.0/download\"],\n strip_prefix = \"bit-set-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.bit-set-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bit-vec-0.8.0\",\n sha256 = \"5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bit-vec/0.8.0/download\"],\n strip_prefix = \"bit-vec-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.bit-vec-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitflags-1.3.2\",\n sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n strip_prefix = \"bitflags-1.3.2\",\n build_file = Label(\"@crates//crates:BUILD.bitflags-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitflags-2.13.1\",\n sha256 = \"b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.13.1/download\"],\n strip_prefix = \"bitflags-2.13.1\",\n build_file = Label(\"@crates//crates:BUILD.bitflags-2.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitvec-1.1.1\",\n sha256 = \"ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitvec/1.1.1/download\"],\n strip_prefix = \"bitvec-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.bitvec-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blake2b_simd-1.0.4\",\n sha256 = \"b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blake2b_simd/1.0.4/download\"],\n strip_prefix = \"blake2b_simd-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.blake2b_simd-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blake3-1.8.6\",\n sha256 = \"76ae7bad254120e9e4c63bafc385310756f90c484eac0e36b8317cf09cb92a77\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blake3/1.8.6/download\"],\n strip_prefix = \"blake3-1.8.6\",\n build_file = Label(\"@crates//crates:BUILD.blake3-1.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-buffer-0.10.4\",\n sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n strip_prefix = \"block-buffer-0.10.4\",\n build_file = Label(\"@crates//crates:BUILD.block-buffer-0.10.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-buffer-0.12.1\",\n sha256 = \"d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.12.1/download\"],\n strip_prefix = \"block-buffer-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.block-buffer-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-padding-0.3.3\",\n sha256 = \"a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-padding/0.3.3/download\"],\n strip_prefix = \"block-padding-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.block-padding-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block2-0.6.2\",\n sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n strip_prefix = \"block2-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.block2-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blocking-1.6.2\",\n sha256 = \"e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blocking/1.6.2/download\"],\n strip_prefix = \"blocking-1.6.2\",\n build_file = Label(\"@crates//crates:BUILD.blocking-1.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bon-3.9.3\",\n sha256 = \"a602c73c7b0148ec6d12af6fd5cc7a46e2eacc8878271a999abac56eed12f561\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bon/3.9.3/download\"],\n strip_prefix = \"bon-3.9.3\",\n build_file = Label(\"@crates//crates:BUILD.bon-3.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bon-macros-3.9.3\",\n sha256 = \"6dee98b0db6a962de883bf5d20362dee4d7ca0d12fe39a7c6c73c844e1cd7c1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bon-macros/3.9.3/download\"],\n strip_prefix = \"bon-macros-3.9.3\",\n build_file = Label(\"@crates//crates:BUILD.bon-macros-3.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__brush-parser-0.3.0\",\n sha256 = \"f7367124d4f38fdcd65f4b815bda7caeb3de377b9cd95ffa1b23627989c93718\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/brush-parser/0.3.0/download\"],\n strip_prefix = \"brush-parser-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.brush-parser-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__brush-parser-0.4.0\",\n sha256 = \"9f64b19efc02f0dd6cac1d462e20a1098f425f09cb13624efbb1b7d63f061735\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/brush-parser/0.4.0/download\"],\n strip_prefix = \"brush-parser-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.brush-parser-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bstr-1.13.1\",\n sha256 = \"6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bstr/1.13.1/download\"],\n strip_prefix = \"bstr-1.13.1\",\n build_file = Label(\"@crates//crates:BUILD.bstr-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bumpalo-3.20.3\",\n sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n strip_prefix = \"bumpalo-3.20.3\",\n build_file = Label(\"@crates//crates:BUILD.bumpalo-3.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__by_address-1.2.1\",\n sha256 = \"64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/by_address/1.2.1/download\"],\n strip_prefix = \"by_address-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.by_address-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecheck-0.8.3\",\n sha256 = \"26333eeac754f0ad8a6bcd0eb0ac012156302e4e16b852b72ee399aea4f12c29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecheck/0.8.3/download\"],\n strip_prefix = \"bytecheck-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.bytecheck-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecheck_derive-0.8.3\",\n sha256 = \"46d07918caa9eeaaf06b7873925c53a61daac173539b4f7715090745e44e4e69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecheck_derive/0.8.3/download\"],\n strip_prefix = \"bytecheck_derive-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.bytecheck_derive-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecount-0.6.9\",\n sha256 = \"175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecount/0.6.9/download\"],\n strip_prefix = \"bytecount-0.6.9\",\n build_file = Label(\"@crates//crates:BUILD.bytecount-0.6.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytemuck-1.25.2\",\n sha256 = \"95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytemuck/1.25.2/download\"],\n strip_prefix = \"bytemuck-1.25.2\",\n build_file = Label(\"@crates//crates:BUILD.bytemuck-1.25.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytemuck_derive-1.12.0\",\n sha256 = \"fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytemuck_derive/1.12.0/download\"],\n strip_prefix = \"bytemuck_derive-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.bytemuck_derive-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__byteorder-lite-0.1.0\",\n sha256 = \"8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder-lite/0.1.0/download\"],\n strip_prefix = \"byteorder-lite-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.byteorder-lite-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytes-1.12.1\",\n sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n strip_prefix = \"bytes-1.12.1\",\n build_file = Label(\"@crates//crates:BUILD.bytes-1.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached-0.56.0\",\n sha256 = \"801927ee168e17809ab8901d9f01f700cd7d8d6a6527997fee44e4b0327a253c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached/0.56.0/download\"],\n strip_prefix = \"cached-0.56.0\",\n build_file = Label(\"@crates//crates:BUILD.cached-0.56.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached-0.59.0\",\n sha256 = \"53b6f5d101f0f6322c8646a45b7c581a673e476329040d97565815c2461dd0c4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached/0.59.0/download\"],\n strip_prefix = \"cached-0.59.0\",\n build_file = Label(\"@crates//crates:BUILD.cached-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro-0.25.0\",\n sha256 = \"9225bdcf4e4a9a4c08bf16607908eb2fbf746828d5e0b5e019726dbf6571f201\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro/0.25.0/download\"],\n strip_prefix = \"cached_proc_macro-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro-0.27.0\",\n sha256 = \"8ebcf9c75f17a17d55d11afc98e46167d4790a263f428891b8705ab2f793eca3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro/0.27.0/download\"],\n strip_prefix = \"cached_proc_macro-0.27.0\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro-0.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro_types-0.1.1\",\n sha256 = \"ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro_types/0.1.1/download\"],\n strip_prefix = \"cached_proc_macro_types-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro_types-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__calendrical_calculations-0.2.4\",\n sha256 = \"5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/calendrical_calculations/0.2.4/download\"],\n strip_prefix = \"calendrical_calculations-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.calendrical_calculations-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cbc-0.1.2\",\n sha256 = \"26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cbc/0.1.2/download\"],\n strip_prefix = \"cbc-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.cbc-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cc-1.2.67\",\n sha256 = \"e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.2.67/download\"],\n strip_prefix = \"cc-1.2.67\",\n build_file = Label(\"@crates//crates:BUILD.cc-1.2.67.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ccm-0.5.0\",\n sha256 = \"9ae3c82e4355234767756212c570e29833699ab63e6ffd161887314cc5b43847\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ccm/0.5.0/download\"],\n strip_prefix = \"ccm-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.ccm-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cexpr-0.6.0\",\n sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n strip_prefix = \"cexpr-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.cexpr-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg-expr-0.20.8\",\n sha256 = \"fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835997c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-expr/0.20.8/download\"],\n strip_prefix = \"cfg-expr-0.20.8\",\n build_file = Label(\"@crates//crates:BUILD.cfg-expr-0.20.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg-if-1.0.4\",\n sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n strip_prefix = \"cfg-if-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.cfg-if-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg_aliases-0.1.1\",\n sha256 = \"fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.1.1/download\"],\n strip_prefix = \"cfg_aliases-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.cfg_aliases-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg_aliases-0.2.2\",\n sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n strip_prefix = \"cfg_aliases-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.cfg_aliases-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20-0.10.1\",\n sha256 = \"d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20/0.10.1/download\"],\n strip_prefix = \"chacha20-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20-0.9.1\",\n sha256 = \"c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20/0.9.1/download\"],\n strip_prefix = \"chacha20-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20poly1305-0.10.1\",\n sha256 = \"10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20poly1305/0.10.1/download\"],\n strip_prefix = \"chacha20poly1305-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20poly1305-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__check_elevation-0.2.7\",\n sha256 = \"a7fe1fbbd8bd3174109071530f12932ff471eeff30d83e9c485d6ff424ac534b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/check_elevation/0.2.7/download\"],\n strip_prefix = \"check_elevation-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.check_elevation-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chrono-0.4.45\",\n sha256 = \"1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chrono/0.4.45/download\"],\n strip_prefix = \"chrono-0.4.45\",\n build_file = Label(\"@crates//crates:BUILD.chrono-0.4.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cipher-0.4.4\",\n sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n strip_prefix = \"cipher-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.cipher-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clang-sys-1.9.1\",\n sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n strip_prefix = \"clang-sys-1.9.1\",\n build_file = Label(\"@crates//crates:BUILD.clang-sys-1.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap-4.6.6\",\n sha256 = \"473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.6.6/download\"],\n strip_prefix = \"clap-4.6.6\",\n build_file = Label(\"@crates//crates:BUILD.clap-4.6.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_builder-4.6.6\",\n sha256 = \"7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.6.6/download\"],\n strip_prefix = \"clap_builder-4.6.6\",\n build_file = Label(\"@crates//crates:BUILD.clap_builder-4.6.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_derive-4.6.4\",\n sha256 = \"d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.6.4/download\"],\n strip_prefix = \"clap_derive-4.6.4\",\n build_file = Label(\"@crates//crates:BUILD.clap_derive-4.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_lex-1.1.0\",\n sha256 = \"c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/1.1.0/download\"],\n strip_prefix = \"clap_lex-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.clap_lex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clipboard-win-5.4.1\",\n sha256 = \"bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clipboard-win/5.4.1/download\"],\n strip_prefix = \"clipboard-win-5.4.1\",\n build_file = Label(\"@crates//crates:BUILD.clipboard-win-5.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cmake-0.1.58\",\n sha256 = \"c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cmake/0.1.58/download\"],\n strip_prefix = \"cmake-0.1.58\",\n build_file = Label(\"@crates//crates:BUILD.cmake-0.1.58.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__codesnake-0.2.1\",\n sha256 = \"2205f7f6d3de68ecf4c291c789b3edf07b6569268abd0188819086f71ae42225\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/codesnake/0.2.1/download\"],\n strip_prefix = \"codesnake-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.codesnake-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color-print-0.3.7\",\n sha256 = \"3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color-print/0.3.7/download\"],\n strip_prefix = \"color-print-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.color-print-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color-print-proc-macro-0.3.7\",\n sha256 = \"692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color-print-proc-macro/0.3.7/download\"],\n strip_prefix = \"color-print-proc-macro-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.color-print-proc-macro-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color_quant-1.1.0\",\n sha256 = \"3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color_quant/1.1.0/download\"],\n strip_prefix = \"color_quant-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.color_quant-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__colorchoice-1.0.5\",\n sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n strip_prefix = \"colorchoice-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.colorchoice-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__command-fds-0.3.3\",\n sha256 = \"1b60b5124979fccd9addd89d8b97a1d6eebb4950694520c75ddd722535ea443f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/command-fds/0.3.3/download\"],\n strip_prefix = \"command-fds-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.command-fds-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__compare-0.1.0\",\n sha256 = \"120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/compare/0.1.0/download\"],\n strip_prefix = \"compare-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.compare-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__concurrent-queue-2.5.0\",\n sha256 = \"4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/concurrent-queue/2.5.0/download\"],\n strip_prefix = \"concurrent-queue-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.concurrent-queue-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__console-0.16.4\",\n sha256 = \"4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.16.4/download\"],\n strip_prefix = \"console-0.16.4\",\n build_file = Label(\"@crates//crates:BUILD.console-0.16.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-oid-0.10.2\",\n sha256 = \"a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.10.2/download\"],\n strip_prefix = \"const-oid-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.const-oid-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-oid-0.9.6\",\n sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n strip_prefix = \"const-oid-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.const-oid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-random-0.1.18\",\n sha256 = \"87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-random/0.1.18/download\"],\n strip_prefix = \"const-random-0.1.18\",\n build_file = Label(\"@crates//crates:BUILD.const-random-0.1.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-random-macro-0.1.16\",\n sha256 = \"f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-random-macro/0.1.16/download\"],\n strip_prefix = \"const-random-macro-0.1.16\",\n build_file = Label(\"@crates//crates:BUILD.const-random-macro-0.1.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__constant_time_eq-0.4.2\",\n sha256 = \"3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/constant_time_eq/0.4.2/download\"],\n strip_prefix = \"constant_time_eq-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.constant_time_eq-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__convert_case-0.11.0\",\n sha256 = \"affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/convert_case/0.11.0/download\"],\n strip_prefix = \"convert_case-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.convert_case-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__convert_case-0.8.0\",\n sha256 = \"baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/convert_case/0.8.0/download\"],\n strip_prefix = \"convert_case-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.convert_case-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cookie-factory-0.3.3\",\n sha256 = \"9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cookie-factory/0.3.3/download\"],\n strip_prefix = \"cookie-factory-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.cookie-factory-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-foundation-0.10.1\",\n sha256 = \"b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation/0.10.1/download\"],\n strip_prefix = \"core-foundation-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.core-foundation-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-foundation-sys-0.8.7\",\n sha256 = \"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation-sys/0.8.7/download\"],\n strip_prefix = \"core-foundation-sys-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.core-foundation-sys-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-graphics-0.25.0\",\n sha256 = \"064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-graphics/0.25.0/download\"],\n strip_prefix = \"core-graphics-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.core-graphics-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-graphics-types-0.2.0\",\n sha256 = \"3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-graphics-types/0.2.0/download\"],\n strip_prefix = \"core-graphics-types-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.core-graphics-types-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core_maths-0.1.1\",\n sha256 = \"77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core_maths/0.1.1/download\"],\n strip_prefix = \"core_maths-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.core_maths-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cpufeatures-0.2.17\",\n sha256 = \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.2.17/download\"],\n strip_prefix = \"cpufeatures-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.cpufeatures-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cpufeatures-0.3.0\",\n sha256 = \"8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.3.0/download\"],\n strip_prefix = \"cpufeatures-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.cpufeatures-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-3.4.0\",\n sha256 = \"5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc/3.4.0/download\"],\n strip_prefix = \"crc-3.4.0\",\n build_file = Label(\"@crates//crates:BUILD.crc-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-catalog-2.5.0\",\n sha256 = \"217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-catalog/2.5.0/download\"],\n strip_prefix = \"crc-catalog-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.crc-catalog-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-fast-1.8.2\",\n sha256 = \"85d9be5297a59f1b7651fd2711a1f4461929f53b182b394df0df15b3a387ef51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-fast/1.8.2/download\"],\n strip_prefix = \"crc-fast-1.8.2\",\n build_file = Label(\"@crates//crates:BUILD.crc-fast-1.8.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc32fast-1.5.0\",\n sha256 = \"9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc32fast/1.5.0/download\"],\n strip_prefix = \"crc32fast-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.crc32fast-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-deque-0.8.7\",\n sha256 = \"5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-deque/0.8.7/download\"],\n strip_prefix = \"crossbeam-deque-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-deque-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-epoch-0.9.20\",\n sha256 = \"2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-epoch/0.9.20/download\"],\n strip_prefix = \"crossbeam-epoch-0.9.20\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-epoch-0.9.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-utils-0.8.22\",\n sha256 = \"61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.22/download\"],\n strip_prefix = \"crossbeam-utils-0.8.22\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-utils-0.8.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crunchy-0.2.4\",\n sha256 = \"460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crunchy/0.2.4/download\"],\n strip_prefix = \"crunchy-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.crunchy-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-bigint-0.5.5\",\n sha256 = \"0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.5/download\"],\n strip_prefix = \"crypto-bigint-0.5.5\",\n build_file = Label(\"@crates//crates:BUILD.crypto-bigint-0.5.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-common-0.1.7\",\n sha256 = \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.1.7/download\"],\n strip_prefix = \"crypto-common-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.crypto-common-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-common-0.2.2\",\n sha256 = \"ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.2.2/download\"],\n strip_prefix = \"crypto-common-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.crypto-common-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ctor-1.0.13\",\n sha256 = \"914a755b7c2d4af2bdcff7ce1739e2db9a1b81a9b07123d8015786ae03c0980d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctor/1.0.13/download\"],\n strip_prefix = \"ctor-1.0.13\",\n build_file = Label(\"@crates//crates:BUILD.ctor-1.0.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ctr-0.9.2\",\n sha256 = \"0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctr/0.9.2/download\"],\n strip_prefix = \"ctr-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.ctr-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__curve25519-dalek-4.1.3\",\n sha256 = \"97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/curve25519-dalek/4.1.3/download\"],\n strip_prefix = \"curve25519-dalek-4.1.3\",\n build_file = Label(\"@crates//crates:BUILD.curve25519-dalek-4.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__curve25519-dalek-derive-0.1.1\",\n sha256 = \"f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/curve25519-dalek-derive/0.1.1/download\"],\n strip_prefix = \"curve25519-dalek-derive-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.curve25519-dalek-derive-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling-0.20.11\",\n sha256 = \"fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.20.11/download\"],\n strip_prefix = \"darling-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling-0.23.0\",\n sha256 = \"25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.23.0/download\"],\n strip_prefix = \"darling-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_core-0.20.11\",\n sha256 = \"0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.20.11/download\"],\n strip_prefix = \"darling_core-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling_core-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_core-0.23.0\",\n sha256 = \"9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.23.0/download\"],\n strip_prefix = \"darling_core-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling_core-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_macro-0.20.11\",\n sha256 = \"fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.20.11/download\"],\n strip_prefix = \"darling_macro-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling_macro-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_macro-0.23.0\",\n sha256 = \"ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.23.0/download\"],\n strip_prefix = \"darling_macro-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling_macro-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dashmap-6.2.1\",\n sha256 = \"e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dashmap/6.2.1/download\"],\n strip_prefix = \"dashmap-6.2.1\",\n build_file = Label(\"@crates//crates:BUILD.dashmap-6.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-2.11.1\",\n sha256 = \"4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding/2.11.1/download\"],\n strip_prefix = \"data-encoding-2.11.1\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-2.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-macro-0.1.21\",\n sha256 = \"c6a127ecbb3c4632e1525380e04c0c3fcf8dcb44d32a79ea290d8a36906edcd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding-macro/0.1.21/download\"],\n strip_prefix = \"data-encoding-macro-0.1.21\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-macro-0.1.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-macro-internal-0.1.19\",\n sha256 = \"c54e03a951783e8b327515db3f2a2fd0e3bed362a96b066f341ce66ed49b4ead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding-macro-internal/0.1.19/download\"],\n strip_prefix = \"data-encoding-macro-internal-0.1.19\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-macro-internal-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-1.1.1\",\n sha256 = \"e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt/1.1.1/download\"],\n strip_prefix = \"defmt-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.defmt-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-macros-1.1.1\",\n sha256 = \"bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt-macros/1.1.1/download\"],\n strip_prefix = \"defmt-macros-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.defmt-macros-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-parser-1.0.0\",\n sha256 = \"10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt-parser/1.0.0/download\"],\n strip_prefix = \"defmt-parser-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.defmt-parser-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__der-0.7.10\",\n sha256 = \"e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der/0.7.10/download\"],\n strip_prefix = \"der-0.7.10\",\n build_file = Label(\"@crates//crates:BUILD.der-0.7.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__der-parser-9.0.0\",\n sha256 = \"5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der-parser/9.0.0/download\"],\n strip_prefix = \"der-parser-9.0.0\",\n build_file = Label(\"@crates//crates:BUILD.der-parser-9.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__deranged-0.5.8\",\n sha256 = \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.5.8/download\"],\n strip_prefix = \"deranged-0.5.8\",\n build_file = Label(\"@crates//crates:BUILD.deranged-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__diff-0.1.13\",\n sha256 = \"56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/diff/0.1.13/download\"],\n strip_prefix = \"diff-0.1.13\",\n build_file = Label(\"@crates//crates:BUILD.diff-0.1.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__digest-0.10.7\",\n sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n strip_prefix = \"digest-0.10.7\",\n build_file = Label(\"@crates//crates:BUILD.digest-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__digest-0.11.3\",\n sha256 = \"f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.11.3/download\"],\n strip_prefix = \"digest-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.digest-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dispatch2-0.3.1\",\n sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n strip_prefix = \"dispatch2-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.dispatch2-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__displaydoc-0.2.7\",\n sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n strip_prefix = \"displaydoc-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.displaydoc-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dlib-0.5.3\",\n sha256 = \"ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dlib/0.5.3/download\"],\n strip_prefix = \"dlib-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.dlib-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dns-lookup-3.0.1\",\n sha256 = \"6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dns-lookup/3.0.1/download\"],\n strip_prefix = \"dns-lookup-3.0.1\",\n build_file = Label(\"@crates//crates:BUILD.dns-lookup-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__downcast-rs-1.2.1\",\n sha256 = \"75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/downcast-rs/1.2.1/download\"],\n strip_prefix = \"downcast-rs-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.downcast-rs-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-0.14.1\",\n sha256 = \"80bc8c5c6c2941f70a55c15f8d9f00f9710ebda3ffda98075f996a0e6c92756f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm/0.14.1/download\"],\n strip_prefix = \"drm-0.14.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-0.14.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-0.15.0\",\n sha256 = \"7a41816e58f47f49acfd956651055ddcf137c4882c2098c30c448817af21183a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm/0.15.0/download\"],\n strip_prefix = \"drm-0.15.0\",\n build_file = Label(\"@crates//crates:BUILD.drm-0.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-ffi-0.9.1\",\n sha256 = \"51a91c9b32ac4e8105dec255e849e0d66e27d7c34d184364fb93e469db08f690\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-ffi/0.9.1/download\"],\n strip_prefix = \"drm-ffi-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-ffi-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-fourcc-2.2.0\",\n sha256 = \"0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-fourcc/2.2.0/download\"],\n strip_prefix = \"drm-fourcc-2.2.0\",\n build_file = Label(\"@crates//crates:BUILD.drm-fourcc-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-sys-0.8.1\",\n sha256 = \"ecc8e1361066d91f5ffccff060a3c3be9c3ecde15be2959c1937595f7a82a9f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-sys/0.8.1/download\"],\n strip_prefix = \"drm-sys-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-sys-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dtls-0.17.2\",\n sha256 = \"01a431e87fc386bd5e02deb554a013f97bc406e47a7d8e97efb7c6366b980e9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dtls/0.17.2/download\"],\n strip_prefix = \"dtls-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.dtls-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dunce-1.0.5\",\n sha256 = \"92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dunce/1.0.5/download\"],\n strip_prefix = \"dunce-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.dunce-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dyn-clone-1.0.20\",\n sha256 = \"d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dyn-clone/1.0.20/download\"],\n strip_prefix = \"dyn-clone-1.0.20\",\n build_file = Label(\"@crates//crates:BUILD.dyn-clone-1.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ecb-0.1.2\",\n sha256 = \"1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecb/0.1.2/download\"],\n strip_prefix = \"ecb-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.ecb-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ecdsa-0.16.9\",\n sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n strip_prefix = \"ecdsa-0.16.9\",\n build_file = Label(\"@crates//crates:BUILD.ecdsa-0.16.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__either-1.17.0\",\n sha256 = \"9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.17.0/download\"],\n strip_prefix = \"either-1.17.0\",\n build_file = Label(\"@crates//crates:BUILD.either-1.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__elliptic-curve-0.13.8\",\n sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n strip_prefix = \"elliptic-curve-0.13.8\",\n build_file = Label(\"@crates//crates:BUILD.elliptic-curve-0.13.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encode_unicode-1.0.0\",\n sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n strip_prefix = \"encode_unicode-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.encode_unicode-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encoding_rs-0.8.35\",\n sha256 = \"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs/0.8.35/download\"],\n strip_prefix = \"encoding_rs-0.8.35\",\n build_file = Label(\"@crates//crates:BUILD.encoding_rs-0.8.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encoding_rs_io-0.1.8\",\n sha256 = \"fba3fe847045ecff794b9c138293a80db914678c453ad63fbf0c6a9eb6e00b22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs_io/0.1.8/download\"],\n strip_prefix = \"encoding_rs_io-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.encoding_rs_io-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__endi-1.1.1\",\n sha256 = \"66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/endi/1.1.1/download\"],\n strip_prefix = \"endi-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.endi-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enigo-0.6.1\",\n sha256 = \"71c6c56e50f7acae2906a0dcbb34529ca647e40421119ad5d12e7f8ba6e50010\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enigo/0.6.1/download\"],\n strip_prefix = \"enigo-0.6.1\",\n build_file = Label(\"@crates//crates:BUILD.enigo-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enumflags2-0.7.12\",\n sha256 = \"1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enumflags2/0.7.12/download\"],\n strip_prefix = \"enumflags2-0.7.12\",\n build_file = Label(\"@crates//crates:BUILD.enumflags2-0.7.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enumflags2_derive-0.7.12\",\n sha256 = \"67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enumflags2_derive/0.7.12/download\"],\n strip_prefix = \"enumflags2_derive-0.7.12\",\n build_file = Label(\"@crates//crates:BUILD.enumflags2_derive-0.7.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__env_filter-2.0.0\",\n sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n strip_prefix = \"env_filter-2.0.0\",\n build_file = Label(\"@crates//crates:BUILD.env_filter-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__env_logger-0.11.11\",\n sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n strip_prefix = \"env_logger-0.11.11\",\n build_file = Label(\"@crates//crates:BUILD.env_logger-0.11.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__equivalent-1.0.2\",\n sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n strip_prefix = \"equivalent-1.0.2\",\n build_file = Label(\"@crates//crates:BUILD.equivalent-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__errno-0.3.14\",\n sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n strip_prefix = \"errno-0.3.14\",\n build_file = Label(\"@crates//crates:BUILD.errno-0.3.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__error-code-3.4.0\",\n sha256 = \"0b5343afd4a8365a643ac588dab4cf234a190c7f6c88c9f6dd6ffe00837661b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/error-code/3.4.0/download\"],\n strip_prefix = \"error-code-3.4.0\",\n build_file = Label(\"@crates//crates:BUILD.error-code-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__event-listener-5.4.2\",\n sha256 = \"5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/event-listener/5.4.2/download\"],\n strip_prefix = \"event-listener-5.4.2\",\n build_file = Label(\"@crates//crates:BUILD.event-listener-5.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__event-listener-strategy-0.5.4\",\n sha256 = \"8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/event-listener-strategy/0.5.4/download\"],\n strip_prefix = \"event-listener-strategy-0.5.4\",\n build_file = Label(\"@crates//crates:BUILD.event-listener-strategy-0.5.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__faccess-0.2.4\",\n sha256 = \"59ae66425802d6a903e268ae1a08b8c38ba143520f227a205edf4e9c7e3e26d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/faccess/0.2.4/download\"],\n strip_prefix = \"faccess-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.faccess-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fancy-regex-0.16.2\",\n sha256 = \"998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fancy-regex/0.16.2/download\"],\n strip_prefix = \"fancy-regex-0.16.2\",\n build_file = Label(\"@crates//crates:BUILD.fancy-regex-0.16.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fancy-regex-0.17.0\",\n sha256 = \"72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fancy-regex/0.17.0/download\"],\n strip_prefix = \"fancy-regex-0.17.0\",\n build_file = Label(\"@crates//crates:BUILD.fancy-regex-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fastrand-2.5.0\",\n sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n strip_prefix = \"fastrand-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.fastrand-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fax-0.2.7\",\n sha256 = \"caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fax/0.2.7/download\"],\n strip_prefix = \"fax-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.fax-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fdeflate-0.3.7\",\n sha256 = \"1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fdeflate/0.3.7/download\"],\n strip_prefix = \"fdeflate-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.fdeflate-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ff-0.13.1\",\n sha256 = \"c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ff/0.13.1/download\"],\n strip_prefix = \"ff-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.ff-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fiat-crypto-0.2.9\",\n sha256 = \"28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fiat-crypto/0.2.9/download\"],\n strip_prefix = \"fiat-crypto-0.2.9\",\n build_file = Label(\"@crates//crates:BUILD.fiat-crypto-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__filedescriptor-0.8.3\",\n sha256 = \"e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filedescriptor/0.8.3/download\"],\n strip_prefix = \"filedescriptor-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.filedescriptor-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__filetime-0.2.29\",\n sha256 = \"5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filetime/0.2.29/download\"],\n strip_prefix = \"filetime-0.2.29\",\n build_file = Label(\"@crates//crates:BUILD.filetime-0.2.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__find-msvc-tools-0.1.11\",\n sha256 = \"d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.11/download\"],\n strip_prefix = \"find-msvc-tools-0.1.11\",\n build_file = Label(\"@crates//crates:BUILD.find-msvc-tools-0.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fixed_decimal-0.7.2\",\n sha256 = \"79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixed_decimal/0.7.2/download\"],\n strip_prefix = \"fixed_decimal-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.fixed_decimal-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fixedbitset-0.5.7\",\n sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n strip_prefix = \"fixedbitset-0.5.7\",\n build_file = Label(\"@crates//crates:BUILD.fixedbitset-0.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__flate2-1.1.9\",\n sha256 = \"843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flate2/1.1.9/download\"],\n strip_prefix = \"flate2-1.1.9\",\n build_file = Label(\"@crates//crates:BUILD.flate2-1.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-0.17.0\",\n sha256 = \"8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent/0.17.0/download\"],\n strip_prefix = \"fluent-0.17.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-bundle-0.16.0\",\n sha256 = \"01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-bundle/0.16.0/download\"],\n strip_prefix = \"fluent-bundle-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-bundle-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-langneg-0.13.1\",\n sha256 = \"7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-langneg/0.13.1/download\"],\n strip_prefix = \"fluent-langneg-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.fluent-langneg-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-syntax-0.12.0\",\n sha256 = \"54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-syntax/0.12.0/download\"],\n strip_prefix = \"fluent-syntax-0.12.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-syntax-0.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__flume-0.11.1\",\n sha256 = \"da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flume/0.11.1/download\"],\n strip_prefix = \"flume-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.flume-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crates//crates:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foldhash-0.1.5\",\n sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n strip_prefix = \"foldhash-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.foldhash-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foldhash-0.2.0\",\n sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n strip_prefix = \"foldhash-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.foldhash-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fontdue-0.9.4\",\n sha256 = \"7894823fa221401399e2598f8b63f81ac77ff5c63248b7656779bff1632d7d3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fontdue/0.9.4/download\"],\n strip_prefix = \"fontdue-0.9.4\",\n build_file = Label(\"@crates//crates:BUILD.fontdue-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-0.5.0\",\n sha256 = \"d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types/0.5.0/download\"],\n strip_prefix = \"foreign-types-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-macros-0.2.4\",\n sha256 = \"ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-macros/0.2.4/download\"],\n strip_prefix = \"foreign-types-macros-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-macros-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-shared-0.3.1\",\n sha256 = \"aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-shared/0.3.1/download\"],\n strip_prefix = \"foreign-types-shared-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-shared-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__form_urlencoded-1.2.2\",\n sha256 = \"cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/form_urlencoded/1.2.2/download\"],\n strip_prefix = \"form_urlencoded-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.form_urlencoded-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fs_extra-1.3.0\",\n sha256 = \"42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fs_extra/1.3.0/download\"],\n strip_prefix = \"fs_extra-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.fs_extra-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fsevent-sys-4.1.0\",\n sha256 = \"76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fsevent-sys/4.1.0/download\"],\n strip_prefix = \"fsevent-sys-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.fsevent-sys-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__funty-2.0.0\",\n sha256 = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/funty/2.0.0/download\"],\n strip_prefix = \"funty-2.0.0\",\n build_file = Label(\"@crates//crates:BUILD.funty-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-0.3.34\",\n sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n strip_prefix = \"futures-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-channel-0.3.34\",\n sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n strip_prefix = \"futures-channel-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-channel-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-core-0.3.34\",\n sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n strip_prefix = \"futures-core-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-core-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-executor-0.3.34\",\n sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n strip_prefix = \"futures-executor-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-executor-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-io-0.3.34\",\n sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n strip_prefix = \"futures-io-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-io-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-lite-2.6.1\",\n sha256 = \"f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-lite/2.6.1/download\"],\n strip_prefix = \"futures-lite-2.6.1\",\n build_file = Label(\"@crates//crates:BUILD.futures-lite-2.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-macro-0.3.34\",\n sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n strip_prefix = \"futures-macro-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-macro-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-sink-0.3.34\",\n sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n strip_prefix = \"futures-sink-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-sink-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-task-0.3.34\",\n sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n strip_prefix = \"futures-task-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-task-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-util-0.3.34\",\n sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n strip_prefix = \"futures-util-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-util-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gbm-0.18.0\",\n sha256 = \"ce852e998d3ca5e4a97014fb31c940dc5ef344ec7d364984525fd11e8a547e6a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gbm/0.18.0/download\"],\n strip_prefix = \"gbm-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.gbm-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gbm-sys-0.4.0\",\n sha256 = \"c13a5f2acc785d8fb6bf6b7ab6bfb0ef5dad4f4d97e8e70bb8e470722312f76f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gbm-sys/0.4.0/download\"],\n strip_prefix = \"gbm-sys-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.gbm-sys-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__generic-array-0.14.7\",\n sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n strip_prefix = \"generic-array-0.14.7\",\n build_file = Label(\"@crates//crates:BUILD.generic-array-0.14.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gethostname-1.1.0\",\n sha256 = \"1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gethostname/1.1.0/download\"],\n strip_prefix = \"gethostname-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.gethostname-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.2.17\",\n sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n strip_prefix = \"getrandom-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.3.4\",\n sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n strip_prefix = \"getrandom-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.4.3\",\n sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n strip_prefix = \"getrandom-0.4.3\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ghash-0.5.1\",\n sha256 = \"f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ghash/0.5.1/download\"],\n strip_prefix = \"ghash-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.ghash-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gif-0.14.2\",\n sha256 = \"ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gif/0.14.2/download\"],\n strip_prefix = \"gif-0.14.2\",\n build_file = Label(\"@crates//crates:BUILD.gif-0.14.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gl-0.14.0\",\n sha256 = \"a94edab108827d67608095e269cf862e60d920f144a5026d3dbcfd8b877fb404\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gl/0.14.0/download\"],\n strip_prefix = \"gl-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.gl-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gl_generator-0.14.0\",\n sha256 = \"1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gl_generator/0.14.0/download\"],\n strip_prefix = \"gl_generator-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.gl_generator-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__glob-0.3.4\",\n sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n strip_prefix = \"glob-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.glob-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__globset-0.4.20\",\n sha256 = \"07c34a9410465b45bd9787443bc7370f37735bad04b0f0cd57ff1a3186c98988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/globset/0.4.20/download\"],\n strip_prefix = \"globset-0.4.20\",\n build_file = Label(\"@crates//crates:BUILD.globset-0.4.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-cli-0.1.12\",\n sha256 = \"cf32d263c5d5cc2a23ce587097f5ddafdb188492ba2e6fb638eaccdc22453631\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-cli/0.1.12/download\"],\n strip_prefix = \"grep-cli-0.1.12\",\n build_file = Label(\"@crates//crates:BUILD.grep-cli-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-matcher-0.1.9\",\n sha256 = \"f9417543f4870fc8f1c8e1af870afae2431007626d9e703fce6471c468d33847\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-matcher/0.1.9/download\"],\n strip_prefix = \"grep-matcher-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.grep-matcher-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-pcre2-0.1.10\",\n sha256 = \"b752bb6f57dd3716e55b63a33ca05b5825c3d66cd427468874a5564af6ca365c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-pcre2/0.1.10/download\"],\n strip_prefix = \"grep-pcre2-0.1.10\",\n build_file = Label(\"@crates//crates:BUILD.grep-pcre2-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-printer-0.3.1\",\n sha256 = \"fd76035e87871f51c1ee5b793e32122b3ccf9c692662d9622ef1686ff5321acb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-printer/0.3.1/download\"],\n strip_prefix = \"grep-printer-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.grep-printer-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-regex-0.1.14\",\n sha256 = \"0ce0c256c3ad82bcc07b812c15a45ec1d398122e8e15124f96695234db7112ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-regex/0.1.14/download\"],\n strip_prefix = \"grep-regex-0.1.14\",\n build_file = Label(\"@crates//crates:BUILD.grep-regex-0.1.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-searcher-0.1.17\",\n sha256 = \"72348823a0eafc4bc2e9051064f28b5b42cc100b571b3a35d67918d711efcbc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-searcher/0.1.17/download\"],\n strip_prefix = \"grep-searcher-0.1.17\",\n build_file = Label(\"@crates//crates:BUILD.grep-searcher-0.1.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__group-0.13.0\",\n sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n strip_prefix = \"group-0.13.0\",\n build_file = Label(\"@crates//crates:BUILD.group-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__half-2.7.1\",\n sha256 = \"6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/half/2.7.1/download\"],\n strip_prefix = \"half-2.7.1\",\n build_file = Label(\"@crates//crates:BUILD.half-2.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.14.5\",\n sha256 = \"e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.14.5/download\"],\n strip_prefix = \"hashbrown-0.14.5\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.14.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.15.5\",\n sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n strip_prefix = \"hashbrown-0.15.5\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.16.1\",\n sha256 = \"841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.16.1/download\"],\n strip_prefix = \"hashbrown-0.16.1\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.16.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.17.1\",\n sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n strip_prefix = \"hashbrown-0.17.1\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.17.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__heck-0.5.0\",\n sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n strip_prefix = \"heck-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.heck-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hermit-abi-0.5.2\",\n sha256 = \"fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hermit-abi/0.5.2/download\"],\n strip_prefix = \"hermit-abi-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.hermit-abi-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hex-0.4.3\",\n sha256 = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hex/0.4.3/download\"],\n strip_prefix = \"hex-0.4.3\",\n build_file = Label(\"@crates//crates:BUILD.hex-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hifijson-0.2.3\",\n sha256 = \"0a7763b98ba8a24f59e698bf9ab197e7676c640d6455d1580b4ce7dc560f0f0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hifijson/0.2.3/download\"],\n strip_prefix = \"hifijson-0.2.3\",\n build_file = Label(\"@crates//crates:BUILD.hifijson-0.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hkdf-0.12.4\",\n sha256 = \"7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hkdf/0.12.4/download\"],\n strip_prefix = \"hkdf-0.12.4\",\n build_file = Label(\"@crates//crates:BUILD.hkdf-0.12.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hmac-0.12.1\",\n sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n strip_prefix = \"hmac-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.hmac-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hostname-0.4.2\",\n sha256 = \"617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hostname/0.4.2/download\"],\n strip_prefix = \"hostname-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.hostname-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html-escape-0.2.15\",\n sha256 = \"c9356095b4b41197bba32173600e1582792cda618f65d12f68e2e77d273413c5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html-escape/0.2.15/download\"],\n strip_prefix = \"html-escape-0.2.15\",\n build_file = Label(\"@crates//crates:BUILD.html-escape-0.2.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html-to-markdown-rs-3.11.0\",\n sha256 = \"8f3e479289c322f5982b930575658df32d1161d6fab80b4078ce3e692f491df5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html-to-markdown-rs/3.11.0/download\"],\n strip_prefix = \"html-to-markdown-rs-3.11.0\",\n build_file = Label(\"@crates//crates:BUILD.html-to-markdown-rs-3.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html5ever-0.39.0\",\n sha256 = \"46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html5ever/0.39.0/download\"],\n strip_prefix = \"html5ever-0.39.0\",\n build_file = Label(\"@crates//crates:BUILD.html5ever-0.39.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hybrid-array-0.4.14\",\n sha256 = \"707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hybrid-array/0.4.14/download\"],\n strip_prefix = \"hybrid-array-0.4.14\",\n build_file = Label(\"@crates//crates:BUILD.hybrid-array-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__iana-time-zone-0.1.65\",\n sha256 = \"e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone/0.1.65/download\"],\n strip_prefix = \"iana-time-zone-0.1.65\",\n build_file = Label(\"@crates//crates:BUILD.iana-time-zone-0.1.65.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__iana-time-zone-haiku-0.1.2\",\n sha256 = \"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone-haiku/0.1.2/download\"],\n strip_prefix = \"iana-time-zone-haiku-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.iana-time-zone-haiku-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_calendar-2.3.0\",\n sha256 = \"58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_calendar/2.3.0/download\"],\n strip_prefix = \"icu_calendar-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_calendar-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_calendar_data-2.3.0\",\n sha256 = \"dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_calendar_data/2.3.0/download\"],\n strip_prefix = \"icu_calendar_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_calendar_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collator-2.3.0\",\n sha256 = \"59eea194d189ca897bcb960fd2130f9e7d53998460d4d32e85a60b10d5507cf4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collator/2.3.0/download\"],\n strip_prefix = \"icu_collator-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collator-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collator_data-2.3.0\",\n sha256 = \"f7d7e54efdddeb1208c08dd5d32b53a879ac00d2d3d051b2255fd26821d16368\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collator_data/2.3.0/download\"],\n strip_prefix = \"icu_collator_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collator_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collections-2.3.0\",\n sha256 = \"fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collections/2.3.0/download\"],\n strip_prefix = \"icu_collections-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collections-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_datetime-2.3.0\",\n sha256 = \"c44df99c4c5297b05653d1a1629f13bdc9fd4044acfbbaf30b15194a1eed4cd6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_datetime/2.3.0/download\"],\n strip_prefix = \"icu_datetime-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_datetime-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_datetime_data-2.3.0\",\n sha256 = \"8bb5555f6e4b42233f58564351ce16d73e9e6ebfce6bdcf29875d0cfc554d6a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_datetime_data/2.3.0/download\"],\n strip_prefix = \"icu_datetime_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_datetime_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_decimal-2.3.0\",\n sha256 = \"9eb8f655bba2d0c0459e43a5b0e6cd3cd388109898fb3d85d048165e8b0abd08\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_decimal/2.3.0/download\"],\n strip_prefix = \"icu_decimal-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_decimal-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_decimal_data-2.3.0\",\n sha256 = \"e4c887fc7d4c297cf3f9436864af9e3dba7f8be9415a6c2a7f392f3b1636298c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_decimal_data/2.3.0/download\"],\n strip_prefix = \"icu_decimal_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_decimal_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale-2.3.0\",\n sha256 = \"250ec6d4ac288584d1d0ba29dbfad7737635b7b0e822441f4026a523e3fdb147\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale/2.3.0/download\"],\n strip_prefix = \"icu_locale-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_core-2.3.0\",\n sha256 = \"d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_core/2.3.0/download\"],\n strip_prefix = \"icu_locale_core-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_core-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_data-2.3.0\",\n sha256 = \"d37d91460e362a5cf58907cd7ce871411775ee6294e49a5cc8e6cec16dfa75ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_data/2.3.0/download\"],\n strip_prefix = \"icu_locale_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_fallback-2.3.0\",\n sha256 = \"251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.3.0/download\"],\n strip_prefix = \"icu_locale_fallback-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_fallback-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_fallback_data-2.3.0\",\n sha256 = \"decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.3.0/download\"],\n strip_prefix = \"icu_locale_fallback_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_fallback_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_normalizer-2.3.0\",\n sha256 = \"12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_normalizer/2.3.0/download\"],\n strip_prefix = \"icu_normalizer-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_normalizer-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_normalizer_data-2.3.0\",\n sha256 = \"1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_normalizer_data/2.3.0/download\"],\n strip_prefix = \"icu_normalizer_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_normalizer_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_pattern-0.5.0\",\n sha256 = \"2b3db611446bd92c246b03e4aa0bafa71ddb194af431ddbb42b9d70e4bfce1a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_pattern/0.5.0/download\"],\n strip_prefix = \"icu_pattern-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_pattern-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_plurals-2.3.0\",\n sha256 = \"e475e6766ef87b1d3c1f97be6363995b0bfaeddbc789671615df598a97ff0593\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_plurals/2.3.0/download\"],\n strip_prefix = \"icu_plurals-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_plurals-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_plurals_data-2.3.0\",\n sha256 = \"1251aa39a95e1333888e499b1263e1c196447a28948acf5bdabd82c046f153bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_plurals_data/2.3.0/download\"],\n strip_prefix = \"icu_plurals_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_plurals_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_properties-2.3.0\",\n sha256 = \"7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_properties/2.3.0/download\"],\n strip_prefix = \"icu_properties-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_properties-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_properties_data-2.3.0\",\n sha256 = \"e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_properties_data/2.3.0/download\"],\n strip_prefix = \"icu_properties_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_properties_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_provider-2.3.0\",\n sha256 = \"92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_provider/2.3.0/download\"],\n strip_prefix = \"icu_provider-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_provider-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_time-2.3.0\",\n sha256 = \"af37e1c3b9f3ab564b619fdf4b22de169f6381eb0f7048e3ca454290c438126b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_time/2.3.0/download\"],\n strip_prefix = \"icu_time-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_time-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_time_data-2.3.0\",\n sha256 = \"005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_time_data/2.3.0/download\"],\n strip_prefix = \"icu_time_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_time_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icy_sixel-0.5.1\",\n sha256 = \"4bfb5a63225620b59df34a235d1fb56ff7b766909c3212a8ff927511a22b181d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icy_sixel/0.5.1/download\"],\n strip_prefix = \"icy_sixel-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.icy_sixel-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ident_case-1.0.1\",\n sha256 = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ident_case/1.0.1/download\"],\n strip_prefix = \"ident_case-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.ident_case-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__idna-1.1.0\",\n sha256 = \"3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna/1.1.0/download\"],\n strip_prefix = \"idna-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.idna-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__idna_adapter-1.2.2\",\n sha256 = \"cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna_adapter/1.2.2/download\"],\n strip_prefix = \"idna_adapter-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.idna_adapter-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ignore-0.4.33\",\n sha256 = \"00b69833ed729dc5aa7d19541d96d6cf8e9137194207a04916d658e43168402f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ignore/0.4.33/download\"],\n strip_prefix = \"ignore-0.4.33\",\n build_file = Label(\"@crates//crates:BUILD.ignore-0.4.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__image-0.25.10\",\n sha256 = \"85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/image/0.25.10/download\"],\n strip_prefix = \"image-0.25.10\",\n build_file = Label(\"@crates//crates:BUILD.image-0.25.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__image-webp-0.2.4\",\n sha256 = \"525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/image-webp/0.2.4/download\"],\n strip_prefix = \"image-webp-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.image-webp-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__include_dir-0.7.4\",\n sha256 = \"923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/include_dir/0.7.4/download\"],\n strip_prefix = \"include_dir-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.include_dir-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__include_dir_macros-0.7.4\",\n sha256 = \"7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/include_dir_macros/0.7.4/download\"],\n strip_prefix = \"include_dir_macros-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.include_dir_macros-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indenter-0.3.4\",\n sha256 = \"964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indenter/0.3.4/download\"],\n strip_prefix = \"indenter-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.indenter-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indexmap-2.14.0\",\n sha256 = \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.14.0/download\"],\n strip_prefix = \"indexmap-2.14.0\",\n build_file = Label(\"@crates//crates:BUILD.indexmap-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indicatif-0.18.6\",\n sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n strip_prefix = \"indicatif-0.18.6\",\n build_file = Label(\"@crates//crates:BUILD.indicatif-0.18.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inferno-0.12.8\",\n sha256 = \"0c460d4fa06223667240720ab69a8045133755ae6dfbe100cf481b95e3a014f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inferno/0.12.8/download\"],\n strip_prefix = \"inferno-0.12.8\",\n build_file = Label(\"@crates//crates:BUILD.inferno-0.12.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inherent-1.0.14\",\n sha256 = \"bee2c455ca60511a054699102d40ce7153621cb2429558f9eaa600e4499b5984\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inherent/1.0.14/download\"],\n strip_prefix = \"inherent-1.0.14\",\n build_file = Label(\"@crates//crates:BUILD.inherent-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inotify-0.11.5\",\n sha256 = \"4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inotify/0.11.5/download\"],\n strip_prefix = \"inotify-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.inotify-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inotify-sys-0.1.8\",\n sha256 = \"c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inotify-sys/0.1.8/download\"],\n strip_prefix = \"inotify-sys-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.inotify-sys-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inout-0.1.4\",\n sha256 = \"879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inout/0.1.4/download\"],\n strip_prefix = \"inout-0.1.4\",\n build_file = Label(\"@crates//crates:BUILD.inout-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__insta-1.48.0\",\n sha256 = \"86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/insta/1.48.0/download\"],\n strip_prefix = \"insta-1.48.0\",\n build_file = Label(\"@crates//crates:BUILD.insta-1.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__interceptor-0.17.2\",\n sha256 = \"88c11a956a48159f7fe539b8198f12b4db9b709ae5f94385b840db38f97fed74\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/interceptor/0.17.2/download\"],\n strip_prefix = \"interceptor-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.interceptor-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__intl-memoizer-0.5.3\",\n sha256 = \"310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/intl-memoizer/0.5.3/download\"],\n strip_prefix = \"intl-memoizer-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.intl-memoizer-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__intl_pluralrules-7.0.2\",\n sha256 = \"078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/intl_pluralrules/7.0.2/download\"],\n strip_prefix = \"intl_pluralrules-7.0.2\",\n build_file = Label(\"@crates//crates:BUILD.intl_pluralrules-7.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ipnet-2.12.1\",\n sha256 = \"6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipnet/2.12.1/download\"],\n strip_prefix = \"ipnet-2.12.1\",\n build_file = Label(\"@crates//crates:BUILD.ipnet-2.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__is_terminal_polyfill-1.70.2\",\n sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n strip_prefix = \"is_terminal_polyfill-1.70.2\",\n build_file = Label(\"@crates//crates:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crates//crates:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itertools-0.14.0\",\n sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n strip_prefix = \"itertools-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.itertools-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itoa-1.0.18\",\n sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n strip_prefix = \"itoa-1.0.18\",\n build_file = Label(\"@crates//crates:BUILD.itoa-1.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-core-2.2.1\",\n sha256 = \"77526a72eb79412c29fd141767a6549bbfcb1cb40e00556fe16532d5e878e098\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-core/2.2.1/download\"],\n strip_prefix = \"jaq-core-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.jaq-core-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-json-1.1.3\",\n sha256 = \"01dbdbd07b076e8403abac68ce7744d93e2ecd953bbc44bf77bf00e1e81172bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-json/1.1.3/download\"],\n strip_prefix = \"jaq-json-1.1.3\",\n build_file = Label(\"@crates//crates:BUILD.jaq-json-1.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-std-2.1.2\",\n sha256 = \"2c264fe397c981705976c71f1bfe020382b9eda52ae950e57fe885e147bdd67d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-std/2.1.2/download\"],\n strip_prefix = \"jaq-std-2.1.2\",\n build_file = Label(\"@crates//crates:BUILD.jaq-std-2.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-0.2.35\",\n sha256 = \"668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff/0.2.35/download\"],\n strip_prefix = \"jiff-0.2.35\",\n build_file = Label(\"@crates//crates:BUILD.jiff-0.2.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-core-0.1.0\",\n sha256 = \"7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-core/0.1.0/download\"],\n strip_prefix = \"jiff-core-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.jiff-core-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-icu-0.2.2\",\n sha256 = \"0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-icu/0.2.2/download\"],\n strip_prefix = \"jiff-icu-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.jiff-icu-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-static-0.2.35\",\n sha256 = \"3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-static/0.2.35/download\"],\n strip_prefix = \"jiff-static-0.2.35\",\n build_file = Label(\"@crates//crates:BUILD.jiff-static-0.2.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-tzdb-0.1.8\",\n sha256 = \"142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-tzdb/0.1.8/download\"],\n strip_prefix = \"jiff-tzdb-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.jiff-tzdb-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-tzdb-platform-0.1.3\",\n sha256 = \"875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-tzdb-platform/0.1.3/download\"],\n strip_prefix = \"jiff-tzdb-platform-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.jiff-tzdb-platform-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jobserver-0.1.35\",\n sha256 = \"1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jobserver/0.1.35/download\"],\n strip_prefix = \"jobserver-0.1.35\",\n build_file = Label(\"@crates//crates:BUILD.jobserver-0.1.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__js-sys-0.3.104\",\n sha256 = \"0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.104/download\"],\n strip_prefix = \"js-sys-0.3.104\",\n build_file = Label(\"@crates//crates:BUILD.js-sys-0.3.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__keccak-0.1.6\",\n sha256 = \"cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/keccak/0.1.6/download\"],\n strip_prefix = \"keccak-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.keccak-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__khronos-egl-6.0.0\",\n sha256 = \"6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/khronos-egl/6.0.0/download\"],\n strip_prefix = \"khronos-egl-6.0.0\",\n build_file = Label(\"@crates//crates:BUILD.khronos-egl-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__khronos_api-3.1.0\",\n sha256 = \"e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/khronos_api/3.1.0/download\"],\n strip_prefix = \"khronos_api-3.1.0\",\n build_file = Label(\"@crates//crates:BUILD.khronos_api-3.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__kqueue-1.2.1\",\n sha256 = \"8d763e5b24120b4ddf50de6c92308156765aabfbbccebf401da7cff2d70a41ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/kqueue/1.2.1/download\"],\n strip_prefix = \"kqueue-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.kqueue-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__kqueue-sys-1.1.2\",\n sha256 = \"07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/kqueue-sys/1.1.2/download\"],\n strip_prefix = \"kqueue-sys-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.kqueue-sys-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lazy_static-1.5.0\",\n sha256 = \"bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.5.0/download\"],\n strip_prefix = \"lazy_static-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.lazy_static-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libc-0.2.189\",\n sha256 = \"3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.189/download\"],\n strip_prefix = \"libc-0.2.189\",\n build_file = Label(\"@crates//crates:BUILD.libc-0.2.189.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libloading-0.8.9\",\n sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n strip_prefix = \"libloading-0.8.9\",\n build_file = Label(\"@crates//crates:BUILD.libloading-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libloading-0.9.0\",\n sha256 = \"754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.9.0/download\"],\n strip_prefix = \"libloading-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.libloading-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libm-0.2.16\",\n sha256 = \"b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libm/0.2.16/download\"],\n strip_prefix = \"libm-0.2.16\",\n build_file = Label(\"@crates//crates:BUILD.libm-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libredox-0.1.20\",\n sha256 = \"28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libredox/0.1.20/download\"],\n strip_prefix = \"libredox-0.1.20\",\n build_file = Label(\"@crates//crates:BUILD.libredox-0.1.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libspa-0.9.2\",\n sha256 = \"b6b8cfa2a7656627b4c92c6b9ef929433acd673d5ab3708cda1b18478ac00df4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libspa/0.9.2/download\"],\n strip_prefix = \"libspa-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.libspa-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libspa-sys-0.9.2\",\n sha256 = \"901049455d2eb6decf9058235d745237952f4804bc584c5fcb41412e6adcc6e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libspa-sys/0.9.2/download\"],\n strip_prefix = \"libspa-sys-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.libspa-sys-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libwayshot-xcap-0.3.3\",\n sha256 = \"ea8a46e4d016ef464e386e4970f5415fe0939c2d63abe0c2f539c05ef88c5fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libwayshot-xcap/0.3.3/download\"],\n strip_prefix = \"libwayshot-xcap-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.libwayshot-xcap-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linked-hash-map-0.5.6\",\n sha256 = \"0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linked-hash-map/0.5.6/download\"],\n strip_prefix = \"linked-hash-map-0.5.6\",\n build_file = Label(\"@crates//crates:BUILD.linked-hash-map-0.5.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.12.1\",\n sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n strip_prefix = \"linux-raw-sys-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.4.15\",\n sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n strip_prefix = \"linux-raw-sys-0.4.15\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.4.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.9.4\",\n sha256 = \"cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.9.4/download\"],\n strip_prefix = \"linux-raw-sys-0.9.4\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__litemap-0.8.3\",\n sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n strip_prefix = \"litemap-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.litemap-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lock_api-0.4.14\",\n sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n strip_prefix = \"lock_api-0.4.14\",\n build_file = Label(\"@crates//crates:BUILD.lock_api-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__log-0.4.33\",\n sha256 = \"0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.33/download\"],\n strip_prefix = \"log-0.4.33\",\n build_file = Label(\"@crates//crates:BUILD.log-0.4.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lopdf-0.42.0\",\n sha256 = \"25aab26d99567469098e64a02f42679f8965c6401263eefa31d8f2dcc37a221c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lopdf/0.42.0/download\"],\n strip_prefix = \"lopdf-0.42.0\",\n build_file = Label(\"@crates//crates:BUILD.lopdf-0.42.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lscolors-0.21.0\",\n sha256 = \"d60e266dfb1426eb2d24792602e041131fdc0236bb7007abc0e589acafd60929\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lscolors/0.21.0/download\"],\n strip_prefix = \"lscolors-0.21.0\",\n build_file = Label(\"@crates//crates:BUILD.lscolors-0.21.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__markup5ever-0.39.0\",\n sha256 = \"7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/markup5ever/0.39.0/download\"],\n strip_prefix = \"markup5ever-0.39.0\",\n build_file = Label(\"@crates//crates:BUILD.markup5ever-0.39.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__md-5-0.10.6\",\n sha256 = \"d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/md-5/0.10.6/download\"],\n strip_prefix = \"md-5-0.10.6\",\n build_file = Label(\"@crates//crates:BUILD.md-5-0.10.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memchr-2.8.3\",\n sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n strip_prefix = \"memchr-2.8.3\",\n build_file = Label(\"@crates//crates:BUILD.memchr-2.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memmap2-0.9.11\",\n sha256 = \"d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memmap2/0.9.11/download\"],\n strip_prefix = \"memmap2-0.9.11\",\n build_file = Label(\"@crates//crates:BUILD.memmap2-0.9.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memoffset-0.7.1\",\n sha256 = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.7.1/download\"],\n strip_prefix = \"memoffset-0.7.1\",\n build_file = Label(\"@crates//crates:BUILD.memoffset-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memoffset-0.9.1\",\n sha256 = \"488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.9.1/download\"],\n strip_prefix = \"memoffset-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.memoffset-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__minimal-lexical-0.2.1\",\n sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n strip_prefix = \"minimal-lexical-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.minimal-lexical-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__miniz_oxide-0.8.9\",\n sha256 = \"1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/miniz_oxide/0.8.9/download\"],\n strip_prefix = \"miniz_oxide-0.8.9\",\n build_file = Label(\"@crates//crates:BUILD.miniz_oxide-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__mio-1.2.2\",\n sha256 = \"30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.2.2/download\"],\n strip_prefix = \"mio-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.mio-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__moxcms-0.8.1\",\n sha256 = \"bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/moxcms/0.8.1/download\"],\n strip_prefix = \"moxcms-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.moxcms-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__munge-0.4.7\",\n sha256 = \"5e17401f259eba956ca16491461b6e8f72913a0a114e39736ce404410f915a0c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/munge/0.4.7/download\"],\n strip_prefix = \"munge-0.4.7\",\n build_file = Label(\"@crates//crates:BUILD.munge-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__munge_macro-0.4.7\",\n sha256 = \"4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/munge_macro/0.4.7/download\"],\n strip_prefix = \"munge_macro-0.4.7\",\n build_file = Label(\"@crates//crates:BUILD.munge_macro-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nanorand-0.7.0\",\n sha256 = \"6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nanorand/0.7.0/download\"],\n strip_prefix = \"nanorand-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.nanorand-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-3.12.1\",\n sha256 = \"459197f1592f4c3dbbf9c1b13f5a4599a343e4ef66b96bc340e2a518b36a6662\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi/3.12.1/download\"],\n strip_prefix = \"napi-3.12.1\",\n build_file = Label(\"@crates//crates:BUILD.napi-3.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-build-2.4.1\",\n sha256 = \"60fdf9b392c50e7c4170fa633bd909490ed7835cea4c046776d1a4dd8d2ae0ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-build/2.4.1/download\"],\n strip_prefix = \"napi-build-2.4.1\",\n build_file = Label(\"@crates//crates:BUILD.napi-build-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-derive-3.6.3\",\n sha256 = \"0fa55ea69990c90b888e9e77044410e304ce7f35de599dc6d0b5c1923d2e59af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-derive/3.6.3/download\"],\n strip_prefix = \"napi-derive-3.6.3\",\n build_file = Label(\"@crates//crates:BUILD.napi-derive-3.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-derive-backend-6.1.2\",\n sha256 = \"df4056ac7c18e4438ccf0edaed4340ca0d269278c8ec19284f7b23cb039fd0ae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-derive-backend/6.1.2/download\"],\n strip_prefix = \"napi-derive-backend-6.1.2\",\n build_file = Label(\"@crates//crates:BUILD.napi-derive-backend-6.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-sys-3.3.0\",\n sha256 = \"85fbf1fa9f1babfe396d74bbbf52b3643770243e8f5b0b46715d4caf7f0dfc9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-sys/3.3.0/download\"],\n strip_prefix = \"napi-sys-3.3.0\",\n build_file = Label(\"@crates//crates:BUILD.napi-sys-3.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__new_debug_unreachable-1.0.6\",\n sha256 = \"650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/new_debug_unreachable/1.0.6/download\"],\n strip_prefix = \"new_debug_unreachable-1.0.6\",\n build_file = Label(\"@crates//crates:BUILD.new_debug_unreachable-1.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.24.3\",\n sha256 = \"fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.24.3/download\"],\n strip_prefix = \"nix-0.24.3\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.24.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.26.4\",\n sha256 = \"598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.26.4/download\"],\n strip_prefix = \"nix-0.26.4\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.28.0\",\n sha256 = \"ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.28.0/download\"],\n strip_prefix = \"nix-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.30.1\",\n sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n strip_prefix = \"nix-0.30.1\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.30.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.31.3\",\n sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n strip_prefix = \"nix-0.31.3\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.31.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nohash-hasher-0.2.0\",\n sha256 = \"2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nohash-hasher/0.2.0/download\"],\n strip_prefix = \"nohash-hasher-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.nohash-hasher-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nom-7.1.3\",\n sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n strip_prefix = \"nom-7.1.3\",\n build_file = Label(\"@crates//crates:BUILD.nom-7.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nom-8.0.0\",\n sha256 = \"df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/8.0.0/download\"],\n strip_prefix = \"nom-8.0.0\",\n build_file = Label(\"@crates//crates:BUILD.nom-8.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__normalize-path-0.2.1\",\n sha256 = \"f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/normalize-path/0.2.1/download\"],\n strip_prefix = \"normalize-path-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.normalize-path-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__notify-8.2.0\",\n sha256 = \"4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/notify/8.2.0/download\"],\n strip_prefix = \"notify-8.2.0\",\n build_file = Label(\"@crates//crates:BUILD.notify-8.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__notify-types-2.1.0\",\n sha256 = \"42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/notify-types/2.1.0/download\"],\n strip_prefix = \"notify-types-2.1.0\",\n build_file = Label(\"@crates//crates:BUILD.notify-types-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nu-ansi-term-0.50.3\",\n sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n strip_prefix = \"nu-ansi-term-0.50.3\",\n build_file = Label(\"@crates//crates:BUILD.nu-ansi-term-0.50.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-bigint-0.4.8\",\n sha256 = \"c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint/0.4.8/download\"],\n strip_prefix = \"num-bigint-0.4.8\",\n build_file = Label(\"@crates//crates:BUILD.num-bigint-0.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-conv-0.2.2\",\n sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n strip_prefix = \"num-conv-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.num-conv-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-format-0.4.4\",\n sha256 = \"a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-format/0.4.4/download\"],\n strip_prefix = \"num-format-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.num-format-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-integer-0.1.47\",\n sha256 = \"7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-integer/0.1.47/download\"],\n strip_prefix = \"num-integer-0.1.47\",\n build_file = Label(\"@crates//crates:BUILD.num-integer-0.1.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-traits-0.2.19\",\n sha256 = \"071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-traits/0.2.19/download\"],\n strip_prefix = \"num-traits-0.2.19\",\n build_file = Label(\"@crates//crates:BUILD.num-traits-0.2.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-0.6.4\",\n sha256 = \"3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2/0.6.4/download\"],\n strip_prefix = \"objc2-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.objc2-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-app-kit-0.3.2\",\n sha256 = \"d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-app-kit/0.3.2/download\"],\n strip_prefix = \"objc2-app-kit-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-app-kit-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-application-services-0.3.2\",\n sha256 = \"69282c2b5bc58fba07cb9de2113619532eb551e98efe3d8d695509ef45fbd53b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-application-services/0.3.2/download\"],\n strip_prefix = \"objc2-application-services-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-application-services-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-av-foundation-0.3.2\",\n sha256 = \"478ae33fcac9df0a18db8302387c666b8ef08a3e2d62b510ca4fc278a384b6c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-av-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-av-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-av-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-avf-audio-0.3.2\",\n sha256 = \"13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-avf-audio/0.3.2/download\"],\n strip_prefix = \"objc2-avf-audio-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-avf-audio-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-cloud-kit-0.3.2\",\n sha256 = \"73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-cloud-kit/0.3.2/download\"],\n strip_prefix = \"objc2-cloud-kit-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-cloud-kit-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-audio-0.3.2\",\n sha256 = \"e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-audio/0.3.2/download\"],\n strip_prefix = \"objc2-core-audio-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-audio-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-audio-types-0.3.2\",\n sha256 = \"5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-audio-types/0.3.2/download\"],\n strip_prefix = \"objc2-core-audio-types-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-audio-types-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-data-0.3.2\",\n sha256 = \"0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-data/0.3.2/download\"],\n strip_prefix = \"objc2-core-data-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-data-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-foundation-0.3.2\",\n sha256 = \"2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-core-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-graphics-0.3.2\",\n sha256 = \"e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-graphics/0.3.2/download\"],\n strip_prefix = \"objc2-core-graphics-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-graphics-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-image-0.3.2\",\n sha256 = \"e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-image/0.3.2/download\"],\n strip_prefix = \"objc2-core-image-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-image-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-media-0.3.2\",\n sha256 = \"05ec576860167a15dd9fce7fbee7512beb4e31f532159d3482d1f9c6caedf31d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-media/0.3.2/download\"],\n strip_prefix = \"objc2-core-media-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-media-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-services-0.3.2\",\n sha256 = \"583300ad934cba24ff5292aee751ecc070f7ca6b39a574cc21b7b5e588e06a0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-services/0.3.2/download\"],\n strip_prefix = \"objc2-core-services-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-services-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-text-0.3.2\",\n sha256 = \"0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-text/0.3.2/download\"],\n strip_prefix = \"objc2-core-text-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-text-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-video-0.3.2\",\n sha256 = \"d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-video/0.3.2/download\"],\n strip_prefix = \"objc2-core-video-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-video-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-encode-4.1.0\",\n sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n strip_prefix = \"objc2-encode-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.objc2-encode-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-foundation-0.3.2\",\n sha256 = \"e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-image-io-0.3.2\",\n sha256 = \"32b0446e98cf4a784cc7a0177715ff317eeaa8463841c616cfc78aa4f953c4ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-image-io/0.3.2/download\"],\n strip_prefix = \"objc2-image-io-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-image-io-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-io-surface-0.3.2\",\n sha256 = \"180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-io-surface/0.3.2/download\"],\n strip_prefix = \"objc2-io-surface-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-io-surface-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-media-toolbox-0.3.2\",\n sha256 = \"edd9fdde720df3da7046bb9097811000c1e7ab5cd579fa89d96b27d56781fb30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-media-toolbox/0.3.2/download\"],\n strip_prefix = \"objc2-media-toolbox-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-media-toolbox-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-metal-0.3.2\",\n sha256 = \"a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-metal/0.3.2/download\"],\n strip_prefix = \"objc2-metal-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-metal-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-quartz-core-0.3.2\",\n sha256 = \"96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-quartz-core/0.3.2/download\"],\n strip_prefix = \"objc2-quartz-core-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-quartz-core-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-security-0.3.2\",\n sha256 = \"709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-security/0.3.2/download\"],\n strip_prefix = \"objc2-security-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-security-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-system-configuration-0.3.2\",\n sha256 = \"7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-system-configuration/0.3.2/download\"],\n strip_prefix = \"objc2-system-configuration-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-system-configuration-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__oid-registry-0.7.1\",\n sha256 = \"a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/oid-registry/0.7.1/download\"],\n strip_prefix = \"oid-registry-0.7.1\",\n build_file = Label(\"@crates//crates:BUILD.oid-registry-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__once_cell-1.21.4\",\n sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n strip_prefix = \"once_cell-1.21.4\",\n build_file = Label(\"@crates//crates:BUILD.once_cell-1.21.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__once_cell_polyfill-1.70.2\",\n sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n strip_prefix = \"once_cell_polyfill-1.70.2\",\n build_file = Label(\"@crates//crates:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__onig-6.5.3\",\n sha256 = \"0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/onig/6.5.3/download\"],\n strip_prefix = \"onig-6.5.3\",\n build_file = Label(\"@crates//crates:BUILD.onig-6.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__onig_sys-69.9.3\",\n sha256 = \"1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/onig_sys/69.9.3/download\"],\n strip_prefix = \"onig_sys-69.9.3\",\n build_file = Label(\"@crates//crates:BUILD.onig_sys-69.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__opaque-debug-0.3.1\",\n sha256 = \"c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opaque-debug/0.3.1/download\"],\n strip_prefix = \"opaque-debug-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.opaque-debug-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__opus-0.3.1\",\n sha256 = \"4d3809943dff6fbad5f0484449ea26bdb9cb7d8efdf26ed50d3c7f227f69eb5c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opus/0.3.1/download\"],\n strip_prefix = \"opus-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.opus-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ordered-float-5.3.0\",\n sha256 = \"b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ordered-float/5.3.0/download\"],\n strip_prefix = \"ordered-float-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.ordered-float-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ordered-stream-0.2.0\",\n sha256 = \"9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ordered-stream/0.2.0/download\"],\n strip_prefix = \"ordered-stream-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.ordered-stream-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__os_display-0.1.4\",\n sha256 = \"ad5fd71b79026fb918650dde6d125000a233764f1c2f1659a1c71118e33ea08f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/os_display/0.1.4/download\"],\n strip_prefix = \"os_display-0.1.4\",\n build_file = Label(\"@crates//crates:BUILD.os_display-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__os_pipe-1.2.3\",\n sha256 = \"7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/os_pipe/1.2.3/download\"],\n strip_prefix = \"os_pipe-1.2.3\",\n build_file = Label(\"@crates//crates:BUILD.os_pipe-1.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__outref-0.5.2\",\n sha256 = \"1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/outref/0.5.2/download\"],\n strip_prefix = \"outref-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.outref-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__p256-0.13.2\",\n sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n strip_prefix = \"p256-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.p256-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__p384-0.13.1\",\n sha256 = \"fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p384/0.13.1/download\"],\n strip_prefix = \"p384-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.p384-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette-0.7.7\",\n sha256 = \"ddeed8580d347d2abf3dcf06a5f0b3dc020258338526b277847cd4248a70fc64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette/0.7.7/download\"],\n strip_prefix = \"palette-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette_derive-0.7.7\",\n sha256 = \"88537020289b719d81be994ccf1bbf4990f477e2f69ee52fe3e45f43a02e56be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette_derive/0.7.7/download\"],\n strip_prefix = \"palette_derive-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette_derive-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette_math-0.7.7\",\n sha256 = \"6e6eb142958d64335fb0e345c5b9ead2ecd6fc438c307e9d7d3c4fd428dbaf12\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette_math/0.7.7/download\"],\n strip_prefix = \"palette_math-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette_math-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking-2.2.1\",\n sha256 = \"f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking/2.2.1/download\"],\n strip_prefix = \"parking-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.parking-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking_lot-0.12.5\",\n sha256 = \"93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot/0.12.5/download\"],\n strip_prefix = \"parking_lot-0.12.5\",\n build_file = Label(\"@crates//crates:BUILD.parking_lot-0.12.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking_lot_core-0.9.12\",\n sha256 = \"2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot_core/0.9.12/download\"],\n strip_prefix = \"parking_lot_core-0.9.12\",\n build_file = Label(\"@crates//crates:BUILD.parking_lot_core-0.9.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parse_datetime-0.14.0\",\n sha256 = \"413775a7eac2261d2211a79d10ef275e5b6f7b527eec42ad09adce2ffa92b6e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parse_datetime/0.14.0/download\"],\n strip_prefix = \"parse_datetime-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.parse_datetime-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pcre2-0.2.11\",\n sha256 = \"9e970b0fcce0c7ee6ef662744ff711f21ccd6f11b7cf03cd187a80e89797fc67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pcre2/0.2.11/download\"],\n strip_prefix = \"pcre2-0.2.11\",\n build_file = Label(\"@crates//crates:BUILD.pcre2-0.2.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pcre2-sys-0.2.10\",\n sha256 = \"18b9073c1a2549bd409bf4a32c94d903bb1a09bf845bc306ae148897fa0760a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pcre2-sys/0.2.10/download\"],\n strip_prefix = \"pcre2-sys-0.2.10\",\n build_file = Label(\"@crates//crates:BUILD.pcre2-sys-0.2.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pdf-inspector-1.15.0\",\n sha256 = \"71d004766b3256499a00dc15c05d99872a24ab6d95ee34b6409eaaec4b793b3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pdf-inspector/1.15.0/download\"],\n strip_prefix = \"pdf-inspector-1.15.0\",\n build_file = Label(\"@crates//crates:BUILD.pdf-inspector-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-0.8.6\",\n sha256 = \"0aad070be5b63aa72103f2fcdd70a83adbd5e90112ce5b574171ff1c65501773\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg/0.8.6/download\"],\n strip_prefix = \"peg-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-macros-0.8.6\",\n sha256 = \"ddd8ef6825cae95355031ae26a99b616a2a21f22ba2de0197c43dfb05acbe7ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg-macros/0.8.6/download\"],\n strip_prefix = \"peg-macros-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-macros-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-runtime-0.8.6\",\n sha256 = \"7011d97b484a5ebdc4b1fdb3b12d5e4bbbea56e9d22b688f2e79e04b65a7d8a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg-runtime/0.8.6/download\"],\n strip_prefix = \"peg-runtime-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-runtime-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pem-3.0.6\",\n sha256 = \"1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem/3.0.6/download\"],\n strip_prefix = \"pem-3.0.6\",\n build_file = Label(\"@crates//crates:BUILD.pem-3.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pem-rfc7468-0.7.0\",\n sha256 = \"88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem-rfc7468/0.7.0/download\"],\n strip_prefix = \"pem-rfc7468-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.pem-rfc7468-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__percent-encoding-2.3.2\",\n sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n strip_prefix = \"percent-encoding-2.3.2\",\n build_file = Label(\"@crates//crates:BUILD.percent-encoding-2.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest-2.9.0\",\n sha256 = \"5a07a60cc7a4d00c91f95c685609d1d2f79050e6804b70ebedd7650f0b839bcf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest/2.9.0/download\"],\n strip_prefix = \"pest-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_derive-2.9.0\",\n sha256 = \"b3a83744a5c8455b8b3e0dc5031362780a347c878bdd11584d1a8984228cc88d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_derive/2.9.0/download\"],\n strip_prefix = \"pest_derive-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_derive-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_generator-2.9.0\",\n sha256 = \"e0cd3451aa3de60d4b9a1e736885e4dea6b31617598026f12256ad566d63304a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_generator/2.9.0/download\"],\n strip_prefix = \"pest_generator-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_generator-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_meta-2.9.0\",\n sha256 = \"e04d3a0849e241d7dfce834c83b1c5edc8622009e8dd51a12ba1927c32f05496\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_meta/2.9.0/download\"],\n strip_prefix = \"pest_meta-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_meta-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__petgraph-0.8.3\",\n sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n strip_prefix = \"petgraph-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.petgraph-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.11.3\",\n sha256 = \"1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.11.3/download\"],\n strip_prefix = \"phf-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.13.1\",\n sha256 = \"c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.13.1/download\"],\n strip_prefix = \"phf-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.14.0\",\n sha256 = \"010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.14.0/download\"],\n strip_prefix = \"phf-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_codegen-0.11.3\",\n sha256 = \"aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.11.3/download\"],\n strip_prefix = \"phf_codegen-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_codegen-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_codegen-0.13.1\",\n sha256 = \"49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.13.1/download\"],\n strip_prefix = \"phf_codegen-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_codegen-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.11.3\",\n sha256 = \"3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.11.3/download\"],\n strip_prefix = \"phf_generator-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.13.1\",\n sha256 = \"135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.13.1/download\"],\n strip_prefix = \"phf_generator-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.14.0\",\n sha256 = \"aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.14.0/download\"],\n strip_prefix = \"phf_generator-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_macros-0.13.1\",\n sha256 = \"812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_macros/0.13.1/download\"],\n strip_prefix = \"phf_macros-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_macros-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_macros-0.14.0\",\n sha256 = \"5fa8d0ca26d424d27630da600c6624696e7dec8bf7b3b492b383c5dc49e5e085\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_macros/0.14.0/download\"],\n strip_prefix = \"phf_macros-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_macros-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.11.3\",\n sha256 = \"67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.11.3/download\"],\n strip_prefix = \"phf_shared-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.13.1\",\n sha256 = \"e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.13.1/download\"],\n strip_prefix = \"phf_shared-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.14.0\",\n sha256 = \"c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.14.0/download\"],\n strip_prefix = \"phf_shared-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pin-project-lite-0.2.17\",\n sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n strip_prefix = \"pin-project-lite-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.pin-project-lite-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pin-utils-0.1.0\",\n sha256 = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-utils/0.1.0/download\"],\n strip_prefix = \"pin-utils-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.pin-utils-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__piper-0.2.5\",\n sha256 = \"c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/piper/0.2.5/download\"],\n strip_prefix = \"piper-0.2.5\",\n build_file = Label(\"@crates//crates:BUILD.piper-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pipewire-0.9.2\",\n sha256 = \"9688b89abf11d756499f7c6190711d6dbe5a3acdb30c8fbf001d6596d06a8d44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pipewire/0.9.2/download\"],\n strip_prefix = \"pipewire-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.pipewire-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pipewire-sys-0.9.2\",\n sha256 = \"cb028afee0d6ca17020b090e3b8fa2d7de23305aef975c7e5192a5050246ea36\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pipewire-sys/0.9.2/download\"],\n strip_prefix = \"pipewire-sys-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.pipewire-sys-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pkcs8-0.10.2\",\n sha256 = \"f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs8/0.10.2/download\"],\n strip_prefix = \"pkcs8-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.pkcs8-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pkg-config-0.3.34\",\n sha256 = \"f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkg-config/0.3.34/download\"],\n strip_prefix = \"pkg-config-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.pkg-config-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__platform-info-2.1.0\",\n sha256 = \"9368d62437c8cbb7c31ee37fd8c08a7d390e09a3ff75698a674953f46705ffcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/platform-info/2.1.0/download\"],\n strip_prefix = \"platform-info-2.1.0\",\n build_file = Label(\"@crates//crates:BUILD.platform-info-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__png-0.18.1\",\n sha256 = \"60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/png/0.18.1/download\"],\n strip_prefix = \"png-0.18.1\",\n build_file = Label(\"@crates//crates:BUILD.png-0.18.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__polling-3.11.0\",\n sha256 = \"5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/polling/3.11.0/download\"],\n strip_prefix = \"polling-3.11.0\",\n build_file = Label(\"@crates//crates:BUILD.polling-3.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__poly1305-0.8.0\",\n sha256 = \"8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/poly1305/0.8.0/download\"],\n strip_prefix = \"poly1305-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.poly1305-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__polyval-0.6.2\",\n sha256 = \"9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/polyval/0.6.2/download\"],\n strip_prefix = \"polyval-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.polyval-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-atomic-1.15.0\",\n sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n strip_prefix = \"portable-atomic-1.15.0\",\n build_file = Label(\"@crates//crates:BUILD.portable-atomic-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-atomic-util-0.2.7\",\n sha256 = \"c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.7/download\"],\n strip_prefix = \"portable-atomic-util-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.portable-atomic-util-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-pty-0.9.0\",\n sha256 = \"b4a596a2b3d2752d94f51fac2d4a96737b8705dddd311a32b9af47211f08671e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-pty/0.9.0/download\"],\n strip_prefix = \"portable-pty-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.portable-pty-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__potential_utf-0.1.6\",\n sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n strip_prefix = \"potential_utf-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.potential_utf-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ppv-lite86-0.2.21\",\n sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n strip_prefix = \"ppv-lite86-0.2.21\",\n build_file = Label(\"@crates//crates:BUILD.ppv-lite86-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__precomputed-hash-0.1.1\",\n sha256 = \"925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/precomputed-hash/0.1.1/download\"],\n strip_prefix = \"precomputed-hash-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.precomputed-hash-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pretty_assertions-1.4.1\",\n sha256 = \"3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pretty_assertions/1.4.1/download\"],\n strip_prefix = \"pretty_assertions-1.4.1\",\n build_file = Label(\"@crates//crates:BUILD.pretty_assertions-1.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__prettyplease-0.2.37\",\n sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n strip_prefix = \"prettyplease-0.2.37\",\n build_file = Label(\"@crates//crates:BUILD.prettyplease-0.2.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__primeorder-0.13.6\",\n sha256 = \"353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/primeorder/0.13.6/download\"],\n strip_prefix = \"primeorder-0.13.6\",\n build_file = Label(\"@crates//crates:BUILD.primeorder-0.13.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__proc-macro-crate-3.5.0\",\n sha256 = \"e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro-crate/3.5.0/download\"],\n strip_prefix = \"proc-macro-crate-3.5.0\",\n build_file = Label(\"@crates//crates:BUILD.proc-macro-crate-3.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__proc-macro2-1.0.107\",\n sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n strip_prefix = \"proc-macro2-1.0.107\",\n build_file = Label(\"@crates//crates:BUILD.proc-macro2-1.0.107.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__procfs-0.18.0\",\n sha256 = \"25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/procfs/0.18.0/download\"],\n strip_prefix = \"procfs-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.procfs-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__procfs-core-0.18.0\",\n sha256 = \"e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/procfs-core/0.18.0/download\"],\n strip_prefix = \"procfs-core-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.procfs-core-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ptr_meta-0.3.2\",\n sha256 = \"743da816b98c921cdbe8628ef7381b76f25ecf4da599fc80aca90eae7ef70cc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ptr_meta/0.3.2/download\"],\n strip_prefix = \"ptr_meta-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.ptr_meta-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ptr_meta_derive-0.3.2\",\n sha256 = \"1c8d9ca532f185d5d4db7a7c9d51420b452168ea1c2b913953281bd6fe1fcbd0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ptr_meta_derive/0.3.2/download\"],\n strip_prefix = \"ptr_meta_derive-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.ptr_meta_derive-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pxfm-0.1.30\",\n sha256 = \"d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pxfm/0.1.30/download\"],\n strip_prefix = \"pxfm-0.1.30\",\n build_file = Label(\"@crates//crates:BUILD.pxfm-0.1.30.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quantette-0.6.0\",\n sha256 = \"ba5d37e94c17b8870a5b936001d2845a6782a22ebdb1706c84294eca777f6729\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quantette/0.6.0/download\"],\n strip_prefix = \"quantette-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.quantette-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quick-error-2.0.1\",\n sha256 = \"a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quick-error/2.0.1/download\"],\n strip_prefix = \"quick-error-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.quick-error-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quick-xml-0.41.0\",\n sha256 = \"e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quick-xml/0.41.0/download\"],\n strip_prefix = \"quick-xml-0.41.0\",\n build_file = Label(\"@crates//crates:BUILD.quick-xml-0.41.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quote-1.0.47\",\n sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n strip_prefix = \"quote-1.0.47\",\n build_file = Label(\"@crates//crates:BUILD.quote-1.0.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__r-efi-5.3.0\",\n sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n strip_prefix = \"r-efi-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.r-efi-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__r-efi-6.0.0\",\n sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n strip_prefix = \"r-efi-6.0.0\",\n build_file = Label(\"@crates//crates:BUILD.r-efi-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__radium-0.7.0\",\n sha256 = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/radium/0.7.0/download\"],\n strip_prefix = \"radium-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.radium-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rancor-0.1.3\",\n sha256 = \"9b534442d0fcdb55d66f373d9cac6d33b6293a2335bc2136dbd06ce0e87d2572\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rancor/0.1.3/download\"],\n strip_prefix = \"rancor-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.rancor-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.10.2\",\n sha256 = \"c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.10.2/download\"],\n strip_prefix = \"rand-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.8.7\",\n sha256 = \"22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.8.7/download\"],\n strip_prefix = \"rand-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.9.5\",\n sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n strip_prefix = \"rand-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_chacha-0.9.0\",\n sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n strip_prefix = \"rand_chacha-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.rand_chacha-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.10.1\",\n sha256 = \"63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.10.1/download\"],\n strip_prefix = \"rand_core-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.6.4\",\n sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n strip_prefix = \"rand_core-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.9.5\",\n sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n strip_prefix = \"rand_core-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_xoshiro-0.8.1\",\n sha256 = \"662effc7698e08ea324d3acccf8d9d7f7bf79b9785e270a174ea36e56900c91d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_xoshiro/0.8.1/download\"],\n strip_prefix = \"rand_xoshiro-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.rand_xoshiro-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rangemap-1.8.0\",\n sha256 = \"a611d15b50743feb4c76b7d03edcb0e64f399c26961e4efe6975bc398be6aa3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rangemap/1.8.0/download\"],\n strip_prefix = \"rangemap-1.8.0\",\n build_file = Label(\"@crates//crates:BUILD.rangemap-1.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rayon-1.12.0\",\n sha256 = \"fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rayon/1.12.0/download\"],\n strip_prefix = \"rayon-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.rayon-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rayon-core-1.13.0\",\n sha256 = \"22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rayon-core/1.13.0/download\"],\n strip_prefix = \"rayon-core-1.13.0\",\n build_file = Label(\"@crates//crates:BUILD.rayon-core-1.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rcgen-0.13.2\",\n sha256 = \"75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rcgen/0.13.2/download\"],\n strip_prefix = \"rcgen-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.rcgen-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__redox_syscall-0.5.18\",\n sha256 = \"ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.5.18/download\"],\n strip_prefix = \"redox_syscall-0.5.18\",\n build_file = Label(\"@crates//crates:BUILD.redox_syscall-0.5.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ref-cast-1.0.27\",\n sha256 = \"7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ref-cast/1.0.27/download\"],\n strip_prefix = \"ref-cast-1.0.27\",\n build_file = Label(\"@crates//crates:BUILD.ref-cast-1.0.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ref-cast-impl-1.0.27\",\n sha256 = \"92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ref-cast-impl/1.0.27/download\"],\n strip_prefix = \"ref-cast-impl-1.0.27\",\n build_file = Label(\"@crates//crates:BUILD.ref-cast-impl-1.0.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-1.13.1\",\n sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n strip_prefix = \"regex-1.13.1\",\n build_file = Label(\"@crates//crates:BUILD.regex-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-automata-0.4.18\",\n sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n strip_prefix = \"regex-automata-0.4.18\",\n build_file = Label(\"@crates//crates:BUILD.regex-automata-0.4.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-lite-0.1.9\",\n sha256 = \"cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-lite/0.1.9/download\"],\n strip_prefix = \"regex-lite-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.regex-lite-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-syntax-0.8.11\",\n sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n strip_prefix = \"regex-syntax-0.8.11\",\n build_file = Label(\"@crates//crates:BUILD.regex-syntax-0.8.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__reis-0.5.0\",\n sha256 = \"00939c5c526a1b4054ef8d9d96b3f92227f08ca355965e986741b556eda6d289\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/reis/0.5.0/download\"],\n strip_prefix = \"reis-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.reis-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rend-0.5.4\",\n sha256 = \"663ba70707f96e871406fe10d68128412e619b06d1d47cb91c3a4c6501176240\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rend/0.5.4/download\"],\n strip_prefix = \"rend-0.5.4\",\n build_file = Label(\"@crates//crates:BUILD.rend-0.5.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rfc6979-0.4.0\",\n sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n strip_prefix = \"rfc6979-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.rfc6979-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rgb-0.8.53\",\n sha256 = \"47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rgb/0.8.53/download\"],\n strip_prefix = \"rgb-0.8.53\",\n build_file = Label(\"@crates//crates:BUILD.rgb-0.8.53.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ring-0.17.14\",\n sha256 = \"a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.17.14/download\"],\n strip_prefix = \"ring-0.17.14\",\n build_file = Label(\"@crates//crates:BUILD.ring-0.17.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rkyv-0.8.18\",\n sha256 = \"d9776093b7ca170454ab1406954f7b7d97a57c51dc6c0642957fb2ef25c2d399\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rkyv/0.8.18/download\"],\n strip_prefix = \"rkyv-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.rkyv-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rkyv_derive-0.8.18\",\n sha256 = \"1c25ef604ac7dd839d44d64648952ea23c97866f124ff671b0ed2cf3ad9bb06e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rkyv_derive/0.8.18/download\"],\n strip_prefix = \"rkyv_derive-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.rkyv_derive-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rlimit-0.11.0\",\n sha256 = \"f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rlimit/0.11.0/download\"],\n strip_prefix = \"rlimit-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.rlimit-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rpds-1.2.1\",\n sha256 = \"e025feb26210bc196b908e72deb063b1b4000754304341cbc168a1e72c857ebc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rpds/1.2.1/download\"],\n strip_prefix = \"rpds-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.rpds-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rtcp-0.17.2\",\n sha256 = \"adad7f6a501162881032fc84b4bc78ae11f1b30748180b9f5cbe8810bf613aab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rtcp/0.17.2/download\"],\n strip_prefix = \"rtcp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.rtcp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rtp-0.17.2\",\n sha256 = \"149329e78ada26b5e174a4c281a7a7e5c8bda6008adc90daddd6f98fce56db29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rtp/0.17.2/download\"],\n strip_prefix = \"rtp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.rtp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc-hash-1.1.0\",\n sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n strip_prefix = \"rustc-hash-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.rustc-hash-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc-hash-2.1.3\",\n sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n strip_prefix = \"rustc-hash-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.rustc-hash-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc_version-0.4.1\",\n sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n strip_prefix = \"rustc_version-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.rustc_version-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rusticata-macros-4.1.0\",\n sha256 = \"faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rusticata-macros/4.1.0/download\"],\n strip_prefix = \"rusticata-macros-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.rusticata-macros-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustix-0.38.44\",\n sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n strip_prefix = \"rustix-0.38.44\",\n build_file = Label(\"@crates//crates:BUILD.rustix-0.38.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustix-1.1.4\",\n sha256 = \"b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/1.1.4/download\"],\n strip_prefix = \"rustix-1.1.4\",\n build_file = Label(\"@crates//crates:BUILD.rustix-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-0.23.43\",\n sha256 = \"0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls/0.23.43/download\"],\n strip_prefix = \"rustls-0.23.43\",\n build_file = Label(\"@crates//crates:BUILD.rustls-0.23.43.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-pki-types-1.15.1\",\n sha256 = \"2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pki-types/1.15.1/download\"],\n strip_prefix = \"rustls-pki-types-1.15.1\",\n build_file = Label(\"@crates//crates:BUILD.rustls-pki-types-1.15.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-webpki-0.103.14\",\n sha256 = \"0527518605e68109d875e248ea259b6758801cf165e4b2c2733ae3b51f12535a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-webpki/0.103.14/download\"],\n strip_prefix = \"rustls-webpki-0.103.14\",\n build_file = Label(\"@crates//crates:BUILD.rustls-webpki-0.103.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustversion-1.0.23\",\n sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n strip_prefix = \"rustversion-1.0.23\",\n build_file = Label(\"@crates//crates:BUILD.rustversion-1.0.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__safe_arch-1.2.0\",\n sha256 = \"42c6efa15875e6ecb39ca61fb0b0c1a40b84fac5a5ffe71eef7d1000c8eb3f5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/safe_arch/1.2.0/download\"],\n strip_prefix = \"safe_arch-1.2.0\",\n build_file = Label(\"@crates//crates:BUILD.safe_arch-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__same-file-1.0.6\",\n sha256 = \"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/same-file/1.0.6/download\"],\n strip_prefix = \"same-file-1.0.6\",\n build_file = Label(\"@crates//crates:BUILD.same-file-1.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__scoped-tls-1.0.1\",\n sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n strip_prefix = \"scoped-tls-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.scoped-tls-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crates//crates:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sdp-0.17.2\",\n sha256 = \"66b6eecfa5151edef84d544ff3885dff98e5b5fe97586757a4b5118bde51c958\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sdp/0.17.2/download\"],\n strip_prefix = \"sdp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.sdp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sec1-0.7.3\",\n sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n strip_prefix = \"sec1-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.sec1-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__self_cell-1.3.0\",\n sha256 = \"2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/self_cell/1.3.0/download\"],\n strip_prefix = \"self_cell-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.self_cell-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__semver-1.0.28\",\n sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n strip_prefix = \"semver-1.0.28\",\n build_file = Label(\"@crates//crates:BUILD.semver-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde-1.0.229\",\n sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n strip_prefix = \"serde-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_core-1.0.229\",\n sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n strip_prefix = \"serde_core-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde_core-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_derive-1.0.229\",\n sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n strip_prefix = \"serde_derive-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde_derive-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_json-1.0.151\",\n sha256 = \"c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.151/download\"],\n strip_prefix = \"serde_json-1.0.151\",\n build_file = Label(\"@crates//crates:BUILD.serde_json-1.0.151.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_repr-0.1.21\",\n sha256 = \"8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_repr/0.1.21/download\"],\n strip_prefix = \"serde_repr-0.1.21\",\n build_file = Label(\"@crates//crates:BUILD.serde_repr-0.1.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_spanned-1.1.1\",\n sha256 = \"6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_spanned/1.1.1/download\"],\n strip_prefix = \"serde_spanned-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.serde_spanned-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serial2-0.2.38\",\n sha256 = \"b16809bc35793b19ce4e0c53924bc0dce3937f15487997cfdaed936004180730\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serial2/0.2.38/download\"],\n strip_prefix = \"serial2-0.2.38\",\n build_file = Label(\"@crates//crates:BUILD.serial2-0.2.38.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha1-0.10.7\",\n sha256 = \"a978451301f4db1d02937a4ab3ccce137717b81826e79b7d49ffe3244a13c3b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha1/0.10.7/download\"],\n strip_prefix = \"sha1-0.10.7\",\n build_file = Label(\"@crates//crates:BUILD.sha1-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha2-0.10.9\",\n sha256 = \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha2/0.10.9/download\"],\n strip_prefix = \"sha2-0.10.9\",\n build_file = Label(\"@crates//crates:BUILD.sha2-0.10.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha3-0.10.9\",\n sha256 = \"77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha3/0.10.9/download\"],\n strip_prefix = \"sha3-0.10.9\",\n build_file = Label(\"@crates//crates:BUILD.sha3-0.10.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shared_library-0.1.9\",\n sha256 = \"5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shared_library/0.1.9/download\"],\n strip_prefix = \"shared_library-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.shared_library-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shell-words-1.1.1\",\n sha256 = \"dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shell-words/1.1.1/download\"],\n strip_prefix = \"shell-words-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.shell-words-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shlex-1.3.0\",\n sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n strip_prefix = \"shlex-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.shlex-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shlex-2.0.1\",\n sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n strip_prefix = \"shlex-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.shlex-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__signal-hook-registry-1.4.8\",\n sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n strip_prefix = \"signal-hook-registry-1.4.8\",\n build_file = Label(\"@crates//crates:BUILD.signal-hook-registry-1.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__signature-2.2.0\",\n sha256 = \"77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signature/2.2.0/download\"],\n strip_prefix = \"signature-2.2.0\",\n build_file = Label(\"@crates//crates:BUILD.signature-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__simd-adler32-0.3.10\",\n sha256 = \"3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simd-adler32/0.3.10/download\"],\n strip_prefix = \"simd-adler32-0.3.10\",\n build_file = Label(\"@crates//crates:BUILD.simd-adler32-0.3.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__simdutf8-0.1.5\",\n sha256 = \"e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simdutf8/0.1.5/download\"],\n strip_prefix = \"simdutf8-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.simdutf8-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__similar-2.7.0\",\n sha256 = \"bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/similar/2.7.0/download\"],\n strip_prefix = \"similar-2.7.0\",\n build_file = Label(\"@crates//crates:BUILD.similar-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__similar-3.2.0\",\n sha256 = \"4f66ca1f7aca2474dc10c942eb22feffc897735f54cd1db90138c2fddb490987\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/similar/3.2.0/download\"],\n strip_prefix = \"similar-3.2.0\",\n build_file = Label(\"@crates//crates:BUILD.similar-3.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__siphasher-1.0.3\",\n sha256 = \"8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/siphasher/1.0.3/download\"],\n strip_prefix = \"siphasher-1.0.3\",\n build_file = Label(\"@crates//crates:BUILD.siphasher-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__slab-0.4.12\",\n sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n strip_prefix = \"slab-0.4.12\",\n build_file = Label(\"@crates//crates:BUILD.slab-0.4.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sm3-0.5.0\",\n sha256 = \"da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sm3/0.5.0/download\"],\n strip_prefix = \"sm3-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.sm3-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__smallvec-1.15.2\",\n sha256 = \"8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.15.2/download\"],\n strip_prefix = \"smallvec-1.15.2\",\n build_file = Label(\"@crates//crates:BUILD.smallvec-1.15.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__smol_str-0.2.2\",\n sha256 = \"dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smol_str/0.2.2/download\"],\n strip_prefix = \"smol_str-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.smol_str-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__socket2-0.5.10\",\n sha256 = \"e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.5.10/download\"],\n strip_prefix = \"socket2-0.5.10\",\n build_file = Label(\"@crates//crates:BUILD.socket2-0.5.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__socket2-0.6.5\",\n sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n strip_prefix = \"socket2-0.6.5\",\n build_file = Label(\"@crates//crates:BUILD.socket2-0.6.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spin-0.10.1\",\n sha256 = \"023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.10.1/download\"],\n strip_prefix = \"spin-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.spin-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spin-0.9.9\",\n sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n strip_prefix = \"spin-0.9.9\",\n build_file = Label(\"@crates//crates:BUILD.spin-0.9.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spki-0.7.3\",\n sha256 = \"d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spki/0.7.3/download\"],\n strip_prefix = \"spki-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.spki-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stable_deref_trait-1.2.1\",\n sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n strip_prefix = \"stable_deref_trait-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.stable_deref_trait-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__str_stack-0.1.1\",\n sha256 = \"7f446288b699d66d0fd2e30d1cfe7869194312524b3b9252594868ed26ef056a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/str_stack/0.1.1/download\"],\n strip_prefix = \"str_stack-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.str_stack-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__streaming-iterator-0.1.9\",\n sha256 = \"2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/streaming-iterator/0.1.9/download\"],\n strip_prefix = \"streaming-iterator-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.streaming-iterator-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__string_cache-0.9.0\",\n sha256 = \"a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache/0.9.0/download\"],\n strip_prefix = \"string_cache-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.string_cache-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__string_cache_codegen-0.6.1\",\n sha256 = \"585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache_codegen/0.6.1/download\"],\n strip_prefix = \"string_cache_codegen-0.6.1\",\n build_file = Label(\"@crates//crates:BUILD.string_cache_codegen-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stringprep-0.1.5\",\n sha256 = \"7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stringprep/0.1.5/download\"],\n strip_prefix = \"stringprep-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.stringprep-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strsim-0.11.1\",\n sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n strip_prefix = \"strsim-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.strsim-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strum-0.28.0\",\n sha256 = \"9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum/0.28.0/download\"],\n strip_prefix = \"strum-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.strum-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strum_macros-0.28.0\",\n sha256 = \"ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum_macros/0.28.0/download\"],\n strip_prefix = \"strum_macros-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.strum_macros-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stun-0.17.2\",\n sha256 = \"2e3b8d5ad1dd4c8cd0595440f26521a71dd593cb5873ee8e06b91510b7d97269\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stun/0.17.2/download\"],\n strip_prefix = \"stun-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.stun-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__substring-1.4.5\",\n sha256 = \"42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/substring/1.4.5/download\"],\n strip_prefix = \"substring-1.4.5\",\n build_file = Label(\"@crates//crates:BUILD.substring-1.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__subtle-2.6.1\",\n sha256 = \"13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/subtle/2.6.1/download\"],\n strip_prefix = \"subtle-2.6.1\",\n build_file = Label(\"@crates//crates:BUILD.subtle-2.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syn-2.0.119\",\n sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n strip_prefix = \"syn-2.0.119\",\n build_file = Label(\"@crates//crates:BUILD.syn-2.0.119.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syn-3.0.3\",\n sha256 = \"53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/3.0.3/download\"],\n strip_prefix = \"syn-3.0.3\",\n build_file = Label(\"@crates//crates:BUILD.syn-3.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__synstructure-0.13.2\",\n sha256 = \"728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/synstructure/0.13.2/download\"],\n strip_prefix = \"synstructure-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.synstructure-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syntect-5.3.0\",\n sha256 = \"656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syntect/5.3.0/download\"],\n strip_prefix = \"syntect-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.syntect-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__system-deps-7.0.8\",\n sha256 = \"396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-deps/7.0.8/download\"],\n strip_prefix = \"system-deps-7.0.8\",\n build_file = Label(\"@crates//crates:BUILD.system-deps-7.0.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tap-1.0.1\",\n sha256 = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tap/1.0.1/download\"],\n strip_prefix = \"tap-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.tap-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__target-lexicon-0.13.5\",\n sha256 = \"adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/target-lexicon/0.13.5/download\"],\n strip_prefix = \"target-lexicon-0.13.5\",\n build_file = Label(\"@crates//crates:BUILD.target-lexicon-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tempfile-3.27.0\",\n sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n strip_prefix = \"tempfile-3.27.0\",\n build_file = Label(\"@crates//crates:BUILD.tempfile-3.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tendril-0.5.1\",\n sha256 = \"5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tendril/0.5.1/download\"],\n strip_prefix = \"tendril-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.tendril-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__termcolor-1.4.1\",\n sha256 = \"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termcolor/1.4.1/download\"],\n strip_prefix = \"termcolor-1.4.1\",\n build_file = Label(\"@crates//crates:BUILD.termcolor-1.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__terminal_size-0.4.4\",\n sha256 = \"230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminal_size/0.4.4/download\"],\n strip_prefix = \"terminal_size-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.terminal_size-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__terminfo-0.9.0\",\n sha256 = \"d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminfo/0.9.0/download\"],\n strip_prefix = \"terminfo-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.terminfo-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-1.0.69\",\n sha256 = \"b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/1.0.69/download\"],\n strip_prefix = \"thiserror-1.0.69\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-1.0.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-2.0.20\",\n sha256 = \"ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/2.0.20/download\"],\n strip_prefix = \"thiserror-2.0.20\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-2.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-impl-1.0.69\",\n sha256 = \"4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.69/download\"],\n strip_prefix = \"thiserror-impl-1.0.69\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-impl-1.0.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-impl-2.0.20\",\n sha256 = \"bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.20/download\"],\n strip_prefix = \"thiserror-impl-2.0.20\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-impl-2.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiff-0.11.3\",\n sha256 = \"b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiff/0.11.3/download\"],\n strip_prefix = \"tiff-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.tiff-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiktoken-rs-0.11.0\",\n sha256 = \"fac4a168cfc1d8ed65bf17a6ee0843ad9a68f863c63c0fb2fa7eab67838782ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiktoken-rs/0.11.0/download\"],\n strip_prefix = \"tiktoken-rs-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.tiktoken-rs-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-0.3.55\",\n sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n strip_prefix = \"time-0.3.55\",\n build_file = Label(\"@crates//crates:BUILD.time-0.3.55.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-core-0.1.9\",\n sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n strip_prefix = \"time-core-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.time-core-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-macros-0.2.32\",\n sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n strip_prefix = \"time-macros-0.2.32\",\n build_file = Label(\"@crates//crates:BUILD.time-macros-0.2.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiny-keccak-2.0.2\",\n sha256 = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-keccak/2.0.2/download\"],\n strip_prefix = \"tiny-keccak-2.0.2\",\n build_file = Label(\"@crates//crates:BUILD.tiny-keccak-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinystr-0.8.4\",\n sha256 = \"b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinystr/0.8.4/download\"],\n strip_prefix = \"tinystr-0.8.4\",\n build_file = Label(\"@crates//crates:BUILD.tinystr-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinyvec-1.12.0\",\n sha256 = \"bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec/1.12.0/download\"],\n strip_prefix = \"tinyvec-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.tinyvec-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinyvec_macros-0.1.1\",\n sha256 = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec_macros/0.1.1/download\"],\n strip_prefix = \"tinyvec_macros-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tinyvec_macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-1.53.1\",\n sha256 = \"202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.53.1/download\"],\n strip_prefix = \"tokio-1.53.1\",\n build_file = Label(\"@crates//crates:BUILD.tokio-1.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-macros-2.7.2\",\n sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n strip_prefix = \"tokio-macros-2.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tokio-macros-2.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-util-0.7.19\",\n sha256 = \"494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.19/download\"],\n strip_prefix = \"tokio-util-0.7.19\",\n build_file = Label(\"@crates//crates:BUILD.tokio-util-0.7.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml-1.1.4-spec-1.1.0\",\n sha256 = \"3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/1.1.4+spec-1.1.0/download\"],\n strip_prefix = \"toml-1.1.4+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml-1.1.4+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_datetime-1.1.1-spec-1.1.0\",\n sha256 = \"3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/1.1.1+spec-1.1.0/download\"],\n strip_prefix = \"toml_datetime-1.1.1+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_edit-0.25.13-spec-1.1.0\",\n sha256 = \"6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.25.13+spec-1.1.0/download\"],\n strip_prefix = \"toml_edit-0.25.13+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_edit-0.25.13+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_parser-1.1.3-spec-1.1.0\",\n sha256 = \"1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_parser/1.1.3+spec-1.1.0/download\"],\n strip_prefix = \"toml_parser-1.1.3+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_parser-1.1.3+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_writer-1.1.2-spec-1.1.0\",\n sha256 = \"7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_writer/1.1.2+spec-1.1.0/download\"],\n strip_prefix = \"toml_writer-1.1.2+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_writer-1.1.2+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-0.1.44\",\n sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n strip_prefix = \"tracing-0.1.44\",\n build_file = Label(\"@crates//crates:BUILD.tracing-0.1.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-attributes-0.1.31\",\n sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n strip_prefix = \"tracing-attributes-0.1.31\",\n build_file = Label(\"@crates//crates:BUILD.tracing-attributes-0.1.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-core-0.1.36\",\n sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n strip_prefix = \"tracing-core-0.1.36\",\n build_file = Label(\"@crates//crates:BUILD.tracing-core-0.1.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-0.25.10\",\n sha256 = \"78f873475d258561b06f1c595d93308a7ed124d9977cb26b148c2084a4a3cc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter/0.25.10/download\"],\n strip_prefix = \"tree-sitter-0.25.10\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-0.25.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-astro-next-0.1.1\",\n sha256 = \"794a4a59fc2d88e49b4bc41fef9522d77184a36f4e68bbaf545cd1eb2364c46e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-astro-next/0.1.1/download\"],\n strip_prefix = \"tree-sitter-astro-next-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-astro-next-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-bash-0.25.1\",\n sha256 = \"9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-bash/0.25.1/download\"],\n strip_prefix = \"tree-sitter-bash-0.25.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-bash-0.25.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-c-0.24.2\",\n sha256 = \"a9b2eb57a55fed6b00812912e730b7a275cf4fe98bfd6a5d76263d4438371728\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-c/0.24.2/download\"],\n strip_prefix = \"tree-sitter-c-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-c-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-c-sharp-0.23.5\",\n sha256 = \"c1aac67f1ad71de1d6d39708d34811081c26dfa495658de6c14c34200849357c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-c-sharp/0.23.5/download\"],\n strip_prefix = \"tree-sitter-c-sharp-0.23.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-c-sharp-0.23.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-clojure-0.1.0\",\n sha256 = \"4004884cc509449a1d78fa3e1f02b4e953d0a8065984445304795e72e885338c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-clojure/0.1.0/download\"],\n strip_prefix = \"tree-sitter-clojure-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-clojure-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-cmake-0.7.4\",\n sha256 = \"164e0c4f4236ec5ceff14824a5528615cf462e100467e49826442ff57d327061\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-cmake/0.7.4/download\"],\n strip_prefix = \"tree-sitter-cmake-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-cmake-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-cpp-0.23.4\",\n sha256 = \"df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-cpp/0.23.4/download\"],\n strip_prefix = \"tree-sitter-cpp-0.23.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-cpp-0.23.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-css-0.25.0\",\n sha256 = \"a5cbc5e18f29a2c6d6435891f42569525cf95435a3e01c2f1947abcde178686f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-css/0.25.0/download\"],\n strip_prefix = \"tree-sitter-css-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-css-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-dart-0.2.0\",\n sha256 = \"325dd1e24ee9ee21111e9c43680ae7d6010aaa9f282b048a99b9c7163c1cf553\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-dart/0.2.0/download\"],\n strip_prefix = \"tree-sitter-dart-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-dart-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-diff-0.1.0\",\n sha256 = \"dfe1e5ca280a65dfe5ba4205c1bcc84edf486464fed315db53dee6da9a335889\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-diff/0.1.0/download\"],\n strip_prefix = \"tree-sitter-diff-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-diff-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-dockerfile-updated-0.2.0\",\n sha256 = \"5e61eb704364be179ab9be89e2891c8e77c0041eca5891a5c04164a21f6df7a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-dockerfile-updated/0.2.0/download\"],\n strip_prefix = \"tree-sitter-dockerfile-updated-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-dockerfile-updated-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-elisp-1.7.2\",\n sha256 = \"6b8b82ab7474028f20d2119285566f219209ebdbeec767fa28025b70f94f8cf3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-elisp/1.7.2/download\"],\n strip_prefix = \"tree-sitter-elisp-1.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-elisp-1.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-elixir-0.3.5\",\n sha256 = \"66dd064a762ed95bfc29857fa3cb7403bb1e5cb88112de0f6341b7e47284ba40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-elixir/0.3.5/download\"],\n strip_prefix = \"tree-sitter-elixir-0.3.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-elixir-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-erlang-0.16.0\",\n sha256 = \"ceb442e728225d601db0661f60d64e166bd9b9a55c587f71d4e4f27378717cce\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-erlang/0.16.0/download\"],\n strip_prefix = \"tree-sitter-erlang-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-erlang-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-fortran-0.6.0\",\n sha256 = \"ea5fea41363a9b59666001dc26c4b356d4e164da27c6ce31145e00aba6bf9b16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-fortran/0.6.0/download\"],\n strip_prefix = \"tree-sitter-fortran-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-fortran-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-go-0.25.0\",\n sha256 = \"c8560a4d2f835cc0d4d2c2e03cbd0dde2f6114b43bc491164238d333e28b16ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-go/0.25.0/download\"],\n strip_prefix = \"tree-sitter-go-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-go-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-graphql-0.1.0\",\n sha256 = \"efedc4cac157161cc23a0adc4553a2cedc908e1cd754b6cd033a919bb81ce5d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-graphql/0.1.0/download\"],\n strip_prefix = \"tree-sitter-graphql-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-graphql-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-haskell-0.23.1\",\n sha256 = \"977c51e504548cba13fc27cb5a2edab2124cf6716a1934915d07ab99523b05a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-haskell/0.23.1/download\"],\n strip_prefix = \"tree-sitter-haskell-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-haskell-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-hcl-1.1.0\",\n sha256 = \"5a7b2cc3d7121553b84309fab9d11b3ff3d420403eef9ae50f9fd1cd9d9cf012\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-hcl/1.1.0/download\"],\n strip_prefix = \"tree-sitter-hcl-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-hcl-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-html-0.23.2\",\n sha256 = \"261b708e5d92061ede329babaaa427b819329a9d427a1d710abb0f67bbef63ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-html/0.23.2/download\"],\n strip_prefix = \"tree-sitter-html-0.23.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-html-0.23.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ini-1.4.0\",\n sha256 = \"387f79682cd53b7c0a5777c96e601a02b9965a787984ef86dbb8952bdab2d62f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ini/1.4.0/download\"],\n strip_prefix = \"tree-sitter-ini-1.4.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ini-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-java-0.23.5\",\n sha256 = \"0aa6cbcdc8c679b214e616fd3300da67da0e492e066df01bcf5a5921a71e90d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-java/0.23.5/download\"],\n strip_prefix = \"tree-sitter-java-0.23.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-java-0.23.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-javascript-0.25.0\",\n sha256 = \"68204f2abc0627a90bdf06e605f5c470aa26fdcb2081ea553a04bdad756693f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-javascript/0.25.0/download\"],\n strip_prefix = \"tree-sitter-javascript-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-javascript-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-json-0.24.8\",\n sha256 = \"4d727acca406c0020cffc6cf35516764f36c8e3dc4408e5ebe2cb35a947ec471\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-json/0.24.8/download\"],\n strip_prefix = \"tree-sitter-json-0.24.8\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-json-0.24.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-julia-0.23.1\",\n sha256 = \"4144731a178812ee867619b1e98b3b91e54c1652304b26e5ebe3175b701de323\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-julia/0.23.1/download\"],\n strip_prefix = \"tree-sitter-julia-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-julia-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-just-0.2.0\",\n sha256 = \"bd46794f2c270f43d73b2f2c8c256992471f3493c903604da0886df984771920\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-just/0.2.0/download\"],\n strip_prefix = \"tree-sitter-just-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-just-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-kotlin-sg-0.4.1\",\n sha256 = \"c06ec43ae3c12165d4ac08afe4e1f5fc6757ffe274fa7bd5af9007ef11ba4319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-kotlin-sg/0.4.1/download\"],\n strip_prefix = \"tree-sitter-kotlin-sg-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-kotlin-sg-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-language-0.1.7\",\n sha256 = \"009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-language/0.1.7/download\"],\n strip_prefix = \"tree-sitter-language-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-language-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-lua-0.5.0\",\n sha256 = \"8daaf5f4235188a58603c39760d5fa5d4b920d36a299c934adddae757f32a10c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-lua/0.5.0/download\"],\n strip_prefix = \"tree-sitter-lua-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-lua-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-make-1.1.1\",\n sha256 = \"c5998dc7cbcbdab19fae8aefef982bf2d6544513d8d2e69cc44aec4c63810104\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-make/1.1.1/download\"],\n strip_prefix = \"tree-sitter-make-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-make-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-md-0.5.3\",\n sha256 = \"2efd398be546456c814598ee56c0f51769a77241511b4a58077815d120afa882\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-md/0.5.3/download\"],\n strip_prefix = \"tree-sitter-md-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-md-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-nix-0.3.0\",\n sha256 = \"4952a9733f3a98f6683a0ccd1035d84ab7a52f7e84eeed58548d86765ad92de3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-nix/0.3.0/download\"],\n strip_prefix = \"tree-sitter-nix-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-nix-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-objc-3.0.2\",\n sha256 = \"9ca8bb556423fc176f0535e79d525f783a6684d3c9da81bf9d905303c129e1d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-objc/3.0.2/download\"],\n strip_prefix = \"tree-sitter-objc-3.0.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-objc-3.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ocaml-0.24.2\",\n sha256 = \"7d19db582b3855f56b5f9ec484170fbfb9ee60b938ec7720d76d2ee788e8b640\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ocaml/0.24.2/download\"],\n strip_prefix = \"tree-sitter-ocaml-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ocaml-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-odin-1.3.0\",\n sha256 = \"24db210fe9ba2237c71c5030d7b146c7025420ba72dd8013d13cd822c3a8d77a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-odin/1.3.0/download\"],\n strip_prefix = \"tree-sitter-odin-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-odin-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-php-0.24.2\",\n sha256 = \"0d8c17c3ab69052c5eeaa7ff5cd972dd1bc25d1b97ee779fec391ad3b5df5592\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-php/0.24.2/download\"],\n strip_prefix = \"tree-sitter-php-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-php-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-powershell-0.26.4\",\n sha256 = \"3faf304d44b9ddd4a7d97804bb8de7daf564336dd5a526dc6de5b39238243022\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-powershell/0.26.4/download\"],\n strip_prefix = \"tree-sitter-powershell-0.26.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-powershell-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-proto-0.4.0\",\n sha256 = \"2e410ccb5fa3cbd6bf7b8e512ecf7ad9d5254395b822bfe9f751b50fa978f31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-proto/0.4.0/download\"],\n strip_prefix = \"tree-sitter-proto-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-proto-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-python-0.25.0\",\n sha256 = \"6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-python/0.25.0/download\"],\n strip_prefix = \"tree-sitter-python-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-python-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-r-1.3.0\",\n sha256 = \"ffc9954ec870dcad6cffdd302b405306c68cf031ed79a78cd9746f6740d9fe20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-r/1.3.0/download\"],\n strip_prefix = \"tree-sitter-r-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-r-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-regex-0.25.0\",\n sha256 = \"bd8a59be9f0ac131fd8f062eaaba14882b2fa5a6a7882a20134cb1d60df2e625\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-regex/0.25.0/download\"],\n strip_prefix = \"tree-sitter-regex-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-regex-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ruby-0.23.1\",\n sha256 = \"be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ruby/0.23.1/download\"],\n strip_prefix = \"tree-sitter-ruby-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ruby-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-rust-0.24.2\",\n sha256 = \"439e577dbe07423ec2582ac62c7531120dbfccfa6e5f92406f93dd271a120e45\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-rust/0.24.2/download\"],\n strip_prefix = \"tree-sitter-rust-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-rust-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-scala-0.26.2\",\n sha256 = \"24e0ab4505990bfe30051761d40a7bf4033ce5a81c9eda9e20e987a5cdc84826\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-scala/0.26.2/download\"],\n strip_prefix = \"tree-sitter-scala-0.26.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-scala-0.26.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-sequel-0.3.11\",\n sha256 = \"9d198ad3c319c02e43c21efa1ec796b837afcb96ffaef1a40c1978fbdcec7d17\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-sequel/0.3.11/download\"],\n strip_prefix = \"tree-sitter-sequel-0.3.11\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-sequel-0.3.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-solidity-1.2.13\",\n sha256 = \"4eacf8875b70879f0cb670c60b233ad0b68752d9e1474e6c3ef168eea8a90b25\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-solidity/1.2.13/download\"],\n strip_prefix = \"tree-sitter-solidity-1.2.13\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-solidity-1.2.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-starlark-1.3.0\",\n sha256 = \"8934f282d085cc4b9ee28aa688aa3fbe8aa3766201c2a6252f411d45b4c3a721\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-starlark/1.3.0/download\"],\n strip_prefix = \"tree-sitter-starlark-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-starlark-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-svelte-next-0.1.1\",\n sha256 = \"56f88190d0743e897c3e148a7e241aba0a8844b8afe816943851426e3f7b9753\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-svelte-next/0.1.1/download\"],\n strip_prefix = \"tree-sitter-svelte-next-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-svelte-next-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-swift-0.7.3\",\n sha256 = \"fe36052155b9dd69ca82b3b8f1b4ccfb2d867125ac1a4db1dd7331829242668c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-swift/0.7.3/download\"],\n strip_prefix = \"tree-sitter-swift-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-swift-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-tlaplus-1.5.0\",\n sha256 = \"ddaacc0337bfee38f233a91a704dc36b887a0c385348163f65344d64b73f79e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-tlaplus/1.5.0/download\"],\n strip_prefix = \"tree-sitter-tlaplus-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-tlaplus-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-toml-ng-0.7.0\",\n sha256 = \"e9adc2c898ae49730e857d75be403da3f92bb81d8e37a2f918a08dd10de5ebb1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-toml-ng/0.7.0/download\"],\n strip_prefix = \"tree-sitter-toml-ng-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-toml-ng-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-typescript-0.23.2\",\n sha256 = \"6c5f76ed8d947a75cc446d5fccd8b602ebf0cde64ccf2ffa434d873d7a575eff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-typescript/0.23.2/download\"],\n strip_prefix = \"tree-sitter-typescript-0.23.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-typescript-0.23.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-verilog-1.0.3\",\n sha256 = \"d4e7e0360395852f1f6ff5b7b82c72dc6557d181073188df1d60ec469ea69c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-verilog/1.0.3/download\"],\n strip_prefix = \"tree-sitter-verilog-1.0.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-verilog-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-vue-next-0.1.0\",\n sha256 = \"e9ac89acaa8165aaabfa8ae9683aa423b0d2bf42c815dae5ca031a36a75525f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-vue-next/0.1.0/download\"],\n strip_prefix = \"tree-sitter-vue-next-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-vue-next-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-xml-0.7.0\",\n sha256 = \"e670041f591d994f54d597ddcd8f4ebc930e282c4c76a42268743b71f0c8b6b3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-xml/0.7.0/download\"],\n strip_prefix = \"tree-sitter-xml-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-xml-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-yaml-0.7.2\",\n sha256 = \"53c223db85f05e34794f065454843b0668ebc15d240ada63e2b5939f43ce7c97\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-yaml/0.7.2/download\"],\n strip_prefix = \"tree-sitter-yaml-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-yaml-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-zig-1.1.2\",\n sha256 = \"ab11fc124851b0db4dd5e55983bbd9631192e93238389dcd44521715e5d53e28\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-zig/1.1.2/download\"],\n strip_prefix = \"tree-sitter-zig-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-zig-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree_magic_mini-3.2.2\",\n sha256 = \"b8765b90061cba6c22b5831f675da109ae5561588290f9fa2317adab2714d5a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree_magic_mini/3.2.2/download\"],\n strip_prefix = \"tree_magic_mini-3.2.2\",\n build_file = Label(\"@crates//crates:BUILD.tree_magic_mini-3.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__triomphe-0.1.16\",\n sha256 = \"b40688ea6389c8171614b25491f71d4a27946e0c7ce2da1c6de27e25abf1a0ae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/triomphe/0.1.16/download\"],\n strip_prefix = \"triomphe-0.1.16\",\n build_file = Label(\"@crates//crates:BUILD.triomphe-0.1.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ttf-parser-0.25.1\",\n sha256 = \"d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ttf-parser/0.25.1/download\"],\n strip_prefix = \"ttf-parser-0.25.1\",\n build_file = Label(\"@crates//crates:BUILD.ttf-parser-0.25.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__turn-0.17.2\",\n sha256 = \"d99249a493335eb44c4d7943a8751b22561a82c9903d8eb2d29780b3927880a7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/turn/0.17.2/download\"],\n strip_prefix = \"turn-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.turn-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__type-map-0.5.1\",\n sha256 = \"cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/type-map/0.5.1/download\"],\n strip_prefix = \"type-map-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.type-map-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__typed-arena-2.0.2\",\n sha256 = \"6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typed-arena/2.0.2/download\"],\n strip_prefix = \"typed-arena-2.0.2\",\n build_file = Label(\"@crates//crates:BUILD.typed-arena-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__typenum-1.20.1\",\n sha256 = \"b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typenum/1.20.1/download\"],\n strip_prefix = \"typenum-1.20.1\",\n build_file = Label(\"@crates//crates:BUILD.typenum-1.20.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ucd-trie-0.1.7\",\n sha256 = \"2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ucd-trie/0.1.7/download\"],\n strip_prefix = \"ucd-trie-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.ucd-trie-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uds_windows-1.2.1\",\n sha256 = \"f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uds_windows/1.2.1/download\"],\n strip_prefix = \"uds_windows-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.uds_windows-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uiautomation-0.25.0\",\n sha256 = \"c68495a701b9f2f21f29353ac446f0d27dd0d7ce97aa9ccf9061bca0446cd744\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uiautomation/0.25.0/download\"],\n strip_prefix = \"uiautomation-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.uiautomation-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uiautomation_derive-0.7.8\",\n sha256 = \"ffcc4d404aa1c03a848f95cf5feadc3e63946d7f095bf388770b85550093d388\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uiautomation_derive/0.7.8/download\"],\n strip_prefix = \"uiautomation_derive-0.7.8\",\n build_file = Label(\"@crates//crates:BUILD.uiautomation_derive-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unic-langid-0.9.6\",\n sha256 = \"a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unic-langid/0.9.6/download\"],\n strip_prefix = \"unic-langid-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.unic-langid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unic-langid-impl-0.9.6\",\n sha256 = \"dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unic-langid-impl/0.9.6/download\"],\n strip_prefix = \"unic-langid-impl-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.unic-langid-impl-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicase-2.9.0\",\n sha256 = \"dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicase/2.9.0/download\"],\n strip_prefix = \"unicase-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.unicase-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-bidi-0.3.18\",\n sha256 = \"5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-bidi/0.3.18/download\"],\n strip_prefix = \"unicode-bidi-0.3.18\",\n build_file = Label(\"@crates//crates:BUILD.unicode-bidi-0.3.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-ident-1.0.24\",\n sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n strip_prefix = \"unicode-ident-1.0.24\",\n build_file = Label(\"@crates//crates:BUILD.unicode-ident-1.0.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-normalization-0.1.25\",\n sha256 = \"5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-normalization/0.1.25/download\"],\n strip_prefix = \"unicode-normalization-0.1.25\",\n build_file = Label(\"@crates//crates:BUILD.unicode-normalization-0.1.25.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-properties-0.1.3\",\n sha256 = \"e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-properties/0.1.3/download\"],\n strip_prefix = \"unicode-properties-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.unicode-properties-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-segmentation-1.13.3\",\n sha256 = \"c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-segmentation/1.13.3/download\"],\n strip_prefix = \"unicode-segmentation-1.13.3\",\n build_file = Label(\"@crates//crates:BUILD.unicode-segmentation-1.13.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-width-0.1.14\",\n sha256 = \"7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.1.14/download\"],\n strip_prefix = \"unicode-width-0.1.14\",\n build_file = Label(\"@crates//crates:BUILD.unicode-width-0.1.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-width-0.2.2\",\n sha256 = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.2.2/download\"],\n strip_prefix = \"unicode-width-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.unicode-width-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unit-prefix-0.5.2\",\n sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n strip_prefix = \"unit-prefix-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.unit-prefix-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__universal-hash-0.5.1\",\n sha256 = \"fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/universal-hash/0.5.1/download\"],\n strip_prefix = \"universal-hash-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.universal-hash-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__untrusted-0.9.0\",\n sha256 = \"8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.9.0/download\"],\n strip_prefix = \"untrusted-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.untrusted-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__url-2.5.8\",\n sha256 = \"ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/url/2.5.8/download\"],\n strip_prefix = \"url-2.5.8\",\n build_file = Label(\"@crates//crates:BUILD.url-2.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__urlencoding-2.1.3\",\n sha256 = \"daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/urlencoding/2.1.3/download\"],\n strip_prefix = \"urlencoding-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.urlencoding-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf16_iter-1.0.5\",\n sha256 = \"c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf16_iter/1.0.5/download\"],\n strip_prefix = \"utf16_iter-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.utf16_iter-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8-chars-3.0.7\",\n sha256 = \"92498c67ea3511b37eccff13b573ed871faf0ce9c4056ab032bd01a681f445a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8-chars/3.0.7/download\"],\n strip_prefix = \"utf8-chars-3.0.7\",\n build_file = Label(\"@crates//crates:BUILD.utf8-chars-3.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8_iter-1.0.4\",\n sha256 = \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8_iter/1.0.4/download\"],\n strip_prefix = \"utf8_iter-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.utf8_iter-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8parse-0.2.2\",\n sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n strip_prefix = \"utf8parse-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.utf8parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uucore-0.8.0\",\n sha256 = \"07d779636d827cde4100f0e65ff3fd23b0b1f1195055475c6e6813d425f30c8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uucore/0.8.0/download\"],\n strip_prefix = \"uucore-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uucore-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uucore_procs-0.8.0\",\n sha256 = \"da865e8a648b260dbd89fca76d0801995877ab27a4e259b6dec30ba9743b86ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uucore_procs/0.8.0/download\"],\n strip_prefix = \"uucore_procs-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uucore_procs-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uuid-1.24.1\",\n sha256 = \"2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uuid/1.24.1/download\"],\n strip_prefix = \"uuid-1.24.1\",\n build_file = Label(\"@crates//crates:BUILD.uuid-1.24.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uutils_term_grid-0.8.0\",\n sha256 = \"382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uutils_term_grid/0.8.0/download\"],\n strip_prefix = \"uutils_term_grid-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uutils_term_grid-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uzers-0.12.2\",\n sha256 = \"0b8275fb1afee25b4111d2dc8b5c505dbbc4afd0b990cb96deb2d88bff8be18d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uzers/0.12.2/download\"],\n strip_prefix = \"uzers-0.12.2\",\n build_file = Label(\"@crates//crates:BUILD.uzers-0.12.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__version-compare-0.2.1\",\n sha256 = \"03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version-compare/0.2.1/download\"],\n strip_prefix = \"version-compare-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.version-compare-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__version_check-0.9.5\",\n sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n strip_prefix = \"version_check-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.version_check-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__vsimd-0.8.0\",\n sha256 = \"5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/vsimd/0.8.0/download\"],\n strip_prefix = \"vsimd-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.vsimd-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__waitgroup-0.1.2\",\n sha256 = \"d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/waitgroup/0.1.2/download\"],\n strip_prefix = \"waitgroup-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.waitgroup-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__walkdir-2.5.0\",\n sha256 = \"29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/walkdir/2.5.0/download\"],\n strip_prefix = \"walkdir-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.walkdir-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasi-0.11.1-wasi-snapshot-preview1\",\n sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n build_file = Label(\"@crates//crates:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasi-0.14.7-wasi-0.2.4\",\n sha256 = \"883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.14.7+wasi-0.2.4/download\"],\n strip_prefix = \"wasi-0.14.7+wasi-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.wasi-0.14.7+wasi-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasip2-1.0.4-wasi-0.2.12\",\n sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n build_file = Label(\"@crates//crates:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasite-1.0.2\",\n sha256 = \"66fe902b4a6b8028a753d5424909b764ccf79b7a209eac9bf97e59cda9f71a42\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasite/1.0.2/download\"],\n strip_prefix = \"wasite-1.0.2\",\n build_file = Label(\"@crates//crates:BUILD.wasite-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-0.2.127\",\n sha256 = \"1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-macro-0.2.127\",\n sha256 = \"77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-macro-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-macro-support-0.2.127\",\n sha256 = \"e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-macro-support-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-shared-0.2.127\",\n sha256 = \"7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-shared-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-backend-0.3.17\",\n sha256 = \"38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-backend/0.3.17/download\"],\n strip_prefix = \"wayland-backend-0.3.17\",\n build_file = Label(\"@crates//crates:BUILD.wayland-backend-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-client-0.31.15\",\n sha256 = \"e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-client/0.31.15/download\"],\n strip_prefix = \"wayland-client-0.31.15\",\n build_file = Label(\"@crates//crates:BUILD.wayland-client-0.31.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-protocols-0.32.13\",\n sha256 = \"23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-protocols/0.32.13/download\"],\n strip_prefix = \"wayland-protocols-0.32.13\",\n build_file = Label(\"@crates//crates:BUILD.wayland-protocols-0.32.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-protocols-wlr-0.3.12\",\n sha256 = \"eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-protocols-wlr/0.3.12/download\"],\n strip_prefix = \"wayland-protocols-wlr-0.3.12\",\n build_file = Label(\"@crates//crates:BUILD.wayland-protocols-wlr-0.3.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-scanner-0.31.11\",\n sha256 = \"338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-scanner/0.31.11/download\"],\n strip_prefix = \"wayland-scanner-0.31.11\",\n build_file = Label(\"@crates//crates:BUILD.wayland-scanner-0.31.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-server-0.31.14\",\n sha256 = \"0dde9c29be0f723a573977de51ee455bf3dfa03652730a74f9dd3b337e374d75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-server/0.31.14/download\"],\n strip_prefix = \"wayland-server-0.31.14\",\n build_file = Label(\"@crates//crates:BUILD.wayland-server-0.31.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-sys-0.31.11\",\n sha256 = \"d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-sys/0.31.11/download\"],\n strip_prefix = \"wayland-sys-0.31.11\",\n build_file = Label(\"@crates//crates:BUILD.wayland-sys-0.31.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web-sys-0.3.104\",\n sha256 = \"c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-sys/0.3.104/download\"],\n strip_prefix = \"web-sys-0.3.104\",\n build_file = Label(\"@crates//crates:BUILD.web-sys-0.3.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web-time-1.1.0\",\n sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n strip_prefix = \"web-time-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.web-time-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web_atoms-0.2.6\",\n sha256 = \"ba8b815c1b593dc0baf78dd0f4fc8fdb2de53198fb1163738093e9a311c33fb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web_atoms/0.2.6/download\"],\n strip_prefix = \"web_atoms-0.2.6\",\n build_file = Label(\"@crates//crates:BUILD.web_atoms-0.2.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-0.17.2\",\n sha256 = \"baaacdf9d96224d7b6e2872ba065578f38775f7634367e3ac2cc87c7271da433\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc/0.17.2/download\"],\n strip_prefix = \"webrtc-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-data-0.17.2\",\n sha256 = \"bd470286275809f2fcfcdb1e73ef5f1500be82eff7fe98150ce81b20aad5a2a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-data/0.17.2/download\"],\n strip_prefix = \"webrtc-data-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-data-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-ice-0.17.2\",\n sha256 = \"5b7fd30f52e6fda8664779b84b7904b2553b76fee24d9ca665e774ae32b13f53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-ice/0.17.2/download\"],\n strip_prefix = \"webrtc-ice-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-ice-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-mdns-0.17.2\",\n sha256 = \"91ffa0ea00c0fae979aafa5db285fec5eeb360e1ea246ebec529ba4e09f8e03e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-mdns/0.17.2/download\"],\n strip_prefix = \"webrtc-mdns-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-mdns-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-media-0.17.2\",\n sha256 = \"26a6c7335bdd03dc023cb9a3bd7966866d969c92c86987b73aa16dfa39c7ca29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-media/0.17.2/download\"],\n strip_prefix = \"webrtc-media-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-media-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-sctp-0.17.2\",\n sha256 = \"1c4b637f0d8eb96d900ac0f79b3060ddd21ca88dfefa467e96e67ab0016f2574\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-sctp/0.17.2/download\"],\n strip_prefix = \"webrtc-sctp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-sctp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-srtp-0.17.2\",\n sha256 = \"45d2b667a0b5d04eebcb7cb22fd51b2af3721f418097b496e72de16386c8d0c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-srtp/0.17.2/download\"],\n strip_prefix = \"webrtc-srtp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-srtp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-util-0.17.2\",\n sha256 = \"1beae0b4f24969741c26ca282a257dc5823bd9cbe608f7e3ca3775102d323ad9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-util/0.17.2/download\"],\n strip_prefix = \"webrtc-util-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-util-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__weezl-0.1.12\",\n sha256 = \"a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/weezl/0.1.12/download\"],\n strip_prefix = \"weezl-0.1.12\",\n build_file = Label(\"@crates//crates:BUILD.weezl-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__whoami-2.1.3\",\n sha256 = \"626c4bac6755d76ffc12cb01b2eac751db1996b9e0041de9aa02c8c211ddc82c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/whoami/2.1.3/download\"],\n strip_prefix = \"whoami-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.whoami-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wide-1.6.1\",\n sha256 = \"de2aaf408e58689c2096682331b1f42bb2d9f2ed6b11560407d023cd0a6c634e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wide/1.6.1/download\"],\n strip_prefix = \"wide-1.6.1\",\n build_file = Label(\"@crates//crates:BUILD.wide-1.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__widestring-1.2.1\",\n sha256 = \"72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/widestring/1.2.1/download\"],\n strip_prefix = \"widestring-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.widestring-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wild-2.2.1\",\n sha256 = \"a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wild/2.2.1/download\"],\n strip_prefix = \"wild-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.wild-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crates//crates:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-util-0.1.11\",\n sha256 = \"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-util/0.1.11/download\"],\n strip_prefix = \"winapi-util-0.1.11\",\n build_file = Label(\"@crates//crates:BUILD.winapi-util-0.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.51.1\",\n sha256 = \"ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.51.1/download\"],\n strip_prefix = \"windows-0.51.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.61.3\",\n sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n strip_prefix = \"windows-0.61.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.61.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.62.2\",\n sha256 = \"527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.62.2/download\"],\n strip_prefix = \"windows-0.62.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.62.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-collections-0.2.0\",\n sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n strip_prefix = \"windows-collections-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-collections-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-collections-0.3.2\",\n sha256 = \"23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.3.2/download\"],\n strip_prefix = \"windows-collections-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-collections-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.51.1\",\n sha256 = \"f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.51.1/download\"],\n strip_prefix = \"windows-core-0.51.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.61.2\",\n sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n strip_prefix = \"windows-core-0.61.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.62.2\",\n sha256 = \"b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.62.2/download\"],\n strip_prefix = \"windows-core-0.62.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.62.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-future-0.2.1\",\n sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n strip_prefix = \"windows-future-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-future-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-future-0.3.2\",\n sha256 = \"e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.3.2/download\"],\n strip_prefix = \"windows-future-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-future-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-implement-0.60.2\",\n sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n strip_prefix = \"windows-implement-0.60.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-implement-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-interface-0.59.3\",\n sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n strip_prefix = \"windows-interface-0.59.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-interface-0.59.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-link-0.1.3\",\n sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n strip_prefix = \"windows-link-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-link-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-link-0.2.1\",\n sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n strip_prefix = \"windows-link-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-link-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-numerics-0.2.0\",\n sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n strip_prefix = \"windows-numerics-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-numerics-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-numerics-0.3.1\",\n sha256 = \"6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.3.1/download\"],\n strip_prefix = \"windows-numerics-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-numerics-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-result-0.3.4\",\n sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n strip_prefix = \"windows-result-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.windows-result-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-result-0.4.1\",\n sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n strip_prefix = \"windows-result-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-result-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-strings-0.4.2\",\n sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n strip_prefix = \"windows-strings-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-strings-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-strings-0.5.1\",\n sha256 = \"7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.5.1/download\"],\n strip_prefix = \"windows-strings-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-strings-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.52.0\",\n sha256 = \"282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.52.0/download\"],\n strip_prefix = \"windows-sys-0.52.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.52.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.60.2\",\n sha256 = \"f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.60.2/download\"],\n strip_prefix = \"windows-sys-0.60.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.61.2\",\n sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n strip_prefix = \"windows-sys-0.61.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.53.5\",\n sha256 = \"4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.53.5/download\"],\n strip_prefix = \"windows-targets-0.53.5\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.53.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-threading-0.1.0\",\n sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n strip_prefix = \"windows-threading-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-threading-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-threading-0.2.1\",\n sha256 = \"3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.2.1/download\"],\n strip_prefix = \"windows-threading-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-threading-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.53.1\",\n sha256 = \"a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.53.1\",\n sha256 = \"b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.53.1/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.53.1\",\n sha256 = \"960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.53.1/download\"],\n strip_prefix = \"windows_i686_gnu-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnullvm-0.53.1\",\n sha256 = \"fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.53.1\",\n sha256 = \"1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.53.1/download\"],\n strip_prefix = \"windows_i686_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.53.1\",\n sha256 = \"9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.53.1\",\n sha256 = \"0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.53.1\",\n sha256 = \"d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winnow-0.7.15\",\n sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n strip_prefix = \"winnow-0.7.15\",\n build_file = Label(\"@crates//crates:BUILD.winnow-0.7.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winnow-1.0.4\",\n sha256 = \"23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/1.0.4/download\"],\n strip_prefix = \"winnow-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.winnow-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winreg-0.10.1\",\n sha256 = \"80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winreg/0.10.1/download\"],\n strip_prefix = \"winreg-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.winreg-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winreg-0.56.0\",\n sha256 = \"7d6f32a0ff4a9f6f01231eb2059cc85479330739333e0e58cadf03b6af2cca10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winreg/0.56.0/download\"],\n strip_prefix = \"winreg-0.56.0\",\n build_file = Label(\"@crates//crates:BUILD.winreg-0.56.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wit-bindgen-0.57.1\",\n sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n strip_prefix = \"wit-bindgen-0.57.1\",\n build_file = Label(\"@crates//crates:BUILD.wit-bindgen-0.57.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wl-clipboard-rs-0.9.3\",\n sha256 = \"e9651471a32e87d96ef3a127715382b2d11cc7c8bb9822ded8a7cc94072eb0a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wl-clipboard-rs/0.9.3/download\"],\n strip_prefix = \"wl-clipboard-rs-0.9.3\",\n build_file = Label(\"@crates//crates:BUILD.wl-clipboard-rs-0.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__write16-1.0.0\",\n sha256 = \"d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/write16/1.0.0/download\"],\n strip_prefix = \"write16-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.write16-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__writeable-0.6.4\",\n sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n strip_prefix = \"writeable-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.writeable-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wyz-0.5.1\",\n sha256 = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wyz/0.5.1/download\"],\n strip_prefix = \"wyz-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.wyz-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x11rb-0.13.2\",\n sha256 = \"9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x11rb/0.13.2/download\"],\n strip_prefix = \"x11rb-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.x11rb-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x11rb-protocol-0.13.2\",\n sha256 = \"ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x11rb-protocol/0.13.2/download\"],\n strip_prefix = \"x11rb-protocol-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.x11rb-protocol-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x25519-dalek-2.0.1\",\n sha256 = \"c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x25519-dalek/2.0.1/download\"],\n strip_prefix = \"x25519-dalek-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.x25519-dalek-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x509-parser-0.16.0\",\n sha256 = \"fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x509-parser/0.16.0/download\"],\n strip_prefix = \"x509-parser-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.x509-parser-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xattr-1.6.1\",\n sha256 = \"32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xattr/1.6.1/download\"],\n strip_prefix = \"xattr-1.6.1\",\n build_file = Label(\"@crates//crates:BUILD.xattr-1.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xcap-0.9.6\",\n sha256 = \"b6ad471d5ba232bc276382d26a9d3b837d6853b7df389058b5bb1e94dcdd248c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xcap/0.9.6/download\"],\n strip_prefix = \"xcap-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.xcap-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xcb-1.7.1\",\n sha256 = \"a6c2ad15e0e922856ee89afe862b8992334bbe7953adad56cd1199358cb30566\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xcb/1.7.1/download\"],\n strip_prefix = \"xcb-1.7.1\",\n build_file = Label(\"@crates//crates:BUILD.xcb-1.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xkbcommon-0.9.0\",\n sha256 = \"a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xkbcommon/0.9.0/download\"],\n strip_prefix = \"xkbcommon-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.xkbcommon-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xkeysym-0.2.1\",\n sha256 = \"b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xkeysym/0.2.1/download\"],\n strip_prefix = \"xkeysym-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.xkeysym-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xml-rs-0.8.29\",\n sha256 = \"e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xml-rs/0.8.29/download\"],\n strip_prefix = \"xml-rs-0.8.29\",\n build_file = Label(\"@crates//crates:BUILD.xml-rs-0.8.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xutf-1.3.0\",\n sha256 = \"ebf5e6279962ddca7b9f8941d283083400625c5deaa6f92e660761a312a46c2e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xutf/1.3.0/download\"],\n strip_prefix = \"xutf-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.xutf-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xxhash-rust-0.8.18\",\n sha256 = \"aee1b19627c7c60102ab80d3a9cbe18de90bfe03bfa6c3715447681f0e8c8af6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xxhash-rust/0.8.18/download\"],\n strip_prefix = \"xxhash-rust-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.xxhash-rust-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yaml-rust-0.4.5\",\n sha256 = \"56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yaml-rust/0.4.5/download\"],\n strip_prefix = \"yaml-rust-0.4.5\",\n build_file = Label(\"@crates//crates:BUILD.yaml-rust-0.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yansi-1.0.1\",\n sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n strip_prefix = \"yansi-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.yansi-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yasna-0.5.2\",\n sha256 = \"e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yasna/0.5.2/download\"],\n strip_prefix = \"yasna-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.yasna-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yoke-0.8.3\",\n sha256 = \"709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yoke/0.8.3/download\"],\n strip_prefix = \"yoke-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.yoke-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yoke-derive-0.8.2\",\n sha256 = \"de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yoke-derive/0.8.2/download\"],\n strip_prefix = \"yoke-derive-0.8.2\",\n build_file = Label(\"@crates//crates:BUILD.yoke-derive-0.8.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__z85-3.0.7\",\n sha256 = \"c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/z85/3.0.7/download\"],\n strip_prefix = \"z85-3.0.7\",\n build_file = Label(\"@crates//crates:BUILD.z85-3.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-5.19.0\",\n sha256 = \"5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus/5.19.0/download\"],\n strip_prefix = \"zbus-5.19.0\",\n build_file = Label(\"@crates//crates:BUILD.zbus-5.19.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-lockstep-0.5.2\",\n sha256 = \"6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus-lockstep/0.5.2/download\"],\n strip_prefix = \"zbus-lockstep-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.zbus-lockstep-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-lockstep-macros-0.5.2\",\n sha256 = \"10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus-lockstep-macros/0.5.2/download\"],\n strip_prefix = \"zbus-lockstep-macros-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.zbus-lockstep-macros-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_macros-5.19.0\",\n sha256 = \"2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_macros/5.19.0/download\"],\n strip_prefix = \"zbus_macros-5.19.0\",\n build_file = Label(\"@crates//crates:BUILD.zbus_macros-5.19.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_names-4.3.4\",\n sha256 = \"d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_names/4.3.4/download\"],\n strip_prefix = \"zbus_names-4.3.4\",\n build_file = Label(\"@crates//crates:BUILD.zbus_names-4.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_xml-5.2.1\",\n sha256 = \"d1586c021a01ca0a9216dcd874e546382e156a5cbab5fab6cb5f10087e22682a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_xml/5.2.1/download\"],\n strip_prefix = \"zbus_xml-5.2.1\",\n build_file = Label(\"@crates//crates:BUILD.zbus_xml-5.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zcheapstr-1.1.0\",\n sha256 = \"d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zcheapstr/1.1.0/download\"],\n strip_prefix = \"zcheapstr-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.zcheapstr-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerocopy-0.8.56\",\n sha256 = \"556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.56/download\"],\n strip_prefix = \"zerocopy-0.8.56\",\n build_file = Label(\"@crates//crates:BUILD.zerocopy-0.8.56.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerocopy-derive-0.8.56\",\n sha256 = \"f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.56/download\"],\n strip_prefix = \"zerocopy-derive-0.8.56\",\n build_file = Label(\"@crates//crates:BUILD.zerocopy-derive-0.8.56.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerofrom-0.1.8\",\n sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n strip_prefix = \"zerofrom-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.zerofrom-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerofrom-derive-0.1.7\",\n sha256 = \"11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.7/download\"],\n strip_prefix = \"zerofrom-derive-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.zerofrom-derive-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zeroize-1.9.0\",\n sha256 = \"e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize/1.9.0/download\"],\n strip_prefix = \"zeroize-1.9.0\",\n build_file = Label(\"@crates//crates:BUILD.zeroize-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zeroize_derive-1.5.0\",\n sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n strip_prefix = \"zeroize_derive-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.zeroize_derive-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerotrie-0.2.5\",\n sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n strip_prefix = \"zerotrie-0.2.5\",\n build_file = Label(\"@crates//crates:BUILD.zerotrie-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerovec-0.11.7\",\n sha256 = \"94b5c6b5976d66c1d703c4fd17d3f5e43c8cedaacf604961b171adc7130896d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerovec/0.11.7/download\"],\n strip_prefix = \"zerovec-0.11.7\",\n build_file = Label(\"@crates//crates:BUILD.zerovec-0.11.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerovec-derive-0.11.5\",\n sha256 = \"9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.5/download\"],\n strip_prefix = \"zerovec-derive-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.zerovec-derive-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zmij-1.0.23\",\n sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n strip_prefix = \"zmij-1.0.23\",\n build_file = Label(\"@crates//crates:BUILD.zmij-1.0.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-0.13.3\",\n sha256 = \"e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd/0.13.3/download\"],\n strip_prefix = \"zstd-0.13.3\",\n build_file = Label(\"@crates//crates:BUILD.zstd-0.13.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-safe-7.2.4\",\n sha256 = \"8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd-safe/7.2.4/download\"],\n strip_prefix = \"zstd-safe-7.2.4\",\n build_file = Label(\"@crates//crates:BUILD.zstd-safe-7.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-sys-2.0.16-zstd.1.5.7\",\n sha256 = \"91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd-sys/2.0.16+zstd.1.5.7/download\"],\n strip_prefix = \"zstd-sys-2.0.16+zstd.1.5.7\",\n build_file = Label(\"@crates//crates:BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zune-core-0.5.3\",\n sha256 = \"d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zune-core/0.5.3/download\"],\n strip_prefix = \"zune-core-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.zune-core-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zune-jpeg-0.5.15\",\n sha256 = \"27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zune-jpeg/0.5.15/download\"],\n strip_prefix = \"zune-jpeg-0.5.15\",\n build_file = Label(\"@crates//crates:BUILD.zune-jpeg-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant-5.15.0\",\n sha256 = \"c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant/5.15.0/download\"],\n strip_prefix = \"zvariant-5.15.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant-5.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant_derive-5.15.0\",\n sha256 = \"864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant_derive/5.15.0/download\"],\n strip_prefix = \"zvariant_derive-5.15.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant_derive-5.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant_utils-4.2.0\",\n sha256 = \"bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant_utils/4.2.0/download\"],\n strip_prefix = \"zvariant_utils-4.2.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant_utils-4.2.0.bazel\"),\n )\n\n return [\n struct(repo = \"crates\", is_dev_dep = False),\n struct(repo=\"crates__ansi-width-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__anyhow-1.0.104\", is_dev_dep = False),\n struct(repo=\"crates__arboard-3.6.1\", is_dev_dep = False),\n struct(repo=\"crates__argmax-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__ashpd-0.11.1\", is_dev_dep = False),\n struct(repo=\"crates__ast-grep-core-0.39.9\", is_dev_dep = False),\n struct(repo=\"crates__async-recursion-1.1.1\", is_dev_dep = False),\n struct(repo=\"crates__async-trait-0.1.92\", is_dev_dep = False),\n struct(repo=\"crates__atspi-0.30.0\", is_dev_dep = False),\n struct(repo=\"crates__audiopus_sys-0.2.2\", is_dev_dep = False),\n struct(repo=\"crates__base64-0.22.1\", is_dev_dep = False),\n struct(repo=\"crates__bigdecimal-0.4.10\", is_dev_dep = False),\n struct(repo=\"crates__binary-heap-plus-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__bon-3.9.3\", is_dev_dep = False),\n struct(repo=\"crates__brush-parser-0.3.0\", is_dev_dep = False),\n struct(repo=\"crates__brush-parser-0.4.0\", is_dev_dep = False),\n struct(repo=\"crates__bstr-1.13.1\", is_dev_dep = False),\n struct(repo=\"crates__bytecount-0.6.9\", is_dev_dep = False),\n struct(repo=\"crates__bytes-1.12.1\", is_dev_dep = False),\n struct(repo=\"crates__cached-0.59.0\", is_dev_dep = False),\n struct(repo=\"crates__cfg-if-1.0.4\", is_dev_dep = False),\n struct(repo=\"crates__check_elevation-0.2.7\", is_dev_dep = False),\n struct(repo=\"crates__chrono-0.4.45\", is_dev_dep = False),\n struct(repo=\"crates__clap-4.6.6\", is_dev_dep = False),\n struct(repo=\"crates__clipboard-win-5.4.1\", is_dev_dep = False),\n struct(repo=\"crates__codesnake-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__color-print-0.3.7\", is_dev_dep = False),\n struct(repo=\"crates__command-fds-0.3.3\", is_dev_dep = False),\n struct(repo=\"crates__compare-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__core-graphics-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__dashmap-6.2.1\", is_dev_dep = False),\n struct(repo=\"crates__dns-lookup-3.0.1\", is_dev_dep = False),\n struct(repo=\"crates__enigo-0.6.1\", is_dev_dep = False),\n struct(repo=\"crates__faccess-0.2.4\", is_dev_dep = False),\n struct(repo=\"crates__fancy-regex-0.17.0\", is_dev_dep = False),\n struct(repo=\"crates__filetime-0.2.29\", is_dev_dep = False),\n struct(repo=\"crates__flume-0.11.1\", is_dev_dep = False),\n struct(repo=\"crates__foldhash-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__fontdue-0.9.4\", is_dev_dep = False),\n struct(repo=\"crates__foreign-types-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__fs_extra-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__futures-0.3.34\", is_dev_dep = False),\n struct(repo=\"crates__getrandom-0.4.3\", is_dev_dep = False),\n struct(repo=\"crates__glob-0.3.4\", is_dev_dep = False),\n struct(repo=\"crates__globset-0.4.20\", is_dev_dep = False),\n struct(repo=\"crates__grep-cli-0.1.12\", is_dev_dep = False),\n struct(repo=\"crates__grep-matcher-0.1.9\", is_dev_dep = False),\n struct(repo=\"crates__grep-pcre2-0.1.10\", is_dev_dep = False),\n struct(repo=\"crates__grep-printer-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__grep-regex-0.1.14\", is_dev_dep = False),\n struct(repo=\"crates__grep-searcher-0.1.17\", is_dev_dep = False),\n struct(repo=\"crates__hex-0.4.3\", is_dev_dep = False),\n struct(repo=\"crates__hifijson-0.2.3\", is_dev_dep = False),\n struct(repo=\"crates__hostname-0.4.2\", is_dev_dep = False),\n struct(repo=\"crates__html-to-markdown-rs-3.11.0\", is_dev_dep = False),\n struct(repo=\"crates__icy_sixel-0.5.1\", is_dev_dep = False),\n struct(repo=\"crates__ignore-0.4.33\", is_dev_dep = False),\n struct(repo=\"crates__image-0.25.10\", is_dev_dep = False),\n struct(repo=\"crates__indicatif-0.18.6\", is_dev_dep = False),\n struct(repo=\"crates__inferno-0.12.8\", is_dev_dep = False),\n struct(repo=\"crates__inherent-1.0.14\", is_dev_dep = False),\n struct(repo=\"crates__itertools-0.14.0\", is_dev_dep = False),\n struct(repo=\"crates__jaq-core-2.2.1\", is_dev_dep = False),\n struct(repo=\"crates__jaq-json-1.1.3\", is_dev_dep = False),\n struct(repo=\"crates__jaq-std-2.1.2\", is_dev_dep = False),\n struct(repo=\"crates__jiff-0.2.35\", is_dev_dep = False),\n struct(repo=\"crates__libc-0.2.189\", is_dev_dep = False),\n struct(repo=\"crates__lscolors-0.21.0\", is_dev_dep = False),\n struct(repo=\"crates__memchr-2.8.3\", is_dev_dep = False),\n struct(repo=\"crates__memmap2-0.9.11\", is_dev_dep = False),\n struct(repo=\"crates__napi-3.12.1\", is_dev_dep = False),\n struct(repo=\"crates__napi-build-2.4.1\", is_dev_dep = False),\n struct(repo=\"crates__napi-derive-3.6.3\", is_dev_dep = False),\n struct(repo=\"crates__nix-0.31.3\", is_dev_dep = False),\n struct(repo=\"crates__nom-8.0.0\", is_dev_dep = False),\n struct(repo=\"crates__normalize-path-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__notify-8.2.0\", is_dev_dep = False),\n struct(repo=\"crates__num-bigint-0.4.8\", is_dev_dep = False),\n struct(repo=\"crates__num-traits-0.2.19\", is_dev_dep = False),\n struct(repo=\"crates__objc2-app-kit-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-application-services-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-core-foundation-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-core-graphics-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-foundation-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__onig-6.5.3\", is_dev_dep = False),\n struct(repo=\"crates__opus-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__os_display-0.1.4\", is_dev_dep = False),\n struct(repo=\"crates__os_pipe-1.2.3\", is_dev_dep = False),\n struct(repo=\"crates__parking_lot-0.12.5\", is_dev_dep = False),\n struct(repo=\"crates__parse_datetime-0.14.0\", is_dev_dep = False),\n struct(repo=\"crates__pdf-inspector-1.15.0\", is_dev_dep = False),\n struct(repo=\"crates__phf-0.13.1\", is_dev_dep = False),\n struct(repo=\"crates__platform-info-2.1.0\", is_dev_dep = False),\n struct(repo=\"crates__png-0.18.1\", is_dev_dep = False),\n struct(repo=\"crates__portable-pty-0.9.0\", is_dev_dep = False),\n struct(repo=\"crates__procfs-0.18.0\", is_dev_dep = False),\n struct(repo=\"crates__rand-0.10.2\", is_dev_dep = False),\n struct(repo=\"crates__rayon-1.12.0\", is_dev_dep = False),\n struct(repo=\"crates__regex-1.13.1\", is_dev_dep = False),\n struct(repo=\"crates__reis-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__rlimit-0.11.0\", is_dev_dep = False),\n struct(repo=\"crates__rpds-1.2.1\", is_dev_dep = False),\n struct(repo=\"crates__rustc-hash-2.1.3\", is_dev_dep = False),\n struct(repo=\"crates__rustix-1.1.4\", is_dev_dep = False),\n struct(repo=\"crates__self_cell-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__serde-1.0.229\", is_dev_dep = False),\n struct(repo=\"crates__serde_json-1.0.151\", is_dev_dep = False),\n struct(repo=\"crates__similar-3.2.0\", is_dev_dep = False),\n struct(repo=\"crates__smallvec-1.15.2\", is_dev_dep = False),\n struct(repo=\"crates__strum-0.28.0\", is_dev_dep = False),\n struct(repo=\"crates__strum_macros-0.28.0\", is_dev_dep = False),\n struct(repo=\"crates__syntect-5.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tempfile-3.27.0\", is_dev_dep = False),\n struct(repo=\"crates__terminfo-0.9.0\", is_dev_dep = False),\n struct(repo=\"crates__thiserror-2.0.20\", is_dev_dep = False),\n struct(repo=\"crates__tokio-1.53.1\", is_dev_dep = False),\n struct(repo=\"crates__tokio-util-0.7.19\", is_dev_dep = False),\n struct(repo=\"crates__toml-1.1.4-spec-1.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tracing-0.1.44\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-0.25.10\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-astro-next-0.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-bash-0.25.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-c-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-c-sharp-0.23.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-clojure-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-cmake-0.7.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-cpp-0.23.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-css-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-dart-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-diff-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-dockerfile-updated-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-elisp-1.7.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-elixir-0.3.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-erlang-0.16.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-fortran-0.6.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-go-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-graphql-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-haskell-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-hcl-1.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-html-0.23.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ini-1.4.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-java-0.23.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-javascript-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-json-0.24.8\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-julia-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-just-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-kotlin-sg-0.4.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-lua-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-make-1.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-md-0.5.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-nix-0.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-objc-3.0.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ocaml-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-odin-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-php-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-powershell-0.26.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-proto-0.4.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-python-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-r-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-regex-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ruby-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-rust-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-scala-0.26.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-sequel-0.3.11\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-solidity-1.2.13\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-starlark-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-svelte-next-0.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-swift-0.7.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-tlaplus-1.5.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-toml-ng-0.7.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-typescript-0.23.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-verilog-1.0.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-vue-next-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-xml-0.7.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-yaml-0.7.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-zig-1.1.2\", is_dev_dep = False),\n struct(repo=\"crates__uiautomation-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__uucore-0.8.0\", is_dev_dep = False),\n struct(repo=\"crates__uuid-1.24.1\", is_dev_dep = False),\n struct(repo=\"crates__uutils_term_grid-0.8.0\", is_dev_dep = False),\n struct(repo=\"crates__uzers-0.12.2\", is_dev_dep = False),\n struct(repo=\"crates__webrtc-0.17.2\", is_dev_dep = False),\n struct(repo=\"crates__whoami-2.1.3\", is_dev_dep = False),\n struct(repo=\"crates__windows-sys-0.59.0\", is_dev_dep = False),\n struct(repo=\"crates__windows-sys-0.61.2\", is_dev_dep = False),\n struct(repo=\"crates__winreg-0.56.0\", is_dev_dep = False),\n struct(repo=\"crates__x11rb-0.13.2\", is_dev_dep = False),\n struct(repo=\"crates__xcap-0.9.6\", is_dev_dep = False),\n struct(repo=\"crates__xkeysym-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__xutf-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__xxhash-rust-0.8.18\", is_dev_dep = False),\n struct(repo=\"crates__yansi-1.0.1\", is_dev_dep = False),\n struct(repo=\"crates__zstd-0.13.3\", is_dev_dep = False),\n struct(repo=\"crates__zune-jpeg-0.5.15\", is_dev_dep = False),\n struct(repo = \"crates__fancy-regex-0.16.2\", is_dev_dep = True),\n struct(repo = \"crates__pretty_assertions-1.4.1\", is_dev_dep = True),\n struct(repo = \"crates__tiktoken-rs-0.11.0\", is_dev_dep = True),\n ]\n", + "crates.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_edition](#crate_edition)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe:defs.bzl\", \"crates_vendor_remote_repository\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef crate_edition(package_name = None):\n \"\"\"Finds the Rust edition for the package where this macro is called.\n\n Args:\n package_name (str, optional): The package name whose edition should be\n looked up. Defaults to `native.package_name()` when unset.\n\n Returns:\n str: The Rust edition declared by the package's Cargo.toml file.\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n if package_name not in _CRATE_EDITIONS:\n fail(\"Tried to get crate_edition for package \" + package_name + \" but that package had no Cargo.toml file\")\n\n return _CRATE_EDITIONS[package_name]\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list.\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS, ALIASES, AND EDITIONS\n###############################################################################\n\n_CRATE_EDITIONS = {\n \"crates/vendor/brush-core\": \"2024\",\n \"crates/pi-ast\": \"2024\",\n \"crates/pi-builtins\": \"2024\",\n \"crates/pi-iso\": \"2024\",\n \"crates/pi-natives\": \"2024\",\n \"crates/pi-shell\": \"2024\",\n \"crates/pi-voice\": \"2024\",\n \"crates/pi-walker\": \"2024\",\n}\n\n_NORMAL_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"bon\": Label(\"//bon-3.9.3\"),\n \"brush-parser\": Label(\"//brush-parser-0.4.0\"),\n \"cached\": Label(\"//cached-0.59.0\"),\n \"cfg-if\": Label(\"//cfg-if-1.0.4\"),\n \"chrono\": Label(\"//chrono-0.4.45\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"color-print\": Label(\"//color-print-0.3.7\"),\n \"fancy-regex\": Label(\"//fancy-regex-0.17.0\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"itertools\": Label(\"//itertools-0.14.0\"),\n \"normalize-path\": Label(\"//normalize-path-0.2.1\"),\n \"rand\": Label(\"//rand-0.10.2\"),\n \"rpds\": Label(\"//rpds-1.2.1\"),\n \"strum\": Label(\"//strum-0.28.0\"),\n \"thiserror\": Label(\"//thiserror-2.0.20\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"tracing\": Label(\"//tracing-0.1.44\"),\n },\n \"cfg(any(unix, windows))\": {\n \"hostname\": Label(\"//hostname-0.4.2\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(unix)\": {\n \"command-fds\": Label(\"//command-fds-0.3.3\"),\n \"libc\": Label(\"//libc-0.2.189\"),\n \"nix\": Label(\"//nix-0.31.3\"),\n \"terminfo\": Label(\"//terminfo-0.9.0\"),\n \"uzers\": Label(\"//uzers-0.12.2\"),\n },\n \"cfg(windows)\": {\n \"check_elevation\": Label(\"//check_elevation-0.2.7\"),\n \"whoami\": Label(\"//whoami-2.1.3\"),\n \"windows-sys\": Label(\"//windows-sys-0.59.0\"),\n },\n \"wasm32-unknown-unknown\": {\n \"getrandom\": Label(\"//getrandom-0.4.3\"),\n \"uuid\": Label(\"//uuid-1.24.1\"),\n },\n },\n \"crates/pi-ast\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"ast-grep-core\": Label(\"//ast-grep-core-0.39.9\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"phf\": Label(\"//phf-0.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"tree-sitter\": Label(\"//tree-sitter-0.25.10\"),\n \"tree_sitter_astro\": Label(\"//tree-sitter-astro-next-0.1.1\"),\n \"tree-sitter-bash\": Label(\"//tree-sitter-bash-0.25.1\"),\n \"tree-sitter-c\": Label(\"//tree-sitter-c-0.24.2\"),\n \"tree-sitter-c-sharp\": Label(\"//tree-sitter-c-sharp-0.23.5\"),\n \"tree-sitter-clojure\": Label(\"//tree-sitter-clojure-0.1.0\"),\n \"tree-sitter-cmake\": Label(\"//tree-sitter-cmake-0.7.4\"),\n \"tree-sitter-cpp\": Label(\"//tree-sitter-cpp-0.23.4\"),\n \"tree-sitter-css\": Label(\"//tree-sitter-css-0.25.0\"),\n \"tree-sitter-dart\": Label(\"//tree-sitter-dart-0.2.0\"),\n \"tree-sitter-diff\": Label(\"//tree-sitter-diff-0.1.0\"),\n \"tree_sitter_dockerfile\": Label(\"//tree-sitter-dockerfile-updated-0.2.0\"),\n \"tree-sitter-elisp\": Label(\"//tree-sitter-elisp-1.7.2\"),\n \"tree-sitter-elixir\": Label(\"//tree-sitter-elixir-0.3.5\"),\n \"tree-sitter-erlang\": Label(\"//tree-sitter-erlang-0.16.0\"),\n \"tree-sitter-fortran\": Label(\"//tree-sitter-fortran-0.6.0\"),\n \"tree-sitter-go\": Label(\"//tree-sitter-go-0.25.0\"),\n \"tree-sitter-graphql\": Label(\"//tree-sitter-graphql-0.1.0\"),\n \"tree-sitter-haskell\": Label(\"//tree-sitter-haskell-0.23.1\"),\n \"tree-sitter-hcl\": Label(\"//tree-sitter-hcl-1.1.0\"),\n \"tree-sitter-html\": Label(\"//tree-sitter-html-0.23.2\"),\n \"tree-sitter-ini\": Label(\"//tree-sitter-ini-1.4.0\"),\n \"tree-sitter-java\": Label(\"//tree-sitter-java-0.23.5\"),\n \"tree-sitter-javascript\": Label(\"//tree-sitter-javascript-0.25.0\"),\n \"tree-sitter-json\": Label(\"//tree-sitter-json-0.24.8\"),\n \"tree-sitter-julia\": Label(\"//tree-sitter-julia-0.23.1\"),\n \"tree-sitter-just\": Label(\"//tree-sitter-just-0.2.0\"),\n \"tree_sitter_kotlin\": Label(\"//tree-sitter-kotlin-sg-0.4.1\"),\n \"tree-sitter-lua\": Label(\"//tree-sitter-lua-0.5.0\"),\n \"tree-sitter-make\": Label(\"//tree-sitter-make-1.1.1\"),\n \"tree-sitter-md\": Label(\"//tree-sitter-md-0.5.3\"),\n \"tree-sitter-nix\": Label(\"//tree-sitter-nix-0.3.0\"),\n \"tree-sitter-objc\": Label(\"//tree-sitter-objc-3.0.2\"),\n \"tree-sitter-ocaml\": Label(\"//tree-sitter-ocaml-0.24.2\"),\n \"tree-sitter-odin\": Label(\"//tree-sitter-odin-1.3.0\"),\n \"tree-sitter-php\": Label(\"//tree-sitter-php-0.24.2\"),\n \"tree-sitter-powershell\": Label(\"//tree-sitter-powershell-0.26.4\"),\n \"tree-sitter-proto\": Label(\"//tree-sitter-proto-0.4.0\"),\n \"tree-sitter-python\": Label(\"//tree-sitter-python-0.25.0\"),\n \"tree-sitter-r\": Label(\"//tree-sitter-r-1.3.0\"),\n \"tree-sitter-regex\": Label(\"//tree-sitter-regex-0.25.0\"),\n \"tree-sitter-ruby\": Label(\"//tree-sitter-ruby-0.23.1\"),\n \"tree-sitter-rust\": Label(\"//tree-sitter-rust-0.24.2\"),\n \"tree-sitter-scala\": Label(\"//tree-sitter-scala-0.26.2\"),\n \"tree_sitter_sql\": Label(\"//tree-sitter-sequel-0.3.11\"),\n \"tree-sitter-solidity\": Label(\"//tree-sitter-solidity-1.2.13\"),\n \"tree-sitter-starlark\": Label(\"//tree-sitter-starlark-1.3.0\"),\n \"tree_sitter_svelte\": Label(\"//tree-sitter-svelte-next-0.1.1\"),\n \"tree-sitter-swift\": Label(\"//tree-sitter-swift-0.7.3\"),\n \"tree-sitter-tlaplus\": Label(\"//tree-sitter-tlaplus-1.5.0\"),\n \"tree-sitter-toml-ng\": Label(\"//tree-sitter-toml-ng-0.7.0\"),\n \"tree-sitter-typescript\": Label(\"//tree-sitter-typescript-0.23.2\"),\n \"tree-sitter-verilog\": Label(\"//tree-sitter-verilog-1.0.3\"),\n \"tree_sitter_vue\": Label(\"//tree-sitter-vue-next-0.1.0\"),\n \"tree-sitter-xml\": Label(\"//tree-sitter-xml-0.7.0\"),\n \"tree-sitter-yaml\": Label(\"//tree-sitter-yaml-0.7.2\"),\n \"tree-sitter-zig\": Label(\"//tree-sitter-zig-1.1.2\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n },\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"ansi-width\": Label(\"//ansi-width-0.1.0\"),\n \"argmax\": Label(\"//argmax-0.3.1\"),\n \"bigdecimal\": Label(\"//bigdecimal-0.4.10\"),\n \"binary-heap-plus\": Label(\"//binary-heap-plus-0.5.0\"),\n \"brush-parser\": Label(\"//brush-parser-0.4.0\"),\n \"bstr\": Label(\"//bstr-1.13.1\"),\n \"bytecount\": Label(\"//bytecount-0.6.9\"),\n \"cfg-if\": Label(\"//cfg-if-1.0.4\"),\n \"chrono\": Label(\"//chrono-0.4.45\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"codesnake\": Label(\"//codesnake-0.2.1\"),\n \"compare\": Label(\"//compare-0.1.0\"),\n \"faccess\": Label(\"//faccess-0.2.4\"),\n \"fancy-regex\": Label(\"//fancy-regex-0.17.0\"),\n \"filetime\": Label(\"//filetime-0.2.29\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"foldhash\": Label(\"//foldhash-0.2.0\"),\n \"fs_extra\": Label(\"//fs_extra-1.3.0\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"glob\": Label(\"//glob-0.3.4\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"grep-cli\": Label(\"//grep-cli-0.1.12\"),\n \"grep-matcher\": Label(\"//grep-matcher-0.1.9\"),\n \"grep-pcre2\": Label(\"//grep-pcre2-0.1.10\"),\n \"grep-printer\": Label(\"//grep-printer-0.3.1\"),\n \"grep-regex\": Label(\"//grep-regex-0.1.14\"),\n \"grep-searcher\": Label(\"//grep-searcher-0.1.17\"),\n \"hex\": Label(\"//hex-0.4.3\"),\n \"hifijson\": Label(\"//hifijson-0.2.3\"),\n \"hostname\": Label(\"//hostname-0.4.2\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"indicatif\": Label(\"//indicatif-0.18.6\"),\n \"itertools\": Label(\"//itertools-0.14.0\"),\n \"jaq-core\": Label(\"//jaq-core-2.2.1\"),\n \"jaq-json\": Label(\"//jaq-json-1.1.3\"),\n \"jaq-std\": Label(\"//jaq-std-2.1.2\"),\n \"jiff\": Label(\"//jiff-0.2.35\"),\n \"libc\": Label(\"//libc-0.2.189\"),\n \"lscolors\": Label(\"//lscolors-0.21.0\"),\n \"memchr\": Label(\"//memchr-2.8.3\"),\n \"memmap2\": Label(\"//memmap2-0.9.11\"),\n \"nom\": Label(\"//nom-8.0.0\"),\n \"num-bigint\": Label(\"//num-bigint-0.4.8\"),\n \"num-traits\": Label(\"//num-traits-0.2.19\"),\n \"onig\": Label(\"//onig-6.5.3\"),\n \"os_display\": Label(\"//os_display-0.1.4\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"parse_datetime\": Label(\"//parse_datetime-0.14.0\"),\n \"platform-info\": Label(\"//platform-info-2.1.0\"),\n \"rand\": Label(\"//rand-0.10.2\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"rustc-hash\": Label(\"//rustc-hash-2.1.3\"),\n \"self_cell\": Label(\"//self_cell-1.3.0\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"similar\": Label(\"//similar-3.2.0\"),\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"strum\": Label(\"//strum-0.28.0\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n \"thiserror\": Label(\"//thiserror-2.0.20\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"tracing\": Label(\"//tracing-0.1.44\"),\n \"uucore\": Label(\"//uucore-0.8.0\"),\n \"uutils_term_grid\": Label(\"//uutils_term_grid-0.8.0\"),\n \"xutf\": Label(\"//xutf-1.4.0\"),\n \"yansi\": Label(\"//yansi-1.0.1\"),\n },\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": {\n \"procfs\": Label(\"//procfs-0.18.0\"),\n },\n \"cfg(any(unix, windows))\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(unix)\": {\n \"dns-lookup\": Label(\"//dns-lookup-3.0.1\"),\n \"nix\": Label(\"//nix-0.31.3\"),\n \"notify\": Label(\"//notify-8.2.0\"),\n \"rlimit\": Label(\"//rlimit-0.11.0\"),\n \"rustix\": Label(\"//rustix-1.1.4\"),\n },\n \"cfg(windows)\": {\n \"notify\": Label(\"//notify-8.2.0\"),\n \"rustix\": Label(\"//rustix-1.1.4\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n \"similar\": Label(\"//similar-3.2.0\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"arboard\": Label(\"//arboard-3.6.1\"),\n \"ast-grep-core\": Label(\"//ast-grep-core-0.39.9\"),\n \"base64\": Label(\"//base64-0.22.1\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"fontdue\": Label(\"//fontdue-0.9.4\"),\n \"futures\": Label(\"//futures-0.3.34\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"grep-matcher\": Label(\"//grep-matcher-0.1.9\"),\n \"grep-pcre2\": Label(\"//grep-pcre2-0.1.10\"),\n \"grep-regex\": Label(\"//grep-regex-0.1.14\"),\n \"grep-searcher\": Label(\"//grep-searcher-0.1.17\"),\n \"heapless\": Label(\"//heapless-0.9.3\"),\n \"html-to-markdown-rs\": Label(\"//html-to-markdown-rs-3.11.0\"),\n \"icy_sixel\": Label(\"//icy_sixel-0.5.1\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"image\": Label(\"//image-0.25.10\"),\n \"inferno\": Label(\"//inferno-0.12.8\"),\n \"napi\": Label(\"//napi-3.12.1\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"pdf-inspector\": Label(\"//pdf-inspector-1.15.0\"),\n \"phf\": Label(\"//phf-0.13.1\"),\n \"png\": Label(\"//png-0.18.1\"),\n \"portable-pty\": Label(\"//portable-pty-0.9.0\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"syntect\": Label(\"//syntect-5.3.0\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"toml\": Label(\"//toml-1.1.4+spec-1.1.0\"),\n \"xutf\": Label(\"//xutf-1.4.0\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n \"zstd\": Label(\"//zstd-0.13.3\"),\n \"zune-jpeg\": Label(\"//zune-jpeg-0.5.15\"),\n },\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": {\n \"enigo\": Label(\"//enigo-0.6.1\"),\n \"xcap\": Label(\"//xcap-0.9.6\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"ashpd\": Label(\"//ashpd-0.11.1\"),\n \"atspi\": Label(\"//atspi-0.30.0\"),\n \"reis\": Label(\"//reis-0.5.0\"),\n \"x11rb\": Label(\"//x11rb-0.13.2\"),\n \"xkeysym\": Label(\"//xkeysym-0.2.1\"),\n },\n \"cfg(target_os = \\\"macos\\\")\": {\n \"core-graphics\": Label(\"//core-graphics-0.25.0\"),\n \"foreign-types\": Label(\"//foreign-types-0.5.0\"),\n \"objc2-app-kit\": Label(\"//objc2-app-kit-0.3.2\"),\n \"objc2-application-services\": Label(\"//objc2-application-services-0.3.2\"),\n \"objc2-core-foundation\": Label(\"//objc2-core-foundation-0.3.2\"),\n \"objc2-core-graphics\": Label(\"//objc2-core-graphics-0.3.2\"),\n \"objc2-foundation\": Label(\"//objc2-foundation-0.3.2\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"clipboard-win\": Label(\"//clipboard-win-5.4.1\"),\n \"uiautomation\": Label(\"//uiautomation-0.25.0\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n \"winreg\": Label(\"//winreg-0.56.0\"),\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"brush-parser\": Label(\"//brush-parser-0.3.0\"),\n \"bytes\": Label(\"//bytes-1.12.1\"),\n \"clap\": Label(\"//clap-4.6.6\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"jiff\": Label(\"//jiff-0.2.35\"),\n \"os_pipe\": Label(\"//os_pipe-1.2.3\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"regex\": Label(\"//regex-1.13.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"tokio-util\": Label(\"//tokio-util-0.7.19\"),\n \"toml\": Label(\"//toml-1.1.4+spec-1.1.0\"),\n \"xxhash-rust\": Label(\"//xxhash-rust-0.8.18\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"smallvec\": Label(\"//smallvec-1.15.2\"),\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n \"winreg\": Label(\"//winreg-0.56.0\"),\n },\n },\n \"crates/pi-voice\": {\n _COMMON_CONDITION: {\n \"audiopus_sys\": Label(\"//audiopus_sys-0.2.2\"),\n \"bytes\": Label(\"//bytes-1.12.1\"),\n \"flume\": Label(\"//flume-0.11.1\"),\n \"opus\": Label(\"//opus-0.3.1\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"tokio\": Label(\"//tokio-1.53.1\"),\n \"webrtc\": Label(\"//webrtc-0.17.2\"),\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(target_os = \\\"windows\\\")\": {\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n \"crates/pi-walker\": {\n _COMMON_CONDITION: {\n \"dashmap\": Label(\"//dashmap-6.2.1\"),\n \"globset\": Label(\"//globset-0.4.20\"),\n \"ignore\": Label(\"//ignore-0.4.33\"),\n \"parking_lot\": Label(\"//parking_lot-0.12.5\"),\n \"rayon\": Label(\"//rayon-1.12.0\"),\n },\n \"cfg(unix)\": {\n \"libc\": Label(\"//libc-0.2.189\"),\n },\n \"cfg(windows)\": {\n \"windows-sys\": Label(\"//windows-sys-0.61.2\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(unix, windows))\": {\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n \"wasm32-unknown-unknown\": {\n },\n },\n \"crates/pi-ast\": {\n _COMMON_CONDITION: {\n Label(\"//tree-sitter-astro-next-0.1.1\"): \"tree_sitter_astro\",\n Label(\"//tree-sitter-dockerfile-updated-0.2.0\"): \"tree_sitter_dockerfile\",\n Label(\"//tree-sitter-kotlin-sg-0.4.1\"): \"tree_sitter_kotlin\",\n Label(\"//tree-sitter-sequel-0.3.11\"): \"tree_sitter_sql\",\n Label(\"//tree-sitter-svelte-next-0.1.1\"): \"tree_sitter_svelte\",\n Label(\"//tree-sitter-vue-next-0.1.0\"): \"tree_sitter_vue\",\n },\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": {\n },\n \"cfg(any(unix, windows))\": {\n },\n \"cfg(target_family = \\\"wasm\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(target_os = \\\"macos\\\")\": {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n \"crates/pi-voice\": {\n _COMMON_CONDITION: {\n },\n \"cfg(target_os = \\\"linux\\\")\": {\n },\n \"cfg(target_os = \\\"windows\\\")\": {\n },\n },\n \"crates/pi-walker\": {\n _COMMON_CONDITION: {\n },\n \"cfg(unix)\": {\n },\n \"cfg(windows)\": {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"pretty_assertions\": Label(\"//pretty_assertions-1.4.1\"),\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"anyhow\": Label(\"//anyhow-1.0.104\"),\n \"pretty_assertions\": Label(\"//pretty_assertions-1.4.1\"),\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"fancy-regex\": Label(\"//fancy-regex-0.16.2\"),\n \"tiktoken-rs\": Label(\"//tiktoken-rs-0.11.0\"),\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n \"tempfile\": Label(\"//tempfile-3.27.0\"),\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n \"async-recursion\": Label(\"//async-recursion-1.1.1\"),\n \"async-trait\": Label(\"//async-trait-0.1.92\"),\n \"inherent\": Label(\"//inherent-1.0.14\"),\n \"strum_macros\": Label(\"//strum_macros-0.28.0\"),\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n \"strum_macros\": Label(\"//strum_macros-0.28.0\"),\n },\n },\n \"crates/pi-iso\": {\n _COMMON_CONDITION: {\n \"async-trait\": Label(\"//async-trait-0.1.92\"),\n },\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"napi-derive\": Label(\"//napi-derive-3.6.3\"),\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"crates/vendor/brush-core\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n \"napi-build\": Label(\"//napi-build-2.4.1\"),\n \"serde\": Label(\"//serde-1.0.229\"),\n \"serde_json\": Label(\"//serde_json-1.0.151\"),\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n _COMMON_CONDITION: {\n },\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"crates/vendor/brush-core\": {\n },\n \"crates/pi-ast\": {\n },\n \"crates/pi-builtins\": {\n },\n \"crates/pi-iso\": {\n },\n \"crates/pi-natives\": {\n },\n \"crates/pi-shell\": {\n },\n \"crates/pi-voice\": {\n },\n \"crates/pi-walker\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-apple-darwin\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"aarch64-linux-android\": [],\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-unknown-linux-gnu\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\"],\n \"aarch64-unknown-linux-musl\": [\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), target_os = \\\"windows\\\"))\": [],\n \"cfg(all(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), target_vendor = \\\"apple\\\", any(target_os = \\\"ios\\\", target_os = \\\"macos\\\", target_os = \\\"tvos\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"cfg(all(any(all(target_arch = \\\"aarch64\\\", target_endian = \\\"little\\\"), all(target_arch = \\\"arm\\\", target_endian = \\\"little\\\")), any(target_os = \\\"android\\\", target_os = \\\"linux\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(curve25519_dalek_backend = \\\"fiat\\\"), not(curve25519_dalek_backend = \\\"serial\\\"), target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"android\\\"))\": [],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_vendor = \\\"apple\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\"],\n \"cfg(all(target_arch = \\\"loongarch64\\\", target_os = \\\"linux\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_os = \\\"linux\\\", not(target_env = \\\"ohos\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n \"cfg(all(unix, not(any(target_os = \\\"macos\\\", target_os = \\\"android\\\", target_os = \\\"emscripten\\\"))))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(all(unix, not(target_os = \\\"macos\\\")))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any())\": [],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"aarch64\\\", target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"arm\\\", target_pointer_width = \\\"32\\\", target_pointer_width = \\\"64\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_arch = \\\"x86_64\\\", target_arch = \\\"x86\\\"))\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\", target_os = \\\"macos\\\", target_os = \\\"hurd\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"dragonfly\\\"))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\": [],\n \"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"openbsd\\\", target_os = \\\"netbsd\\\", target_os = \\\"dragonflybsd\\\", target_os = \\\"ios\\\"))\": [],\n \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"windows\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(any(unix, target_os = \\\"fuchsia\\\", target_os = \\\"vxworks\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"redox\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(unix, windows))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(any(windows, target_os = \\\"linux\\\"))\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(curve25519_dalek_backend = \\\"fiat\\\")\": [],\n \"cfg(not(all(target_arch = \\\"arm\\\", target_os = \\\"none\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(any(target_os = \\\"android\\\", target_os = \\\"linux\\\")))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(not(target_arch = \\\"wasm32\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n \"cfg(not(target_os = \\\"windows\\\"))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(not(windows))\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_arch = \\\"aarch64\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\"],\n \"cfg(target_arch = \\\"spirv\\\")\": [],\n \"cfg(target_arch = \\\"wasm32\\\")\": [],\n \"cfg(target_arch = \\\"x86\\\")\": [],\n \"cfg(target_arch = \\\"x86_64\\\")\": [\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-pc-windows-msvc\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_family = \\\"wasm\\\")\": [],\n \"cfg(target_os = \\\"android\\\")\": [],\n \"cfg(target_os = \\\"freebsd\\\")\": [],\n \"cfg(target_os = \\\"haiku\\\")\": [],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"linux\\\")\": [\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(target_os = \\\"macos\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(target_os = \\\"netbsd\\\")\": [],\n \"cfg(target_os = \\\"redox\\\")\": [],\n \"cfg(target_os = \\\"solaris\\\")\": [],\n \"cfg(target_os = \\\"vxworks\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [],\n \"cfg(target_os = \\\"windows\\\")\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(target_vendor = \\\"apple\\\")\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"cfg(unix)\": [\"@@//bazel/triples:aarch64-apple-darwin\",\"@@//bazel/triples:aarch64-unknown-linux-gnu\",\"@@//bazel/triples:aarch64-unknown-linux-musl\",\"@@//bazel/triples:x86_64-apple-darwin\",\"@@//bazel/triples:x86_64-unknown-linux-gnu\",\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n \"cfg(windows)\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"cfg(windows_raw_dylib)\": [],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"wasm32-unknown-unknown\": [],\n \"x86_64-apple-darwin\": [\"@@//bazel/triples:x86_64-apple-darwin\"],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-pc-windows-msvc\": [\"@@//bazel/triples:x86_64-pc-windows-msvc\"],\n \"x86_64-unknown-linux-gnu\": [\"@@//bazel/triples:x86_64-unknown-linux-gnu\"],\n \"x86_64-unknown-linux-musl\": [\"@@//bazel/triples:x86_64-unknown-linux-musl\"],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n crates_vendor_remote_repository,\n name = \"crates\",\n # Lean interface: just point at `crates.bzl`; the repo rule\n # derives the sibling `BUILD.bazel` and `defs.bzl`.\n crates_module = Label(\"@crates//crates:crates.bzl\"),\n )\n maybe(\n http_archive,\n name = \"crates__adler2-2.0.1\",\n sha256 = \"320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler2/2.0.1/download\"],\n strip_prefix = \"adler2-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.adler2-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aead-0.5.2\",\n sha256 = \"d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aead/0.5.2/download\"],\n strip_prefix = \"aead-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.aead-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aes-0.8.4\",\n sha256 = \"b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes/0.8.4/download\"],\n strip_prefix = \"aes-0.8.4\",\n build_file = Label(\"@crates//crates:BUILD.aes-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aes-gcm-0.10.3\",\n sha256 = \"831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aes-gcm/0.10.3/download\"],\n strip_prefix = \"aes-gcm-0.10.3\",\n build_file = Label(\"@crates//crates:BUILD.aes-gcm-0.10.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ahash-0.8.12\",\n sha256 = \"5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ahash/0.8.12/download\"],\n strip_prefix = \"ahash-0.8.12\",\n build_file = Label(\"@crates//crates:BUILD.ahash-0.8.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__aho-corasick-1.1.5\",\n sha256 = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.1.5/download\"],\n strip_prefix = \"aho-corasick-1.1.5\",\n build_file = Label(\"@crates//crates:BUILD.aho-corasick-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__allocator-api2-0.2.21\",\n sha256 = \"683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/allocator-api2/0.2.21/download\"],\n strip_prefix = \"allocator-api2-0.2.21\",\n build_file = Label(\"@crates//crates:BUILD.allocator-api2-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__android_system_properties-0.1.6\",\n sha256 = \"ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/android_system_properties/0.1.6/download\"],\n strip_prefix = \"android_system_properties-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.android_system_properties-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__annotate-snippets-0.11.5\",\n sha256 = \"710e8eae58854cdc1790fcb56cca04d712a17be849eeb81da2a724bf4bae2bc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/annotate-snippets/0.11.5/download\"],\n strip_prefix = \"annotate-snippets-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.annotate-snippets-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ansi-width-0.1.0\",\n sha256 = \"219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ansi-width/0.1.0/download\"],\n strip_prefix = \"ansi-width-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.ansi-width-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstream-1.0.0\",\n sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n strip_prefix = \"anstream-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.anstream-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-1.0.14\",\n sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n strip_prefix = \"anstyle-1.0.14\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-parse-1.0.0\",\n sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n strip_prefix = \"anstyle-parse-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-parse-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-query-1.1.5\",\n sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n strip_prefix = \"anstyle-query-1.1.5\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-query-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anstyle-wincon-3.0.11\",\n sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n strip_prefix = \"anstyle-wincon-3.0.11\",\n build_file = Label(\"@crates//crates:BUILD.anstyle-wincon-3.0.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__anyhow-1.0.104\",\n sha256 = \"330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.104/download\"],\n strip_prefix = \"anyhow-1.0.104\",\n build_file = Label(\"@crates//crates:BUILD.anyhow-1.0.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arboard-3.6.1\",\n sha256 = \"0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arboard/3.6.1/download\"],\n strip_prefix = \"arboard-3.6.1\",\n build_file = Label(\"@crates//crates:BUILD.arboard-3.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arc-swap-1.9.2\",\n sha256 = \"c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arc-swap/1.9.2/download\"],\n strip_prefix = \"arc-swap-1.9.2\",\n build_file = Label(\"@crates//crates:BUILD.arc-swap-1.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__archery-1.2.3\",\n sha256 = \"33ca55ee147b1926dbea904f50fe4902494e97bc742205abbbf10c709e43815f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/archery/1.2.3/download\"],\n strip_prefix = \"archery-1.2.3\",\n build_file = Label(\"@crates//crates:BUILD.archery-1.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__argmax-0.3.1\",\n sha256 = \"5b7e3ef5e3a7f2c5e5a49d90ad087c03d38258e75155daac64deb62c50972c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argmax/0.3.1/download\"],\n strip_prefix = \"argmax-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.argmax-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arrayref-0.3.9\",\n sha256 = \"76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayref/0.3.9/download\"],\n strip_prefix = \"arrayref-0.3.9\",\n build_file = Label(\"@crates//crates:BUILD.arrayref-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__arrayvec-0.7.8\",\n sha256 = \"d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.8/download\"],\n strip_prefix = \"arrayvec-0.7.8\",\n build_file = Label(\"@crates//crates:BUILD.arrayvec-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ashpd-0.11.1\",\n sha256 = \"d2f3f79755c74fd155000314eb349864caa787c6592eace6c6882dad873d9c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ashpd/0.11.1/download\"],\n strip_prefix = \"ashpd-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.ashpd-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-0.6.2\",\n sha256 = \"5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs/0.6.2/download\"],\n strip_prefix = \"asn1-rs-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-derive-0.5.1\",\n sha256 = \"965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs-derive/0.5.1/download\"],\n strip_prefix = \"asn1-rs-derive-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-derive-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__asn1-rs-impl-0.2.0\",\n sha256 = \"7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/asn1-rs-impl/0.2.0/download\"],\n strip_prefix = \"asn1-rs-impl-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.asn1-rs-impl-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ast-grep-core-0.39.9\",\n sha256 = \"057ae90e7256ebf85f840b1638268df0142c9d19467d500b790631fd301acc27\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ast-grep-core/0.39.9/download\"],\n strip_prefix = \"ast-grep-core-0.39.9\",\n build_file = Label(\"@crates//crates:BUILD.ast-grep-core-0.39.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__astral-tl-0.7.11\",\n sha256 = \"d90933ffb0f97e2fc2e0de21da9d3f20597b804012d199843a6fe7c2810d28f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/astral-tl/0.7.11/download\"],\n strip_prefix = \"astral-tl-0.7.11\",\n build_file = Label(\"@crates//crates:BUILD.astral-tl-0.7.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-broadcast-0.7.2\",\n sha256 = \"435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-broadcast/0.7.2/download\"],\n strip_prefix = \"async-broadcast-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.async-broadcast-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-channel-2.5.0\",\n sha256 = \"924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-channel/2.5.0/download\"],\n strip_prefix = \"async-channel-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.async-channel-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-executor-1.14.0\",\n sha256 = \"c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-executor/1.14.0/download\"],\n strip_prefix = \"async-executor-1.14.0\",\n build_file = Label(\"@crates//crates:BUILD.async-executor-1.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-io-2.6.0\",\n sha256 = \"456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-io/2.6.0/download\"],\n strip_prefix = \"async-io-2.6.0\",\n build_file = Label(\"@crates//crates:BUILD.async-io-2.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-lock-3.4.2\",\n sha256 = \"290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-lock/3.4.2/download\"],\n strip_prefix = \"async-lock-3.4.2\",\n build_file = Label(\"@crates//crates:BUILD.async-lock-3.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-process-2.5.0\",\n sha256 = \"fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-process/2.5.0/download\"],\n strip_prefix = \"async-process-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.async-process-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-recursion-1.1.1\",\n sha256 = \"3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-recursion/1.1.1/download\"],\n strip_prefix = \"async-recursion-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.async-recursion-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-signal-0.2.14\",\n sha256 = \"52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-signal/0.2.14/download\"],\n strip_prefix = \"async-signal-0.2.14\",\n build_file = Label(\"@crates//crates:BUILD.async-signal-0.2.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-task-4.7.1\",\n sha256 = \"8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-task/4.7.1/download\"],\n strip_prefix = \"async-task-4.7.1\",\n build_file = Label(\"@crates//crates:BUILD.async-task-4.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__async-trait-0.1.92\",\n sha256 = \"82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-trait/0.1.92/download\"],\n strip_prefix = \"async-trait-0.1.92\",\n build_file = Label(\"@crates//crates:BUILD.async-trait-0.1.92.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-0.30.0\",\n sha256 = \"6bf601cccedfffec598ec2db1f9d6745885458bccc0e8916d7023f017c94b3d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi/0.30.0/download\"],\n strip_prefix = \"atspi-0.30.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-0.30.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-common-0.14.0\",\n sha256 = \"f8a79bed3f5b408ce3152f36e07327a845e6ed5d7e2821a89264037dbcc11daf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-common/0.14.0/download\"],\n strip_prefix = \"atspi-common-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-common-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-connection-0.14.0\",\n sha256 = \"8fab8e4f574f5a7d3af280b38eff25fb6f47a537dac9ae39ce152f52b19fb10b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-connection/0.14.0/download\"],\n strip_prefix = \"atspi-connection-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-connection-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__atspi-proxies-0.14.0\",\n sha256 = \"53403acd3ab2fdb5914f6558da22e540fc07656fce5510f8c02be0e6ef68413e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atspi-proxies/0.14.0/download\"],\n strip_prefix = \"atspi-proxies-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.atspi-proxies-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__audiopus_sys-0.2.2\",\n patch_args = [\n \"-p1\",\n ],\n patches = [\n \"@@//bazel/patches:audiopus-sys-libdir.patch\",\n ],\n sha256 = \"62314a1546a2064e033665d658e88c620a62904be945f8147e6b16c3db9f8651\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/audiopus_sys/0.2.2/download\"],\n strip_prefix = \"audiopus_sys-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.audiopus_sys-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__autocfg-1.5.1\",\n sha256 = \"f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/autocfg/1.5.1/download\"],\n strip_prefix = \"autocfg-1.5.1\",\n build_file = Label(\"@crates//crates:BUILD.autocfg-1.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base16ct-0.2.0\",\n sha256 = \"4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base16ct/0.2.0/download\"],\n strip_prefix = \"base16ct-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.base16ct-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crates//crates:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-0.23.1\",\n sha256 = \"ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.23.1/download\"],\n strip_prefix = \"base64-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.base64-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64-simd-0.8.0\",\n sha256 = \"339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64-simd/0.8.0/download\"],\n strip_prefix = \"base64-simd-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.base64-simd-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__base64ct-1.8.3\",\n sha256 = \"2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64ct/1.8.3/download\"],\n strip_prefix = \"base64ct-1.8.3\",\n build_file = Label(\"@crates//crates:BUILD.base64ct-1.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bigdecimal-0.4.10\",\n sha256 = \"4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bigdecimal/0.4.10/download\"],\n strip_prefix = \"bigdecimal-0.4.10\",\n build_file = Label(\"@crates//crates:BUILD.bigdecimal-0.4.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__binary-heap-plus-0.5.0\",\n sha256 = \"e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/binary-heap-plus/0.5.0/download\"],\n strip_prefix = \"binary-heap-plus-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.binary-heap-plus-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bincode-1.3.3\",\n sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n strip_prefix = \"bincode-1.3.3\",\n build_file = Label(\"@crates//crates:BUILD.bincode-1.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bindgen-0.72.1\",\n sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n strip_prefix = \"bindgen-0.72.1\",\n build_file = Label(\"@crates//crates:BUILD.bindgen-0.72.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bit-set-0.8.0\",\n sha256 = \"08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bit-set/0.8.0/download\"],\n strip_prefix = \"bit-set-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.bit-set-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bit-vec-0.8.0\",\n sha256 = \"5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bit-vec/0.8.0/download\"],\n strip_prefix = \"bit-vec-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.bit-vec-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitflags-1.3.2\",\n sha256 = \"bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/1.3.2/download\"],\n strip_prefix = \"bitflags-1.3.2\",\n build_file = Label(\"@crates//crates:BUILD.bitflags-1.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitflags-2.13.1\",\n sha256 = \"b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.13.1/download\"],\n strip_prefix = \"bitflags-2.13.1\",\n build_file = Label(\"@crates//crates:BUILD.bitflags-2.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bitvec-1.1.1\",\n sha256 = \"ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitvec/1.1.1/download\"],\n strip_prefix = \"bitvec-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.bitvec-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blake2b_simd-1.0.4\",\n sha256 = \"b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blake2b_simd/1.0.4/download\"],\n strip_prefix = \"blake2b_simd-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.blake2b_simd-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blake3-1.8.6\",\n sha256 = \"76ae7bad254120e9e4c63bafc385310756f90c484eac0e36b8317cf09cb92a77\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blake3/1.8.6/download\"],\n strip_prefix = \"blake3-1.8.6\",\n build_file = Label(\"@crates//crates:BUILD.blake3-1.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-buffer-0.10.4\",\n sha256 = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.10.4/download\"],\n strip_prefix = \"block-buffer-0.10.4\",\n build_file = Label(\"@crates//crates:BUILD.block-buffer-0.10.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-buffer-0.12.1\",\n sha256 = \"d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-buffer/0.12.1/download\"],\n strip_prefix = \"block-buffer-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.block-buffer-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block-padding-0.3.3\",\n sha256 = \"a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block-padding/0.3.3/download\"],\n strip_prefix = \"block-padding-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.block-padding-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__block2-0.6.2\",\n sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n strip_prefix = \"block2-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.block2-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__blocking-1.6.2\",\n sha256 = \"e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/blocking/1.6.2/download\"],\n strip_prefix = \"blocking-1.6.2\",\n build_file = Label(\"@crates//crates:BUILD.blocking-1.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bon-3.9.3\",\n sha256 = \"a602c73c7b0148ec6d12af6fd5cc7a46e2eacc8878271a999abac56eed12f561\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bon/3.9.3/download\"],\n strip_prefix = \"bon-3.9.3\",\n build_file = Label(\"@crates//crates:BUILD.bon-3.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bon-macros-3.9.3\",\n sha256 = \"6dee98b0db6a962de883bf5d20362dee4d7ca0d12fe39a7c6c73c844e1cd7c1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bon-macros/3.9.3/download\"],\n strip_prefix = \"bon-macros-3.9.3\",\n build_file = Label(\"@crates//crates:BUILD.bon-macros-3.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__brush-parser-0.3.0\",\n sha256 = \"f7367124d4f38fdcd65f4b815bda7caeb3de377b9cd95ffa1b23627989c93718\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/brush-parser/0.3.0/download\"],\n strip_prefix = \"brush-parser-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.brush-parser-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__brush-parser-0.4.0\",\n sha256 = \"9f64b19efc02f0dd6cac1d462e20a1098f425f09cb13624efbb1b7d63f061735\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/brush-parser/0.4.0/download\"],\n strip_prefix = \"brush-parser-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.brush-parser-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bstr-1.13.1\",\n sha256 = \"6bb31b46c14244e20ee9984b11bf5c992b91fb6939fea616e3512c8baecdbe5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bstr/1.13.1/download\"],\n strip_prefix = \"bstr-1.13.1\",\n build_file = Label(\"@crates//crates:BUILD.bstr-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bumpalo-3.20.3\",\n sha256 = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.20.3/download\"],\n strip_prefix = \"bumpalo-3.20.3\",\n build_file = Label(\"@crates//crates:BUILD.bumpalo-3.20.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__by_address-1.2.1\",\n sha256 = \"64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/by_address/1.2.1/download\"],\n strip_prefix = \"by_address-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.by_address-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecheck-0.8.3\",\n sha256 = \"26333eeac754f0ad8a6bcd0eb0ac012156302e4e16b852b72ee399aea4f12c29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecheck/0.8.3/download\"],\n strip_prefix = \"bytecheck-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.bytecheck-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecheck_derive-0.8.3\",\n sha256 = \"46d07918caa9eeaaf06b7873925c53a61daac173539b4f7715090745e44e4e69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecheck_derive/0.8.3/download\"],\n strip_prefix = \"bytecheck_derive-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.bytecheck_derive-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytecount-0.6.9\",\n sha256 = \"175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytecount/0.6.9/download\"],\n strip_prefix = \"bytecount-0.6.9\",\n build_file = Label(\"@crates//crates:BUILD.bytecount-0.6.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytemuck-1.25.2\",\n sha256 = \"95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytemuck/1.25.2/download\"],\n strip_prefix = \"bytemuck-1.25.2\",\n build_file = Label(\"@crates//crates:BUILD.bytemuck-1.25.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytemuck_derive-1.12.0\",\n sha256 = \"fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytemuck_derive/1.12.0/download\"],\n strip_prefix = \"bytemuck_derive-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.bytemuck_derive-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__byteorder-lite-0.1.0\",\n sha256 = \"8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder-lite/0.1.0/download\"],\n strip_prefix = \"byteorder-lite-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.byteorder-lite-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__bytes-1.12.1\",\n sha256 = \"fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.12.1/download\"],\n strip_prefix = \"bytes-1.12.1\",\n build_file = Label(\"@crates//crates:BUILD.bytes-1.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached-0.56.0\",\n sha256 = \"801927ee168e17809ab8901d9f01f700cd7d8d6a6527997fee44e4b0327a253c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached/0.56.0/download\"],\n strip_prefix = \"cached-0.56.0\",\n build_file = Label(\"@crates//crates:BUILD.cached-0.56.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached-0.59.0\",\n sha256 = \"53b6f5d101f0f6322c8646a45b7c581a673e476329040d97565815c2461dd0c4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached/0.59.0/download\"],\n strip_prefix = \"cached-0.59.0\",\n build_file = Label(\"@crates//crates:BUILD.cached-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro-0.25.0\",\n sha256 = \"9225bdcf4e4a9a4c08bf16607908eb2fbf746828d5e0b5e019726dbf6571f201\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro/0.25.0/download\"],\n strip_prefix = \"cached_proc_macro-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro-0.27.0\",\n sha256 = \"8ebcf9c75f17a17d55d11afc98e46167d4790a263f428891b8705ab2f793eca3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro/0.27.0/download\"],\n strip_prefix = \"cached_proc_macro-0.27.0\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro-0.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cached_proc_macro_types-0.1.1\",\n sha256 = \"ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cached_proc_macro_types/0.1.1/download\"],\n strip_prefix = \"cached_proc_macro_types-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.cached_proc_macro_types-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__calendrical_calculations-0.2.4\",\n sha256 = \"5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/calendrical_calculations/0.2.4/download\"],\n strip_prefix = \"calendrical_calculations-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.calendrical_calculations-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cbc-0.1.2\",\n sha256 = \"26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cbc/0.1.2/download\"],\n strip_prefix = \"cbc-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.cbc-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cc-1.2.67\",\n sha256 = \"e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.2.67/download\"],\n strip_prefix = \"cc-1.2.67\",\n build_file = Label(\"@crates//crates:BUILD.cc-1.2.67.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ccm-0.5.0\",\n sha256 = \"9ae3c82e4355234767756212c570e29833699ab63e6ffd161887314cc5b43847\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ccm/0.5.0/download\"],\n strip_prefix = \"ccm-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.ccm-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cexpr-0.6.0\",\n sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n strip_prefix = \"cexpr-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.cexpr-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg-expr-0.20.8\",\n sha256 = \"fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835997c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-expr/0.20.8/download\"],\n strip_prefix = \"cfg-expr-0.20.8\",\n build_file = Label(\"@crates//crates:BUILD.cfg-expr-0.20.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg-if-1.0.4\",\n sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n strip_prefix = \"cfg-if-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.cfg-if-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg_aliases-0.1.1\",\n sha256 = \"fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.1.1/download\"],\n strip_prefix = \"cfg_aliases-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.cfg_aliases-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cfg_aliases-0.2.2\",\n sha256 = \"f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.2/download\"],\n strip_prefix = \"cfg_aliases-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.cfg_aliases-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20-0.10.1\",\n sha256 = \"d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20/0.10.1/download\"],\n strip_prefix = \"chacha20-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20-0.9.1\",\n sha256 = \"c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20/0.9.1/download\"],\n strip_prefix = \"chacha20-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chacha20poly1305-0.10.1\",\n sha256 = \"10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chacha20poly1305/0.10.1/download\"],\n strip_prefix = \"chacha20poly1305-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.chacha20poly1305-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__check_elevation-0.2.7\",\n sha256 = \"a7fe1fbbd8bd3174109071530f12932ff471eeff30d83e9c485d6ff424ac534b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/check_elevation/0.2.7/download\"],\n strip_prefix = \"check_elevation-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.check_elevation-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__chrono-0.4.45\",\n sha256 = \"1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/chrono/0.4.45/download\"],\n strip_prefix = \"chrono-0.4.45\",\n build_file = Label(\"@crates//crates:BUILD.chrono-0.4.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cipher-0.4.4\",\n sha256 = \"773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cipher/0.4.4/download\"],\n strip_prefix = \"cipher-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.cipher-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clang-sys-1.9.1\",\n sha256 = \"157a8ba7b480713b56f4c09fd13fc3e0a22a5dfab8097ba61cbc5feef950788a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clang-sys/1.9.1/download\"],\n strip_prefix = \"clang-sys-1.9.1\",\n build_file = Label(\"@crates//crates:BUILD.clang-sys-1.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap-4.6.6\",\n sha256 = \"473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.6.6/download\"],\n strip_prefix = \"clap-4.6.6\",\n build_file = Label(\"@crates//crates:BUILD.clap-4.6.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_builder-4.6.6\",\n sha256 = \"7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.6.6/download\"],\n strip_prefix = \"clap_builder-4.6.6\",\n build_file = Label(\"@crates//crates:BUILD.clap_builder-4.6.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_derive-4.6.4\",\n sha256 = \"d012d2b9d65aca7f18f4d9878a045bc17899bba951561ba5ec3c2ba1eed9a061\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.6.4/download\"],\n strip_prefix = \"clap_derive-4.6.4\",\n build_file = Label(\"@crates//crates:BUILD.clap_derive-4.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clap_lex-1.1.0\",\n sha256 = \"c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/1.1.0/download\"],\n strip_prefix = \"clap_lex-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.clap_lex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__clipboard-win-5.4.1\",\n sha256 = \"bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clipboard-win/5.4.1/download\"],\n strip_prefix = \"clipboard-win-5.4.1\",\n build_file = Label(\"@crates//crates:BUILD.clipboard-win-5.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cmake-0.1.58\",\n sha256 = \"c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cmake/0.1.58/download\"],\n strip_prefix = \"cmake-0.1.58\",\n build_file = Label(\"@crates//crates:BUILD.cmake-0.1.58.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__codesnake-0.2.1\",\n sha256 = \"2205f7f6d3de68ecf4c291c789b3edf07b6569268abd0188819086f71ae42225\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/codesnake/0.2.1/download\"],\n strip_prefix = \"codesnake-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.codesnake-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color-print-0.3.7\",\n sha256 = \"3aa954171903797d5623e047d9ab69d91b493657917bdfb8c2c80ecaf9cdb6f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color-print/0.3.7/download\"],\n strip_prefix = \"color-print-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.color-print-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color-print-proc-macro-0.3.7\",\n sha256 = \"692186b5ebe54007e45a59aea47ece9eb4108e141326c304cdc91699a7118a22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color-print-proc-macro/0.3.7/download\"],\n strip_prefix = \"color-print-proc-macro-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.color-print-proc-macro-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__color_quant-1.1.0\",\n sha256 = \"3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/color_quant/1.1.0/download\"],\n strip_prefix = \"color_quant-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.color_quant-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__colorchoice-1.0.5\",\n sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n strip_prefix = \"colorchoice-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.colorchoice-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__command-fds-0.3.3\",\n sha256 = \"1b60b5124979fccd9addd89d8b97a1d6eebb4950694520c75ddd722535ea443f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/command-fds/0.3.3/download\"],\n strip_prefix = \"command-fds-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.command-fds-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__compare-0.1.0\",\n sha256 = \"120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/compare/0.1.0/download\"],\n strip_prefix = \"compare-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.compare-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__concurrent-queue-2.5.0\",\n sha256 = \"4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/concurrent-queue/2.5.0/download\"],\n strip_prefix = \"concurrent-queue-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.concurrent-queue-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__console-0.16.4\",\n sha256 = \"4fe5f465a4f6fee88fad41b85d990f84c835335e85b5d9e6e63e0d06d28cba7c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.16.4/download\"],\n strip_prefix = \"console-0.16.4\",\n build_file = Label(\"@crates//crates:BUILD.console-0.16.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-oid-0.10.2\",\n sha256 = \"a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.10.2/download\"],\n strip_prefix = \"const-oid-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.const-oid-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-oid-0.9.6\",\n sha256 = \"c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-oid/0.9.6/download\"],\n strip_prefix = \"const-oid-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.const-oid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-random-0.1.18\",\n sha256 = \"87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-random/0.1.18/download\"],\n strip_prefix = \"const-random-0.1.18\",\n build_file = Label(\"@crates//crates:BUILD.const-random-0.1.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__const-random-macro-0.1.16\",\n sha256 = \"f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/const-random-macro/0.1.16/download\"],\n strip_prefix = \"const-random-macro-0.1.16\",\n build_file = Label(\"@crates//crates:BUILD.const-random-macro-0.1.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__constant_time_eq-0.4.2\",\n sha256 = \"3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/constant_time_eq/0.4.2/download\"],\n strip_prefix = \"constant_time_eq-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.constant_time_eq-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__convert_case-0.11.0\",\n sha256 = \"affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/convert_case/0.11.0/download\"],\n strip_prefix = \"convert_case-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.convert_case-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__convert_case-0.8.0\",\n sha256 = \"baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/convert_case/0.8.0/download\"],\n strip_prefix = \"convert_case-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.convert_case-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cookie-factory-0.3.3\",\n sha256 = \"9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cookie-factory/0.3.3/download\"],\n strip_prefix = \"cookie-factory-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.cookie-factory-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-foundation-0.10.1\",\n sha256 = \"b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation/0.10.1/download\"],\n strip_prefix = \"core-foundation-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.core-foundation-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-foundation-sys-0.8.7\",\n sha256 = \"773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-foundation-sys/0.8.7/download\"],\n strip_prefix = \"core-foundation-sys-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.core-foundation-sys-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-graphics-0.25.0\",\n sha256 = \"064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-graphics/0.25.0/download\"],\n strip_prefix = \"core-graphics-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.core-graphics-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core-graphics-types-0.2.0\",\n sha256 = \"3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core-graphics-types/0.2.0/download\"],\n strip_prefix = \"core-graphics-types-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.core-graphics-types-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__core_maths-0.1.1\",\n sha256 = \"77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/core_maths/0.1.1/download\"],\n strip_prefix = \"core_maths-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.core_maths-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cpufeatures-0.2.17\",\n sha256 = \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.2.17/download\"],\n strip_prefix = \"cpufeatures-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.cpufeatures-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__cpufeatures-0.3.0\",\n sha256 = \"8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cpufeatures/0.3.0/download\"],\n strip_prefix = \"cpufeatures-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.cpufeatures-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-3.4.0\",\n sha256 = \"5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc/3.4.0/download\"],\n strip_prefix = \"crc-3.4.0\",\n build_file = Label(\"@crates//crates:BUILD.crc-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-catalog-2.5.0\",\n sha256 = \"217698eaf96b4a3f0bc4f3662aaa55bdf913cd54d7204591faa790070c6d0853\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-catalog/2.5.0/download\"],\n strip_prefix = \"crc-catalog-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.crc-catalog-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc-fast-1.8.2\",\n sha256 = \"85d9be5297a59f1b7651fd2711a1f4461929f53b182b394df0df15b3a387ef51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc-fast/1.8.2/download\"],\n strip_prefix = \"crc-fast-1.8.2\",\n build_file = Label(\"@crates//crates:BUILD.crc-fast-1.8.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crc32fast-1.5.0\",\n sha256 = \"9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crc32fast/1.5.0/download\"],\n strip_prefix = \"crc32fast-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.crc32fast-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-deque-0.8.7\",\n sha256 = \"5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-deque/0.8.7/download\"],\n strip_prefix = \"crossbeam-deque-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-deque-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-epoch-0.9.20\",\n sha256 = \"2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-epoch/0.9.20/download\"],\n strip_prefix = \"crossbeam-epoch-0.9.20\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-epoch-0.9.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crossbeam-utils-0.8.22\",\n sha256 = \"61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.22/download\"],\n strip_prefix = \"crossbeam-utils-0.8.22\",\n build_file = Label(\"@crates//crates:BUILD.crossbeam-utils-0.8.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crunchy-0.2.4\",\n sha256 = \"460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crunchy/0.2.4/download\"],\n strip_prefix = \"crunchy-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.crunchy-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-bigint-0.5.5\",\n sha256 = \"0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-bigint/0.5.5/download\"],\n strip_prefix = \"crypto-bigint-0.5.5\",\n build_file = Label(\"@crates//crates:BUILD.crypto-bigint-0.5.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-common-0.1.7\",\n sha256 = \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.1.7/download\"],\n strip_prefix = \"crypto-common-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.crypto-common-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__crypto-common-0.2.2\",\n sha256 = \"ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crypto-common/0.2.2/download\"],\n strip_prefix = \"crypto-common-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.crypto-common-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ctor-1.0.13\",\n sha256 = \"914a755b7c2d4af2bdcff7ce1739e2db9a1b81a9b07123d8015786ae03c0980d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctor/1.0.13/download\"],\n strip_prefix = \"ctor-1.0.13\",\n build_file = Label(\"@crates//crates:BUILD.ctor-1.0.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ctr-0.9.2\",\n sha256 = \"0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctr/0.9.2/download\"],\n strip_prefix = \"ctr-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.ctr-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__curve25519-dalek-4.1.3\",\n sha256 = \"97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/curve25519-dalek/4.1.3/download\"],\n strip_prefix = \"curve25519-dalek-4.1.3\",\n build_file = Label(\"@crates//crates:BUILD.curve25519-dalek-4.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__curve25519-dalek-derive-0.1.1\",\n sha256 = \"f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/curve25519-dalek-derive/0.1.1/download\"],\n strip_prefix = \"curve25519-dalek-derive-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.curve25519-dalek-derive-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling-0.20.11\",\n sha256 = \"fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.20.11/download\"],\n strip_prefix = \"darling-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling-0.23.0\",\n sha256 = \"25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling/0.23.0/download\"],\n strip_prefix = \"darling-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_core-0.20.11\",\n sha256 = \"0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.20.11/download\"],\n strip_prefix = \"darling_core-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling_core-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_core-0.23.0\",\n sha256 = \"9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_core/0.23.0/download\"],\n strip_prefix = \"darling_core-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling_core-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_macro-0.20.11\",\n sha256 = \"fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.20.11/download\"],\n strip_prefix = \"darling_macro-0.20.11\",\n build_file = Label(\"@crates//crates:BUILD.darling_macro-0.20.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__darling_macro-0.23.0\",\n sha256 = \"ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/darling_macro/0.23.0/download\"],\n strip_prefix = \"darling_macro-0.23.0\",\n build_file = Label(\"@crates//crates:BUILD.darling_macro-0.23.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dashmap-6.2.1\",\n sha256 = \"e6361d5c062261c78a176addb82d4c821ae42bed6089de0e12603cd25de2059c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dashmap/6.2.1/download\"],\n strip_prefix = \"dashmap-6.2.1\",\n build_file = Label(\"@crates//crates:BUILD.dashmap-6.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-2.11.1\",\n sha256 = \"4583a4551df46e2792f82ceeac45e850d2e2d5debba0b91f102385cda5b11f06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding/2.11.1/download\"],\n strip_prefix = \"data-encoding-2.11.1\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-2.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-macro-0.1.21\",\n sha256 = \"c6a127ecbb3c4632e1525380e04c0c3fcf8dcb44d32a79ea290d8a36906edcd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding-macro/0.1.21/download\"],\n strip_prefix = \"data-encoding-macro-0.1.21\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-macro-0.1.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__data-encoding-macro-internal-0.1.19\",\n sha256 = \"c54e03a951783e8b327515db3f2a2fd0e3bed362a96b066f341ce66ed49b4ead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/data-encoding-macro-internal/0.1.19/download\"],\n strip_prefix = \"data-encoding-macro-internal-0.1.19\",\n build_file = Label(\"@crates//crates:BUILD.data-encoding-macro-internal-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-1.1.1\",\n sha256 = \"e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt/1.1.1/download\"],\n strip_prefix = \"defmt-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.defmt-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-macros-1.1.1\",\n sha256 = \"bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt-macros/1.1.1/download\"],\n strip_prefix = \"defmt-macros-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.defmt-macros-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__defmt-parser-1.0.0\",\n sha256 = \"10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/defmt-parser/1.0.0/download\"],\n strip_prefix = \"defmt-parser-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.defmt-parser-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__der-0.7.10\",\n sha256 = \"e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der/0.7.10/download\"],\n strip_prefix = \"der-0.7.10\",\n build_file = Label(\"@crates//crates:BUILD.der-0.7.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__der-parser-9.0.0\",\n sha256 = \"5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/der-parser/9.0.0/download\"],\n strip_prefix = \"der-parser-9.0.0\",\n build_file = Label(\"@crates//crates:BUILD.der-parser-9.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__deranged-0.5.8\",\n sha256 = \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.5.8/download\"],\n strip_prefix = \"deranged-0.5.8\",\n build_file = Label(\"@crates//crates:BUILD.deranged-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__diff-0.1.13\",\n sha256 = \"56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/diff/0.1.13/download\"],\n strip_prefix = \"diff-0.1.13\",\n build_file = Label(\"@crates//crates:BUILD.diff-0.1.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__digest-0.10.7\",\n sha256 = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.10.7/download\"],\n strip_prefix = \"digest-0.10.7\",\n build_file = Label(\"@crates//crates:BUILD.digest-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__digest-0.11.3\",\n sha256 = \"f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/digest/0.11.3/download\"],\n strip_prefix = \"digest-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.digest-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dispatch2-0.3.1\",\n sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n strip_prefix = \"dispatch2-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.dispatch2-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__displaydoc-0.2.7\",\n sha256 = \"c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/displaydoc/0.2.7/download\"],\n strip_prefix = \"displaydoc-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.displaydoc-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dlib-0.5.3\",\n sha256 = \"ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dlib/0.5.3/download\"],\n strip_prefix = \"dlib-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.dlib-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dns-lookup-3.0.1\",\n sha256 = \"6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dns-lookup/3.0.1/download\"],\n strip_prefix = \"dns-lookup-3.0.1\",\n build_file = Label(\"@crates//crates:BUILD.dns-lookup-3.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__downcast-rs-1.2.1\",\n sha256 = \"75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/downcast-rs/1.2.1/download\"],\n strip_prefix = \"downcast-rs-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.downcast-rs-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-0.14.1\",\n sha256 = \"80bc8c5c6c2941f70a55c15f8d9f00f9710ebda3ffda98075f996a0e6c92756f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm/0.14.1/download\"],\n strip_prefix = \"drm-0.14.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-0.14.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-0.15.0\",\n sha256 = \"7a41816e58f47f49acfd956651055ddcf137c4882c2098c30c448817af21183a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm/0.15.0/download\"],\n strip_prefix = \"drm-0.15.0\",\n build_file = Label(\"@crates//crates:BUILD.drm-0.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-ffi-0.9.1\",\n sha256 = \"51a91c9b32ac4e8105dec255e849e0d66e27d7c34d184364fb93e469db08f690\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-ffi/0.9.1/download\"],\n strip_prefix = \"drm-ffi-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-ffi-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-fourcc-2.2.0\",\n sha256 = \"0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-fourcc/2.2.0/download\"],\n strip_prefix = \"drm-fourcc-2.2.0\",\n build_file = Label(\"@crates//crates:BUILD.drm-fourcc-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__drm-sys-0.8.1\",\n sha256 = \"ecc8e1361066d91f5ffccff060a3c3be9c3ecde15be2959c1937595f7a82a9f8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/drm-sys/0.8.1/download\"],\n strip_prefix = \"drm-sys-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.drm-sys-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dtls-0.17.2\",\n sha256 = \"01a431e87fc386bd5e02deb554a013f97bc406e47a7d8e97efb7c6366b980e9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dtls/0.17.2/download\"],\n strip_prefix = \"dtls-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.dtls-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dunce-1.0.5\",\n sha256 = \"92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dunce/1.0.5/download\"],\n strip_prefix = \"dunce-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.dunce-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__dyn-clone-1.0.20\",\n sha256 = \"d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dyn-clone/1.0.20/download\"],\n strip_prefix = \"dyn-clone-1.0.20\",\n build_file = Label(\"@crates//crates:BUILD.dyn-clone-1.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ecb-0.1.2\",\n sha256 = \"1a8bfa975b1aec2145850fcaa1c6fe269a16578c44705a532ae3edc92b8881c7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecb/0.1.2/download\"],\n strip_prefix = \"ecb-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.ecb-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ecdsa-0.16.9\",\n sha256 = \"ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ecdsa/0.16.9/download\"],\n strip_prefix = \"ecdsa-0.16.9\",\n build_file = Label(\"@crates//crates:BUILD.ecdsa-0.16.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__either-1.17.0\",\n sha256 = \"9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.17.0/download\"],\n strip_prefix = \"either-1.17.0\",\n build_file = Label(\"@crates//crates:BUILD.either-1.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__elliptic-curve-0.13.8\",\n sha256 = \"b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/elliptic-curve/0.13.8/download\"],\n strip_prefix = \"elliptic-curve-0.13.8\",\n build_file = Label(\"@crates//crates:BUILD.elliptic-curve-0.13.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encode_unicode-1.0.0\",\n sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n strip_prefix = \"encode_unicode-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.encode_unicode-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encoding_rs-0.8.35\",\n sha256 = \"75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs/0.8.35/download\"],\n strip_prefix = \"encoding_rs-0.8.35\",\n build_file = Label(\"@crates//crates:BUILD.encoding_rs-0.8.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__encoding_rs_io-0.1.8\",\n sha256 = \"fba3fe847045ecff794b9c138293a80db914678c453ad63fbf0c6a9eb6e00b22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encoding_rs_io/0.1.8/download\"],\n strip_prefix = \"encoding_rs_io-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.encoding_rs_io-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__endi-1.1.1\",\n sha256 = \"66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/endi/1.1.1/download\"],\n strip_prefix = \"endi-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.endi-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enigo-0.6.1\",\n sha256 = \"71c6c56e50f7acae2906a0dcbb34529ca647e40421119ad5d12e7f8ba6e50010\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enigo/0.6.1/download\"],\n strip_prefix = \"enigo-0.6.1\",\n build_file = Label(\"@crates//crates:BUILD.enigo-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enumflags2-0.7.12\",\n sha256 = \"1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enumflags2/0.7.12/download\"],\n strip_prefix = \"enumflags2-0.7.12\",\n build_file = Label(\"@crates//crates:BUILD.enumflags2-0.7.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__enumflags2_derive-0.7.12\",\n sha256 = \"67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enumflags2_derive/0.7.12/download\"],\n strip_prefix = \"enumflags2_derive-0.7.12\",\n build_file = Label(\"@crates//crates:BUILD.enumflags2_derive-0.7.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__env_filter-2.0.0\",\n sha256 = \"900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_filter/2.0.0/download\"],\n strip_prefix = \"env_filter-2.0.0\",\n build_file = Label(\"@crates//crates:BUILD.env_filter-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__env_logger-0.11.11\",\n sha256 = \"de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.11.11/download\"],\n strip_prefix = \"env_logger-0.11.11\",\n build_file = Label(\"@crates//crates:BUILD.env_logger-0.11.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__equivalent-1.0.2\",\n sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n strip_prefix = \"equivalent-1.0.2\",\n build_file = Label(\"@crates//crates:BUILD.equivalent-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__errno-0.3.14\",\n sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n strip_prefix = \"errno-0.3.14\",\n build_file = Label(\"@crates//crates:BUILD.errno-0.3.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__error-code-3.4.0\",\n sha256 = \"0b5343afd4a8365a643ac588dab4cf234a190c7f6c88c9f6dd6ffe00837661b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/error-code/3.4.0/download\"],\n strip_prefix = \"error-code-3.4.0\",\n build_file = Label(\"@crates//crates:BUILD.error-code-3.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__event-listener-5.4.2\",\n sha256 = \"5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/event-listener/5.4.2/download\"],\n strip_prefix = \"event-listener-5.4.2\",\n build_file = Label(\"@crates//crates:BUILD.event-listener-5.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__event-listener-strategy-0.5.4\",\n sha256 = \"8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/event-listener-strategy/0.5.4/download\"],\n strip_prefix = \"event-listener-strategy-0.5.4\",\n build_file = Label(\"@crates//crates:BUILD.event-listener-strategy-0.5.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__faccess-0.2.4\",\n sha256 = \"59ae66425802d6a903e268ae1a08b8c38ba143520f227a205edf4e9c7e3e26d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/faccess/0.2.4/download\"],\n strip_prefix = \"faccess-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.faccess-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fancy-regex-0.16.2\",\n sha256 = \"998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fancy-regex/0.16.2/download\"],\n strip_prefix = \"fancy-regex-0.16.2\",\n build_file = Label(\"@crates//crates:BUILD.fancy-regex-0.16.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fancy-regex-0.17.0\",\n sha256 = \"72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fancy-regex/0.17.0/download\"],\n strip_prefix = \"fancy-regex-0.17.0\",\n build_file = Label(\"@crates//crates:BUILD.fancy-regex-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fastrand-2.5.0\",\n sha256 = \"da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.5.0/download\"],\n strip_prefix = \"fastrand-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.fastrand-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fax-0.2.7\",\n sha256 = \"caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fax/0.2.7/download\"],\n strip_prefix = \"fax-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.fax-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fdeflate-0.3.7\",\n sha256 = \"1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fdeflate/0.3.7/download\"],\n strip_prefix = \"fdeflate-0.3.7\",\n build_file = Label(\"@crates//crates:BUILD.fdeflate-0.3.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ff-0.13.1\",\n sha256 = \"c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ff/0.13.1/download\"],\n strip_prefix = \"ff-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.ff-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fiat-crypto-0.2.9\",\n sha256 = \"28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fiat-crypto/0.2.9/download\"],\n strip_prefix = \"fiat-crypto-0.2.9\",\n build_file = Label(\"@crates//crates:BUILD.fiat-crypto-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__filedescriptor-0.8.3\",\n sha256 = \"e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filedescriptor/0.8.3/download\"],\n strip_prefix = \"filedescriptor-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.filedescriptor-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__filetime-0.2.29\",\n sha256 = \"5c287a33c7f0a620c38e641e7f60827713987b3c0f26e8ddc9462cc69cf75759\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filetime/0.2.29/download\"],\n strip_prefix = \"filetime-0.2.29\",\n build_file = Label(\"@crates//crates:BUILD.filetime-0.2.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__find-msvc-tools-0.1.11\",\n sha256 = \"d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.11/download\"],\n strip_prefix = \"find-msvc-tools-0.1.11\",\n build_file = Label(\"@crates//crates:BUILD.find-msvc-tools-0.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fixed_decimal-0.7.2\",\n sha256 = \"79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixed_decimal/0.7.2/download\"],\n strip_prefix = \"fixed_decimal-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.fixed_decimal-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fixedbitset-0.5.7\",\n sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n strip_prefix = \"fixedbitset-0.5.7\",\n build_file = Label(\"@crates//crates:BUILD.fixedbitset-0.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__flate2-1.1.9\",\n sha256 = \"843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flate2/1.1.9/download\"],\n strip_prefix = \"flate2-1.1.9\",\n build_file = Label(\"@crates//crates:BUILD.flate2-1.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-0.17.0\",\n sha256 = \"8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent/0.17.0/download\"],\n strip_prefix = \"fluent-0.17.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-bundle-0.16.0\",\n sha256 = \"01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-bundle/0.16.0/download\"],\n strip_prefix = \"fluent-bundle-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-bundle-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-langneg-0.13.1\",\n sha256 = \"7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-langneg/0.13.1/download\"],\n strip_prefix = \"fluent-langneg-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.fluent-langneg-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fluent-syntax-0.12.0\",\n sha256 = \"54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fluent-syntax/0.12.0/download\"],\n strip_prefix = \"fluent-syntax-0.12.0\",\n build_file = Label(\"@crates//crates:BUILD.fluent-syntax-0.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__flume-0.11.1\",\n sha256 = \"da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/flume/0.11.1/download\"],\n strip_prefix = \"flume-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.flume-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crates//crates:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foldhash-0.1.5\",\n sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n strip_prefix = \"foldhash-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.foldhash-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foldhash-0.2.0\",\n sha256 = \"77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.2.0/download\"],\n strip_prefix = \"foldhash-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.foldhash-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fontdue-0.9.4\",\n sha256 = \"7894823fa221401399e2598f8b63f81ac77ff5c63248b7656779bff1632d7d3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fontdue/0.9.4/download\"],\n strip_prefix = \"fontdue-0.9.4\",\n build_file = Label(\"@crates//crates:BUILD.fontdue-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-0.5.0\",\n sha256 = \"d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types/0.5.0/download\"],\n strip_prefix = \"foreign-types-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-macros-0.2.4\",\n sha256 = \"ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-macros/0.2.4/download\"],\n strip_prefix = \"foreign-types-macros-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-macros-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__foreign-types-shared-0.3.1\",\n sha256 = \"aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foreign-types-shared/0.3.1/download\"],\n strip_prefix = \"foreign-types-shared-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.foreign-types-shared-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__form_urlencoded-1.2.2\",\n sha256 = \"cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/form_urlencoded/1.2.2/download\"],\n strip_prefix = \"form_urlencoded-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.form_urlencoded-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fs_extra-1.3.0\",\n sha256 = \"42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fs_extra/1.3.0/download\"],\n strip_prefix = \"fs_extra-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.fs_extra-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__fsevent-sys-4.1.0\",\n sha256 = \"76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fsevent-sys/4.1.0/download\"],\n strip_prefix = \"fsevent-sys-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.fsevent-sys-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__funty-2.0.0\",\n sha256 = \"e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/funty/2.0.0/download\"],\n strip_prefix = \"funty-2.0.0\",\n build_file = Label(\"@crates//crates:BUILD.funty-2.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-0.3.34\",\n sha256 = \"9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures/0.3.34/download\"],\n strip_prefix = \"futures-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-channel-0.3.34\",\n sha256 = \"b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.34/download\"],\n strip_prefix = \"futures-channel-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-channel-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-core-0.3.34\",\n sha256 = \"92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.34/download\"],\n strip_prefix = \"futures-core-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-core-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-executor-0.3.34\",\n sha256 = \"031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-executor/0.3.34/download\"],\n strip_prefix = \"futures-executor-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-executor-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-io-0.3.34\",\n sha256 = \"53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.34/download\"],\n strip_prefix = \"futures-io-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-io-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-lite-2.6.1\",\n sha256 = \"f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-lite/2.6.1/download\"],\n strip_prefix = \"futures-lite-2.6.1\",\n build_file = Label(\"@crates//crates:BUILD.futures-lite-2.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-macro-0.3.34\",\n sha256 = \"9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-macro/0.3.34/download\"],\n strip_prefix = \"futures-macro-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-macro-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-sink-0.3.34\",\n sha256 = \"1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.34/download\"],\n strip_prefix = \"futures-sink-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-sink-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-task-0.3.34\",\n sha256 = \"cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.34/download\"],\n strip_prefix = \"futures-task-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-task-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__futures-util-0.3.34\",\n sha256 = \"0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.34/download\"],\n strip_prefix = \"futures-util-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.futures-util-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gbm-0.18.0\",\n sha256 = \"ce852e998d3ca5e4a97014fb31c940dc5ef344ec7d364984525fd11e8a547e6a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gbm/0.18.0/download\"],\n strip_prefix = \"gbm-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.gbm-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gbm-sys-0.4.0\",\n sha256 = \"c13a5f2acc785d8fb6bf6b7ab6bfb0ef5dad4f4d97e8e70bb8e470722312f76f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gbm-sys/0.4.0/download\"],\n strip_prefix = \"gbm-sys-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.gbm-sys-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__generic-array-0.14.7\",\n sha256 = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/generic-array/0.14.7/download\"],\n strip_prefix = \"generic-array-0.14.7\",\n build_file = Label(\"@crates//crates:BUILD.generic-array-0.14.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gethostname-1.1.0\",\n sha256 = \"1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gethostname/1.1.0/download\"],\n strip_prefix = \"gethostname-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.gethostname-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.2.17\",\n sha256 = \"ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.2.17/download\"],\n strip_prefix = \"getrandom-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.3.4\",\n sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n strip_prefix = \"getrandom-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__getrandom-0.4.3\",\n sha256 = \"300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.4.3/download\"],\n strip_prefix = \"getrandom-0.4.3\",\n build_file = Label(\"@crates//crates:BUILD.getrandom-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ghash-0.5.1\",\n sha256 = \"f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ghash/0.5.1/download\"],\n strip_prefix = \"ghash-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.ghash-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gif-0.14.2\",\n sha256 = \"ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gif/0.14.2/download\"],\n strip_prefix = \"gif-0.14.2\",\n build_file = Label(\"@crates//crates:BUILD.gif-0.14.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gl-0.14.0\",\n sha256 = \"a94edab108827d67608095e269cf862e60d920f144a5026d3dbcfd8b877fb404\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gl/0.14.0/download\"],\n strip_prefix = \"gl-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.gl-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__gl_generator-0.14.0\",\n sha256 = \"1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/gl_generator/0.14.0/download\"],\n strip_prefix = \"gl_generator-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.gl_generator-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__glob-0.3.4\",\n sha256 = \"e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/glob/0.3.4/download\"],\n strip_prefix = \"glob-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.glob-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__globset-0.4.20\",\n sha256 = \"07c34a9410465b45bd9787443bc7370f37735bad04b0f0cd57ff1a3186c98988\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/globset/0.4.20/download\"],\n strip_prefix = \"globset-0.4.20\",\n build_file = Label(\"@crates//crates:BUILD.globset-0.4.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-cli-0.1.12\",\n sha256 = \"cf32d263c5d5cc2a23ce587097f5ddafdb188492ba2e6fb638eaccdc22453631\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-cli/0.1.12/download\"],\n strip_prefix = \"grep-cli-0.1.12\",\n build_file = Label(\"@crates//crates:BUILD.grep-cli-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-matcher-0.1.9\",\n sha256 = \"f9417543f4870fc8f1c8e1af870afae2431007626d9e703fce6471c468d33847\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-matcher/0.1.9/download\"],\n strip_prefix = \"grep-matcher-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.grep-matcher-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-pcre2-0.1.10\",\n sha256 = \"b752bb6f57dd3716e55b63a33ca05b5825c3d66cd427468874a5564af6ca365c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-pcre2/0.1.10/download\"],\n strip_prefix = \"grep-pcre2-0.1.10\",\n build_file = Label(\"@crates//crates:BUILD.grep-pcre2-0.1.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-printer-0.3.1\",\n sha256 = \"fd76035e87871f51c1ee5b793e32122b3ccf9c692662d9622ef1686ff5321acb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-printer/0.3.1/download\"],\n strip_prefix = \"grep-printer-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.grep-printer-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-regex-0.1.14\",\n sha256 = \"0ce0c256c3ad82bcc07b812c15a45ec1d398122e8e15124f96695234db7112ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-regex/0.1.14/download\"],\n strip_prefix = \"grep-regex-0.1.14\",\n build_file = Label(\"@crates//crates:BUILD.grep-regex-0.1.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__grep-searcher-0.1.17\",\n sha256 = \"72348823a0eafc4bc2e9051064f28b5b42cc100b571b3a35d67918d711efcbc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/grep-searcher/0.1.17/download\"],\n strip_prefix = \"grep-searcher-0.1.17\",\n build_file = Label(\"@crates//crates:BUILD.grep-searcher-0.1.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__group-0.13.0\",\n sha256 = \"f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/group/0.13.0/download\"],\n strip_prefix = \"group-0.13.0\",\n build_file = Label(\"@crates//crates:BUILD.group-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__half-2.7.1\",\n sha256 = \"6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/half/2.7.1/download\"],\n strip_prefix = \"half-2.7.1\",\n build_file = Label(\"@crates//crates:BUILD.half-2.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hash32-0.3.1\",\n sha256 = \"47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hash32/0.3.1/download\"],\n strip_prefix = \"hash32-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.hash32-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.14.5\",\n sha256 = \"e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.14.5/download\"],\n strip_prefix = \"hashbrown-0.14.5\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.14.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.15.5\",\n sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n strip_prefix = \"hashbrown-0.15.5\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.16.1\",\n sha256 = \"841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.16.1/download\"],\n strip_prefix = \"hashbrown-0.16.1\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.16.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hashbrown-0.17.1\",\n sha256 = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.17.1/download\"],\n strip_prefix = \"hashbrown-0.17.1\",\n build_file = Label(\"@crates//crates:BUILD.hashbrown-0.17.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__heapless-0.9.3\",\n sha256 = \"25ba4bd83f9415b58b4ed8dc5714c76e626a105be4646c02630ad730ad3b5aa4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heapless/0.9.3/download\"],\n strip_prefix = \"heapless-0.9.3\",\n build_file = Label(\"@crates//crates:BUILD.heapless-0.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__heck-0.5.0\",\n sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n strip_prefix = \"heck-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.heck-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hermit-abi-0.5.2\",\n sha256 = \"fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hermit-abi/0.5.2/download\"],\n strip_prefix = \"hermit-abi-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.hermit-abi-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hex-0.4.3\",\n sha256 = \"7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hex/0.4.3/download\"],\n strip_prefix = \"hex-0.4.3\",\n build_file = Label(\"@crates//crates:BUILD.hex-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hifijson-0.2.3\",\n sha256 = \"0a7763b98ba8a24f59e698bf9ab197e7676c640d6455d1580b4ce7dc560f0f0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hifijson/0.2.3/download\"],\n strip_prefix = \"hifijson-0.2.3\",\n build_file = Label(\"@crates//crates:BUILD.hifijson-0.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hkdf-0.12.4\",\n sha256 = \"7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hkdf/0.12.4/download\"],\n strip_prefix = \"hkdf-0.12.4\",\n build_file = Label(\"@crates//crates:BUILD.hkdf-0.12.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hmac-0.12.1\",\n sha256 = \"6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hmac/0.12.1/download\"],\n strip_prefix = \"hmac-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.hmac-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hostname-0.4.2\",\n sha256 = \"617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hostname/0.4.2/download\"],\n strip_prefix = \"hostname-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.hostname-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html-escape-0.2.15\",\n sha256 = \"c9356095b4b41197bba32173600e1582792cda618f65d12f68e2e77d273413c5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html-escape/0.2.15/download\"],\n strip_prefix = \"html-escape-0.2.15\",\n build_file = Label(\"@crates//crates:BUILD.html-escape-0.2.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html-to-markdown-rs-3.11.0\",\n sha256 = \"8f3e479289c322f5982b930575658df32d1161d6fab80b4078ce3e692f491df5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html-to-markdown-rs/3.11.0/download\"],\n strip_prefix = \"html-to-markdown-rs-3.11.0\",\n build_file = Label(\"@crates//crates:BUILD.html-to-markdown-rs-3.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__html5ever-0.39.0\",\n sha256 = \"46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/html5ever/0.39.0/download\"],\n strip_prefix = \"html5ever-0.39.0\",\n build_file = Label(\"@crates//crates:BUILD.html5ever-0.39.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__hybrid-array-0.4.14\",\n sha256 = \"707114b52a152fa7bdb290cd7cd5912d9467273b6d74e21b8d81aca1f8533f6b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hybrid-array/0.4.14/download\"],\n strip_prefix = \"hybrid-array-0.4.14\",\n build_file = Label(\"@crates//crates:BUILD.hybrid-array-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__iana-time-zone-0.1.65\",\n sha256 = \"e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone/0.1.65/download\"],\n strip_prefix = \"iana-time-zone-0.1.65\",\n build_file = Label(\"@crates//crates:BUILD.iana-time-zone-0.1.65.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__iana-time-zone-haiku-0.1.2\",\n sha256 = \"f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iana-time-zone-haiku/0.1.2/download\"],\n strip_prefix = \"iana-time-zone-haiku-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.iana-time-zone-haiku-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_calendar-2.3.0\",\n sha256 = \"58655df2f728e46e4eee80bddebefacf52ec3e77cdb925014b47c5a5905eb55c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_calendar/2.3.0/download\"],\n strip_prefix = \"icu_calendar-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_calendar-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_calendar_data-2.3.0\",\n sha256 = \"dc00caaa3fb3201ff7a18aa458e8c3ab042b9da154cfdf948bdde3936c31c36e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_calendar_data/2.3.0/download\"],\n strip_prefix = \"icu_calendar_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_calendar_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collator-2.3.0\",\n sha256 = \"59eea194d189ca897bcb960fd2130f9e7d53998460d4d32e85a60b10d5507cf4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collator/2.3.0/download\"],\n strip_prefix = \"icu_collator-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collator-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collator_data-2.3.0\",\n sha256 = \"f7d7e54efdddeb1208c08dd5d32b53a879ac00d2d3d051b2255fd26821d16368\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collator_data/2.3.0/download\"],\n strip_prefix = \"icu_collator_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collator_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_collections-2.3.0\",\n sha256 = \"fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_collections/2.3.0/download\"],\n strip_prefix = \"icu_collections-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_collections-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_datetime-2.3.0\",\n sha256 = \"c44df99c4c5297b05653d1a1629f13bdc9fd4044acfbbaf30b15194a1eed4cd6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_datetime/2.3.0/download\"],\n strip_prefix = \"icu_datetime-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_datetime-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_datetime_data-2.3.0\",\n sha256 = \"8bb5555f6e4b42233f58564351ce16d73e9e6ebfce6bdcf29875d0cfc554d6a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_datetime_data/2.3.0/download\"],\n strip_prefix = \"icu_datetime_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_datetime_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_decimal-2.3.0\",\n sha256 = \"9eb8f655bba2d0c0459e43a5b0e6cd3cd388109898fb3d85d048165e8b0abd08\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_decimal/2.3.0/download\"],\n strip_prefix = \"icu_decimal-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_decimal-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_decimal_data-2.3.0\",\n sha256 = \"e4c887fc7d4c297cf3f9436864af9e3dba7f8be9415a6c2a7f392f3b1636298c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_decimal_data/2.3.0/download\"],\n strip_prefix = \"icu_decimal_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_decimal_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale-2.3.0\",\n sha256 = \"250ec6d4ac288584d1d0ba29dbfad7737635b7b0e822441f4026a523e3fdb147\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale/2.3.0/download\"],\n strip_prefix = \"icu_locale-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_core-2.3.0\",\n sha256 = \"d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_core/2.3.0/download\"],\n strip_prefix = \"icu_locale_core-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_core-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_data-2.3.0\",\n sha256 = \"d37d91460e362a5cf58907cd7ce871411775ee6294e49a5cc8e6cec16dfa75ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_data/2.3.0/download\"],\n strip_prefix = \"icu_locale_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_fallback-2.3.0\",\n sha256 = \"251af8e57c9400e3eb58242fe5b8b1152b2a64fdf4cf632f923c38ccee6f2fa9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_fallback/2.3.0/download\"],\n strip_prefix = \"icu_locale_fallback-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_fallback-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_locale_fallback_data-2.3.0\",\n sha256 = \"decf2a22ec8fa68f1a0c1129a3f8583f8f8bc24e8b9ccbe98ead99f62a4dc3a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_locale_fallback_data/2.3.0/download\"],\n strip_prefix = \"icu_locale_fallback_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_locale_fallback_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_normalizer-2.3.0\",\n sha256 = \"12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_normalizer/2.3.0/download\"],\n strip_prefix = \"icu_normalizer-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_normalizer-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_normalizer_data-2.3.0\",\n sha256 = \"1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_normalizer_data/2.3.0/download\"],\n strip_prefix = \"icu_normalizer_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_normalizer_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_pattern-0.5.0\",\n sha256 = \"2b3db611446bd92c246b03e4aa0bafa71ddb194af431ddbb42b9d70e4bfce1a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_pattern/0.5.0/download\"],\n strip_prefix = \"icu_pattern-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_pattern-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_plurals-2.3.0\",\n sha256 = \"e475e6766ef87b1d3c1f97be6363995b0bfaeddbc789671615df598a97ff0593\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_plurals/2.3.0/download\"],\n strip_prefix = \"icu_plurals-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_plurals-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_plurals_data-2.3.0\",\n sha256 = \"1251aa39a95e1333888e499b1263e1c196447a28948acf5bdabd82c046f153bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_plurals_data/2.3.0/download\"],\n strip_prefix = \"icu_plurals_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_plurals_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_properties-2.3.0\",\n sha256 = \"7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_properties/2.3.0/download\"],\n strip_prefix = \"icu_properties-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_properties-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_properties_data-2.3.0\",\n sha256 = \"e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_properties_data/2.3.0/download\"],\n strip_prefix = \"icu_properties_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_properties_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_provider-2.3.0\",\n sha256 = \"92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_provider/2.3.0/download\"],\n strip_prefix = \"icu_provider-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_provider-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_time-2.3.0\",\n sha256 = \"af37e1c3b9f3ab564b619fdf4b22de169f6381eb0f7048e3ca454290c438126b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_time/2.3.0/download\"],\n strip_prefix = \"icu_time-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_time-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icu_time_data-2.3.0\",\n sha256 = \"005ff86fa5851a77fc0a977b72d717f777bd9230415a247219d7898aefb1517a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icu_time_data/2.3.0/download\"],\n strip_prefix = \"icu_time_data-2.3.0\",\n build_file = Label(\"@crates//crates:BUILD.icu_time_data-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__icy_sixel-0.5.1\",\n sha256 = \"4bfb5a63225620b59df34a235d1fb56ff7b766909c3212a8ff927511a22b181d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/icy_sixel/0.5.1/download\"],\n strip_prefix = \"icy_sixel-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.icy_sixel-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ident_case-1.0.1\",\n sha256 = \"b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ident_case/1.0.1/download\"],\n strip_prefix = \"ident_case-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.ident_case-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__idna-1.1.0\",\n sha256 = \"3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna/1.1.0/download\"],\n strip_prefix = \"idna-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.idna-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__idna_adapter-1.2.2\",\n sha256 = \"cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/idna_adapter/1.2.2/download\"],\n strip_prefix = \"idna_adapter-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.idna_adapter-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ignore-0.4.33\",\n sha256 = \"00b69833ed729dc5aa7d19541d96d6cf8e9137194207a04916d658e43168402f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ignore/0.4.33/download\"],\n strip_prefix = \"ignore-0.4.33\",\n build_file = Label(\"@crates//crates:BUILD.ignore-0.4.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__image-0.25.10\",\n sha256 = \"85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/image/0.25.10/download\"],\n strip_prefix = \"image-0.25.10\",\n build_file = Label(\"@crates//crates:BUILD.image-0.25.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__image-webp-0.2.4\",\n sha256 = \"525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/image-webp/0.2.4/download\"],\n strip_prefix = \"image-webp-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.image-webp-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__include_dir-0.7.4\",\n sha256 = \"923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/include_dir/0.7.4/download\"],\n strip_prefix = \"include_dir-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.include_dir-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__include_dir_macros-0.7.4\",\n sha256 = \"7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/include_dir_macros/0.7.4/download\"],\n strip_prefix = \"include_dir_macros-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.include_dir_macros-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indenter-0.3.4\",\n sha256 = \"964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indenter/0.3.4/download\"],\n strip_prefix = \"indenter-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.indenter-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indexmap-2.14.0\",\n sha256 = \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.14.0/download\"],\n strip_prefix = \"indexmap-2.14.0\",\n build_file = Label(\"@crates//crates:BUILD.indexmap-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__indicatif-0.18.6\",\n sha256 = \"9433806cd6b4ec1aba79c021c7e4c58fb4c3b9977c085062e611ac929998fb0c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.18.6/download\"],\n strip_prefix = \"indicatif-0.18.6\",\n build_file = Label(\"@crates//crates:BUILD.indicatif-0.18.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inferno-0.12.8\",\n sha256 = \"0c460d4fa06223667240720ab69a8045133755ae6dfbe100cf481b95e3a014f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inferno/0.12.8/download\"],\n strip_prefix = \"inferno-0.12.8\",\n build_file = Label(\"@crates//crates:BUILD.inferno-0.12.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inherent-1.0.14\",\n sha256 = \"bee2c455ca60511a054699102d40ce7153621cb2429558f9eaa600e4499b5984\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inherent/1.0.14/download\"],\n strip_prefix = \"inherent-1.0.14\",\n build_file = Label(\"@crates//crates:BUILD.inherent-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inotify-0.11.5\",\n sha256 = \"4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inotify/0.11.5/download\"],\n strip_prefix = \"inotify-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.inotify-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inotify-sys-0.1.8\",\n sha256 = \"c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inotify-sys/0.1.8/download\"],\n strip_prefix = \"inotify-sys-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.inotify-sys-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__inout-0.1.4\",\n sha256 = \"879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/inout/0.1.4/download\"],\n strip_prefix = \"inout-0.1.4\",\n build_file = Label(\"@crates//crates:BUILD.inout-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__insta-1.48.0\",\n sha256 = \"86f0f8fee8c926415c58d6ae43a08523a26faccb2323f5e6b644fe7dd4ef6b82\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/insta/1.48.0/download\"],\n strip_prefix = \"insta-1.48.0\",\n build_file = Label(\"@crates//crates:BUILD.insta-1.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__interceptor-0.17.2\",\n sha256 = \"88c11a956a48159f7fe539b8198f12b4db9b709ae5f94385b840db38f97fed74\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/interceptor/0.17.2/download\"],\n strip_prefix = \"interceptor-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.interceptor-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__intl-memoizer-0.5.3\",\n sha256 = \"310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/intl-memoizer/0.5.3/download\"],\n strip_prefix = \"intl-memoizer-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.intl-memoizer-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__intl_pluralrules-7.0.2\",\n sha256 = \"078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/intl_pluralrules/7.0.2/download\"],\n strip_prefix = \"intl_pluralrules-7.0.2\",\n build_file = Label(\"@crates//crates:BUILD.intl_pluralrules-7.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ipnet-2.12.1\",\n sha256 = \"6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipnet/2.12.1/download\"],\n strip_prefix = \"ipnet-2.12.1\",\n build_file = Label(\"@crates//crates:BUILD.ipnet-2.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__is_terminal_polyfill-1.70.2\",\n sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n strip_prefix = \"is_terminal_polyfill-1.70.2\",\n build_file = Label(\"@crates//crates:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crates//crates:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itertools-0.14.0\",\n sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n strip_prefix = \"itertools-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.itertools-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__itoa-1.0.18\",\n sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n strip_prefix = \"itoa-1.0.18\",\n build_file = Label(\"@crates//crates:BUILD.itoa-1.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-core-2.2.1\",\n sha256 = \"77526a72eb79412c29fd141767a6549bbfcb1cb40e00556fe16532d5e878e098\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-core/2.2.1/download\"],\n strip_prefix = \"jaq-core-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.jaq-core-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-json-1.1.3\",\n sha256 = \"01dbdbd07b076e8403abac68ce7744d93e2ecd953bbc44bf77bf00e1e81172bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-json/1.1.3/download\"],\n strip_prefix = \"jaq-json-1.1.3\",\n build_file = Label(\"@crates//crates:BUILD.jaq-json-1.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jaq-std-2.1.2\",\n sha256 = \"2c264fe397c981705976c71f1bfe020382b9eda52ae950e57fe885e147bdd67d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jaq-std/2.1.2/download\"],\n strip_prefix = \"jaq-std-2.1.2\",\n build_file = Label(\"@crates//crates:BUILD.jaq-std-2.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-0.2.35\",\n sha256 = \"668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff/0.2.35/download\"],\n strip_prefix = \"jiff-0.2.35\",\n build_file = Label(\"@crates//crates:BUILD.jiff-0.2.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-core-0.1.0\",\n sha256 = \"7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-core/0.1.0/download\"],\n strip_prefix = \"jiff-core-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.jiff-core-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-icu-0.2.2\",\n sha256 = \"0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-icu/0.2.2/download\"],\n strip_prefix = \"jiff-icu-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.jiff-icu-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-static-0.2.35\",\n sha256 = \"3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-static/0.2.35/download\"],\n strip_prefix = \"jiff-static-0.2.35\",\n build_file = Label(\"@crates//crates:BUILD.jiff-static-0.2.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-tzdb-0.1.8\",\n sha256 = \"142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-tzdb/0.1.8/download\"],\n strip_prefix = \"jiff-tzdb-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.jiff-tzdb-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jiff-tzdb-platform-0.1.3\",\n sha256 = \"875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-tzdb-platform/0.1.3/download\"],\n strip_prefix = \"jiff-tzdb-platform-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.jiff-tzdb-platform-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__jobserver-0.1.35\",\n sha256 = \"1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jobserver/0.1.35/download\"],\n strip_prefix = \"jobserver-0.1.35\",\n build_file = Label(\"@crates//crates:BUILD.jobserver-0.1.35.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__js-sys-0.3.104\",\n sha256 = \"0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.104/download\"],\n strip_prefix = \"js-sys-0.3.104\",\n build_file = Label(\"@crates//crates:BUILD.js-sys-0.3.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__keccak-0.1.6\",\n sha256 = \"cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/keccak/0.1.6/download\"],\n strip_prefix = \"keccak-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.keccak-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__khronos-egl-6.0.0\",\n sha256 = \"6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/khronos-egl/6.0.0/download\"],\n strip_prefix = \"khronos-egl-6.0.0\",\n build_file = Label(\"@crates//crates:BUILD.khronos-egl-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__khronos_api-3.1.0\",\n sha256 = \"e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/khronos_api/3.1.0/download\"],\n strip_prefix = \"khronos_api-3.1.0\",\n build_file = Label(\"@crates//crates:BUILD.khronos_api-3.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__kqueue-1.2.1\",\n sha256 = \"8d763e5b24120b4ddf50de6c92308156765aabfbbccebf401da7cff2d70a41ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/kqueue/1.2.1/download\"],\n strip_prefix = \"kqueue-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.kqueue-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__kqueue-sys-1.1.2\",\n sha256 = \"07293a4e297ac234359b510362495713f75ea345d5307140414f20c69ffeb087\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/kqueue-sys/1.1.2/download\"],\n strip_prefix = \"kqueue-sys-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.kqueue-sys-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lazy_static-1.5.0\",\n sha256 = \"bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.5.0/download\"],\n strip_prefix = \"lazy_static-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.lazy_static-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libc-0.2.189\",\n sha256 = \"3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.189/download\"],\n strip_prefix = \"libc-0.2.189\",\n build_file = Label(\"@crates//crates:BUILD.libc-0.2.189.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libloading-0.8.9\",\n sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n strip_prefix = \"libloading-0.8.9\",\n build_file = Label(\"@crates//crates:BUILD.libloading-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libloading-0.9.0\",\n sha256 = \"754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.9.0/download\"],\n strip_prefix = \"libloading-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.libloading-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libm-0.2.16\",\n sha256 = \"b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libm/0.2.16/download\"],\n strip_prefix = \"libm-0.2.16\",\n build_file = Label(\"@crates//crates:BUILD.libm-0.2.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libredox-0.1.20\",\n sha256 = \"28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libredox/0.1.20/download\"],\n strip_prefix = \"libredox-0.1.20\",\n build_file = Label(\"@crates//crates:BUILD.libredox-0.1.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libspa-0.9.2\",\n sha256 = \"b6b8cfa2a7656627b4c92c6b9ef929433acd673d5ab3708cda1b18478ac00df4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libspa/0.9.2/download\"],\n strip_prefix = \"libspa-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.libspa-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libspa-sys-0.9.2\",\n sha256 = \"901049455d2eb6decf9058235d745237952f4804bc584c5fcb41412e6adcc6e0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libspa-sys/0.9.2/download\"],\n strip_prefix = \"libspa-sys-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.libspa-sys-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__libwayshot-xcap-0.3.3\",\n sha256 = \"ea8a46e4d016ef464e386e4970f5415fe0939c2d63abe0c2f539c05ef88c5fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libwayshot-xcap/0.3.3/download\"],\n strip_prefix = \"libwayshot-xcap-0.3.3\",\n build_file = Label(\"@crates//crates:BUILD.libwayshot-xcap-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linked-hash-map-0.5.6\",\n sha256 = \"0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linked-hash-map/0.5.6/download\"],\n strip_prefix = \"linked-hash-map-0.5.6\",\n build_file = Label(\"@crates//crates:BUILD.linked-hash-map-0.5.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.12.1\",\n sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n strip_prefix = \"linux-raw-sys-0.12.1\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.4.15\",\n sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n strip_prefix = \"linux-raw-sys-0.4.15\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.4.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__linux-raw-sys-0.9.4\",\n sha256 = \"cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.9.4/download\"],\n strip_prefix = \"linux-raw-sys-0.9.4\",\n build_file = Label(\"@crates//crates:BUILD.linux-raw-sys-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__litemap-0.8.3\",\n sha256 = \"47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/litemap/0.8.3/download\"],\n strip_prefix = \"litemap-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.litemap-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lock_api-0.4.14\",\n sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n strip_prefix = \"lock_api-0.4.14\",\n build_file = Label(\"@crates//crates:BUILD.lock_api-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__log-0.4.33\",\n sha256 = \"0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.33/download\"],\n strip_prefix = \"log-0.4.33\",\n build_file = Label(\"@crates//crates:BUILD.log-0.4.33.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lopdf-0.42.0\",\n sha256 = \"25aab26d99567469098e64a02f42679f8965c6401263eefa31d8f2dcc37a221c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lopdf/0.42.0/download\"],\n strip_prefix = \"lopdf-0.42.0\",\n build_file = Label(\"@crates//crates:BUILD.lopdf-0.42.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__lscolors-0.21.0\",\n sha256 = \"d60e266dfb1426eb2d24792602e041131fdc0236bb7007abc0e589acafd60929\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lscolors/0.21.0/download\"],\n strip_prefix = \"lscolors-0.21.0\",\n build_file = Label(\"@crates//crates:BUILD.lscolors-0.21.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__markup5ever-0.39.0\",\n sha256 = \"7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/markup5ever/0.39.0/download\"],\n strip_prefix = \"markup5ever-0.39.0\",\n build_file = Label(\"@crates//crates:BUILD.markup5ever-0.39.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__md-5-0.10.6\",\n sha256 = \"d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/md-5/0.10.6/download\"],\n strip_prefix = \"md-5-0.10.6\",\n build_file = Label(\"@crates//crates:BUILD.md-5-0.10.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memchr-2.8.3\",\n sha256 = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.8.3/download\"],\n strip_prefix = \"memchr-2.8.3\",\n build_file = Label(\"@crates//crates:BUILD.memchr-2.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memmap2-0.9.11\",\n sha256 = \"d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memmap2/0.9.11/download\"],\n strip_prefix = \"memmap2-0.9.11\",\n build_file = Label(\"@crates//crates:BUILD.memmap2-0.9.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memoffset-0.7.1\",\n sha256 = \"5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.7.1/download\"],\n strip_prefix = \"memoffset-0.7.1\",\n build_file = Label(\"@crates//crates:BUILD.memoffset-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__memoffset-0.9.1\",\n sha256 = \"488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memoffset/0.9.1/download\"],\n strip_prefix = \"memoffset-0.9.1\",\n build_file = Label(\"@crates//crates:BUILD.memoffset-0.9.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__minimal-lexical-0.2.1\",\n sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n strip_prefix = \"minimal-lexical-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.minimal-lexical-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__miniz_oxide-0.8.9\",\n sha256 = \"1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/miniz_oxide/0.8.9/download\"],\n strip_prefix = \"miniz_oxide-0.8.9\",\n build_file = Label(\"@crates//crates:BUILD.miniz_oxide-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__mio-1.2.2\",\n sha256 = \"30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.2.2/download\"],\n strip_prefix = \"mio-1.2.2\",\n build_file = Label(\"@crates//crates:BUILD.mio-1.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__moxcms-0.8.1\",\n sha256 = \"bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/moxcms/0.8.1/download\"],\n strip_prefix = \"moxcms-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.moxcms-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__munge-0.4.7\",\n sha256 = \"5e17401f259eba956ca16491461b6e8f72913a0a114e39736ce404410f915a0c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/munge/0.4.7/download\"],\n strip_prefix = \"munge-0.4.7\",\n build_file = Label(\"@crates//crates:BUILD.munge-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__munge_macro-0.4.7\",\n sha256 = \"4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/munge_macro/0.4.7/download\"],\n strip_prefix = \"munge_macro-0.4.7\",\n build_file = Label(\"@crates//crates:BUILD.munge_macro-0.4.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nanorand-0.7.0\",\n sha256 = \"6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nanorand/0.7.0/download\"],\n strip_prefix = \"nanorand-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.nanorand-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-3.12.1\",\n sha256 = \"459197f1592f4c3dbbf9c1b13f5a4599a343e4ef66b96bc340e2a518b36a6662\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi/3.12.1/download\"],\n strip_prefix = \"napi-3.12.1\",\n build_file = Label(\"@crates//crates:BUILD.napi-3.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-build-2.4.1\",\n sha256 = \"60fdf9b392c50e7c4170fa633bd909490ed7835cea4c046776d1a4dd8d2ae0ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-build/2.4.1/download\"],\n strip_prefix = \"napi-build-2.4.1\",\n build_file = Label(\"@crates//crates:BUILD.napi-build-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-derive-3.6.3\",\n sha256 = \"0fa55ea69990c90b888e9e77044410e304ce7f35de599dc6d0b5c1923d2e59af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-derive/3.6.3/download\"],\n strip_prefix = \"napi-derive-3.6.3\",\n build_file = Label(\"@crates//crates:BUILD.napi-derive-3.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-derive-backend-6.1.2\",\n sha256 = \"df4056ac7c18e4438ccf0edaed4340ca0d269278c8ec19284f7b23cb039fd0ae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-derive-backend/6.1.2/download\"],\n strip_prefix = \"napi-derive-backend-6.1.2\",\n build_file = Label(\"@crates//crates:BUILD.napi-derive-backend-6.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__napi-sys-3.3.0\",\n sha256 = \"85fbf1fa9f1babfe396d74bbbf52b3643770243e8f5b0b46715d4caf7f0dfc9a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/napi-sys/3.3.0/download\"],\n strip_prefix = \"napi-sys-3.3.0\",\n build_file = Label(\"@crates//crates:BUILD.napi-sys-3.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__new_debug_unreachable-1.0.6\",\n sha256 = \"650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/new_debug_unreachable/1.0.6/download\"],\n strip_prefix = \"new_debug_unreachable-1.0.6\",\n build_file = Label(\"@crates//crates:BUILD.new_debug_unreachable-1.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.24.3\",\n sha256 = \"fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.24.3/download\"],\n strip_prefix = \"nix-0.24.3\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.24.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.26.4\",\n sha256 = \"598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.26.4/download\"],\n strip_prefix = \"nix-0.26.4\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.28.0\",\n sha256 = \"ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.28.0/download\"],\n strip_prefix = \"nix-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.30.1\",\n sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n strip_prefix = \"nix-0.30.1\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.30.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nix-0.31.3\",\n sha256 = \"cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.31.3/download\"],\n strip_prefix = \"nix-0.31.3\",\n build_file = Label(\"@crates//crates:BUILD.nix-0.31.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nohash-hasher-0.2.0\",\n sha256 = \"2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nohash-hasher/0.2.0/download\"],\n strip_prefix = \"nohash-hasher-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.nohash-hasher-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nom-7.1.3\",\n sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n strip_prefix = \"nom-7.1.3\",\n build_file = Label(\"@crates//crates:BUILD.nom-7.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nom-8.0.0\",\n sha256 = \"df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/8.0.0/download\"],\n strip_prefix = \"nom-8.0.0\",\n build_file = Label(\"@crates//crates:BUILD.nom-8.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__normalize-path-0.2.1\",\n sha256 = \"f5438dd2b2ff4c6df6e1ce22d825ed2fa93ee2922235cc45186991717f0a892d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/normalize-path/0.2.1/download\"],\n strip_prefix = \"normalize-path-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.normalize-path-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__notify-8.2.0\",\n sha256 = \"4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/notify/8.2.0/download\"],\n strip_prefix = \"notify-8.2.0\",\n build_file = Label(\"@crates//crates:BUILD.notify-8.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__notify-types-2.1.0\",\n sha256 = \"42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/notify-types/2.1.0/download\"],\n strip_prefix = \"notify-types-2.1.0\",\n build_file = Label(\"@crates//crates:BUILD.notify-types-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__nu-ansi-term-0.50.3\",\n sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n strip_prefix = \"nu-ansi-term-0.50.3\",\n build_file = Label(\"@crates//crates:BUILD.nu-ansi-term-0.50.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-bigint-0.4.8\",\n sha256 = \"c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-bigint/0.4.8/download\"],\n strip_prefix = \"num-bigint-0.4.8\",\n build_file = Label(\"@crates//crates:BUILD.num-bigint-0.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-conv-0.2.2\",\n sha256 = \"521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.2.2/download\"],\n strip_prefix = \"num-conv-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.num-conv-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-format-0.4.4\",\n sha256 = \"a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-format/0.4.4/download\"],\n strip_prefix = \"num-format-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.num-format-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-integer-0.1.47\",\n sha256 = \"7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-integer/0.1.47/download\"],\n strip_prefix = \"num-integer-0.1.47\",\n build_file = Label(\"@crates//crates:BUILD.num-integer-0.1.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__num-traits-0.2.19\",\n sha256 = \"071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-traits/0.2.19/download\"],\n strip_prefix = \"num-traits-0.2.19\",\n build_file = Label(\"@crates//crates:BUILD.num-traits-0.2.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-0.6.4\",\n sha256 = \"3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2/0.6.4/download\"],\n strip_prefix = \"objc2-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.objc2-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-app-kit-0.3.2\",\n sha256 = \"d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-app-kit/0.3.2/download\"],\n strip_prefix = \"objc2-app-kit-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-app-kit-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-application-services-0.3.2\",\n sha256 = \"69282c2b5bc58fba07cb9de2113619532eb551e98efe3d8d695509ef45fbd53b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-application-services/0.3.2/download\"],\n strip_prefix = \"objc2-application-services-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-application-services-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-av-foundation-0.3.2\",\n sha256 = \"478ae33fcac9df0a18db8302387c666b8ef08a3e2d62b510ca4fc278a384b6c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-av-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-av-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-av-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-avf-audio-0.3.2\",\n sha256 = \"13a380031deed8e99db00065c45937da434ca987c034e13b87e4441f9e4090be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-avf-audio/0.3.2/download\"],\n strip_prefix = \"objc2-avf-audio-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-avf-audio-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-cloud-kit-0.3.2\",\n sha256 = \"73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-cloud-kit/0.3.2/download\"],\n strip_prefix = \"objc2-cloud-kit-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-cloud-kit-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-audio-0.3.2\",\n sha256 = \"e1eebcea8b0dbff5f7c8504f3107c68fc061a3eb44932051c8cf8a68d969c3b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-audio/0.3.2/download\"],\n strip_prefix = \"objc2-core-audio-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-audio-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-audio-types-0.3.2\",\n sha256 = \"5a89f2ec274a0cf4a32642b2991e8b351a404d290da87bb6a9a9d8632490bd1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-audio-types/0.3.2/download\"],\n strip_prefix = \"objc2-core-audio-types-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-audio-types-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-data-0.3.2\",\n sha256 = \"0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-data/0.3.2/download\"],\n strip_prefix = \"objc2-core-data-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-data-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-foundation-0.3.2\",\n sha256 = \"2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-core-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-graphics-0.3.2\",\n sha256 = \"e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-graphics/0.3.2/download\"],\n strip_prefix = \"objc2-core-graphics-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-graphics-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-image-0.3.2\",\n sha256 = \"e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-image/0.3.2/download\"],\n strip_prefix = \"objc2-core-image-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-image-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-media-0.3.2\",\n sha256 = \"05ec576860167a15dd9fce7fbee7512beb4e31f532159d3482d1f9c6caedf31d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-media/0.3.2/download\"],\n strip_prefix = \"objc2-core-media-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-media-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-services-0.3.2\",\n sha256 = \"583300ad934cba24ff5292aee751ecc070f7ca6b39a574cc21b7b5e588e06a0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-services/0.3.2/download\"],\n strip_prefix = \"objc2-core-services-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-services-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-text-0.3.2\",\n sha256 = \"0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-text/0.3.2/download\"],\n strip_prefix = \"objc2-core-text-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-text-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-core-video-0.3.2\",\n sha256 = \"d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-core-video/0.3.2/download\"],\n strip_prefix = \"objc2-core-video-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-core-video-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-encode-4.1.0\",\n sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n strip_prefix = \"objc2-encode-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.objc2-encode-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-foundation-0.3.2\",\n sha256 = \"e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-foundation/0.3.2/download\"],\n strip_prefix = \"objc2-foundation-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-foundation-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-image-io-0.3.2\",\n sha256 = \"32b0446e98cf4a784cc7a0177715ff317eeaa8463841c616cfc78aa4f953c4ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-image-io/0.3.2/download\"],\n strip_prefix = \"objc2-image-io-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-image-io-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-io-surface-0.3.2\",\n sha256 = \"180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-io-surface/0.3.2/download\"],\n strip_prefix = \"objc2-io-surface-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-io-surface-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-media-toolbox-0.3.2\",\n sha256 = \"edd9fdde720df3da7046bb9097811000c1e7ab5cd579fa89d96b27d56781fb30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-media-toolbox/0.3.2/download\"],\n strip_prefix = \"objc2-media-toolbox-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-media-toolbox-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-metal-0.3.2\",\n sha256 = \"a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-metal/0.3.2/download\"],\n strip_prefix = \"objc2-metal-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-metal-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-quartz-core-0.3.2\",\n sha256 = \"96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-quartz-core/0.3.2/download\"],\n strip_prefix = \"objc2-quartz-core-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-quartz-core-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-security-0.3.2\",\n sha256 = \"709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-security/0.3.2/download\"],\n strip_prefix = \"objc2-security-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-security-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__objc2-system-configuration-0.3.2\",\n sha256 = \"7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-system-configuration/0.3.2/download\"],\n strip_prefix = \"objc2-system-configuration-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.objc2-system-configuration-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__oid-registry-0.7.1\",\n sha256 = \"a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/oid-registry/0.7.1/download\"],\n strip_prefix = \"oid-registry-0.7.1\",\n build_file = Label(\"@crates//crates:BUILD.oid-registry-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__once_cell-1.21.4\",\n sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n strip_prefix = \"once_cell-1.21.4\",\n build_file = Label(\"@crates//crates:BUILD.once_cell-1.21.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__once_cell_polyfill-1.70.2\",\n sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n strip_prefix = \"once_cell_polyfill-1.70.2\",\n build_file = Label(\"@crates//crates:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__onig-6.5.3\",\n sha256 = \"0cc3cbf698f9438986c11a880c90a6d04b9de27575afd28bbf45b154b6c709e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/onig/6.5.3/download\"],\n strip_prefix = \"onig-6.5.3\",\n build_file = Label(\"@crates//crates:BUILD.onig-6.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__onig_sys-69.9.3\",\n sha256 = \"1e68317604e77e53b85896388e1a803c1d21b74c899ec9e5e1112db90735edd7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/onig_sys/69.9.3/download\"],\n strip_prefix = \"onig_sys-69.9.3\",\n build_file = Label(\"@crates//crates:BUILD.onig_sys-69.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__opaque-debug-0.3.1\",\n sha256 = \"c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opaque-debug/0.3.1/download\"],\n strip_prefix = \"opaque-debug-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.opaque-debug-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__opus-0.3.1\",\n sha256 = \"4d3809943dff6fbad5f0484449ea26bdb9cb7d8efdf26ed50d3c7f227f69eb5c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/opus/0.3.1/download\"],\n strip_prefix = \"opus-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.opus-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ordered-float-5.3.0\",\n sha256 = \"b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ordered-float/5.3.0/download\"],\n strip_prefix = \"ordered-float-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.ordered-float-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ordered-stream-0.2.0\",\n sha256 = \"9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ordered-stream/0.2.0/download\"],\n strip_prefix = \"ordered-stream-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.ordered-stream-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__os_display-0.1.4\",\n sha256 = \"ad5fd71b79026fb918650dde6d125000a233764f1c2f1659a1c71118e33ea08f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/os_display/0.1.4/download\"],\n strip_prefix = \"os_display-0.1.4\",\n build_file = Label(\"@crates//crates:BUILD.os_display-0.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__os_pipe-1.2.3\",\n sha256 = \"7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/os_pipe/1.2.3/download\"],\n strip_prefix = \"os_pipe-1.2.3\",\n build_file = Label(\"@crates//crates:BUILD.os_pipe-1.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__outref-0.5.2\",\n sha256 = \"1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/outref/0.5.2/download\"],\n strip_prefix = \"outref-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.outref-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__p256-0.13.2\",\n sha256 = \"c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p256/0.13.2/download\"],\n strip_prefix = \"p256-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.p256-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__p384-0.13.1\",\n sha256 = \"fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/p384/0.13.1/download\"],\n strip_prefix = \"p384-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.p384-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette-0.7.7\",\n sha256 = \"ddeed8580d347d2abf3dcf06a5f0b3dc020258338526b277847cd4248a70fc64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette/0.7.7/download\"],\n strip_prefix = \"palette-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette_derive-0.7.7\",\n sha256 = \"88537020289b719d81be994ccf1bbf4990f477e2f69ee52fe3e45f43a02e56be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette_derive/0.7.7/download\"],\n strip_prefix = \"palette_derive-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette_derive-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__palette_math-0.7.7\",\n sha256 = \"6e6eb142958d64335fb0e345c5b9ead2ecd6fc438c307e9d7d3c4fd428dbaf12\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/palette_math/0.7.7/download\"],\n strip_prefix = \"palette_math-0.7.7\",\n build_file = Label(\"@crates//crates:BUILD.palette_math-0.7.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking-2.2.1\",\n sha256 = \"f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking/2.2.1/download\"],\n strip_prefix = \"parking-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.parking-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking_lot-0.12.5\",\n sha256 = \"93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot/0.12.5/download\"],\n strip_prefix = \"parking_lot-0.12.5\",\n build_file = Label(\"@crates//crates:BUILD.parking_lot-0.12.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parking_lot_core-0.9.12\",\n sha256 = \"2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parking_lot_core/0.9.12/download\"],\n strip_prefix = \"parking_lot_core-0.9.12\",\n build_file = Label(\"@crates//crates:BUILD.parking_lot_core-0.9.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__parse_datetime-0.14.0\",\n sha256 = \"413775a7eac2261d2211a79d10ef275e5b6f7b527eec42ad09adce2ffa92b6e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/parse_datetime/0.14.0/download\"],\n strip_prefix = \"parse_datetime-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.parse_datetime-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pcre2-0.2.11\",\n sha256 = \"9e970b0fcce0c7ee6ef662744ff711f21ccd6f11b7cf03cd187a80e89797fc67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pcre2/0.2.11/download\"],\n strip_prefix = \"pcre2-0.2.11\",\n build_file = Label(\"@crates//crates:BUILD.pcre2-0.2.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pcre2-sys-0.2.10\",\n sha256 = \"18b9073c1a2549bd409bf4a32c94d903bb1a09bf845bc306ae148897fa0760a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pcre2-sys/0.2.10/download\"],\n strip_prefix = \"pcre2-sys-0.2.10\",\n build_file = Label(\"@crates//crates:BUILD.pcre2-sys-0.2.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pdf-inspector-1.15.0\",\n sha256 = \"71d004766b3256499a00dc15c05d99872a24ab6d95ee34b6409eaaec4b793b3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pdf-inspector/1.15.0/download\"],\n strip_prefix = \"pdf-inspector-1.15.0\",\n build_file = Label(\"@crates//crates:BUILD.pdf-inspector-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-0.8.6\",\n sha256 = \"0aad070be5b63aa72103f2fcdd70a83adbd5e90112ce5b574171ff1c65501773\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg/0.8.6/download\"],\n strip_prefix = \"peg-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-macros-0.8.6\",\n sha256 = \"ddd8ef6825cae95355031ae26a99b616a2a21f22ba2de0197c43dfb05acbe7ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg-macros/0.8.6/download\"],\n strip_prefix = \"peg-macros-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-macros-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__peg-runtime-0.8.6\",\n sha256 = \"7011d97b484a5ebdc4b1fdb3b12d5e4bbbea56e9d22b688f2e79e04b65a7d8a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/peg-runtime/0.8.6/download\"],\n strip_prefix = \"peg-runtime-0.8.6\",\n build_file = Label(\"@crates//crates:BUILD.peg-runtime-0.8.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pem-3.0.6\",\n sha256 = \"1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem/3.0.6/download\"],\n strip_prefix = \"pem-3.0.6\",\n build_file = Label(\"@crates//crates:BUILD.pem-3.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pem-rfc7468-0.7.0\",\n sha256 = \"88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pem-rfc7468/0.7.0/download\"],\n strip_prefix = \"pem-rfc7468-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.pem-rfc7468-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__percent-encoding-2.3.2\",\n sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n strip_prefix = \"percent-encoding-2.3.2\",\n build_file = Label(\"@crates//crates:BUILD.percent-encoding-2.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest-2.9.0\",\n sha256 = \"5a07a60cc7a4d00c91f95c685609d1d2f79050e6804b70ebedd7650f0b839bcf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest/2.9.0/download\"],\n strip_prefix = \"pest-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_derive-2.9.0\",\n sha256 = \"b3a83744a5c8455b8b3e0dc5031362780a347c878bdd11584d1a8984228cc88d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_derive/2.9.0/download\"],\n strip_prefix = \"pest_derive-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_derive-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_generator-2.9.0\",\n sha256 = \"e0cd3451aa3de60d4b9a1e736885e4dea6b31617598026f12256ad566d63304a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_generator/2.9.0/download\"],\n strip_prefix = \"pest_generator-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_generator-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pest_meta-2.9.0\",\n sha256 = \"e04d3a0849e241d7dfce834c83b1c5edc8622009e8dd51a12ba1927c32f05496\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pest_meta/2.9.0/download\"],\n strip_prefix = \"pest_meta-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.pest_meta-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__petgraph-0.8.3\",\n sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n strip_prefix = \"petgraph-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.petgraph-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.11.3\",\n sha256 = \"1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.11.3/download\"],\n strip_prefix = \"phf-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.13.1\",\n sha256 = \"c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.13.1/download\"],\n strip_prefix = \"phf-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf-0.14.0\",\n sha256 = \"010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf/0.14.0/download\"],\n strip_prefix = \"phf-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_codegen-0.11.3\",\n sha256 = \"aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.11.3/download\"],\n strip_prefix = \"phf_codegen-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_codegen-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_codegen-0.13.1\",\n sha256 = \"49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_codegen/0.13.1/download\"],\n strip_prefix = \"phf_codegen-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_codegen-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.11.3\",\n sha256 = \"3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.11.3/download\"],\n strip_prefix = \"phf_generator-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.13.1\",\n sha256 = \"135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.13.1/download\"],\n strip_prefix = \"phf_generator-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_generator-0.14.0\",\n sha256 = \"aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_generator/0.14.0/download\"],\n strip_prefix = \"phf_generator-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_generator-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_macros-0.13.1\",\n sha256 = \"812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_macros/0.13.1/download\"],\n strip_prefix = \"phf_macros-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_macros-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_macros-0.14.0\",\n sha256 = \"5fa8d0ca26d424d27630da600c6624696e7dec8bf7b3b492b383c5dc49e5e085\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_macros/0.14.0/download\"],\n strip_prefix = \"phf_macros-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_macros-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.11.3\",\n sha256 = \"67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.11.3/download\"],\n strip_prefix = \"phf_shared-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.13.1\",\n sha256 = \"e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.13.1/download\"],\n strip_prefix = \"phf_shared-0.13.1\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__phf_shared-0.14.0\",\n sha256 = \"c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/phf_shared/0.14.0/download\"],\n strip_prefix = \"phf_shared-0.14.0\",\n build_file = Label(\"@crates//crates:BUILD.phf_shared-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pin-project-lite-0.2.17\",\n sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n strip_prefix = \"pin-project-lite-0.2.17\",\n build_file = Label(\"@crates//crates:BUILD.pin-project-lite-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pin-utils-0.1.0\",\n sha256 = \"8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-utils/0.1.0/download\"],\n strip_prefix = \"pin-utils-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.pin-utils-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__piper-0.2.5\",\n sha256 = \"c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/piper/0.2.5/download\"],\n strip_prefix = \"piper-0.2.5\",\n build_file = Label(\"@crates//crates:BUILD.piper-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pipewire-0.9.2\",\n sha256 = \"9688b89abf11d756499f7c6190711d6dbe5a3acdb30c8fbf001d6596d06a8d44\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pipewire/0.9.2/download\"],\n strip_prefix = \"pipewire-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.pipewire-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pipewire-sys-0.9.2\",\n sha256 = \"cb028afee0d6ca17020b090e3b8fa2d7de23305aef975c7e5192a5050246ea36\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pipewire-sys/0.9.2/download\"],\n strip_prefix = \"pipewire-sys-0.9.2\",\n build_file = Label(\"@crates//crates:BUILD.pipewire-sys-0.9.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pkcs8-0.10.2\",\n sha256 = \"f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkcs8/0.10.2/download\"],\n strip_prefix = \"pkcs8-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.pkcs8-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pkg-config-0.3.34\",\n sha256 = \"f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pkg-config/0.3.34/download\"],\n strip_prefix = \"pkg-config-0.3.34\",\n build_file = Label(\"@crates//crates:BUILD.pkg-config-0.3.34.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__platform-info-2.1.0\",\n sha256 = \"9368d62437c8cbb7c31ee37fd8c08a7d390e09a3ff75698a674953f46705ffcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/platform-info/2.1.0/download\"],\n strip_prefix = \"platform-info-2.1.0\",\n build_file = Label(\"@crates//crates:BUILD.platform-info-2.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__png-0.18.1\",\n sha256 = \"60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/png/0.18.1/download\"],\n strip_prefix = \"png-0.18.1\",\n build_file = Label(\"@crates//crates:BUILD.png-0.18.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__polling-3.11.0\",\n sha256 = \"5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/polling/3.11.0/download\"],\n strip_prefix = \"polling-3.11.0\",\n build_file = Label(\"@crates//crates:BUILD.polling-3.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__poly1305-0.8.0\",\n sha256 = \"8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/poly1305/0.8.0/download\"],\n strip_prefix = \"poly1305-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.poly1305-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__polyval-0.6.2\",\n sha256 = \"9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/polyval/0.6.2/download\"],\n strip_prefix = \"polyval-0.6.2\",\n build_file = Label(\"@crates//crates:BUILD.polyval-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-atomic-1.15.0\",\n sha256 = \"05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.15.0/download\"],\n strip_prefix = \"portable-atomic-1.15.0\",\n build_file = Label(\"@crates//crates:BUILD.portable-atomic-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-atomic-util-0.2.7\",\n sha256 = \"c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.7/download\"],\n strip_prefix = \"portable-atomic-util-0.2.7\",\n build_file = Label(\"@crates//crates:BUILD.portable-atomic-util-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__portable-pty-0.9.0\",\n sha256 = \"b4a596a2b3d2752d94f51fac2d4a96737b8705dddd311a32b9af47211f08671e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-pty/0.9.0/download\"],\n strip_prefix = \"portable-pty-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.portable-pty-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__potential_utf-0.1.6\",\n sha256 = \"d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/potential_utf/0.1.6/download\"],\n strip_prefix = \"potential_utf-0.1.6\",\n build_file = Label(\"@crates//crates:BUILD.potential_utf-0.1.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ppv-lite86-0.2.21\",\n sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n strip_prefix = \"ppv-lite86-0.2.21\",\n build_file = Label(\"@crates//crates:BUILD.ppv-lite86-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__precomputed-hash-0.1.1\",\n sha256 = \"925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/precomputed-hash/0.1.1/download\"],\n strip_prefix = \"precomputed-hash-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.precomputed-hash-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pretty_assertions-1.4.1\",\n sha256 = \"3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pretty_assertions/1.4.1/download\"],\n strip_prefix = \"pretty_assertions-1.4.1\",\n build_file = Label(\"@crates//crates:BUILD.pretty_assertions-1.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__prettyplease-0.2.37\",\n sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n strip_prefix = \"prettyplease-0.2.37\",\n build_file = Label(\"@crates//crates:BUILD.prettyplease-0.2.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__primeorder-0.13.6\",\n sha256 = \"353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/primeorder/0.13.6/download\"],\n strip_prefix = \"primeorder-0.13.6\",\n build_file = Label(\"@crates//crates:BUILD.primeorder-0.13.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__proc-macro-crate-3.5.0\",\n sha256 = \"e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro-crate/3.5.0/download\"],\n strip_prefix = \"proc-macro-crate-3.5.0\",\n build_file = Label(\"@crates//crates:BUILD.proc-macro-crate-3.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__proc-macro2-1.0.107\",\n sha256 = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.107/download\"],\n strip_prefix = \"proc-macro2-1.0.107\",\n build_file = Label(\"@crates//crates:BUILD.proc-macro2-1.0.107.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__procfs-0.18.0\",\n sha256 = \"25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/procfs/0.18.0/download\"],\n strip_prefix = \"procfs-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.procfs-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__procfs-core-0.18.0\",\n sha256 = \"e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/procfs-core/0.18.0/download\"],\n strip_prefix = \"procfs-core-0.18.0\",\n build_file = Label(\"@crates//crates:BUILD.procfs-core-0.18.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ptr_meta-0.3.2\",\n sha256 = \"743da816b98c921cdbe8628ef7381b76f25ecf4da599fc80aca90eae7ef70cc0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ptr_meta/0.3.2/download\"],\n strip_prefix = \"ptr_meta-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.ptr_meta-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ptr_meta_derive-0.3.2\",\n sha256 = \"1c8d9ca532f185d5d4db7a7c9d51420b452168ea1c2b913953281bd6fe1fcbd0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ptr_meta_derive/0.3.2/download\"],\n strip_prefix = \"ptr_meta_derive-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.ptr_meta_derive-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__pxfm-0.1.30\",\n sha256 = \"d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pxfm/0.1.30/download\"],\n strip_prefix = \"pxfm-0.1.30\",\n build_file = Label(\"@crates//crates:BUILD.pxfm-0.1.30.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quantette-0.6.0\",\n sha256 = \"ba5d37e94c17b8870a5b936001d2845a6782a22ebdb1706c84294eca777f6729\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quantette/0.6.0/download\"],\n strip_prefix = \"quantette-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.quantette-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quick-error-2.0.1\",\n sha256 = \"a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quick-error/2.0.1/download\"],\n strip_prefix = \"quick-error-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.quick-error-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quick-xml-0.41.0\",\n sha256 = \"e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quick-xml/0.41.0/download\"],\n strip_prefix = \"quick-xml-0.41.0\",\n build_file = Label(\"@crates//crates:BUILD.quick-xml-0.41.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__quote-1.0.47\",\n sha256 = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.47/download\"],\n strip_prefix = \"quote-1.0.47\",\n build_file = Label(\"@crates//crates:BUILD.quote-1.0.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__r-efi-5.3.0\",\n sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n strip_prefix = \"r-efi-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.r-efi-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__r-efi-6.0.0\",\n sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n strip_prefix = \"r-efi-6.0.0\",\n build_file = Label(\"@crates//crates:BUILD.r-efi-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__radium-0.7.0\",\n sha256 = \"dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/radium/0.7.0/download\"],\n strip_prefix = \"radium-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.radium-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rancor-0.1.3\",\n sha256 = \"9b534442d0fcdb55d66f373d9cac6d33b6293a2335bc2136dbd06ce0e87d2572\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rancor/0.1.3/download\"],\n strip_prefix = \"rancor-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.rancor-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.10.2\",\n sha256 = \"c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.10.2/download\"],\n strip_prefix = \"rand-0.10.2\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.10.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.8.7\",\n sha256 = \"22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.8.7/download\"],\n strip_prefix = \"rand-0.8.7\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.8.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand-0.9.5\",\n sha256 = \"b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.9.5/download\"],\n strip_prefix = \"rand-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.rand-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_chacha-0.9.0\",\n sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n strip_prefix = \"rand_chacha-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.rand_chacha-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.10.1\",\n sha256 = \"63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.10.1/download\"],\n strip_prefix = \"rand_core-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.6.4\",\n sha256 = \"ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.6.4/download\"],\n strip_prefix = \"rand_core-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_core-0.9.5\",\n sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n strip_prefix = \"rand_core-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.rand_core-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rand_xoshiro-0.8.1\",\n sha256 = \"662effc7698e08ea324d3acccf8d9d7f7bf79b9785e270a174ea36e56900c91d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_xoshiro/0.8.1/download\"],\n strip_prefix = \"rand_xoshiro-0.8.1\",\n build_file = Label(\"@crates//crates:BUILD.rand_xoshiro-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rangemap-1.8.0\",\n sha256 = \"a611d15b50743feb4c76b7d03edcb0e64f399c26961e4efe6975bc398be6aa3d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rangemap/1.8.0/download\"],\n strip_prefix = \"rangemap-1.8.0\",\n build_file = Label(\"@crates//crates:BUILD.rangemap-1.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rayon-1.12.0\",\n sha256 = \"fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rayon/1.12.0/download\"],\n strip_prefix = \"rayon-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.rayon-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rayon-core-1.13.0\",\n sha256 = \"22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rayon-core/1.13.0/download\"],\n strip_prefix = \"rayon-core-1.13.0\",\n build_file = Label(\"@crates//crates:BUILD.rayon-core-1.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rcgen-0.13.2\",\n sha256 = \"75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rcgen/0.13.2/download\"],\n strip_prefix = \"rcgen-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.rcgen-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__redox_syscall-0.5.18\",\n sha256 = \"ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/redox_syscall/0.5.18/download\"],\n strip_prefix = \"redox_syscall-0.5.18\",\n build_file = Label(\"@crates//crates:BUILD.redox_syscall-0.5.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ref-cast-1.0.27\",\n sha256 = \"7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ref-cast/1.0.27/download\"],\n strip_prefix = \"ref-cast-1.0.27\",\n build_file = Label(\"@crates//crates:BUILD.ref-cast-1.0.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ref-cast-impl-1.0.27\",\n sha256 = \"92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ref-cast-impl/1.0.27/download\"],\n strip_prefix = \"ref-cast-impl-1.0.27\",\n build_file = Label(\"@crates//crates:BUILD.ref-cast-impl-1.0.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-1.13.1\",\n sha256 = \"f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.13.1/download\"],\n strip_prefix = \"regex-1.13.1\",\n build_file = Label(\"@crates//crates:BUILD.regex-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-automata-0.4.18\",\n sha256 = \"ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.4.18/download\"],\n strip_prefix = \"regex-automata-0.4.18\",\n build_file = Label(\"@crates//crates:BUILD.regex-automata-0.4.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-lite-0.1.9\",\n sha256 = \"cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-lite/0.1.9/download\"],\n strip_prefix = \"regex-lite-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.regex-lite-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__regex-syntax-0.8.11\",\n sha256 = \"d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.8.11/download\"],\n strip_prefix = \"regex-syntax-0.8.11\",\n build_file = Label(\"@crates//crates:BUILD.regex-syntax-0.8.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__reis-0.5.0\",\n sha256 = \"00939c5c526a1b4054ef8d9d96b3f92227f08ca355965e986741b556eda6d289\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/reis/0.5.0/download\"],\n strip_prefix = \"reis-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.reis-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rend-0.5.4\",\n sha256 = \"663ba70707f96e871406fe10d68128412e619b06d1d47cb91c3a4c6501176240\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rend/0.5.4/download\"],\n strip_prefix = \"rend-0.5.4\",\n build_file = Label(\"@crates//crates:BUILD.rend-0.5.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rfc6979-0.4.0\",\n sha256 = \"f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rfc6979/0.4.0/download\"],\n strip_prefix = \"rfc6979-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.rfc6979-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rgb-0.8.53\",\n sha256 = \"47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rgb/0.8.53/download\"],\n strip_prefix = \"rgb-0.8.53\",\n build_file = Label(\"@crates//crates:BUILD.rgb-0.8.53.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ring-0.17.14\",\n sha256 = \"a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ring/0.17.14/download\"],\n strip_prefix = \"ring-0.17.14\",\n build_file = Label(\"@crates//crates:BUILD.ring-0.17.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rkyv-0.8.18\",\n sha256 = \"d9776093b7ca170454ab1406954f7b7d97a57c51dc6c0642957fb2ef25c2d399\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rkyv/0.8.18/download\"],\n strip_prefix = \"rkyv-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.rkyv-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rkyv_derive-0.8.18\",\n sha256 = \"1c25ef604ac7dd839d44d64648952ea23c97866f124ff671b0ed2cf3ad9bb06e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rkyv_derive/0.8.18/download\"],\n strip_prefix = \"rkyv_derive-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.rkyv_derive-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rlimit-0.11.0\",\n sha256 = \"f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rlimit/0.11.0/download\"],\n strip_prefix = \"rlimit-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.rlimit-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rpds-1.2.1\",\n sha256 = \"e025feb26210bc196b908e72deb063b1b4000754304341cbc168a1e72c857ebc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rpds/1.2.1/download\"],\n strip_prefix = \"rpds-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.rpds-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rtcp-0.17.2\",\n sha256 = \"adad7f6a501162881032fc84b4bc78ae11f1b30748180b9f5cbe8810bf613aab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rtcp/0.17.2/download\"],\n strip_prefix = \"rtcp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.rtcp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rtp-0.17.2\",\n sha256 = \"149329e78ada26b5e174a4c281a7a7e5c8bda6008adc90daddd6f98fce56db29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rtp/0.17.2/download\"],\n strip_prefix = \"rtp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.rtp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc-hash-1.1.0\",\n sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n strip_prefix = \"rustc-hash-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.rustc-hash-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc-hash-2.1.3\",\n sha256 = \"6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/2.1.3/download\"],\n strip_prefix = \"rustc-hash-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.rustc-hash-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustc_version-0.4.1\",\n sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n strip_prefix = \"rustc_version-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.rustc_version-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rusticata-macros-4.1.0\",\n sha256 = \"faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rusticata-macros/4.1.0/download\"],\n strip_prefix = \"rusticata-macros-4.1.0\",\n build_file = Label(\"@crates//crates:BUILD.rusticata-macros-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustix-0.38.44\",\n sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n strip_prefix = \"rustix-0.38.44\",\n build_file = Label(\"@crates//crates:BUILD.rustix-0.38.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustix-1.1.4\",\n sha256 = \"b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/1.1.4/download\"],\n strip_prefix = \"rustix-1.1.4\",\n build_file = Label(\"@crates//crates:BUILD.rustix-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-0.23.43\",\n sha256 = \"0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls/0.23.43/download\"],\n strip_prefix = \"rustls-0.23.43\",\n build_file = Label(\"@crates//crates:BUILD.rustls-0.23.43.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-pki-types-1.15.1\",\n sha256 = \"2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-pki-types/1.15.1/download\"],\n strip_prefix = \"rustls-pki-types-1.15.1\",\n build_file = Label(\"@crates//crates:BUILD.rustls-pki-types-1.15.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustls-webpki-0.103.14\",\n sha256 = \"0527518605e68109d875e248ea259b6758801cf165e4b2c2733ae3b51f12535a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustls-webpki/0.103.14/download\"],\n strip_prefix = \"rustls-webpki-0.103.14\",\n build_file = Label(\"@crates//crates:BUILD.rustls-webpki-0.103.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__rustversion-1.0.23\",\n sha256 = \"cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.23/download\"],\n strip_prefix = \"rustversion-1.0.23\",\n build_file = Label(\"@crates//crates:BUILD.rustversion-1.0.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__safe_arch-1.2.0\",\n sha256 = \"42c6efa15875e6ecb39ca61fb0b0c1a40b84fac5a5ffe71eef7d1000c8eb3f5f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/safe_arch/1.2.0/download\"],\n strip_prefix = \"safe_arch-1.2.0\",\n build_file = Label(\"@crates//crates:BUILD.safe_arch-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__same-file-1.0.6\",\n sha256 = \"93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/same-file/1.0.6/download\"],\n strip_prefix = \"same-file-1.0.6\",\n build_file = Label(\"@crates//crates:BUILD.same-file-1.0.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__scoped-tls-1.0.1\",\n sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n strip_prefix = \"scoped-tls-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.scoped-tls-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crates//crates:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sdp-0.17.2\",\n sha256 = \"66b6eecfa5151edef84d544ff3885dff98e5b5fe97586757a4b5118bde51c958\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sdp/0.17.2/download\"],\n strip_prefix = \"sdp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.sdp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sec1-0.7.3\",\n sha256 = \"d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sec1/0.7.3/download\"],\n strip_prefix = \"sec1-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.sec1-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__self_cell-1.3.0\",\n sha256 = \"2ab42ca02749e120097e328d91d415325bdf43b1c72c4c8badf37375fe40a813\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/self_cell/1.3.0/download\"],\n strip_prefix = \"self_cell-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.self_cell-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__semver-1.0.28\",\n sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n strip_prefix = \"semver-1.0.28\",\n build_file = Label(\"@crates//crates:BUILD.semver-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde-1.0.229\",\n sha256 = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.229/download\"],\n strip_prefix = \"serde-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_core-1.0.229\",\n sha256 = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_core/1.0.229/download\"],\n strip_prefix = \"serde_core-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde_core-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_derive-1.0.229\",\n sha256 = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.229/download\"],\n strip_prefix = \"serde_derive-1.0.229\",\n build_file = Label(\"@crates//crates:BUILD.serde_derive-1.0.229.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_json-1.0.151\",\n sha256 = \"c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.151/download\"],\n strip_prefix = \"serde_json-1.0.151\",\n build_file = Label(\"@crates//crates:BUILD.serde_json-1.0.151.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_repr-0.1.21\",\n sha256 = \"8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_repr/0.1.21/download\"],\n strip_prefix = \"serde_repr-0.1.21\",\n build_file = Label(\"@crates//crates:BUILD.serde_repr-0.1.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serde_spanned-1.1.1\",\n sha256 = \"6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_spanned/1.1.1/download\"],\n strip_prefix = \"serde_spanned-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.serde_spanned-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__serial2-0.2.38\",\n sha256 = \"b16809bc35793b19ce4e0c53924bc0dce3937f15487997cfdaed936004180730\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serial2/0.2.38/download\"],\n strip_prefix = \"serial2-0.2.38\",\n build_file = Label(\"@crates//crates:BUILD.serial2-0.2.38.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha1-0.10.7\",\n sha256 = \"a978451301f4db1d02937a4ab3ccce137717b81826e79b7d49ffe3244a13c3b8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha1/0.10.7/download\"],\n strip_prefix = \"sha1-0.10.7\",\n build_file = Label(\"@crates//crates:BUILD.sha1-0.10.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha2-0.10.9\",\n sha256 = \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha2/0.10.9/download\"],\n strip_prefix = \"sha2-0.10.9\",\n build_file = Label(\"@crates//crates:BUILD.sha2-0.10.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sha3-0.10.9\",\n sha256 = \"77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha3/0.10.9/download\"],\n strip_prefix = \"sha3-0.10.9\",\n build_file = Label(\"@crates//crates:BUILD.sha3-0.10.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shared_library-0.1.9\",\n sha256 = \"5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shared_library/0.1.9/download\"],\n strip_prefix = \"shared_library-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.shared_library-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shell-words-1.1.1\",\n sha256 = \"dc6fe69c597f9c37bfeeeeeb33da3530379845f10be461a66d16d03eca2ded77\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shell-words/1.1.1/download\"],\n strip_prefix = \"shell-words-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.shell-words-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shlex-1.3.0\",\n sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n strip_prefix = \"shlex-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.shlex-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__shlex-2.0.1\",\n sha256 = \"f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/2.0.1/download\"],\n strip_prefix = \"shlex-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.shlex-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__signal-hook-registry-1.4.8\",\n sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n strip_prefix = \"signal-hook-registry-1.4.8\",\n build_file = Label(\"@crates//crates:BUILD.signal-hook-registry-1.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__signature-2.2.0\",\n sha256 = \"77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signature/2.2.0/download\"],\n strip_prefix = \"signature-2.2.0\",\n build_file = Label(\"@crates//crates:BUILD.signature-2.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__simd-adler32-0.3.10\",\n sha256 = \"3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simd-adler32/0.3.10/download\"],\n strip_prefix = \"simd-adler32-0.3.10\",\n build_file = Label(\"@crates//crates:BUILD.simd-adler32-0.3.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__simdutf8-0.1.5\",\n sha256 = \"e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/simdutf8/0.1.5/download\"],\n strip_prefix = \"simdutf8-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.simdutf8-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__similar-2.7.0\",\n sha256 = \"bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/similar/2.7.0/download\"],\n strip_prefix = \"similar-2.7.0\",\n build_file = Label(\"@crates//crates:BUILD.similar-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__similar-3.2.0\",\n sha256 = \"4f66ca1f7aca2474dc10c942eb22feffc897735f54cd1db90138c2fddb490987\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/similar/3.2.0/download\"],\n strip_prefix = \"similar-3.2.0\",\n build_file = Label(\"@crates//crates:BUILD.similar-3.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__siphasher-1.0.3\",\n sha256 = \"8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/siphasher/1.0.3/download\"],\n strip_prefix = \"siphasher-1.0.3\",\n build_file = Label(\"@crates//crates:BUILD.siphasher-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__slab-0.4.12\",\n sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n strip_prefix = \"slab-0.4.12\",\n build_file = Label(\"@crates//crates:BUILD.slab-0.4.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__sm3-0.5.0\",\n sha256 = \"da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sm3/0.5.0/download\"],\n strip_prefix = \"sm3-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.sm3-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__smallvec-1.15.2\",\n sha256 = \"8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.15.2/download\"],\n strip_prefix = \"smallvec-1.15.2\",\n build_file = Label(\"@crates//crates:BUILD.smallvec-1.15.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__smol_str-0.2.2\",\n sha256 = \"dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smol_str/0.2.2/download\"],\n strip_prefix = \"smol_str-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.smol_str-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__socket2-0.5.10\",\n sha256 = \"e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.5.10/download\"],\n strip_prefix = \"socket2-0.5.10\",\n build_file = Label(\"@crates//crates:BUILD.socket2-0.5.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__socket2-0.6.5\",\n sha256 = \"c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.6.5/download\"],\n strip_prefix = \"socket2-0.6.5\",\n build_file = Label(\"@crates//crates:BUILD.socket2-0.6.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spin-0.10.1\",\n sha256 = \"023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.10.1/download\"],\n strip_prefix = \"spin-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.spin-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spin-0.9.9\",\n sha256 = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.9/download\"],\n strip_prefix = \"spin-0.9.9\",\n build_file = Label(\"@crates//crates:BUILD.spin-0.9.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__spki-0.7.3\",\n sha256 = \"d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spki/0.7.3/download\"],\n strip_prefix = \"spki-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.spki-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stable_deref_trait-1.2.1\",\n sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n strip_prefix = \"stable_deref_trait-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.stable_deref_trait-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__str_stack-0.1.1\",\n sha256 = \"7f446288b699d66d0fd2e30d1cfe7869194312524b3b9252594868ed26ef056a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/str_stack/0.1.1/download\"],\n strip_prefix = \"str_stack-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.str_stack-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__streaming-iterator-0.1.9\",\n sha256 = \"2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/streaming-iterator/0.1.9/download\"],\n strip_prefix = \"streaming-iterator-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.streaming-iterator-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__string_cache-0.9.0\",\n sha256 = \"a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache/0.9.0/download\"],\n strip_prefix = \"string_cache-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.string_cache-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__string_cache_codegen-0.6.1\",\n sha256 = \"585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/string_cache_codegen/0.6.1/download\"],\n strip_prefix = \"string_cache_codegen-0.6.1\",\n build_file = Label(\"@crates//crates:BUILD.string_cache_codegen-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stringprep-0.1.5\",\n sha256 = \"7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stringprep/0.1.5/download\"],\n strip_prefix = \"stringprep-0.1.5\",\n build_file = Label(\"@crates//crates:BUILD.stringprep-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strsim-0.11.1\",\n sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n strip_prefix = \"strsim-0.11.1\",\n build_file = Label(\"@crates//crates:BUILD.strsim-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strum-0.28.0\",\n sha256 = \"9628de9b8791db39ceda2b119bbe13134770b56c138ec1d3af810d045c04f9bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum/0.28.0/download\"],\n strip_prefix = \"strum-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.strum-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__strum_macros-0.28.0\",\n sha256 = \"ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strum_macros/0.28.0/download\"],\n strip_prefix = \"strum_macros-0.28.0\",\n build_file = Label(\"@crates//crates:BUILD.strum_macros-0.28.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__stun-0.17.2\",\n sha256 = \"2e3b8d5ad1dd4c8cd0595440f26521a71dd593cb5873ee8e06b91510b7d97269\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stun/0.17.2/download\"],\n strip_prefix = \"stun-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.stun-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__substring-1.4.5\",\n sha256 = \"42ee6433ecef213b2e72f587ef64a2f5943e7cd16fbd82dbe8bc07486c534c86\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/substring/1.4.5/download\"],\n strip_prefix = \"substring-1.4.5\",\n build_file = Label(\"@crates//crates:BUILD.substring-1.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__subtle-2.6.1\",\n sha256 = \"13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/subtle/2.6.1/download\"],\n strip_prefix = \"subtle-2.6.1\",\n build_file = Label(\"@crates//crates:BUILD.subtle-2.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syn-2.0.119\",\n sha256 = \"872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.119/download\"],\n strip_prefix = \"syn-2.0.119\",\n build_file = Label(\"@crates//crates:BUILD.syn-2.0.119.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syn-3.0.3\",\n sha256 = \"53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/3.0.3/download\"],\n strip_prefix = \"syn-3.0.3\",\n build_file = Label(\"@crates//crates:BUILD.syn-3.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__synstructure-0.13.2\",\n sha256 = \"728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/synstructure/0.13.2/download\"],\n strip_prefix = \"synstructure-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.synstructure-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__syntect-5.3.0\",\n sha256 = \"656b45c05d95a5704399aeef6bd0ddec7b2b3531b7c9e900abbf7c4d2190c925\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syntect/5.3.0/download\"],\n strip_prefix = \"syntect-5.3.0\",\n build_file = Label(\"@crates//crates:BUILD.syntect-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__system-deps-7.0.8\",\n sha256 = \"396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/system-deps/7.0.8/download\"],\n strip_prefix = \"system-deps-7.0.8\",\n build_file = Label(\"@crates//crates:BUILD.system-deps-7.0.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tap-1.0.1\",\n sha256 = \"55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tap/1.0.1/download\"],\n strip_prefix = \"tap-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.tap-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__target-lexicon-0.13.5\",\n sha256 = \"adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/target-lexicon/0.13.5/download\"],\n strip_prefix = \"target-lexicon-0.13.5\",\n build_file = Label(\"@crates//crates:BUILD.target-lexicon-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tempfile-3.27.0\",\n sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n strip_prefix = \"tempfile-3.27.0\",\n build_file = Label(\"@crates//crates:BUILD.tempfile-3.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tendril-0.5.1\",\n sha256 = \"5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tendril/0.5.1/download\"],\n strip_prefix = \"tendril-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.tendril-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__termcolor-1.4.1\",\n sha256 = \"06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termcolor/1.4.1/download\"],\n strip_prefix = \"termcolor-1.4.1\",\n build_file = Label(\"@crates//crates:BUILD.termcolor-1.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__terminal_size-0.4.4\",\n sha256 = \"230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminal_size/0.4.4/download\"],\n strip_prefix = \"terminal_size-0.4.4\",\n build_file = Label(\"@crates//crates:BUILD.terminal_size-0.4.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__terminfo-0.9.0\",\n sha256 = \"d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/terminfo/0.9.0/download\"],\n strip_prefix = \"terminfo-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.terminfo-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-1.0.69\",\n sha256 = \"b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/1.0.69/download\"],\n strip_prefix = \"thiserror-1.0.69\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-1.0.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-2.0.20\",\n sha256 = \"ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/2.0.20/download\"],\n strip_prefix = \"thiserror-2.0.20\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-2.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-impl-1.0.69\",\n sha256 = \"4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/1.0.69/download\"],\n strip_prefix = \"thiserror-impl-1.0.69\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-impl-1.0.69.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__thiserror-impl-2.0.20\",\n sha256 = \"bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.20/download\"],\n strip_prefix = \"thiserror-impl-2.0.20\",\n build_file = Label(\"@crates//crates:BUILD.thiserror-impl-2.0.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiff-0.11.3\",\n sha256 = \"b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiff/0.11.3/download\"],\n strip_prefix = \"tiff-0.11.3\",\n build_file = Label(\"@crates//crates:BUILD.tiff-0.11.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiktoken-rs-0.11.0\",\n sha256 = \"fac4a168cfc1d8ed65bf17a6ee0843ad9a68f863c63c0fb2fa7eab67838782ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiktoken-rs/0.11.0/download\"],\n strip_prefix = \"tiktoken-rs-0.11.0\",\n build_file = Label(\"@crates//crates:BUILD.tiktoken-rs-0.11.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-0.3.55\",\n sha256 = \"cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.55/download\"],\n strip_prefix = \"time-0.3.55\",\n build_file = Label(\"@crates//crates:BUILD.time-0.3.55.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-core-0.1.9\",\n sha256 = \"9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.9/download\"],\n strip_prefix = \"time-core-0.1.9\",\n build_file = Label(\"@crates//crates:BUILD.time-core-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__time-macros-0.2.32\",\n sha256 = \"7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.32/download\"],\n strip_prefix = \"time-macros-0.2.32\",\n build_file = Label(\"@crates//crates:BUILD.time-macros-0.2.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tiny-keccak-2.0.2\",\n sha256 = \"2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-keccak/2.0.2/download\"],\n strip_prefix = \"tiny-keccak-2.0.2\",\n build_file = Label(\"@crates//crates:BUILD.tiny-keccak-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinystr-0.8.4\",\n sha256 = \"b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinystr/0.8.4/download\"],\n strip_prefix = \"tinystr-0.8.4\",\n build_file = Label(\"@crates//crates:BUILD.tinystr-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinyvec-1.12.0\",\n sha256 = \"bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec/1.12.0/download\"],\n strip_prefix = \"tinyvec-1.12.0\",\n build_file = Label(\"@crates//crates:BUILD.tinyvec-1.12.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tinyvec_macros-0.1.1\",\n sha256 = \"1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyvec_macros/0.1.1/download\"],\n strip_prefix = \"tinyvec_macros-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tinyvec_macros-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-1.53.1\",\n sha256 = \"202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.53.1/download\"],\n strip_prefix = \"tokio-1.53.1\",\n build_file = Label(\"@crates//crates:BUILD.tokio-1.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-macros-2.7.2\",\n sha256 = \"78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-macros/2.7.2/download\"],\n strip_prefix = \"tokio-macros-2.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tokio-macros-2.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tokio-util-0.7.19\",\n sha256 = \"494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.19/download\"],\n strip_prefix = \"tokio-util-0.7.19\",\n build_file = Label(\"@crates//crates:BUILD.tokio-util-0.7.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml-1.1.4-spec-1.1.0\",\n sha256 = \"3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/1.1.4+spec-1.1.0/download\"],\n strip_prefix = \"toml-1.1.4+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml-1.1.4+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_datetime-1.1.1-spec-1.1.0\",\n sha256 = \"3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/1.1.1+spec-1.1.0/download\"],\n strip_prefix = \"toml_datetime-1.1.1+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_datetime-1.1.1+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_edit-0.25.13-spec-1.1.0\",\n sha256 = \"6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.25.13+spec-1.1.0/download\"],\n strip_prefix = \"toml_edit-0.25.13+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_edit-0.25.13+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_parser-1.1.3-spec-1.1.0\",\n sha256 = \"1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_parser/1.1.3+spec-1.1.0/download\"],\n strip_prefix = \"toml_parser-1.1.3+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_parser-1.1.3+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__toml_writer-1.1.2-spec-1.1.0\",\n sha256 = \"7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_writer/1.1.2+spec-1.1.0/download\"],\n strip_prefix = \"toml_writer-1.1.2+spec-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.toml_writer-1.1.2+spec-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-0.1.44\",\n sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n strip_prefix = \"tracing-0.1.44\",\n build_file = Label(\"@crates//crates:BUILD.tracing-0.1.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-attributes-0.1.31\",\n sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n strip_prefix = \"tracing-attributes-0.1.31\",\n build_file = Label(\"@crates//crates:BUILD.tracing-attributes-0.1.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tracing-core-0.1.36\",\n sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n strip_prefix = \"tracing-core-0.1.36\",\n build_file = Label(\"@crates//crates:BUILD.tracing-core-0.1.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-0.25.10\",\n sha256 = \"78f873475d258561b06f1c595d93308a7ed124d9977cb26b148c2084a4a3cc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter/0.25.10/download\"],\n strip_prefix = \"tree-sitter-0.25.10\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-0.25.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-astro-next-0.1.1\",\n sha256 = \"794a4a59fc2d88e49b4bc41fef9522d77184a36f4e68bbaf545cd1eb2364c46e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-astro-next/0.1.1/download\"],\n strip_prefix = \"tree-sitter-astro-next-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-astro-next-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-bash-0.25.1\",\n sha256 = \"9e5ec769279cc91b561d3df0d8a5deb26b0ad40d183127f409494d6d8fc53062\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-bash/0.25.1/download\"],\n strip_prefix = \"tree-sitter-bash-0.25.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-bash-0.25.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-c-0.24.2\",\n sha256 = \"a9b2eb57a55fed6b00812912e730b7a275cf4fe98bfd6a5d76263d4438371728\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-c/0.24.2/download\"],\n strip_prefix = \"tree-sitter-c-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-c-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-c-sharp-0.23.5\",\n sha256 = \"c1aac67f1ad71de1d6d39708d34811081c26dfa495658de6c14c34200849357c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-c-sharp/0.23.5/download\"],\n strip_prefix = \"tree-sitter-c-sharp-0.23.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-c-sharp-0.23.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-clojure-0.1.0\",\n sha256 = \"4004884cc509449a1d78fa3e1f02b4e953d0a8065984445304795e72e885338c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-clojure/0.1.0/download\"],\n strip_prefix = \"tree-sitter-clojure-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-clojure-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-cmake-0.7.4\",\n sha256 = \"164e0c4f4236ec5ceff14824a5528615cf462e100467e49826442ff57d327061\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-cmake/0.7.4/download\"],\n strip_prefix = \"tree-sitter-cmake-0.7.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-cmake-0.7.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-cpp-0.23.4\",\n sha256 = \"df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-cpp/0.23.4/download\"],\n strip_prefix = \"tree-sitter-cpp-0.23.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-cpp-0.23.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-css-0.25.0\",\n sha256 = \"a5cbc5e18f29a2c6d6435891f42569525cf95435a3e01c2f1947abcde178686f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-css/0.25.0/download\"],\n strip_prefix = \"tree-sitter-css-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-css-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-dart-0.2.0\",\n sha256 = \"325dd1e24ee9ee21111e9c43680ae7d6010aaa9f282b048a99b9c7163c1cf553\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-dart/0.2.0/download\"],\n strip_prefix = \"tree-sitter-dart-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-dart-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-diff-0.1.0\",\n sha256 = \"dfe1e5ca280a65dfe5ba4205c1bcc84edf486464fed315db53dee6da9a335889\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-diff/0.1.0/download\"],\n strip_prefix = \"tree-sitter-diff-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-diff-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-dockerfile-updated-0.2.0\",\n sha256 = \"5e61eb704364be179ab9be89e2891c8e77c0041eca5891a5c04164a21f6df7a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-dockerfile-updated/0.2.0/download\"],\n strip_prefix = \"tree-sitter-dockerfile-updated-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-dockerfile-updated-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-elisp-1.7.2\",\n sha256 = \"6b8b82ab7474028f20d2119285566f219209ebdbeec767fa28025b70f94f8cf3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-elisp/1.7.2/download\"],\n strip_prefix = \"tree-sitter-elisp-1.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-elisp-1.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-elixir-0.3.5\",\n sha256 = \"66dd064a762ed95bfc29857fa3cb7403bb1e5cb88112de0f6341b7e47284ba40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-elixir/0.3.5/download\"],\n strip_prefix = \"tree-sitter-elixir-0.3.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-elixir-0.3.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-erlang-0.16.0\",\n sha256 = \"ceb442e728225d601db0661f60d64e166bd9b9a55c587f71d4e4f27378717cce\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-erlang/0.16.0/download\"],\n strip_prefix = \"tree-sitter-erlang-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-erlang-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-fortran-0.6.0\",\n sha256 = \"ea5fea41363a9b59666001dc26c4b356d4e164da27c6ce31145e00aba6bf9b16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-fortran/0.6.0/download\"],\n strip_prefix = \"tree-sitter-fortran-0.6.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-fortran-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-go-0.25.0\",\n sha256 = \"c8560a4d2f835cc0d4d2c2e03cbd0dde2f6114b43bc491164238d333e28b16ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-go/0.25.0/download\"],\n strip_prefix = \"tree-sitter-go-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-go-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-graphql-0.1.0\",\n sha256 = \"efedc4cac157161cc23a0adc4553a2cedc908e1cd754b6cd033a919bb81ce5d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-graphql/0.1.0/download\"],\n strip_prefix = \"tree-sitter-graphql-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-graphql-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-haskell-0.23.1\",\n sha256 = \"977c51e504548cba13fc27cb5a2edab2124cf6716a1934915d07ab99523b05a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-haskell/0.23.1/download\"],\n strip_prefix = \"tree-sitter-haskell-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-haskell-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-hcl-1.1.0\",\n sha256 = \"5a7b2cc3d7121553b84309fab9d11b3ff3d420403eef9ae50f9fd1cd9d9cf012\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-hcl/1.1.0/download\"],\n strip_prefix = \"tree-sitter-hcl-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-hcl-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-html-0.23.2\",\n sha256 = \"261b708e5d92061ede329babaaa427b819329a9d427a1d710abb0f67bbef63ee\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-html/0.23.2/download\"],\n strip_prefix = \"tree-sitter-html-0.23.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-html-0.23.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ini-1.4.0\",\n sha256 = \"387f79682cd53b7c0a5777c96e601a02b9965a787984ef86dbb8952bdab2d62f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ini/1.4.0/download\"],\n strip_prefix = \"tree-sitter-ini-1.4.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ini-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-java-0.23.5\",\n sha256 = \"0aa6cbcdc8c679b214e616fd3300da67da0e492e066df01bcf5a5921a71e90d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-java/0.23.5/download\"],\n strip_prefix = \"tree-sitter-java-0.23.5\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-java-0.23.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-javascript-0.25.0\",\n sha256 = \"68204f2abc0627a90bdf06e605f5c470aa26fdcb2081ea553a04bdad756693f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-javascript/0.25.0/download\"],\n strip_prefix = \"tree-sitter-javascript-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-javascript-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-json-0.24.8\",\n sha256 = \"4d727acca406c0020cffc6cf35516764f36c8e3dc4408e5ebe2cb35a947ec471\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-json/0.24.8/download\"],\n strip_prefix = \"tree-sitter-json-0.24.8\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-json-0.24.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-julia-0.23.1\",\n sha256 = \"4144731a178812ee867619b1e98b3b91e54c1652304b26e5ebe3175b701de323\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-julia/0.23.1/download\"],\n strip_prefix = \"tree-sitter-julia-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-julia-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-just-0.2.0\",\n sha256 = \"bd46794f2c270f43d73b2f2c8c256992471f3493c903604da0886df984771920\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-just/0.2.0/download\"],\n strip_prefix = \"tree-sitter-just-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-just-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-kotlin-sg-0.4.1\",\n sha256 = \"c06ec43ae3c12165d4ac08afe4e1f5fc6757ffe274fa7bd5af9007ef11ba4319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-kotlin-sg/0.4.1/download\"],\n strip_prefix = \"tree-sitter-kotlin-sg-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-kotlin-sg-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-language-0.1.7\",\n sha256 = \"009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-language/0.1.7/download\"],\n strip_prefix = \"tree-sitter-language-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-language-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-lua-0.5.0\",\n sha256 = \"8daaf5f4235188a58603c39760d5fa5d4b920d36a299c934adddae757f32a10c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-lua/0.5.0/download\"],\n strip_prefix = \"tree-sitter-lua-0.5.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-lua-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-make-1.1.1\",\n sha256 = \"c5998dc7cbcbdab19fae8aefef982bf2d6544513d8d2e69cc44aec4c63810104\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-make/1.1.1/download\"],\n strip_prefix = \"tree-sitter-make-1.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-make-1.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-md-0.5.3\",\n sha256 = \"2efd398be546456c814598ee56c0f51769a77241511b4a58077815d120afa882\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-md/0.5.3/download\"],\n strip_prefix = \"tree-sitter-md-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-md-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-nix-0.3.0\",\n sha256 = \"4952a9733f3a98f6683a0ccd1035d84ab7a52f7e84eeed58548d86765ad92de3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-nix/0.3.0/download\"],\n strip_prefix = \"tree-sitter-nix-0.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-nix-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-objc-3.0.2\",\n sha256 = \"9ca8bb556423fc176f0535e79d525f783a6684d3c9da81bf9d905303c129e1d2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-objc/3.0.2/download\"],\n strip_prefix = \"tree-sitter-objc-3.0.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-objc-3.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ocaml-0.24.2\",\n sha256 = \"7d19db582b3855f56b5f9ec484170fbfb9ee60b938ec7720d76d2ee788e8b640\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ocaml/0.24.2/download\"],\n strip_prefix = \"tree-sitter-ocaml-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ocaml-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-odin-1.3.0\",\n sha256 = \"24db210fe9ba2237c71c5030d7b146c7025420ba72dd8013d13cd822c3a8d77a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-odin/1.3.0/download\"],\n strip_prefix = \"tree-sitter-odin-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-odin-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-php-0.24.2\",\n sha256 = \"0d8c17c3ab69052c5eeaa7ff5cd972dd1bc25d1b97ee779fec391ad3b5df5592\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-php/0.24.2/download\"],\n strip_prefix = \"tree-sitter-php-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-php-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-powershell-0.26.4\",\n sha256 = \"3faf304d44b9ddd4a7d97804bb8de7daf564336dd5a526dc6de5b39238243022\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-powershell/0.26.4/download\"],\n strip_prefix = \"tree-sitter-powershell-0.26.4\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-powershell-0.26.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-proto-0.4.0\",\n sha256 = \"2e410ccb5fa3cbd6bf7b8e512ecf7ad9d5254395b822bfe9f751b50fa978f31c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-proto/0.4.0/download\"],\n strip_prefix = \"tree-sitter-proto-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-proto-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-python-0.25.0\",\n sha256 = \"6bf85fd39652e740bf60f46f4cda9492c3a9ad75880575bf14960f775cb74a1c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-python/0.25.0/download\"],\n strip_prefix = \"tree-sitter-python-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-python-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-r-1.3.0\",\n sha256 = \"ffc9954ec870dcad6cffdd302b405306c68cf031ed79a78cd9746f6740d9fe20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-r/1.3.0/download\"],\n strip_prefix = \"tree-sitter-r-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-r-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-regex-0.25.0\",\n sha256 = \"bd8a59be9f0ac131fd8f062eaaba14882b2fa5a6a7882a20134cb1d60df2e625\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-regex/0.25.0/download\"],\n strip_prefix = \"tree-sitter-regex-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-regex-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-ruby-0.23.1\",\n sha256 = \"be0484ea4ef6bb9c575b4fdabde7e31340a8d2dbc7d52b321ac83da703249f95\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-ruby/0.23.1/download\"],\n strip_prefix = \"tree-sitter-ruby-0.23.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-ruby-0.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-rust-0.24.2\",\n sha256 = \"439e577dbe07423ec2582ac62c7531120dbfccfa6e5f92406f93dd271a120e45\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-rust/0.24.2/download\"],\n strip_prefix = \"tree-sitter-rust-0.24.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-rust-0.24.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-scala-0.26.2\",\n sha256 = \"24e0ab4505990bfe30051761d40a7bf4033ce5a81c9eda9e20e987a5cdc84826\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-scala/0.26.2/download\"],\n strip_prefix = \"tree-sitter-scala-0.26.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-scala-0.26.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-sequel-0.3.11\",\n sha256 = \"9d198ad3c319c02e43c21efa1ec796b837afcb96ffaef1a40c1978fbdcec7d17\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-sequel/0.3.11/download\"],\n strip_prefix = \"tree-sitter-sequel-0.3.11\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-sequel-0.3.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-solidity-1.2.13\",\n sha256 = \"4eacf8875b70879f0cb670c60b233ad0b68752d9e1474e6c3ef168eea8a90b25\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-solidity/1.2.13/download\"],\n strip_prefix = \"tree-sitter-solidity-1.2.13\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-solidity-1.2.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-starlark-1.3.0\",\n sha256 = \"8934f282d085cc4b9ee28aa688aa3fbe8aa3766201c2a6252f411d45b4c3a721\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-starlark/1.3.0/download\"],\n strip_prefix = \"tree-sitter-starlark-1.3.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-starlark-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-svelte-next-0.1.1\",\n sha256 = \"56f88190d0743e897c3e148a7e241aba0a8844b8afe816943851426e3f7b9753\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-svelte-next/0.1.1/download\"],\n strip_prefix = \"tree-sitter-svelte-next-0.1.1\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-svelte-next-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-swift-0.7.3\",\n sha256 = \"fe36052155b9dd69ca82b3b8f1b4ccfb2d867125ac1a4db1dd7331829242668c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-swift/0.7.3/download\"],\n strip_prefix = \"tree-sitter-swift-0.7.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-swift-0.7.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-tlaplus-1.5.0\",\n sha256 = \"ddaacc0337bfee38f233a91a704dc36b887a0c385348163f65344d64b73f79e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-tlaplus/1.5.0/download\"],\n strip_prefix = \"tree-sitter-tlaplus-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-tlaplus-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-toml-ng-0.7.0\",\n sha256 = \"e9adc2c898ae49730e857d75be403da3f92bb81d8e37a2f918a08dd10de5ebb1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-toml-ng/0.7.0/download\"],\n strip_prefix = \"tree-sitter-toml-ng-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-toml-ng-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-typescript-0.23.2\",\n sha256 = \"6c5f76ed8d947a75cc446d5fccd8b602ebf0cde64ccf2ffa434d873d7a575eff\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-typescript/0.23.2/download\"],\n strip_prefix = \"tree-sitter-typescript-0.23.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-typescript-0.23.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-verilog-1.0.3\",\n sha256 = \"d4e7e0360395852f1f6ff5b7b82c72dc6557d181073188df1d60ec469ea69c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-verilog/1.0.3/download\"],\n strip_prefix = \"tree-sitter-verilog-1.0.3\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-verilog-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-vue-next-0.1.0\",\n sha256 = \"e9ac89acaa8165aaabfa8ae9683aa423b0d2bf42c815dae5ca031a36a75525f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-vue-next/0.1.0/download\"],\n strip_prefix = \"tree-sitter-vue-next-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-vue-next-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-xml-0.7.0\",\n sha256 = \"e670041f591d994f54d597ddcd8f4ebc930e282c4c76a42268743b71f0c8b6b3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-xml/0.7.0/download\"],\n strip_prefix = \"tree-sitter-xml-0.7.0\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-xml-0.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-yaml-0.7.2\",\n sha256 = \"53c223db85f05e34794f065454843b0668ebc15d240ada63e2b5939f43ce7c97\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-yaml/0.7.2/download\"],\n strip_prefix = \"tree-sitter-yaml-0.7.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-yaml-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree-sitter-zig-1.1.2\",\n sha256 = \"ab11fc124851b0db4dd5e55983bbd9631192e93238389dcd44521715e5d53e28\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree-sitter-zig/1.1.2/download\"],\n strip_prefix = \"tree-sitter-zig-1.1.2\",\n build_file = Label(\"@crates//crates:BUILD.tree-sitter-zig-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__tree_magic_mini-3.2.2\",\n sha256 = \"b8765b90061cba6c22b5831f675da109ae5561588290f9fa2317adab2714d5a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tree_magic_mini/3.2.2/download\"],\n strip_prefix = \"tree_magic_mini-3.2.2\",\n build_file = Label(\"@crates//crates:BUILD.tree_magic_mini-3.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__triomphe-0.1.16\",\n sha256 = \"b40688ea6389c8171614b25491f71d4a27946e0c7ce2da1c6de27e25abf1a0ae\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/triomphe/0.1.16/download\"],\n strip_prefix = \"triomphe-0.1.16\",\n build_file = Label(\"@crates//crates:BUILD.triomphe-0.1.16.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ttf-parser-0.25.1\",\n sha256 = \"d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ttf-parser/0.25.1/download\"],\n strip_prefix = \"ttf-parser-0.25.1\",\n build_file = Label(\"@crates//crates:BUILD.ttf-parser-0.25.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__turn-0.17.2\",\n sha256 = \"d99249a493335eb44c4d7943a8751b22561a82c9903d8eb2d29780b3927880a7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/turn/0.17.2/download\"],\n strip_prefix = \"turn-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.turn-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__type-map-0.5.1\",\n sha256 = \"cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/type-map/0.5.1/download\"],\n strip_prefix = \"type-map-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.type-map-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__typed-arena-2.0.2\",\n sha256 = \"6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typed-arena/2.0.2/download\"],\n strip_prefix = \"typed-arena-2.0.2\",\n build_file = Label(\"@crates//crates:BUILD.typed-arena-2.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__typenum-1.20.1\",\n sha256 = \"b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/typenum/1.20.1/download\"],\n strip_prefix = \"typenum-1.20.1\",\n build_file = Label(\"@crates//crates:BUILD.typenum-1.20.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__ucd-trie-0.1.7\",\n sha256 = \"2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ucd-trie/0.1.7/download\"],\n strip_prefix = \"ucd-trie-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.ucd-trie-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uds_windows-1.2.1\",\n sha256 = \"f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uds_windows/1.2.1/download\"],\n strip_prefix = \"uds_windows-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.uds_windows-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uiautomation-0.25.0\",\n sha256 = \"c68495a701b9f2f21f29353ac446f0d27dd0d7ce97aa9ccf9061bca0446cd744\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uiautomation/0.25.0/download\"],\n strip_prefix = \"uiautomation-0.25.0\",\n build_file = Label(\"@crates//crates:BUILD.uiautomation-0.25.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uiautomation_derive-0.7.8\",\n sha256 = \"ffcc4d404aa1c03a848f95cf5feadc3e63946d7f095bf388770b85550093d388\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uiautomation_derive/0.7.8/download\"],\n strip_prefix = \"uiautomation_derive-0.7.8\",\n build_file = Label(\"@crates//crates:BUILD.uiautomation_derive-0.7.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unic-langid-0.9.6\",\n sha256 = \"a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unic-langid/0.9.6/download\"],\n strip_prefix = \"unic-langid-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.unic-langid-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unic-langid-impl-0.9.6\",\n sha256 = \"dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unic-langid-impl/0.9.6/download\"],\n strip_prefix = \"unic-langid-impl-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.unic-langid-impl-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicase-2.9.0\",\n sha256 = \"dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicase/2.9.0/download\"],\n strip_prefix = \"unicase-2.9.0\",\n build_file = Label(\"@crates//crates:BUILD.unicase-2.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-bidi-0.3.18\",\n sha256 = \"5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-bidi/0.3.18/download\"],\n strip_prefix = \"unicode-bidi-0.3.18\",\n build_file = Label(\"@crates//crates:BUILD.unicode-bidi-0.3.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-ident-1.0.24\",\n sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n strip_prefix = \"unicode-ident-1.0.24\",\n build_file = Label(\"@crates//crates:BUILD.unicode-ident-1.0.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-normalization-0.1.25\",\n sha256 = \"5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-normalization/0.1.25/download\"],\n strip_prefix = \"unicode-normalization-0.1.25\",\n build_file = Label(\"@crates//crates:BUILD.unicode-normalization-0.1.25.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-properties-0.1.3\",\n sha256 = \"e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-properties/0.1.3/download\"],\n strip_prefix = \"unicode-properties-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.unicode-properties-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-segmentation-1.13.3\",\n sha256 = \"c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-segmentation/1.13.3/download\"],\n strip_prefix = \"unicode-segmentation-1.13.3\",\n build_file = Label(\"@crates//crates:BUILD.unicode-segmentation-1.13.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-width-0.1.14\",\n sha256 = \"7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.1.14/download\"],\n strip_prefix = \"unicode-width-0.1.14\",\n build_file = Label(\"@crates//crates:BUILD.unicode-width-0.1.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unicode-width-0.2.2\",\n sha256 = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.2.2/download\"],\n strip_prefix = \"unicode-width-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.unicode-width-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__unit-prefix-0.5.2\",\n sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n strip_prefix = \"unit-prefix-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.unit-prefix-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__universal-hash-0.5.1\",\n sha256 = \"fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/universal-hash/0.5.1/download\"],\n strip_prefix = \"universal-hash-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.universal-hash-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__untrusted-0.9.0\",\n sha256 = \"8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/untrusted/0.9.0/download\"],\n strip_prefix = \"untrusted-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.untrusted-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__url-2.5.8\",\n sha256 = \"ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/url/2.5.8/download\"],\n strip_prefix = \"url-2.5.8\",\n build_file = Label(\"@crates//crates:BUILD.url-2.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__urlencoding-2.1.3\",\n sha256 = \"daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/urlencoding/2.1.3/download\"],\n strip_prefix = \"urlencoding-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.urlencoding-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf16_iter-1.0.5\",\n sha256 = \"c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf16_iter/1.0.5/download\"],\n strip_prefix = \"utf16_iter-1.0.5\",\n build_file = Label(\"@crates//crates:BUILD.utf16_iter-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8-chars-3.0.7\",\n sha256 = \"92498c67ea3511b37eccff13b573ed871faf0ce9c4056ab032bd01a681f445a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8-chars/3.0.7/download\"],\n strip_prefix = \"utf8-chars-3.0.7\",\n build_file = Label(\"@crates//crates:BUILD.utf8-chars-3.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8_iter-1.0.4\",\n sha256 = \"b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8_iter/1.0.4/download\"],\n strip_prefix = \"utf8_iter-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.utf8_iter-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__utf8parse-0.2.2\",\n sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n strip_prefix = \"utf8parse-0.2.2\",\n build_file = Label(\"@crates//crates:BUILD.utf8parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uucore-0.8.0\",\n sha256 = \"07d779636d827cde4100f0e65ff3fd23b0b1f1195055475c6e6813d425f30c8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uucore/0.8.0/download\"],\n strip_prefix = \"uucore-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uucore-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uucore_procs-0.8.0\",\n sha256 = \"da865e8a648b260dbd89fca76d0801995877ab27a4e259b6dec30ba9743b86ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uucore_procs/0.8.0/download\"],\n strip_prefix = \"uucore_procs-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uucore_procs-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uuid-1.24.1\",\n sha256 = \"2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uuid/1.24.1/download\"],\n strip_prefix = \"uuid-1.24.1\",\n build_file = Label(\"@crates//crates:BUILD.uuid-1.24.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uutils_term_grid-0.8.0\",\n sha256 = \"382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uutils_term_grid/0.8.0/download\"],\n strip_prefix = \"uutils_term_grid-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.uutils_term_grid-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__uzers-0.12.2\",\n sha256 = \"0b8275fb1afee25b4111d2dc8b5c505dbbc4afd0b990cb96deb2d88bff8be18d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uzers/0.12.2/download\"],\n strip_prefix = \"uzers-0.12.2\",\n build_file = Label(\"@crates//crates:BUILD.uzers-0.12.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__version-compare-0.2.1\",\n sha256 = \"03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version-compare/0.2.1/download\"],\n strip_prefix = \"version-compare-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.version-compare-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__version_check-0.9.5\",\n sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n strip_prefix = \"version_check-0.9.5\",\n build_file = Label(\"@crates//crates:BUILD.version_check-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__vsimd-0.8.0\",\n sha256 = \"5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/vsimd/0.8.0/download\"],\n strip_prefix = \"vsimd-0.8.0\",\n build_file = Label(\"@crates//crates:BUILD.vsimd-0.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__waitgroup-0.1.2\",\n sha256 = \"d1f50000a783467e6c0200f9d10642f4bc424e39efc1b770203e88b488f79292\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/waitgroup/0.1.2/download\"],\n strip_prefix = \"waitgroup-0.1.2\",\n build_file = Label(\"@crates//crates:BUILD.waitgroup-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__walkdir-2.5.0\",\n sha256 = \"29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/walkdir/2.5.0/download\"],\n strip_prefix = \"walkdir-2.5.0\",\n build_file = Label(\"@crates//crates:BUILD.walkdir-2.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasi-0.11.1-wasi-snapshot-preview1\",\n sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n build_file = Label(\"@crates//crates:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasi-0.14.7-wasi-0.2.4\",\n sha256 = \"883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.14.7+wasi-0.2.4/download\"],\n strip_prefix = \"wasi-0.14.7+wasi-0.2.4\",\n build_file = Label(\"@crates//crates:BUILD.wasi-0.14.7+wasi-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasip2-1.0.4-wasi-0.2.12\",\n sha256 = \"b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip2/1.0.4+wasi-0.2.12/download\"],\n strip_prefix = \"wasip2-1.0.4+wasi-0.2.12\",\n build_file = Label(\"@crates//crates:BUILD.wasip2-1.0.4+wasi-0.2.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasite-1.0.2\",\n sha256 = \"66fe902b4a6b8028a753d5424909b764ccf79b7a209eac9bf97e59cda9f71a42\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasite/1.0.2/download\"],\n strip_prefix = \"wasite-1.0.2\",\n build_file = Label(\"@crates//crates:BUILD.wasite-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-0.2.127\",\n sha256 = \"1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-macro-0.2.127\",\n sha256 = \"77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-macro-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-macro-support-0.2.127\",\n sha256 = \"e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-macro-support-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wasm-bindgen-shared-0.2.127\",\n sha256 = \"7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.127/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.127\",\n build_file = Label(\"@crates//crates:BUILD.wasm-bindgen-shared-0.2.127.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-backend-0.3.17\",\n sha256 = \"38a91b4eaddff87b1cd1074985e3713da4af2c49742d1b356b2c01670a67a078\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-backend/0.3.17/download\"],\n strip_prefix = \"wayland-backend-0.3.17\",\n build_file = Label(\"@crates//crates:BUILD.wayland-backend-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-client-0.31.15\",\n sha256 = \"e3c36a0f861ad76d0901f2800b46321410d9f73f2ea88aac0650d86c32688073\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-client/0.31.15/download\"],\n strip_prefix = \"wayland-client-0.31.15\",\n build_file = Label(\"@crates//crates:BUILD.wayland-client-0.31.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-protocols-0.32.13\",\n sha256 = \"23d0c813de3daa2ed6520af85a3bd49b0e722a3078506899aa9686fea58dc4b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-protocols/0.32.13/download\"],\n strip_prefix = \"wayland-protocols-0.32.13\",\n build_file = Label(\"@crates//crates:BUILD.wayland-protocols-0.32.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-protocols-wlr-0.3.12\",\n sha256 = \"eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-protocols-wlr/0.3.12/download\"],\n strip_prefix = \"wayland-protocols-wlr-0.3.12\",\n build_file = Label(\"@crates//crates:BUILD.wayland-protocols-wlr-0.3.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-scanner-0.31.11\",\n sha256 = \"338e30461b3a2b67d70eb30a6d89f8e0c93a833e07d2ae89085cd070c4a00ac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-scanner/0.31.11/download\"],\n strip_prefix = \"wayland-scanner-0.31.11\",\n build_file = Label(\"@crates//crates:BUILD.wayland-scanner-0.31.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-server-0.31.14\",\n sha256 = \"0dde9c29be0f723a573977de51ee455bf3dfa03652730a74f9dd3b337e374d75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-server/0.31.14/download\"],\n strip_prefix = \"wayland-server-0.31.14\",\n build_file = Label(\"@crates//crates:BUILD.wayland-server-0.31.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wayland-sys-0.31.11\",\n sha256 = \"d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wayland-sys/0.31.11/download\"],\n strip_prefix = \"wayland-sys-0.31.11\",\n build_file = Label(\"@crates//crates:BUILD.wayland-sys-0.31.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web-sys-0.3.104\",\n sha256 = \"c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-sys/0.3.104/download\"],\n strip_prefix = \"web-sys-0.3.104\",\n build_file = Label(\"@crates//crates:BUILD.web-sys-0.3.104.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web-time-1.1.0\",\n sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n strip_prefix = \"web-time-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.web-time-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__web_atoms-0.2.6\",\n sha256 = \"ba8b815c1b593dc0baf78dd0f4fc8fdb2de53198fb1163738093e9a311c33fb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web_atoms/0.2.6/download\"],\n strip_prefix = \"web_atoms-0.2.6\",\n build_file = Label(\"@crates//crates:BUILD.web_atoms-0.2.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-0.17.2\",\n sha256 = \"baaacdf9d96224d7b6e2872ba065578f38775f7634367e3ac2cc87c7271da433\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc/0.17.2/download\"],\n strip_prefix = \"webrtc-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-data-0.17.2\",\n sha256 = \"bd470286275809f2fcfcdb1e73ef5f1500be82eff7fe98150ce81b20aad5a2a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-data/0.17.2/download\"],\n strip_prefix = \"webrtc-data-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-data-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-ice-0.17.2\",\n sha256 = \"5b7fd30f52e6fda8664779b84b7904b2553b76fee24d9ca665e774ae32b13f53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-ice/0.17.2/download\"],\n strip_prefix = \"webrtc-ice-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-ice-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-mdns-0.17.2\",\n sha256 = \"91ffa0ea00c0fae979aafa5db285fec5eeb360e1ea246ebec529ba4e09f8e03e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-mdns/0.17.2/download\"],\n strip_prefix = \"webrtc-mdns-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-mdns-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-media-0.17.2\",\n sha256 = \"26a6c7335bdd03dc023cb9a3bd7966866d969c92c86987b73aa16dfa39c7ca29\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-media/0.17.2/download\"],\n strip_prefix = \"webrtc-media-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-media-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-sctp-0.17.2\",\n sha256 = \"1c4b637f0d8eb96d900ac0f79b3060ddd21ca88dfefa467e96e67ab0016f2574\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-sctp/0.17.2/download\"],\n strip_prefix = \"webrtc-sctp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-sctp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-srtp-0.17.2\",\n sha256 = \"45d2b667a0b5d04eebcb7cb22fd51b2af3721f418097b496e72de16386c8d0c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-srtp/0.17.2/download\"],\n strip_prefix = \"webrtc-srtp-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-srtp-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__webrtc-util-0.17.2\",\n sha256 = \"1beae0b4f24969741c26ca282a257dc5823bd9cbe608f7e3ca3775102d323ad9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/webrtc-util/0.17.2/download\"],\n strip_prefix = \"webrtc-util-0.17.2\",\n build_file = Label(\"@crates//crates:BUILD.webrtc-util-0.17.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__weezl-0.1.12\",\n sha256 = \"a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/weezl/0.1.12/download\"],\n strip_prefix = \"weezl-0.1.12\",\n build_file = Label(\"@crates//crates:BUILD.weezl-0.1.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__whoami-2.1.3\",\n sha256 = \"626c4bac6755d76ffc12cb01b2eac751db1996b9e0041de9aa02c8c211ddc82c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/whoami/2.1.3/download\"],\n strip_prefix = \"whoami-2.1.3\",\n build_file = Label(\"@crates//crates:BUILD.whoami-2.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wide-1.6.1\",\n sha256 = \"de2aaf408e58689c2096682331b1f42bb2d9f2ed6b11560407d023cd0a6c634e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wide/1.6.1/download\"],\n strip_prefix = \"wide-1.6.1\",\n build_file = Label(\"@crates//crates:BUILD.wide-1.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__widestring-1.2.1\",\n sha256 = \"72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/widestring/1.2.1/download\"],\n strip_prefix = \"widestring-1.2.1\",\n build_file = Label(\"@crates//crates:BUILD.widestring-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wild-2.2.1\",\n sha256 = \"a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wild/2.2.1/download\"],\n strip_prefix = \"wild-2.2.1\",\n build_file = Label(\"@crates//crates:BUILD.wild-2.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crates//crates:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-util-0.1.11\",\n sha256 = \"c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-util/0.1.11/download\"],\n strip_prefix = \"winapi-util-0.1.11\",\n build_file = Label(\"@crates//crates:BUILD.winapi-util-0.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crates//crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.51.1\",\n sha256 = \"ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.51.1/download\"],\n strip_prefix = \"windows-0.51.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.61.3\",\n sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n strip_prefix = \"windows-0.61.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.61.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-0.62.2\",\n sha256 = \"527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.62.2/download\"],\n strip_prefix = \"windows-0.62.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-0.62.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-collections-0.2.0\",\n sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n strip_prefix = \"windows-collections-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-collections-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-collections-0.3.2\",\n sha256 = \"23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.3.2/download\"],\n strip_prefix = \"windows-collections-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-collections-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.51.1\",\n sha256 = \"f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.51.1/download\"],\n strip_prefix = \"windows-core-0.51.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.51.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.61.2\",\n sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n strip_prefix = \"windows-core-0.61.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-core-0.62.2\",\n sha256 = \"b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.62.2/download\"],\n strip_prefix = \"windows-core-0.62.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-core-0.62.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-future-0.2.1\",\n sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n strip_prefix = \"windows-future-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-future-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-future-0.3.2\",\n sha256 = \"e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.3.2/download\"],\n strip_prefix = \"windows-future-0.3.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-future-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-implement-0.60.2\",\n sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n strip_prefix = \"windows-implement-0.60.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-implement-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-interface-0.59.3\",\n sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n strip_prefix = \"windows-interface-0.59.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-interface-0.59.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-link-0.1.3\",\n sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n strip_prefix = \"windows-link-0.1.3\",\n build_file = Label(\"@crates//crates:BUILD.windows-link-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-link-0.2.1\",\n sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n strip_prefix = \"windows-link-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-link-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-numerics-0.2.0\",\n sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n strip_prefix = \"windows-numerics-0.2.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-numerics-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-numerics-0.3.1\",\n sha256 = \"6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.3.1/download\"],\n strip_prefix = \"windows-numerics-0.3.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-numerics-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-result-0.3.4\",\n sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n strip_prefix = \"windows-result-0.3.4\",\n build_file = Label(\"@crates//crates:BUILD.windows-result-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-result-0.4.1\",\n sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n strip_prefix = \"windows-result-0.4.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-result-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-strings-0.4.2\",\n sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n strip_prefix = \"windows-strings-0.4.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-strings-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-strings-0.5.1\",\n sha256 = \"7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.5.1/download\"],\n strip_prefix = \"windows-strings-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-strings-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.52.0\",\n sha256 = \"282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.52.0/download\"],\n strip_prefix = \"windows-sys-0.52.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.52.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.60.2\",\n sha256 = \"f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.60.2/download\"],\n strip_prefix = \"windows-sys-0.60.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-sys-0.61.2\",\n sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n strip_prefix = \"windows-sys-0.61.2\",\n build_file = Label(\"@crates//crates:BUILD.windows-sys-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-targets-0.53.5\",\n sha256 = \"4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.53.5/download\"],\n strip_prefix = \"windows-targets-0.53.5\",\n build_file = Label(\"@crates//crates:BUILD.windows-targets-0.53.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-threading-0.1.0\",\n sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n strip_prefix = \"windows-threading-0.1.0\",\n build_file = Label(\"@crates//crates:BUILD.windows-threading-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows-threading-0.2.1\",\n sha256 = \"3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.2.1/download\"],\n strip_prefix = \"windows-threading-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.windows-threading-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_gnullvm-0.53.1\",\n sha256 = \"a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_aarch64_msvc-0.53.1\",\n sha256 = \"b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.53.1/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_aarch64_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnu-0.53.1\",\n sha256 = \"960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.53.1/download\"],\n strip_prefix = \"windows_i686_gnu-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnu-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_gnullvm-0.53.1\",\n sha256 = \"fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_i686_msvc-0.53.1\",\n sha256 = \"1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.53.1/download\"],\n strip_prefix = \"windows_i686_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_i686_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnu-0.53.1\",\n sha256 = \"9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnu-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_gnullvm-0.53.1\",\n sha256 = \"0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_gnullvm-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__windows_x86_64_msvc-0.53.1\",\n sha256 = \"d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.53.1/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.53.1\",\n build_file = Label(\"@crates//crates:BUILD.windows_x86_64_msvc-0.53.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winnow-0.7.15\",\n sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n strip_prefix = \"winnow-0.7.15\",\n build_file = Label(\"@crates//crates:BUILD.winnow-0.7.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winnow-1.0.4\",\n sha256 = \"23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/1.0.4/download\"],\n strip_prefix = \"winnow-1.0.4\",\n build_file = Label(\"@crates//crates:BUILD.winnow-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winreg-0.10.1\",\n sha256 = \"80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winreg/0.10.1/download\"],\n strip_prefix = \"winreg-0.10.1\",\n build_file = Label(\"@crates//crates:BUILD.winreg-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__winreg-0.56.0\",\n sha256 = \"7d6f32a0ff4a9f6f01231eb2059cc85479330739333e0e58cadf03b6af2cca10\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winreg/0.56.0/download\"],\n strip_prefix = \"winreg-0.56.0\",\n build_file = Label(\"@crates//crates:BUILD.winreg-0.56.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wit-bindgen-0.57.1\",\n sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n strip_prefix = \"wit-bindgen-0.57.1\",\n build_file = Label(\"@crates//crates:BUILD.wit-bindgen-0.57.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wl-clipboard-rs-0.9.3\",\n sha256 = \"e9651471a32e87d96ef3a127715382b2d11cc7c8bb9822ded8a7cc94072eb0a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wl-clipboard-rs/0.9.3/download\"],\n strip_prefix = \"wl-clipboard-rs-0.9.3\",\n build_file = Label(\"@crates//crates:BUILD.wl-clipboard-rs-0.9.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__write16-1.0.0\",\n sha256 = \"d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/write16/1.0.0/download\"],\n strip_prefix = \"write16-1.0.0\",\n build_file = Label(\"@crates//crates:BUILD.write16-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__writeable-0.6.4\",\n sha256 = \"3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/writeable/0.6.4/download\"],\n strip_prefix = \"writeable-0.6.4\",\n build_file = Label(\"@crates//crates:BUILD.writeable-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__wyz-0.5.1\",\n sha256 = \"05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wyz/0.5.1/download\"],\n strip_prefix = \"wyz-0.5.1\",\n build_file = Label(\"@crates//crates:BUILD.wyz-0.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x11rb-0.13.2\",\n sha256 = \"9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x11rb/0.13.2/download\"],\n strip_prefix = \"x11rb-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.x11rb-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x11rb-protocol-0.13.2\",\n sha256 = \"ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x11rb-protocol/0.13.2/download\"],\n strip_prefix = \"x11rb-protocol-0.13.2\",\n build_file = Label(\"@crates//crates:BUILD.x11rb-protocol-0.13.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x25519-dalek-2.0.1\",\n sha256 = \"c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x25519-dalek/2.0.1/download\"],\n strip_prefix = \"x25519-dalek-2.0.1\",\n build_file = Label(\"@crates//crates:BUILD.x25519-dalek-2.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__x509-parser-0.16.0\",\n sha256 = \"fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/x509-parser/0.16.0/download\"],\n strip_prefix = \"x509-parser-0.16.0\",\n build_file = Label(\"@crates//crates:BUILD.x509-parser-0.16.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xattr-1.6.1\",\n sha256 = \"32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xattr/1.6.1/download\"],\n strip_prefix = \"xattr-1.6.1\",\n build_file = Label(\"@crates//crates:BUILD.xattr-1.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xcap-0.9.6\",\n sha256 = \"b6ad471d5ba232bc276382d26a9d3b837d6853b7df389058b5bb1e94dcdd248c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xcap/0.9.6/download\"],\n strip_prefix = \"xcap-0.9.6\",\n build_file = Label(\"@crates//crates:BUILD.xcap-0.9.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xcb-1.7.1\",\n sha256 = \"a6c2ad15e0e922856ee89afe862b8992334bbe7953adad56cd1199358cb30566\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xcb/1.7.1/download\"],\n strip_prefix = \"xcb-1.7.1\",\n build_file = Label(\"@crates//crates:BUILD.xcb-1.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xkbcommon-0.9.0\",\n sha256 = \"a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xkbcommon/0.9.0/download\"],\n strip_prefix = \"xkbcommon-0.9.0\",\n build_file = Label(\"@crates//crates:BUILD.xkbcommon-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xkeysym-0.2.1\",\n sha256 = \"b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xkeysym/0.2.1/download\"],\n strip_prefix = \"xkeysym-0.2.1\",\n build_file = Label(\"@crates//crates:BUILD.xkeysym-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xml-rs-0.8.29\",\n sha256 = \"e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xml-rs/0.8.29/download\"],\n strip_prefix = \"xml-rs-0.8.29\",\n build_file = Label(\"@crates//crates:BUILD.xml-rs-0.8.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xutf-1.4.0\",\n sha256 = \"a14f3ca7038796715a5f5fd1c22aac21423b4f86fd9ef5585ef1744a5cfc573e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xutf/1.4.0/download\"],\n strip_prefix = \"xutf-1.4.0\",\n build_file = Label(\"@crates//crates:BUILD.xutf-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__xxhash-rust-0.8.18\",\n sha256 = \"aee1b19627c7c60102ab80d3a9cbe18de90bfe03bfa6c3715447681f0e8c8af6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/xxhash-rust/0.8.18/download\"],\n strip_prefix = \"xxhash-rust-0.8.18\",\n build_file = Label(\"@crates//crates:BUILD.xxhash-rust-0.8.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yaml-rust-0.4.5\",\n sha256 = \"56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yaml-rust/0.4.5/download\"],\n strip_prefix = \"yaml-rust-0.4.5\",\n build_file = Label(\"@crates//crates:BUILD.yaml-rust-0.4.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yansi-1.0.1\",\n sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n strip_prefix = \"yansi-1.0.1\",\n build_file = Label(\"@crates//crates:BUILD.yansi-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yasna-0.5.2\",\n sha256 = \"e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yasna/0.5.2/download\"],\n strip_prefix = \"yasna-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.yasna-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yoke-0.8.3\",\n sha256 = \"709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yoke/0.8.3/download\"],\n strip_prefix = \"yoke-0.8.3\",\n build_file = Label(\"@crates//crates:BUILD.yoke-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__yoke-derive-0.8.2\",\n sha256 = \"de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yoke-derive/0.8.2/download\"],\n strip_prefix = \"yoke-derive-0.8.2\",\n build_file = Label(\"@crates//crates:BUILD.yoke-derive-0.8.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__z85-3.0.7\",\n sha256 = \"c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/z85/3.0.7/download\"],\n strip_prefix = \"z85-3.0.7\",\n build_file = Label(\"@crates//crates:BUILD.z85-3.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-5.19.0\",\n sha256 = \"5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus/5.19.0/download\"],\n strip_prefix = \"zbus-5.19.0\",\n build_file = Label(\"@crates//crates:BUILD.zbus-5.19.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-lockstep-0.5.2\",\n sha256 = \"6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus-lockstep/0.5.2/download\"],\n strip_prefix = \"zbus-lockstep-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.zbus-lockstep-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus-lockstep-macros-0.5.2\",\n sha256 = \"10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus-lockstep-macros/0.5.2/download\"],\n strip_prefix = \"zbus-lockstep-macros-0.5.2\",\n build_file = Label(\"@crates//crates:BUILD.zbus-lockstep-macros-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_macros-5.19.0\",\n sha256 = \"2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_macros/5.19.0/download\"],\n strip_prefix = \"zbus_macros-5.19.0\",\n build_file = Label(\"@crates//crates:BUILD.zbus_macros-5.19.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_names-4.3.4\",\n sha256 = \"d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_names/4.3.4/download\"],\n strip_prefix = \"zbus_names-4.3.4\",\n build_file = Label(\"@crates//crates:BUILD.zbus_names-4.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zbus_xml-5.2.1\",\n sha256 = \"d1586c021a01ca0a9216dcd874e546382e156a5cbab5fab6cb5f10087e22682a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zbus_xml/5.2.1/download\"],\n strip_prefix = \"zbus_xml-5.2.1\",\n build_file = Label(\"@crates//crates:BUILD.zbus_xml-5.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zcheapstr-1.1.0\",\n sha256 = \"d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zcheapstr/1.1.0/download\"],\n strip_prefix = \"zcheapstr-1.1.0\",\n build_file = Label(\"@crates//crates:BUILD.zcheapstr-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerocopy-0.8.56\",\n sha256 = \"556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.56/download\"],\n strip_prefix = \"zerocopy-0.8.56\",\n build_file = Label(\"@crates//crates:BUILD.zerocopy-0.8.56.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerocopy-derive-0.8.56\",\n sha256 = \"f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.56/download\"],\n strip_prefix = \"zerocopy-derive-0.8.56\",\n build_file = Label(\"@crates//crates:BUILD.zerocopy-derive-0.8.56.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerofrom-0.1.8\",\n sha256 = \"0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerofrom/0.1.8/download\"],\n strip_prefix = \"zerofrom-0.1.8\",\n build_file = Label(\"@crates//crates:BUILD.zerofrom-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerofrom-derive-0.1.7\",\n sha256 = \"11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerofrom-derive/0.1.7/download\"],\n strip_prefix = \"zerofrom-derive-0.1.7\",\n build_file = Label(\"@crates//crates:BUILD.zerofrom-derive-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zeroize-1.9.0\",\n sha256 = \"e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize/1.9.0/download\"],\n strip_prefix = \"zeroize-1.9.0\",\n build_file = Label(\"@crates//crates:BUILD.zeroize-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zeroize_derive-1.5.0\",\n sha256 = \"3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize_derive/1.5.0/download\"],\n strip_prefix = \"zeroize_derive-1.5.0\",\n build_file = Label(\"@crates//crates:BUILD.zeroize_derive-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerotrie-0.2.5\",\n sha256 = \"4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerotrie/0.2.5/download\"],\n strip_prefix = \"zerotrie-0.2.5\",\n build_file = Label(\"@crates//crates:BUILD.zerotrie-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerovec-0.11.7\",\n sha256 = \"94b5c6b5976d66c1d703c4fd17d3f5e43c8cedaacf604961b171adc7130896d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerovec/0.11.7/download\"],\n strip_prefix = \"zerovec-0.11.7\",\n build_file = Label(\"@crates//crates:BUILD.zerovec-0.11.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zerovec-derive-0.11.5\",\n sha256 = \"9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerovec-derive/0.11.5/download\"],\n strip_prefix = \"zerovec-derive-0.11.5\",\n build_file = Label(\"@crates//crates:BUILD.zerovec-derive-0.11.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zmij-1.0.23\",\n sha256 = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zmij/1.0.23/download\"],\n strip_prefix = \"zmij-1.0.23\",\n build_file = Label(\"@crates//crates:BUILD.zmij-1.0.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-0.13.3\",\n sha256 = \"e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd/0.13.3/download\"],\n strip_prefix = \"zstd-0.13.3\",\n build_file = Label(\"@crates//crates:BUILD.zstd-0.13.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-safe-7.2.4\",\n sha256 = \"8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd-safe/7.2.4/download\"],\n strip_prefix = \"zstd-safe-7.2.4\",\n build_file = Label(\"@crates//crates:BUILD.zstd-safe-7.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zstd-sys-2.0.16-zstd.1.5.7\",\n sha256 = \"91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zstd-sys/2.0.16+zstd.1.5.7/download\"],\n strip_prefix = \"zstd-sys-2.0.16+zstd.1.5.7\",\n build_file = Label(\"@crates//crates:BUILD.zstd-sys-2.0.16+zstd.1.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zune-core-0.5.3\",\n sha256 = \"d56377fd46368984a170bc5aac5567e52ca5da874caa60bea39fcbca78fb658b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zune-core/0.5.3/download\"],\n strip_prefix = \"zune-core-0.5.3\",\n build_file = Label(\"@crates//crates:BUILD.zune-core-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zune-jpeg-0.5.15\",\n sha256 = \"27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zune-jpeg/0.5.15/download\"],\n strip_prefix = \"zune-jpeg-0.5.15\",\n build_file = Label(\"@crates//crates:BUILD.zune-jpeg-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant-5.15.0\",\n sha256 = \"c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant/5.15.0/download\"],\n strip_prefix = \"zvariant-5.15.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant-5.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant_derive-5.15.0\",\n sha256 = \"864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant_derive/5.15.0/download\"],\n strip_prefix = \"zvariant_derive-5.15.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant_derive-5.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crates__zvariant_utils-4.2.0\",\n sha256 = \"bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zvariant_utils/4.2.0/download\"],\n strip_prefix = \"zvariant_utils-4.2.0\",\n build_file = Label(\"@crates//crates:BUILD.zvariant_utils-4.2.0.bazel\"),\n )\n\n return [\n struct(repo = \"crates\", is_dev_dep = False),\n struct(repo=\"crates__ansi-width-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__anyhow-1.0.104\", is_dev_dep = False),\n struct(repo=\"crates__arboard-3.6.1\", is_dev_dep = False),\n struct(repo=\"crates__argmax-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__ashpd-0.11.1\", is_dev_dep = False),\n struct(repo=\"crates__ast-grep-core-0.39.9\", is_dev_dep = False),\n struct(repo=\"crates__async-recursion-1.1.1\", is_dev_dep = False),\n struct(repo=\"crates__async-trait-0.1.92\", is_dev_dep = False),\n struct(repo=\"crates__atspi-0.30.0\", is_dev_dep = False),\n struct(repo=\"crates__audiopus_sys-0.2.2\", is_dev_dep = False),\n struct(repo=\"crates__base64-0.22.1\", is_dev_dep = False),\n struct(repo=\"crates__bigdecimal-0.4.10\", is_dev_dep = False),\n struct(repo=\"crates__binary-heap-plus-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__bon-3.9.3\", is_dev_dep = False),\n struct(repo=\"crates__brush-parser-0.3.0\", is_dev_dep = False),\n struct(repo=\"crates__brush-parser-0.4.0\", is_dev_dep = False),\n struct(repo=\"crates__bstr-1.13.1\", is_dev_dep = False),\n struct(repo=\"crates__bytecount-0.6.9\", is_dev_dep = False),\n struct(repo=\"crates__bytes-1.12.1\", is_dev_dep = False),\n struct(repo=\"crates__cached-0.59.0\", is_dev_dep = False),\n struct(repo=\"crates__cfg-if-1.0.4\", is_dev_dep = False),\n struct(repo=\"crates__check_elevation-0.2.7\", is_dev_dep = False),\n struct(repo=\"crates__chrono-0.4.45\", is_dev_dep = False),\n struct(repo=\"crates__clap-4.6.6\", is_dev_dep = False),\n struct(repo=\"crates__clipboard-win-5.4.1\", is_dev_dep = False),\n struct(repo=\"crates__codesnake-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__color-print-0.3.7\", is_dev_dep = False),\n struct(repo=\"crates__command-fds-0.3.3\", is_dev_dep = False),\n struct(repo=\"crates__compare-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__core-graphics-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__dashmap-6.2.1\", is_dev_dep = False),\n struct(repo=\"crates__dns-lookup-3.0.1\", is_dev_dep = False),\n struct(repo=\"crates__enigo-0.6.1\", is_dev_dep = False),\n struct(repo=\"crates__faccess-0.2.4\", is_dev_dep = False),\n struct(repo=\"crates__fancy-regex-0.17.0\", is_dev_dep = False),\n struct(repo=\"crates__filetime-0.2.29\", is_dev_dep = False),\n struct(repo=\"crates__flume-0.11.1\", is_dev_dep = False),\n struct(repo=\"crates__foldhash-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__fontdue-0.9.4\", is_dev_dep = False),\n struct(repo=\"crates__foreign-types-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__fs_extra-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__futures-0.3.34\", is_dev_dep = False),\n struct(repo=\"crates__getrandom-0.4.3\", is_dev_dep = False),\n struct(repo=\"crates__glob-0.3.4\", is_dev_dep = False),\n struct(repo=\"crates__globset-0.4.20\", is_dev_dep = False),\n struct(repo=\"crates__grep-cli-0.1.12\", is_dev_dep = False),\n struct(repo=\"crates__grep-matcher-0.1.9\", is_dev_dep = False),\n struct(repo=\"crates__grep-pcre2-0.1.10\", is_dev_dep = False),\n struct(repo=\"crates__grep-printer-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__grep-regex-0.1.14\", is_dev_dep = False),\n struct(repo=\"crates__grep-searcher-0.1.17\", is_dev_dep = False),\n struct(repo=\"crates__heapless-0.9.3\", is_dev_dep = False),\n struct(repo=\"crates__hex-0.4.3\", is_dev_dep = False),\n struct(repo=\"crates__hifijson-0.2.3\", is_dev_dep = False),\n struct(repo=\"crates__hostname-0.4.2\", is_dev_dep = False),\n struct(repo=\"crates__html-to-markdown-rs-3.11.0\", is_dev_dep = False),\n struct(repo=\"crates__icy_sixel-0.5.1\", is_dev_dep = False),\n struct(repo=\"crates__ignore-0.4.33\", is_dev_dep = False),\n struct(repo=\"crates__image-0.25.10\", is_dev_dep = False),\n struct(repo=\"crates__indicatif-0.18.6\", is_dev_dep = False),\n struct(repo=\"crates__inferno-0.12.8\", is_dev_dep = False),\n struct(repo=\"crates__inherent-1.0.14\", is_dev_dep = False),\n struct(repo=\"crates__itertools-0.14.0\", is_dev_dep = False),\n struct(repo=\"crates__jaq-core-2.2.1\", is_dev_dep = False),\n struct(repo=\"crates__jaq-json-1.1.3\", is_dev_dep = False),\n struct(repo=\"crates__jaq-std-2.1.2\", is_dev_dep = False),\n struct(repo=\"crates__jiff-0.2.35\", is_dev_dep = False),\n struct(repo=\"crates__libc-0.2.189\", is_dev_dep = False),\n struct(repo=\"crates__lscolors-0.21.0\", is_dev_dep = False),\n struct(repo=\"crates__memchr-2.8.3\", is_dev_dep = False),\n struct(repo=\"crates__memmap2-0.9.11\", is_dev_dep = False),\n struct(repo=\"crates__napi-3.12.1\", is_dev_dep = False),\n struct(repo=\"crates__napi-build-2.4.1\", is_dev_dep = False),\n struct(repo=\"crates__napi-derive-3.6.3\", is_dev_dep = False),\n struct(repo=\"crates__nix-0.31.3\", is_dev_dep = False),\n struct(repo=\"crates__nom-8.0.0\", is_dev_dep = False),\n struct(repo=\"crates__normalize-path-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__notify-8.2.0\", is_dev_dep = False),\n struct(repo=\"crates__num-bigint-0.4.8\", is_dev_dep = False),\n struct(repo=\"crates__num-traits-0.2.19\", is_dev_dep = False),\n struct(repo=\"crates__objc2-app-kit-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-application-services-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-core-foundation-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-core-graphics-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__objc2-foundation-0.3.2\", is_dev_dep = False),\n struct(repo=\"crates__onig-6.5.3\", is_dev_dep = False),\n struct(repo=\"crates__opus-0.3.1\", is_dev_dep = False),\n struct(repo=\"crates__os_display-0.1.4\", is_dev_dep = False),\n struct(repo=\"crates__os_pipe-1.2.3\", is_dev_dep = False),\n struct(repo=\"crates__parking_lot-0.12.5\", is_dev_dep = False),\n struct(repo=\"crates__parse_datetime-0.14.0\", is_dev_dep = False),\n struct(repo=\"crates__pdf-inspector-1.15.0\", is_dev_dep = False),\n struct(repo=\"crates__phf-0.13.1\", is_dev_dep = False),\n struct(repo=\"crates__platform-info-2.1.0\", is_dev_dep = False),\n struct(repo=\"crates__png-0.18.1\", is_dev_dep = False),\n struct(repo=\"crates__portable-pty-0.9.0\", is_dev_dep = False),\n struct(repo=\"crates__procfs-0.18.0\", is_dev_dep = False),\n struct(repo=\"crates__rand-0.10.2\", is_dev_dep = False),\n struct(repo=\"crates__rayon-1.12.0\", is_dev_dep = False),\n struct(repo=\"crates__regex-1.13.1\", is_dev_dep = False),\n struct(repo=\"crates__reis-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__rlimit-0.11.0\", is_dev_dep = False),\n struct(repo=\"crates__rpds-1.2.1\", is_dev_dep = False),\n struct(repo=\"crates__rustc-hash-2.1.3\", is_dev_dep = False),\n struct(repo=\"crates__rustix-1.1.4\", is_dev_dep = False),\n struct(repo=\"crates__self_cell-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__serde-1.0.229\", is_dev_dep = False),\n struct(repo=\"crates__serde_json-1.0.151\", is_dev_dep = False),\n struct(repo=\"crates__similar-3.2.0\", is_dev_dep = False),\n struct(repo=\"crates__smallvec-1.15.2\", is_dev_dep = False),\n struct(repo=\"crates__strum-0.28.0\", is_dev_dep = False),\n struct(repo=\"crates__strum_macros-0.28.0\", is_dev_dep = False),\n struct(repo=\"crates__syntect-5.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tempfile-3.27.0\", is_dev_dep = False),\n struct(repo=\"crates__terminfo-0.9.0\", is_dev_dep = False),\n struct(repo=\"crates__thiserror-2.0.20\", is_dev_dep = False),\n struct(repo=\"crates__tokio-1.53.1\", is_dev_dep = False),\n struct(repo=\"crates__tokio-util-0.7.19\", is_dev_dep = False),\n struct(repo=\"crates__toml-1.1.4-spec-1.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tracing-0.1.44\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-0.25.10\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-astro-next-0.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-bash-0.25.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-c-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-c-sharp-0.23.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-clojure-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-cmake-0.7.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-cpp-0.23.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-css-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-dart-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-diff-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-dockerfile-updated-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-elisp-1.7.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-elixir-0.3.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-erlang-0.16.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-fortran-0.6.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-go-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-graphql-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-haskell-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-hcl-1.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-html-0.23.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ini-1.4.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-java-0.23.5\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-javascript-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-json-0.24.8\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-julia-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-just-0.2.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-kotlin-sg-0.4.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-lua-0.5.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-make-1.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-md-0.5.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-nix-0.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-objc-3.0.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ocaml-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-odin-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-php-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-powershell-0.26.4\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-proto-0.4.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-python-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-r-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-regex-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-ruby-0.23.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-rust-0.24.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-scala-0.26.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-sequel-0.3.11\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-solidity-1.2.13\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-starlark-1.3.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-svelte-next-0.1.1\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-swift-0.7.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-tlaplus-1.5.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-toml-ng-0.7.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-typescript-0.23.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-verilog-1.0.3\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-vue-next-0.1.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-xml-0.7.0\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-yaml-0.7.2\", is_dev_dep = False),\n struct(repo=\"crates__tree-sitter-zig-1.1.2\", is_dev_dep = False),\n struct(repo=\"crates__uiautomation-0.25.0\", is_dev_dep = False),\n struct(repo=\"crates__uucore-0.8.0\", is_dev_dep = False),\n struct(repo=\"crates__uuid-1.24.1\", is_dev_dep = False),\n struct(repo=\"crates__uutils_term_grid-0.8.0\", is_dev_dep = False),\n struct(repo=\"crates__uzers-0.12.2\", is_dev_dep = False),\n struct(repo=\"crates__webrtc-0.17.2\", is_dev_dep = False),\n struct(repo=\"crates__whoami-2.1.3\", is_dev_dep = False),\n struct(repo=\"crates__windows-sys-0.59.0\", is_dev_dep = False),\n struct(repo=\"crates__windows-sys-0.61.2\", is_dev_dep = False),\n struct(repo=\"crates__winreg-0.56.0\", is_dev_dep = False),\n struct(repo=\"crates__x11rb-0.13.2\", is_dev_dep = False),\n struct(repo=\"crates__xcap-0.9.6\", is_dev_dep = False),\n struct(repo=\"crates__xkeysym-0.2.1\", is_dev_dep = False),\n struct(repo=\"crates__xutf-1.4.0\", is_dev_dep = False),\n struct(repo=\"crates__xxhash-rust-0.8.18\", is_dev_dep = False),\n struct(repo=\"crates__yansi-1.0.1\", is_dev_dep = False),\n struct(repo=\"crates__zstd-0.13.3\", is_dev_dep = False),\n struct(repo=\"crates__zune-jpeg-0.5.15\", is_dev_dep = False),\n struct(repo = \"crates__fancy-regex-0.16.2\", is_dev_dep = True),\n struct(repo = \"crates__pretty_assertions-1.4.1\", is_dev_dep = True),\n struct(repo = \"crates__tiktoken-rs-0.11.0\", is_dev_dep = True),\n ]\n", "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\"\"\"Deprecated: re-exports the crate_universe macros from `:crates.bzl`.\"\"\"\n\nload(\n \":crates.bzl\",\n _aliases = \"aliases\",\n _all_crate_deps = \"all_crate_deps\",\n _crate_deps = \"crate_deps\",\n _crate_edition = \"crate_edition\",\n _crate_repositories = \"crate_repositories\",\n)\n\naliases = _aliases\nall_crate_deps = _all_crate_deps\ncrate_deps = _crate_deps\ncrate_edition = _crate_edition\ncrate_repositories = _crate_repositories\n", "ansi-width-0.1.0/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"ansi-width-0.1.0\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n", "ansi-width/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"ansi-width\",\n actual = \"@crates__ansi-width-0.1.0//:ansi_width\",\n tags = [\"manual\"],\n)\n", @@ -622,6 +622,8 @@ "grep-regex/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"grep-regex\",\n actual = \"@crates__grep-regex-0.1.14//:grep_regex\",\n tags = [\"manual\"],\n)\n", "grep-searcher-0.1.17/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"grep-searcher-0.1.17\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n", "grep-searcher/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"grep-searcher\",\n actual = \"@crates__grep-searcher-0.1.17//:grep_searcher\",\n tags = [\"manual\"],\n)\n", + "heapless-0.9.3/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"heapless-0.9.3\",\n actual = \"@crates__heapless-0.9.3//:heapless\",\n tags = [\"manual\"],\n)\n", + "heapless/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"heapless\",\n actual = \"@crates__heapless-0.9.3//:heapless\",\n tags = [\"manual\"],\n)\n", "hex-0.4.3/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"hex-0.4.3\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n", "hex/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"hex\",\n actual = \"@crates__hex-0.4.3//:hex\",\n tags = [\"manual\"],\n)\n", "hifijson-0.2.3/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"hifijson-0.2.3\",\n actual = \"@crates__hifijson-0.2.3//:hifijson\",\n tags = [\"manual\"],\n)\n", @@ -908,8 +910,8 @@ "xcap/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xcap\",\n actual = \"@crates__xcap-0.9.6//:xcap\",\n tags = [\"manual\"],\n)\n", "xkeysym-0.2.1/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xkeysym-0.2.1\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n", "xkeysym/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xkeysym\",\n actual = \"@crates__xkeysym-0.2.1//:xkeysym\",\n tags = [\"manual\"],\n)\n", - "xutf-1.3.0/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xutf-1.3.0\",\n actual = \"@crates__xutf-1.3.0//:xutf\",\n tags = [\"manual\"],\n)\n", - "xutf/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xutf\",\n actual = \"@crates__xutf-1.3.0//:xutf\",\n tags = [\"manual\"],\n)\n", + "xutf-1.4.0/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xutf-1.4.0\",\n actual = \"@crates__xutf-1.4.0//:xutf\",\n tags = [\"manual\"],\n)\n", + "xutf/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xutf\",\n actual = \"@crates__xutf-1.4.0//:xutf\",\n tags = [\"manual\"],\n)\n", "xxhash-rust-0.8.18/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xxhash-rust-0.8.18\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n", "xxhash-rust/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"xxhash-rust\",\n actual = \"@crates__xxhash-rust-0.8.18//:xxhash_rust\",\n tags = [\"manual\"],\n)\n", "yansi-1.0.1/BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nalias(\n name = \"yansi-1.0.1\",\n actual = \"@crates__yansi-1.0.1//:yansi\",\n tags = [\"manual\"],\n)\n", @@ -4281,6 +4283,19 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"half\",\n deps = [\n \"@crates__cfg-if-1.0.4//:cfg_if\",\n \"@crates__zerocopy-0.8.56//:zerocopy\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=half\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.7.1\",\n)\n" } }, + "crates__hash32-0.3.1": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "remote_patch_strip": 1, + "sha256": "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/hash32/0.3.1/download" + ], + "strip_prefix": "hash32-0.3.1", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hash32\",\n deps = [\n \"@crates__byteorder-1.5.0//:byteorder\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hash32\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.1\",\n)\n" + } + }, "crates__hashbrown-0.14.5": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -4333,6 +4348,19 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hashbrown\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hashbrown\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.17.1\",\n)\n" } }, + "crates__heapless-0.9.3": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "remote_patch_strip": 1, + "sha256": "25ba4bd83f9415b58b4ed8dc5714c76e626a105be4646c02630ad730ad3b5aa4", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/heapless/0.9.3/download" + ], + "strip_prefix": "heapless-0.9.3", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heapless\",\n deps = [\n \"@crates__hash32-0.3.1//:hash32\",\n \"@crates__heapless-0.9.3//:build_script_build\",\n ] + select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:x86_64-apple-darwin\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [\n \"@crates__stable_deref_trait-1.2.1//:stable_deref_trait\", # cfg(any(target_arch = \"arm\", target_pointer_width = \"32\", target_pointer_width = \"64\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.3\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n emit_warnings = False,\n edition = \"2021\",\n pkg_name = \"heapless\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.9.3\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + } + }, "crates__heck-0.5.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -11795,17 +11823,17 @@ "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"xml\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=xml-rs\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.29\",\n)\n" } }, - "crates__xutf-1.3.0": { + "crates__xutf-1.4.0": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { "remote_patch_strip": 1, - "sha256": "ebf5e6279962ddca7b9f8941d283083400625c5deaa6f92e660761a312a46c2e", + "sha256": "a14f3ca7038796715a5f5fd1c22aac21423b4f86fd9ef5585ef1744a5cfc573e", "type": "tar.gz", "urls": [ - "https://static.crates.io/crates/xutf/1.3.0/download" + "https://static.crates.io/crates/xutf/1.4.0/download" ], - "strip_prefix": "xutf-1.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"xutf\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=xutf\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.0\",\n)\n" + "strip_prefix": "xutf-1.4.0", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'oh-my-pi'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"xutf\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=xutf\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@@//bazel/triples:aarch64-apple-darwin\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:aarch64-unknown-linux-musl\": [],\n \"@@//bazel/triples:x86_64-apple-darwin\": [],\n \"@@//bazel/triples:x86_64-pc-windows-msvc\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-gnu\": [],\n \"@@//bazel/triples:x86_64-unknown-linux-musl\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.0\",\n)\n" } }, "crates__xxhash-rust-0.8.18": { diff --git a/bun.lock b/bun.lock index 8fc492ffa..9455a9db8 100644 --- a/bun.lock +++ b/bun.lock @@ -207,6 +207,13 @@ "devDependencies": { "@napi-rs/cli": "catalog:", "@types/bun": "catalog:", + "cli-truncate": "6.1.1", + "diff": "9.0.0", + "gpt-tokenizer": "4.0.0", + "mitata": "1.0.34", + "slice-ansi": "9.0.0", + "string-width": "8.2.2", + "wrap-ansi": "10.0.0", }, }, "packages/omptype": { @@ -967,7 +974,7 @@ "ansi-regex": ["ansi-regex@6.3.0", "", {}, "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ=="], - "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], @@ -1007,6 +1014,8 @@ "cli-progress": ["cli-progress@3.12.0", "", { "dependencies": { "string-width": "^4.2.3" } }, "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A=="], + "cli-truncate": ["cli-truncate@6.1.1", "", { "dependencies": { "slice-ansi": "^9.0.0", "string-width": "^8.2.0" } }, "sha512-06p9vyLahLa4zkGcgsGxU6iEkSOiuI4fhCH6Emhe2lPAcoUv73n72DnODsnHA+5wwXGnV0n9M9/qOQJSjYhFhw=="], + "cli-width": ["cli-width@4.1.0", "", {}, "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ=="], "clipanion": ["clipanion@4.0.0-rc.4", "", { "dependencies": { "typanion": "^3.8.0" } }, "sha512-CXkMQxU6s9GklO/1f714dkKBMu1lopS1WFF0B8o4AxPykR1hpozxSiUZ5ZUeBjfPgCWqbcNOtZVFhB8Lkfp1+Q=="], @@ -1119,6 +1128,8 @@ "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + "gpt-tokenizer": ["gpt-tokenizer@4.0.0", "", {}, "sha512-YAWIyzvuVUHEfW7tFfFAxH8qQb+Q3RU9nYOTy7skMNX5qzU6Q8jxTHZLyO56ug1vYvCR7wndzpd3jwD86/mhjQ=="], + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], "guid-typescript": ["guid-typescript@1.0.9", "", {}, "sha512-Y8T4vYhEfwJOTbouREvG+3XDsjr8E3kIr7uf+JZ0BYloFsttiHU0WfvANVsR7TxNUJa/WpCnw/Ino/p+DeBhBQ=="], @@ -1135,7 +1146,7 @@ "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="], "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="], @@ -1203,6 +1214,8 @@ "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="], + "mitata": ["mitata@1.0.34", "", {}, "sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA=="], + "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], @@ -1311,6 +1324,8 @@ "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + "slice-ansi": ["slice-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.3", "is-fullwidth-code-point": "^5.1.0" } }, "sha512-SO/3iYL5S3W57LLEniscOGPZgOqZUPCx6d3dB+52B80yJ0XstzsC/eV8gnA4tM3MHDrKz+OCFSLNjswdSC+/bA=="], + "solid-js": ["solid-js@1.9.14", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.4", "seroval-plugins": "~1.5.4" } }, "sha512-sAEXC0Kk0S1EDg+8ysEWJDbYhA3RRoEjwuySUGlKIemeo0I5YZfOyumNjNs9Sv3y2nmhD+0rW66ag2HsMuQiGQ=="], "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], @@ -1375,7 +1390,7 @@ "webdriver-bidi-protocol": ["webdriver-bidi-protocol@0.4.2", "", {}, "sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA=="], - "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], + "wrap-ansi": ["wrap-ansi@10.0.0", "", { "dependencies": { "ansi-styles": "^6.2.3", "string-width": "^8.2.0", "strip-ansi": "^7.1.2" } }, "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ=="], "ws": ["ws@8.21.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw=="], @@ -1469,10 +1484,14 @@ "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], + "chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "cli-progress/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "cliui/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + "cliui/wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], + "fastembed/onnxruntime-node": ["onnxruntime-node@1.21.0", "", { "dependencies": { "global-agent": "^3.0.0", "onnxruntime-common": "1.21.0", "tar": "^7.0.1" }, "os": [ "linux", "win32", "darwin", ] }, "sha512-NeaCX6WW2L8cRCSqy3bInlo5ojjQqu2fD3D+9W5qb5irwxhEyWKXeH2vZ8W9r6VxaMPUan+4/7NDwZMtouZxEw=="], "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="], @@ -1485,10 +1504,6 @@ "vite/lightningcss": ["lightningcss@1.33.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.33.0", "lightningcss-darwin-arm64": "1.33.0", "lightningcss-darwin-x64": "1.33.0", "lightningcss-freebsd-x64": "1.33.0", "lightningcss-linux-arm-gnueabihf": "1.33.0", "lightningcss-linux-arm64-gnu": "1.33.0", "lightningcss-linux-arm64-musl": "1.33.0", "lightningcss-linux-x64-gnu": "1.33.0", "lightningcss-linux-x64-musl": "1.33.0", "lightningcss-win32-arm64-msvc": "1.33.0", "lightningcss-win32-x64-msvc": "1.33.0" } }, "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA=="], - "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - - "wrap-ansi/string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "@huggingface/transformers/onnxruntime-node/global-agent": ["global-agent@3.0.0", "", { "dependencies": { "boolean": "^3.0.1", "es6-error": "^4.1.1", "matcher": "^3.0.0", "roarr": "^2.15.3", "semver": "^7.3.2", "serialize-error": "^7.0.1" } }, "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="], "@huggingface/transformers/onnxruntime-node/onnxruntime-common": ["onnxruntime-common@1.24.3", "", {}, "sha512-GeuPZO6U/LBJXvwdaqHbuUmoXiEdeCjWi/EG7Y1HNnDwJYuk6WUbNXpF6luSUY8yASul3cmUlLGrCCL1ZgVXqA=="], @@ -1507,6 +1522,8 @@ "@typescript/analyze-trace/yargs/yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], + "cli-progress/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "cli-progress/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "cliui/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], @@ -1539,8 +1556,6 @@ "vite/lightningcss/lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.33.0", "", { "os": "win32", "cpu": "x64" }, "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA=="], - "wrap-ansi/string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], - "@huggingface/transformers/onnxruntime-node/global-agent/matcher": ["matcher@3.0.0", "", { "dependencies": { "escape-string-regexp": "^4.0.0" } }, "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="], "@huggingface/transformers/onnxruntime-node/global-agent/serialize-error": ["serialize-error@7.0.1", "", { "dependencies": { "type-fest": "^0.13.1" } }, "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="], @@ -1549,6 +1564,8 @@ "@typescript/analyze-trace/yargs/cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "@typescript/analyze-trace/yargs/string-width/is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "@typescript/analyze-trace/yargs/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], "cli-progress/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], @@ -1569,6 +1586,8 @@ "@typescript/analyze-trace/yargs/cliui/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "@typescript/analyze-trace/yargs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + "@typescript/analyze-trace/yargs/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "fastembed/onnxruntime-node/global-agent/serialize-error/type-fest": ["type-fest@0.13.1", "", {}, "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="], diff --git a/crates/pi-builtins/Cargo.toml b/crates/pi-builtins/Cargo.toml index 18f4173da..cf0e5882c 100644 --- a/crates/pi-builtins/Cargo.toml +++ b/crates/pi-builtins/Cargo.toml @@ -97,7 +97,7 @@ smallvec.workspace = true similar = "3.1.0" tempfile = "3.15.0" tokio-util = "0.7" -unicode-width = "0.2.0" +xutf.workspace = true libc = "0.2.172" memmap2 = "0.9" uutils_term_grid = "0.8" diff --git a/crates/pi-builtins/src/cksum.rs b/crates/pi-builtins/src/cksum.rs index 6cd786671..fc401549d 100644 --- a/crates/pi-builtins/src/cksum.rs +++ b/crates/pi-builtins/src/cksum.rs @@ -11,6 +11,7 @@ use std::{ io::{self, BufReader, Read, Write}, }; +use brush_core::{ShellExtensions, builtins::Registration}; use clap::{Arg, ArgAction, ArgMatches, Command, ValueHint, builder::ValueParser}; use os_display::Quotable; use uucore::{ @@ -18,6 +19,7 @@ use uucore::{ AlgoKind, BlakeLength, ChecksumError, ReadingMode, ShaLength, SizedAlgoKind, digest_reader, escape_filename, parse_blake_length, unescape_filename, SUPPORTED_ALGORITHMS, }, + hardware::{HasHardwareFeatures as _, SimdPolicy}, line_ending::LineEnding, os_str_from_bytes, quoting_style::{QuotingStyle, locale_aware_escape_name}, @@ -25,7 +27,7 @@ use uucore::{ sum::{self, Blake2b, Blake3, DigestOutput}, }; -use crate::host::{Host, os_bytes}; +use crate::host::{Host, Utility, matches_parser, os_bytes, util}; #[derive(Debug, Clone)] struct Failure(String); @@ -415,6 +417,164 @@ pub(crate) fn run( } } +/// Parsed `cksum` invocation. +pub(crate) struct Cksum { + matches: ArgMatches, +} + +matches_parser!(Cksum, cksum_app); + +impl Utility for Cksum { + const NAME: &'static str = "cksum"; + + fn run(self, host: &mut Host) -> i32 { + match run_cksum(host, self.matches) { + Ok(()) => host.exit_code(), + Err(error) => { + if !error.0.is_empty() { + host.error(error, 1); + } + 1 + }, + } + } +} + +/// Builds the clap command for the GNU `cksum` multi-algorithm front-end. +fn cksum_app() -> Command { + default_checksum_app( + "Print or verify checksums; without --algorithm, prints the POSIX CRC and byte count", + "cksum [OPTION]... [FILE]...", + ) + .name("cksum") + .with_algo() + .with_untagged() + .with_tag(true) + .with_length() + .with_raw() + .with_check_and_opts() + .with_base64() + .with_text(false) + .with_binary() + .with_zero() + .with_debug() +} + +/// Creates the `cksum` builtin registration. +pub(crate) fn cksum_builtin() -> Registration { + util::() +} + +/// Sanitizes `--length` against `--algorithm`, mirroring GNU `cksum`. +fn sanitize_cksum_length( + host: &mut Host, + algo: Option, + input_length: Option<&str>, +) -> ExecResult> { + match (algo, input_length) { + // No provided length is not a problem so far. + (_, None) => Ok(None), + + // For SHA2 and SHA3, if a length is provided, ensure it is correct. + (Some(algo @ (AlgoKind::Sha2 | AlgoKind::Sha3)), Some(len)) => { + // Positive overflow while parsing counts as an invalid number, + // but a number still; it gets the extra reminder of the accepted + // inputs, unlike a plain parse failure. + let parsed = match len.parse::() { + Ok(parsed) => Some(parsed), + Err(error) if *error.kind() == std::num::IntErrorKind::PosOverflow => None, + Err(_) => return Err(failure(ChecksumError::InvalidLength(len.into()))), + }; + match parsed { + Some(parsed @ (224 | 256 | 384 | 512)) => Ok(Some(parsed)), + _ => { + host.error(ChecksumError::InvalidLength(len.into()), 1); + Err(failure(ChecksumError::InvalidLengthForSha(algo.to_uppercase().into()))) + }, + } + }, + + // SHAKE128 and SHAKE256 algorithms optionally take a bit length. No + // validation is performed on this length, any value is valid. + (Some(AlgoKind::Shake128 | AlgoKind::Shake256), Some(len)) => match len.parse::() { + Ok(0) => Ok(None), + Ok(parsed) => Ok(Some(parsed)), + Err(_) => Err(failure(ChecksumError::InvalidLength(len.into()))), + }, + + // For BLAKE, if a length is provided, validate it. + (Some(algo @ (AlgoKind::Blake2b | AlgoKind::Blake3)), Some(len)) => { + parse_blake_length(algo, BlakeLength::String(len)).map(Some).map_err(failure) + }, + + // For any other provided algorithm, check if length is 0. + // Otherwise, this is an error. + (_, Some(len)) if len.parse::() == Ok(0) => Ok(None), + (_, Some(_)) => Err(failure(ChecksumError::LengthOnlyForBlake2bSha2Sha3)), + } +} + +/// Prints CPU hardware capability detection info, matching GNU `cksum +/// --debug`. +fn print_cpu_debug_info(host: &mut Host) { + let features = SimdPolicy::detect(); + + let mut print_feature = |name: &str, available: bool| { + if available { + let _ = writeln!(host.stderr, "using {name} hardware support"); + } else { + let _ = writeln!(host.stderr, "{name} support not detected"); + } + }; + + // x86/x86_64 + print_feature("avx512", features.has_avx512()); + print_feature("avx2", features.has_avx2()); + print_feature("pclmul", features.has_pclmul()); + + // ARM aarch64 + if cfg!(target_arch = "aarch64") { + print_feature("vmull", features.has_vmull()); + } +} + +/// Runs one parsed `cksum` invocation. Unlike the standalone utilities, the +/// algorithm comes from `--algorithm` (default: legacy POSIX CRC), output +/// defaults to tagged, and `--raw`/`--base64` are accepted. +fn run_cksum(host: &mut Host, matches: ArgMatches) -> ExecResult<()> { + let algo = matches + .get_one::(options::ALGORITHM) + .map(AlgoKind::from_cksum) + .transpose() + .map_err(failure)?; + + let input_length = matches.get_one::(options::LENGTH).map(String::as_str); + let length = sanitize_cksum_length(host, algo, input_length)?; + + let tag = !matches.get_flag(options::UNTAGGED); + let binary = matches.get_flag(options::BINARY); + let text = matches.get_flag(options::TEXT); + + // Specifying --text without ever mentioning --untagged fails. + if text && tag { + return Err(failure(ChecksumError::TextWithoutUntagged)); + } + + let output_format = OutputFormat::from_cksum( + algo.unwrap_or(AlgoKind::Crc), + tag, + binary, + matches.get_flag(options::RAW), + matches.get_flag(options::BASE64), + ); + + if matches.get_flag(options::DEBUG) { + print_cpu_debug_info(host); + } + + checksum_main(host, algo, length, matches, output_format) +} + /// Use the same buffer size as GNU when reading a file to create a checksum /// from it: 32 KiB. const READ_BUFFER_SIZE: usize = 32 * 1024; @@ -1953,5 +2113,158 @@ mod tests { assert_eq!(&buffer, expected); } } + + mod cksum_front_end { + //! `cksum` is the GNU multi-algorithm front-end; without these the + //! builtin would shadow the system binary while rejecting or + //! misprinting invocations the real `cksum` accepts. + + use std::fs; + + use super::super::Cksum; + use crate::host::run_util; + + /// Failure mode: default invocation must keep the POSIX CRC format + /// (` `), not a hex digest. + #[test] + fn default_is_posix_crc_output() { + let (code, capture) = run_util::(&[], "hi", "/"); + assert_eq!(code, 0); + assert_eq!(capture.out(), "2352138605 2\n"); + } + + /// Failure mode: `cksum somefile` printing no filename or the wrong + /// CRC would silently diverge from `/usr/bin/cksum`. + #[test] + fn file_operand_appends_the_filename() { + let dir = tempfile::tempdir().unwrap(); + fs::write(dir.path().join("input"), b"hi").unwrap(); + let (code, capture) = run_util::(&["input"], "", dir.path()); + assert_eq!(code, 0); + assert_eq!(capture.out(), "2352138605 2 input\n"); + } + + /// Failure mode: `-a sha256` is the flagship GNU extension; it must + /// parse and produce BSD-tagged output by default. + #[test] + fn algorithm_selects_tagged_sha256() { + let (code, capture) = run_util::(&["-a", "sha256"], "hi", "/"); + assert_eq!(code, 0); + assert_eq!( + capture.out(), + "SHA256 (-) = 8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4\n" + ); + } + + /// Failure mode: `--untagged` must switch to the two-space coreutils + /// format so output can be fed back to `sha256sum -c`. + #[test] + fn untagged_prints_coreutils_format() { + let (code, capture) = run_util::(&["-a", "sha256", "--untagged"], "hi", "/"); + assert_eq!(code, 0); + assert_eq!( + capture.out(), + "8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4 -\n" + ); + } + + /// Failure mode: `--base64` must encode the digest, not error or + /// print hex. + #[test] + fn base64_encodes_the_digest() { + let (code, capture) = run_util::(&["-a", "sha256", "--base64"], "hi", "/"); + assert_eq!(code, 0); + assert_eq!(capture.out(), "SHA256 (-) = j0NDRmSPa5bfid2pAcUXaxCm2Dlh3TwayItZstwyeqQ=\n"); + } + + /// Failure mode: `-a blake2b -l N` (the one length-taking algorithm + /// agents use) must honor the bit length in the tag. + #[test] + fn blake2b_length_is_honored() { + let (code, capture) = run_util::(&["-a", "blake2b", "-l", "8"], "abc", "/"); + assert_eq!(code, 0); + assert_eq!(capture.out(), "BLAKE2b-8 (-) = 6b\n"); + } + + /// Failure mode: GNU rejects `--length` for non-length algorithms; + /// silently ignoring it would hide user error. + #[test] + fn length_requires_a_length_algorithm() { + let (code, capture) = run_util::(&["-l", "16"], "", "/"); + assert_eq!(code, 1); + assert!( + capture.err().contains("--length is only supported with"), + "{}", + capture.err() + ); + } + + /// Failure mode: `--text` without `--untagged` is a GNU usage error + /// (`--text mode is only supported with --untagged`), even though the + /// standalone `*sum` utilities accept `-t` freely. + #[test] + fn text_without_untagged_is_rejected() { + let (code, capture) = run_util::(&["-a", "sha256", "-t"], "", "/"); + assert_eq!(code, 1); + assert!( + capture.err().contains("--text mode is only supported with --untagged"), + "{}", + capture.err() + ); + } + + /// Failure mode: verification must accept tagged lines produced by + /// the compute side and exit 0. + #[test] + fn check_verifies_tagged_lines() { + let dir = tempfile::tempdir().unwrap(); + fs::write(dir.path().join("data"), b"hi").unwrap(); + fs::write( + dir.path().join("list"), + b"SHA256 (data) = 8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4\n", + ) + .unwrap(); + let (code, capture) = run_util::(&["-c", "list"], "", dir.path()); + assert_eq!(code, 0, "stderr: {}", capture.err()); + assert_eq!(capture.out(), "data: OK\n"); + } + + /// Failure mode: real GNU 9.x treats `-c -b` as a fatal usage error + /// ("meaningless when verifying checksums", exit 1, nothing + /// verified); the builtin must not silently verify anyway. + #[test] + fn check_with_binary_stays_fatal_like_gnu() { + let dir = tempfile::tempdir().unwrap(); + fs::write(dir.path().join("data"), b"hi").unwrap(); + fs::write( + dir.path().join("list"), + b"SHA256 (data) = 8f434346648f6b96df89dda901c5176b10a6d83961dd3c1ac88b59b2dc327aa4\n", + ) + .unwrap(); + let (code, capture) = run_util::(&["-c", "-b", "list"], "", dir.path()); + assert_eq!(code, 1); + assert!( + capture + .err() + .contains("the --binary and --text options are meaningless when verifying checksums"), + "{}", + capture.err() + ); + assert!(!capture.out().contains("OK"), "must not verify: {}", capture.out()); + } + + /// Failure mode: legacy algorithms cannot be verified; GNU errors out + /// rather than parsing the list. + #[test] + fn check_rejects_legacy_algorithms() { + let (code, capture) = run_util::(&["-a", "crc", "-c"], "", "/"); + assert_eq!(code, 1); + assert!( + capture.err().contains("--check is not supported with --algorithm"), + "{}", + capture.err() + ); + } + } } diff --git a/crates/pi-builtins/src/date.rs b/crates/pi-builtins/src/date.rs index 6dbc88684..ebe8e3adf 100644 --- a/crates/pi-builtins/src/date.rs +++ b/crates/pi-builtins/src/date.rs @@ -764,7 +764,7 @@ use std::{ ffi::OsString, fs::File, io::{BufRead, BufReader, BufWriter, Read, Write}, - path::PathBuf, + path::{Path, PathBuf}, sync::LazyLock, }; #[cfg(any( @@ -780,7 +780,7 @@ use std::ffi::{CStr, CString}; use clap::{Arg, ArgAction, ArgMatches, Command}; use jiff::{ - Timestamp, Zoned, + Span, Timestamp, Zoned, fmt::strtime::{self, BrokenDownTime, Config, PosixCustom}, tz::{Offset, TimeZone, TimeZoneDatabase}, }; @@ -807,6 +807,9 @@ const OPT_SET: &str = "set"; const OPT_REFERENCE: &str = "reference"; const OPT_UNIVERSAL: &str = "universal"; const OPT_UNIVERSAL_2: &str = "utc"; +// BSD compatibility options (no GNU equivalents). +const OPT_BSD_ADJUST: &str = "bsd-adjust"; +const OPT_BSD_PARSE_ONLY: &str = "bsd-parse-only"; /// Settings for this program, parsed from the command line struct Settings { @@ -849,6 +852,8 @@ enum DateSource { FileMtime(PathBuf), Stdin, Human(String), + /// BSD `date -j -f FMT VALUE`: VALUE parsed with the strptime format FMT. + Strptime { format: String, value: String }, Resolution, } @@ -1035,6 +1040,247 @@ fn parse_military_timezone_with_offset(s: &str) -> Option<(i32, DayDelta)> { Some((hours_from_midnight, day_delta)) } +/// Rewrite `-I`/`--iso-8601` so the optional ISO precision only binds when it +/// is attached (`-Ihours`, `--iso-8601=hours`), matching GNU getopt. Without +/// this, clap's optional-value handling greedily consumes a following +/// `+FORMAT` operand (`date -I +%s`). +/// +/// `argv[0]` is the command name. Scanning stops at `--`, and a token that is +/// the value of a preceding option is never rewritten. +fn rewrite_date_argv(argv: Vec) -> Vec { + /// Long options that consume a separate value token. + const VALUE_LONGS: &[&str] = &["date", "file", "reference", "set", "rfc-3339"]; + /// Long flags that take no value (`iso-8601` is handled separately). + const FLAG_LONGS: &[&str] = + &["debug", "resolution", "rfc-email", "rfc-2822", "rfc-822", "universal", "utc", "uct"]; + /// Short options that consume a value, attached or separate. + const VALUE_SHORTS: &[char] = &['d', 'f', 'r', 's', 'v']; + + let mut out = Vec::with_capacity(argv.len()); + let mut argv = argv.into_iter(); + if let Some(name) = argv.next() { + out.push(name); + } + let mut skip_value = false; + let mut opts_ended = false; + for arg in argv { + if skip_value || opts_ended { + skip_value = false; + out.push(arg); + continue; + } + let Some(token) = arg.to_str() else { + out.push(arg); + continue; + }; + if token == "--" { + opts_ended = true; + out.push(arg); + } else if let Some(long) = token.strip_prefix("--") { + // `infer_long_args` is enabled, so any unambiguous prefix names + // the option. + let (name, value) = match long.split_once('=') { + Some((name, value)) => (name, Some(value)), + None => (long, None), + }; + let ambiguous = VALUE_LONGS + .iter() + .chain(FLAG_LONGS) + .any(|other| other.starts_with(name)); + if !name.is_empty() && "iso-8601".starts_with(name) && !ambiguous { + out.push(format!("--iso-8601={}", value.unwrap_or(DATE)).into()); + } else { + if value.is_none() + && VALUE_LONGS.iter().filter(|l| l.starts_with(name)).count() == 1 + && !FLAG_LONGS.iter().any(|l| l.starts_with(name)) + && !"iso-8601".starts_with(name) + { + skip_value = true; + } + out.push(arg); + } + } else if let Some(cluster) = token.strip_prefix('-').filter(|rest| !rest.is_empty()) { + // Walk a short-option cluster (`-uI`, `-ud @0`, `-Ihours`). + let mut rewrote = false; + for (index, ch) in cluster.char_indices() { + if ch == 'I' { + let flags = &cluster[..index]; + let rest = &cluster[index + ch.len_utf8()..]; + if !flags.is_empty() { + out.push(format!("-{flags}").into()); + } + let spec = if rest.is_empty() { DATE } else { rest }; + out.push(format!("--iso-8601={spec}").into()); + rewrote = true; + break; + } + if VALUE_SHORTS.contains(&ch) { + // The remainder of the token (or the next token when the + // remainder is empty) is this option's value. + if cluster[index + ch.len_utf8()..].is_empty() { + skip_value = true; + } + break; + } + } + if !rewrote { + out.push(arg); + } + } else { + out.push(arg); + } + } + out +} + +/// Unit letter of a BSD `-v` adjustment. +#[derive(Clone, Copy)] +enum BsdAdjustUnit { + Year, + Month, + Week, + Day, + Hour, + Minute, + Second, +} + +/// One BSD `-v` adjustment: a relative offset (`+1d`, `-2m`) or an absolute +/// field set (`1d` sets the day of the month). +#[derive(Clone, Copy)] +enum BsdAdjustment { + Offset(i64, BsdAdjustUnit), + Set(i64, BsdAdjustUnit), +} + +/// Parse one BSD `-v` argument of the form `[+|-]VAL[ymwdHMS]`. +/// +/// BSD is case-sensitive only where it is ambiguous (`m` month vs `M` +/// minute); the unambiguous letters are accepted in either case. Weekday and +/// month names (`-vsun`, `-vjan`) are not supported. +fn parse_bsd_adjustment(spec: &str) -> Option { + let (sign, rest) = match *spec.as_bytes().first()? { + b'+' => (Some(1), &spec[1..]), + b'-' => (Some(-1), &spec[1..]), + _ => (None, spec), + }; + let mut chars = rest.chars(); + let unit = match chars.next_back()? { + 'y' | 'Y' => BsdAdjustUnit::Year, + 'm' => BsdAdjustUnit::Month, + 'w' | 'W' => BsdAdjustUnit::Week, + 'd' | 'D' => BsdAdjustUnit::Day, + 'H' | 'h' => BsdAdjustUnit::Hour, + 'M' => BsdAdjustUnit::Minute, + 'S' | 's' => BsdAdjustUnit::Second, + _ => return None, + }; + let digits = chars.as_str(); + if digits.is_empty() || !digits.bytes().all(|b| b.is_ascii_digit()) { + return None; + } + let value: i64 = digits.parse().ok()?; + Some(match sign { + Some(sign) => BsdAdjustment::Offset(sign * value, unit), + None => BsdAdjustment::Set(value, unit), + }) +} + +/// Apply BSD `-v` adjustments to `date` in command-line order. +fn apply_bsd_adjustments(mut date: Zoned, adjustments: &[BsdAdjustment]) -> Result { + for adjustment in adjustments { + date = match *adjustment { + BsdAdjustment::Offset(value, unit) => { + let span = Span::new(); + let span = match unit { + BsdAdjustUnit::Year => span.try_years(value), + BsdAdjustUnit::Month => span.try_months(value), + BsdAdjustUnit::Week => span.try_weeks(value), + BsdAdjustUnit::Day => span.try_days(value), + BsdAdjustUnit::Hour => span.try_hours(value), + BsdAdjustUnit::Minute => span.try_minutes(value), + BsdAdjustUnit::Second => span.try_seconds(value), + } + .map_err(|error| format!("invalid adjustment ({error})"))?; + date + .checked_add(span) + .map_err(|error| format!("cannot adjust date ({error})"))? + }, + BsdAdjustment::Set(value, unit) => { + let narrow = |unit: char| { + i8::try_from(value).map_err(|_| format!("invalid adjustment: '{value}{unit}'")) + }; + let with = date.with(); + let with = match unit { + BsdAdjustUnit::Year => { + // BSD windows two-digit years: 69-99 => 19xx, 0-68 => 20xx. + let year = match value { + 0..=68 => value + 2000, + 69..=99 => value + 1900, + _ => value, + }; + let year = i16::try_from(year) + .map_err(|_| format!("invalid adjustment: '{value}y'"))?; + with.year(year) + }, + BsdAdjustUnit::Month => with.month(narrow('m')?), + BsdAdjustUnit::Week => { + return Err(format!( + "unsupported adjustment: '{value}w' (setting the week is not \ + implemented; use an offset like '+{value}w')" + )); + }, + BsdAdjustUnit::Day => with.day(narrow('d')?), + BsdAdjustUnit::Hour => with.hour(narrow('H')?), + BsdAdjustUnit::Minute => with.minute(narrow('M')?), + BsdAdjustUnit::Second => with.second(narrow('S')?), + }; + with + .build() + .map_err(|error| format!("cannot adjust date ({error})"))? + }, + }; + } + Ok(date) +} + +/// BSD `date -j -f FMT VALUE`: parse VALUE with the strptime format FMT. +/// +/// Fields the format does not mention keep the current date/time's values, +/// matching BSD `date`, which seeds the broken-down time from +/// `localtime(now)` before calling strptime(3). +fn parse_bsd_strptime(format: &str, value: &str, now: &Zoned) -> Result { + let convert_error = + |error: jiff::Error| format!("failed conversion of '{value}' using format '{format}' ({error})"); + let broken = BrokenDownTime::parse(format, value).map_err(convert_error)?; + // `%s` (or a complete civil datetime plus an offset) pins an instant. + if let Ok(timestamp) = broken.to_timestamp() { + return Ok(timestamp.to_zoned(now.time_zone().clone())); + } + let base = now.datetime(); + let date = broken + .to_date() + .or_else(|_| { + jiff::civil::Date::new( + broken.year().unwrap_or(base.year()), + broken.month().unwrap_or(base.month()), + broken.day().unwrap_or(base.day()), + ) + }) + .map_err(convert_error)?; + let time = jiff::civil::Time::new( + broken.hour().unwrap_or(base.hour()), + broken.minute().unwrap_or(base.minute()), + broken.second().unwrap_or(base.second()), + broken.subsec_nanosecond().unwrap_or(base.subsec_nanosecond()), + ) + .map_err(convert_error)?; + date + .to_datetime(time) + .to_zoned(now.time_zone().clone()) + .map_err(convert_error) +} + /// Parsed `date` invocation. pub(crate) struct Date { @@ -1064,6 +1310,10 @@ impl From for DateError { impl Utility for Date { const NAME: &'static str = "date"; + fn rewrite_argv(argv: Vec) -> Result, String> { + Ok(rewrite_date_argv(argv)) + } + fn run(self, host: &mut Host) -> i32 { match date_main(host, &self.matches) { Ok(()) => host.exit_code(), @@ -1152,7 +1402,44 @@ fn locale_default_format(_locale: &str) -> Option { #[allow(clippy::cognitive_complexity)] fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { - let date_source = if let Some(date_os) = matches.get_one::(OPT_DATE) { + let bsd_parse_only = matches.get_flag(OPT_BSD_PARSE_ONLY); + let adjustments: Vec = matches + .get_many::(OPT_BSD_ADJUST) + .into_iter() + .flatten() + .map(|spec| { + parse_bsd_adjustment(spec) + .ok_or_else(|| DateError::new(1, format!("invalid adjustment: '{spec}'"))) + }) + .collect::>()?; + + // Positional operands: at most one `+FORMAT`, plus (in the BSD `-j -f` + // form) the date value to parse. + let mut operands: Vec<&String> = matches + .get_many::(OPT_FORMAT) + .map(Iterator::collect) + .unwrap_or_default(); + + // BSD: with `-j`, `-f` is the strptime(3) input format for the date + // operand rather than GNU's `--file=DATEFILE`. + let strptime_format = if bsd_parse_only { + matches.get_one::(OPT_FILE) + } else { + None + }; + let strptime_value = if strptime_format.is_some() { + if operands.first().is_some_and(|operand| !operand.starts_with('+')) { + Some(operands.remove(0)) + } else { + return Err(DateError::new(1, "'-j -f FORMAT' requires a date operand to parse")); + } + } else { + None + }; + + let date_source = if let (Some(format), Some(value)) = (strptime_format, strptime_value) { + DateSource::Strptime { format: format.clone(), value: value.clone() } + } else if let Some(date_os) = matches.get_one::(OPT_DATE) { // Convert OsString to String, handling invalid UTF-8 with GNU-compatible error let date = date_os.to_str().ok_or_else(|| { let bytes = date_os.as_encoded_bytes(); @@ -1165,8 +1452,18 @@ fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { "-" => DateSource::Stdin, _ => DateSource::File(file.into()), } - } else if let Some(file) = matches.get_one::(OPT_REFERENCE) { - DateSource::FileMtime(file.into()) + } else if let Some(reference) = matches.get_one::(OPT_REFERENCE) { + // `-r` doubles as GNU `--reference=FILE` and BSD `-r SECONDS`. + // Precedence: an existing file always wins (GNU semantics are + // primary); a purely numeric operand naming no existing file is + // seconds since the epoch (BSD), i.e. GNU `-d @SECONDS`. + let digits = reference.strip_prefix('-').unwrap_or(reference); + let numeric = !digits.is_empty() && digits.bytes().all(|b| b.is_ascii_digit()); + if numeric && !host.resolve(Path::new(reference)).exists() { + DateSource::Human(format!("@{reference}")) + } else { + DateSource::FileMtime(reference.into()) + } } else if matches.get_flag(OPT_RESOLUTION) { DateSource::Resolution } else { @@ -1174,18 +1471,15 @@ fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { }; // Check for extra operands (multiple positional arguments) - if let Some(formats) = matches.get_many::(OPT_FORMAT) { - let format_args: Vec<&String> = formats.collect(); - if format_args.len() > 1 { - return Err(DateError::new(1, format!("extra operand '{}'", format_args[1]))); - } + if operands.len() > 1 { + return Err(DateError::new(1, format!("extra operand '{}'", operands[1]))); } - let format = if let Some(form) = matches.get_one::(OPT_FORMAT) { + let format = if let Some(form) = operands.first() { if !form.starts_with('+') { // if an optional Format String was found but the user has not provided an input // date GNU prints an invalid date Error - if !matches!(date_source, DateSource::Human(_)) { + if !matches!(date_source, DateSource::Human(_) | DateSource::Strptime { .. }) { return Err(DateError::new(1, format!("invalid date '{form}'"))); } // If the user did provide an input date with the --date flag and the Format @@ -1198,8 +1492,7 @@ fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { ), )); } - let form = form[1..].to_string(); - Format::Custom(form) + Format::Custom(form[1..].to_string()) } else if let Some(fmt) = matches .get_many::(OPT_ISO_8601) .map(|mut iter| iter.next().unwrap_or(&DATE.to_string()).as_str().into()) @@ -1427,6 +1720,11 @@ fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { let iter = std::iter::once(Ok(date)); Box::new(iter) }, + DateSource::Strptime { format, value } => { + let date = parse_bsd_strptime(format, value, &now) + .map_err(|message| DateError::new(1, message))?; + Box::new(std::iter::once(Ok(date))) + }, DateSource::Now => { let iter = std::iter::once(Ok(now.clone())); Box::new(iter) @@ -1445,6 +1743,18 @@ fn date_main(host: &mut Host, matches: &ArgMatches) -> Result<(), DateError> { } match date { Ok(date) => { + // BSD `-v` adjustments apply to the base date in argv order. + let date = if adjustments.is_empty() { + date + } else { + match apply_bsd_adjustments(date, &adjustments) { + Ok(date) => date, + Err(message) => { + let _ = stdout.flush(); + return Err(DateError::new(1, message)); + }, + } + }; let date = if settings.utc { date.with_time_zone(TimeZone::UTC) } else { @@ -1509,7 +1819,10 @@ fn uu_app() -> Command { .value_name("DATEFILE") .value_hint(clap::ValueHint::FilePath) .conflicts_with(OPT_DATE) - .help("like --date; once for each line of DATEFILE"), + .help( + "like --date; once for each line of DATEFILE\n(BSD: with -j, the strptime(3) \ + input format for the date operand)", + ), ) .arg( Arg::new(OPT_ISO_8601) @@ -1517,7 +1830,12 @@ fn uu_app() -> Command { .long(OPT_ISO_8601) .value_name("FMT") .value_parser(ShortcutValueParser::new([DATE, HOURS, MINUTES, SECONDS, NS])) + // The optional precision binds only when attached (`-Ihours`, + // `--iso-8601=hours`): `rewrite_date_argv` normalizes every + // spelling to the `=` form, so a following `+FORMAT` operand + // is never consumed as the value (GNU getopt behavior). .num_args(0..=1) + .require_equals(true) .default_missing_value(OPT_DATE) .help( "output date/time in ISO 8601 format.\nFMT='date' for date only (the \ @@ -1567,8 +1885,12 @@ fn uu_app() -> Command { .long(OPT_REFERENCE) .value_name("FILE") .value_hint(clap::ValueHint::AnyPath) + .allow_hyphen_values(true) .conflicts_with_all([OPT_DATE, OPT_FILE, OPT_RESOLUTION]) - .help("display the last modification time of FILE"), + .help( + "display the last modification time of FILE\n(BSD: when FILE is numeric and \ + no such file exists,\ndisplay the date at that many seconds since the epoch)", + ), ) .arg( Arg::new(OPT_SET) @@ -1588,6 +1910,26 @@ fn uu_app() -> Command { .help("print or set Coordinated Universal Time (UTC)") .action(ArgAction::SetTrue), ) + .arg( + Arg::new(OPT_BSD_PARSE_ONLY) + .short('j') + .help( + "BSD compatibility: do not try to set the system clock;\nwith -f, parse the \ + date operand using the strptime(3)\nformat given to -f", + ) + .action(ArgAction::SetTrue), + ) + .arg( + Arg::new(OPT_BSD_ADJUST) + .short('v') + .value_name("[+|-]VAL[ymwdHMS]") + .allow_hyphen_values(true) + .action(ArgAction::Append) + .help( + "BSD compatibility: adjust ('+'/'-') or set (no sign) the\ndisplayed date; \ + may be given multiple times, applied in order", + ), + ) .arg(Arg::new(OPT_FORMAT).num_args(0..)) } @@ -1982,6 +2324,194 @@ mod tests { assert_eq!(strip_parenthesized_comments("a(b(c)d)e"), "ae"); assert_eq!(strip_parenthesized_comments("a(b)c(d"), "ac"); } + + /// Defends: BSD `-r ` must print that instant, not fail trying to + /// open `./` as a reference file. + #[test] + fn bsd_reference_epoch_when_no_such_file() { + let (code, capture) = + run_util::(&["-u", "-r", "1700000000", "+%Y-%m-%dT%H:%M:%S"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "2023-11-14T22:13:20\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: an existing file always wins over the BSD numeric-epoch + /// reading of `-r` (GNU `--reference` semantics are primary). + #[test] + fn reference_prefers_existing_file_over_epoch() { + let dir = std::env::temp_dir().join(format!("pi-date-r-{}", std::process::id())); + std::fs::create_dir_all(&dir).unwrap(); + let file = dir.join("1700000000"); + std::fs::write(&file, b"x").unwrap(); + + let (code, capture) = run_util::( + &["-u", "-r", "1700000000", "+%s"], + "", + dir.to_str().unwrap(), + ); + let mtime = std::fs::metadata(&file).unwrap().modified().unwrap(); + let expected = Timestamp::try_from(mtime).unwrap().as_second(); + std::fs::remove_dir_all(&dir).unwrap(); + + assert_eq!(code, 0); + assert_eq!(capture.out(), format!("{expected}\n")); + } + + /// Defends: BSD `-v` offsets (`+1d`, `-2m`) must parse and apply in argv + /// order instead of being rejected as unknown options. + #[test] + fn bsd_adjustments_apply_in_order() { + let (code, capture) = run_util::( + &["-u", "-r", "1700000000", "-v+1d", "-v-2m", "+%F %T"], + "", + "/", + ); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "2023-09-15 22:13:20\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: the unsigned `-v` form sets a field absolutely (`-v1d` = first + /// of the month) rather than offsetting. + #[test] + fn bsd_adjustment_sets_fields_absolutely() { + let (code, capture) = run_util::( + &["-u", "-r", "1700000000", "-v1d", "-v5H", "+%F %T"], + "", + "/", + ); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "2023-11-01 05:13:20\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: a malformed `-v` argument is a clean diagnostic, not a panic + /// or a silently ignored adjustment. + #[test] + fn bsd_adjustment_rejects_unknown_unit() { + let (code, capture) = run_util::(&["-v+1x", "+%F"], "", "/"); + + assert_eq!(code, 1); + assert!(capture.err().contains("invalid adjustment"), "stderr: {}", capture.err()); + } + + /// Defends: with `-j`, `-f` is the BSD strptime input format for the date + /// operand, not GNU `--file=DATEFILE`. + #[test] + fn bsd_j_f_parses_with_strptime_format() { + let (code, capture) = run_util::( + &["-u", "-j", "-f", "%Y-%m-%d %H:%M:%S", "2026-01-01 00:00:00", "+%s"], + "", + "/", + ); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "1767225600\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: fields missing from the `-j -f` format are seeded from "now" + /// (BSD strptime semantics), so a date-only format keeps the given date. + #[test] + fn bsd_j_f_fills_missing_fields_from_now() { + let (code, capture) = + run_util::(&["-u", "-j", "-f", "%Y-%m-%d", "2026-01-01", "+%F"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "2026-01-01\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: `-j -f` without a date operand is a diagnostic, not a silent + /// fallback to GNU `--file` behavior. + #[test] + fn bsd_j_f_requires_date_operand() { + let (code, capture) = run_util::(&["-j", "-f", "%Y", "+%F"], "", "/"); + + assert_eq!(code, 1); + assert!( + capture.err().contains("requires a date operand"), + "stderr: {}", + capture.err() + ); + } + + /// Defends: bare `-j` parses as a no-op (never sets the clock) instead of + /// being rejected, and `-f` keeps GNU file semantics without `-j`. + #[test] + fn bsd_j_alone_is_a_no_op() { + let (code, capture) = run_util::(&["-u", "-j", "-r", "0", "+%F"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "1970-01-01\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: `date -I +%s` must treat `+%s` as the output format instead of + /// greedily consuming it as the ISO precision value. + #[test] + fn iso_flag_does_not_consume_format_operand() { + let (code, capture) = run_util::(&["-u", "-d", "@0", "-I", "+%s"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "0\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: bare `-I` still defaults to date precision after the + /// non-greedy rewrite. + #[test] + fn iso_flag_defaults_to_date_precision() { + let (code, capture) = run_util::(&["-u", "-d", "@0", "-I"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "1970-01-01\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: the attached form `-Ihours` keeps binding the precision. + #[test] + fn iso_flag_accepts_attached_precision() { + let (code, capture) = run_util::(&["-u", "-d", "@0", "-Ihours"], "", "/"); + + assert_eq!(code, 0); + assert_eq!(capture.out(), "1970-01-01T00+00:00\n"); + assert_eq!(capture.err(), ""); + } + + /// Defends: the argv rewrite only touches genuine `-I`/`--iso-8601` + /// options — never option values, post-`--` operands, or other flags. + #[test] + fn rewrites_iso_argv_forms_conservatively() { + let argv = |args: &[&str]| -> Vec { args.iter().map(OsString::from).collect() }; + + assert_eq!( + rewrite_date_argv(argv(&["date", "-I", "+%s"])), + argv(&["date", "--iso-8601=date", "+%s"]) + ); + assert_eq!(rewrite_date_argv(argv(&["date", "-Ihours"])), argv(&["date", "--iso-8601=hours"])); + assert_eq!( + rewrite_date_argv(argv(&["date", "--iso-8601", "+%s"])), + argv(&["date", "--iso-8601=date", "+%s"]) + ); + assert_eq!( + rewrite_date_argv(argv(&["date", "--iso", "-u"])), + argv(&["date", "--iso-8601=date", "-u"]) + ); + // `-I` as the value of another option is untouched. + assert_eq!(rewrite_date_argv(argv(&["date", "-d", "-I"])), argv(&["date", "-d", "-I"])); + // Everything after `--` is an operand. + assert_eq!(rewrite_date_argv(argv(&["date", "--", "-I"])), argv(&["date", "--", "-I"])); + // Clustered flags before `-I` are preserved. + assert_eq!( + rewrite_date_argv(argv(&["date", "-uI"])), + argv(&["date", "-u", "--iso-8601=date"]) + ); + } } #[cfg(not(any(unix, windows)))] diff --git a/crates/pi-builtins/src/diff.rs b/crates/pi-builtins/src/diff.rs index 3aaa33ee9..198e818ce 100644 --- a/crates/pi-builtins/src/diff.rs +++ b/crates/pi-builtins/src/diff.rs @@ -1,18 +1,23 @@ //! `diff` builtin: compare files line by line using the `similar` library. //! -//! Ported from `pi-uu-diff` 0.8.0. +//! Ported from `pi-uu-diff` 0.8.0, extended toward GNU diff: normal output by +//! default, unified (`-u`/`-U`) and context (`-c`/`-C`) formats, whitespace and +//! case ignore flags, `-x` exclusion globs, and `-r`-gated directory recursion. use std::{ + borrow::Cow, collections::BTreeSet, ffi::{OsStr, OsString}, fs, io::{Read, Write}, + ops::Range, path::{Path, PathBuf}, + time::SystemTime, }; use brush_core::{ShellExtensions, builtins::Registration}; use clap::{ArgAction, Parser}; -use similar::TextDiff; +use similar::{Algorithm, DiffOp, DiffTag, capture_diff_slices}; use crate::host::{Host, Utility, util}; @@ -26,28 +31,70 @@ use crate::host::{Host, Utility, util}; infer_long_args = true )] pub(crate) struct Diff { - /// Output 3 lines of unified context (the default output format). + /// Output 3 lines of unified context. #[arg(short = 'u', action = ArgAction::SetTrue)] - _unified_flag: bool, + unified_flag: bool, /// Output NUM lines of unified context. #[arg(short = 'U', long = "unified", value_name = "NUM")] unified: Option, + /// Output 3 lines of copied context. + #[arg(short = 'c', action = ArgAction::SetTrue, conflicts_with_all = ["unified_flag", "unified"])] + context_flag: bool, + + /// Output NUM lines of copied context. + #[arg( + short = 'C', + long = "context", + value_name = "NUM", + conflicts_with_all = ["unified_flag", "unified"] + )] + context: Option, + /// Report only when files differ. #[arg(short = 'q', long = "brief", action = ArgAction::SetTrue)] brief: bool, - /// Recursively compare subdirectories (always on for directories). + /// Report when two files are identical. + #[arg(short = 's', long = "report-identical-files", action = ArgAction::SetTrue)] + report_identical: bool, + + /// Recursively compare any subdirectories found. #[arg(short = 'r', long = "recursive", action = ArgAction::SetTrue)] - _recursive: bool, + recursive: bool, /// Treat absent files as empty. #[arg(short = 'N', long = "new-file", action = ArgAction::SetTrue)] new_file: bool, - /// Use LABEL instead of a file name in a unified header. - #[arg(long = "label", value_name = "LABEL", action = ArgAction::Append)] + /// Ignore case differences in file contents. + #[arg(short = 'i', long = "ignore-case", action = ArgAction::SetTrue)] + ignore_case: bool, + + /// Ignore all white space. + #[arg(short = 'w', long = "ignore-all-space", action = ArgAction::SetTrue)] + ignore_all_space: bool, + + /// Ignore changes in the amount of white space. + #[arg(short = 'b', long = "ignore-space-change", action = ArgAction::SetTrue)] + ignore_space_change: bool, + + /// Ignore changes whose lines are all blank. + #[arg(short = 'B', long = "ignore-blank-lines", action = ArgAction::SetTrue)] + ignore_blank_lines: bool, + + /// Strip trailing carriage return on input. + #[arg(long = "strip-trailing-cr", action = ArgAction::SetTrue)] + strip_trailing_cr: bool, + + /// Exclude files whose base names match the PAT glob (directory diffs). + #[arg(short = 'x', long = "exclude", value_name = "PAT", action = ArgAction::Append)] + exclude: Vec, + + /// Use LABEL instead of a file name and timestamp in headers (may be + /// given twice: first for FILE1, second for FILE2). + #[arg(short = 'L', long = "label", value_name = "LABEL", action = ArgAction::Append)] labels: Vec, /// Accepted for compatibility; output is never colorized. @@ -65,12 +112,29 @@ pub(crate) struct Diff { files: Vec, } +/// Selected output style. Real diff emits normal format unless a unified or +/// context option is given. +#[derive(Clone, Copy)] +enum Format { + Normal, + Unified(usize), + Context(usize), +} + #[derive(Clone, Copy)] struct Options<'a> { - context: usize, - brief: bool, - new_file: bool, - labels: &'a [OsString], + format: Format, + brief: bool, + report_identical: bool, + recursive: bool, + new_file: bool, + ignore_case: bool, + ignore_all_space: bool, + ignore_space_change: bool, + ignore_blank_lines: bool, + strip_trailing_cr: bool, + labels: &'a [OsString], + excludes: &'a [glob::Pattern], } /// A classified operand and its resolved filesystem path. @@ -89,12 +153,68 @@ impl Utility for Diff { const NAME: &'static str = "diff"; const USAGE_ERROR: u8 = 2; + fn rewrite_argv(argv: Vec) -> Result, String> { + let mut out = Vec::with_capacity(argv.len()); + let mut iter = argv.into_iter(); + if let Some(name) = iter.next() { + out.push(name); + } + let mut past_separator = false; + for arg in iter { + if !past_separator { + if arg == "--" { + past_separator = true; + } else if let Some(rewritten) = rewrite_obsolete_count(&arg) { + out.push(rewritten); + continue; + } + } + out.push(arg); + } + Ok(out) + } + fn run(self, host: &mut Host) -> i32 { + if self.labels.len() > 2 { + host.error("too many file label options", 2); + return 2; + } + // Compile `-x` globs once; a syntactically invalid glob falls back to a + // literal name match, like fnmatch treating a bad bracket literally. + let excludes: Vec = self + .exclude + .iter() + .map(|pat| { + glob::Pattern::new(pat).unwrap_or_else(|_| { + glob::Pattern::new(&glob::Pattern::escape(pat)) + .expect("escaped pattern always compiles") + }) + }) + .collect(); + let format = if let Some(num) = self.unified { + Format::Unified(num) + } else if self.unified_flag { + Format::Unified(3) + } else if let Some(num) = self.context { + Format::Context(num) + } else if self.context_flag { + Format::Context(3) + } else { + Format::Normal + }; let opts = Options { - context: self.unified.unwrap_or(3), - brief: self.brief, + format, + brief: self.brief, + report_identical: self.report_identical, + recursive: self.recursive, new_file: self.new_file, - labels: &self.labels, + ignore_case: self.ignore_case, + ignore_all_space: self.ignore_all_space, + ignore_space_change: self.ignore_space_change, + ignore_blank_lines: self.ignore_blank_lines, + strip_trailing_cr: self.strip_trailing_cr, + labels: &self.labels, + excludes: &excludes, }; match diff_main(&self.files, opts, host) { Ok(code) => code, @@ -106,6 +226,20 @@ impl Utility for Diff { } } +/// Rewrites the obsolete attached count forms `-u3` / `-c3` into `-U3` / `-C3`, +/// which clap can parse. Real GNU diff accepts both spellings. +fn rewrite_obsolete_count(arg: &OsStr) -> Option { + let text = arg.to_str()?; + let (upper, digits) = text + .strip_prefix("-u") + .map(|rest| ('U', rest)) + .or_else(|| text.strip_prefix("-c").map(|rest| ('C', rest)))?; + if digits.is_empty() || !digits.bytes().all(|byte| byte.is_ascii_digit()) { + return None; + } + Some(OsString::from(format!("-{upper}{digits}"))) +} + fn diff_main(files: &[OsString], opts: Options<'_>, host: &mut Host) -> Result { let (mut name_a, mut name_b) = (PathBuf::from(&files[0]), PathBuf::from(&files[1])); let mut op_a = classify(&name_a, opts.new_file, host)?; @@ -131,9 +265,9 @@ fn diff_main(files: &[OsString], opts: Options<'_>, host: &mut Host) -> Result Result } } -fn read_operand(op: &Operand, name: &Path, host: &mut Host) -> Result, String> { +/// Reads an operand's contents plus the modification time shown in unified and +/// context headers. Stdin has no mtime (the current time is used); a `-N` +/// absent file reports the epoch, like GNU's `/dev/null` stand-in. +fn read_operand( + op: &Operand, + name: &Path, + host: &mut Host, +) -> Result<(Vec, Option), String> { match op { Operand::Stdin => { let mut buf = Vec::new(); host.stdin .read_to_end(&mut buf) .map_err(|err| format!("-: {}", io_msg(&err)))?; - Ok(buf) + Ok((buf, None)) }, Operand::File(resolved) => { - fs::read(resolved).map_err(|err| format!("{}: {}", name.display(), io_msg(&err))) + let bytes = fs::read(resolved) + .map_err(|err| format!("{}: {}", name.display(), io_msg(&err)))?; + let mtime = fs::metadata(resolved).ok().and_then(|meta| meta.modified().ok()); + Ok((bytes, mtime)) }, Operand::Dir(_) => unreachable!("directories are handled by diff_dirs"), - Operand::Absent => Ok(Vec::new()), + Operand::Absent => Ok((Vec::new(), Some(SystemTime::UNIX_EPOCH))), } } +/// One input split into lines without terminators, remembering whether the +/// final line is missing its newline (for `\ No newline at end of file`). +struct FileLines<'a> { + lines: Vec<&'a str>, + missing_newline: bool, +} + +impl<'a> FileLines<'a> { + fn split(text: &'a str) -> Self { + let lines = text + .split_inclusive('\n') + .map(|line| line.strip_suffix('\n').unwrap_or(line)) + .collect(); + FileLines { lines, missing_newline: !text.is_empty() && !text.ends_with('\n') } + } +} + +/// Normalizes one line for comparison per the ignore flags. Output always +/// shows the original lines; only equality testing sees this form. +fn normalize_line<'a>(line: &'a str, opts: Options<'_>) -> Cow<'a, str> { + let mut norm: Cow<'a, str> = Cow::Borrowed(line); + if opts.strip_trailing_cr { + if let Some(stripped) = line.strip_suffix('\r') { + norm = Cow::Borrowed(stripped); + } + } + if opts.ignore_case { + norm = Cow::Owned(norm.to_lowercase()); + } + if opts.ignore_all_space { + if norm.contains(char::is_whitespace) { + norm = Cow::Owned(norm.chars().filter(|ch| !ch.is_whitespace()).collect()); + } + } else if opts.ignore_space_change && norm.contains(char::is_whitespace) { + norm = Cow::Owned(collapse_spaces(norm.trim_end())); + } + norm +} + +/// Collapses each run of white space to a single space, GNU `-b` style. +fn collapse_spaces(line: &str) -> String { + let mut out = String::with_capacity(line.len()); + let mut in_space = false; + for ch in line.chars() { + if ch.is_whitespace() { + if !in_space { + out.push(' '); + } + in_space = true; + } else { + out.push(ch); + in_space = false; + } + } + out +} + +/// Comparison keys for a whole file. A final line missing its newline gets a +/// NUL sentinel so `"a\n"` and `"a"` still compare unequal after +/// normalization (real diff reports them with the no-newline marker). +fn normalize_lines<'a>(file: &FileLines<'a>, opts: Options<'_>) -> Vec> { + let mut norm: Vec> = + file.lines.iter().map(|&line| normalize_line(line, opts)).collect(); + if file.missing_newline { + if let Some(last) = norm.last_mut() { + last.to_mut().push('\0'); + } + } + norm +} + +/// `-B`: a change is suppressed when every line it touches is blank. +fn is_suppressed( + op: &DiffOp, + norm_a: &[Cow<'_, str>], + norm_b: &[Cow<'_, str>], + opts: Options<'_>, +) -> bool { + if !opts.ignore_blank_lines || op.tag() == DiffTag::Equal { + return false; + } + let blank = |line: &Cow<'_, str>| line.trim().is_empty(); + norm_a[op.old_range()].iter().all(blank) && norm_b[op.new_range()].iter().all(blank) +} + +/// Writes one line to the builtin's stdout, mapping I/O failures like the +/// rest of this module. +fn wline(host: &mut Host, line: std::fmt::Arguments<'_>) -> Result<(), String> { + writeln!(host.stdout, "{line}").map_err(|e| io_msg(&e)) +} + /// Diffs one pair of already-read inputs. `prefix` is the `diff -r A/x B/x` /// line emitted before per-pair output in directory mode. +#[allow(clippy::too_many_arguments)] fn diff_pair( name_a: &Path, bytes_a: &[u8], + mtime_a: Option, name_b: &Path, bytes_b: &[u8], + mtime_b: Option, opts: Options<'_>, prefix: Option<&str>, host: &mut Host, ) -> Result { - if bytes_a == bytes_b { - return Ok(false); - } let label_a = display_label(opts.labels.first(), name_a); let label_b = display_label(opts.labels.get(1), name_b); - if opts.brief { - writeln!(host.stdout, "Files {label_a} and {label_b} differ").map_err(|e| io_msg(&e))?; - return Ok(true); + if bytes_a == bytes_b { + if opts.report_identical { + wline(host, format_args!("Files {label_a} and {label_b} are identical"))?; + } + return Ok(false); } if is_binary(bytes_a) || is_binary(bytes_b) { - writeln!(host.stdout, "Binary files {label_a} and {label_b} differ") - .map_err(|e| io_msg(&e))?; + if opts.brief { + wline(host, format_args!("Files {label_a} and {label_b} differ"))?; + } else { + wline(host, format_args!("Binary files {label_a} and {label_b} differ"))?; + } + return Ok(true); + } + let text_a = String::from_utf8_lossy(bytes_a); + let text_b = String::from_utf8_lossy(bytes_b); + let old = FileLines::split(&text_a); + let new = FileLines::split(&text_b); + let norm_a = normalize_lines(&old, opts); + let norm_b = normalize_lines(&new, opts); + let ops = capture_diff_slices(Algorithm::Myers, &norm_a, &norm_b); + let suppressed: Vec = + ops.iter().map(|op| is_suppressed(op, &norm_a, &norm_b, opts)).collect(); + // Bytes differed, but every change is ignorable (-w/-b/-i/-B/CR): the + // files count as identical, exit 0. + if !ops.iter().zip(&suppressed).any(|(op, &sup)| op.tag() != DiffTag::Equal && !sup) { + if opts.report_identical { + wline(host, format_args!("Files {label_a} and {label_b} are identical"))?; + } + return Ok(false); + } + if opts.brief { + wline(host, format_args!("Files {label_a} and {label_b} differ"))?; return Ok(true); } if let Some(line) = prefix { - writeln!(host.stdout, "{line}").map_err(|e| io_msg(&e))?; + wline(host, format_args!("{line}"))?; + } + match opts.format { + Format::Normal => write_normal(host, &ops, &suppressed, &old, &new)?, + Format::Unified(context) => { + wline(host, format_args!("--- {}", header(opts.labels.first(), name_a, mtime_a)))?; + wline(host, format_args!("+++ {}", header(opts.labels.get(1), name_b, mtime_b)))?; + write_unified(host, &ops, &suppressed, &old, &new, context)?; + }, + Format::Context(context) => { + wline(host, format_args!("*** {}", header(opts.labels.first(), name_a, mtime_a)))?; + wline(host, format_args!("--- {}", header(opts.labels.get(1), name_b, mtime_b)))?; + write_context_format(host, &ops, &suppressed, &old, &new, context)?; + }, } - let old = String::from_utf8_lossy(bytes_a); - let new = String::from_utf8_lossy(bytes_b); - let diff = TextDiff::from_lines(old.as_ref(), new.as_ref()); - write!( - host.stdout, - "{}", - diff.unified_diff().context_radius(opts.context).header(&label_a, &label_b) - ) - .map_err(|e| io_msg(&e))?; Ok(true) } @@ -223,8 +488,250 @@ fn display_label(label: Option<&OsString>, name: &Path) -> String { label.map_or_else(|| name.display().to_string(), |label| label.to_string_lossy().into_owned()) } -/// Recursively compares two directories over the sorted union of their entries, -/// GNU `diff -r` style. +/// Unified/context header field: the label verbatim when given, otherwise +/// `NAMETIMESTAMP` with the GNU timestamp format. +fn header(label: Option<&OsString>, name: &Path, mtime: Option) -> String { + match label { + Some(label) => label.to_string_lossy().into_owned(), + None => format!("{}\t{}", name.display(), timestamp(mtime)), + } +} + +/// GNU header timestamp: `%Y-%m-%d %H:%M:%S.%N %z` in local time. Stdin has +/// no mtime and uses the current time, like GNU. +fn timestamp(mtime: Option) -> String { + let time = mtime.unwrap_or_else(SystemTime::now); + chrono::DateTime::::from(time) + .format("%Y-%m-%d %H:%M:%S%.9f %z") + .to_string() +} + +/// Writes `range` lines of `file` prefixed with `marker`, emitting the GNU +/// `\ No newline at end of file` marker after the file's final line. +fn write_marked( + host: &mut Host, + marker: &str, + range: Range, + file: &FileLines<'_>, +) -> Result<(), String> { + for idx in range { + wline(host, format_args!("{marker}{}", file.lines[idx]))?; + if idx + 1 == file.lines.len() && file.missing_newline { + wline(host, format_args!("\\ No newline at end of file"))?; + } + } + Ok(()) +} + +/// `N` for a single line, `N,M` for a span; 1-based inclusive, normal format. +fn normal_range(range: &Range) -> String { + if range.len() <= 1 { + (range.start + 1).to_string() + } else { + format!("{},{}", range.start + 1, range.end) + } +} + +/// Default diff output: `3c3` / `<` / `---` / `>` change commands. +fn write_normal( + host: &mut Host, + ops: &[DiffOp], + suppressed: &[bool], + old: &FileLines<'_>, + new: &FileLines<'_>, +) -> Result<(), String> { + for (op, &sup) in ops.iter().zip(suppressed) { + if sup || op.tag() == DiffTag::Equal { + continue; + } + let (old_range, new_range) = (op.old_range(), op.new_range()); + match op.tag() { + DiffTag::Delete => { + // `5d4`: the trailing number is the new-file line *after which* + // the deleted lines would have appeared (0 for a leading delete). + wline(host, format_args!("{}d{}", normal_range(&old_range), new_range.start))?; + write_marked(host, "< ", old_range, old)?; + }, + DiffTag::Insert => { + wline(host, format_args!("{}a{}", old_range.start, normal_range(&new_range)))?; + write_marked(host, "> ", new_range, new)?; + }, + DiffTag::Replace => { + wline( + host, + format_args!("{}c{}", normal_range(&old_range), normal_range(&new_range)), + )?; + write_marked(host, "< ", old_range, old)?; + wline(host, format_args!("---"))?; + write_marked(host, "> ", new_range, new)?; + }, + DiffTag::Equal => unreachable!(), + } + } + Ok(()) +} + +/// Groups changed ops into hunks: two changes share a hunk when the equal run +/// between them is at most `2 * context` lines. Hunks whose every change is +/// `-B`-suppressed are dropped. +fn group_ops(ops: &[DiffOp], suppressed: &[bool], context: usize) -> Vec<(usize, usize)> { + let mut groups: Vec<(usize, usize)> = Vec::new(); + for (idx, op) in ops.iter().enumerate() { + if op.tag() == DiffTag::Equal { + continue; + } + if let Some(last) = groups.last_mut() { + let gap = op.old_range().start - ops[last.1].old_range().end; + if gap <= 2 * context { + last.1 = idx; + continue; + } + } + groups.push((idx, idx)); + } + groups.retain(|&(first, last)| { + ops[first..=last] + .iter() + .zip(&suppressed[first..=last]) + .any(|(op, &sup)| op.tag() != DiffTag::Equal && !sup) + }); + groups +} + +/// Equal-line context available before and after a hunk, clipped to `context`. +fn group_padding(ops: &[DiffOp], first: usize, last: usize, context: usize) -> (usize, usize) { + let lead = if first > 0 { context.min(ops[first - 1].old_range().len()) } else { 0 }; + let trail = ops.get(last + 1).map_or(0, |op| context.min(op.old_range().len())); + (lead, trail) +} + +/// `@@` hunk range: `S,N` with 1-based start (the preceding line for an empty +/// range); a count of 1 omits `,N`. +fn unified_range(start: usize, count: usize) -> String { + match count { + 0 => format!("{start},0"), + 1 => (start + 1).to_string(), + _ => format!("{},{count}", start + 1), + } +} + +fn write_unified( + host: &mut Host, + ops: &[DiffOp], + suppressed: &[bool], + old: &FileLines<'_>, + new: &FileLines<'_>, + context: usize, +) -> Result<(), String> { + for (first, last) in group_ops(ops, suppressed, context) { + let (lead, trail) = group_padding(ops, first, last, context); + let old_start = ops[first].old_range().start - lead; + let new_start = ops[first].new_range().start - lead; + let old_count = ops[last].old_range().end + trail - old_start; + let new_count = ops[last].new_range().end + trail - new_start; + wline( + host, + format_args!( + "@@ -{} +{} @@", + unified_range(old_start, old_count), + unified_range(new_start, new_count) + ), + )?; + write_marked(host, " ", old_start..ops[first].old_range().start, old)?; + for op in &ops[first..=last] { + match op.tag() { + DiffTag::Equal => write_marked(host, " ", op.old_range(), old)?, + DiffTag::Delete => write_marked(host, "-", op.old_range(), old)?, + DiffTag::Insert => write_marked(host, "+", op.new_range(), new)?, + DiffTag::Replace => { + write_marked(host, "-", op.old_range(), old)?; + write_marked(host, "+", op.new_range(), new)?; + }, + } + } + let tail = ops[last].old_range().end; + write_marked(host, " ", tail..tail + trail, old)?; + } + Ok(()) +} + +/// Context-format range: 1-based inclusive `S,E`; single line shows `S` only. +fn context_range(start: usize, count: usize) -> String { + match count { + 0 => start.to_string(), + 1 => (start + 1).to_string(), + _ => format!("{},{}", start + 1, start + count), + } +} + +fn write_context_format( + host: &mut Host, + ops: &[DiffOp], + suppressed: &[bool], + old: &FileLines<'_>, + new: &FileLines<'_>, + context: usize, +) -> Result<(), String> { + for (first, last) in group_ops(ops, suppressed, context) { + let (lead, trail) = group_padding(ops, first, last, context); + let old_start = ops[first].old_range().start - lead; + let new_start = ops[first].new_range().start - lead; + let old_count = ops[last].old_range().end + trail - old_start; + let new_count = ops[last].new_range().end + trail - new_start; + let group = &ops[first..=last]; + wline(host, format_args!("***************"))?; + wline(host, format_args!("*** {} ****", context_range(old_start, old_count)))?; + // GNU omits a side's body entirely when it has no changes. + if group.iter().any(|op| matches!(op.tag(), DiffTag::Delete | DiffTag::Replace)) { + write_marked(host, " ", old_start..ops[first].old_range().start, old)?; + for op in group { + match op.tag() { + DiffTag::Equal => write_marked(host, " ", op.old_range(), old)?, + DiffTag::Delete => write_marked(host, "- ", op.old_range(), old)?, + DiffTag::Replace => write_marked(host, "! ", op.old_range(), old)?, + DiffTag::Insert => {}, + } + } + let tail = ops[last].old_range().end; + write_marked(host, " ", tail..tail + trail, old)?; + } + wline(host, format_args!("--- {} ----", context_range(new_start, new_count)))?; + if group.iter().any(|op| matches!(op.tag(), DiffTag::Insert | DiffTag::Replace)) { + write_marked(host, " ", new_start..ops[first].new_range().start, new)?; + for op in group { + match op.tag() { + DiffTag::Equal => write_marked(host, " ", op.new_range(), new)?, + DiffTag::Insert => write_marked(host, "+ ", op.new_range(), new)?, + DiffTag::Replace => write_marked(host, "! ", op.new_range(), new)?, + DiffTag::Delete => {}, + } + } + let tail = ops[last].new_range().end; + write_marked(host, " ", tail..tail + trail, new)?; + } + } + Ok(()) +} + +/// The `diff [-r] A/x B/x` line printed before each differing pair in +/// directory mode. +fn pair_prefix(name_a: &Path, name_b: &Path, opts: Options<'_>) -> String { + let flag = if opts.recursive { " -r" } else { "" }; + format!("diff{flag} {} {}", name_a.display(), name_b.display()) +} + +/// True when a directory entry's base name matches an `-x` glob. +fn is_excluded(name: &OsStr, excludes: &[glob::Pattern]) -> bool { + if excludes.is_empty() { + return false; + } + let name = name.to_string_lossy(); + excludes.iter().any(|pattern| pattern.matches(&name)) +} + +/// Compares two directories over the sorted union of their entries, GNU +/// style: subdirectories recurse only under `-r`, otherwise a +/// `Common subdirectories:` line is printed. fn diff_dirs( name_a: &Path, res_a: &Path, @@ -239,7 +746,10 @@ fn diff_dirs( .map_err(|err| format!("{}: {}", dir_name.display(), io_msg(&err)))?; for entry in entries { let entry = entry.map_err(|err| format!("{}: {}", dir_name.display(), io_msg(&err)))?; - names.insert(entry.file_name()); + let name = entry.file_name(); + if !is_excluded(&name, opts.excludes) { + names.insert(name); + } } } @@ -257,14 +767,25 @@ fn diff_dirs( let meta_b = fs::metadata(&child_res_b).ok(); match (meta_a.as_ref(), meta_b.as_ref()) { (Some(ma), Some(mb)) if ma.is_dir() && mb.is_dir() => { - differed |= diff_dirs( - &child_name_a, - &child_res_a, - &child_name_b, - &child_res_b, - opts, - host, - )?; + if opts.recursive { + differed |= diff_dirs( + &child_name_a, + &child_res_a, + &child_name_b, + &child_res_b, + opts, + host, + )?; + } else { + wline( + host, + format_args!( + "Common subdirectories: {} and {}", + child_name_a.display(), + child_name_b.display() + ), + )?; + } }, (Some(ma), Some(mb)) if ma.is_dir() != mb.is_dir() => { let (dir, file) = if ma.is_dir() { @@ -272,26 +793,29 @@ fn diff_dirs( } else { (&child_name_b, &child_name_a) }; - writeln!( - host.stdout, - "File {} is a directory while file {} is a regular file", - dir.display(), - file.display() - ) - .map_err(|e| io_msg(&e))?; + wline( + host, + format_args!( + "File {} is a directory while file {} is a regular file", + dir.display(), + file.display() + ), + )?; differed = true; }, - (Some(_), Some(_)) => { + (Some(ma), Some(mb)) => { let bytes_a = fs::read(&child_res_a) .map_err(|err| format!("{}: {}", child_name_a.display(), io_msg(&err)))?; let bytes_b = fs::read(&child_res_b) .map_err(|err| format!("{}: {}", child_name_b.display(), io_msg(&err)))?; - let prefix = format!("diff -r {} {}", child_name_a.display(), child_name_b.display()); + let prefix = pair_prefix(&child_name_a, &child_name_b, opts); differed |= diff_pair( &child_name_a, &bytes_a, + ma.modified().ok(), &child_name_b, &bytes_b, + mb.modified().ok(), opts, Some(&prefix), host, @@ -307,27 +831,35 @@ fn diff_dirs( }; let bytes = fs::read(present_res) .map_err(|err| format!("{}: {}", present_name.display(), io_msg(&err)))?; - let prefix = - format!("diff -r {} {}", child_name_a.display(), child_name_b.display()); - let (ba, bb): (&[u8], &[u8]) = if in_a { (&bytes, &[]) } else { (&[], &bytes) }; + let prefix = pair_prefix(&child_name_a, &child_name_b, opts); + let present_mtime = meta.modified().ok(); + let epoch = Some(SystemTime::UNIX_EPOCH); + let (ba, bb, mta, mtb): (&[u8], &[u8], _, _) = if in_a { + (&bytes, &[], present_mtime, epoch) + } else { + (&[], &bytes, epoch, present_mtime) + }; differed |= diff_pair( &child_name_a, ba, + mta, &child_name_b, bb, + mtb, opts, Some(&prefix), host, )?; } else { let present_dir = if in_a { name_a } else { name_b }; - writeln!( - host.stdout, - "Only in {}: {}", - present_dir.display(), - Path::new(&name).display() - ) - .map_err(|e| io_msg(&e))?; + wline( + host, + format_args!( + "Only in {}: {}", + present_dir.display(), + Path::new(&name).display() + ), + )?; differed = true; } }, @@ -369,62 +901,242 @@ mod tests { (code, capture.out(), capture.err()) } + fn write_pair(dir: &Path, a: &str, b: &str) { + fs::write(dir.join("a.txt"), a).unwrap(); + fs::write(dir.join("b.txt"), b).unwrap(); + } + #[test] fn identical_files_print_nothing_and_exit_zero() { let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "one\ntwo\n").unwrap(); - fs::write(dir.path().join("b.txt"), "one\ntwo\n").unwrap(); + write_pair(dir.path(), "one\ntwo\n", "one\ntwo\n"); assert_eq!(run_in(dir.path(), "", &["a.txt", "b.txt"]), (0, String::new(), String::new())); } + // Defends: real diff emits *normal* format by default; unified output + // without -u broke pipelines expecting `NcN` change commands. #[test] - fn differing_files_emit_unified_diff_with_typed_headers() { + fn default_output_is_normal_format() { let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "one\ntwo\nthree\n").unwrap(); - fs::write(dir.path().join("b.txt"), "one\nTWO\nthree\n").unwrap(); - let (code, stdout, stderr) = run_in(dir.path(), "", &["a.txt", "b.txt"]); - assert_eq!(code, 1); - assert_eq!(stderr, ""); - assert!(stdout.starts_with("--- a.txt\n+++ b.txt\n@@ "), "got: {stdout}"); - assert!(stdout.contains("\n-two\n"), "got: {stdout}"); - assert!(stdout.contains("\n+TWO\n"), "got: {stdout}"); - assert!(stdout.contains("\n one\n"), "got: {stdout}"); - assert!(stdout.contains("\n three\n"), "got: {stdout}"); - } - - #[test] - fn labels_override_typed_headers() { - let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "old\n").unwrap(); - fs::write(dir.path().join("b.txt"), "new\n").unwrap(); - let (code, stdout, stderr) = run_in( - dir.path(), - "", - &["--label", "before", "--label", "after", "a.txt", "b.txt"], + write_pair(dir.path(), "one\ntwo\nthree\n", "one\nTWO\nthree\n"); + assert_eq!( + run_in(dir.path(), "", &["a.txt", "b.txt"]), + (1, "2c2\n< two\n---\n> TWO\n".to_string(), String::new()) ); - assert_eq!(code, 1); - assert_eq!(stderr, ""); - assert!(stdout.starts_with("--- before\n+++ after\n"), "got: {stdout}"); } + // Defends: normal-format `d`/`a` commands carry the peer file's position. #[test] - fn unified_zero_drops_context_lines() { + fn normal_format_uses_add_and_delete_commands() { let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "one\ntwo\nthree\n").unwrap(); - fs::write(dir.path().join("b.txt"), "one\nTWO\nthree\n").unwrap(); - let (code, stdout, _) = run_in(dir.path(), "", &["-U", "0", "a.txt", "b.txt"]); + write_pair(dir.path(), "one\ntwo\n", "one\n"); + let (code, stdout, _) = run_in(dir.path(), "", &["a.txt", "b.txt"]); + assert_eq!((code, stdout.as_str()), (1, "2d1\n< two\n")); + let (code, stdout, _) = run_in(dir.path(), "", &["b.txt", "a.txt"]); + assert_eq!((code, stdout.as_str()), (1, "1a2\n> two\n")); + } + + // Defends: a final line without newline must still diff, with the GNU + // `\ No newline at end of file` marker. + #[test] + fn missing_trailing_newline_is_reported() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\n", "one"); + assert_eq!( + run_in(dir.path(), "", &["a.txt", "b.txt"]), + (1, "1c1\n< one\n---\n> one\n\\ No newline at end of file\n".to_string(), String::new()) + ); + } + + // Defends: -u emits unified format with GNU `NAME\tTIMESTAMP` headers. + #[test] + fn unified_flag_emits_unified_with_timestamped_headers() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\ntwo\nthree\n", "one\nTWO\nthree\n"); + let (code, stdout, stderr) = run_in(dir.path(), "", &["-u", "a.txt", "b.txt"]); + assert_eq!((code, stderr.as_str()), (1, "")); + let mut lines = stdout.lines(); + let first = lines.next().unwrap(); + let second = lines.next().unwrap(); + assert!(first.starts_with("--- a.txt\t"), "got: {first}"); + assert!(second.starts_with("+++ b.txt\t"), "got: {second}"); + // Timestamp shape: `2026-08-20 12:34:56.123456789 +0200`. + let stamp = first.split('\t').nth(1).unwrap(); + assert_eq!((stamp.as_bytes()[4], stamp.as_bytes()[7]), (b'-', b'-'), "got: {stamp}"); + assert!(stamp.contains('.') && (stamp.contains(" +") || stamp.contains(" -"))); + assert!(stdout.contains("@@ -1,3 +1,3 @@\n one\n-two\n+TWO\n three\n"), "got: {stdout}"); + } + + // Defends: -L/--label (twice) replaces name *and* timestamp in headers. + #[test] + fn labels_override_unified_headers() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "old\n", "new\n"); + for args in [&["-u", "-L", "before", "-L", "after"][..], &["-u", "--label", "before", "--label", "after"]] { + let mut argv = args.to_vec(); + argv.extend(["a.txt", "b.txt"]); + let (code, stdout, stderr) = run_in(dir.path(), "", &argv); + assert_eq!((code, stderr.as_str()), (1, ""), "args: {args:?}"); + assert!(stdout.starts_with("--- before\n+++ after\n@@ "), "got: {stdout}"); + } + } + + // Defends: GNU rejects a third label instead of silently dropping it. + #[test] + fn three_labels_are_rejected() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "x\n", "y\n"); + let (code, _, stderr) = + run_in(dir.path(), "", &["-L", "1", "-L", "2", "-L", "3", "a.txt", "b.txt"]); + assert_eq!(code, 2); + assert!(stderr.contains("too many file label options"), "got: {stderr}"); + } + + // Defends: attached counts (-U0, obsolete -u0) and bundled shorts + // (-ru, -rq, -urN) all parse — the leading LLM failure mode. + #[test] + fn attached_counts_and_bundled_flags_parse() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\ntwo\nthree\n", "one\nTWO\nthree\n"); + for args in [&["-U0"][..], &["-u0"], &["-U", "0"]] { + let mut argv = args.to_vec(); + argv.extend(["a.txt", "b.txt"]); + let (code, stdout, stderr) = run_in(dir.path(), "", &argv); + assert_eq!((code, stderr.as_str()), (1, ""), "args: {args:?}"); + assert!(stdout.contains("@@ -2 +2 @@\n-two\n+TWO\n"), "args: {args:?}: {stdout}"); + } + let (code, stdout, stderr) = run_in(dir.path(), "", &["-ru", "a.txt", "b.txt"]); + assert_eq!((code, stderr.as_str()), (1, "")); + assert!(stdout.starts_with("--- a.txt\t"), "got: {stdout}"); + let (code, _, stderr) = run_in(dir.path(), "", &["-urN", "a.txt", "b.txt"]); + assert_eq!((code, stderr.as_str()), (1, "")); + let (code, stdout, stderr) = run_in(dir.path(), "", &["-rq", "a.txt", "b.txt"]); + assert_eq!( + (code, stdout.as_str(), stderr.as_str()), + (1, "Files a.txt and b.txt differ\n", "") + ); + } + + // Defends: -u and -c are conflicting output styles. + #[test] + fn unified_and_context_styles_conflict() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "x\n", "y\n"); + let (code, _, stderr) = run_in(dir.path(), "", &["-u", "-c", "a.txt", "b.txt"]); + assert_eq!(code, 2); + assert!(stderr.contains("cannot be used with"), "got: {stderr}"); + } + + // Defends: -c emits GNU copied-context format with `!` change markers. + #[test] + fn context_format_renders_changed_lines() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\ntwo\nthree\n", "one\nTWO\nthree\n"); + let (code, stdout, stderr) = run_in(dir.path(), "", &["-c", "a.txt", "b.txt"]); + assert_eq!((code, stderr.as_str()), (1, "")); + assert!(stdout.starts_with("*** a.txt\t"), "got: {stdout}"); + assert!(stdout.contains("\n--- b.txt\t"), "got: {stdout}"); + assert!( + stdout.contains( + "***************\n*** 1,3 ****\n one\n! two\n three\n--- 1,3 ----\n one\n! TWO\n three\n" + ), + "got: {stdout}" + ); + } + + // Defends: -w must change the comparison, not just parse. + #[test] + fn ignore_all_space_equates_whitespace_only_changes() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one two\n\tthree\n", "onetwo\nthree \n"); + assert_eq!( + run_in(dir.path(), "", &["-w", "a.txt", "b.txt"]), + (0, String::new(), String::new()) + ); + // Real changes still surface under -w. + write_pair(dir.path(), "one\n", "two\n"); + let (code, stdout, _) = run_in(dir.path(), "", &["-w", "a.txt", "b.txt"]); + assert_eq!((code, stdout.as_str()), (1, "1c1\n< one\n---\n> two\n")); + } + + // Defends: -b ignores amount-of-whitespace changes but not added + // whitespace where none existed. + #[test] + fn ignore_space_change_collapses_runs_only() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one two \n", "one two\n"); + assert_eq!( + run_in(dir.path(), "", &["-b", "a.txt", "b.txt"]), + (0, String::new(), String::new()) + ); + write_pair(dir.path(), "onetwo\n", "one two\n"); + let (code, _, _) = run_in(dir.path(), "", &["-b", "a.txt", "b.txt"]); assert_eq!(code, 1); - assert!(!stdout.contains("\n one\n"), "got: {stdout}"); - assert!(!stdout.contains("\n three\n"), "got: {stdout}"); - assert!(stdout.contains("\n-two\n"), "got: {stdout}"); - assert!(stdout.contains("\n+TWO\n"), "got: {stdout}"); + } + + // Defends: -i case-insensitive comparison. + #[test] + fn ignore_case_equates_case_only_changes() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "One Two\n", "oNE tWO\n"); + assert_eq!( + run_in(dir.path(), "", &["-i", "a.txt", "b.txt"]), + (0, String::new(), String::new()) + ); + } + + // Defends: -B suppresses blank-only hunks; blank-only files compare equal + // while real changes elsewhere still print (with true line numbers). + #[test] + fn ignore_blank_lines_suppresses_blank_only_hunks() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\n\ntwo\n", "one\ntwo\n"); + assert_eq!( + run_in(dir.path(), "", &["-B", "a.txt", "b.txt"]), + (0, String::new(), String::new()) + ); + write_pair( + dir.path(), + "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\n", + "a\n\nb\nc\nd\ne\nf\ng\nh\ni\nJ\n", + ); + let (code, stdout, _) = run_in(dir.path(), "", &["-B", "a.txt", "b.txt"]); + assert_eq!((code, stdout.as_str()), (1, "10c11\n< j\n---\n> J\n")); + } + + // Defends: --strip-trailing-cr equates CRLF and LF inputs. + #[test] + fn strip_trailing_cr_equates_crlf_and_lf() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "one\r\ntwo\r\n", "one\ntwo\n"); + assert_eq!( + run_in(dir.path(), "", &["--strip-trailing-cr", "a.txt", "b.txt"]), + (0, String::new(), String::new()) + ); + let (code, _, _) = run_in(dir.path(), "", &["a.txt", "b.txt"]); + assert_eq!(code, 1); + } + + // Defends: -s reports identical files, including ignore-flag identity. + #[test] + fn report_identical_files_prints_message() { + let dir = tempfile::tempdir().unwrap(); + write_pair(dir.path(), "same\n", "same\n"); + assert_eq!( + run_in(dir.path(), "", &["-s", "a.txt", "b.txt"]), + (0, "Files a.txt and b.txt are identical\n".to_string(), String::new()) + ); + write_pair(dir.path(), "same x\n", "same x\n"); + assert_eq!( + run_in(dir.path(), "", &["-s", "-w", "a.txt", "b.txt"]), + (0, "Files a.txt and b.txt are identical\n".to_string(), String::new()) + ); } #[test] fn brief_reports_one_line_per_differing_pair() { let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "x\n").unwrap(); - fs::write(dir.path().join("b.txt"), "y\n").unwrap(); + write_pair(dir.path(), "x\n", "y\n"); assert_eq!( run_in(dir.path(), "", &["-q", "a.txt", "b.txt"]), (1, "Files a.txt and b.txt differ\n".to_string(), String::new()) @@ -432,15 +1144,12 @@ mod tests { } #[test] - fn compatibility_flags_are_accepted_and_ignored() { + fn color_flag_is_accepted_and_ignored() { let dir = tempfile::tempdir().unwrap(); - fs::write(dir.path().join("a.txt"), "x\n").unwrap(); - fs::write(dir.path().join("b.txt"), "y\n").unwrap(); + write_pair(dir.path(), "x\n", "y\n"); let (code, stdout, stderr) = - run_in(dir.path(), "", &["-u", "-r", "--color=always", "a.txt", "b.txt"]); - assert_eq!(code, 1); - assert_eq!(stderr, ""); - assert!(stdout.starts_with("--- a.txt\n+++ b.txt\n"), "got: {stdout}"); + run_in(dir.path(), "", &["--color=always", "a.txt", "b.txt"]); + assert_eq!((code, stderr.as_str()), (1, "")); assert!(!stdout.contains('\u{1b}'), "got: {stdout}"); } @@ -478,11 +1187,10 @@ mod tests { fn new_file_treats_missing_operand_as_empty() { let dir = tempfile::tempdir().unwrap(); fs::write(dir.path().join("a.txt"), "one\n").unwrap(); - let (code, stdout, stderr) = run_in(dir.path(), "", &["-N", "nope.txt", "a.txt"]); - assert_eq!(code, 1); - assert_eq!(stderr, ""); - assert!(stdout.starts_with("--- nope.txt\n+++ a.txt\n"), "got: {stdout}"); - assert!(stdout.contains("\n+one\n"), "got: {stdout}"); + assert_eq!( + run_in(dir.path(), "", &["-N", "nope.txt", "a.txt"]), + (1, "0a1\n> one\n".to_string(), String::new()) + ); } #[test] @@ -494,8 +1202,25 @@ mod tests { (0, String::new(), String::new()) ); let (code, stdout, _) = run_in(dir.path(), "one\nTWO\n", &["a.txt", "-"]); - assert_eq!(code, 1); - assert!(stdout.starts_with("--- a.txt\n+++ -\n"), "got: {stdout}"); + assert_eq!((code, stdout.as_str()), (1, "2c2\n< two\n---\n> TWO\n")); + } + + // Defends: without -r, subdirectories are announced, not recursed into, + // and their differing contents do not affect the exit code. + #[test] + fn directories_do_not_recurse_without_r() { + let dir = tempfile::tempdir().unwrap(); + let (a, b) = (dir.path().join("a"), dir.path().join("b")); + fs::create_dir_all(a.join("sub")).unwrap(); + fs::create_dir_all(b.join("sub")).unwrap(); + fs::write(a.join("common.txt"), "same\n").unwrap(); + fs::write(b.join("common.txt"), "same\n").unwrap(); + fs::write(a.join("sub/inner.txt"), "old\n").unwrap(); + fs::write(b.join("sub/inner.txt"), "new\n").unwrap(); + assert_eq!( + run_in(dir.path(), "", &["a", "b"]), + (0, "Common subdirectories: a/sub and b/sub\n".to_string(), String::new()) + ); } #[test] @@ -510,22 +1235,39 @@ mod tests { fs::write(b.join("other.txt"), "right\n").unwrap(); fs::write(a.join("sub/inner.txt"), "old\n").unwrap(); fs::write(b.join("sub/inner.txt"), "new\n").unwrap(); - let (code, stdout, stderr) = run_in(dir.path(), "", &["a", "b"]); + let (code, stdout, stderr) = run_in(dir.path(), "", &["-r", "a", "b"]); assert_eq!(code, 1); assert_eq!(stderr, ""); assert!(stdout.contains("Only in a: only.txt\n"), "got: {stdout}"); assert!(stdout.contains("Only in b: other.txt\n"), "got: {stdout}"); assert!( - stdout.contains( - "diff -r a/sub/inner.txt b/sub/inner.txt\n--- a/sub/inner.txt\n+++ b/sub/inner.txt\n" - ), + stdout.contains("diff -r a/sub/inner.txt b/sub/inner.txt\n1c1\n< old\n---\n> new\n"), "got: {stdout}" ); - assert!(stdout.contains("\n-old\n"), "got: {stdout}"); - assert!(stdout.contains("\n+new\n"), "got: {stdout}"); assert!(!stdout.contains("common.txt"), "got: {stdout}"); } + // Defends: -x excludes matching base names from directory walks, both for + // diffing and for `Only in` reporting. + #[test] + fn exclude_globs_skip_matching_names() { + let dir = tempfile::tempdir().unwrap(); + let (a, b) = (dir.path().join("a"), dir.path().join("b")); + fs::create_dir_all(a.join(".git")).unwrap(); + fs::create_dir_all(&b).unwrap(); + fs::write(a.join(".git/state"), "x\n").unwrap(); + fs::write(a.join("keep.txt"), "old\n").unwrap(); + fs::write(b.join("keep.txt"), "new\n").unwrap(); + fs::write(a.join("skip.log"), "left\n").unwrap(); + fs::write(b.join("other.log"), "right\n").unwrap(); + let (code, stdout, stderr) = + run_in(dir.path(), "", &["-r", "-x", "*.log", "-x", ".git", "a", "b"]); + assert_eq!((code, stderr.as_str()), (1, "")); + assert!(stdout.contains("diff -r a/keep.txt b/keep.txt\n1c1\n< old\n---\n> new\n"), "got: {stdout}"); + assert!(!stdout.contains(".git"), "got: {stdout}"); + assert!(!stdout.contains(".log"), "got: {stdout}"); + } + #[test] fn identical_directories_exit_zero() { let dir = tempfile::tempdir().unwrap(); diff --git a/crates/pi-builtins/src/errno.rs b/crates/pi-builtins/src/errno.rs index 5ba3c98a7..872ee720a 100644 --- a/crates/pi-builtins/src/errno.rs +++ b/crates/pi-builtins/src/errno.rs @@ -168,6 +168,7 @@ fn command() -> Command { Arg::new(ARG_QUERY) .value_name("NAME-OR-NUMBER") .num_args(0..) + .allow_hyphen_values(true) .action(ArgAction::Append), ) } @@ -189,13 +190,21 @@ fn print_entry(host: &mut Host, name: &str, number: i32) { /// Looks up one name or number argument; returns false on failure. fn lookup(host: &mut Host, arg: &str) -> bool { if let Ok(number) = arg.parse::() { - // Reverse lookup: first-listed name for the number is canonical. - match ERRNOS.iter().find(|(_, value)| *value == number) { + // Kernel convention returns errors as negative errno values; resolve + // `-2` the same as `2`. Reverse lookup: first-listed name for the + // number is canonical. + match number + .checked_abs() + .and_then(|number| ERRNOS.iter().find(|(_, value)| *value == number)) + { Some((name, value)) => { print_entry(host, name, *value); true }, - None => false, + None => { + let _ = writeln!(host.stderr, "errno: unknown errno {arg}"); + false + }, } } else if let Some((name, value)) = ERRNOS .iter() @@ -277,11 +286,44 @@ mod tests { } #[test] - fn unknown_number_fails_silently() { + fn unknown_number_fails_with_stderr() { + // Failure mode: unknown numeric lookups exiting 1 with no diagnostic. let (code, stdout, stderr) = run_errno(&["99999"]); assert_eq!(code, 1); assert!(stdout.is_empty()); - assert!(stderr.is_empty()); + assert!(stderr.contains("unknown errno 99999"), "stderr: {stderr:?}"); + } + + #[test] + fn negative_number_resolves_by_absolute_value() { + // Failure mode: clap rejecting `errno -2` as an unknown option instead + // of resolving the kernel-style negative errno. + let number = format!("-{}", libc::ENOENT); + let (code, stdout, stderr) = run_errno(&[&number]); + assert_eq!(code, 0); + assert!(stdout.starts_with(&format!("ENOENT {} ", libc::ENOENT)), "stdout: {stdout:?}"); + assert!(stderr.is_empty(), "stderr: {stderr:?}"); + } + + #[test] + fn unknown_negative_number_fails_with_stderr() { + let (code, stdout, stderr) = run_errno(&["-99999"]); + assert_eq!(code, 1); + assert!(stdout.is_empty()); + assert!(stderr.contains("unknown errno -99999"), "stderr: {stderr:?}"); + } + + #[test] + fn short_flags_still_win_over_hyphen_operands() { + // Failure mode: allow_hyphen_values swallowing `-l` as a query. + let (code, stdout, _) = run_errno(&["-l"]); + assert_eq!(code, 0); + assert!( + stdout + .lines() + .any(|line| line.starts_with(&format!("ENOENT {} ", libc::ENOENT))), + "-l no longer lists: {stdout:?}" + ); } #[test] diff --git a/crates/pi-builtins/src/factory.rs b/crates/pi-builtins/src/factory.rs index 67a79901a..c2dc240ad 100644 --- a/crates/pi-builtins/src/factory.rs +++ b/crates/pi-builtins/src/factory.rs @@ -204,6 +204,8 @@ pub fn utility_builtins() m.push(("basename", basename::basename_builtin::())); #[cfg(feature = "util.cat")] m.push(("cat", cat::cat_builtin::())); + #[cfg(feature = "util.cksum")] + m.push(("cksum", cksum::cksum_builtin::())); #[cfg(feature = "util.cmp")] m.push(("cmp", cmp::cmp_builtin::())); #[cfg(feature = "util.comm")] diff --git a/crates/pi-builtins/src/find.rs b/crates/pi-builtins/src/find.rs index 031b040f6..1e5ffa856 100644 --- a/crates/pi-builtins/src/find.rs +++ b/crates/pi-builtins/src/find.rs @@ -1847,7 +1847,9 @@ pub mod matchers { match chars.next() { Some('-') => (ComparisonType::AtLeast, chars.as_str()), - Some('/') => (ComparisonType::AnyOf, chars.as_str()), + // GNU spells "any of these bits" as /mode; BSD find spells + // it +mode. Accept both. + Some('/') | Some('+') => (ComparisonType::AnyOf, chars.as_str()), _ => (ComparisonType::Exact, pattern), } } @@ -1882,7 +1884,7 @@ pub mod matchers { pub fn new(pattern: &str) -> Result> { let (comparison_type, pattern) = parsing::split_comparison_type(pattern); let file_pattern = parsing::parse_mode(pattern, false)?; - let dir_pattern = parsing::parse_mode(pattern, false)?; + let dir_pattern = parsing::parse_mode(pattern, true)?; Ok(Self { comparison_type, file_pattern, dir_pattern }) } @@ -2686,7 +2688,7 @@ pub mod matchers { use std::{error::Error, fmt, str::FromStr}; - use onig::{Regex, RegexOptions, Syntax}; + use onig::{Regex, RegexOptions, SearchOptions, Syntax}; use super::{Matcher, MatcherIO, WalkEntry}; @@ -2783,9 +2785,15 @@ pub mod matchers { impl Matcher for RegexMatcher { fn matches(&self, file_info: &WalkEntry, _: &mut MatcherIO) -> bool { + let path = file_info.display_path().to_string_lossy(); + // `-regex` must match the WHOLE path (POSIX/GNU/BSD), not a + // substring: anchor the match at the start of the path and + // require it to end at the end of the path (backtracking + // retries alternatives that stop short). self .regex - .is_match(file_info.display_path().to_string_lossy().as_ref()) + .match_with_options(path.as_ref(), 0, SearchOptions::SEARCH_OPTION_WHOLE_STRING, None) + .is_some() } } } @@ -2859,6 +2867,8 @@ pub mod matchers { KibiByte, MebiByte, GibiByte, + TebiByte, + PebiByte, } impl FromStr for Unit { @@ -2872,10 +2882,12 @@ pub mod matchers { "k" => Self::KibiByte, "M" => Self::MebiByte, "G" => Self::GibiByte, + "T" => Self::TebiByte, + "P" => Self::PebiByte, _ => { return Err(From::from(format!( - "Invalid suffix {s} for -size. Only allowed values are , b, c, w, k, M or \ - G" + "Invalid suffix {s} for -size. Only allowed values are , b, c, w, k, M, G, \ + T or P" ))); }, }) @@ -2894,6 +2906,8 @@ pub mod matchers { Unit::KibiByte => 10, Unit::MebiByte => 20, Unit::GibiByte => 30, + Unit::TebiByte => 40, + Unit::PebiByte => 50, }; // Skip pointless arithmetic. if bits_to_shift == 0 { @@ -3111,13 +3125,12 @@ pub mod matchers { } } - /// This matcher checks whether the file is newer than the file time of any - /// combination of two comparison types from the target file's - /// `NewerOptionType`. + /// This matcher checks whether the X timestamp of the file being + /// considered is newer than the Y timestamp of the reference file, + /// captured once when the matcher is built (`-newerXY reference`). pub struct NewerOptionMatcher { - x_option: NewerOptionType, - y_option: NewerOptionType, - given_modification_time: SystemTime, + x_option: NewerOptionType, + reference_time: SystemTime, } impl NewerOptionMatcher { @@ -3125,21 +3138,19 @@ pub mod matchers { let metadata = fs::metadata(host.resolve(path_to_file))?; let x_option = NewerOptionType::from_str(x_option); let y_option = NewerOptionType::from_str(y_option); - Ok(Self { x_option, y_option, given_modification_time: metadata.modified()? }) + let reference_time = y_option.get_file_time(&metadata)?; + Ok(Self { x_option, reference_time }) } fn matches_impl(&self, file_info: &WalkEntry) -> Result> { let x_option_time = self.x_option.get_file_time(file_info.metadata()?)?; - let y_option_time = self.y_option.get_file_time(file_info.metadata()?)?; + // duration_since returns Err when x_option_time is strictly + // newer than the reference time. Ok(self - .given_modification_time + .reference_time .duration_since(x_option_time) - .is_err() - && self - .given_modification_time - .duration_since(y_option_time) - .is_err()) + .is_err()) } } @@ -3149,9 +3160,8 @@ pub mod matchers { Err(e) => { writeln!( &mut matcher_io.host().stderr, - "Error getting {:?} and {:?} time for {}: {}", + "Error getting {:?} time for {}: {}", self.x_option, - self.y_option, file_info.path().to_string_lossy(), e ) @@ -3390,12 +3400,16 @@ pub mod matchers { use super::{FileType, Follow, Matcher, MatcherIO, WalkEntry}; - /// This matcher checks the type of the file. + /// This matcher checks the type of the file against a list of accepted + /// types (GNU findutils 4.9+ accepts comma-separated lists, e.g. `f,d`). pub struct TypeMatcher { - file_type: FileType, + file_types: Vec, } - fn parse(type_string: &str) -> Result> { + /// Parses one type letter. `Ok(None)` means the letter is accepted but + /// can never match here (BSD `w` — whiteouts don't exist on this + /// platform's walk results). + fn parse_one(type_string: &str) -> Result, Box> { let file_type = match type_string { "f" => FileType::Regular, "d" => FileType::Directory, @@ -3404,35 +3418,50 @@ pub mod matchers { "c" => FileType::CharDevice, "p" => FileType::Fifo, // named pipe (FIFO) "s" => FileType::Socket, + // w: whiteout (BSD); accepted but never produced by the walker + "w" => return Ok(None), // D: door (Solaris) "D" => return Err(From::from(format!("Type argument {type_string} not supported yet"))), _ => return Err(From::from(format!("Unrecognised type argument {type_string}"))), }; - Ok(file_type) + Ok(Some(file_type)) + } + + fn parse(type_string: &str) -> Result, Box> { + let mut file_types = Vec::new(); + for part in type_string.split(',') { + if part.is_empty() { + return Err(From::from(format!("Unrecognised type argument {type_string}"))); + } + if let Some(file_type) = parse_one(part)? { + file_types.push(file_type); + } + } + Ok(file_types) } impl TypeMatcher { pub fn new(type_string: &str) -> Result> { - let file_type = parse(type_string)?; - Ok(Self { file_type }) + let file_types = parse(type_string)?; + Ok(Self { file_types }) } } impl Matcher for TypeMatcher { fn matches(&self, file_info: &WalkEntry, _: &mut MatcherIO) -> bool { - file_info.file_type() == self.file_type + self.file_types.contains(&file_info.file_type()) } } /// Like [TypeMatcher], but toggles whether symlinks are followed. pub struct XtypeMatcher { - file_type: FileType, + file_types: Vec, } impl XtypeMatcher { pub fn new(type_string: &str) -> Result> { - let file_type = parse(type_string)?; - Ok(Self { file_type }) + let file_types = parse(type_string)?; + Ok(Self { file_types }) } } @@ -3450,9 +3479,9 @@ pub mod matchers { .map(FileType::from); match file_type { - Ok(file_type) if file_type == self.file_type => true, + Ok(file_type) if self.file_types.contains(&file_type) => true, // Since GNU find 4.10, ELOOP will match -xtype l - Err(e) if self.file_type.is_symlink() && e.is_loop() => true, + Err(e) if self.file_types.iter().any(|t| t.is_symlink()) && e.is_loop() => true, _ => false, } } @@ -3558,7 +3587,7 @@ pub mod matchers { }; use ::regex::Regex; - use chrono::{DateTime, Datelike, NaiveDateTime, Utc}; + use chrono::{DateTime, Datelike, Local, NaiveDate, NaiveDateTime, TimeZone, Utc}; pub use entry::{FileType, WalkEntry, WalkError}; use fs::FileSystemMatcher; use ls::Ls; @@ -3872,13 +3901,40 @@ pub mod matchers { ))) } - /// This is a function that converts a specific string format into a timestamp. - /// It allows converting a time string of - /// "(week abbreviation) (date), (year) (time)" to a Unix timestamp. - /// such as: "jan 01, 2025 00:00:01" -> 1735689601000 - /// When (time) is not provided, it will be automatically filled in as 00:00:00 - /// such as: "jan 01, 2025" = "jan 01, 2025 00:00:00" -> 1735689600000 + /// Converts a `-newerXt`-style reference time string into a Unix timestamp + /// (milliseconds). + /// + /// Accepts, in order: + /// - `@N[.N]` seconds since the epoch (GNU extension) + /// - RFC 3339 datetimes with an explicit offset, e.g. + /// "2026-01-01T00:00:00Z" + /// - ISO-style naive dates/datetimes ("2026-01-01", + /// "2026-01-01 12:30[:45]", with ` ` or `T` separators), interpreted in + /// local time like GNU find + /// - "(month abbreviation) (date), (year) (time)" strings, e.g. + /// "jan 01, 2025 00:00:01" (time defaults to 00:00:00) fn parse_date_str_to_timestamps(date_str: &str) -> Option { + if let Some(epoch) = date_str.strip_prefix('@') + && let Ok(seconds) = epoch.parse::() + { + return Some((seconds * 1000.0) as i64); + } + + if let Ok(datetime) = DateTime::parse_from_rfc3339(date_str) { + return Some(datetime.timestamp_millis()); + } + + let naive = NaiveDate::parse_from_str(date_str, "%Y-%m-%d") + .ok() + .and_then(|date| date.and_hms_opt(0, 0, 0)) + .or_else(|| NaiveDateTime::parse_from_str(date_str, "%Y-%m-%d %H:%M:%S").ok()) + .or_else(|| NaiveDateTime::parse_from_str(date_str, "%Y-%m-%dT%H:%M:%S").ok()) + .or_else(|| NaiveDateTime::parse_from_str(date_str, "%Y-%m-%d %H:%M").ok()) + .or_else(|| NaiveDateTime::parse_from_str(date_str, "%Y-%m-%dT%H:%M").ok()); + if let Some(naive) = naive { + return Some(Local.from_local_datetime(&naive).earliest()?.timestamp_millis()); + } + let regex_pattern = r"^(?P\w{3} \d{2})?(?:, (?P\d{4}))?(?: (?P