// Generated by Dagger (https://google.github.io/dagger).
package net.letime.lecjoa.di;

import android.app.Activity;
import android.app.Application;
import android.app.Service;
import android.arch.lifecycle.ViewModel;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.text.Spanned;
import com.google.gson.Gson;
import com.google.gson.JsonDeserializer;
import dagger.android.AndroidInjector;
import dagger.android.DispatchingAndroidInjector;
import dagger.android.DispatchingAndroidInjector_Factory;
import dagger.internal.DoubleCheck;
import dagger.internal.InstanceFactory;
import dagger.internal.MapBuilder;
import dagger.internal.MapFactory;
import dagger.internal.MapProviderFactory;
import dagger.internal.Preconditions;
import dagger.internal.SetFactory;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import javax.inject.Provider;
import net.letime.lecjoa.AboutActivity;
import net.letime.lecjoa.AccountActivity;
import net.letime.lecjoa.AccountActivity_MembersInjector;
import net.letime.lecjoa.AccountListActivity;
import net.letime.lecjoa.AccountListActivity_MembersInjector;
import net.letime.lecjoa.BaseActivity;
import net.letime.lecjoa.BaseActivity_MembersInjector;
import net.letime.lecjoa.BottomSheetActivity_MembersInjector;
import net.letime.lecjoa.ComposeActivity;
import net.letime.lecjoa.ComposeActivity_MembersInjector;
import net.letime.lecjoa.EditProfileActivity;
import net.letime.lecjoa.EditProfileActivity_MembersInjector;
import net.letime.lecjoa.FavouritesActivity;
import net.letime.lecjoa.FavouritesActivity_MembersInjector;
import net.letime.lecjoa.LicenseActivity;
import net.letime.lecjoa.ListsActivity;
import net.letime.lecjoa.ListsActivity_MembersInjector;
import net.letime.lecjoa.LoginActivity;
import net.letime.lecjoa.LoginActivity_MembersInjector;
import net.letime.lecjoa.MainActivity;
import net.letime.lecjoa.MainActivity_MembersInjector;
import net.letime.lecjoa.ModalTimelineActivity;
import net.letime.lecjoa.ModalTimelineActivity_MembersInjector;
import net.letime.lecjoa.NotificationPullJobCreator;
import net.letime.lecjoa.NotificationPullJobCreator_Factory;
import net.letime.lecjoa.PreferencesActivity;
import net.letime.lecjoa.ReportActivity;
import net.letime.lecjoa.ReportActivity_MembersInjector;
import net.letime.lecjoa.SavedTootActivity;
import net.letime.lecjoa.SavedTootActivity_MembersInjector;
import net.letime.lecjoa.SearchActivity;
import net.letime.lecjoa.SearchActivity_MembersInjector;
import net.letime.lecjoa.SplashActivity;
import net.letime.lecjoa.SplashActivity_MembersInjector;
import net.letime.lecjoa.ViewMediaActivity;
import net.letime.lecjoa.ViewTagActivity;
import net.letime.lecjoa.ViewTagActivity_MembersInjector;
import net.letime.lecjoa.ViewThreadActivity;
import net.letime.lecjoa.ViewThreadActivity_MembersInjector;
import net.letime.lecjoa.ViewVideoActivity;
import net.letime.lecjoa.appstore.EventHub;
import net.letime.lecjoa.db.AccountManager;
import net.letime.lecjoa.db.AppDatabase;
import net.letime.lecjoa.fragment.AccountListFragment;
import net.letime.lecjoa.fragment.AccountListFragment_MembersInjector;
import net.letime.lecjoa.fragment.AccountMediaFragment;
import net.letime.lecjoa.fragment.AccountMediaFragment_MembersInjector;
import net.letime.lecjoa.fragment.NotificationsFragment;
import net.letime.lecjoa.fragment.NotificationsFragment_MembersInjector;
import net.letime.lecjoa.fragment.SFragment_MembersInjector;
import net.letime.lecjoa.fragment.SearchFragment;
import net.letime.lecjoa.fragment.SearchFragment_MembersInjector;
import net.letime.lecjoa.fragment.TimelineFragment;
import net.letime.lecjoa.fragment.TimelineFragment_MembersInjector;
import net.letime.lecjoa.fragment.ViewThreadFragment;
import net.letime.lecjoa.fragment.ViewThreadFragment_MembersInjector;
import net.letime.lecjoa.lecjoaApplication;
import net.letime.lecjoa.lecjoaApplication_MembersInjector;
import net.letime.lecjoa.network.MastodonApi;
import net.letime.lecjoa.network.TimelineCases;
import net.letime.lecjoa.receiver.NotificationClearBroadcastReceiver;
import net.letime.lecjoa.receiver.NotificationClearBroadcastReceiver_MembersInjector;
import net.letime.lecjoa.receiver.SendStatusBroadcastReceiver;
import net.letime.lecjoa.receiver.SendStatusBroadcastReceiver_MembersInjector;
import net.letime.lecjoa.service.SendTootService;
import net.letime.lecjoa.service.SendTootService_MembersInjector;
import net.letime.lecjoa.viewmodel.AccountViewModel;
import net.letime.lecjoa.viewmodel.AccountViewModel_Factory;
import okhttp3.OkHttpClient;
import retrofit2.Converter;
import retrofit2.Retrofit;

public final class DaggerAppComponent implements AppComponent {
  private AppModule appModule;

  private lecjoaApplication application;

  private Provider<ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent.Builder>
      baseActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent.Builder>
      mainActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent.Builder>
      accountActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent.Builder>
      listsActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent.Builder>
      composeActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent.Builder>
      editProfileActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent.Builder>
      accountListActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent
              .Builder>
      modalTimelineActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent.Builder>
      viewTagActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent.Builder>
      viewThreadActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent.Builder>
      favouritesActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent.Builder>
      searchActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent.Builder>
      aboutActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent.Builder>
      loginActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent.Builder>
      splashActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent.Builder>
      reportActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent.Builder>
      savedTootActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent.Builder>
      preferencesActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent.Builder>
      viewMediaActivitySubcomponentBuilderProvider;

  private Provider<
          ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent.Builder>
      viewVideoActivitySubcomponentBuilderProvider;

  private Provider<ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent.Builder>
      licenseActivitySubcomponentBuilderProvider;

  private Provider<ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent.Builder>
      sendTootServiceSubcomponentBuilderProvider;

  private Provider<
          BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
              .SendStatusBroadcastReceiverSubcomponent.Builder>
      sendStatusBroadcastReceiverSubcomponentBuilderProvider;

  private Provider<
          BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
              .NotificationClearBroadcastReceiverSubcomponent.Builder>
      notificationClearBroadcastReceiverSubcomponentBuilderProvider;

  private Provider<lecjoaApplication> applicationProvider;

  private Provider<AccountManager> providesAccountManagerProvider;

  private AppModule_ProvidesApplicationFactory providesApplicationProvider;

  private AppModule_ProvidesContextFactory providesContextProvider;

  private Provider<OkHttpClient> providesHttpClientProvider;

  private NetworkModule_ProvidesSpannedTypeAdapterFactory providesSpannedTypeAdapterProvider;

  private Provider<Map<Class<?>, JsonDeserializer<?>>> mapOfClassOfAndJsonDeserializerOfProvider;

  private Provider<Gson> providesGsonProvider;

  private Provider<Converter.Factory> providesConverterFactoryProvider;

  private Provider<Set<Converter.Factory>> setOfFactoryProvider;

  private Provider<Retrofit> providesRetrofitProvider;

  private Provider<MastodonApi> providesApiProvider;

  private Provider<EventHub> providesEventHubProvider;

  private AccountViewModel_Factory accountViewModelProvider;

  private Provider<Map<Class<? extends ViewModel>, Provider<ViewModel>>>
      mapOfClassOfAndProviderOfViewModelProvider;

  private Provider<ViewModelFactory> viewModelFactoryProvider;

  private Provider<AppDatabase> providesDatabaseProvider;

  private DaggerAppComponent(Builder builder) {
    initialize(builder);
  }

  public static AppComponent.Builder builder() {
    return new Builder();
  }

  private Map<Class<? extends Activity>, Provider<AndroidInjector.Factory<? extends Activity>>>
      getMapOfClassOfAndProviderOfFactoryOf() {
    return MapBuilder
        .<Class<? extends Activity>, Provider<AndroidInjector.Factory<? extends Activity>>>
            newMapBuilder(21)
        .put(BaseActivity.class, (Provider) baseActivitySubcomponentBuilderProvider)
        .put(MainActivity.class, (Provider) mainActivitySubcomponentBuilderProvider)
        .put(AccountActivity.class, (Provider) accountActivitySubcomponentBuilderProvider)
        .put(ListsActivity.class, (Provider) listsActivitySubcomponentBuilderProvider)
        .put(ComposeActivity.class, (Provider) composeActivitySubcomponentBuilderProvider)
        .put(EditProfileActivity.class, (Provider) editProfileActivitySubcomponentBuilderProvider)
        .put(AccountListActivity.class, (Provider) accountListActivitySubcomponentBuilderProvider)
        .put(
            ModalTimelineActivity.class,
            (Provider) modalTimelineActivitySubcomponentBuilderProvider)
        .put(ViewTagActivity.class, (Provider) viewTagActivitySubcomponentBuilderProvider)
        .put(ViewThreadActivity.class, (Provider) viewThreadActivitySubcomponentBuilderProvider)
        .put(FavouritesActivity.class, (Provider) favouritesActivitySubcomponentBuilderProvider)
        .put(SearchActivity.class, (Provider) searchActivitySubcomponentBuilderProvider)
        .put(AboutActivity.class, (Provider) aboutActivitySubcomponentBuilderProvider)
        .put(LoginActivity.class, (Provider) loginActivitySubcomponentBuilderProvider)
        .put(SplashActivity.class, (Provider) splashActivitySubcomponentBuilderProvider)
        .put(ReportActivity.class, (Provider) reportActivitySubcomponentBuilderProvider)
        .put(SavedTootActivity.class, (Provider) savedTootActivitySubcomponentBuilderProvider)
        .put(PreferencesActivity.class, (Provider) preferencesActivitySubcomponentBuilderProvider)
        .put(ViewMediaActivity.class, (Provider) viewMediaActivitySubcomponentBuilderProvider)
        .put(ViewVideoActivity.class, (Provider) viewVideoActivitySubcomponentBuilderProvider)
        .put(LicenseActivity.class, (Provider) licenseActivitySubcomponentBuilderProvider)
        .build();
  }

  private DispatchingAndroidInjector<Activity> getDispatchingAndroidInjectorOfActivity() {
    return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
        getMapOfClassOfAndProviderOfFactoryOf());
  }

  private Map<Class<? extends Service>, Provider<AndroidInjector.Factory<? extends Service>>>
      getMapOfClassOfAndProviderOfFactoryOf2() {
    return Collections
        .<Class<? extends Service>, Provider<AndroidInjector.Factory<? extends Service>>>
            singletonMap(
                SendTootService.class, (Provider) sendTootServiceSubcomponentBuilderProvider);
  }

  private DispatchingAndroidInjector<Service> getDispatchingAndroidInjectorOfService() {
    return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
        getMapOfClassOfAndProviderOfFactoryOf2());
  }

  private Map<
          Class<? extends BroadcastReceiver>,
          Provider<AndroidInjector.Factory<? extends BroadcastReceiver>>>
      getMapOfClassOfAndProviderOfFactoryOf3() {
    return MapBuilder
        .<Class<? extends BroadcastReceiver>,
            Provider<AndroidInjector.Factory<? extends BroadcastReceiver>>>
            newMapBuilder(2)
        .put(
            SendStatusBroadcastReceiver.class,
            (Provider) sendStatusBroadcastReceiverSubcomponentBuilderProvider)
        .put(
            NotificationClearBroadcastReceiver.class,
            (Provider) notificationClearBroadcastReceiverSubcomponentBuilderProvider)
        .build();
  }

  private DispatchingAndroidInjector<BroadcastReceiver>
      getDispatchingAndroidInjectorOfBroadcastReceiver() {
    return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
        getMapOfClassOfAndProviderOfFactoryOf3());
  }

  private Application getApplication() {
    return AppModule_ProvidesApplicationFactory.proxyProvidesApplication(appModule, application);
  }

  private Context getContext() {
    return AppModule_ProvidesContextFactory.proxyProvidesContext(appModule, getApplication());
  }

  private NotificationPullJobCreator getNotificationPullJobCreator() {
    return NotificationPullJobCreator_Factory.newNotificationPullJobCreator(
        providesApiProvider.get(), getContext(), providesAccountManagerProvider.get());
  }

  private TimelineCases getTimelineCases() {
    return AppModule_ProvidesTimelineUseCasesFactory.proxyProvidesTimelineUseCases(
        appModule, providesApiProvider.get(), providesEventHubProvider.get());
  }

  @SuppressWarnings("unchecked")
  private void initialize(final Builder builder) {
    this.baseActivitySubcomponentBuilderProvider =
        new Provider<ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent.Builder get() {
            return new BaseActivitySubcomponentBuilder();
          }
        };
    this.mainActivitySubcomponentBuilderProvider =
        new Provider<ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent.Builder get() {
            return new MainActivitySubcomponentBuilder();
          }
        };
    this.accountActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent.Builder
              get() {
            return new AccountActivitySubcomponentBuilder();
          }
        };
    this.listsActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent.Builder get() {
            return new ListsActivitySubcomponentBuilder();
          }
        };
    this.composeActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent.Builder
              get() {
            return new ComposeActivitySubcomponentBuilder();
          }
        };
    this.editProfileActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent
                  .Builder
              get() {
            return new EditProfileActivitySubcomponentBuilder();
          }
        };
    this.accountListActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent
                  .Builder
              get() {
            return new AccountListActivitySubcomponentBuilder();
          }
        };
    this.modalTimelineActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent
                  .Builder
              get() {
            return new ModalTimelineActivitySubcomponentBuilder();
          }
        };
    this.viewTagActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent.Builder
              get() {
            return new ViewTagActivitySubcomponentBuilder();
          }
        };
    this.viewThreadActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent
                  .Builder
              get() {
            return new ViewThreadActivitySubcomponentBuilder();
          }
        };
    this.favouritesActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent
                  .Builder
              get() {
            return new FavouritesActivitySubcomponentBuilder();
          }
        };
    this.searchActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent.Builder
              get() {
            return new SearchActivitySubcomponentBuilder();
          }
        };
    this.aboutActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent.Builder get() {
            return new AboutActivitySubcomponentBuilder();
          }
        };
    this.loginActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent.Builder get() {
            return new LoginActivitySubcomponentBuilder();
          }
        };
    this.splashActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent.Builder
              get() {
            return new SplashActivitySubcomponentBuilder();
          }
        };
    this.reportActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent.Builder
              get() {
            return new ReportActivitySubcomponentBuilder();
          }
        };
    this.savedTootActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent.Builder
              get() {
            return new SavedTootActivitySubcomponentBuilder();
          }
        };
    this.preferencesActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent
                .Builder>() {
          @Override
          public ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent
                  .Builder
              get() {
            return new PreferencesActivitySubcomponentBuilder();
          }
        };
    this.viewMediaActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent.Builder
              get() {
            return new ViewMediaActivitySubcomponentBuilder();
          }
        };
    this.viewVideoActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent.Builder
              get() {
            return new ViewVideoActivitySubcomponentBuilder();
          }
        };
    this.licenseActivitySubcomponentBuilderProvider =
        new Provider<
            ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent.Builder>() {
          @Override
          public ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent.Builder
              get() {
            return new LicenseActivitySubcomponentBuilder();
          }
        };
    this.sendTootServiceSubcomponentBuilderProvider =
        new Provider<
            ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent.Builder>() {
          @Override
          public ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent.Builder
              get() {
            return new SendTootServiceSubcomponentBuilder();
          }
        };
    this.sendStatusBroadcastReceiverSubcomponentBuilderProvider =
        new Provider<
            BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
                .SendStatusBroadcastReceiverSubcomponent.Builder>() {
          @Override
          public BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
                  .SendStatusBroadcastReceiverSubcomponent.Builder
              get() {
            return new SendStatusBroadcastReceiverSubcomponentBuilder();
          }
        };
    this.notificationClearBroadcastReceiverSubcomponentBuilderProvider =
        new Provider<
            BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
                .NotificationClearBroadcastReceiverSubcomponent.Builder>() {
          @Override
          public BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
                  .NotificationClearBroadcastReceiverSubcomponent.Builder
              get() {
            return new NotificationClearBroadcastReceiverSubcomponentBuilder();
          }
        };
    this.applicationProvider = InstanceFactory.create(builder.application);
    this.providesAccountManagerProvider =
        DoubleCheck.provider(
            AppModule_ProvidesAccountManagerFactory.create(builder.appModule, applicationProvider));
    this.providesApplicationProvider =
        AppModule_ProvidesApplicationFactory.create(builder.appModule, applicationProvider);
    this.providesContextProvider =
        AppModule_ProvidesContextFactory.create(builder.appModule, providesApplicationProvider);
    this.providesHttpClientProvider =
        DoubleCheck.provider(
            NetworkModule_ProvidesHttpClientFactory.create(
                builder.networkModule, providesAccountManagerProvider, providesContextProvider));
    this.providesSpannedTypeAdapterProvider =
        NetworkModule_ProvidesSpannedTypeAdapterFactory.create(builder.networkModule);
    this.mapOfClassOfAndJsonDeserializerOfProvider =
        MapFactory.<Class<?>, JsonDeserializer<?>>builder(1)
            .put(Spanned.class, providesSpannedTypeAdapterProvider)
            .build();
    this.providesGsonProvider =
        DoubleCheck.provider(
            NetworkModule_ProvidesGsonFactory.create(
                builder.networkModule, mapOfClassOfAndJsonDeserializerOfProvider));
    this.providesConverterFactoryProvider =
        DoubleCheck.provider(
            NetworkModule_ProvidesConverterFactoryFactory.create(
                builder.networkModule, providesGsonProvider));
    this.setOfFactoryProvider =
        SetFactory.<Converter.Factory>builder(1, 0)
            .addProvider(providesConverterFactoryProvider)
            .build();
    this.providesRetrofitProvider =
        DoubleCheck.provider(
            NetworkModule_ProvidesRetrofitFactory.create(
                builder.networkModule, providesHttpClientProvider, setOfFactoryProvider));
    this.providesApiProvider =
        DoubleCheck.provider(
            NetworkModule_ProvidesApiFactory.create(
                builder.networkModule, providesRetrofitProvider));
    this.appModule = builder.appModule;
    this.application = builder.application;
    this.providesEventHubProvider =
        DoubleCheck.provider(AppModule_ProvidesEventHubFactory.create(builder.appModule));
    this.accountViewModelProvider =
        AccountViewModel_Factory.create(providesApiProvider, providesEventHubProvider);
    this.mapOfClassOfAndProviderOfViewModelProvider =
        MapProviderFactory.<Class<? extends ViewModel>, ViewModel>builder(1)
            .put(AccountViewModel.class, (Provider) accountViewModelProvider)
            .build();
    this.viewModelFactoryProvider =
        DoubleCheck.provider(
            ViewModelFactory_Factory.create(mapOfClassOfAndProviderOfViewModelProvider));
    this.providesDatabaseProvider =
        DoubleCheck.provider(
            AppModule_ProvidesDatabaseFactory.create(builder.appModule, applicationProvider));
  }

  @Override
  public void inject(lecjoaApplication app) {
    injectlecjoaApplication(app);
  }

  private lecjoaApplication injectlecjoaApplication(lecjoaApplication instance) {
    lecjoaApplication_MembersInjector.injectDispatchingAndroidInjector(
        instance, getDispatchingAndroidInjectorOfActivity());
    lecjoaApplication_MembersInjector.injectDispatchingServiceInjector(
        instance, getDispatchingAndroidInjectorOfService());
    lecjoaApplication_MembersInjector.injectDispatchingBroadcastReceiverInjector(
        instance, getDispatchingAndroidInjectorOfBroadcastReceiver());
    lecjoaApplication_MembersInjector.injectNotificationPullJobCreator(
        instance, getNotificationPullJobCreator());
    lecjoaApplication_MembersInjector.injectOkHttpClient(
        instance, providesHttpClientProvider.get());
    return instance;
  }

  private static final class Builder implements AppComponent.Builder {
    private AppModule appModule;

    private NetworkModule networkModule;

    private lecjoaApplication application;

    @Override
    public AppComponent build() {
      if (appModule == null) {
        this.appModule = new AppModule();
      }
      if (networkModule == null) {
        this.networkModule = new NetworkModule();
      }
      if (application == null) {
        throw new IllegalStateException(
            lecjoaApplication.class.getCanonicalName() + " must be set");
      }
      return new DaggerAppComponent(this);
    }

    @Override
    public Builder application(lecjoaApplication lecjoaApp) {
      this.application = Preconditions.checkNotNull(lecjoaApp);
      return this;
    }
  }

  private final class BaseActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent.Builder {
    private BaseActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(BaseActivity.class.getCanonicalName() + " must be set");
      }
      return new BaseActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(BaseActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class BaseActivitySubcomponentImpl
      implements ActivitiesModule_ContributesBaseActivity.BaseActivitySubcomponent {
    private BaseActivitySubcomponentImpl(BaseActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(BaseActivity arg0) {
      injectBaseActivity(arg0);
    }

    private BaseActivity injectBaseActivity(BaseActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class MainActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent.Builder {
    private MainActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(MainActivity.class.getCanonicalName() + " must be set");
      }
      return new MainActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(MainActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class MainActivitySubcomponentImpl
      implements ActivitiesModule_ContributesMainActivity.MainActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private MainActivitySubcomponentImpl(MainActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final MainActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(MainActivity arg0) {
      injectMainActivity(arg0);
    }

    private MainActivity injectMainActivity(MainActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      MainActivity_MembersInjector.injectFragmentInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class AccountActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent.Builder {
    private AccountActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(AccountActivity.class.getCanonicalName() + " must be set");
      }
      return new AccountActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(AccountActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class AccountActivitySubcomponentImpl
      implements ActivitiesModule_ContributesAccountActivity.AccountActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private AccountActivitySubcomponentImpl(AccountActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final AccountActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(AccountActivity arg0) {
      injectAccountActivity(arg0);
    }

    private AccountActivity injectAccountActivity(AccountActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      AccountActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      AccountActivity_MembersInjector.injectViewModelFactory(
          instance, DaggerAppComponent.this.viewModelFactoryProvider.get());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class ListsActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent.Builder {
    private ListsActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(ListsActivity.class.getCanonicalName() + " must be set");
      }
      return new ListsActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ListsActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ListsActivitySubcomponentImpl
      implements ActivitiesModule_ContributesListsActivity.ListsActivitySubcomponent {
    private ListsActivitySubcomponentImpl(ListsActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(ListsActivity arg0) {
      injectListsActivity(arg0);
    }

    private ListsActivity injectListsActivity(ListsActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      ListsActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      return instance;
    }
  }

  private final class ComposeActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent.Builder {
    private ComposeActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(ComposeActivity.class.getCanonicalName() + " must be set");
      }
      return new ComposeActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ComposeActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ComposeActivitySubcomponentImpl
      implements ActivitiesModule_ContributesComposeActivity.ComposeActivitySubcomponent {
    private ComposeActivitySubcomponentImpl(ComposeActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(ComposeActivity arg0) {
      injectComposeActivity(arg0);
    }

    private ComposeActivity injectComposeActivity(ComposeActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      ComposeActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      ComposeActivity_MembersInjector.injectDatabase(
          instance, DaggerAppComponent.this.providesDatabaseProvider.get());
      return instance;
    }
  }

  private final class EditProfileActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent
          .Builder {
    private EditProfileActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            EditProfileActivity.class.getCanonicalName() + " must be set");
      }
      return new EditProfileActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(EditProfileActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class EditProfileActivitySubcomponentImpl
      implements ActivitiesModule_ContributesEditProfileActivity.EditProfileActivitySubcomponent {
    private EditProfileActivitySubcomponentImpl(EditProfileActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(EditProfileActivity arg0) {
      injectEditProfileActivity(arg0);
    }

    private EditProfileActivity injectEditProfileActivity(EditProfileActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      EditProfileActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      return instance;
    }
  }

  private final class AccountListActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent
          .Builder {
    private AccountListActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            AccountListActivity.class.getCanonicalName() + " must be set");
      }
      return new AccountListActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(AccountListActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class AccountListActivitySubcomponentImpl
      implements ActivitiesModule_ContributesAccountListActivity.AccountListActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private AccountListActivitySubcomponentImpl(AccountListActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final AccountListActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(AccountListActivity arg0) {
      injectAccountListActivity(arg0);
    }

    private AccountListActivity injectAccountListActivity(AccountListActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      AccountListActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class ModalTimelineActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent
          .Builder {
    private ModalTimelineActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesModalTimelineActivity.ModalTimelineActivitySubcomponent
        build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            ModalTimelineActivity.class.getCanonicalName() + " must be set");
      }
      return new ModalTimelineActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ModalTimelineActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ModalTimelineActivitySubcomponentImpl
      implements ActivitiesModule_ContributesModalTimelineActivity
          .ModalTimelineActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private ModalTimelineActivitySubcomponentImpl(
        ModalTimelineActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final ModalTimelineActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(ModalTimelineActivity arg0) {
      injectModalTimelineActivity(arg0);
    }

    private ModalTimelineActivity injectModalTimelineActivity(ModalTimelineActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      ModalTimelineActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class ViewTagActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent.Builder {
    private ViewTagActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(ViewTagActivity.class.getCanonicalName() + " must be set");
      }
      return new ViewTagActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ViewTagActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ViewTagActivitySubcomponentImpl
      implements ActivitiesModule_ContributesViewTagActivity.ViewTagActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private ViewTagActivitySubcomponentImpl(ViewTagActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final ViewTagActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(ViewTagActivity arg0) {
      injectViewTagActivity(arg0);
    }

    private ViewTagActivity injectViewTagActivity(ViewTagActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      ViewTagActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class ViewThreadActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent
          .Builder {
    private ViewThreadActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            ViewThreadActivity.class.getCanonicalName() + " must be set");
      }
      return new ViewThreadActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ViewThreadActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ViewThreadActivitySubcomponentImpl
      implements ActivitiesModule_ContributesViewThreadActivity.ViewThreadActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private ViewThreadActivitySubcomponentImpl(ViewThreadActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final ViewThreadActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(ViewThreadActivity arg0) {
      injectViewThreadActivity(arg0);
    }

    private ViewThreadActivity injectViewThreadActivity(ViewThreadActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      ViewThreadActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class FavouritesActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent
          .Builder {
    private FavouritesActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            FavouritesActivity.class.getCanonicalName() + " must be set");
      }
      return new FavouritesActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(FavouritesActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class FavouritesActivitySubcomponentImpl
      implements ActivitiesModule_ContributesFavouritesActivity.FavouritesActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private FavouritesActivitySubcomponentImpl(FavouritesActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final FavouritesActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(FavouritesActivity arg0) {
      injectFavouritesActivity(arg0);
    }

    private FavouritesActivity injectFavouritesActivity(FavouritesActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      FavouritesActivity_MembersInjector.injectDispatchingAndroidInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class SearchActivitySubcomponentBuilder
      extends ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent.Builder {
    private SearchActivity seedInstance;

    @Override
    public ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(SearchActivity.class.getCanonicalName() + " must be set");
      }
      return new SearchActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(SearchActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class SearchActivitySubcomponentImpl
      implements ActivitiesModule_ContribtutesSearchAvtivity.SearchActivitySubcomponent {
    private Provider<
            FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder>
        accountListFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent.Builder>
        accountMediaFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>
        viewThreadFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>
        timelineFragmentSubcomponentBuilderProvider;

    private Provider<
            FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent.Builder>
        notificationsFragmentSubcomponentBuilderProvider;

    private Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>
        searchFragmentSubcomponentBuilderProvider;

    private SearchActivitySubcomponentImpl(SearchActivitySubcomponentBuilder builder) {
      initialize(builder);
    }

    private Map<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
        getMapOfClassOfAndProviderOfFactoryOf() {
      return MapBuilder
          .<Class<? extends Fragment>, Provider<AndroidInjector.Factory<? extends Fragment>>>
              newMapBuilder(6)
          .put(AccountListFragment.class, (Provider) accountListFragmentSubcomponentBuilderProvider)
          .put(
              AccountMediaFragment.class,
              (Provider) accountMediaFragmentSubcomponentBuilderProvider)
          .put(ViewThreadFragment.class, (Provider) viewThreadFragmentSubcomponentBuilderProvider)
          .put(TimelineFragment.class, (Provider) timelineFragmentSubcomponentBuilderProvider)
          .put(
              NotificationsFragment.class,
              (Provider) notificationsFragmentSubcomponentBuilderProvider)
          .put(SearchFragment.class, (Provider) searchFragmentSubcomponentBuilderProvider)
          .build();
    }

    private DispatchingAndroidInjector<Fragment> getDispatchingAndroidInjectorOfFragment() {
      return DispatchingAndroidInjector_Factory.newDispatchingAndroidInjector(
          getMapOfClassOfAndProviderOfFactoryOf());
    }

    @SuppressWarnings("unchecked")
    private void initialize(final SearchActivitySubcomponentBuilder builder) {
      this.accountListFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent
                    .Builder
                get() {
              return new AccountListFragmentSubcomponentBuilder();
            }
          };
      this.accountMediaFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
                    .Builder
                get() {
              return new AccountMediaFragmentSubcomponentBuilder();
            }
          };
      this.viewThreadFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder
                get() {
              return new ViewThreadFragmentSubcomponentBuilder();
            }
          };
      this.timelineFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder
                get() {
              return new TimelineFragmentSubcomponentBuilder();
            }
          };
      this.notificationsFragmentSubcomponentBuilderProvider =
          new Provider<
              FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                  .Builder>() {
            @Override
            public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
                    .Builder
                get() {
              return new NotificationsFragmentSubcomponentBuilder();
            }
          };
      this.searchFragmentSubcomponentBuilderProvider =
          new Provider<FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder>() {
            @Override
            public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder get() {
              return new SearchFragmentSubcomponentBuilder();
            }
          };
    }

    @Override
    public void inject(SearchActivity arg0) {
      injectSearchActivity(arg0);
    }

    private SearchActivity injectSearchActivity(SearchActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      SearchActivity_MembersInjector.injectFragmentInjector(
          instance, getDispatchingAndroidInjectorOfFragment());
      return instance;
    }

    private final class AccountListFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent.Builder {
      private AccountListFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountListFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountListFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountListFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountListFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountListFragment.AccountListFragmentSubcomponent {
      private AccountListFragmentSubcomponentImpl(AccountListFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountListFragment arg0) {
        injectAccountListFragment(arg0);
      }

      private AccountListFragment injectAccountListFragment(AccountListFragment instance) {
        AccountListFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class AccountMediaFragmentSubcomponentBuilder
        extends FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent
            .Builder {
      private AccountMediaFragment seedInstance;

      @Override
      public FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              AccountMediaFragment.class.getCanonicalName() + " must be set");
        }
        return new AccountMediaFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(AccountMediaFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class AccountMediaFragmentSubcomponentImpl
        implements FragmentBuildersModule_AccountMediaFragment.AccountMediaFragmentSubcomponent {
      private AccountMediaFragmentSubcomponentImpl(
          AccountMediaFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(AccountMediaFragment arg0) {
        injectAccountMediaFragment(arg0);
      }

      private AccountMediaFragment injectAccountMediaFragment(AccountMediaFragment instance) {
        AccountMediaFragment_MembersInjector.injectApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        return instance;
      }
    }

    private final class ViewThreadFragmentSubcomponentBuilder
        extends FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent.Builder {
      private ViewThreadFragment seedInstance;

      @Override
      public FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              ViewThreadFragment.class.getCanonicalName() + " must be set");
        }
        return new ViewThreadFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(ViewThreadFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class ViewThreadFragmentSubcomponentImpl
        implements FragmentBuildersModule_ViewThreadFragment.ViewThreadFragmentSubcomponent {
      private ViewThreadFragmentSubcomponentImpl(ViewThreadFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(ViewThreadFragment arg0) {
        injectViewThreadFragment(arg0);
      }

      private ViewThreadFragment injectViewThreadFragment(ViewThreadFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        ViewThreadFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        ViewThreadFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class TimelineFragmentSubcomponentBuilder
        extends FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent.Builder {
      private TimelineFragment seedInstance;

      @Override
      public FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              TimelineFragment.class.getCanonicalName() + " must be set");
        }
        return new TimelineFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(TimelineFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class TimelineFragmentSubcomponentImpl
        implements FragmentBuildersModule_TimelineFragment.TimelineFragmentSubcomponent {
      private TimelineFragmentSubcomponentImpl(TimelineFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(TimelineFragment arg0) {
        injectTimelineFragment(arg0);
      }

      private TimelineFragment injectTimelineFragment(TimelineFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        TimelineFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        TimelineFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class NotificationsFragmentSubcomponentBuilder
        extends FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
            .Builder {
      private NotificationsFragment seedInstance;

      @Override
      public FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent
          build() {
        if (seedInstance == null) {
          throw new IllegalStateException(
              NotificationsFragment.class.getCanonicalName() + " must be set");
        }
        return new NotificationsFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(NotificationsFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class NotificationsFragmentSubcomponentImpl
        implements FragmentBuildersModule_NotificationsFragment.NotificationsFragmentSubcomponent {
      private NotificationsFragmentSubcomponentImpl(
          NotificationsFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(NotificationsFragment arg0) {
        injectNotificationsFragment(arg0);
      }

      private NotificationsFragment injectNotificationsFragment(NotificationsFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        NotificationsFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        NotificationsFragment_MembersInjector.injectAccountManager(
            instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
        NotificationsFragment_MembersInjector.injectEventHub(
            instance, DaggerAppComponent.this.providesEventHubProvider.get());
        return instance;
      }
    }

    private final class SearchFragmentSubcomponentBuilder
        extends FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent.Builder {
      private SearchFragment seedInstance;

      @Override
      public FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent build() {
        if (seedInstance == null) {
          throw new IllegalStateException(SearchFragment.class.getCanonicalName() + " must be set");
        }
        return new SearchFragmentSubcomponentImpl(this);
      }

      @Override
      public void seedInstance(SearchFragment arg0) {
        this.seedInstance = Preconditions.checkNotNull(arg0);
      }
    }

    private final class SearchFragmentSubcomponentImpl
        implements FragmentBuildersModule_SearchFragment.SearchFragmentSubcomponent {
      private SearchFragmentSubcomponentImpl(SearchFragmentSubcomponentBuilder builder) {}

      @Override
      public void inject(SearchFragment arg0) {
        injectSearchFragment(arg0);
      }

      private SearchFragment injectSearchFragment(SearchFragment instance) {
        SFragment_MembersInjector.injectMastodonApi(
            instance, DaggerAppComponent.this.providesApiProvider.get());
        SearchFragment_MembersInjector.injectTimelineCases(
            instance, DaggerAppComponent.this.getTimelineCases());
        return instance;
      }
    }
  }

  private final class AboutActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent.Builder {
    private AboutActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(AboutActivity.class.getCanonicalName() + " must be set");
      }
      return new AboutActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(AboutActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class AboutActivitySubcomponentImpl
      implements ActivitiesModule_ContributesAboutActivity.AboutActivitySubcomponent {
    private AboutActivitySubcomponentImpl(AboutActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(AboutActivity arg0) {
      injectAboutActivity(arg0);
    }

    private AboutActivity injectAboutActivity(AboutActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      BottomSheetActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      return instance;
    }
  }

  private final class LoginActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent.Builder {
    private LoginActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(LoginActivity.class.getCanonicalName() + " must be set");
      }
      return new LoginActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(LoginActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class LoginActivitySubcomponentImpl
      implements ActivitiesModule_ContributesLoginActivity.LoginActivitySubcomponent {
    private LoginActivitySubcomponentImpl(LoginActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(LoginActivity arg0) {
      injectLoginActivity(arg0);
    }

    private LoginActivity injectLoginActivity(LoginActivity instance) {
      LoginActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      LoginActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class SplashActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent.Builder {
    private SplashActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(SplashActivity.class.getCanonicalName() + " must be set");
      }
      return new SplashActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(SplashActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class SplashActivitySubcomponentImpl
      implements ActivitiesModule_ContributesSplashActivity.SplashActivitySubcomponent {
    private SplashActivitySubcomponentImpl(SplashActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(SplashActivity arg0) {
      injectSplashActivity(arg0);
    }

    private SplashActivity injectSplashActivity(SplashActivity instance) {
      SplashActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class ReportActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent.Builder {
    private ReportActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(ReportActivity.class.getCanonicalName() + " must be set");
      }
      return new ReportActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ReportActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ReportActivitySubcomponentImpl
      implements ActivitiesModule_ContributesReportActivity.ReportActivitySubcomponent {
    private ReportActivitySubcomponentImpl(ReportActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(ReportActivity arg0) {
      injectReportActivity(arg0);
    }

    private ReportActivity injectReportActivity(ReportActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      ReportActivity_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      return instance;
    }
  }

  private final class SavedTootActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent.Builder {
    private SavedTootActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            SavedTootActivity.class.getCanonicalName() + " must be set");
      }
      return new SavedTootActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(SavedTootActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class SavedTootActivitySubcomponentImpl
      implements ActivitiesModule_ContributesSavedTootActivity.SavedTootActivitySubcomponent {
    private SavedTootActivitySubcomponentImpl(SavedTootActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(SavedTootActivity arg0) {
      injectSavedTootActivity(arg0);
    }

    private SavedTootActivity injectSavedTootActivity(SavedTootActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      SavedTootActivity_MembersInjector.injectEventHub(
          instance, DaggerAppComponent.this.providesEventHubProvider.get());
      SavedTootActivity_MembersInjector.injectDatabase(
          instance, DaggerAppComponent.this.providesDatabaseProvider.get());
      return instance;
    }
  }

  private final class PreferencesActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent
          .Builder {
    private PreferencesActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent
        build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            PreferencesActivity.class.getCanonicalName() + " must be set");
      }
      return new PreferencesActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(PreferencesActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class PreferencesActivitySubcomponentImpl
      implements ActivitiesModule_ContributesSPreferencesActivity.PreferencesActivitySubcomponent {
    private PreferencesActivitySubcomponentImpl(PreferencesActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(PreferencesActivity arg0) {
      injectPreferencesActivity(arg0);
    }

    private PreferencesActivity injectPreferencesActivity(PreferencesActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class ViewMediaActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent.Builder {
    private ViewMediaActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            ViewMediaActivity.class.getCanonicalName() + " must be set");
      }
      return new ViewMediaActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ViewMediaActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ViewMediaActivitySubcomponentImpl
      implements ActivitiesModule_ContributesViewMediaActivity.ViewMediaActivitySubcomponent {
    private ViewMediaActivitySubcomponentImpl(ViewMediaActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(ViewMediaActivity arg0) {
      injectViewMediaActivity(arg0);
    }

    private ViewMediaActivity injectViewMediaActivity(ViewMediaActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class ViewVideoActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent.Builder {
    private ViewVideoActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            ViewVideoActivity.class.getCanonicalName() + " must be set");
      }
      return new ViewVideoActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(ViewVideoActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class ViewVideoActivitySubcomponentImpl
      implements ActivitiesModule_ContributesViewVideoActivity.ViewVideoActivitySubcomponent {
    private ViewVideoActivitySubcomponentImpl(ViewVideoActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(ViewVideoActivity arg0) {
      injectViewVideoActivity(arg0);
    }

    private ViewVideoActivity injectViewVideoActivity(ViewVideoActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class LicenseActivitySubcomponentBuilder
      extends ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent.Builder {
    private LicenseActivity seedInstance;

    @Override
    public ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(LicenseActivity.class.getCanonicalName() + " must be set");
      }
      return new LicenseActivitySubcomponentImpl(this);
    }

    @Override
    public void seedInstance(LicenseActivity arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class LicenseActivitySubcomponentImpl
      implements ActivitiesModule_ContributesLicenseActivity.LicenseActivitySubcomponent {
    private LicenseActivitySubcomponentImpl(LicenseActivitySubcomponentBuilder builder) {}

    @Override
    public void inject(LicenseActivity arg0) {
      injectLicenseActivity(arg0);
    }

    private LicenseActivity injectLicenseActivity(LicenseActivity instance) {
      BaseActivity_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class SendTootServiceSubcomponentBuilder
      extends ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent.Builder {
    private SendTootService seedInstance;

    @Override
    public ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent build() {
      if (seedInstance == null) {
        throw new IllegalStateException(SendTootService.class.getCanonicalName() + " must be set");
      }
      return new SendTootServiceSubcomponentImpl(this);
    }

    @Override
    public void seedInstance(SendTootService arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class SendTootServiceSubcomponentImpl
      implements ServicesModule_ContributesSendTootService.SendTootServiceSubcomponent {
    private SendTootServiceSubcomponentImpl(SendTootServiceSubcomponentBuilder builder) {}

    @Override
    public void inject(SendTootService arg0) {
      injectSendTootService(arg0);
    }

    private SendTootService injectSendTootService(SendTootService instance) {
      SendTootService_MembersInjector.injectMastodonApi(
          instance, DaggerAppComponent.this.providesApiProvider.get());
      SendTootService_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      SendTootService_MembersInjector.injectEventHub(
          instance, DaggerAppComponent.this.providesEventHubProvider.get());
      SendTootService_MembersInjector.injectDatabase(
          instance, DaggerAppComponent.this.providesDatabaseProvider.get());
      return instance;
    }
  }

  private final class SendStatusBroadcastReceiverSubcomponentBuilder
      extends BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
          .SendStatusBroadcastReceiverSubcomponent.Builder {
    private SendStatusBroadcastReceiver seedInstance;

    @Override
    public BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
            .SendStatusBroadcastReceiverSubcomponent
        build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            SendStatusBroadcastReceiver.class.getCanonicalName() + " must be set");
      }
      return new SendStatusBroadcastReceiverSubcomponentImpl(this);
    }

    @Override
    public void seedInstance(SendStatusBroadcastReceiver arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class SendStatusBroadcastReceiverSubcomponentImpl
      implements BroadcastReceiverModule_ContributeSendStatusBroadcastReceiver
          .SendStatusBroadcastReceiverSubcomponent {
    private SendStatusBroadcastReceiverSubcomponentImpl(
        SendStatusBroadcastReceiverSubcomponentBuilder builder) {}

    @Override
    public void inject(SendStatusBroadcastReceiver arg0) {
      injectSendStatusBroadcastReceiver(arg0);
    }

    private SendStatusBroadcastReceiver injectSendStatusBroadcastReceiver(
        SendStatusBroadcastReceiver instance) {
      SendStatusBroadcastReceiver_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }

  private final class NotificationClearBroadcastReceiverSubcomponentBuilder
      extends BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
          .NotificationClearBroadcastReceiverSubcomponent.Builder {
    private NotificationClearBroadcastReceiver seedInstance;

    @Override
    public BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
            .NotificationClearBroadcastReceiverSubcomponent
        build() {
      if (seedInstance == null) {
        throw new IllegalStateException(
            NotificationClearBroadcastReceiver.class.getCanonicalName() + " must be set");
      }
      return new NotificationClearBroadcastReceiverSubcomponentImpl(this);
    }

    @Override
    public void seedInstance(NotificationClearBroadcastReceiver arg0) {
      this.seedInstance = Preconditions.checkNotNull(arg0);
    }
  }

  private final class NotificationClearBroadcastReceiverSubcomponentImpl
      implements BroadcastReceiverModule_ContributeNotificationClearBroadcastReceiver
          .NotificationClearBroadcastReceiverSubcomponent {
    private NotificationClearBroadcastReceiverSubcomponentImpl(
        NotificationClearBroadcastReceiverSubcomponentBuilder builder) {}

    @Override
    public void inject(NotificationClearBroadcastReceiver arg0) {
      injectNotificationClearBroadcastReceiver(arg0);
    }

    private NotificationClearBroadcastReceiver injectNotificationClearBroadcastReceiver(
        NotificationClearBroadcastReceiver instance) {
      NotificationClearBroadcastReceiver_MembersInjector.injectAccountManager(
          instance, DaggerAppComponent.this.providesAccountManagerProvider.get());
      return instance;
    }
  }
}
