{
    children: [
        {
            name: "bootstrap",
            url: "fuchsia-boot:///#meta/bootstrap.cm",
            startup: "eager",
        },
        {
            name: "core",
            url: "fuchsia-pkg://fuchsia.com/core#meta/core.cm",
            environment: "#core-env",
        },
        {
            name: "startup",
            url: "fuchsia-boot:///#meta/startup.cm",
            startup: "eager",
        },
    ],
    offer: [
        {
            protocol: [ "fuchsia.appmgr.Startup" ],
            from: "#core",
            to: [ "#startup" ],
        },

        // Capabilities routed from "parent" at the root are either provided by
        // bootsvc through component_manager's namespace or by component_manager
        // itself as a builtin service
        {
            directory: "boot",
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.boot.Arguments",
                "fuchsia.boot.FactoryItems",
                "fuchsia.boot.Items",
                "fuchsia.boot.ReadOnlyLog",
                "fuchsia.boot.RootResource",
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.kernel.DebugResource",
                "fuchsia.kernel.HypervisorResource",
                "fuchsia.kernel.InfoResource",
                "fuchsia.kernel.IoportResource",
                "fuchsia.kernel.IrqResource",
                "fuchsia.kernel.MmioResource",
                "fuchsia.kernel.RootJob",
                "fuchsia.kernel.RootJobForInspect",
                "fuchsia.kernel.SmcResource",
                "fuchsia.kernel.Stats",
                "fuchsia.kernel.VmexResource",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: [
                "#bootstrap",
                "#core",
            ],
        },
        {
            protocol: [
                "fuchsia.sys2.BlockingEventSource",
                "fuchsia.sys2.EventSource",
                "fuchsia.time.Maintenance",
            ],
            from: "parent",
            to: [ "#core" ],
        },
        {
            protocol: [ "fuchsia.sys2.SystemController" ],
            from: "parent",
            to: [ "#bootstrap" ],
        },

        // ...and the rest of these are services provided by components for each other
        {
            directory: "dev",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "durable",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "factory",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "minfs",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "pkgfs",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "config-data",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "system",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "blob",
            from: "#bootstrap",
            to: [ "#core" ],
        },
        {
            directory: "tmp",
            from: "#bootstrap",
            to: [ "#core" ],
        },

        // Non-zircon services for svchost
        {
            protocol: [
                "fuchsia.device.manager.Administrator",
                "fuchsia.device.manager.BindDebugger",
                "fuchsia.device.manager.DebugDumper",
                "fuchsia.device.NameProvider",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.diagnostics.FeedbackArchiveAccessor",
                "fuchsia.diagnostics.LegacyMetricsArchiveAccessor",
                "fuchsia.hardware.power.statecontrol.Admin",
                "fuchsia.hardware.power.statecontrol.RebootMethodsWatcherRegister",
                "fuchsia.hardware.pty.Device",
                "fuchsia.kernel.Counter",
                "fuchsia.kernel.DebugBroker",
                "fuchsia.logger.Log",
                "fuchsia.logger.LogSink",
                "fuchsia.paver.Paver",
                "fuchsia.scheduler.ProfileProvider",
                "fuchsia.sysinfo.SysInfo",
                "fuchsia.thermal.Controller",
                "fuchsia.tracing.kernel.Controller",
                "fuchsia.tracing.kernel.Reader",
                "fuchsia.virtualconsole.SessionManager",
            ],
            from: "#bootstrap",
            to: [ "#core" ],
        },

        // Non-zircon services for archivist and svchost
        {
            protocol: [
                "fuchsia.amber.Control",
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.diagnostics.internal.DetectController",
                "fuchsia.diagnostics.internal.LogStatsController",
                "fuchsia.diagnostics.internal.SamplerController",
                "fuchsia.exception.Handler",
                "fuchsia.feedback.CrashReporter",
                "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.Resolver",
                "fuchsia.sys.Environment",
                "fuchsia.sys.internal.ComponentEventProvider",
                "fuchsia.sys.internal.LogConnector",
                "fuchsia.sys.Launcher",
                "fuchsia.sys.Loader",
                "fuchsia.tracing.controller.Controller",
                "fuchsia.tracing.provider.Registry",
            ],
            from: "#core",
            to: [ "#bootstrap" ],
            dependency: "weak_for_migration",
        },

        // driver_manager needs the v1 hub for the serial console
        {
            directory: "hub",
            from: "#core",
            to: [ "#bootstrap" ],
            dependency: "weak_for_migration",
        },

        // RCS uses the root hub for service discovery.
        {
            directory: "hub",
            from: "framework",
            to: [ "#core" ],
        },

        // Offer events to `bootstrap` for diagnostics usage.
        {
            event: [
                "running",
                "started",
                "stopped",
            ],
            from: "framework",
            to: [ "#bootstrap" ],
            modes: [ "async" ],
        },
        {
            event: "capability_ready",
            from: "framework",
            to: [ "#bootstrap" ],
            filter: { name: "diagnostics" },
            modes: [ "async" ],
        },
        {
            event: "capability_requested",
            from: "framework",
            to: [ "#bootstrap" ],
            filter: { name: "fuchsia.logger.LogSink" },
        },
        {
            protocol: [ "fuchsia.sys2.EventSource" ],
            from: "parent",
            to: [ "#bootstrap" ],
        },
    ],
    environments: [
        {
            name: "core-env",
            extends: "realm",
            resolvers: [
                {
                    resolver: "base_resolver",
                    scheme: "fuchsia-pkg",
                    from: "#bootstrap",
                },
            ],
            __stop_timeout_ms: 60000,
        },
    ],
}
