docs: function (options) {
        if (this._booted) {
          return this;
        }
  
        options = new BootOptions(options);
  
        var registry = this.__registry__;
  
        registry.register('-environment:main', options.toEnvironment(), { instantiate: false });
        registry.injection('view', '_environment', '-environment:main');
        registry.injection('route', '_environment', '-environment:main');
  
        registry.register('service:-document', options.document, { instantiate: false });
  
        if (options.isInteractive) {
          registry.injection('view', 'renderer', 'renderer:-dom');
          registry.injection('component', 'renderer', 'renderer:-dom');
        } else {
          registry.injection('view', 'renderer', 'renderer:-inert');
          registry.injection('component', 'renderer', 'renderer:-inert');
        }
  
        if (options.rootElement) {
          this.rootElement = options.rootElement;
        } else {
          this.rootElement = this.application.rootElement;
        }
  
        if (options.location) {
          var router = _emberMetalProperty_get.get(this, 'router');
          _emberMetalProperty_set.set(router, 'location', options.location);
        }
  
        this.application.runInstanceInitializers(this);
  
        if (options.isInteractive) {
          this.setupEventDispatcher();
        }
  
        this._booted = true;
  
        return this;
      }