###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run @//proto/prost/private/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 dependencies 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, normal 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({
            tuple(_CONDITIONS[condition]): deps.values(),
            "//conditions:default": [],
        })

    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, normal 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": dict(common_items)}
    for condition, deps in aliases.items():
        condition_triples = _CONDITIONS[condition]
        for triple in condition_triples:
            if triple in crate_aliases:
                crate_aliases[triple].update(deps)
            else:
                crate_aliases.update({triple: dict(deps.items() + common_items)})

    return select(crate_aliases)

###############################################################################
# WORKSPACE MEMBER DEPS AND ALIASES
###############################################################################

_NORMAL_DEPENDENCIES = {
    "": {
        _COMMON_CONDITION: {
            "h2": "@rules_rust_prost__h2-0.3.19//:h2",
            "prost": "@rules_rust_prost__prost-0.11.9//:prost",
            "prost-types": "@rules_rust_prost__prost-types-0.11.9//:prost_types",
            "protoc-gen-prost": "@rules_rust_prost__protoc-gen-prost-0.2.2//:protoc_gen_prost",
            "protoc-gen-tonic": "@rules_rust_prost__protoc-gen-tonic-0.2.2//:protoc_gen_tonic",
            "tokio": "@rules_rust_prost__tokio-1.28.2//:tokio",
            "tokio-stream": "@rules_rust_prost__tokio-stream-0.1.14//:tokio_stream",
            "tonic": "@rules_rust_prost__tonic-0.9.2//:tonic",
        },
    },
}

_NORMAL_ALIASES = {
    "": {
        _COMMON_CONDITION: {
        },
    },
}

_NORMAL_DEV_DEPENDENCIES = {
    "": {
    },
}

_NORMAL_DEV_ALIASES = {
    "": {
    },
}

_PROC_MACRO_DEPENDENCIES = {
    "": {
    },
}

_PROC_MACRO_ALIASES = {
    "": {
    },
}

_PROC_MACRO_DEV_DEPENDENCIES = {
    "": {
    },
}

_PROC_MACRO_DEV_ALIASES = {
    "": {
    },
}

_BUILD_DEPENDENCIES = {
    "": {
    },
}

_BUILD_ALIASES = {
    "": {
    },
}

_BUILD_PROC_MACRO_DEPENDENCIES = {
    "": {
    },
}

_BUILD_PROC_MACRO_ALIASES = {
    "": {
    },
}

_CONDITIONS = {
    "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"],
    "aarch64-apple-ios": ["@rules_rust//rust/platform:aarch64-apple-ios"],
    "aarch64-apple-ios-sim": ["@rules_rust//rust/platform:aarch64-apple-ios-sim"],
    "aarch64-fuchsia": ["@rules_rust//rust/platform:aarch64-fuchsia"],
    "aarch64-linux-android": ["@rules_rust//rust/platform:aarch64-linux-android"],
    "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
    "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"],
    "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
    "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
    "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
    "cfg(all(any(target_arch = \"x86_64\", target_arch = \"aarch64\"), target_os = \"hermit\"))": [],
    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-linux-android", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-linux-android"],
    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@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-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:armv7-linux-androideabi", "@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:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:riscv32imc-unknown-none-elf", "@rules_rust//rust/platform:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@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-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-none"],
    "cfg(all(target_arch = \"aarch64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
    "cfg(all(target_arch = \"wasm32\", not(target_os = \"wasi\")))": ["@rules_rust//rust/platform:wasm32-unknown-unknown"],
    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", target_abi = \"llvm\", not(windows_raw_dylib)))": [],
    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
    "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-fuchsia", "@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-fuchsia", "@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"],
    "cfg(docsrs)": [],
    "cfg(not(any(target_arch = \"wasm32\", target_arch = \"wasm64\")))": ["@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-fuchsia", "@rules_rust//rust/platform:aarch64-linux-android", "@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@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-pc-windows-msvc", "@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:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-apple-ios", "@rules_rust//rust/platform:x86_64-fuchsia", "@rules_rust//rust/platform:x86_64-linux-android", "@rules_rust//rust/platform:x86_64-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-none"],
    "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-fuchsia", "@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:riscv64gc-unknown-none-elf", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:thumbv7em-none-eabi", "@rules_rust//rust/platform:thumbv8m.main-none-eabi", "@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-fuchsia", "@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", "@rules_rust//rust/platform:x86_64-unknown-none"],
    "cfg(target_os = \"dragonfly\")": [],
    "cfg(target_os = \"hermit\")": [],
    "cfg(target_os = \"redox\")": [],
    "cfg(target_os = \"wasi\")": ["@rules_rust//rust/platform:wasm32-wasi"],
    "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-fuchsia", "@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-fuchsia", "@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"],
    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
    "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"],
    "i686-linux-android": ["@rules_rust//rust/platform:i686-linux-android"],
    "i686-pc-windows-gnu": [],
    "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
    "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"],
    "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
    "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"],
    "riscv32imc-unknown-none-elf": ["@rules_rust//rust/platform:riscv32imc-unknown-none-elf"],
    "riscv64gc-unknown-none-elf": ["@rules_rust//rust/platform:riscv64gc-unknown-none-elf"],
    "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"],
    "thumbv7em-none-eabi": ["@rules_rust//rust/platform:thumbv7em-none-eabi"],
    "thumbv8m.main-none-eabi": ["@rules_rust//rust/platform:thumbv8m.main-none-eabi"],
    "wasm32-unknown-unknown": ["@rules_rust//rust/platform:wasm32-unknown-unknown"],
    "wasm32-wasi": ["@rules_rust//rust/platform:wasm32-wasi"],
    "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"],
    "x86_64-apple-ios": ["@rules_rust//rust/platform:x86_64-apple-ios"],
    "x86_64-fuchsia": ["@rules_rust//rust/platform:x86_64-fuchsia"],
    "x86_64-linux-android": ["@rules_rust//rust/platform:x86_64-linux-android"],
    "x86_64-pc-windows-gnu": [],
    "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
    "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"],
    "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
    "x86_64-unknown-none": ["@rules_rust//rust/platform:x86_64-unknown-none"],
}

###############################################################################

def crate_repositories():
    """A macro for defining repositories for all generated crates.

    Returns:
      A list of repos visible to the module through the module extension.
    """
    maybe(
        http_archive,
        name = "rules_rust_prost__anyhow-1.0.71",
        sha256 = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.71/download"],
        strip_prefix = "anyhow-1.0.71",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.anyhow-1.0.71.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__async-trait-0.1.68",
        sha256 = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/async-trait/0.1.68/download"],
        strip_prefix = "async-trait-0.1.68",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.async-trait-0.1.68.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.autocfg-1.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__axum-0.6.18",
        sha256 = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/axum/0.6.18/download"],
        strip_prefix = "axum-0.6.18",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.axum-0.6.18.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__axum-core-0.3.4",
        sha256 = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/axum-core/0.3.4/download"],
        strip_prefix = "axum-core-0.3.4",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.axum-core-0.3.4.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__base64-0.21.2",
        sha256 = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/base64/0.21.2/download"],
        strip_prefix = "base64-0.21.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.base64-0.21.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__bytes-1.4.0",
        sha256 = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/bytes/1.4.0/download"],
        strip_prefix = "bytes-1.4.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.bytes-1.4.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__cc-1.0.79",
        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/cc/1.0.79/download"],
        strip_prefix = "cc-1.0.79",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.cc-1.0.79.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__either-1.8.1",
        sha256 = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/either/1.8.1/download"],
        strip_prefix = "either-1.8.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.either-1.8.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__errno-0.3.1",
        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/errno/0.3.1/download"],
        strip_prefix = "errno-0.3.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.errno-0.3.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__errno-dragonfly-0.1.2",
        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download"],
        strip_prefix = "errno-dragonfly-0.1.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__fastrand-1.9.0",
        sha256 = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/fastrand/1.9.0/download"],
        strip_prefix = "fastrand-1.9.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.fastrand-1.9.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__fixedbitset-0.4.2",
        sha256 = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/fixedbitset/0.4.2/download"],
        strip_prefix = "fixedbitset-0.4.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.fixedbitset-0.4.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__fnv-1.0.7",
        sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/fnv/1.0.7/download"],
        strip_prefix = "fnv-1.0.7",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.fnv-1.0.7.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__futures-channel-0.3.28",
        sha256 = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/futures-channel/0.3.28/download"],
        strip_prefix = "futures-channel-0.3.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.futures-channel-0.3.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__futures-core-0.3.28",
        sha256 = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/futures-core/0.3.28/download"],
        strip_prefix = "futures-core-0.3.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.futures-core-0.3.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__futures-sink-0.3.28",
        sha256 = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/futures-sink/0.3.28/download"],
        strip_prefix = "futures-sink-0.3.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.futures-sink-0.3.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__futures-task-0.3.28",
        sha256 = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/futures-task/0.3.28/download"],
        strip_prefix = "futures-task-0.3.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.futures-task-0.3.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__futures-util-0.3.28",
        sha256 = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/futures-util/0.3.28/download"],
        strip_prefix = "futures-util-0.3.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.futures-util-0.3.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__getrandom-0.2.10",
        sha256 = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/getrandom/0.2.10/download"],
        strip_prefix = "getrandom-0.2.10",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.getrandom-0.2.10.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__h2-0.3.19",
        sha256 = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/h2/0.3.19/download"],
        strip_prefix = "h2-0.3.19",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.h2-0.3.19.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__hashbrown-0.12.3",
        sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/hashbrown/0.12.3/download"],
        strip_prefix = "hashbrown-0.12.3",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.hashbrown-0.12.3.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__heck-0.4.1",
        sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/heck/0.4.1/download"],
        strip_prefix = "heck-0.4.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.heck-0.4.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__hermit-abi-0.2.6",
        sha256 = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.2.6/download"],
        strip_prefix = "hermit-abi-0.2.6",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.hermit-abi-0.2.6.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__hermit-abi-0.3.1",
        sha256 = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.3.1/download"],
        strip_prefix = "hermit-abi-0.3.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.hermit-abi-0.3.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__http-0.2.9",
        sha256 = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/http/0.2.9/download"],
        strip_prefix = "http-0.2.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.http-0.2.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__http-body-0.4.5",
        sha256 = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/http-body/0.4.5/download"],
        strip_prefix = "http-body-0.4.5",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.http-body-0.4.5.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__httparse-1.8.0",
        sha256 = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/httparse/1.8.0/download"],
        strip_prefix = "httparse-1.8.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.httparse-1.8.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__httpdate-1.0.2",
        sha256 = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/httpdate/1.0.2/download"],
        strip_prefix = "httpdate-1.0.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.httpdate-1.0.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__hyper-0.14.26",
        sha256 = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/hyper/0.14.26/download"],
        strip_prefix = "hyper-0.14.26",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.hyper-0.14.26.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__hyper-timeout-0.4.1",
        sha256 = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/hyper-timeout/0.4.1/download"],
        strip_prefix = "hyper-timeout-0.4.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.hyper-timeout-0.4.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__indexmap-1.9.3",
        sha256 = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/indexmap/1.9.3/download"],
        strip_prefix = "indexmap-1.9.3",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.indexmap-1.9.3.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.instant-0.1.12.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__io-lifetimes-1.0.11",
        sha256 = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download"],
        strip_prefix = "io-lifetimes-1.0.11",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__itertools-0.10.5",
        sha256 = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/itertools/0.10.5/download"],
        strip_prefix = "itertools-0.10.5",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.itertools-0.10.5.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__itoa-1.0.6",
        sha256 = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/itoa/1.0.6/download"],
        strip_prefix = "itoa-1.0.6",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.itoa-1.0.6.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__libc-0.2.146",
        sha256 = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/libc/0.2.146/download"],
        strip_prefix = "libc-0.2.146",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.libc-0.2.146.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__linux-raw-sys-0.3.8",
        sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download"],
        strip_prefix = "linux-raw-sys-0.3.8",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__lock_api-0.4.10",
        sha256 = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/lock_api/0.4.10/download"],
        strip_prefix = "lock_api-0.4.10",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.lock_api-0.4.10.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__log-0.4.19",
        sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/log/0.4.19/download"],
        strip_prefix = "log-0.4.19",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.log-0.4.19.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__matchit-0.7.0",
        sha256 = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/matchit/0.7.0/download"],
        strip_prefix = "matchit-0.7.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.matchit-0.7.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__mime-0.3.17",
        sha256 = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/mime/0.3.17/download"],
        strip_prefix = "mime-0.3.17",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.mime-0.3.17.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__mio-0.8.8",
        sha256 = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/mio/0.8.8/download"],
        strip_prefix = "mio-0.8.8",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.mio-0.8.8.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__multimap-0.8.3",
        sha256 = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/multimap/0.8.3/download"],
        strip_prefix = "multimap-0.8.3",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.multimap-0.8.3.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__num_cpus-1.15.0",
        sha256 = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/num_cpus/1.15.0/download"],
        strip_prefix = "num_cpus-1.15.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.num_cpus-1.15.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__once_cell-1.18.0",
        sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/once_cell/1.18.0/download"],
        strip_prefix = "once_cell-1.18.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.once_cell-1.18.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__parking_lot-0.12.1",
        sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/parking_lot/0.12.1/download"],
        strip_prefix = "parking_lot-0.12.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.parking_lot-0.12.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__parking_lot_core-0.9.8",
        sha256 = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/parking_lot_core/0.9.8/download"],
        strip_prefix = "parking_lot_core-0.9.8",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.parking_lot_core-0.9.8.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__percent-encoding-2.3.0",
        sha256 = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/percent-encoding/2.3.0/download"],
        strip_prefix = "percent-encoding-2.3.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.percent-encoding-2.3.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__petgraph-0.6.3",
        sha256 = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/petgraph/0.6.3/download"],
        strip_prefix = "petgraph-0.6.3",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.petgraph-0.6.3.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__pin-project-1.1.0",
        sha256 = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/pin-project/1.1.0/download"],
        strip_prefix = "pin-project-1.1.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.pin-project-1.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__pin-project-internal-1.1.0",
        sha256 = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/pin-project-internal/1.1.0/download"],
        strip_prefix = "pin-project-internal-1.1.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.pin-project-internal-1.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__pin-project-lite-0.2.9",
        sha256 = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download"],
        strip_prefix = "pin-project-lite-0.2.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.pin-project-lite-0.2.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__pin-utils-0.1.0",
        sha256 = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/pin-utils/0.1.0/download"],
        strip_prefix = "pin-utils-0.1.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.pin-utils-0.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__ppv-lite86-0.2.17",
        sha256 = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/ppv-lite86/0.2.17/download"],
        strip_prefix = "ppv-lite86-0.2.17",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.ppv-lite86-0.2.17.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__prettyplease-0.1.25",
        sha256 = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/prettyplease/0.1.25/download"],
        strip_prefix = "prettyplease-0.1.25",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.prettyplease-0.1.25.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__proc-macro2-1.0.60",
        sha256 = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.60/download"],
        strip_prefix = "proc-macro2-1.0.60",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.proc-macro2-1.0.60.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__prost-0.11.9",
        sha256 = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/prost/0.11.9/download"],
        strip_prefix = "prost-0.11.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.prost-0.11.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__prost-build-0.11.9",
        sha256 = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/prost-build/0.11.9/download"],
        strip_prefix = "prost-build-0.11.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.prost-build-0.11.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__prost-derive-0.11.9",
        sha256 = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/prost-derive/0.11.9/download"],
        strip_prefix = "prost-derive-0.11.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.prost-derive-0.11.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__prost-types-0.11.9",
        sha256 = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/prost-types/0.11.9/download"],
        strip_prefix = "prost-types-0.11.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.prost-types-0.11.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__protoc-gen-prost-0.2.2",
        patch_args = [
            "-p1",
        ],
        patches = [
            "@rules_rust//proto/prost/private/3rdparty/patches:protoc-gen-prost.patch",
        ],
        sha256 = "a81e3a9bb429fec47008b209896f0b9ab99fbcbc1c3733b385d43fbfd64dd2ca",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/protoc-gen-prost/0.2.2/download"],
        strip_prefix = "protoc-gen-prost-0.2.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.protoc-gen-prost-0.2.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__protoc-gen-tonic-0.2.2",
        sha256 = "725a07a704f9cf7a956b302c21d81b5516ed5ee6cfbbf827edb69beeaae6cc30",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/protoc-gen-tonic/0.2.2/download"],
        strip_prefix = "protoc-gen-tonic-0.2.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.protoc-gen-tonic-0.2.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__quote-1.0.28",
        sha256 = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/quote/1.0.28/download"],
        strip_prefix = "quote-1.0.28",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.quote-1.0.28.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.rand-0.8.5.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.rand_chacha-0.3.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__rand_core-0.6.4",
        sha256 = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/rand_core/0.6.4/download"],
        strip_prefix = "rand_core-0.6.4",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.rand_core-0.6.4.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__redox_syscall-0.3.5",
        sha256 = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/redox_syscall/0.3.5/download"],
        strip_prefix = "redox_syscall-0.3.5",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.redox_syscall-0.3.5.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__regex-1.8.4",
        sha256 = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/regex/1.8.4/download"],
        strip_prefix = "regex-1.8.4",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.regex-1.8.4.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__regex-syntax-0.7.2",
        sha256 = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.7.2/download"],
        strip_prefix = "regex-syntax-0.7.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.regex-syntax-0.7.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__rustix-0.37.20",
        sha256 = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/rustix/0.37.20/download"],
        strip_prefix = "rustix-0.37.20",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.rustix-0.37.20.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__rustversion-1.0.12",
        sha256 = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/rustversion/1.0.12/download"],
        strip_prefix = "rustversion-1.0.12",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.rustversion-1.0.12.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.scopeguard-1.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__serde-1.0.164",
        sha256 = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/serde/1.0.164/download"],
        strip_prefix = "serde-1.0.164",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.serde-1.0.164.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__signal-hook-registry-1.4.1",
        sha256 = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download"],
        strip_prefix = "signal-hook-registry-1.4.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.signal-hook-registry-1.4.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__slab-0.4.8",
        sha256 = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/slab/0.4.8/download"],
        strip_prefix = "slab-0.4.8",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.slab-0.4.8.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__smallvec-1.10.0",
        sha256 = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/smallvec/1.10.0/download"],
        strip_prefix = "smallvec-1.10.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.smallvec-1.10.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__socket2-0.4.9",
        sha256 = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/socket2/0.4.9/download"],
        strip_prefix = "socket2-0.4.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.socket2-0.4.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__syn-1.0.109",
        sha256 = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/syn/1.0.109/download"],
        strip_prefix = "syn-1.0.109",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.syn-1.0.109.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__syn-2.0.18",
        sha256 = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/syn/2.0.18/download"],
        strip_prefix = "syn-2.0.18",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.syn-2.0.18.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__sync_wrapper-0.1.2",
        sha256 = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/sync_wrapper/0.1.2/download"],
        strip_prefix = "sync_wrapper-0.1.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.sync_wrapper-0.1.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tempfile-3.6.0",
        sha256 = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tempfile/3.6.0/download"],
        strip_prefix = "tempfile-3.6.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tempfile-3.6.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tokio-1.28.2",
        sha256 = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tokio/1.28.2/download"],
        strip_prefix = "tokio-1.28.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tokio-1.28.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tokio-io-timeout-1.2.0",
        sha256 = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tokio-io-timeout/1.2.0/download"],
        strip_prefix = "tokio-io-timeout-1.2.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tokio-io-timeout-1.2.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tokio-macros-2.1.0",
        sha256 = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tokio-macros/2.1.0/download"],
        strip_prefix = "tokio-macros-2.1.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tokio-macros-2.1.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tokio-stream-0.1.14",
        sha256 = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tokio-stream/0.1.14/download"],
        strip_prefix = "tokio-stream-0.1.14",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tokio-stream-0.1.14.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tokio-util-0.7.8",
        sha256 = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tokio-util/0.7.8/download"],
        strip_prefix = "tokio-util-0.7.8",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tokio-util-0.7.8.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tonic-0.9.2",
        sha256 = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tonic/0.9.2/download"],
        strip_prefix = "tonic-0.9.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tonic-0.9.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tonic-build-0.8.4",
        sha256 = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tonic-build/0.8.4/download"],
        strip_prefix = "tonic-build-0.8.4",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tonic-build-0.8.4.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tower-0.4.13",
        sha256 = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tower/0.4.13/download"],
        strip_prefix = "tower-0.4.13",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tower-0.4.13.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tower-layer-0.3.2",
        sha256 = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tower-layer/0.3.2/download"],
        strip_prefix = "tower-layer-0.3.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tower-layer-0.3.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tower-service-0.3.2",
        sha256 = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tower-service/0.3.2/download"],
        strip_prefix = "tower-service-0.3.2",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tower-service-0.3.2.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tracing-0.1.37",
        sha256 = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tracing/0.1.37/download"],
        strip_prefix = "tracing-0.1.37",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tracing-0.1.37.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tracing-attributes-0.1.26",
        sha256 = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tracing-attributes/0.1.26/download"],
        strip_prefix = "tracing-attributes-0.1.26",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tracing-attributes-0.1.26.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__tracing-core-0.1.31",
        sha256 = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/tracing-core/0.1.31/download"],
        strip_prefix = "tracing-core-0.1.31",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.tracing-core-0.1.31.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__try-lock-0.2.4",
        sha256 = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/try-lock/0.2.4/download"],
        strip_prefix = "try-lock-0.2.4",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.try-lock-0.2.4.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__unicode-ident-1.0.9",
        sha256 = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.9/download"],
        strip_prefix = "unicode-ident-1.0.9",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.unicode-ident-1.0.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__want-0.3.1",
        sha256 = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/want/0.3.1/download"],
        strip_prefix = "want-0.3.1",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.want-0.3.1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__which-4.4.0",
        sha256 = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/which/4.4.0/download"],
        strip_prefix = "which-4.4.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.which-4.4.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__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//proto/prost/private/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows-sys-0.48.0",
        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"],
        strip_prefix = "windows-sys-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows-targets-0.48.0",
        sha256 = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.0/download"],
        strip_prefix = "windows-targets-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows-targets-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_aarch64_gnullvm-0.48.0",
        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download"],
        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_aarch64_msvc-0.48.0",
        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download"],
        strip_prefix = "windows_aarch64_msvc-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_i686_gnu-0.48.0",
        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download"],
        strip_prefix = "windows_i686_gnu-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_i686_msvc-0.48.0",
        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download"],
        strip_prefix = "windows_i686_msvc-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_x86_64_gnu-0.48.0",
        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download"],
        strip_prefix = "windows_x86_64_gnu-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_x86_64_gnullvm-0.48.0",
        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download"],
        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
    )

    maybe(
        http_archive,
        name = "rules_rust_prost__windows_x86_64_msvc-0.48.0",
        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
        type = "tar.gz",
        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download"],
        strip_prefix = "windows_x86_64_msvc-0.48.0",
        build_file = Label("@rules_rust//proto/prost/private/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
    )

    return [
        struct(repo = "rules_rust_prost__h2-0.3.19", is_dev_dep = False),
        struct(repo = "rules_rust_prost__prost-0.11.9", is_dev_dep = False),
        struct(repo = "rules_rust_prost__prost-types-0.11.9", is_dev_dep = False),
        struct(repo = "rules_rust_prost__protoc-gen-prost-0.2.2", is_dev_dep = False),
        struct(repo = "rules_rust_prost__protoc-gen-tonic-0.2.2", is_dev_dep = False),
        struct(repo = "rules_rust_prost__tokio-1.28.2", is_dev_dep = False),
        struct(repo = "rules_rust_prost__tokio-stream-0.1.14", is_dev_dep = False),
        struct(repo = "rules_rust_prost__tonic-0.9.2", is_dev_dep = False),
    ]
