{
    children: [
        {
            name: "archivist",
            url: "fuchsia-boot:///#meta/archivist.cm",
        },
        {
            name: "device_name_provider",
            url: "fuchsia-boot:///#meta/device-name-provider.cm",
        },
        {
            name: "driver_manager",
            url: "fuchsia-boot:///#meta/driver_manager.cm",
            environment: "#driver_manager-env",
        },
        {
            name: "fshost",
            url: "fuchsia-boot:///#meta/fshost.cm",
            environment: "#fshost-env",
        },
        {
            name: "console",
            url: "fuchsia-boot:///#meta/console.cm",

            // Usually, console is started when console-launcher starts. But, startup eager is
            // required because in products with console.shell=false, console-launcher exits
            // early and does not start console; it should be started in order to get serial logs.
            startup: "eager",
        },
        {
            name: "console-launcher",
            url: "fuchsia-boot:///#meta/console-launcher.cm",
            startup: "eager",
        },
        {
            name: "decompressor",
            url: "fuchsia-boot:///#meta/decompressor-sandbox.cm",
        },
        {
            name: "miscsvc",
            url: "fuchsia-boot:///#meta/miscsvc.cm",
        },
        {
            name: "live_usb",
            url: "fuchsia-boot:///#meta/live-usb.cm",
            startup: "eager",
        },
        {
            name: "netsvc",
            url: "fuchsia-boot:///#meta/netsvc.cm",
            startup: "eager",
        },
        {
            name: "ptysvc",
            url: "fuchsia-boot:///#meta/ptysvc.cm",
        },
        {
            name: "pwrbtn-monitor",
            url: "fuchsia-boot:///#meta/pwrbtn-monitor.cm",

            // pwrbtn-monitor only consumes capabilities, it doesn't provide
            // any, so there's no other way to start it.
            startup: "eager",
        },
        {
            name: "shutdown_shim",
            url: "fuchsia-boot:///#meta/shutdown-shim.cm",
        },
        {
            name: "svchost",
            url: "fuchsia-boot:///#meta/svchost.cm",

            // Start eager in order to register the crash handler as early as
            // possible.
            startup: "eager",
        },
        {
            name: "sysinfo",
            url: "fuchsia-boot:///#meta/sysinfo.cm",
        },
        {
            // base_resolver is present on all product configurations except
            // bringup builds, as its dependency pkgfs is not available on
            // bringup builds either.
            name: "base_resolver",
            url: "fuchsia-boot:///#meta/base-resolver.cm",
        },
        {
            name: "power_manager",
            url: "fuchsia-boot:///#meta/power-manager.cm",
        },
        {
            name: "virtual_console",
            url: "fuchsia-boot:///#meta/virtual-console.cm",
        },
    ],
    collections: [
        {
            name: "driver_hosts",
            environment: "#driver_host-env",
            durability: "transient",
        },
        {
            name: "boot-drivers",
            environment: "#boot-driver-env",
            durability: "transient",
        },
        {
            name: "pkg-drivers",
            environment: "#pkg-driver-env",
            durability: "transient",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.WriteOnlyLog",
            ],
            from: "parent",
            to: "#virtual_console",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.FactoryItems",
                "fuchsia.boot.Items",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.exception.Handler",
                "fuchsia.kernel.RootJob",
                "fuchsia.kernel.RootJobForInspect",
                "fuchsia.kernel.Stats",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.net.NameLookup",
                "fuchsia.net.stack.Log",
                "fuchsia.net.stack.Stack",
                "fuchsia.netstack.Netstack",
                "fuchsia.pkg.PackageResolver",
                "fuchsia.pkg.RepositoryManager",
                "fuchsia.pkg.rewrite.Engine",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Launcher",
                "fuchsia.process.Resolver",
                "fuchsia.sys.Environment",
                "fuchsia.sys.Launcher",
                "fuchsia.sys.Loader",
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
            ],
            from: "#archivist",
            to: [ "#console-launcher" ],
        },
        {
            directory: "boot",
            from: "parent",
            to: [
                "#console-launcher",
                "#driver_manager",
                "#fshost",
                "#miscsvc",
                "#netsvc",
            ],
            rights: [ "rx*" ],
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.Items",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.kernel.RootJob",

                // This is only used when the kernel commandline flag devmgr.enable-ephemeral
                // is set, which enables loading drivers ephemerally. This is intended for
                // eng builds only.
                "fuchsia.pkg.PackageResolver",
                "fuchsia.process.Launcher",
                "fuchsia.process.Resolver",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: "#driver_manager",
        },
        {
            protocol: "fuchsia.sys2.Realm",
            from: "framework",
            to: "#driver_manager",
        },
        {
            protocol: [ "fuchsia.power.manager.DriverManagerRegistration" ],
            from: "#power_manager",
            to: "#driver_manager",
        },
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: "#driver_hosts",
        },
        {
            protocol: [
                "fuchsia.boot.Items",
                "fuchsia.boot.RootResource",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: "#boot-drivers",
        },
        {
            protocol: [ "fuchsia.tracing.provider.Registry" ],
            from: "parent",
            to: "#pkg-drivers",
        },
        {
            protocol: [ "fuchsia.kernel.Stats" ],
            from: "parent",
            to: "#power_manager",
        },
        {
            protocol: "fuchsia.boot.RootResource",
            from: "parent",
            to: "#console",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.Items",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: "#fshost",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.pkg.rewrite.Engine",
            ],
            from: "parent",
            to: "#live_usb",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: "#miscsvc",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.exception.Handler",
                "fuchsia.kernel.RootJob",
                "fuchsia.virtualconsole.SessionManager",
            ],
            from: "parent",
            to: "#svchost",
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.WriteOnlyLog",
            ],
            from: "parent",
            to: "#device_name_provider",
        },
        {
            protocol: [ "fuchsia.boot.WriteOnlyLog" ],
            from: "parent",
            to: [
                "#console",
                "#fshost",
                "#ptysvc",
                "#pwrbtn-monitor",
                "#shutdown_shim",
                "#sysinfo",
            ],
        },
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.metrics.MetricEventLoggerFactory",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "parent",
            to: [
                "#fshost",
                "#power_manager",
            ],
        },
        {
            protocol: [ "fuchsia.kernel.VmexResource" ],
            from: "parent",
            to: "#fshost",
        },
        {
            protocol: [ "fuchsia.scheduler.ProfileProvider" ],
            from: "#svchost",
            to: [
                "#decompressor",
                "#fshost",
            ],
        },
        {
            protocol: [ "fuchsia.tracing.provider.Registry" ],
            from: "parent",
            to: "#decompressor",
        },
        {
            protocol: [ "fuchsia.blobfs.internal.DecompressorCreator" ],
            from: "#decompressor",
            to: "#fshost",
        },
        {
            // TODO(fxbug.dev/34633): DEPRECATED. Do not add new dependencies on the fshost
            // loader service!
            protocol: "fuchsia.fshost.Loader",
            from: "#fshost",
            to: "#driver_manager",
            dependency: "weak_for_migration",
        },
        {
            protocol: [ "fuchsia.virtualconsole.SessionManager" ],
            from: "#virtual_console",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
            ],
            from: "#svchost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.BindDebugger",
                "fuchsia.device.manager.DebugDumper",
            ],
            from: "#driver_manager",
            to: [
                "#console-launcher",
                "#netsvc",
                "#svchost",
            ],
        },
        {
            protocol: [ "fuchsia.scheduler.ProfileProvider" ],
            from: "#svchost",
            to: "#driver_manager",

            // This must be weak because svchost needs sysmem from driver_manager, which creates
            // a cycle. Sysmem can be pulled out of svchost to break this cycle.
            dependency: "weak_for_migration",
        },
        {
            protocol: [
                "fuchsia.kernel.DebugBroker",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.sysmem.Allocator",
            ],
            from: "#svchost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [ "fuchsia.sysmem.Allocator" ],
            from: "#svchost",
            to: "#virtual_console",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            to: [
                "#console-launcher",
                "#device_name_provider",
                "#fshost",
                "#miscsvc",
                "#netsvc",
                "#sysinfo",
                "#virtual_console",
            ],
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "dev-class-block",
            to: "#live_usb",
            subdir: "class/block",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "dev-misc",
            to: "#live_usb",
            subdir: "misc",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "input-report",
            to: "#virtual_console",
            subdir: "class/input-report",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "sysmem",
            to: "#svchost",
            subdir: "class/sysmem",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "display-controller",
            to: "#virtual_console",
            subdir: "class/display-controller",
        },
        {
            directory: "minfs",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "pkgfs",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "system-delayed",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#driver_manager",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "system",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#driver_manager",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "blob",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "install",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "tmp",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
            dependency: "weak_for_migration",
        },
        {
            directory: "bin",
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            directory: "volume",
            from: "#fshost",
            to: "#miscsvc",
        },

        // Offer the log services to the console
        {
            protocol: [ "fuchsia.logger.Log" ],
            from: "#archivist",
            to: "#console",
        },

        // Offer the kernel serial console to the console-launcher
        {
            protocol: "fuchsia.hardware.pty.Device",
            from: "#console",
            as: "console",
            to: "#console-launcher",
        },
        {
            protocol: "fuchsia.device.NameProvider",
            from: "#device_name_provider",
            to: [
                "#console-launcher",
                "#netsvc",
            ],

            // TODO: Once svchost is spawned by component manager, we can
            // remove this.
            dependency: "weak_for_migration",
        },
        {
            protocol: "fuchsia.hardware.pty.Device",
            from: "#ptysvc",
            to: [
                "#console-launcher",
                "#netsvc",
                "#virtual_console",
            ],
        },

        // The v1 hub is needed for the serial console.
        {
            directory: "hub",
            from: "parent",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: "fuchsia.sysinfo.SysInfo",
            from: "#sysinfo",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            // TODO(fxb/65708) This is only needed for an ordered shutdown.
            // Driver_manager has to shut down before shutdown_shim.
            protocol: "fuchsia.hardware.power.statecontrol.Admin",
            from: "#shutdown_shim",
            to: "#driver_manager",
        },
        {
            // TODO(fxb/65708) This is only needed for an ordered shutdown.
            // Console should outlive driver_manager so that logs at the end of the boot process
            // can still be seen.
            protocol: "fuchsia.hardware.pty.Device",
            from: "#console",
            to: "#driver_manager",
        },
        {
            protocol: "fuchsia.hardware.power.statecontrol.Admin",
            from: "#shutdown_shim",
            to: [
                "#console-launcher",
                "#netsvc",
                "#pwrbtn-monitor",
                "#svchost",
                "#virtual_console",
            ],
        },

        // Things shutdown_shim and power_manager need
        {
            protocol: [ "fuchsia.sys2.SystemController" ],
            from: "parent",
            to: [
                "#power_manager",
                "#shutdown_shim",
            ],
        },
        {
            protocol: [ "fuchsia.device.manager.SystemStateTransition" ],
            from: "#driver_manager",
            to: "#shutdown_shim",

            // TODO(fxb/65708) When this bug is complete, this can be a strong dependency.
            dependency: "weak_for_migration",
        },
        {
            protocol: [ "fuchsia.hardware.power.statecontrol.Admin" ],
            from: "#power_manager",
            to: "#shutdown_shim",
        },
        {
            protocol: [ "fuchsia.device.manager.Administrator" ],
            from: "#driver_manager",
            to: "#fshost",
        },
        {
            protocol: [ "fuchsia.device.manager.Administrator" ],
            from: "#driver_manager",
            to: "#power_manager",
            dependency: "weak_for_migration",
        },
        {
            protocol: [ "fuchsia.feedback.CrashReporter" ],
            from: "parent",
            to: "#power_manager",
        },
        {
            protocol: [
                "fuchsia.kernel.Counter",
                "fuchsia.paver.Paver",
            ],
            from: "#miscsvc",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [ "fuchsia.paver.Paver" ],
            from: "#miscsvc",
            to: "#live_usb",
        },
        {
            protocol: "fuchsia.logger.Log",
            from: "#archivist",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [ "fuchsia.logger.LogSink" ],
            from: "#archivist",
            to: [
                "#base_resolver",
                "#boot-drivers",
                "#console-launcher",
                "#decompressor",
                "#device_name_provider",
                "#driver_hosts",
                "#driver_manager",
                "#fshost",
                "#live_usb",
                "#netsvc",
                "#pkg-drivers",
                "#power_manager",
                "#pwrbtn-monitor",
                "#svchost",
            ],
        },
        {
            protocol: [
                "fuchsia.fshost.BlockWatcher",
                "fuchsia.fshost.Filesystems",
                "fuchsia.fshost.Registry",
            ],
            from: "#fshost",
            to: [
                "#console-launcher",
                "#netsvc",
            ],
        },
        {
            protocol: [ "fuchsia.fshost.Admin" ],
            from: "#fshost",
            to: "#driver_manager",
            dependency: "weak_for_migration",
        },
        {
            directory: "dev",
            from: "#driver_manager",
            as: "input",
            to: "#pwrbtn-monitor",
            subdir: "class/input",
        },
        {
            protocol: [
                "fuchsia.fshost.BlockWatcher",
                "fuchsia.fshost.Registry",
            ],
            from: "#fshost",
            to: "#miscsvc",
        },
        {
            protocol: [ "fuchsia.fshost.BlockWatcher" ],
            from: "#fshost",
            to: "#live_usb",
        },

        // -- Archivist offers below here --

        // Required events
        {
            event: [
                "running",
                "started",
                "stopped",
            ],
            from: "parent",
            to: "#archivist",
            modes: [ "async" ],
        },
        {
            event: "capability_ready",
            from: "parent",
            to: "#archivist",
            filter: { name: "diagnostics" },
            modes: [ "async" ],
        },
        {
            event: "capability_requested",
            from: "parent",
            to: "#archivist",
            filter: { name: "fuchsia.logger.LogSink" },
        },

        // Required services
        {
            protocol: [
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.sys2.EventSource",
            ],
            from: "parent",
            to: "#archivist",
        },

        // Weak services from appmgr and diagnostics products.
        {
            protocol: [
                "fuchsia.diagnostics.internal.DetectController",
                "fuchsia.diagnostics.internal.LogStatsController",
                "fuchsia.diagnostics.internal.PersistenceController",
                "fuchsia.diagnostics.internal.SamplerController",
                "fuchsia.sys.internal.ComponentEventProvider",
                "fuchsia.sys.internal.LogConnector",
            ],
            from: "parent",
            to: "#archivist",
            dependency: "weak_for_migration",
        },

        // Configuration
        {
            directory: "boot",
            from: "parent",
            as: "config-data",
            to: "#archivist",
            rights: [ "r*" ],
            subdir: "config/archivist",
        },

        // -- End Archivist offers --
        {
            directory: "pkgfs-delayed",
            from: "#fshost",
            to: "#base_resolver",

            // Marking this offer as weak solves the following cycle:
            // base_resolver -> fshost -> driver_manager -> power_manager -> base_resolver.
            // TODO(fxbug.dev/64587): Make this strong once power_manager is in ZBI.
            dependency: "weak_for_migration",
        },
        {
            resolver: "base_resolver",
            from: "#base_resolver",
            to: "#driver_manager",
        },
    ],
    expose: [
        // This handle is used by base_resolver to resolve packages from the base package set.
        {
            directory: "pkgfs-delayed",
            from: "#fshost",
        },
        {
            directory: "dev",
            from: "#driver_manager",
        },
        {
            directory: "config-data",
            from: "#fshost",
        },
        {
            directory: "root-ssl-certificates",
            from: "#fshost",
        },
        {
            directory: "factory",
            from: "#fshost",
        },
        {
            directory: "durable",
            from: "#fshost",
        },
        {
            directory: "minfs",
            from: "#fshost",
        },
        {
            directory: "pkgfs",
            from: "#fshost",
        },
        {
            directory: "system",
            from: "#fshost",
        },
        {
            directory: "blob",
            from: "#fshost",
        },
        {
            directory: "tmp",
            from: "#fshost",
        },
        {
            directory: "bin",
            from: "#fshost",
        },
        {
            protocol: "fuchsia.update.verify.BlobfsVerifier",
            from: "#fshost",
        },
        {
            protocol: "fuchsia.device.NameProvider",
            from: "#device_name_provider",
        },
        {
            protocol: [
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.BindDebugger",
                "fuchsia.device.manager.DebugDumper",
                "fuchsia.device.manager.DriverHostDevelopment",
                "fuchsia.device.manager.SystemStateTransition",
                "fuchsia.driver.registrar.DriverRegistrar",
            ],
            from: "#driver_manager",
        },
        {
            protocol: "fuchsia.sys2.ComponentResolver",
            from: "#base_resolver",
        },
        {
            protocol: [ "fuchsia.virtualconsole.SessionManager" ],
            from: "#virtual_console",
        },
        {
            protocol: "fuchsia.hardware.power.statecontrol.Admin",
            from: "#shutdown_shim",
        },
        {
            protocol: "fuchsia.hardware.pty.Device",
            from: "#ptysvc",
        },
        {
            protocol: [
                "fuchsia.kernel.Counter",
                "fuchsia.paver.Paver",
            ],
            from: "#miscsvc",
        },
        {
            protocol: "fuchsia.sysinfo.SysInfo",
            from: "#sysinfo",
        },
        {
            protocol: [
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.thermal.Controller",
            ],
            from: "#power_manager",
        },
        {
            protocol: [
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.logger.Log",
                "fuchsia.logger.LogSink",
            ],
            from: "#archivist",
        },
        {
            protocol: [
                "fuchsia.kernel.DebugBroker",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
            ],
            from: "#svchost",
        },
        {
            resolver: "base_resolver",
            from: "#base_resolver",
        },
    ],
    environments: [
        {
            name: "fshost-env",
            extends: "realm",

            // 20 minutes
            __stop_timeout_ms: 1200000,
        },
        {
            name: "driver_manager-env",
            extends: "realm",

            // 1 minute
            __stop_timeout_ms: 60000,
        },
        {
            name: "driver_host-env",
            extends: "realm",

            // 2 seconds
            __stop_timeout_ms: 2000,
        },
        {
            name: "boot-driver-env",
            extends: "none",
            runners: [
                {
                    runner: "driver",
                    from: "#driver_manager",
                },
            ],
            resolvers: [
                {
                    resolver: "boot_resolver",
                    from: "parent",
                    scheme: "fuchsia-boot",
                },
            ],

            // 1 second
            __stop_timeout_ms: 1000,
        },
        {
            name: "pkg-driver-env",
            extends: "none",
            runners: [
                {
                    runner: "driver",
                    from: "#driver_manager",
                },
            ],
            resolvers: [
                {
                    resolver: "base_resolver",
                    from: "#base_resolver",
                    scheme: "fuchsia-pkg",
                },
            ],

            // 1 second
            __stop_timeout_ms: 1000,
        },
    ],
}
