Squashed 'third_party/rules_rust/' changes from bf59038cac..078c6908fc

078c6908fc add cc_common.link support for rust_library and rust_test (#1490)
c07aef0287 Skip supplying rpaths on Fuchsia (#1511)
6ee7c80bdb Propagate rustc_env{,_files} from rust_test.crate (#1443)
1cd0788d2a Apply get_lib_name correctly to the C++ runtime libraries (#1508)
90808f0dc4 Minor cleanup to documentation (#1505)
735640f2df Enable rust-analyzer tests on windows. (#1506)
0f34573166 Updated rules_rust to version 0.9.0 (#1503)
9b61b49934 Promoted crate_universe to non-experimental (#1504)
76360dd354 Implement rules archive release artifact in github action. (#1501)
4e5fac5980 Do not pass `--Clink-arg=-l` for libstd and libtest (#1500)
6c38934636 pipelining: add the ability to disable pipelining for a single rule. (#1499)
867fc37c17 rules_rust: enable pipelined compilation. (#1275)
c97f255dfe Delete deprecated targets (#1496)
43b42884a7 Updated examples to use crate_universe (#1494)
0ffde973e8 Updated `//util/import` to use crate_universe (#1492)
83a03ab03e Updated proto rules to fetch dependencies using crate_universe (#1491)
67e204ff22 fix: `rust_doc_test` failure to find params file (#1418)
0fc834bdfa Updated all toolchain_type definitions to be named `toolchain_type`. (#1479)
3be056a7a3 toolchain files: ensure test depends on std (#1486)
228ebfa6eb Updated rules_rust to version `0.8.1`. (#1484)
685dfda497 Fixed use of rust-analyzer with rust_static_library and rust_shared_library (#1482)
2d7f94543f Fix rust-analyzer being unable to find rust sysroot sources. (#1483)
81a77acde2 Updated rules_rust to version `0.8.0`. (#1472)
caad908848 Give useful error on missing workspace manifest (#1475)
0e86b9dd30 Added `rust_analyzer_toolchain` and repository rules for creating one (#1455)
838e4ea828 Update docs on lockfiles (#1477)
fce1222628 Fix typo in function name (#1478)
1929bfbc3e Added Rust version 1.62.1 (#1476)
9a8e878d3d Fix `rust_binary_without_process_wrapper` build with `--stamp` (#1473)
25baabc205 Updated bindgen version (#1470)
8c9d5c7051 Updated rust-analyzer generator to use clap (#1471)
6d8009dbc8 Update `//bindgen` to use `crate_universe` (#1440)
67c97d44ff Updated `tools/rust_analyzer` to use `crate_universe`. (#1448)
6c285eb28e Updated `wasm_bindgen` rules dependencies. (#1464)
82a437cc17 Fixed crate_universe lockfile checks for crates_repository rule (#1468)
e83d5f3c77 Limit coverage to requested files (#1467)
daff327ea7 Stamp only binaries by default (#1452)
adc80a301d Cleanup crate_universe dependency macros (#1460)
824b121acc Updated header of crate_universe generated files to include a regen command (#1461)
d44e1d8363 feat: add `rustc_flags` attr to `rust_doc` rule (#1458)
6b54feb0ff add a way to distinguish proc-macro deps (#1420)
6070b3c9f4 Fixed missing items in distro artifact (#1450)
1e83e74159 do not add proc-macro deps to transitive_link_search_paths (#1424)
ced94dec1b Fix @libgit2 (#1457)
03d1d5e4ac Add extra_rustc_flag and extra_exec_rustc_flag (#1413)
711adc7985 crate_universe: shorten `crate_universe_crate_index` to `cui` (#1454)
8cb9247f18 Replaced small genrules with uses of bazel_skylib (#1451)
38e841aece Upgrade stardoc (#1444)
674762f66a Updated toolchain repository rules to represent one toolchain per repo (#1442)
b22a6e1416 Re-enable disabled windows jobs in CI (#1353)
2fb94c48fd docs: Update homepage to use latest version (#1441)
389c58fcb1 Updated rules_rust to version `0.7.0`. (#1436)
60f26d49d8 exclude `BUILD` and `WORKSPACE` files from generated crate_universe targets (#1437)
26344d4cd7 Have rust_test put its compilation outputs in a subdirectory (#1434)
8b0f644122 Updated crate_universe version to `0.4.0`. (#1435)
adf92b1534 update crate_universe `--repin` args to not require values. (#1433)
da75146d0a Do not attempt to instrument rust code for coverage if rust_toolchain.llvm-cov is None (#1432)
bde2c36821 Added Rust 1.62.0 (#1427)
7056f22bd0 Fixed crate_universe not finding target library names for "rlib"s (#1429)
3d65214d23 crate_universe support for individually updating packages. (#1426)
5a9d999db9 Updated `attr.label` attribute defaults to use `Label` constructor (#1422)
52fc70145a Added `TemplateVariableInfo` to `rust_toolchain`. (#1416)
7465c1aa29 Add test coverage support (#1324)
c5c3603da6 Bump the min supported bazel version (#1414)
937bdc9d05 Add a `cargo_dep_env` rule for setting build.rs environment variables (#1415)
91466fc0d1 Updated `rules_rust` version to `0.6.0`. (#1397)
97264b79d5 Update wasm_bindgen to use crate universe. (#1398)
d3197a65c5 Updated crate_universe version (to `0.3.0`) and dependencies (#1409)
a15e67d666 Deleted "extra workspace member" functionality from crate_universe (#1406)
5910a7585a Use a vec, not set for rustc_flags for crate_universe annotations (#1404)
3aa88ab067 Deleted deprecated `rust_analyzer` rule. (#1405)
7adf7210d0 cargo: Fix handling of relative sysroots (#1371)
57607239ec Enable rustfmt CI for Windows. (#1403)
30e68b49be Added more "ignore" tags to rustfmt and clippy rules. (#1400)
53ad14eead Added support for vendoring external manifests (#1381)
ff243c6ef0 Reorganized rustfmt source tree (#1399)
94e0044afe Refactored the Rustfmt tool to work cross-platform (#1375)
8fca438124 Ran clang-format on all C++ sources (#1396)
e765719e29 Added TemplateVariableInfo to rust_toolchain (#1377)
81590f4b6a Fixed Clippy bug with `--@rules_rust//:clippy_flags`. (#1392)
d77b9f7c6a Use  `target_compatible_with` to make `macos` with `Xcode` happy (#1391)
ec27dbe310 Added comments to internal function (#1378)
a9dd2f9200 Removed deprecated file (#1380)
16175c881c Renamed toolchain files targets (#1376)
c7cb5bd7a8 Support crates that have mix of generated and nongenerated inputs (#1340)
521e649ff4 Avoid using common substrings as encodings. (#1370)
28ac6b133d Use a more compact encoding in the `import` macro. (#1365)
3a099bfa97 Fix incorrect assertion in test_env_launcher test (#1368)
4661093fb1 Use target instead of rule in rust_register_toolchains edition docs (#1366)
652f2802e3 Add `env` attribute to `rust_toolchain`. (#1363)
9520f37f1e Update rules_perl in examples (#1364)
1b451c301e Add armv7-linux-androideabi tier 2 triple (#1362)
0265c293f1 Ensure crate_features to be included correctly in rust_project.json (#1356)
121d65fe6a Updated `rules_rust` version to `0.5.0` (#1360)
aca4ec1a0f crate_universe: fix typo (#1314)
69ca2611c5 Don't leak native dependencies of proc_macro (#1359)
4c7f08b8b9 Fixed missing docs (#1358)
e48bec94de feat: build script toolchains annotations (#1344)
ffb946f4b7 Ensure memchr is linked after libobject (#1349)
edca1d8042 Add developing notes for crate_universe (#1351)
120f911d2f Updated rust_bindgen dependencies API (#1354)
42c4528a5f Added Rust 1.61.0 (#1347)
c05e0c6ab1 Fixed fetch_shas script to correctly include .gz and .xz extensions (#1355)
9770b0dd75 Update apple_support (#1346)
87eb807e67 Added support for Rust 1.61.0 to crate_universe (#1348)
84c1d42128 Temporarily disable windows job in CI. (#1352)
421d30e4ff Remove unnecessary `crate_name` usage in `rust_test_suite`. (#1345)
10185339dd Build `rust_test` targets with `crate` using the same crate name as the underlying library target. (#1332)
0049ce3884 Add support for riscv32 targets (#1323)
3aa6de3c63 remove experimental_use_whole_archive_for_native_deps (#1338)
a066bfed46 Replace slashes with underscores in default crate names. (#1336)
1b91e592d5 Revert "Replace slashes with underscores in default crate names. (#1334)" (#1335)
51f8e302e9 "sandwich" rlibs between native deps in linker order (#1333)
df354904a1 Replace slashes with underscores in default crate names. (#1334)
21eed19188 Bump version to 0.4.0 (#1329)
d3d9abac4d Support . workspace member (#1326)
fccaae3055 Error calling `all_crate_deps` without `Cargo.toml` (#1327)
d7c532cb78 Updated wasm_bindgen dependencies API (#1313)
fb4d5546ea Updated wasm_bindgen rules to only require core `rules_nodejs` rules (#1311)
1590670ae1 Prevents running of clippy on bindgen targets (#1320)
73d0164a34 Add support for aarch64-apple-ios-sim (#1304)
61eee54c73 Add bazel-* directories in cargo_manifest_dir/external_crate to gitignore (#1279)
42f78f25e1 crate_universe: Improved documentation (#1305)
bddc4bd94a Silence warnings for example/test dependencies (#1312)
b04fe3b21f Use tinyjson from crates.io instead of github.com. (#1309)
1cab691d14 Remove doc about STATIC_RUST_URL env var. (#1306)
d86e06a884 Don't propagate non-shared transitive linker inputs from `rust_static|shared_library` (#1299)
5abeb93333 Don't emit `CrateInfo` from `rust_static_library` and `rust_shared_library` (#1298)
0175a1b7aa fix for using a nightly channel after https://github.com/bazelbuild/rules_rust/commit/841fc6fb82141576d91aecb1d3f2656d58b0ab71 (#1302)
e07881fa22 Updated crate_universe docs (#1301)
c63ad973f1 rustc: fix a conditional (#1300)
a6f332fcbe Use __EXEC_ROOT__ paths for genfiles in rust_analyzer aspect (#1293)
97de47df51 Remove 'triple' field from triple struct in favor of 'str' (#1297)
58627f59eb Make get_host_triple public to get a triple from Bazel's repository_ctx (#1289)
612f4362bc Updated `rules_rust` version to `0.3.1` (#1296)
26fa5a15de Fixed build issues in release artifact (#1295)
48bb32f817 crate_universe: Added tests for serialized config files. (#1291)
841fc6fb82 Enable xz archives (#1284)
f7cb22efa6 feat(#514): pass extra flags to clippy (#1264)
e9f8b48711 Updated `rules_rust` version to `0.3.0` (#1288)
c900e1c66c Revert "Add workaround for arm vs armv7 android issue (#1259)" (#1290)
01ebef2fb9 Remove DEFAULT_RUST_EDITION (#1256)
03a70796ab Outside of examples, fill in all `edition` attrs (#1257)
207ee4fbcf feat: support extra deps in rust_doc_test (#1286)
4e7d114a8e Fix typo in render config doc (#1281)
db17f291d3 Fix crate annotation anchor (#1282)
fdb6851a92 Fix target name in `rust_test` example. (#1280)
4fb6e40147 Don't leak additive build file content across crates (#1278)
965044ae2b Remove `rust_test` example which doesn't build. (#1267)
f6e7e0a93f add a stopgap experimental_use_whole_archive_for_native_deps attribute (#1269)
34fd46756a process_wrapper: add support for terminating rustc after it emits rmeta. (#1207)
b778fca0ac crate_universe: propagate build_script_tools (#1266)
f6f27a8734 Add workaround for arm vs armv7 android issue (#1259)
c3f56c2d50 Add the BUILD.bazel file to the wasm_bindgen distro filegroup target (#1246) (#1261)
1f2e6231de Set edition for process_wrapper and cargo_build_script_runner (#1254)
55790492ac Updated Rust to 1.60.0 (#1247)
b594f90f17 Workaround for issue in linux Cargo binaries (#1252)
8f0dd9042e rust_test_suite: ensure crate names are valid (#1248)
4144ddeb9c Updating `rules_rust` version to `0.2.1` (#1243)
65cad76a52 Fixed proto package in release artifact (#1241)
4d8de6e361 Updated repository pin in the docs (#1240)
e5a3970754 Updating `rules_rust` version to `0.2.0` (#1235)
d061bf640e Updated `crate_universe` version to `0.2.0` (#1239)
c0505da0d2 Replace `rust_repositories` with `rust_register_toolchains` in docs (#1237)
145ad7609f Fixed `crates_repository` deleting `.cargo/config.toml` files. (#1227)
20066b05e2 fix: distribute `//tools/rust_analyzer` (#1234)
b58ce89603 Enabled `rust_doc_test` for `crate_universe` (#1232)
d2e2470cbf Fix some unit tests to run from another workspace (#1226)
b03aee039a Fixed `crate_universe` clippy defects (#1228)
41b39f0c99 add bots using lld (and examples with clang as a drive by) (#1221)
84e98e4d2f don't emit --codegen={metadata,extra-filename} for rust_static_library and rust_shared_library (#1222)
e48c834a40 Renamed `crate_index` repository to `crate_universe_crate_index` (#1217)
99b4b2574f fix use of stamping in rust_binary_without_process_wrapper (#1218)
8df4517d37 Add NUM_JOBS env var to cargo build scripts (#1216)
628e85e70f Restrucutred `crate_universe` dependency macros (#1208)
e3d67a0a10 Updated docs to guide users to using releases (#1213)
fd912e644c Updated crate_universe docs. (#1212)
cde4c0826c Delete deprecated `rules` targets (#1210)
26e01c8386 cache the release archive in release actions (#1201)
3205c9d846 Updated crate_universe setup guide (#1202)
c078494678 Don't leak deps from rust_proc_macro (#1206)
7c865ffeb1 Build `_import_macro_dep` in `exec` mode (#1203)
635da93206 Updating `rules_rust` version to `0.1.0`. (#1198)
6c797c9070 disable advanced features of C++ rules (#1200)
86d47a1bba Tweak import macro bootstrap to trick rust analyzer aspect (#1179)
80d197205a Added release workflow (#1195)
cd44b3670a Added support for producing distribution archives (#1194)
a665447989 Traverse custom alias-like rules in the rust analyzer aspect (#1190)
4504983fa9 Add a test showing that rust_analayzer aspect traverses aliases (#1188)
297dd18215 Updated `crate_universe` to version `0.1.0`. (#1197)
0d9c7d5e1b Specify root target for rust_analyzer test (#1189)
4a0352fecd Updated `crate_universe` dependencies (#1196)
5126479254 Fixed crate_universe release tools (#1193)
e840400eb6 Remove last remains of use_process_wrapper flag. (#1192)
eb7db68d96 Fix iOS linker arguments (#1186)
de726a10c9 Create internal rust_binary rule instead of using transitions (#1187)
5e6ad9f638 Regenerated `cargo-raze` outputs with v0.15.0 (#1184)
980b662843 add static_library to get_preferred_artifact with pic (#1183)
97fd329540 Populate CFLAGS and CXXFLAGS when invoking build script. (#1081)

git-subtree-dir: third_party/rules_rust
git-subtree-split: 078c6908fc32c168b58e72cc3884dd8e30419e3a
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
Change-Id: Ifc218edaa852263bd76835ee7de44de07c08aec2
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel b/wasm_bindgen/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel
new file mode 100644
index 0000000..f435c96
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.aho-corasick-0.7.18.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "aho_corasick",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.7.18",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:memchr",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.anyhow-1.0.58.bazel b/wasm_bindgen/3rdparty/crates/BUILD.anyhow-1.0.58.bazel
new file mode 100644
index 0000000..07f7a98
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.anyhow-1.0.58.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "anyhow",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.58",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "anyhow_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.58",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "anyhow_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.ascii-1.0.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.ascii-1.0.0.bazel
new file mode 100644
index 0000000..b4d2927
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.ascii-1.0.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 / MIT
+# ])
+
+rust_library(
+    name = "ascii",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.assert_cmd-1.0.8.bazel b/wasm_bindgen/3rdparty/crates/BUILD.assert_cmd-1.0.8.bazel
new file mode 100644
index 0000000..ee5f7a7
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.assert_cmd-1.0.8.bazel
@@ -0,0 +1,169 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "assert_cmd",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__bstr-0.2.17//:bstr",
+            "@rules_rust_wasm_bindgen__doc-comment-0.3.3//:doc_comment",
+            "@rules_rust_wasm_bindgen__predicates-2.1.1//:predicates",
+            "@rules_rust_wasm_bindgen__predicates-core-1.0.3//:predicates_core",
+            "@rules_rust_wasm_bindgen__predicates-tree-1.0.5//:predicates_tree",
+            "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:wait_timeout",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "bin_fixture__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/bin_fixture.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.8",
+    deps = [
+        ":assert_cmd",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__bstr-0.2.17//:bstr",
+            "@rules_rust_wasm_bindgen__doc-comment-0.3.3//:doc_comment",
+            "@rules_rust_wasm_bindgen__predicates-2.1.1//:predicates",
+            "@rules_rust_wasm_bindgen__predicates-core-1.0.3//:predicates_core",
+            "@rules_rust_wasm_bindgen__predicates-tree-1.0.5//:predicates_tree",
+            "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:wait_timeout",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.atty-0.2.14.bazel b/wasm_bindgen/3rdparty/crates/BUILD.atty-0.2.14.bazel
new file mode 100644
index 0000000..f3bc4d8
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.atty-0.2.14.bazel
@@ -0,0 +1,132 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "atty",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.14",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_os = "hermit")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "hermit")'
+        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
+        #
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.autocfg-1.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
new file mode 100644
index 0000000..224d232
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.autocfg-1.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "autocfg",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.base64-0.13.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.base64-0.13.0.bazel
new file mode 100644
index 0000000..b4c257d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.base64-0.13.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "base64",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.13.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.base64-0.9.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.base64-0.9.3.bazel
new file mode 100644
index 0000000..aca25e3
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.base64-0.9.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "base64",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__byteorder-1.4.3//:byteorder",
+            "@rules_rust_wasm_bindgen__safemem-0.3.3//:safemem",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.bazel b/wasm_bindgen/3rdparty/crates/BUILD.bazel
new file mode 100644
index 0000000..09fec3a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.bazel
@@ -0,0 +1,227 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files(
+    [
+        "cargo-bazel.json",
+        "defs.bzl",
+        "crates.bzl",
+    ] + glob([
+        "*.bazel",
+    ]),
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "*.bazel",
+        "*.bzl",
+    ]),
+)
+
+# Workspace Member Dependencies
+alias(
+    name = "anyhow",
+    actual = "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+    tags = ["manual"],
+)
+
+alias(
+    name = "assert_cmd",
+    actual = "@rules_rust_wasm_bindgen__assert_cmd-1.0.8//:assert_cmd",
+    tags = ["manual"],
+)
+
+alias(
+    name = "curl",
+    actual = "@rules_rust_wasm_bindgen__curl-0.4.43//:curl",
+    tags = ["manual"],
+)
+
+alias(
+    name = "diff",
+    actual = "@rules_rust_wasm_bindgen__diff-0.1.13//:diff",
+    tags = ["manual"],
+)
+
+alias(
+    name = "docopt",
+    actual = "@rules_rust_wasm_bindgen__docopt-1.1.1//:docopt",
+    tags = ["manual"],
+)
+
+alias(
+    name = "env_logger",
+    actual = "@rules_rust_wasm_bindgen__env_logger-0.8.4//:env_logger",
+    tags = ["manual"],
+)
+
+alias(
+    name = "log",
+    actual = "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+    tags = ["manual"],
+)
+
+alias(
+    name = "predicates",
+    actual = "@rules_rust_wasm_bindgen__predicates-1.0.8//:predicates",
+    tags = ["manual"],
+)
+
+alias(
+    name = "rayon",
+    actual = "@rules_rust_wasm_bindgen__rayon-1.5.3//:rayon",
+    tags = ["manual"],
+)
+
+alias(
+    name = "rouille",
+    actual = "@rules_rust_wasm_bindgen__rouille-3.5.0//:rouille",
+    tags = ["manual"],
+)
+
+alias(
+    name = "serde",
+    actual = "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+    tags = ["manual"],
+)
+
+alias(
+    name = "serde_derive",
+    actual = "@rules_rust_wasm_bindgen__serde_derive-1.0.139//:serde_derive",
+    tags = ["manual"],
+)
+
+alias(
+    name = "serde_json",
+    actual = "@rules_rust_wasm_bindgen__serde_json-1.0.82//:serde_json",
+    tags = ["manual"],
+)
+
+alias(
+    name = "tempfile",
+    actual = "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
+    tags = ["manual"],
+)
+
+alias(
+    name = "walrus",
+    actual = "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wasm-bindgen",
+    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-0.2.81//:wasm_bindgen",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wasm-bindgen-cli-support",
+    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.81//:wasm_bindgen_cli_support",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wasm-bindgen-shared",
+    actual = "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:wasm_bindgen_shared",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wasmprinter",
+    actual = "@rules_rust_wasm_bindgen__wasmprinter-0.2.33//:wasmprinter",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wit-printer",
+    actual = "@rules_rust_wasm_bindgen__wit-printer-0.2.0//:wit_printer",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wit-text",
+    actual = "@rules_rust_wasm_bindgen__wit-text-0.8.0//:wit_text",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wit-validator",
+    actual = "@rules_rust_wasm_bindgen__wit-validator-0.2.1//:wit_validator",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wit-walrus",
+    actual = "@rules_rust_wasm_bindgen__wit-walrus-0.6.0//:wit_walrus",
+    tags = ["manual"],
+)
+
+# Binaries
+alias(
+    name = "assert_cmd__bin_fixture",
+    actual = "@rules_rust_wasm_bindgen__assert_cmd-1.0.8//:bin_fixture__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "cc__gcc-shim",
+    actual = "@rules_rust_wasm_bindgen__cc-1.0.73//:gcc-shim__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "difference__difference",
+    actual = "@rules_rust_wasm_bindgen__difference-2.0.0//:difference__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "docopt__docopt-wordlist",
+    actual = "@rules_rust_wasm_bindgen__docopt-1.1.1//:docopt-wordlist__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "leb128__leb128-repl",
+    actual = "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128-repl__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "multipart__form_test",
+    actual = "@rules_rust_wasm_bindgen__multipart-0.18.0//:form_test__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wait-timeout__exit",
+    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:exit__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wait-timeout__sleep",
+    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:sleep__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wait-timeout__reader",
+    actual = "@rules_rust_wasm_bindgen__wait-timeout-0.2.0//:reader__bin",
+    tags = ["manual"],
+)
+
+alias(
+    name = "wit-schema-version__wit-schema-version",
+    actual = "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit-schema-version__bin",
+    tags = ["manual"],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel b/wasm_bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
new file mode 100644
index 0000000..9ee10b2
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.bitflags-1.3.2.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "bitflags",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.3.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.bstr-0.2.17.bazel b/wasm_bindgen/3rdparty/crates/BUILD.bstr-0.2.17.bazel
new file mode 100644
index 0000000..141a153
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.bstr-0.2.17.bazel
@@ -0,0 +1,98 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "bstr",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "lazy_static",
+        "regex-automata",
+        "std",
+        "unicode",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.17",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:memchr",
+            "@rules_rust_wasm_bindgen__regex-automata-0.1.10//:regex_automata",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.buf_redux-0.8.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.buf_redux-0.8.4.bazel
new file mode 100644
index 0000000..ed026fa
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.buf_redux-0.8.4.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "buf_redux",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:memchr",
+            "@rules_rust_wasm_bindgen__safemem-0.3.3//:safemem",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.bumpalo-3.10.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.bumpalo-3.10.0.bazel
new file mode 100644
index 0000000..87253b2
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.bumpalo-3.10.0.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "bumpalo",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.10.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.byteorder-1.4.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
new file mode 100644
index 0000000..44017a0
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.byteorder-1.4.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense OR MIT
+# ])
+
+rust_library(
+    name = "byteorder",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.cc-1.0.73.bazel b/wasm_bindgen/3rdparty/crates/BUILD.cc-1.0.73.bazel
new file mode 100644
index 0000000..868f453
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.cc-1.0.73.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.73",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "gcc-shim__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/gcc-shim.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.73",
+    deps = [
+        ":cc",
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..e9e5932
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "cfg_if",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.chrono-0.4.19.bazel b/wasm_bindgen/3rdparty/crates/BUILD.chrono-0.4.19.bazel
new file mode 100644
index 0000000..fe8b62c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.chrono-0.4.19.bazel
@@ -0,0 +1,110 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "chrono",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "clock",
+        "libc",
+        "std",
+        "winapi",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.19",
+    deps = [
+    ] + select_with_or({
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__num-integer-0.1.45//:num_integer",
+            "@rules_rust_wasm_bindgen__num-traits-0.2.15//:num_traits",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__num-integer-0.1.45//:num_integer",
+            "@rules_rust_wasm_bindgen__num-traits-0.2.15//:num_traits",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.chunked_transfer-1.4.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.chunked_transfer-1.4.0.bazel
new file mode 100644
index 0000000..44eac97
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.chunked_transfer-1.4.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0
+# ])
+
+rust_library(
+    name = "chunked_transfer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-channel-0.5.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-channel-0.5.5.bazel
new file mode 100644
index 0000000..8117a18
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-channel-0.5.5.bazel
@@ -0,0 +1,95 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_channel",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "crossbeam-utils",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.5.5",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__crossbeam-utils-0.8.10//:crossbeam_utils",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-deque-0.8.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-deque-0.8.1.bazel
new file mode 100644
index 0000000..2d5ae16
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-deque-0.8.1.bazel
@@ -0,0 +1,97 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_deque",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "crossbeam-epoch",
+        "crossbeam-utils",
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__crossbeam-epoch-0.9.9//:crossbeam_epoch",
+            "@rules_rust_wasm_bindgen__crossbeam-utils-0.8.10//:crossbeam_utils",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-epoch-0.9.9.bazel b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-epoch-0.9.9.bazel
new file mode 100644
index 0000000..3563114
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-epoch-0.9.9.bazel
@@ -0,0 +1,186 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_epoch",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "once_cell",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.9",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__crossbeam-epoch-0.9.9//:build_script_build",
+            "@rules_rust_wasm_bindgen__crossbeam-utils-0.8.10//:crossbeam_utils",
+            "@rules_rust_wasm_bindgen__memoffset-0.6.5//:memoffset",
+            "@rules_rust_wasm_bindgen__once_cell-1.13.0//:once_cell",
+            "@rules_rust_wasm_bindgen__scopeguard-1.1.0//:scopeguard",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "crossbeam-epoch_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "once_cell",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.9.9",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "crossbeam-epoch_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel
new file mode 100644
index 0000000..f126f64
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.crossbeam-utils-0.8.10.bazel
@@ -0,0 +1,182 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "crossbeam_utils",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.10",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__crossbeam-utils-0.8.10//:build_script_build",
+            "@rules_rust_wasm_bindgen__once_cell-1.13.0//:once_cell",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "crossbeam-utils_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "once_cell",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.8.10",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "crossbeam-utils_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.curl-0.4.43.bazel b/wasm_bindgen/3rdparty/crates/BUILD.curl-0.4.43.bazel
new file mode 100644
index 0000000..715ad41
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.curl-0.4.43.bazel
@@ -0,0 +1,230 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "curl",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "openssl-probe",
+        "openssl-sys",
+        "ssl",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.43",
+    deps = [
+    ] + select_with_or({
+        # cfg(all(unix, not(target_os = "macos")))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__openssl-probe-0.1.5//:openssl_probe",
+            "@rules_rust_wasm_bindgen__openssl-sys-0.9.75//:openssl_sys",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__curl-0.4.43//:build_script_build",
+            "@rules_rust_wasm_bindgen__curl-sys-0.4.55-curl-7.83.1//:curl_sys",
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__socket2-0.4.4//:socket2",
+        ],
+        # cfg(target_env = "msvc")
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__schannel-0.1.20//:schannel",
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__curl-0.4.43//:build_script_build",
+            "@rules_rust_wasm_bindgen__curl-sys-0.4.55-curl-7.83.1//:curl_sys",
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__socket2-0.4.4//:socket2",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__curl-0.4.43//:build_script_build",
+            "@rules_rust_wasm_bindgen__curl-sys-0.4.55-curl-7.83.1//:curl_sys",
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__socket2-0.4.4//:socket2",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "curl_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "openssl-probe",
+        "openssl-sys",
+        "ssl",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.43",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__curl-sys-0.4.55-curl-7.83.1//:curl_sys",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "curl_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.curl-sys-0.4.55+curl-7.83.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.curl-sys-0.4.55+curl-7.83.1.bazel
new file mode 100644
index 0000000..d79622e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.curl-sys-0.4.55+curl-7.83.1.bazel
@@ -0,0 +1,132 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "curl_sys",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "openssl-sys",
+        "ssl",
+    ],
+    crate_root = "lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.55+curl-7.83.1",
+    deps = [
+    ] + select_with_or({
+        # cfg(all(unix, not(target_os = "macos")))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__openssl-sys-0.9.75//:openssl_sys",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__libz-sys-1.1.8//:libz_sys",
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__libz-sys-1.1.8//:libz_sys",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__libz-sys-1.1.8//:libz_sys",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.diff-0.1.13.bazel b/wasm_bindgen/3rdparty/crates/BUILD.diff-0.1.13.bazel
new file mode 100644
index 0000000..57a740c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.diff-0.1.13.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "diff",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.13",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.difference-2.0.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.difference-2.0.0.bazel
new file mode 100644
index 0000000..31eb83f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.difference-2.0.0.bazel
@@ -0,0 +1,159 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "difference",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "difference__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/main.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.0",
+    deps = [
+        ":difference",
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.difflib-0.4.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.difflib-0.4.0.bazel
new file mode 100644
index 0000000..df7d5fa
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.difflib-0.4.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "difflib",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.doc-comment-0.3.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.doc-comment-0.3.3.bazel
new file mode 100644
index 0000000..24c6a66
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.doc-comment-0.3.3.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "doc_comment",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__doc-comment-0.3.3//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "doc-comment_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.3.3",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "doc-comment_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.docopt-1.1.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.docopt-1.1.1.bazel
new file mode 100644
index 0000000..2443ad6
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.docopt-1.1.1.bazel
@@ -0,0 +1,165 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "docopt",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_wasm_bindgen__regex-1.6.0//:regex",
+            "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+            "@rules_rust_wasm_bindgen__strsim-0.10.0//:strsim",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "docopt-wordlist__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/wordlist.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.1",
+    deps = [
+        ":docopt",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_wasm_bindgen__regex-1.6.0//:regex",
+            "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+            "@rules_rust_wasm_bindgen__strsim-0.10.0//:strsim",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.either-1.7.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.either-1.7.0.bazel
new file mode 100644
index 0000000..4511e35
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.either-1.7.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "either",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.7.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.env_logger-0.8.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.env_logger-0.8.4.bazel
new file mode 100644
index 0000000..083a1a3
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.env_logger-0.8.4.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "env_logger",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "atty",
+        "default",
+        "humantime",
+        "regex",
+        "termcolor",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__atty-0.2.14//:atty",
+            "@rules_rust_wasm_bindgen__humantime-2.1.0//:humantime",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__regex-1.6.0//:regex",
+            "@rules_rust_wasm_bindgen__termcolor-1.1.3//:termcolor",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.fastrand-1.7.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.fastrand-1.7.0.bazel
new file mode 100644
index 0000000..1d164f4
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.fastrand-1.7.0.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "fastrand",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.7.0",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_arch = "wasm32")
+        (
+            "@rules_rust//rust/platform:wasm32-unknown-unknown",
+            "@rules_rust//rust/platform:wasm32-wasi",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__instant-0.1.12//:instant",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.filetime-0.2.17.bazel b/wasm_bindgen/3rdparty/crates/BUILD.filetime-0.2.17.bazel
new file mode 100644
index 0000000..454efa1
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.filetime-0.2.17.bazel
@@ -0,0 +1,135 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "filetime",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.17",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_os = "redox")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
+        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
+        #
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__windows-sys-0.36.1//:windows_sys",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.float-cmp-0.8.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.float-cmp-0.8.0.bazel
new file mode 100644
index 0000000..54281ab
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.float-cmp-0.8.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "float_cmp",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "num-traits",
+        "ratio",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__num-traits-0.2.15//:num_traits",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
new file mode 100644
index 0000000..a985668
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.form_urlencoded-1.0.1.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "form_urlencoded",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__matches-0.1.9//:matches",
+            "@rules_rust_wasm_bindgen__percent-encoding-2.1.0//:percent_encoding",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.getrandom-0.2.7.bazel b/wasm_bindgen/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
new file mode 100644
index 0000000..457c79c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
@@ -0,0 +1,130 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "getrandom",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.7",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_os = "wasi")
+        (
+            "@rules_rust//rust/platform:wasm32-wasi",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__wasi-0.11.0-wasi-snapshot-preview1//:wasi",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.heck-0.3.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.heck-0.3.3.bazel
new file mode 100644
index 0000000..ca3578b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.heck-0.3.3.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "heck",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__unicode-segmentation-1.9.0//:unicode_segmentation",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel b/wasm_bindgen/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
new file mode 100644
index 0000000..66f549d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.hermit-abi-0.1.19.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "hermit_abi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.19",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.httparse-1.7.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.httparse-1.7.1.bazel
new file mode 100644
index 0000000..b8e40d6
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.httparse-1.7.1.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "httparse",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.7.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__httparse-1.7.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "httparse_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.7.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "httparse_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel
new file mode 100644
index 0000000..a08cbae
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.humantime-2.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "humantime",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.id-arena-2.2.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.id-arena-2.2.1.bazel
new file mode 100644
index 0000000..1a51805
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.id-arena-2.2.1.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "id_arena",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "rayon",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.2.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__rayon-1.5.3//:rayon",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.idna-0.2.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.idna-0.2.3.bazel
new file mode 100644
index 0000000..6652ec6
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.idna-0.2.3.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "idna",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__matches-0.1.9//:matches",
+            "@rules_rust_wasm_bindgen__unicode-bidi-0.3.8//:unicode_bidi",
+            "@rules_rust_wasm_bindgen__unicode-normalization-0.1.21//:unicode_normalization",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.instant-0.1.12.bazel b/wasm_bindgen/3rdparty/crates/BUILD.instant-0.1.12.bazel
new file mode 100644
index 0000000..047c8ca
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.instant-0.1.12.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "instant",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.12",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.itertools-0.10.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.itertools-0.10.3.bazel
new file mode 100644
index 0000000..2574f46
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.itertools-0.10.3.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "itertools",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "use_alloc",
+        "use_std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.10.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__either-1.7.0//:either",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.itoa-1.0.2.bazel b/wasm_bindgen/3rdparty/crates/BUILD.itoa-1.0.2.bazel
new file mode 100644
index 0000000..d5ef0de
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.itoa-1.0.2.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "itoa",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..aca563c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "lazy_static",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.leb128-0.2.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.leb128-0.2.5.bazel
new file mode 100644
index 0000000..aaf777e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.leb128-0.2.5.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0/MIT
+# ])
+
+rust_library(
+    name = "leb128",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.5",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "leb128-repl__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/leb128-repl.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.5",
+    deps = [
+        ":leb128",
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.libc-0.2.126.bazel b/wasm_bindgen/3rdparty/crates/BUILD.libc-0.2.126.bazel
new file mode 100644
index 0000000..4c6b36b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.libc-0.2.126.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.126",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "libc_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.126",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "libc_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel b/wasm_bindgen/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
new file mode 100644
index 0000000..ce3481b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.libz-sys-1.1.8.bazel
@@ -0,0 +1,192 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "libz_sys",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "libc",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__libz-sys-1.1.8//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "libz-sys_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "libc",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    links = "z",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.1.8",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        # cfg(target_env = "msvc")
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__vcpkg-0.2.15//:vcpkg",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cc-1.0.73//:cc",
+            "@rules_rust_wasm_bindgen__pkg-config-0.3.25//:pkg_config",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cc-1.0.73//:cc",
+            "@rules_rust_wasm_bindgen__pkg-config-0.3.25//:pkg_config",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "libz-sys_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.log-0.4.17.bazel b/wasm_bindgen/3rdparty/crates/BUILD.log-0.4.17.bazel
new file mode 100644
index 0000000..2e32e7b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.log-0.4.17.bazel
@@ -0,0 +1,185 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "log",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=atomic_cas",
+        "--cfg=use_std",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.17",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "log_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=atomic_cas",
+        "--cfg=use_std",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.17",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "log_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.matches-0.1.9.bazel b/wasm_bindgen/3rdparty/crates/BUILD.matches-0.1.9.bazel
new file mode 100644
index 0000000..79404c5
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.matches-0.1.9.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "matches",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.9",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel
new file mode 100644
index 0000000..b977c14
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.memchr-2.5.0.bazel
@@ -0,0 +1,180 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "memchr",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+        "use_std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.5.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "memchr_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+        "use_std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "2.5.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "memchr_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.memoffset-0.6.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.memoffset-0.6.5.bazel
new file mode 100644
index 0000000..46174a4
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.memoffset-0.6.5.bazel
@@ -0,0 +1,177 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "memoffset",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.5",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__memoffset-0.6.5//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "memoffset_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.6.5",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "memoffset_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.mime-0.3.16.bazel b/wasm_bindgen/3rdparty/crates/BUILD.mime-0.3.16.bazel
new file mode 100644
index 0000000..1df6f84
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.mime-0.3.16.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "mime",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.16",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.mime_guess-2.0.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.mime_guess-2.0.4.bazel
new file mode 100644
index 0000000..4b8d3af
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.mime_guess-2.0.4.bazel
@@ -0,0 +1,181 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "mime_guess",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "rev-mappings",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.0.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__mime-0.3.16//:mime",
+            "@rules_rust_wasm_bindgen__mime_guess-2.0.4//:build_script_build",
+            "@rules_rust_wasm_bindgen__unicase-2.6.0//:unicase",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "mime_guess_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "rev-mappings",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "2.0.4",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__unicase-2.6.0//:unicase",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "mime_guess_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.multipart-0.18.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.multipart-0.18.0.bazel
new file mode 100644
index 0000000..8b2d028
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.multipart-0.18.0.bazel
@@ -0,0 +1,189 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "multipart",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "buf_redux",
+        "httparse",
+        "quick-error",
+        "safemem",
+        "server",
+        "twoway",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.18.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__buf_redux-0.8.4//:buf_redux",
+            "@rules_rust_wasm_bindgen__httparse-1.7.1//:httparse",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__mime-0.3.16//:mime",
+            "@rules_rust_wasm_bindgen__mime_guess-2.0.4//:mime_guess",
+            "@rules_rust_wasm_bindgen__quick-error-1.2.3//:quick_error",
+            "@rules_rust_wasm_bindgen__rand-0.8.5//:rand",
+            "@rules_rust_wasm_bindgen__safemem-0.3.3//:safemem",
+            "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
+            "@rules_rust_wasm_bindgen__twoway-0.1.8//:twoway",
+        ],
+    }),
+)
+
+rust_binary(
+    name = "form_test__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "buf_redux",
+        "httparse",
+        "quick-error",
+        "safemem",
+        "server",
+        "twoway",
+    ],
+    crate_root = "src/bin/form_test.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.18.0",
+    deps = [
+        ":multipart",
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__buf_redux-0.8.4//:buf_redux",
+            "@rules_rust_wasm_bindgen__httparse-1.7.1//:httparse",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__mime-0.3.16//:mime",
+            "@rules_rust_wasm_bindgen__mime_guess-2.0.4//:mime_guess",
+            "@rules_rust_wasm_bindgen__quick-error-1.2.3//:quick_error",
+            "@rules_rust_wasm_bindgen__rand-0.8.5//:rand",
+            "@rules_rust_wasm_bindgen__safemem-0.3.3//:safemem",
+            "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
+            "@rules_rust_wasm_bindgen__twoway-0.1.8//:twoway",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.normalize-line-endings-0.3.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.normalize-line-endings-0.3.0.bazel
new file mode 100644
index 0000000..ef1b01d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.normalize-line-endings-0.3.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0
+# ])
+
+rust_library(
+    name = "normalize_line_endings",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.num-integer-0.1.45.bazel b/wasm_bindgen/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
new file mode 100644
index 0000000..13d7a6a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.num-integer-0.1.45.bazel
@@ -0,0 +1,176 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_integer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.45",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__num-integer-0.1.45//:build_script_build",
+            "@rules_rust_wasm_bindgen__num-traits-0.2.15//:num_traits",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "num-integer_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.1.45",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "num-integer_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.num-traits-0.2.15.bazel b/wasm_bindgen/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
new file mode 100644
index 0000000..c242fad
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.num-traits-0.2.15.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_traits",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.15",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__num-traits-0.2.15//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "num-traits_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.15",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "num-traits_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
new file mode 100644
index 0000000..8c4a833
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.num_cpus-1.13.1.bazel
@@ -0,0 +1,125 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_cpus",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.13.1",
+    deps = [
+    ] + select_with_or({
+        # cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))
+        #
+        # No supported platform triples for cfg: 'cfg(all(any(target_arch = "x86_64", target_arch = "aarch64"), target_os = "hermit"))'
+        # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
+        #
+        # cfg(not(windows))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:riscv32imc-unknown-none-elf",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:wasm32-unknown-unknown",
+            "@rules_rust//rust/platform:wasm32-wasi",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.num_threads-0.1.6.bazel b/wasm_bindgen/3rdparty/crates/BUILD.num_threads-0.1.6.bazel
new file mode 100644
index 0000000..1d9683b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.num_threads-0.1.6.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "num_threads",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.6",
+    deps = [
+    ] + select_with_or({
+        # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd"))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.once_cell-1.13.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.once_cell-1.13.0.bazel
new file mode 100644
index 0000000..af55129
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.once_cell-1.13.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "once_cell",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "default",
+        "race",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.13.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.openssl-probe-0.1.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.openssl-probe-0.1.5.bazel
new file mode 100644
index 0000000..ebd85ee
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.openssl-probe-0.1.5.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "openssl_probe",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.5",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.openssl-sys-0.9.75.bazel b/wasm_bindgen/3rdparty/crates/BUILD.openssl-sys-0.9.75.bazel
new file mode 100644
index 0000000..b858e15
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.openssl-sys-0.9.75.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "openssl_sys",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=ossl101",
+        "--cfg=ossl102",
+        "--cfg=ossl102f",
+        "--cfg=ossl102h",
+        "--cfg=ossl110",
+        "--cfg=ossl110f",
+        "--cfg=ossl110g",
+        "--cfg=ossl111",
+        "--cfg=ossl111b",
+        "-l",
+        "dylib=ssl",
+        "-l",
+        "dylib=crypto",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.75",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
new file mode 100644
index 0000000..b3b33c4
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.percent-encoding-2.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "percent_encoding",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel b/wasm_bindgen/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
new file mode 100644
index 0000000..8b574e9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.pkg-config-0.3.25.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "pkg_config",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.25",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel b/wasm_bindgen/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel
new file mode 100644
index 0000000..7a694b0
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.ppv-lite86-0.2.16.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "ppv_lite86",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "simd",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.16",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.predicates-1.0.8.bazel b/wasm_bindgen/3rdparty/crates/BUILD.predicates-1.0.8.bazel
new file mode 100644
index 0000000..76a5de9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.predicates-1.0.8.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "predicates",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "difference",
+        "float-cmp",
+        "normalize-line-endings",
+        "regex",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__difference-2.0.0//:difference",
+            "@rules_rust_wasm_bindgen__float-cmp-0.8.0//:float_cmp",
+            "@rules_rust_wasm_bindgen__normalize-line-endings-0.3.0//:normalize_line_endings",
+            "@rules_rust_wasm_bindgen__predicates-core-1.0.3//:predicates_core",
+            "@rules_rust_wasm_bindgen__regex-1.6.0//:regex",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.predicates-2.1.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.predicates-2.1.1.bazel
new file mode 100644
index 0000000..dfba52e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.predicates-2.1.1.bazel
@@ -0,0 +1,95 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "predicates",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "diff",
+        "difflib",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.1.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__difflib-0.4.0//:difflib",
+            "@rules_rust_wasm_bindgen__itertools-0.10.3//:itertools",
+            "@rules_rust_wasm_bindgen__predicates-core-1.0.3//:predicates_core",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.predicates-core-1.0.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.predicates-core-1.0.3.bazel
new file mode 100644
index 0000000..5f50cc6
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.predicates-core-1.0.3.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "predicates_core",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.predicates-tree-1.0.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.predicates-tree-1.0.5.bazel
new file mode 100644
index 0000000..ffee98f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.predicates-tree-1.0.5.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "predicates_tree",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.5",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__predicates-core-1.0.3//:predicates_core",
+            "@rules_rust_wasm_bindgen__termtree-0.2.4//:termtree",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel b/wasm_bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel
new file mode 100644
index 0000000..0542dc4
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.proc-macro2-1.0.40.bazel
@@ -0,0 +1,185 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "proc_macro2",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=use_proc_macro",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.40",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:build_script_build",
+            "@rules_rust_wasm_bindgen__unicode-ident-1.0.1//:unicode_ident",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "proc-macro2_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=use_proc_macro",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.40",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "proc-macro2_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.quick-error-1.2.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.quick-error-1.2.3.bazel
new file mode 100644
index 0000000..21c5574
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.quick-error-1.2.3.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "quick_error",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.2.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.quote-1.0.20.bazel b/wasm_bindgen/3rdparty/crates/BUILD.quote-1.0.20.bazel
new file mode 100644
index 0000000..a8d8da9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.quote-1.0.20.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "quote",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.20",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "quote_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "proc-macro",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.20",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "quote_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rand-0.8.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rand-0.8.5.bazel
new file mode 100644
index 0000000..af2097b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rand-0.8.5.bazel
@@ -0,0 +1,128 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "rand",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "default",
+        "getrandom",
+        "libc",
+        "rand_chacha",
+        "std",
+        "std_rng",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.5",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__rand_chacha-0.3.1//:rand_chacha",
+            "@rules_rust_wasm_bindgen__rand_core-0.6.3//:rand_core",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__rand_chacha-0.3.1//:rand_chacha",
+            "@rules_rust_wasm_bindgen__rand_core-0.6.3//:rand_core",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
new file mode 100644
index 0000000..f07dbdc
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rand_chacha-0.3.1.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "rand_chacha",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__ppv-lite86-0.2.16//:ppv_lite86",
+            "@rules_rust_wasm_bindgen__rand_core-0.6.3//:rand_core",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rand_core-0.6.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
new file mode 100644
index 0000000..596953a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "rand_core",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "getrandom",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__getrandom-0.2.7//:getrandom",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rayon-1.5.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rayon-1.5.3.bazel
new file mode 100644
index 0000000..3ef8ea8
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rayon-1.5.3.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "rayon",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.5.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__crossbeam-deque-0.8.1//:crossbeam_deque",
+            "@rules_rust_wasm_bindgen__either-1.7.0//:either",
+            "@rules_rust_wasm_bindgen__rayon-1.5.3//:build_script_build",
+            "@rules_rust_wasm_bindgen__rayon-core-1.9.3//:rayon_core",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "rayon_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.5.3",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__autocfg-1.1.0//:autocfg",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "rayon_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rayon-core-1.9.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rayon-core-1.9.3.bazel
new file mode 100644
index 0000000..6155a45
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rayon-core-1.9.3.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "rayon_core",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__crossbeam-channel-0.5.5//:crossbeam_channel",
+            "@rules_rust_wasm_bindgen__crossbeam-deque-0.8.1//:crossbeam_deque",
+            "@rules_rust_wasm_bindgen__crossbeam-utils-0.8.10//:crossbeam_utils",
+            "@rules_rust_wasm_bindgen__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_wasm_bindgen__rayon-core-1.9.3//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "rayon-core_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    links = "rayon-core",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.9.3",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "rayon-core_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel b/wasm_bindgen/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel
new file mode 100644
index 0000000..09652eb
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.redox_syscall-0.2.13.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "syscall",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.13",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__bitflags-1.3.2//:bitflags",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.regex-1.6.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.regex-1.6.0.bazel
new file mode 100644
index 0000000..3732a0d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.regex-1.6.0.bazel
@@ -0,0 +1,110 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "regex",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "aho-corasick",
+        "default",
+        "memchr",
+        "perf",
+        "perf-cache",
+        "perf-dfa",
+        "perf-inline",
+        "perf-literal",
+        "std",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.6.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__aho-corasick-0.7.18//:aho_corasick",
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:memchr",
+            "@rules_rust_wasm_bindgen__regex-syntax-0.6.27//:regex_syntax",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.regex-automata-0.1.10.bazel b/wasm_bindgen/3rdparty/crates/BUILD.regex-automata-0.1.10.bazel
new file mode 100644
index 0000000..bbc535e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.regex-automata-0.1.10.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "regex_automata",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.10",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel b/wasm_bindgen/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
new file mode 100644
index 0000000..c82f00d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
@@ -0,0 +1,99 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "regex_syntax",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "unicode",
+        "unicode-age",
+        "unicode-bool",
+        "unicode-case",
+        "unicode-gencat",
+        "unicode-perl",
+        "unicode-script",
+        "unicode-segment",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.27",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel
new file mode 100644
index 0000000..5623f29
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.remove_dir_all-0.5.3.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "remove_dir_all",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.5.3",
+    deps = [
+    ] + select_with_or({
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rouille-3.5.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rouille-3.5.0.bazel
new file mode 100644
index 0000000..c510e87
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rouille-3.5.0.bazel
@@ -0,0 +1,105 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "rouille",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__serde_derive-1.0.139//:serde_derive",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.5.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__base64-0.13.0//:base64",
+            "@rules_rust_wasm_bindgen__chrono-0.4.19//:chrono",
+            "@rules_rust_wasm_bindgen__filetime-0.2.17//:filetime",
+            "@rules_rust_wasm_bindgen__multipart-0.18.0//:multipart",
+            "@rules_rust_wasm_bindgen__num_cpus-1.13.1//:num_cpus",
+            "@rules_rust_wasm_bindgen__percent-encoding-2.1.0//:percent_encoding",
+            "@rules_rust_wasm_bindgen__rand-0.8.5//:rand",
+            "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+            "@rules_rust_wasm_bindgen__serde_json-1.0.82//:serde_json",
+            "@rules_rust_wasm_bindgen__sha1-0.6.1//:sha1",
+            "@rules_rust_wasm_bindgen__threadpool-1.8.1//:threadpool",
+            "@rules_rust_wasm_bindgen__time-0.3.11//:time",
+            "@rules_rust_wasm_bindgen__tiny_http-0.8.2//:tiny_http",
+            "@rules_rust_wasm_bindgen__url-2.2.2//:url",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.rustc-demangle-0.1.21.bazel b/wasm_bindgen/3rdparty/crates/BUILD.rustc-demangle-0.1.21.bazel
new file mode 100644
index 0000000..f8f8a2b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.rustc-demangle-0.1.21.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "rustc_demangle",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.21",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.ryu-1.0.10.bazel b/wasm_bindgen/3rdparty/crates/BUILD.ryu-1.0.10.bazel
new file mode 100644
index 0000000..7572741
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.ryu-1.0.10.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 OR BSL-1.0
+# ])
+
+rust_library(
+    name = "ryu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.10",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.safemem-0.3.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.safemem-0.3.3.bazel
new file mode 100644
index 0000000..e9cb67a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.safemem-0.3.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "safemem",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.3",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.schannel-0.1.20.bazel b/wasm_bindgen/3rdparty/crates/BUILD.schannel-0.1.20.bazel
new file mode 100644
index 0000000..618688f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.schannel-0.1.20.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "schannel",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.20",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_wasm_bindgen__windows-sys-0.36.1//:windows_sys",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel
new file mode 100644
index 0000000..04c6ac9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.scopeguard-1.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "scopeguard",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.serde-1.0.139.bazel b/wasm_bindgen/3rdparty/crates/BUILD.serde-1.0.139.bazel
new file mode 100644
index 0000000..dbc8f93
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.serde-1.0.139.bazel
@@ -0,0 +1,183 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "derive",
+        "serde_derive",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__serde_derive-1.0.139//:serde_derive",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.139",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__serde-1.0.139//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "serde_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "derive",
+        "serde_derive",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.139",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "serde_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.serde_derive-1.0.139.bazel b/wasm_bindgen/3rdparty/crates/BUILD.serde_derive-1.0.139.bazel
new file mode 100644
index 0000000..2f40056
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.serde_derive-1.0.139.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_proc_macro",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "serde_derive",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.139",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__serde_derive-1.0.139//:build_script_build",
+            "@rules_rust_wasm_bindgen__syn-1.0.98//:syn",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "serde_derive_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.139",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "serde_derive_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.serde_json-1.0.82.bazel b/wasm_bindgen/3rdparty/crates/BUILD.serde_json-1.0.82.bazel
new file mode 100644
index 0000000..54bf4af
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.serde_json-1.0.82.bazel
@@ -0,0 +1,181 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "serde_json",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.82",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__itoa-1.0.2//:itoa",
+            "@rules_rust_wasm_bindgen__ryu-1.0.10//:ryu",
+            "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+            "@rules_rust_wasm_bindgen__serde_json-1.0.82//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "serde_json_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.82",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "serde_json_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.sha1-0.6.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.sha1-0.6.1.bazel
new file mode 100644
index 0000000..d6ec464
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.sha1-0.6.1.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "sha1",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__sha1_smol-1.0.0//:sha1_smol",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel
new file mode 100644
index 0000000..87c2690
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.sha1_smol-1.0.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # BSD-3-Clause
+# ])
+
+rust_library(
+    name = "sha1_smol",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.socket2-0.4.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.socket2-0.4.4.bazel
new file mode 100644
index 0000000..d9f1de7
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.socket2-0.4.4.bazel
@@ -0,0 +1,127 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "socket2",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.4",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel
new file mode 100644
index 0000000..3460f36
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.strsim-0.10.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "strsim",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.10.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.syn-1.0.98.bazel b/wasm_bindgen/3rdparty/crates/BUILD.syn-1.0.98.bazel
new file mode 100644
index 0000000..26500eb
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.syn-1.0.98.bazel
@@ -0,0 +1,197 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "syn",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.98",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__syn-1.0.98//:build_script_build",
+            "@rules_rust_wasm_bindgen__unicode-ident-1.0.1//:unicode_ident",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "syn_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "clone-impls",
+        "default",
+        "derive",
+        "extra-traits",
+        "full",
+        "parsing",
+        "printing",
+        "proc-macro",
+        "quote",
+        "visit",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "1.0.98",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "syn_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.tempfile-3.3.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.tempfile-3.3.0.bazel
new file mode 100644
index 0000000..62814bf
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.tempfile-3.3.0.bazel
@@ -0,0 +1,142 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "tempfile",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "3.3.0",
+    deps = [
+    ] + select_with_or({
+        # cfg(any(unix, target_os = "wasi"))
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:wasm32-wasi",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__fastrand-1.7.0//:fastrand",
+            "@rules_rust_wasm_bindgen__remove_dir_all-0.5.3//:remove_dir_all",
+        ],
+        # cfg(target_os = "redox")
+        #
+        # No supported platform triples for cfg: 'cfg(target_os = "redox")'
+        # Skipped dependencies: [{"id":"redox_syscall 0.2.13","target":"syscall"}]
+        #
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__fastrand-1.7.0//:fastrand",
+            "@rules_rust_wasm_bindgen__remove_dir_all-0.5.3//:remove_dir_all",
+        ],
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__fastrand-1.7.0//:fastrand",
+            "@rules_rust_wasm_bindgen__remove_dir_all-0.5.3//:remove_dir_all",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.termcolor-1.1.3.bazel b/wasm_bindgen/3rdparty/crates/BUILD.termcolor-1.1.3.bazel
new file mode 100644
index 0000000..cc51832
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.termcolor-1.1.3.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense OR MIT
+# ])
+
+rust_library(
+    name = "termcolor",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.1.3",
+    deps = [
+    ] + select_with_or({
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-util-0.1.5//:winapi_util",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.termtree-0.2.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.termtree-0.2.4.bazel
new file mode 100644
index 0000000..07707be
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.termtree-0.2.4.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT
+# ])
+
+rust_library(
+    name = "termtree",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.threadpool-1.8.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.threadpool-1.8.1.bazel
new file mode 100644
index 0000000..93447aa
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.threadpool-1.8.1.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "threadpool",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.8.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__num_cpus-1.13.1//:num_cpus",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.time-0.3.11.bazel b/wasm_bindgen/3rdparty/crates/BUILD.time-0.3.11.bazel
new file mode 100644
index 0000000..e2048ce
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.time-0.3.11.bazel
@@ -0,0 +1,122 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "time",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "default",
+        "local-offset",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2021",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.11",
+    deps = [
+    ] + select_with_or({
+        # cfg(target_family = "unix")
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+            "@rules_rust_wasm_bindgen__num_threads-0.1.6//:num_threads",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.tiny_http-0.8.2.bazel b/wasm_bindgen/3rdparty/crates/BUILD.tiny_http-0.8.2.bazel
new file mode 100644
index 0000000..e2078f9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.tiny_http-0.8.2.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "tiny_http",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__ascii-1.0.0//:ascii",
+            "@rules_rust_wasm_bindgen__chrono-0.4.19//:chrono",
+            "@rules_rust_wasm_bindgen__chunked_transfer-1.4.0//:chunked_transfer",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__url-2.2.2//:url",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
new file mode 100644
index 0000000..a845e9a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.tinyvec-1.6.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Zlib OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "tinyvec",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "alloc",
+        "default",
+        "tinyvec_macros",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.6.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__tinyvec_macros-0.1.0//:tinyvec_macros",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
new file mode 100644
index 0000000..4ec923b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.tinyvec_macros-0.1.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0 OR Zlib
+# ])
+
+rust_library(
+    name = "tinyvec_macros",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.twoway-0.1.8.bazel b/wasm_bindgen/3rdparty/crates/BUILD.twoway-0.1.8.bazel
new file mode 100644
index 0000000..e6ff61f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.twoway-0.1.8.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "twoway",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "use_std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__memchr-2.5.0//:memchr",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.unicase-2.6.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.unicase-2.6.0.bazel
new file mode 100644
index 0000000..9249702
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.unicase-2.6.0.bazel
@@ -0,0 +1,183 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unicase",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=__unicase__iter_cmp",
+        "--cfg=__unicase__defauler_hasher",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.6.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__unicase-2.6.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "unicase_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+
+        # User provided rustc_flags
+        "--cfg=__unicase__iter_cmp",
+        "--cfg=__unicase__defauler_hasher",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "2.6.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__version_check-0.9.4//:version_check",
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "unicase_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel b/wasm_bindgen/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
new file mode 100644
index 0000000..11bfb2c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.unicode-bidi-0.3.8.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_bidi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "hardcoded-data",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.8",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel
new file mode 100644
index 0000000..b438629
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.unicode-ident-1.0.1.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_ident",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.0.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel b/wasm_bindgen/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
new file mode 100644
index 0000000..28fe45b
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.unicode-normalization-0.1.21.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_normalization",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.21",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__tinyvec-1.6.0//:tinyvec",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.unicode-segmentation-1.9.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.unicode-segmentation-1.9.0.bazel
new file mode 100644
index 0000000..ff09181
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.unicode-segmentation-1.9.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "unicode_segmentation",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "1.9.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.url-2.2.2.bazel b/wasm_bindgen/3rdparty/crates/BUILD.url-2.2.2.bazel
new file mode 100644
index 0000000..cb219cf
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.url-2.2.2.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "url",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "2.2.2",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__form_urlencoded-1.0.1//:form_urlencoded",
+            "@rules_rust_wasm_bindgen__idna-0.2.3//:idna",
+            "@rules_rust_wasm_bindgen__matches-0.1.9//:matches",
+            "@rules_rust_wasm_bindgen__percent-encoding-2.1.0//:percent_encoding",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel b/wasm_bindgen/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
new file mode 100644
index 0000000..f70f413
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.vcpkg-0.2.15.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "vcpkg",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.15",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.version_check-0.9.4.bazel b/wasm_bindgen/3rdparty/crates/BUILD.version_check-0.9.4.bazel
new file mode 100644
index 0000000..367bf99
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.version_check-0.9.4.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "version_check",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.9.4",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wait-timeout-0.2.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wait-timeout-0.2.0.bazel
new file mode 100644
index 0000000..5e7824a
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wait-timeout-0.2.0.bazel
@@ -0,0 +1,397 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wait_timeout",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "exit__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/exit.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+        ":wait_timeout",
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "sleep__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/sleep.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+        ":wait_timeout",
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "reader__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/bin/reader.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+        ":wait_timeout",
+    ] + select_with_or({
+        # cfg(unix)
+        (
+            "@rules_rust//rust/platform:aarch64-apple-darwin",
+            "@rules_rust//rust/platform:aarch64-apple-ios",
+            "@rules_rust//rust/platform:aarch64-apple-ios-sim",
+            "@rules_rust//rust/platform:aarch64-linux-android",
+            "@rules_rust//rust/platform:aarch64-unknown-linux-gnu",
+            "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:armv7-linux-androideabi",
+            "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+            "@rules_rust//rust/platform:i686-apple-darwin",
+            "@rules_rust//rust/platform:i686-linux-android",
+            "@rules_rust//rust/platform:i686-unknown-freebsd",
+            "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+            "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+            "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+            "@rules_rust//rust/platform:x86_64-apple-darwin",
+            "@rules_rust//rust/platform:x86_64-apple-ios",
+            "@rules_rust//rust/platform:x86_64-linux-android",
+            "@rules_rust//rust/platform:x86_64-unknown-freebsd",
+            "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__libc-0.2.126//:libc",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.walrus-0.19.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.walrus-0.19.0.bazel
new file mode 100644
index 0000000..2f97c8f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.walrus-0.19.0.bazel
@@ -0,0 +1,99 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "walrus",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "parallel",
+        "rayon",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__walrus-macro-0.19.0//:walrus_macro",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.19.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__id-arena-2.2.1//:id_arena",
+            "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__rayon-1.5.3//:rayon",
+            "@rules_rust_wasm_bindgen__wasmparser-0.77.0//:wasmparser",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.walrus-macro-0.19.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.walrus-macro-0.19.0.bazel
new file mode 100644
index 0000000..c18dbe0
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.walrus-macro-0.19.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_proc_macro",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "walrus_macro",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.19.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__heck-0.3.3//:heck",
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__syn-1.0.98//:syn",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..b7ee1bf
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+    name = "wasi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.11.0+wasi-snapshot-preview1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-0.2.81.bazel
new file mode 100644
index 0000000..8e4a7d7
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-0.2.81.bazel
@@ -0,0 +1,182 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "spans",
+        "std",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__wasm-bindgen-macro-0.2.81//:wasm_bindgen_macro",
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__cfg-if-1.0.0//:cfg_if",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-0.2.81//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "wasm-bindgen_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "spans",
+        "std",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.81",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "wasm-bindgen_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.81.bazel
new file mode 100644
index 0000000..b5f9098
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-backend-0.2.81.bazel
@@ -0,0 +1,98 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_backend",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "spans",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__bumpalo-3.10.0//:bumpalo",
+            "@rules_rust_wasm_bindgen__lazy_static-1.4.0//:lazy_static",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__syn-1.0.98//:syn",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:wasm_bindgen_shared",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-cli-support-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-cli-support-0.2.81.bazel
new file mode 100644
index 0000000..a058842
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-cli-support-0.2.81.bazel
@@ -0,0 +1,106 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_cli_support",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__base64-0.9.3//:base64",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__rustc-demangle-0.1.21//:rustc_demangle",
+            "@rules_rust_wasm_bindgen__serde_json-1.0.82//:serde_json",
+            "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-externref-xform-0.2.81//:wasm_bindgen_externref_xform",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-multi-value-xform-0.2.81//:wasm_bindgen_multi_value_xform",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:wasm_bindgen_shared",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-threads-xform-0.2.81//:wasm_bindgen_threads_xform",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.81//:wasm_bindgen_wasm_conventions",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-wasm-interpreter-0.2.81//:wasm_bindgen_wasm_interpreter",
+            "@rules_rust_wasm_bindgen__wit-text-0.8.0//:wit_text",
+            "@rules_rust_wasm_bindgen__wit-validator-0.2.1//:wit_validator",
+            "@rules_rust_wasm_bindgen__wit-walrus-0.6.0//:wit_walrus",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-externref-xform-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-externref-xform-0.2.81.bazel
new file mode 100644
index 0000000..d8352e8
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-externref-xform-0.2.81.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_externref_xform",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.81.bazel
new file mode 100644
index 0000000..13c0e9e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-0.2.81.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_proc_macro",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_proc_macro(
+    name = "wasm_bindgen_macro",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "spans",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-macro-support-0.2.81//:wasm_bindgen_macro_support",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.81.bazel
new file mode 100644
index 0000000..3e9ac86
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-macro-support-0.2.81.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_macro_support",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "spans",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__proc-macro2-1.0.40//:proc_macro2",
+            "@rules_rust_wasm_bindgen__quote-1.0.20//:quote",
+            "@rules_rust_wasm_bindgen__syn-1.0.98//:syn",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-backend-0.2.81//:wasm_bindgen_backend",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:wasm_bindgen_shared",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-multi-value-xform-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-multi-value-xform-0.2.81.bazel
new file mode 100644
index 0000000..def5ed7
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-multi-value-xform-0.2.81.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_multi_value_xform",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.81.bazel
new file mode 100644
index 0000000..c3c6441
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-shared-0.2.81.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_shared",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "wasm-bindgen-shared_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    links = "wasm_bindgen",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.2.81",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "wasm-bindgen-shared_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-threads-xform-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-threads-xform-0.2.81.bazel
new file mode 100644
index 0000000..4bd1ec8
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-threads-xform-0.2.81.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_threads_xform",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.81//:wasm_bindgen_wasm_conventions",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-conventions-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-conventions-0.2.81.bazel
new file mode 100644
index 0000000..1a0acd6
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-conventions-0.2.81.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_wasm_conventions",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-interpreter-0.2.81.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-interpreter-0.2.81.bazel
new file mode 100644
index 0000000..307ce8c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasm-bindgen-wasm-interpreter-0.2.81.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "wasm_bindgen_wasm_interpreter",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.81",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+            "@rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.81//:wasm_bindgen_wasm_conventions",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.59.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.59.0.bazel
new file mode 100644
index 0000000..13de3df
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.59.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wasmparser",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.59.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.77.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.77.0.bazel
new file mode 100644
index 0000000..e4e93c1
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.77.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wasmparser",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.77.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.83.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.83.0.bazel
new file mode 100644
index 0000000..b75a0b5
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasmparser-0.83.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wasmparser",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.83.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wasmprinter-0.2.33.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wasmprinter-0.2.33.bazel
new file mode 100644
index 0000000..bad2b43
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wasmprinter-0.2.33.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wasmprinter",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.33",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__wasmparser-0.83.0//:wasmparser",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wast-21.0.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wast-21.0.0.bazel
new file mode 100644
index 0000000..00d9d03
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wast-21.0.0.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wast",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "default",
+        "wasm-module",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "21.0.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel b/wasm_bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel
new file mode 100644
index 0000000..a28fc09
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.winapi-0.3.9.bazel
@@ -0,0 +1,222 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "consoleapi",
+        "errhandlingapi",
+        "fileapi",
+        "handleapi",
+        "libloaderapi",
+        "minwinbase",
+        "minwindef",
+        "processenv",
+        "std",
+        "timezoneapi",
+        "winbase",
+        "wincon",
+        "wincrypt",
+        "winerror",
+        "winnt",
+        "winsock2",
+        "ws2def",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.3.9",
+    deps = [
+    ] + select_with_or({
+        # i686-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
+        #
+        # x86_64-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
+        #
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "consoleapi",
+        "errhandlingapi",
+        "fileapi",
+        "handleapi",
+        "libloaderapi",
+        "minwinbase",
+        "minwindef",
+        "processenv",
+        "std",
+        "timezoneapi",
+        "winbase",
+        "wincon",
+        "wincrypt",
+        "winerror",
+        "winnt",
+        "winsock2",
+        "ws2def",
+        "ws2ipdef",
+        "ws2tcpip",
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.3.9",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..0a2b7c9
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_i686_pc_windows_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi-i686-pc-windows-gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi-i686-pc-windows-gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel b/wasm_bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
new file mode 100644
index 0000000..6ff925d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.winapi-util-0.1.5.bazel
@@ -0,0 +1,100 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Unlicense/MIT
+# ])
+
+rust_library(
+    name = "winapi_util",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.5",
+    deps = [
+    ] + select_with_or({
+        # cfg(windows)
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__winapi-0.3.9//:winapi",
+
+            # Common Deps
+        ],
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..bc7709c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT/Apache-2.0
+# ])
+
+rust_library(
+    name = "winapi_x86_64_pc_windows_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.4.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "winapi-x86_64-pc-windows-gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2015",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.4.0",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "winapi-x86_64-pc-windows-gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows-sys-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows-sys-0.36.1.bazel
new file mode 100644
index 0000000..67ac3d8
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows-sys-0.36.1.bazel
@@ -0,0 +1,160 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_sys",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+        "Win32",
+        "Win32_Foundation",
+        "Win32_Security",
+        "Win32_Security_Authentication",
+        "Win32_Security_Authentication_Identity",
+        "Win32_Security_Credentials",
+        "Win32_Security_Cryptography",
+        "Win32_Storage",
+        "Win32_Storage_FileSystem",
+        "Win32_System",
+        "Win32_System_Memory",
+        "default",
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        # aarch64-pc-windows-msvc
+        #
+        # No supported platform triples for cfg: 'aarch64-pc-windows-msvc'
+        # Skipped dependencies: [{"id":"windows_aarch64_msvc 0.36.1","target":"windows_aarch64_msvc"}]
+        #
+        # aarch64-uwp-windows-msvc
+        #
+        # No supported platform triples for cfg: 'aarch64-uwp-windows-msvc'
+        # Skipped dependencies: [{"id":"windows_aarch64_msvc 0.36.1","target":"windows_aarch64_msvc"}]
+        #
+        # i686-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'i686-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"windows_i686_gnu 0.36.1","target":"windows_i686_gnu"}]
+        #
+        # i686-pc-windows-msvc
+        (
+            "@rules_rust//rust/platform:i686-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__windows_i686_msvc-0.36.1//:windows_i686_msvc",
+
+            # Common Deps
+        ],
+        # i686-uwp-windows-gnu
+        #
+        # No supported platform triples for cfg: 'i686-uwp-windows-gnu'
+        # Skipped dependencies: [{"id":"windows_i686_gnu 0.36.1","target":"windows_i686_gnu"}]
+        #
+        # i686-uwp-windows-msvc
+        #
+        # No supported platform triples for cfg: 'i686-uwp-windows-msvc'
+        # Skipped dependencies: [{"id":"windows_i686_msvc 0.36.1","target":"windows_i686_msvc"}]
+        #
+        # x86_64-pc-windows-gnu
+        #
+        # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
+        # Skipped dependencies: [{"id":"windows_x86_64_gnu 0.36.1","target":"windows_x86_64_gnu"}]
+        #
+        # x86_64-pc-windows-msvc
+        (
+            "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+        ): [
+            # Target Deps
+            "@rules_rust_wasm_bindgen__windows_x86_64_msvc-0.36.1//:windows_x86_64_msvc",
+
+            # Common Deps
+        ],
+        # x86_64-uwp-windows-gnu
+        #
+        # No supported platform triples for cfg: 'x86_64-uwp-windows-gnu'
+        # Skipped dependencies: [{"id":"windows_x86_64_gnu 0.36.1","target":"windows_x86_64_gnu"}]
+        #
+        # x86_64-uwp-windows-msvc
+        #
+        # No supported platform triples for cfg: 'x86_64-uwp-windows-msvc'
+        # Skipped dependencies: [{"id":"windows_x86_64_msvc 0.36.1","target":"windows_x86_64_msvc"}]
+        #
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel
new file mode 100644
index 0000000..4718527
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows_aarch64_msvc-0.36.1.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_aarch64_msvc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__windows_aarch64_msvc-0.36.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "windows_aarch64_msvc_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.36.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "windows_aarch64_msvc_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.36.1.bazel
new file mode 100644
index 0000000..87e7e1f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_gnu-0.36.1.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__windows_i686_gnu-0.36.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "windows_i686_gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.36.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "windows_i686_gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.36.1.bazel
new file mode 100644
index 0000000..fdc1347
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows_i686_msvc-0.36.1.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_i686_msvc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__windows_i686_msvc-0.36.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "windows_i686_msvc_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.36.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "windows_i686_msvc_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel
new file mode 100644
index 0000000..6614c4f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_gnu-0.36.1.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_gnu",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__windows_x86_64_gnu-0.36.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "windows_x86_64_gnu_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.36.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "windows_x86_64_gnu_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel
new file mode 100644
index 0000000..d7fb64d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.windows_x86_64_msvc-0.36.1.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+load(
+    "@rules_rust//cargo:defs.bzl",
+    "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # MIT OR Apache-2.0
+# ])
+
+rust_library(
+    name = "windows_x86_64_msvc",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.36.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__windows_x86_64_msvc-0.36.1//:build_script_build",
+        ],
+    }),
+)
+
+cargo_build_script(
+    # See comment associated with alias. Do not change this name
+    name = "windows_x86_64_msvc_build_script",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    build_script_env = {
+    },
+    compile_data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_name = "build_script_build",
+    crate_root = "build.rs",
+    data = glob(["**"]) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    tools = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    version = "0.36.1",
+    visibility = ["//visibility:private"],
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+alias(
+    # Because `cargo_build_script` does some invisible target name mutating to
+    # determine the package and crate name for a build script, the Bazel
+    # target namename of any build script cannot be the Cargo canonical name
+    # of `build_script_build` without losing out on having certain Cargo
+    # environment variables set.
+    name = "build_script_build",
+    actual = "windows_x86_64_msvc_build_script",
+    tags = [
+        "manual",
+    ],
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-parser-0.2.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-parser-0.2.0.bazel
new file mode 100644
index 0000000..0d5950f
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-parser-0.2.0.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_parser",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128",
+            "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit_schema_version",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-printer-0.2.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-printer-0.2.0.bazel
new file mode 100644
index 0000000..1fb790c
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-printer-0.2.0.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_printer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__wasmprinter-0.2.33//:wasmprinter",
+            "@rules_rust_wasm_bindgen__wit-parser-0.2.0//:wit_parser",
+            "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit_schema_version",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-schema-version-0.1.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-schema-version-0.1.0.bazel
new file mode 100644
index 0000000..1f0dce0
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-schema-version-0.1.0.bazel
@@ -0,0 +1,157 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_binary",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_schema_version",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
+
+rust_binary(
+    name = "wit-schema-version__bin",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/main.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.1.0",
+    deps = [
+        ":wit_schema_version",
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-text-0.8.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-text-0.8.0.bazel
new file mode 100644
index 0000000..8d63c48
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-text-0.8.0.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_text",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.8.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__wast-21.0.0//:wast",
+            "@rules_rust_wasm_bindgen__wit-writer-0.2.0//:wit_writer",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-validator-0.2.1.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-validator-0.2.1.bazel
new file mode 100644
index 0000000..f79fa4e
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-validator-0.2.1.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_validator",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.1",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__wasmparser-0.59.0//:wasmparser",
+            "@rules_rust_wasm_bindgen__wit-parser-0.2.0//:wit_parser",
+            "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit_schema_version",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-walrus-0.6.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-walrus-0.6.0.bazel
new file mode 100644
index 0000000..74e41f7
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-walrus-0.6.0.bazel
@@ -0,0 +1,96 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_walrus",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.6.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "@rules_rust_wasm_bindgen__id-arena-2.2.1//:id_arena",
+            "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+            "@rules_rust_wasm_bindgen__wit-parser-0.2.0//:wit_parser",
+            "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit_schema_version",
+            "@rules_rust_wasm_bindgen__wit-writer-0.2.0//:wit_writer",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/BUILD.wit-writer-0.2.0.bazel b/wasm_bindgen/3rdparty/crates/BUILD.wit-writer-0.2.0.bazel
new file mode 100644
index 0000000..df6e536
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/BUILD.wit-writer-0.2.0.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+
+load(
+    "@bazel_skylib//lib:selects.bzl",
+    "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+    "@rules_rust//rust:defs.bzl",
+    "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+#     "TODO",  # Apache-2.0 WITH LLVM-exception
+# ])
+
+rust_library(
+    name = "wit_writer",
+    srcs = glob(
+        include = [
+            "**/*.rs",
+        ],
+        exclude = [
+        ],
+    ),
+    aliases = selects.with_or({
+        "//conditions:default": {
+        },
+    }),
+    compile_data = glob(
+        include = ["**"],
+        exclude = [
+            "BUILD",
+            "BUILD.bazel",
+            "WORKSPACE",
+            "WORKSPACE.bazel",
+        ],
+    ) + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    crate_features = [
+    ],
+    crate_root = "src/lib.rs",
+    data = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    edition = "2018",
+    proc_macro_deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_env = {
+    },
+    rustc_env_files = select_with_or({
+        "//conditions:default": [
+        ],
+    }),
+    rustc_flags = [
+        # In most cases, warnings in 3rd party crates are not interesting as
+        # they're out of the control of consumers. The flag here silences
+        # warnings. For more details see:
+        # https://doc.rust-lang.org/rustc/lints/levels.html
+        "--cap-lints=allow",
+    ],
+    tags = [
+        "cargo-bazel",
+        "manual",
+        "noclippy",
+        "norustfmt",
+    ],
+    version = "0.2.0",
+    deps = [
+    ] + select_with_or({
+        "//conditions:default": [
+            "@rules_rust_wasm_bindgen__leb128-0.2.5//:leb128",
+            "@rules_rust_wasm_bindgen__wit-schema-version-0.1.0//:wit_schema_version",
+        ],
+    }),
+)
diff --git a/wasm_bindgen/3rdparty/crates/crates.bzl b/wasm_bindgen/3rdparty/crates/crates.bzl
new file mode 100644
index 0000000..0ae804d
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/crates.bzl
@@ -0,0 +1,25 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//wasm_bindgen/3rdparty/crates:defs.bzl", _crate_repositories = "crate_repositories")
+
+def crate_repositories():
+    maybe(
+        crates_vendor_remote_repository,
+        name = "rules_rust_wasm_bindgen",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.bazel"),
+        defs_module = Label("@rules_rust//wasm_bindgen/3rdparty/crates:defs.bzl"),
+    )
+
+    _crate_repositories()
diff --git a/wasm_bindgen/3rdparty/crates/defs.bzl b/wasm_bindgen/3rdparty/crates/defs.bzl
new file mode 100644
index 0000000..6cdc8e3
--- /dev/null
+++ b/wasm_bindgen/3rdparty/crates/defs.bzl
@@ -0,0 +1,1924 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+#     bazel run //wasm_bindgen/3rdparty:crates_vendor
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+    """Flatten a list of dependency maps into one dictionary.
+
+    Dependency maps have the following structure:
+
+    ```python
+    DEPENDENCIES_MAP = {
+        # The first key in the map is a Bazel package
+        # name of the workspace this file is defined in.
+        "workspace_member_package": {
+
+            # Not all dependnecies are supported for all platforms.
+            # the condition key is the condition required to be true
+            # on the host platform.
+            "condition": {
+
+                # An alias to a crate target.     # The label of the crate target the
+                # Aliases are only crate names.   # package name refers to.
+                "package_name":                   "@full//:label",
+            }
+        }
+    }
+    ```
+
+    Args:
+        all_dependency_maps (list): A list of dicts as described above
+
+    Returns:
+        dict: A dictionary as described above
+    """
+    dependencies = {}
+
+    for workspace_deps_map in all_dependency_maps:
+        for pkg_name, conditional_deps_map in workspace_deps_map.items():
+            if pkg_name not in dependencies:
+                non_frozen_map = dict()
+                for key, values in conditional_deps_map.items():
+                    non_frozen_map.update({key: dict(values.items())})
+                dependencies.setdefault(pkg_name, non_frozen_map)
+                continue
+
+            for condition, deps_map in conditional_deps_map.items():
+                # If the condition has not been recorded, do so and continue
+                if condition not in dependencies[pkg_name]:
+                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+                    continue
+
+                # Alert on any miss-matched dependencies
+                inconsistent_entries = []
+                for crate_name, crate_label in deps_map.items():
+                    existing = dependencies[pkg_name][condition].get(crate_name)
+                    if existing and existing != crate_label:
+                        inconsistent_entries.append((crate_name, existing, crate_label))
+                    dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+    return dependencies
+
+def crate_deps(deps, package_name = None):
+    """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+    Args:
+        deps (list): The desired list of crate targets.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()`.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if not deps:
+        return []
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Join both sets of dependencies
+    dependencies = _flatten_dependency_maps([
+        _NORMAL_DEPENDENCIES,
+        _NORMAL_DEV_DEPENDENCIES,
+        _PROC_MACRO_DEPENDENCIES,
+        _PROC_MACRO_DEV_DEPENDENCIES,
+        _BUILD_DEPENDENCIES,
+        _BUILD_PROC_MACRO_DEPENDENCIES,
+    ]).pop(package_name, {})
+
+    # Combine all conditional packages so we can easily index over a flat list
+    # TODO: Perhaps this should actually return select statements and maintain
+    # the conditionals of the dependencies
+    flat_deps = {}
+    for deps_set in dependencies.values():
+        for crate_name, crate_label in deps_set.items():
+            flat_deps.update({crate_name: crate_label})
+
+    missing_crates = []
+    crate_targets = []
+    for crate_target in deps:
+        if crate_target not in flat_deps:
+            missing_crates.append(crate_target)
+        else:
+            crate_targets.append(flat_deps[crate_target])
+
+    if missing_crates:
+        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+            missing_crates,
+            package_name,
+            dependencies,
+        ))
+
+    return crate_targets
+
+def all_crate_deps(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Finds the fully qualified label of all requested direct crate dependencies \
+    for the package where this macro is called.
+
+    If no parameters are set, all normal dependencies are returned. Setting any one flag will
+    otherwise impact the contents of the returned list.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normla dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        list: A list of labels to generated rust targets (str)
+    """
+
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_dependency_maps = []
+    if normal:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+    if normal_dev:
+        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+    if proc_macro:
+        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+    if proc_macro_dev:
+        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+    if build:
+        all_dependency_maps.append(_BUILD_DEPENDENCIES)
+    if build_proc_macro:
+        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+    # Default to always using normal dependencies
+    if not all_dependency_maps:
+        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+    if not dependencies:
+        if dependencies == None:
+            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+        else:
+            return []
+
+    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+    for condition, deps in dependencies.items():
+        crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+    return crate_deps
+
+def aliases(
+        normal = False,
+        normal_dev = False,
+        proc_macro = False,
+        proc_macro_dev = False,
+        build = False,
+        build_proc_macro = False,
+        package_name = None):
+    """Produces a map of Crate alias names to their original label
+
+    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+    Setting any one flag will otherwise determine the contents of the returned dict.
+
+    Args:
+        normal (bool, optional): If True, normal dependencies are included in the
+            output list.
+        normal_dev (bool, optional): If True, normla dev dependencies will be
+            included in the output list..
+        proc_macro (bool, optional): If True, proc_macro dependencies are included
+            in the output list.
+        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+            included in the output list.
+        build (bool, optional): If True, build dependencies are included
+            in the output list.
+        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+            included in the output list.
+        package_name (str, optional): The package name of the set of dependencies to look up.
+            Defaults to `native.package_name()` when unset.
+
+    Returns:
+        dict: The aliases of all associated packages
+    """
+    if package_name == None:
+        package_name = native.package_name()
+
+    # Determine the relevant maps to use
+    all_aliases_maps = []
+    if normal:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+    if normal_dev:
+        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+    if proc_macro:
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+    if proc_macro_dev:
+        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+    if build:
+        all_aliases_maps.append(_BUILD_ALIASES)
+    if build_proc_macro:
+        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+    # Default to always using normal aliases
+    if not all_aliases_maps:
+        all_aliases_maps.append(_NORMAL_ALIASES)
+        all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+    if not aliases:
+        return dict()
+
+    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+    # If there are only common items in the dictionary, immediately return them
+    if not len(aliases.keys()) == 1:
+        return dict(common_items)
+
+    # Build a single select statement where each conditional has accounted for the
+    # common set of aliases.
+    crate_aliases = {"//conditions:default": common_items}
+    for condition, deps in aliases.items():
+        condition_triples = _CONDITIONS[condition]
+        if condition_triples in crate_aliases:
+            crate_aliases[condition_triples].update(deps)
+        else:
+            crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+    return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "anyhow": "@rules_rust_wasm_bindgen__anyhow-1.0.58//:anyhow",
+            "curl": "@rules_rust_wasm_bindgen__curl-0.4.43//:curl",
+            "docopt": "@rules_rust_wasm_bindgen__docopt-1.1.1//:docopt",
+            "env_logger": "@rules_rust_wasm_bindgen__env_logger-0.8.4//:env_logger",
+            "log": "@rules_rust_wasm_bindgen__log-0.4.17//:log",
+            "rouille": "@rules_rust_wasm_bindgen__rouille-3.5.0//:rouille",
+            "serde": "@rules_rust_wasm_bindgen__serde-1.0.139//:serde",
+            "serde_json": "@rules_rust_wasm_bindgen__serde_json-1.0.82//:serde_json",
+            "walrus": "@rules_rust_wasm_bindgen__walrus-0.19.0//:walrus",
+            "wasm-bindgen": "@rules_rust_wasm_bindgen__wasm-bindgen-0.2.81//:wasm_bindgen",
+            "wasm-bindgen-cli-support": "@rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.81//:wasm_bindgen_cli_support",
+            "wasm-bindgen-shared": "@rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81//:wasm_bindgen_shared",
+        },
+    },
+}
+
+_NORMAL_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "assert_cmd": "@rules_rust_wasm_bindgen__assert_cmd-1.0.8//:assert_cmd",
+            "diff": "@rules_rust_wasm_bindgen__diff-0.1.13//:diff",
+            "predicates": "@rules_rust_wasm_bindgen__predicates-1.0.8//:predicates",
+            "rayon": "@rules_rust_wasm_bindgen__rayon-1.5.3//:rayon",
+            "tempfile": "@rules_rust_wasm_bindgen__tempfile-3.3.0//:tempfile",
+            "wasmprinter": "@rules_rust_wasm_bindgen__wasmprinter-0.2.33//:wasmprinter",
+            "wit-printer": "@rules_rust_wasm_bindgen__wit-printer-0.2.0//:wit_printer",
+            "wit-text": "@rules_rust_wasm_bindgen__wit-text-0.8.0//:wit_text",
+            "wit-validator": "@rules_rust_wasm_bindgen__wit-validator-0.2.1//:wit_validator",
+            "wit-walrus": "@rules_rust_wasm_bindgen__wit-walrus-0.6.0//:wit_walrus",
+        },
+    },
+}
+
+_NORMAL_DEV_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+    "": {
+        _COMMON_CONDITION: {
+            "serde_derive": "@rules_rust_wasm_bindgen__serde_derive-1.0.139//:serde_derive",
+        },
+    },
+}
+
+_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+    "": {
+        _COMMON_CONDITION: {
+        },
+    },
+}
+
+_BUILD_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_ALIASES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+    "": {
+    },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+    "": {
+    },
+}
+
+_CONDITIONS = {
+    "aarch64-pc-windows-msvc": [],
+    "aarch64-uwp-windows-msvc": [],
+    "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
+    "cfg(all(unix, not(target_os = \"macos\")))": ["aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(any(target_os = \"macos\", target_os = \"ios\", target_os = \"freebsd\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "i686-apple-darwin", "i686-unknown-freebsd", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-unknown-freebsd"],
+    "cfg(any(unix, target_os = \"wasi\"))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(not(windows))": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "riscv32imc-unknown-none-elf", "s390x-unknown-linux-gnu", "wasm32-unknown-unknown", "wasm32-wasi", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(target_arch = \"wasm32\")": ["wasm32-unknown-unknown", "wasm32-wasi"],
+    "cfg(target_env = \"msvc\")": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "cfg(target_family = \"unix\")": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(target_os = \"hermit\")": [],
+    "cfg(target_os = \"redox\")": [],
+    "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
+    "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+    "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+    "i686-pc-windows-gnu": [],
+    "i686-pc-windows-msvc": ["i686-pc-windows-msvc"],
+    "i686-uwp-windows-gnu": [],
+    "i686-uwp-windows-msvc": [],
+    "x86_64-pc-windows-gnu": [],
+    "x86_64-pc-windows-msvc": ["x86_64-pc-windows-msvc"],
+    "x86_64-uwp-windows-gnu": [],
+    "x86_64-uwp-windows-msvc": [],
+}
+
+###############################################################################
+
+def crate_repositories():
+    """A macro for defining repositories for all generated crates"""
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__aho-corasick-0.7.18",
+        sha256 = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/aho-corasick/0.7.18/download"],
+        strip_prefix = "aho-corasick-0.7.18",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.aho-corasick-0.7.18.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__anyhow-1.0.58",
+        sha256 = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.58/download"],
+        strip_prefix = "anyhow-1.0.58",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.anyhow-1.0.58.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__ascii-1.0.0",
+        sha256 = "bbf56136a5198c7b01a49e3afcbef6cf84597273d298f54432926024107b0109",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/ascii/1.0.0/download"],
+        strip_prefix = "ascii-1.0.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.ascii-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__assert_cmd-1.0.8",
+        sha256 = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/assert_cmd/1.0.8/download"],
+        strip_prefix = "assert_cmd-1.0.8",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.assert_cmd-1.0.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__atty-0.2.14",
+        sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/atty/0.2.14/download"],
+        strip_prefix = "atty-0.2.14",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.atty-0.2.14.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__autocfg-1.1.0",
+        sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
+        strip_prefix = "autocfg-1.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.autocfg-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__base64-0.13.0",
+        sha256 = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/base64/0.13.0/download"],
+        strip_prefix = "base64-0.13.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.base64-0.13.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__base64-0.9.3",
+        sha256 = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/base64/0.9.3/download"],
+        strip_prefix = "base64-0.9.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.base64-0.9.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__bitflags-1.3.2",
+        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
+        strip_prefix = "bitflags-1.3.2",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__bstr-0.2.17",
+        sha256 = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bstr/0.2.17/download"],
+        strip_prefix = "bstr-0.2.17",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.bstr-0.2.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__buf_redux-0.8.4",
+        sha256 = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/buf_redux/0.8.4/download"],
+        strip_prefix = "buf_redux-0.8.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.buf_redux-0.8.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__bumpalo-3.10.0",
+        sha256 = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/bumpalo/3.10.0/download"],
+        strip_prefix = "bumpalo-3.10.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.bumpalo-3.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__byteorder-1.4.3",
+        sha256 = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/byteorder/1.4.3/download"],
+        strip_prefix = "byteorder-1.4.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.byteorder-1.4.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__cc-1.0.73",
+        sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cc/1.0.73/download"],
+        strip_prefix = "cc-1.0.73",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.cc-1.0.73.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__cfg-if-1.0.0",
+        sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
+        strip_prefix = "cfg-if-1.0.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__chrono-0.4.19",
+        sha256 = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/chrono/0.4.19/download"],
+        strip_prefix = "chrono-0.4.19",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.chrono-0.4.19.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__chunked_transfer-1.4.0",
+        sha256 = "fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/chunked_transfer/1.4.0/download"],
+        strip_prefix = "chunked_transfer-1.4.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.chunked_transfer-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__crossbeam-channel-0.5.5",
+        sha256 = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-channel/0.5.5/download"],
+        strip_prefix = "crossbeam-channel-0.5.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-channel-0.5.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__crossbeam-deque-0.8.1",
+        sha256 = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-deque/0.8.1/download"],
+        strip_prefix = "crossbeam-deque-0.8.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-deque-0.8.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__crossbeam-epoch-0.9.9",
+        sha256 = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-epoch/0.9.9/download"],
+        strip_prefix = "crossbeam-epoch-0.9.9",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-epoch-0.9.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__crossbeam-utils-0.8.10",
+        sha256 = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/crossbeam-utils/0.8.10/download"],
+        strip_prefix = "crossbeam-utils-0.8.10",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.crossbeam-utils-0.8.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__curl-0.4.43",
+        sha256 = "37d855aeef205b43f65a5001e0997d81f8efca7badad4fad7d897aa7f0d0651f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/curl/0.4.43/download"],
+        strip_prefix = "curl-0.4.43",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.curl-0.4.43.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__curl-sys-0.4.55-curl-7.83.1",
+        sha256 = "23734ec77368ec583c2e61dd3f0b0e5c98b93abe6d2a004ca06b91dd7e3e2762",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/curl-sys/0.4.55+curl-7.83.1/download"],
+        strip_prefix = "curl-sys-0.4.55+curl-7.83.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.curl-sys-0.4.55+curl-7.83.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__diff-0.1.13",
+        sha256 = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/diff/0.1.13/download"],
+        strip_prefix = "diff-0.1.13",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.diff-0.1.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__difference-2.0.0",
+        sha256 = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/difference/2.0.0/download"],
+        strip_prefix = "difference-2.0.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.difference-2.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__difflib-0.4.0",
+        sha256 = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/difflib/0.4.0/download"],
+        strip_prefix = "difflib-0.4.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.difflib-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__doc-comment-0.3.3",
+        sha256 = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/doc-comment/0.3.3/download"],
+        strip_prefix = "doc-comment-0.3.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.doc-comment-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__docopt-1.1.1",
+        sha256 = "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/docopt/1.1.1/download"],
+        strip_prefix = "docopt-1.1.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.docopt-1.1.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__either-1.7.0",
+        sha256 = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/either/1.7.0/download"],
+        strip_prefix = "either-1.7.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.either-1.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__env_logger-0.8.4",
+        sha256 = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/env_logger/0.8.4/download"],
+        strip_prefix = "env_logger-0.8.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.env_logger-0.8.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__fastrand-1.7.0",
+        sha256 = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/fastrand/1.7.0/download"],
+        strip_prefix = "fastrand-1.7.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.fastrand-1.7.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__filetime-0.2.17",
+        sha256 = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/filetime/0.2.17/download"],
+        strip_prefix = "filetime-0.2.17",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.filetime-0.2.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__float-cmp-0.8.0",
+        sha256 = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/float-cmp/0.8.0/download"],
+        strip_prefix = "float-cmp-0.8.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.float-cmp-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__form_urlencoded-1.0.1",
+        sha256 = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download"],
+        strip_prefix = "form_urlencoded-1.0.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.form_urlencoded-1.0.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__getrandom-0.2.7",
+        sha256 = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.7/download"],
+        strip_prefix = "getrandom-0.2.7",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.getrandom-0.2.7.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__heck-0.3.3",
+        sha256 = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/heck/0.3.3/download"],
+        strip_prefix = "heck-0.3.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.heck-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__hermit-abi-0.1.19",
+        sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
+        strip_prefix = "hermit-abi-0.1.19",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.hermit-abi-0.1.19.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__httparse-1.7.1",
+        sha256 = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/httparse/1.7.1/download"],
+        strip_prefix = "httparse-1.7.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.httparse-1.7.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__humantime-2.1.0",
+        sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/humantime/2.1.0/download"],
+        strip_prefix = "humantime-2.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.humantime-2.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__id-arena-2.2.1",
+        sha256 = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/id-arena/2.2.1/download"],
+        strip_prefix = "id-arena-2.2.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.id-arena-2.2.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__idna-0.2.3",
+        sha256 = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/idna/0.2.3/download"],
+        strip_prefix = "idna-0.2.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.idna-0.2.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__instant-0.1.12",
+        sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/instant/0.1.12/download"],
+        strip_prefix = "instant-0.1.12",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.instant-0.1.12.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__itertools-0.10.3",
+        sha256 = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/itertools/0.10.3/download"],
+        strip_prefix = "itertools-0.10.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.itertools-0.10.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__itoa-1.0.2",
+        sha256 = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/itoa/1.0.2/download"],
+        strip_prefix = "itoa-1.0.2",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.itoa-1.0.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__lazy_static-1.4.0",
+        sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
+        strip_prefix = "lazy_static-1.4.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__leb128-0.2.5",
+        sha256 = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/leb128/0.2.5/download"],
+        strip_prefix = "leb128-0.2.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.leb128-0.2.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__libc-0.2.126",
+        sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
+        strip_prefix = "libc-0.2.126",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__libz-sys-1.1.8",
+        sha256 = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/libz-sys/1.1.8/download"],
+        strip_prefix = "libz-sys-1.1.8",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.libz-sys-1.1.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__log-0.4.17",
+        sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+        strip_prefix = "log-0.4.17",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.log-0.4.17.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__matches-0.1.9",
+        sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/matches/0.1.9/download"],
+        strip_prefix = "matches-0.1.9",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.matches-0.1.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__memchr-2.5.0",
+        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
+        strip_prefix = "memchr-2.5.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__memoffset-0.6.5",
+        sha256 = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/memoffset/0.6.5/download"],
+        strip_prefix = "memoffset-0.6.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.memoffset-0.6.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__mime-0.3.16",
+        sha256 = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mime/0.3.16/download"],
+        strip_prefix = "mime-0.3.16",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.mime-0.3.16.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__mime_guess-2.0.4",
+        sha256 = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/mime_guess/2.0.4/download"],
+        strip_prefix = "mime_guess-2.0.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.mime_guess-2.0.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__multipart-0.18.0",
+        sha256 = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/multipart/0.18.0/download"],
+        strip_prefix = "multipart-0.18.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.multipart-0.18.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__normalize-line-endings-0.3.0",
+        sha256 = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/normalize-line-endings/0.3.0/download"],
+        strip_prefix = "normalize-line-endings-0.3.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.normalize-line-endings-0.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__num-integer-0.1.45",
+        sha256 = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num-integer/0.1.45/download"],
+        strip_prefix = "num-integer-0.1.45",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.num-integer-0.1.45.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__num-traits-0.2.15",
+        sha256 = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num-traits/0.2.15/download"],
+        strip_prefix = "num-traits-0.2.15",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.num-traits-0.2.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__num_cpus-1.13.1",
+        sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_cpus/1.13.1/download"],
+        strip_prefix = "num_cpus-1.13.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.num_cpus-1.13.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__num_threads-0.1.6",
+        sha256 = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/num_threads/0.1.6/download"],
+        strip_prefix = "num_threads-0.1.6",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.num_threads-0.1.6.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__once_cell-1.13.0",
+        sha256 = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/once_cell/1.13.0/download"],
+        strip_prefix = "once_cell-1.13.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.once_cell-1.13.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__openssl-probe-0.1.5",
+        sha256 = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/openssl-probe/0.1.5/download"],
+        strip_prefix = "openssl-probe-0.1.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.openssl-probe-0.1.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__openssl-sys-0.9.75",
+        sha256 = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/openssl-sys/0.9.75/download"],
+        strip_prefix = "openssl-sys-0.9.75",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.openssl-sys-0.9.75.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__percent-encoding-2.1.0",
+        sha256 = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.1.0/download"],
+        strip_prefix = "percent-encoding-2.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.percent-encoding-2.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__pkg-config-0.3.25",
+        sha256 = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/pkg-config/0.3.25/download"],
+        strip_prefix = "pkg-config-0.3.25",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.pkg-config-0.3.25.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__ppv-lite86-0.2.16",
+        sha256 = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download"],
+        strip_prefix = "ppv-lite86-0.2.16",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.ppv-lite86-0.2.16.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__predicates-1.0.8",
+        sha256 = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/predicates/1.0.8/download"],
+        strip_prefix = "predicates-1.0.8",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.predicates-1.0.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__predicates-2.1.1",
+        sha256 = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/predicates/2.1.1/download"],
+        strip_prefix = "predicates-2.1.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.predicates-2.1.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__predicates-core-1.0.3",
+        sha256 = "da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/predicates-core/1.0.3/download"],
+        strip_prefix = "predicates-core-1.0.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.predicates-core-1.0.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__predicates-tree-1.0.5",
+        sha256 = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/predicates-tree/1.0.5/download"],
+        strip_prefix = "predicates-tree-1.0.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.predicates-tree-1.0.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__proc-macro2-1.0.40",
+        sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.40/download"],
+        strip_prefix = "proc-macro2-1.0.40",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.proc-macro2-1.0.40.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__quick-error-1.2.3",
+        sha256 = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/quick-error/1.2.3/download"],
+        strip_prefix = "quick-error-1.2.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.quick-error-1.2.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__quote-1.0.20",
+        sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/quote/1.0.20/download"],
+        strip_prefix = "quote-1.0.20",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.quote-1.0.20.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rand-0.8.5",
+        sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rand/0.8.5/download"],
+        strip_prefix = "rand-0.8.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rand-0.8.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rand_chacha-0.3.1",
+        sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rand_chacha/0.3.1/download"],
+        strip_prefix = "rand_chacha-0.3.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rand_chacha-0.3.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rand_core-0.6.3",
+        sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rand_core/0.6.3/download"],
+        strip_prefix = "rand_core-0.6.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rand_core-0.6.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rayon-1.5.3",
+        sha256 = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rayon/1.5.3/download"],
+        strip_prefix = "rayon-1.5.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rayon-1.5.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rayon-core-1.9.3",
+        sha256 = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rayon-core/1.9.3/download"],
+        strip_prefix = "rayon-core-1.9.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rayon-core-1.9.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__redox_syscall-0.2.13",
+        sha256 = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.2.13/download"],
+        strip_prefix = "redox_syscall-0.2.13",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.redox_syscall-0.2.13.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__regex-1.6.0",
+        sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/regex/1.6.0/download"],
+        strip_prefix = "regex-1.6.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.regex-1.6.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__regex-automata-0.1.10",
+        sha256 = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/regex-automata/0.1.10/download"],
+        strip_prefix = "regex-automata-0.1.10",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.regex-automata-0.1.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__regex-syntax-0.6.27",
+        sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.27/download"],
+        strip_prefix = "regex-syntax-0.6.27",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.regex-syntax-0.6.27.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__remove_dir_all-0.5.3",
+        sha256 = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download"],
+        strip_prefix = "remove_dir_all-0.5.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.remove_dir_all-0.5.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rouille-3.5.0",
+        sha256 = "18b2380c42510ef4a28b5f228a174c801e0dec590103e215e60812e2e2f34d05",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rouille/3.5.0/download"],
+        strip_prefix = "rouille-3.5.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rouille-3.5.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__rustc-demangle-0.1.21",
+        sha256 = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download"],
+        strip_prefix = "rustc-demangle-0.1.21",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.rustc-demangle-0.1.21.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__ryu-1.0.10",
+        sha256 = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/ryu/1.0.10/download"],
+        strip_prefix = "ryu-1.0.10",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.ryu-1.0.10.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__safemem-0.3.3",
+        sha256 = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/safemem/0.3.3/download"],
+        strip_prefix = "safemem-0.3.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.safemem-0.3.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__schannel-0.1.20",
+        sha256 = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/schannel/0.1.20/download"],
+        strip_prefix = "schannel-0.1.20",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.schannel-0.1.20.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__scopeguard-1.1.0",
+        sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/scopeguard/1.1.0/download"],
+        strip_prefix = "scopeguard-1.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.scopeguard-1.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__serde-1.0.139",
+        sha256 = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde/1.0.139/download"],
+        strip_prefix = "serde-1.0.139",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.serde-1.0.139.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__serde_derive-1.0.139",
+        sha256 = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.139/download"],
+        strip_prefix = "serde_derive-1.0.139",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.serde_derive-1.0.139.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__serde_json-1.0.82",
+        sha256 = "82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.82/download"],
+        strip_prefix = "serde_json-1.0.82",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.serde_json-1.0.82.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__sha1-0.6.1",
+        sha256 = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sha1/0.6.1/download"],
+        strip_prefix = "sha1-0.6.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.sha1-0.6.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__sha1_smol-1.0.0",
+        sha256 = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/sha1_smol/1.0.0/download"],
+        strip_prefix = "sha1_smol-1.0.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.sha1_smol-1.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__socket2-0.4.4",
+        sha256 = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/socket2/0.4.4/download"],
+        strip_prefix = "socket2-0.4.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.socket2-0.4.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__strsim-0.10.0",
+        sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/strsim/0.10.0/download"],
+        strip_prefix = "strsim-0.10.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.strsim-0.10.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__syn-1.0.98",
+        sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/syn/1.0.98/download"],
+        strip_prefix = "syn-1.0.98",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.syn-1.0.98.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__tempfile-3.3.0",
+        sha256 = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tempfile/3.3.0/download"],
+        strip_prefix = "tempfile-3.3.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.tempfile-3.3.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__termcolor-1.1.3",
+        sha256 = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/termcolor/1.1.3/download"],
+        strip_prefix = "termcolor-1.1.3",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.termcolor-1.1.3.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__termtree-0.2.4",
+        sha256 = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/termtree/0.2.4/download"],
+        strip_prefix = "termtree-0.2.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.termtree-0.2.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__threadpool-1.8.1",
+        sha256 = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/threadpool/1.8.1/download"],
+        strip_prefix = "threadpool-1.8.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.threadpool-1.8.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__time-0.3.11",
+        sha256 = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/time/0.3.11/download"],
+        strip_prefix = "time-0.3.11",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.time-0.3.11.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__tiny_http-0.8.2",
+        sha256 = "9ce51b50006056f590c9b7c3808c3bd70f0d1101666629713866c227d6e58d39",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tiny_http/0.8.2/download"],
+        strip_prefix = "tiny_http-0.8.2",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.tiny_http-0.8.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__tinyvec-1.6.0",
+        sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tinyvec/1.6.0/download"],
+        strip_prefix = "tinyvec-1.6.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.tinyvec-1.6.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__tinyvec_macros-0.1.0",
+        sha256 = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download"],
+        strip_prefix = "tinyvec_macros-0.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.tinyvec_macros-0.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__twoway-0.1.8",
+        sha256 = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/twoway/0.1.8/download"],
+        strip_prefix = "twoway-0.1.8",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.twoway-0.1.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__unicase-2.6.0",
+        sha256 = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicase/2.6.0/download"],
+        strip_prefix = "unicase-2.6.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.unicase-2.6.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__unicode-bidi-0.3.8",
+        sha256 = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download"],
+        strip_prefix = "unicode-bidi-0.3.8",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.unicode-bidi-0.3.8.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__unicode-ident-1.0.1",
+        sha256 = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.1/download"],
+        strip_prefix = "unicode-ident-1.0.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.unicode-ident-1.0.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__unicode-normalization-0.1.21",
+        sha256 = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.21/download"],
+        strip_prefix = "unicode-normalization-0.1.21",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.unicode-normalization-0.1.21.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__unicode-segmentation-1.9.0",
+        sha256 = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/unicode-segmentation/1.9.0/download"],
+        strip_prefix = "unicode-segmentation-1.9.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.unicode-segmentation-1.9.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__url-2.2.2",
+        sha256 = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/url/2.2.2/download"],
+        strip_prefix = "url-2.2.2",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.url-2.2.2.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__vcpkg-0.2.15",
+        sha256 = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/vcpkg/0.2.15/download"],
+        strip_prefix = "vcpkg-0.2.15",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.vcpkg-0.2.15.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__version_check-0.9.4",
+        sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/version_check/0.9.4/download"],
+        strip_prefix = "version_check-0.9.4",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.version_check-0.9.4.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wait-timeout-0.2.0",
+        sha256 = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wait-timeout/0.2.0/download"],
+        strip_prefix = "wait-timeout-0.2.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wait-timeout-0.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__walrus-0.19.0",
+        sha256 = "4eb08e48cde54c05f363d984bb54ce374f49e242def9468d2e1b6c2372d291f8",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/walrus/0.19.0/download"],
+        strip_prefix = "walrus-0.19.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.walrus-0.19.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__walrus-macro-0.19.0",
+        sha256 = "0a6e5bd22c71e77d60140b0bd5be56155a37e5bd14e24f5f87298040d0cc40d7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/walrus-macro/0.19.0/download"],
+        strip_prefix = "walrus-macro-0.19.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.walrus-macro-0.19.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasi-0.11.0-wasi-snapshot-preview1",
+        sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+        strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-0.2.81",
+        sha256 = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-backend-0.2.81",
+        sha256 = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-backend-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-backend-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-cli-support-0.2.81",
+        sha256 = "4016fbd42224de21aab2f009aeaec61067d278a298ba7f8f7f8d40fbffea0822",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-cli-support/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-cli-support-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-cli-support-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-externref-xform-0.2.81",
+        sha256 = "f33c8e2d3f3b6f6647f982911eb4cb44998c8cca97a4fe7afc99f616ebb33a73",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-externref-xform/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-externref-xform-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-externref-xform-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-macro-0.2.81",
+        sha256 = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-macro-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-macro-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-macro-support-0.2.81",
+        sha256 = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-macro-support-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-macro-support-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-multi-value-xform-0.2.81",
+        sha256 = "7015b54357604811162710d5cf274ab85d974fe1e324222dd5b2133afdefe9b9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-multi-value-xform/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-multi-value-xform-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-multi-value-xform-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-shared-0.2.81",
+        sha256 = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-shared-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-shared-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-threads-xform-0.2.81",
+        sha256 = "6961b838d9a9c121ba4a1eea1628014cc759469e3defb42bbac9c5ed0f65be14",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-threads-xform/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-threads-xform-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-threads-xform-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-wasm-conventions-0.2.81",
+        sha256 = "c0a0eca38fe89471f57d6903f3e17e732d2d6f995a7af5b23f27df7fee0f0d18",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-wasm-conventions/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-wasm-conventions-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-wasm-conventions-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasm-bindgen-wasm-interpreter-0.2.81",
+        sha256 = "0b1c9fb7f71137840932bbb853ef1f83d68c88584b716c9bbae38675c9fb8b86",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasm-bindgen-wasm-interpreter/0.2.81/download"],
+        strip_prefix = "wasm-bindgen-wasm-interpreter-0.2.81",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasm-bindgen-wasm-interpreter-0.2.81.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasmparser-0.59.0",
+        sha256 = "a950e6a618f62147fd514ff445b2a0b53120d382751960797f85f058c7eda9b9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasmparser/0.59.0/download"],
+        strip_prefix = "wasmparser-0.59.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.59.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasmparser-0.77.0",
+        sha256 = "b35c86d22e720a07d954ebbed772d01180501afe7d03d464f413bb5f8914a8d6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasmparser/0.77.0/download"],
+        strip_prefix = "wasmparser-0.77.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.77.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasmparser-0.83.0",
+        sha256 = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasmparser/0.83.0/download"],
+        strip_prefix = "wasmparser-0.83.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasmparser-0.83.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wasmprinter-0.2.33",
+        sha256 = "f973822fb3ca7e03ab421910274514b405df19a3d53acb131ae4df3a2fc4eb58",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wasmprinter/0.2.33/download"],
+        strip_prefix = "wasmprinter-0.2.33",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wasmprinter-0.2.33.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wast-21.0.0",
+        sha256 = "0b1844f66a2bc8526d71690104c0e78a8e59ffa1597b7245769d174ebb91deb5",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wast/21.0.0/download"],
+        strip_prefix = "wast-21.0.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wast-21.0.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__winapi-0.3.9",
+        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
+        strip_prefix = "winapi-0.3.9",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__winapi-i686-pc-windows-gnu-0.4.0",
+        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__winapi-util-0.1.5",
+        sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.5/download"],
+        strip_prefix = "winapi-util-0.1.5",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__winapi-x86_64-pc-windows-gnu-0.4.0",
+        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
+        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows-sys-0.36.1",
+        sha256 = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows-sys/0.36.1/download"],
+        strip_prefix = "windows-sys-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows-sys-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows_aarch64_msvc-0.36.1",
+        sha256 = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download"],
+        strip_prefix = "windows_aarch64_msvc-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows_aarch64_msvc-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows_i686_gnu-0.36.1",
+        sha256 = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download"],
+        strip_prefix = "windows_i686_gnu-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows_i686_gnu-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows_i686_msvc-0.36.1",
+        sha256 = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download"],
+        strip_prefix = "windows_i686_msvc-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows_i686_msvc-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows_x86_64_gnu-0.36.1",
+        sha256 = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download"],
+        strip_prefix = "windows_x86_64_gnu-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows_x86_64_gnu-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__windows_x86_64_msvc-0.36.1",
+        sha256 = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download"],
+        strip_prefix = "windows_x86_64_msvc-0.36.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.windows_x86_64_msvc-0.36.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-parser-0.2.0",
+        sha256 = "3f5fd97866f4b9c8e1ed57bcf9446f3d0d8ba37e2dd01c3c612c046c053b06f7",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-parser/0.2.0/download"],
+        strip_prefix = "wit-parser-0.2.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-parser-0.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-printer-0.2.0",
+        sha256 = "93f19ca44555a3c14d69acee6447a6e4f52771b0c6e5d8db3e42db3b90f6fce9",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-printer/0.2.0/download"],
+        strip_prefix = "wit-printer-0.2.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-printer-0.2.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-schema-version-0.1.0",
+        sha256 = "bfee4a6a4716eefa0682e7a3b836152e894a3e4f34a9d6c2c3e1c94429bfe36a",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-schema-version/0.1.0/download"],
+        strip_prefix = "wit-schema-version-0.1.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-schema-version-0.1.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-text-0.8.0",
+        sha256 = "33358e95c77d660f1c7c07f4a93c2bd89768965e844e3c50730bb4b42658df5f",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-text/0.8.0/download"],
+        strip_prefix = "wit-text-0.8.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-text-0.8.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-validator-0.2.1",
+        sha256 = "3c11d93d925420e7872b226c4161849c32be38385ccab026b88df99d8ddc6ba6",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-validator/0.2.1/download"],
+        strip_prefix = "wit-validator-0.2.1",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-validator-0.2.1.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-walrus-0.6.0",
+        sha256 = "ad559e3e4c6404b2a6a675d44129d62a3836e3b951b90112fa1c5feb852757cd",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-walrus/0.6.0/download"],
+        strip_prefix = "wit-walrus-0.6.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-walrus-0.6.0.bazel"),
+    )
+
+    maybe(
+        http_archive,
+        name = "rules_rust_wasm_bindgen__wit-writer-0.2.0",
+        sha256 = "c2ad01ba5e9cbcff799a0689e56a153776ea694cec777f605938cb9880d41a09",
+        type = "tar.gz",
+        urls = ["https://crates.io/api/v1/crates/wit-writer/0.2.0/download"],
+        strip_prefix = "wit-writer-0.2.0",
+        build_file = Label("@rules_rust//wasm_bindgen/3rdparty/crates:BUILD.wit-writer-0.2.0.bazel"),
+    )