Full Code of microg/GmsCore for AI

master 605ca148bf4f cached
4853 files
13.3 MB
3.8M tokens
9563 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (15,236K chars total). Download the full file to get everything.
Repository: microg/GmsCore
Branch: master
Commit: 605ca148bf4f
Files: 4853
Total size: 13.3 MB

Directory structure:
gitextract_bm6a27qq/

├── .github/
│   ├── dependabot.yml
│   ├── matchers/
│   │   ├── gradle-build-kotlin-error-matcher.json
│   │   ├── gradle-build-kotlin-error-matcher.json.license
│   │   ├── gradle-build-matcher.json
│   │   └── gradle-build-matcher.json.license
│   └── workflows/
│       ├── build.yml
│       └── dependency-submission.yml
├── .gitignore
├── Android.mk
├── LICENSE
├── LICENSES/
│   ├── Apache-2.0.txt
│   ├── CC-BY-4.0.txt
│   └── CC0-1.0.txt
├── README.md
├── TRANSLATION.md
├── artwork/
│   └── styles/
│       ├── README.md
│       ├── fonts/
│       │   └── combinations.json
│       ├── style-mapbox-outdoors-v12.json
│       ├── style-microg-normal-mapbox.json
│       ├── style-microg-normal-openmaptiles.json
│       ├── style-microg-normal-stadia.json
│       ├── style-microg-satellite-mapbox.json
│       ├── style-microg-satellite-stadia.json
│       └── style-stadia-outdoors.json
├── build.gradle
├── fake-signature/
│   ├── build.gradle
│   └── src/
│       ├── huawei/
│       │   ├── AndroidManifest.xml
│       │   ├── aidl/
│       │   │   └── com/
│       │   │       └── huawei/
│       │   │           └── signature/
│       │   │               └── diff/
│       │   │                   └── ISignatureService.aidl
│       │   └── java/
│       │       └── com/
│       │           └── huawei/
│       │               └── signature/
│       │                   └── diff/
│       │                       ├── AppListDatabaseOpenHelper.java
│       │                       ├── InitProvider.java
│       │                       ├── InitReceiver.java
│       │                       └── SignatureService.java
│       └── main/
│           ├── AndroidManifest.xml
│           └── res/
│               └── values/
│                   ├── arrays.xml
│                   └── signature.xml
├── firebase-auth/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── recaptcha.html
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── firebase/
│   │           │                   └── auth/
│   │           │                       ├── FirebaseAuthService.kt
│   │           │                       ├── IdentityToolkitClient.kt
│   │           │                       ├── ReCaptchaActivity.kt
│   │           │                       ├── ReCaptchaOverlayService.kt
│   │           │                       └── extensions.kt
│   │           └── res/
│   │               └── layout/
│   │                   └── activity_recaptcha.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── firebase/
│           │               └── auth/
│           │                   ├── ActionCodeSettings.aidl
│           │                   ├── EmailAuthCredential.aidl
│           │                   ├── PhoneAuthCredential.aidl
│           │                   ├── UserProfileChangeRequest.aidl
│           │                   └── api/
│           │                       └── internal/
│           │                           ├── ApplyActionCodeAidlRequest.aidl
│           │                           ├── ChangeEmailAidlRequest.aidl
│           │                           ├── ChangePasswordAidlRequest.aidl
│           │                           ├── CheckActionCodeAidlRequest.aidl
│           │                           ├── ConfirmPasswordResetAidlRequest.aidl
│           │                           ├── CreateAuthUriResponse.aidl
│           │                           ├── CreateUserWithEmailAndPasswordAidlRequest.aidl
│           │                           ├── DeleteAidlRequest.aidl
│           │                           ├── FinalizeMfaEnrollmentAidlRequest.aidl
│           │                           ├── FinalizeMfaSignInAidlRequest.aidl
│           │                           ├── GetAccessTokenAidlRequest.aidl
│           │                           ├── GetAccountInfoUser.aidl
│           │                           ├── GetProvidersForEmailAidlRequest.aidl
│           │                           ├── GetTokenResponse.aidl
│           │                           ├── IFirebaseAuthCallbacks.aidl
│           │                           ├── IFirebaseAuthService.aidl
│           │                           ├── LinkEmailAuthCredentialAidlRequest.aidl
│           │                           ├── LinkFederatedCredentialAidlRequest.aidl
│           │                           ├── LinkPhoneAuthCredentialAidlRequest.aidl
│           │                           ├── ReloadAidlRequest.aidl
│           │                           ├── ResetPasswordResponse.aidl
│           │                           ├── SendEmailVerificationWithSettingsAidlRequest.aidl
│           │                           ├── SendGetOobConfirmationCodeEmailAidlRequest.aidl
│           │                           ├── SendVerificationCodeAidlRequest.aidl
│           │                           ├── SendVerificationCodeRequest.aidl
│           │                           ├── SetFirebaseUiVersionAidlRequest.aidl
│           │                           ├── SignInAnonymouslyAidlRequest.aidl
│           │                           ├── SignInWithCredentialAidlRequest.aidl
│           │                           ├── SignInWithCustomTokenAidlRequest.aidl
│           │                           ├── SignInWithEmailAndPasswordAidlRequest.aidl
│           │                           ├── SignInWithEmailLinkAidlRequest.aidl
│           │                           ├── SignInWithPhoneNumberAidlRequest.aidl
│           │                           ├── StartMfaPhoneNumberEnrollmentAidlRequest.aidl
│           │                           ├── StartMfaPhoneNumberSignInAidlRequest.aidl
│           │                           ├── StringList.aidl
│           │                           ├── UnenrollMfaAidlRequest.aidl
│           │                           ├── UnlinkEmailCredentialAidlRequest.aidl
│           │                           ├── UnlinkFederatedCredentialAidlRequest.aidl
│           │                           ├── UpdateProfileAidlRequest.aidl
│           │                           ├── VerifyAssertionRequest.aidl
│           │                           └── VerifyBeforeUpdateEmailAidlRequest.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── firebase/
│               │           └── auth/
│               │               ├── ActionCodeSettings.java
│               │               ├── AuthCredential.java
│               │               ├── DefaultOAuthCredential.java
│               │               ├── EmailAuthCredential.java
│               │               ├── OAuthCredential.java
│               │               ├── PhoneAuthCredential.java
│               │               ├── UserProfileChangeRequest.java
│               │               └── api/
│               │                   └── internal/
│               │                       ├── ApplyActionCodeAidlRequest.java
│               │                       ├── ChangeEmailAidlRequest.java
│               │                       ├── ChangePasswordAidlRequest.java
│               │                       ├── CheckActionCodeAidlRequest.java
│               │                       ├── ConfirmPasswordResetAidlRequest.java
│               │                       ├── CreateAuthUriResponse.java
│               │                       ├── CreateUserWithEmailAndPasswordAidlRequest.java
│               │                       ├── DeleteAidlRequest.java
│               │                       ├── FinalizeMfaEnrollmentAidlRequest.java
│               │                       ├── FinalizeMfaSignInAidlRequest.java
│               │                       ├── GetAccessTokenAidlRequest.java
│               │                       ├── GetAccountInfoUser.java
│               │                       ├── GetProvidersForEmailAidlRequest.java
│               │                       ├── GetTokenResponse.java
│               │                       ├── LinkEmailAuthCredentialAidlRequest.java
│               │                       ├── LinkFederatedCredentialAidlRequest.java
│               │                       ├── LinkPhoneAuthCredentialAidlRequest.java
│               │                       ├── MfaInfo.java
│               │                       ├── ProviderUserInfo.java
│               │                       ├── ProviderUserInfoList.java
│               │                       ├── ReloadAidlRequest.java
│               │                       ├── ResetPasswordResponse.java
│               │                       ├── SendEmailVerificationWithSettingsAidlRequest.java
│               │                       ├── SendGetOobConfirmationCodeEmailAidlRequest.java
│               │                       ├── SendVerificationCodeAidlRequest.java
│               │                       ├── SendVerificationCodeRequest.java
│               │                       ├── SetFirebaseUiVersionAidlRequest.java
│               │                       ├── SignInAnonymouslyAidlRequest.java
│               │                       ├── SignInWithCredentialAidlRequest.java
│               │                       ├── SignInWithCustomTokenAidlRequest.java
│               │                       ├── SignInWithEmailAndPasswordAidlRequest.java
│               │                       ├── SignInWithEmailLinkAidlRequest.java
│               │                       ├── SignInWithPhoneNumberAidlRequest.java
│               │                       ├── StartMfaPhoneNumberEnrollmentAidlRequest.java
│               │                       ├── StartMfaPhoneNumberSignInAidlRequest.java
│               │                       ├── StringList.java
│               │                       ├── UnenrollMfaAidlRequest.java
│               │                       ├── UnlinkEmailCredentialAidlRequest.java
│               │                       ├── UnlinkFederatedCredentialAidlRequest.java
│               │                       ├── UpdateProfileAidlRequest.java
│               │                       ├── VerifyAssertionRequest.java
│               │                       └── VerifyBeforeUpdateEmailAidlRequest.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── firebase/
│                               └── auth/
│                                   └── Constants.java
├── firebase-dynamic-links/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── firebase/
│           │               └── dynamiclinks/
│           │                   └── internal/
│           │                       ├── DynamicLinkData.aidl
│           │                       ├── IDynamicLinksCallbacks.aidl
│           │                       ├── IDynamicLinksService.aidl
│           │                       ├── ShortDynamicLinkImpl.aidl
│           │                       └── WarningImpl.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── firebase/
│                           └── dynamiclinks/
│                               ├── ShortDynamicLink.java
│                               └── internal/
│                                   ├── DynamicLinkData.java
│                                   ├── ShortDynamicLinkImpl.java
│                                   └── WarningImpl.java
├── gradle/
│   ├── publish-android.gradle
│   ├── publish-java.gradle
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── play-services/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── AndroidManifest.xml
├── play-services-ads/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── google/
│   │           │           └── android/
│   │           │               └── gms/
│   │           │                   └── dynamite/
│   │           │                       └── descriptors/
│   │           │                           └── com/
│   │           │                               └── google/
│   │           │                                   └── android/
│   │           │                                       └── gms/
│   │           │                                           └── ads/
│   │           │                                               └── dynamite/
│   │           │                                                   └── ModuleDescriptor.java
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── ads/
│   │                               └── AdRequestService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       └── internal/
│           │                           ├── ExceptionParcel.aidl
│           │                           ├── NonagonRequestParcel.aidl
│           │                           └── request/
│           │                               ├── IAdRequestService.aidl
│           │                               └── INonagonStreamingResponseListener.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   └── internal/
│                                       ├── ExceptionParcel.java
│                                       └── NonagonRequestParcel.java
├── play-services-ads-base/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── AndroidManifest.xml
├── play-services-ads-identifier/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── ads/
│   │           │                   └── identifier/
│   │           │                       └── AdvertisingIdService.kt
│   │           └── res/
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       └── identifier/
│           │                           └── internal/
│           │                               └── IAdvertisingIdService.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   └── identifier/
│                                       ├── AdvertisingIdClient.java
│                                       └── package-info.java
├── play-services-ads-lite/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               ├── com/
│   │               │   └── google/
│   │               │       └── android/
│   │               │           └── gms/
│   │               │               └── ads/
│   │               │                   ├── AdLoaderBuilderCreatorImpl.kt
│   │               │                   ├── AdManagerCreatorImpl.kt
│   │               │                   ├── MobileAdsSettingManagerCreatorImpl.kt
│   │               │                   ├── measurement/
│   │               │                   │   └── DynamiteMeasurementManager.kt
│   │               │                   └── rewarded/
│   │               │                       └── ChimeraRewardedAdCreatorImpl.kt
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── ads/
│   │                               ├── MobileAdsSettingManagerImpl.kt
│   │                               └── rewarded/
│   │                                   ├── ResponseInfoImpl.kt
│   │                                   └── RewardedAdImpl.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       ├── AdManagerCreator.aidl
│           │                       ├── internal/
│           │                       │   ├── AdErrorParcel.aidl
│           │                       │   ├── AdRequestParcel.aidl
│           │                       │   ├── AdapterResponseInfoParcel.aidl
│           │                       │   ├── AdapterStatusParcel.aidl
│           │                       │   ├── RequestConfigurationParcel.aidl
│           │                       │   ├── ServerSideVerificationOptionsParcel.aidl
│           │                       │   ├── client/
│           │                       │   │   ├── IAdLoaderBuilderCreator.aidl
│           │                       │   │   ├── IMobileAdsSettingManager.aidl
│           │                       │   │   ├── IMobileAdsSettingManagerCreator.aidl
│           │                       │   │   ├── IOnAdInspectorClosedListener.aidl
│           │                       │   │   ├── IOnAdMetadataChangedListener.aidl
│           │                       │   │   ├── IOnPaidEventListener.aidl
│           │                       │   │   └── IResponseInfo.aidl
│           │                       │   ├── initialization/
│           │                       │   │   └── IInitializationCallback.aidl
│           │                       │   ├── mediation/
│           │                       │   │   └── client/
│           │                       │   │       └── IAdapterCreator.aidl
│           │                       │   └── rewarded/
│           │                       │       └── client/
│           │                       │           ├── IRewardItem.aidl
│           │                       │           ├── IRewardedAd.aidl
│           │                       │           ├── IRewardedAdCallback.aidl
│           │                       │           ├── IRewardedAdCreator.aidl
│           │                       │           ├── IRewardedAdLoadCallback.aidl
│           │                       │           └── IRewardedAdSkuListener.aidl
│           │                       └── measurement/
│           │                           ├── IAppMeasurementProxy.aidl
│           │                           └── IMeasurementManager.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   ├── admanager/
│                                   │   └── package-info.java
│                                   ├── h5/
│                                   │   └── package-info.java
│                                   ├── initialization/
│                                   │   └── package-info.java
│                                   ├── internal/
│                                   │   ├── AdDataParcel.java
│                                   │   ├── AdErrorParcel.java
│                                   │   ├── AdRequestParcel.java
│                                   │   ├── AdapterResponseInfoParcel.java
│                                   │   ├── AdapterStatusParcel.java
│                                   │   ├── RequestConfigurationParcel.java
│                                   │   ├── SearchAdRequestParcel.java
│                                   │   └── ServerSideVerificationOptionsParcel.java
│                                   ├── interstitial/
│                                   │   └── package-info.java
│                                   ├── mediation/
│                                   │   ├── customevent/
│                                   │   │   └── package-info.java
│                                   │   ├── package-info.java
│                                   │   └── rtb/
│                                   │       └── package-info.java
│                                   ├── nativead/
│                                   │   └── package-info.java
│                                   ├── package-info.java
│                                   ├── rewarded/
│                                   │   └── package-info.java
│                                   ├── rewardedinterstitial/
│                                   │   └── package-info.java
│                                   └── search/
│                                       └── package-info.java
├── play-services-api/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           ├── android/
│           │           │   └── gms/
│           │           │       ├── ads/
│           │           │       │   └── omid/
│           │           │       │       └── IOmid.aidl
│           │           │       ├── appdatasearch/
│           │           │       │   ├── CorpusStatus.aidl
│           │           │       │   ├── PIMEUpdate.aidl
│           │           │       │   ├── PIMEUpdateResponse.aidl
│           │           │       │   ├── RequestIndexingSpecification.aidl
│           │           │       │   ├── SuggestSpecification.aidl
│           │           │       │   ├── SuggestionResults.aidl
│           │           │       │   ├── UsageInfo.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IAppDataSearch.aidl
│           │           │       │       ├── ILightweightAppDataSearch.aidl
│           │           │       │       └── ILightweightAppDataSearchCallbacks.aidl
│           │           │       ├── audit/
│           │           │       │   ├── LogAuditRecordsRequest.aidl
│           │           │       │   └── internal/
│           │           │       │       └── IAuditService.aidl
│           │           │       ├── auth/
│           │           │       │   └── appcert/
│           │           │       │       └── IAppCertService.aidl
│           │           │       ├── checkin/
│           │           │       │   └── internal/
│           │           │       │       └── ICheckinService.aidl
│           │           │       ├── credential/
│           │           │       │   └── manager/
│           │           │       │       ├── common/
│           │           │       │       │   ├── IPendingIntentCallback.aidl
│           │           │       │       │   └── ISettingsCallback.aidl
│           │           │       │       ├── firstparty/
│           │           │       │       │   └── internal/
│           │           │       │       │       └── ICredentialManagerService.aidl
│           │           │       │       └── invocationparams/
│           │           │       │           └── CredentialManagerInvocationParams.aidl
│           │           │       ├── facs/
│           │           │       │   └── cache/
│           │           │       │       ├── FacsCacheCallOptions.aidl
│           │           │       │       ├── ForceSettingsCacheRefreshResult.aidl
│           │           │       │       ├── GetActivityControlsSettingsResult.aidl
│           │           │       │       ├── ReadDeviceLevelSettingsResult.aidl
│           │           │       │       ├── UpdateActivityControlsSettingsResult.aidl
│           │           │       │       └── internal/
│           │           │       │           ├── IFacsCacheCallbacks.aidl
│           │           │       │           └── IFacsCacheService.aidl
│           │           │       ├── feedback/
│           │           │       │   ├── ErrorReport.aidl
│           │           │       │   ├── FeedbackOptions.aidl
│           │           │       │   ├── FileTeleporter.aidl
│           │           │       │   ├── LogOptions.aidl
│           │           │       │   ├── ThemeSettings.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IFeedbackCallbacks.aidl
│           │           │       │       └── IFeedbackService.aidl
│           │           │       ├── gass/
│           │           │       │   └── internal/
│           │           │       │       ├── GassRequestParcel.aidl
│           │           │       │       ├── GassResponseParcel.aidl
│           │           │       │       └── IGassService.aidl
│           │           │       ├── googlehelp/
│           │           │       │   ├── GoogleHelp.aidl
│           │           │       │   ├── InProductHelp.aidl
│           │           │       │   ├── SupportRequestHelp.aidl
│           │           │       │   └── internal/
│           │           │       │       └── common/
│           │           │       │           ├── IGoogleHelpCallbacks.aidl
│           │           │       │           └── IGoogleHelpService.aidl
│           │           │       ├── http/
│           │           │       │   └── IGoogleHttpService.aidl
│           │           │       ├── languageprofile/
│           │           │       │   ├── ClientLanguageSettings.aidl
│           │           │       │   ├── LanguageFluency.aidl
│           │           │       │   ├── LanguageFluencyParams.aidl
│           │           │       │   ├── LanguagePreference.aidl
│           │           │       │   ├── LanguagePreferenceParams.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ILanguageProfileCallbacks.aidl
│           │           │       │       └── ILanguageProfileService.aidl
│           │           │       ├── locationsharingreporter/
│           │           │       │   ├── IneligibilityRationale.aidl
│           │           │       │   ├── LocationReportingStatus.aidl
│           │           │       │   ├── LocationShare.aidl
│           │           │       │   ├── LocationUploadRequest.aidl
│           │           │       │   ├── LocationUploadResponse.aidl
│           │           │       │   ├── NoticeAckedUpdateRequest.aidl
│           │           │       │   ├── PeriodicLocationReportingIssues.aidl
│           │           │       │   ├── PeriodicLocationUploadRequest.aidl
│           │           │       │   ├── StartLocationReportingRequest.aidl
│           │           │       │   ├── StopLocationReportingRequest.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ILocationReportingIssuesCallback.aidl
│           │           │       │       ├── ILocationReportingStatusCallbacks.aidl
│           │           │       │       ├── ILocationSharingReporterService.aidl
│           │           │       │       └── ILocationUploadCallbacks.aidl
│           │           │       ├── maps/
│           │           │       │   └── auth/
│           │           │       │       └── IApiTokenService.aidl
│           │           │       ├── measurement/
│           │           │       │   └── internal/
│           │           │       │       ├── AppMetadata.aidl
│           │           │       │       ├── ConditionalUserPropertyParcel.aidl
│           │           │       │       ├── EventParcel.aidl
│           │           │       │       ├── IMeasurementService.aidl
│           │           │       │       └── UserAttributeParcel.aidl
│           │           │       ├── people/
│           │           │       │   └── internal/
│           │           │       │       ├── IPeopleCallbacks.aidl
│           │           │       │       └── IPeopleService.aidl
│           │           │       ├── phenotype/
│           │           │       │   ├── Configurations.aidl
│           │           │       │   ├── DogfoodsToken.aidl
│           │           │       │   ├── ExperimentTokens.aidl
│           │           │       │   ├── Flag.aidl
│           │           │       │   ├── FlagOverrides.aidl
│           │           │       │   ├── RegistrationInfo.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPhenotypeCallbacks.aidl
│           │           │       │       └── IPhenotypeService.aidl
│           │           │       ├── plus/
│           │           │       │   └── internal/
│           │           │       │       └── IPlusOneButtonCreator.aidl
│           │           │       ├── potokens/
│           │           │       │   ├── PoToken.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPoTokensService.aidl
│           │           │       │       └── ITokenCallbacks.aidl
│           │           │       ├── pseudonymous/
│           │           │       │   ├── PseudonymousIdToken.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPseudonymousIdCallbacks.aidl
│           │           │       │       └── IPseudonymousIdService.aidl
│           │           │       ├── reminders/
│           │           │       │   ├── AccountState.aidl
│           │           │       │   ├── CreateReminderOptionsInternal.aidl
│           │           │       │   ├── LoadRemindersOptions.aidl
│           │           │       │   ├── ReindexDueDatesOptions.aidl
│           │           │       │   ├── UpdateRecurrenceOptions.aidl
│           │           │       │   ├── internal/
│           │           │       │   │   ├── IRemindersCallbacks.aidl
│           │           │       │   │   ├── IRemindersListener.aidl
│           │           │       │   │   └── IRemindersService.aidl
│           │           │       │   └── model/
│           │           │       │       ├── CustomizedSnoozePresetEntity.aidl
│           │           │       │       ├── TaskEntity.aidl
│           │           │       │       └── TaskIdEntity.aidl
│           │           │       ├── search/
│           │           │       │   ├── administration/
│           │           │       │   │   └── internal/
│           │           │       │   │       └── ISearchAdministrationService.aidl
│           │           │       │   ├── corpora/
│           │           │       │   │   ├── ClearCorpusRequest.aidl
│           │           │       │   │   ├── GetCorpusInfoRequest.aidl
│           │           │       │   │   ├── GetCorpusStatusRequest.aidl
│           │           │       │   │   ├── GetCorpusStatusResponse.aidl
│           │           │       │   │   ├── RequestIndexingRequest.aidl
│           │           │       │   │   ├── RequestIndexingResponse.aidl
│           │           │       │   │   └── internal/
│           │           │       │   │       ├── ISearchCorporaCallbacks.aidl
│           │           │       │   │       └── ISearchCorporaService.aidl
│           │           │       │   ├── global/
│           │           │       │   │   ├── GetCurrentExperimentIdsRequest.aidl
│           │           │       │   │   ├── GetCurrentExperimentIdsResponse.aidl
│           │           │       │   │   ├── GetGlobalSearchSourcesRequest.aidl
│           │           │       │   │   ├── GetGlobalSearchSourcesResponse.aidl
│           │           │       │   │   ├── GetPendingExperimentIdsRequest.aidl
│           │           │       │   │   ├── GetPendingExperimentIdsResponse.aidl
│           │           │       │   │   ├── SetExperimentIdsRequest.aidl
│           │           │       │   │   ├── SetExperimentIdsResponse.aidl
│           │           │       │   │   ├── SetIncludeInGlobalSearchRequest.aidl
│           │           │       │   │   ├── SetIncludeInGlobalSearchResponse.aidl
│           │           │       │   │   └── internal/
│           │           │       │   │       ├── IGlobalSearchAdminCallbacks.aidl
│           │           │       │   │       └── IGlobalSearchAdminService.aidl
│           │           │       │   └── queries/
│           │           │       │       ├── QueryRequest.aidl
│           │           │       │       ├── QueryResponse.aidl
│           │           │       │       └── internal/
│           │           │       │           ├── ISearchQueriesCallbacks.aidl
│           │           │       │           └── ISearchQueriesService.aidl
│           │           │       ├── semanticlocation/
│           │           │       │   ├── PlaceCandidate.aidl
│           │           │       │   ├── SemanticLocationEventRequest.aidl
│           │           │       │   ├── SemanticLocationState.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ISemanticLocationService.aidl
│           │           │       │       └── SemanticLocationParameters.aidl
│           │           │       ├── semanticlocationhistory/
│           │           │       │   ├── ExperimentVisitsResponse.aidl
│           │           │       │   ├── FieldMask.aidl
│           │           │       │   ├── FrequentPlace.aidl
│           │           │       │   ├── FrequentTrip.aidl
│           │           │       │   ├── InferredPlace.aidl
│           │           │       │   ├── LocationHistorySegment.aidl
│           │           │       │   ├── LocationHistorySegmentRequest.aidl
│           │           │       │   ├── LocationHistorySettings.aidl
│           │           │       │   ├── LookupParameters.aidl
│           │           │       │   ├── OdlhBackupSummary.aidl
│           │           │       │   ├── Persona.aidl
│           │           │       │   ├── RequestCredentials.aidl
│           │           │       │   ├── SemanticLocationEditInputs.aidl
│           │           │       │   ├── TimeRangeFilter.aidl
│           │           │       │   ├── UserLocationProfile.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ISemanticLocationHistoryCallbacks.aidl
│           │           │       │       └── ISemanticLocationHistoryService.aidl
│           │           │       ├── usagereporting/
│           │           │       │   ├── UsageReportingOptInOptions.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IUsageReportingCallbacks.aidl
│           │           │       │       ├── IUsageReportingOptInOptionsChangedListener.aidl
│           │           │       │       └── IUsageReportingService.aidl
│           │           │       └── wallet/
│           │           │           ├── GetClientTokenRequest.aidl
│           │           │           ├── GetClientTokenResponse.aidl
│           │           │           ├── IsReadyToPayRequest.aidl
│           │           │           └── internal/
│           │           │               ├── IOwService.aidl
│           │           │               └── IWalletServiceCallbacks.aidl
│           │           └── firebase/
│           │               └── database/
│           │                   └── connection/
│           │                       └── idl/
│           │                           ├── CompoundHashParcelable.aidl
│           │                           ├── ConnectionConfig.aidl
│           │                           ├── IConnectionAuthTokenProvider.aidl
│           │                           ├── IGetTokenCallback.aidl
│           │                           ├── IListenHashProvider.aidl
│           │                           ├── IPersistentConnection.aidl
│           │                           ├── IPersistentConnectionDelegate.aidl
│           │                           ├── IRequestResultCallback.aidl
│           │                           └── RangeParcelable.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       ├── android/
│                       │   └── gms/
│                       │       ├── appdatasearch/
│                       │       │   ├── CorpusStatus.java
│                       │       │   ├── PIMEUpdate.java
│                       │       │   ├── PIMEUpdateResponse.java
│                       │       │   ├── QuerySpecification.java
│                       │       │   ├── RequestIndexingSpecification.java
│                       │       │   ├── SearchResults.java
│                       │       │   ├── SuggestSpecification.java
│                       │       │   ├── SuggestionResults.java
│                       │       │   └── UsageInfo.java
│                       │       ├── audit/
│                       │       │   └── LogAuditRecordsRequest.java
│                       │       ├── auth/
│                       │       │   └── firstparty/
│                       │       │       ├── dataservice/
│                       │       │       │   ├── AccountRecoveryGuidanceRequest.java
│                       │       │       │   ├── AccountRemovalRequest.java
│                       │       │       │   ├── ConfirmCredentialsRequest.java
│                       │       │       │   ├── FACLConfig.java
│                       │       │       │   ├── PACLConfig.java
│                       │       │       │   ├── TokenRequest.java
│                       │       │       │   └── TokenResponse.java
│                       │       │       ├── delegate/
│                       │       │       │   └── ConfirmCredentialsWorkflowRequest.java
│                       │       │       ├── proximity/
│                       │       │       │   └── data/
│                       │       │       │       └── Permit.java
│                       │       │       └── shared/
│                       │       │           ├── AccountCredentials.java
│                       │       │           ├── AppDescription.java
│                       │       │           └── CaptchaSolution.java
│                       │       ├── credential/
│                       │       │   └── manager/
│                       │       │       └── invocationparams/
│                       │       │           ├── CallerInfo.java
│                       │       │           ├── CredentialManagerAccount.java
│                       │       │           └── CredentialManagerInvocationParams.java
│                       │       ├── facs/
│                       │       │   └── cache/
│                       │       │       ├── FacsCacheCallOptions.java
│                       │       │       ├── ForceSettingsCacheRefreshResult.java
│                       │       │       ├── GetActivityControlsSettingsResult.java
│                       │       │       ├── ReadDeviceLevelSettingsResult.java
│                       │       │       └── UpdateActivityControlsSettingsResult.java
│                       │       ├── family/
│                       │       │   ├── model/
│                       │       │   │   └── MemberDataModel.java
│                       │       │   └── v2/
│                       │       │       └── model/
│                       │       │           ├── BulletPoint.java
│                       │       │           ├── HelpData.java
│                       │       │           └── PageData.java
│                       │       ├── feedback/
│                       │       │   ├── ErrorReport.java
│                       │       │   ├── FeedbackOptions.java
│                       │       │   ├── FileTeleporter.java
│                       │       │   ├── LogOptions.java
│                       │       │   └── ThemeSettings.java
│                       │       ├── gass/
│                       │       │   └── internal/
│                       │       │       ├── GassRequestParcel.java
│                       │       │       └── GassResponseParcel.java
│                       │       ├── googlehelp/
│                       │       │   ├── FRDProductSpecificDataEntry.java
│                       │       │   ├── GoogleHelp.java
│                       │       │   ├── InProductHelp.java
│                       │       │   ├── ND4CSettings.java
│                       │       │   ├── OfflineSuggestion.java
│                       │       │   ├── SupportRequestHelp.java
│                       │       │   └── internal/
│                       │       │       └── common/
│                       │       │           ├── OverflowMenuItem.java
│                       │       │           └── TogglingData.java
│                       │       ├── identity/
│                       │       │   ├── accounts/
│                       │       │   │   └── api/
│                       │       │   │       └── AccountData.java
│                       │       │   └── intents/
│                       │       │       └── model/
│                       │       │           ├── CountrySpecification.java
│                       │       │           └── UserAddress.java
│                       │       ├── languageprofile/
│                       │       │   ├── ClientLanguageSettings.java
│                       │       │   ├── LanguageFluency.java
│                       │       │   ├── LanguageFluencyParams.java
│                       │       │   ├── LanguagePreference.java
│                       │       │   └── LanguagePreferenceParams.java
│                       │       ├── locationsharingreporter/
│                       │       │   ├── IneligibilityRationale.java
│                       │       │   ├── LocationCollectionReason.java
│                       │       │   ├── LocationReportingStatus.java
│                       │       │   ├── LocationShare.java
│                       │       │   ├── LocationUploadRequest.java
│                       │       │   ├── LocationUploadResponse.java
│                       │       │   ├── NoticeAckedUpdateRequest.java
│                       │       │   ├── PeriodicLocationReportingIssues.java
│                       │       │   ├── PeriodicLocationUploadRequest.java
│                       │       │   ├── StartLocationReportingRequest.java
│                       │       │   └── StopLocationReportingRequest.java
│                       │       ├── measurement/
│                       │       │   └── internal/
│                       │       │       ├── AppMetadata.java
│                       │       │       ├── ConditionalUserPropertyParcel.java
│                       │       │       ├── EventParams.java
│                       │       │       ├── EventParcel.java
│                       │       │       └── UserAttributeParcel.java
│                       │       ├── people/
│                       │       │   ├── internal/
│                       │       │   │   └── ParcelableLoadImageOptions.java
│                       │       │   └── model/
│                       │       │       ├── AccountMetadata.java
│                       │       │       └── AvatarReference.java
│                       │       ├── phenotype/
│                       │       │   ├── Configurations.java
│                       │       │   ├── DogfoodsToken.java
│                       │       │   ├── FlagOverrides.java
│                       │       │   └── RegistrationInfo.java
│                       │       ├── plus/
│                       │       │   ├── internal/
│                       │       │   │   ├── PlusCommonExtras.java
│                       │       │   │   ├── PlusSession.java
│                       │       │   │   └── model/
│                       │       │   │       └── smart_profile/
│                       │       │   │           ├── CardsRequest.java
│                       │       │   │           ├── CardsResponse.java
│                       │       │   │           ├── PeopleForProfilesRequest.java
│                       │       │   │           └── PeopleForProfilesResponse.java
│                       │       │   └── model/
│                       │       │       └── posts/
│                       │       │           ├── Comment.java
│                       │       │           ├── Post.java
│                       │       │           └── Settings.java
│                       │       ├── potokens/
│                       │       │   └── PoToken.java
│                       │       ├── pseudonymous/
│                       │       │   └── PseudonymousIdToken.java
│                       │       ├── reminders/
│                       │       │   ├── AccountState.java
│                       │       │   ├── CreateReminderOptionsInternal.java
│                       │       │   ├── LoadRemindersOptions.java
│                       │       │   ├── ReindexDueDatesOptions.java
│                       │       │   ├── UpdateRecurrenceOptions.java
│                       │       │   └── model/
│                       │       │       ├── CustomizedSnoozePresetEntity.java
│                       │       │       ├── TaskEntity.java
│                       │       │       └── TaskIdEntity.java
│                       │       ├── search/
│                       │       │   ├── corpora/
│                       │       │   │   ├── ClearCorpusRequest.java
│                       │       │   │   ├── GetCorpusInfoRequest.java
│                       │       │   │   ├── GetCorpusStatusRequest.java
│                       │       │   │   ├── GetCorpusStatusResponse.java
│                       │       │   │   ├── RequestIndexingRequest.java
│                       │       │   │   └── RequestIndexingResponse.java
│                       │       │   ├── global/
│                       │       │   │   ├── GetCurrentExperimentIdsRequest.java
│                       │       │   │   ├── GetCurrentExperimentIdsResponse.java
│                       │       │   │   ├── GetGlobalSearchSourcesRequest.java
│                       │       │   │   ├── GetGlobalSearchSourcesResponse.java
│                       │       │   │   ├── GetPendingExperimentIdsRequest.java
│                       │       │   │   ├── GetPendingExperimentIdsResponse.java
│                       │       │   │   ├── SetExperimentIdsRequest.java
│                       │       │   │   ├── SetExperimentIdsResponse.java
│                       │       │   │   ├── SetIncludeInGlobalSearchRequest.java
│                       │       │   │   └── SetIncludeInGlobalSearchResponse.java
│                       │       │   └── queries/
│                       │       │       ├── QueryRequest.java
│                       │       │       └── QueryResponse.java
│                       │       ├── semanticlocation/
│                       │       │   ├── Activity.java
│                       │       │   ├── ActivityCandidate.java
│                       │       │   ├── ActivityEndEvent.java
│                       │       │   ├── ActivityOngoingEvent.java
│                       │       │   ├── ActivityStartEvent.java
│                       │       │   ├── ActivityStatistics.java
│                       │       │   ├── AdditionalActivityCandidates.java
│                       │       │   ├── AdditionalPlaceCandidates.java
│                       │       │   ├── Date.java
│                       │       │   ├── DebugData.java
│                       │       │   ├── InputSignals.java
│                       │       │   ├── Note.java
│                       │       │   ├── Parking.java
│                       │       │   ├── Path.java
│                       │       │   ├── PeriodSummary.java
│                       │       │   ├── PlaceCandidate.java
│                       │       │   ├── PlaceEnterEvent.java
│                       │       │   ├── PlaceExitEvent.java
│                       │       │   ├── PlaceOngoingEvent.java
│                       │       │   ├── PointWithDetails.java
│                       │       │   ├── SemanticLocationEvent.java
│                       │       │   ├── SemanticLocationEventRequest.java
│                       │       │   ├── SemanticLocationState.java
│                       │       │   ├── SemanticSegment.java
│                       │       │   ├── TemporarilyClosedPlaceCandidates.java
│                       │       │   ├── TimelineMemory.java
│                       │       │   ├── TimelinePath.java
│                       │       │   ├── Trip.java
│                       │       │   ├── Visit.java
│                       │       │   └── internal/
│                       │       │       └── SemanticLocationParameters.java
│                       │       ├── semanticlocationhistory/
│                       │       │   ├── DeletionRange.java
│                       │       │   ├── DeviceMetadata.java
│                       │       │   ├── ExperimentVisitsResponse.java
│                       │       │   ├── FieldMask.java
│                       │       │   ├── FrequentPlace.java
│                       │       │   ├── FrequentTrip.java
│                       │       │   ├── InferredPlace.java
│                       │       │   ├── LocationHistorySegment.java
│                       │       │   ├── LocationHistorySegmentRequest.java
│                       │       │   ├── LocationHistorySettings.java
│                       │       │   ├── LookupParameters.java
│                       │       │   ├── OdlhBackupSummary.java
│                       │       │   ├── Persona.java
│                       │       │   ├── RequestCredentials.java
│                       │       │   ├── SemanticLocationEditInputs.java
│                       │       │   ├── TimeRangeFilter.java
│                       │       │   └── UserLocationProfile.java
│                       │       ├── usagereporting/
│                       │       │   └── UsageReportingOptInOptions.java
│                       │       └── wallet/
│                       │           ├── GetClientTokenRequest.java
│                       │           ├── GetClientTokenResponse.java
│                       │           ├── IsReadyToPayRequest.java
│                       │           ├── IsReadyToPayResponse.java
│                       │           └── WalletConstants.java
│                       └── firebase/
│                           └── database/
│                               └── connection/
│                                   └── idl/
│                                       ├── CompoundHashParcelable.java
│                                       ├── ConnectionConfig.java
│                                       └── RangeParcelable.java
├── play-services-appinvite/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── appinivite/
│   │           │                   ├── AppInviteActivity.kt
│   │           │                   ├── AppInviteService.kt
│   │           │                   └── utils/
│   │           │                       └── DynamicLinkUtils.kt
│   │           └── proto/
│   │               └── datamixer.proto
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── aidl/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── appinvite/
│                                   └── internal/
│                                       ├── IAppInviteCallbacks.aidl
│                                       └── IAppInviteService.aidl
├── play-services-appset/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── appset/
│   │                               └── AppSetService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── appset/
│           │                       ├── AppSetIdRequestParams.aidl
│           │                       ├── AppSetInfoParcel.aidl
│           │                       └── internal/
│           │                           ├── IAppSetIdCallback.aidl
│           │                           └── IAppSetService.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── appset/
│                                   ├── AppSet.java
│                                   ├── AppSetIdClient.java
│                                   ├── AppSetIdInfo.java
│                                   ├── AppSetIdRequestParams.java
│                                   ├── AppSetInfoParcel.java
│                                   └── package-info.java
├── play-services-auth/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       ├── account/
│           │                       │   └── data/
│           │                       │       ├── IAccountDataService.aidl
│           │                       │       └── IDeviceManagementInfoCallback.aidl
│           │                       └── api/
│           │                           ├── credentials/
│           │                           │   ├── Credential.aidl
│           │                           │   ├── CredentialRequest.aidl
│           │                           │   └── internal/
│           │                           │       ├── DeleteRequest.aidl
│           │                           │       ├── GeneratePasswordRequest.aidl
│           │                           │       ├── ICredentialsCallbacks.aidl
│           │                           │       ├── ICredentialsService.aidl
│           │                           │       └── SaveRequest.aidl
│           │                           ├── identity/
│           │                           │   ├── AuthorizationRequest.aidl
│           │                           │   ├── AuthorizationResult.aidl
│           │                           │   ├── BeginSignInRequest.aidl
│           │                           │   ├── BeginSignInResult.aidl
│           │                           │   ├── ClearTokenRequest.aidl
│           │                           │   ├── GetPhoneNumberHintIntentRequest.aidl
│           │                           │   ├── GetSignInIntentRequest.aidl
│           │                           │   ├── RevokeAccessRequest.aidl
│           │                           │   ├── SignInCredential.aidl
│           │                           │   ├── VerifyWithGoogleRequest.aidl
│           │                           │   ├── VerifyWithGoogleResult.aidl
│           │                           │   └── internal/
│           │                           │       ├── IAuthorizationCallback.aidl
│           │                           │       ├── IAuthorizationService.aidl
│           │                           │       ├── IBeginSignInCallback.aidl
│           │                           │       ├── IGetPhoneNumberHintIntentCallback.aidl
│           │                           │       ├── IGetSignInIntentCallback.aidl
│           │                           │       ├── ISignInService.aidl
│           │                           │       └── IVerifyWithGoogleCallback.aidl
│           │                           └── signin/
│           │                               └── internal/
│           │                                   ├── ISignInCallbacks.aidl
│           │                                   └── ISignInService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── auth/
│               │                   ├── api/
│               │                   │   ├── Auth.java
│               │                   │   ├── credentials/
│               │                   │   │   ├── Credential.java
│               │                   │   │   ├── CredentialPickerConfig.java
│               │                   │   │   ├── CredentialRequest.java
│               │                   │   │   ├── HintRequest.java
│               │                   │   │   ├── IdToken.java
│               │                   │   │   ├── IdentityProviders.java
│               │                   │   │   ├── internal/
│               │                   │   │   │   ├── DeleteRequest.java
│               │                   │   │   │   ├── GeneratePasswordRequest.java
│               │                   │   │   │   └── SaveRequest.java
│               │                   │   │   └── package-info.java
│               │                   │   ├── identity/
│               │                   │   │   ├── AuthorizationClient.java
│               │                   │   │   ├── AuthorizationOptions.java
│               │                   │   │   ├── AuthorizationRequest.java
│               │                   │   │   ├── AuthorizationResult.java
│               │                   │   │   ├── BeginSignInRequest.java
│               │                   │   │   ├── BeginSignInResult.java
│               │                   │   │   ├── ClearTokenRequest.java
│               │                   │   │   ├── CredentialSavingClient.java
│               │                   │   │   ├── CredentialSavingOptions.java
│               │                   │   │   ├── GetPhoneNumberHintIntentRequest.java
│               │                   │   │   ├── GetSignInIntentRequest.java
│               │                   │   │   ├── Identity.java
│               │                   │   │   ├── RevokeAccessRequest.java
│               │                   │   │   ├── SaveAccountLinkingTokenRequest.java
│               │                   │   │   ├── SaveAccountLinkingTokenResult.java
│               │                   │   │   ├── SavePasswordRequest.java
│               │                   │   │   ├── SavePasswordResult.java
│               │                   │   │   ├── SignInClient.java
│               │                   │   │   ├── SignInCredential.java
│               │                   │   │   ├── SignInOptions.java
│               │                   │   │   ├── SignInPassword.java
│               │                   │   │   ├── VerifyWithGoogleRequest.java
│               │                   │   │   ├── VerifyWithGoogleResult.java
│               │                   │   │   └── package-info.java
│               │                   │   └── signin/
│               │                   │       ├── GoogleSignIn.java
│               │                   │       ├── GoogleSignInApi.java
│               │                   │       ├── GoogleSignInClient.java
│               │                   │       ├── GoogleSignInResult.java
│               │                   │       ├── GoogleSignInStatusCodes.java
│               │                   │       ├── SignInAccount.java
│               │                   │       └── internal/
│               │                   │           └── SignInConfiguration.java
│               │                   └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── auth/
│                               └── api/
│                                   └── signin/
│                                       ├── GoogleSignInApiImpl.java
│                                       ├── GoogleSignInCommon.java
│                                       └── GoogleSignInGmsClientImpl.java
├── play-services-auth-api/
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── api/
│                                       └── identity/
│                                           └── package-info.java
├── play-services-auth-api-phone/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── auth/
│   │           │                   └── phone/
│   │           │                       ├── AskPermissionActivity.kt
│   │           │                       ├── SmsRetrieverCore.kt
│   │           │                       ├── SmsRetrieverRequest.kt
│   │           │                       ├── SmsRetrieverService.kt
│   │           │                       ├── UserConsentPromptActivity.kt
│   │           │                       └── constants.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── dialog_sms_user_consent.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       └── api/
│           │                           └── phone/
│           │                               └── internal/
│           │                                   ├── IAutofillPermissionStateCallback.aidl
│           │                                   ├── IOngoingSmsRequestCallback.aidl
│           │                                   ├── ISmsRetrieverApiService.aidl
│           │                                   └── ISmsRetrieverResultCallback.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── auth/
│               │                   └── api/
│               │                       └── phone/
│               │                           ├── SmsCodeAutofillClient.java
│               │                           ├── SmsCodeBrowserClient.java
│               │                           ├── SmsCodeRetriever.java
│               │                           ├── SmsRetriever.java
│               │                           ├── SmsRetrieverApi.java
│               │                           ├── SmsRetrieverClient.java
│               │                           ├── SmsRetrieverStatusCodes.java
│               │                           └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── auth/
│                               └── api/
│                                   └── phone/
│                                       ├── SmsCodeAutofillClientImpl.java
│                                       ├── SmsCodeBrowserClientImpl.java
│                                       ├── SmsRetrieverApiClient.java
│                                       ├── SmsRetrieverClientImpl.java
│                                       ├── SmsRetrieverResultCallbackImpl.java
│                                       └── StatusCallbackImpl.java
├── play-services-auth-base/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               ├── auth/
│           │               │   └── IAuthManagerService.aidl
│           │               └── gms/
│           │                   └── auth/
│           │                       ├── AccountChangeEventsRequest.aidl
│           │                       ├── AccountChangeEventsResponse.aidl
│           │                       ├── GetAccountsRequest.aidl
│           │                       ├── GetHubTokenInternalResponse.aidl
│           │                       ├── GetHubTokenRequest.aidl
│           │                       ├── HasCapabilitiesRequest.aidl
│           │                       ├── account/
│           │                       │   └── data/
│           │                       │       ├── IBundleCallback.aidl
│           │                       │       ├── IGetAccountChangeEventsCallback.aidl
│           │                       │       ├── IGetAccountsCallback.aidl
│           │                       │       ├── IGetHubTokenCallback.aidl
│           │                       │       ├── IGetTokenWithDetailsCallback.aidl
│           │                       │       ├── IGoogleAuthService.aidl
│           │                       │       └── IHasCapabilitiesCallback.aidl
│           │                       ├── api/
│           │                       │   ├── internal/
│           │                       │   │   ├── IAuthCallbacks.aidl
│           │                       │   │   └── IAuthService.aidl
│           │                       │   └── proxy/
│           │                       │       ├── ProxyRequest.aidl
│           │                       │       └── ProxyResponse.aidl
│           │                       ├── firstparty/
│           │                       │   └── dataservice/
│           │                       │       ├── ClearTokenRequest.aidl
│           │                       │       └── DeviceManagementInfoResponse.aidl
│           │                       └── folsom/
│           │                           ├── RecoveryRequest.aidl
│           │                           ├── RecoveryResult.aidl
│           │                           ├── SharedKey.aidl
│           │                           └── internal/
│           │                               ├── IBooleanCallback.aidl
│           │                               ├── IByteArrayCallback.aidl
│           │                               ├── IByteArrayListCallback.aidl
│           │                               ├── IKeyRetrievalCallback.aidl
│           │                               ├── IKeyRetrievalConsentCallback.aidl
│           │                               ├── IKeyRetrievalService.aidl
│           │                               ├── IKeyRetrievalSyncStatusCallback.aidl
│           │                               ├── IRecoveryResultCallback.aidl
│           │                               ├── ISecurityDomainMembersCallback.aidl
│           │                               ├── ISharedKeyCallback.aidl
│           │                               └── IStringListCallback.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   ├── AccountChangeEvent.java
│                                   ├── AccountChangeEventsRequest.java
│                                   ├── AccountChangeEventsResponse.java
│                                   ├── GetAccountsRequest.java
│                                   ├── GetHubTokenInternalResponse.java
│                                   ├── GetHubTokenRequest.java
│                                   ├── HasCapabilitiesRequest.java
│                                   ├── TokenData.java
│                                   ├── api/
│                                   │   └── proxy/
│                                   │       ├── ProxyRequest.java
│                                   │       └── ProxyResponse.java
│                                   ├── firstparty/
│                                   │   └── dataservice/
│                                   │       ├── ClearTokenRequest.java
│                                   │       └── DeviceManagementInfoResponse.java
│                                   ├── folsom/
│                                   │   ├── RecoveryRequest.java
│                                   │   ├── RecoveryResult.java
│                                   │   └── SharedKey.java
│                                   └── package-info.java
├── play-services-auth-blockstore/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── auth/
│   │                               └── blockstore/
│   │                                   ├── BlockStoreImpl.kt
│   │                                   └── BlockstoreApiService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       └── blockstore/
│           │                           ├── AppRestoreInfo.aidl
│           │                           ├── DeleteBytesRequest.aidl
│           │                           ├── RetrieveBytesRequest.aidl
│           │                           ├── RetrieveBytesResponse.aidl
│           │                           ├── StoreBytesData.aidl
│           │                           └── internal/
│           │                               ├── IBlockstoreService.aidl
│           │                               ├── IDeleteBytesCallback.aidl
│           │                               ├── IGetAccessForPackageCallback.aidl
│           │                               ├── IGetBlockstoreDataCallback.aidl
│           │                               ├── IIsEndToEndEncryptionAvailableCallback.aidl
│           │                               ├── IRetrieveBytesCallback.aidl
│           │                               ├── ISetBlockstoreDataCallback.aidl
│           │                               └── IStoreBytesCallback.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── blockstore/
│                                       ├── AppRestoreInfo.java
│                                       ├── Blockstore.java
│                                       ├── BlockstoreClient.java
│                                       ├── BlockstoreStatusCodes.java
│                                       ├── DeleteBytesRequest.java
│                                       ├── RetrieveBytesRequest.java
│                                       ├── RetrieveBytesResponse.java
│                                       ├── StoreBytesData.java
│                                       └── package-info.java
├── play-services-auth-workaccount/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   ├── com/
│   │           │   │   └── google/
│   │           │   │       └── android/
│   │           │   │           └── gms/
│   │           │   │               └── auth/
│   │           │   │                   └── account/
│   │           │   │                       └── authenticator/
│   │           │   │                           ├── WorkAccountAuthenticator.kt
│   │           │   │                           └── WorkAccountAuthenticatorService.kt
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── auth/
│   │           │                   └── workaccount/
│   │           │                       ├── WorkAccountService.kt
│   │           │                       └── WorkProfileSettings.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_briefcase.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               └── xml/
│   │                   └── auth_work_authenticator.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── aidl/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── account/
│                                       ├── IWorkAccountCallback.aidl
│                                       └── IWorkAccountService.aidl
├── play-services-base/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   ├── package/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           └── kotlin/
│   │   │               └── org/
│   │   │                   └── microg/
│   │   │                       └── gms/
│   │   │                           ├── moduleinstall/
│   │   │                           │   └── ModuleInstallService.kt
│   │   │                           └── profile/
│   │   │                               └── ProfileProvider.kt
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               ├── AbstractGmsServiceBroker.java
│   │           │               ├── BaseService.java
│   │           │               ├── DummyService.java
│   │           │               ├── auth/
│   │           │               │   ├── AuthRequest.java
│   │           │               │   └── AuthResponse.java
│   │           │               └── common/
│   │           │                   ├── DeviceConfiguration.java
│   │           │                   ├── DeviceIdentifier.java
│   │           │                   ├── ForegroundServiceContext.java
│   │           │                   ├── ForegroundServiceInfo.java
│   │           │                   ├── HttpFormClient.java
│   │           │                   ├── MultiListenerProxy.java
│   │           │                   ├── NonCancelToken.java
│   │           │                   ├── NotOkayException.java
│   │           │                   ├── PackageUtils.java
│   │           │                   ├── PhoneInfo.java
│   │           │                   ├── RemoteListenerProxy.java
│   │           │                   └── Utils.java
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               ├── auth/
│   │           │               │   └── AuthPrefs.kt
│   │           │               ├── checkin/
│   │           │               │   └── LastCheckinInfo.kt
│   │           │               ├── common/
│   │           │               │   ├── AccountUtils.kt
│   │           │               │   ├── DeviceConfigProto.kt
│   │           │               │   └── KnownGooglePackages.kt
│   │           │               ├── crossprofile/
│   │           │               │   ├── CrossProfileRequestActivity.kt
│   │           │               │   ├── CrossProfileSendActivity.kt
│   │           │               │   └── UserInitReceiver.kt
│   │           │               ├── profile/
│   │           │               │   ├── Build.kt
│   │           │               │   └── ProfileManager.kt
│   │           │               ├── settings/
│   │           │               │   ├── MetaDataPreferences.kt
│   │           │               │   ├── SettingsContract.kt
│   │           │               │   └── SettingsProvider.kt
│   │           │               ├── ui/
│   │           │               │   ├── AppHeadingPreference.kt
│   │           │               │   ├── AppIconPreference.kt
│   │           │               │   ├── AppPreference.kt
│   │           │               │   ├── Constants.kt
│   │           │               │   ├── FooterPreference.kt
│   │           │               │   ├── SwitchBarPreference.kt
│   │           │               │   ├── TextPreference.kt
│   │           │               │   ├── Utils.kt
│   │           │               │   └── settings/
│   │           │               │       └── SettingsProvider.kt
│   │           │               ├── utils/
│   │           │               │   ├── BinderUtils.kt
│   │           │               │   ├── BitmapUtils.kt
│   │           │               │   ├── ExtendedPackageInfo.kt
│   │           │               │   ├── FileXmlResourceParser.kt
│   │           │               │   ├── IntentCacheManager.kt
│   │           │               │   ├── PackageManagerUtils.kt
│   │           │               │   ├── PackageManagerWrapper.kt
│   │           │               │   └── SingleInstanceUtil.kt
│   │           │               └── vending/
│   │           │                   ├── InstallerData.kt
│   │           │                   └── PlayIntegrityData.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── ic_background_notify.xml
│   │               │   ├── ic_expand_apps.xml
│   │               │   ├── ic_info_outline.xml
│   │               │   ├── ic_open.xml
│   │               │   ├── ic_radio.xml
│   │               │   ├── ic_radio_checked.xml
│   │               │   └── ic_radio_unchecked.xml
│   │               ├── layout/
│   │               │   ├── list_no_item.xml
│   │               │   ├── preference_app_heading.xml
│   │               │   ├── preference_category_no_label.xml
│   │               │   ├── preference_footer.xml
│   │               │   ├── preference_progress_bar.xml
│   │               │   └── preference_switch_bar.xml
│   │               ├── values/
│   │               │   ├── strings.xml
│   │               │   └── themes.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── auth/
│           │                   │   └── api/
│           │                   │       └── signin/
│           │                   │           ├── GoogleSignInAccount.aidl
│           │                   │           └── GoogleSignInOptions.aidl
│           │                   ├── common/
│           │                   │   ├── api/
│           │                   │   │   └── internal/
│           │                   │   │       └── IStatusCallback.aidl
│           │                   │   ├── data/
│           │                   │   │   ├── BitmapTeleporter.aidl
│           │                   │   │   └── DataHolder.aidl
│           │                   │   ├── images/
│           │                   │   │   └── WebImage.aidl
│           │                   │   ├── internal/
│           │                   │   │   ├── AuthAccountRequest.aidl
│           │                   │   │   ├── IResolveAccountCallbacks.aidl
│           │                   │   │   ├── ISignInButtonCreator.aidl
│           │                   │   │   ├── MethodInvocation.aidl
│           │                   │   │   ├── ResolveAccountRequest.aidl
│           │                   │   │   ├── TelemetryData.aidl
│           │                   │   │   └── service/
│           │                   │   │       ├── IClientTelemetryService.aidl
│           │                   │   │       ├── ICommonCallbacks.aidl
│           │                   │   │       └── ICommonService.aidl
│           │                   │   ├── moduleinstall/
│           │                   │   │   ├── ModuleAvailabilityResponse.aidl
│           │                   │   │   ├── ModuleInstallIntentResponse.aidl
│           │                   │   │   ├── ModuleInstallResponse.aidl
│           │                   │   │   ├── ModuleInstallStatusUpdate.aidl
│           │                   │   │   └── internal/
│           │                   │   │       ├── ApiFeatureRequest.aidl
│           │                   │   │       ├── IModuleInstallCallbacks.aidl
│           │                   │   │       ├── IModuleInstallService.aidl
│           │                   │   │       └── IModuleInstallStatusListener.aidl
│           │                   │   └── server/
│           │                   │       └── FavaDiagnosticsEntity.aidl
│           │                   └── signin/
│           │                       └── internal/
│           │                           ├── AuthAccountResult.aidl
│           │                           ├── CheckServerAuthResult.aidl
│           │                           ├── ISignInCallbacks.aidl
│           │                           ├── ISignInService.aidl
│           │                           ├── RecordConsentByConsentResultRequest.aidl
│           │                           ├── RecordConsentByConsentResultResponse.aidl
│           │                           ├── RecordConsentRequest.aidl
│           │                           ├── SignInRequest.aidl
│           │                           └── SignInResponse.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               ├── auth/
│               │               │   └── api/
│               │               │       └── signin/
│               │               │           ├── GoogleSignInAccount.java
│               │               │           ├── GoogleSignInOptions.java
│               │               │           ├── GoogleSignInOptionsExtension.java
│               │               │           └── internal/
│               │               │               ├── GoogleSignInOptionsExtensionParcelable.java
│               │               │               ├── HashAccumulator.java
│               │               │               └── Storage.java
│               │               ├── common/
│               │               │   ├── GoogleApiAvailability.java
│               │               │   ├── GooglePlayServicesClient.java
│               │               │   ├── GooglePlayServicesUtil.java
│               │               │   ├── api/
│               │               │   │   ├── AccountInfo.java
│               │               │   │   ├── Api.java
│               │               │   │   ├── GoogleApi.java
│               │               │   │   ├── GoogleApiActivity.java
│               │               │   │   ├── GoogleApiClient.java
│               │               │   │   ├── HasApiKey.java
│               │               │   │   ├── OptionalModuleApi.java
│               │               │   │   ├── OptionalPendingResult.java
│               │               │   │   ├── PendingResult.java
│               │               │   │   └── internal/
│               │               │   │       ├── ApiExceptionMapper.java
│               │               │   │       ├── ApiKey.java
│               │               │   │       ├── ConnectionCallbacks.java
│               │               │   │       ├── ListenerHolder.java
│               │               │   │       ├── OnConnectionFailedListener.java
│               │               │   │       └── SignInConnectionListener.java
│               │               │   ├── data/
│               │               │   │   ├── AbstractDataBuffer.java
│               │               │   │   ├── BitmapTeleporter.java
│               │               │   │   ├── DataBuffer.java
│               │               │   │   ├── DataBufferIterator.java
│               │               │   │   ├── DataBufferRef.java
│               │               │   │   ├── DataHolder.java
│               │               │   │   ├── Freezable.java
│               │               │   │   ├── SingleRefDataBufferIterator.java
│               │               │   │   └── package-info.java
│               │               │   ├── images/
│               │               │   │   ├── ImageManager.java
│               │               │   │   ├── Size.java
│               │               │   │   ├── WebImage.java
│               │               │   │   └── package-info.java
│               │               │   ├── internal/
│               │               │   │   ├── ApiExceptionUtil.java
│               │               │   │   ├── AuthAccountRequest.java
│               │               │   │   ├── ClientIdentity.java
│               │               │   │   ├── ClientSettings.java
│               │               │   │   ├── MethodInvocation.java
│               │               │   │   ├── PendingResultUtil.java
│               │               │   │   ├── ResolveAccountRequest.java
│               │               │   │   ├── ResolveAccountResponse.java
│               │               │   │   ├── ResultTransform.java
│               │               │   │   ├── TelemetryData.java
│               │               │   │   └── TransformedResult.java
│               │               │   ├── moduleinstall/
│               │               │   │   ├── InstallStatusListener.java
│               │               │   │   ├── ModuleAvailabilityResponse.java
│               │               │   │   ├── ModuleInstall.java
│               │               │   │   ├── ModuleInstallClient.java
│               │               │   │   ├── ModuleInstallIntentResponse.java
│               │               │   │   ├── ModuleInstallRequest.java
│               │               │   │   ├── ModuleInstallResponse.java
│               │               │   │   ├── ModuleInstallStatusCodes.java
│               │               │   │   ├── ModuleInstallStatusUpdate.java
│               │               │   │   └── internal/
│               │               │   │       └── ApiFeatureRequest.java
│               │               │   ├── package-info.java
│               │               │   ├── server/
│               │               │   │   └── FavaDiagnosticsEntity.java
│               │               │   └── util/
│               │               │       └── IOUtils.java
│               │               ├── dynamic/
│               │               │   └── DeferredLifecycleHelper.java
│               │               └── signin/
│               │                   ├── SignIn.java
│               │                   ├── SignInClient.java
│               │                   ├── SignInOptions.java
│               │                   └── internal/
│               │                       ├── AuthAccountResult.java
│               │                       ├── CheckServerAuthResult.java
│               │                       ├── RecordConsentByConsentResultRequest.java
│               │                       ├── RecordConsentByConsentResultResponse.java
│               │                       ├── RecordConsentRequest.java
│               │                       ├── SignInRequest.java
│               │                       └── SignInResponse.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           ├── common/
│                           │   ├── DummyApiClient.java
│                           │   ├── ForwardConnectionCallbacks.java
│                           │   ├── ForwardConnectionFailedListener.java
│                           │   ├── GmsClient.java
│                           │   ├── GmsConnector.java
│                           │   ├── MultiConnectionKeeper.java
│                           │   └── api/
│                           │       ├── AbstractPlayServicesClient.java
│                           │       ├── ApiClientBuilder.java
│                           │       ├── BasePendingResult.java
│                           │       ├── GoogleApiClientImpl.java
│                           │       ├── GoogleApiManager.java
│                           │       ├── InstantPendingResult.java
│                           │       ├── PendingGoogleApiCall.java
│                           │       ├── ResultCallbackHandler.java
│                           │       ├── ReturningGoogleApiCall.java
│                           │       └── VoidReturningGoogleApiCall.java
│                           └── signin/
│                               └── SignInClientImpl.java
├── play-services-basement/
│   ├── build.gradle
│   ├── consumer-rules.pro
│   ├── ktx/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── dynamic/
│   │                                   └── ObjectWrapper.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── common/
│           │                   │   ├── ConnectionResult.aidl
│           │                   │   ├── GoogleCertificatesLookupQuery.aidl
│           │                   │   ├── GoogleCertificatesLookupResponse.aidl
│           │                   │   ├── GoogleCertificatesQuery.aidl
│           │                   │   ├── api/
│           │                   │   │   ├── ApiMetadata.aidl
│           │                   │   │   ├── ComplianceOptions.aidl
│           │                   │   │   ├── Scope.aidl
│           │                   │   │   └── Status.aidl
│           │                   │   └── internal/
│           │                   │       ├── ConnectionInfo.aidl
│           │                   │       ├── GetServiceRequest.aidl
│           │                   │       ├── IAccountAccessor.aidl
│           │                   │       ├── ICancelToken.aidl
│           │                   │       ├── ICertData.aidl
│           │                   │       ├── IGmsCallbacks.aidl
│           │                   │       ├── IGmsServiceBroker.aidl
│           │                   │       ├── IGoogleCertificatesApi.aidl
│           │                   │       └── ValidateAccountRequest.aidl
│           │                   ├── dynamic/
│           │                   │   └── IObjectWrapper.aidl
│           │                   └── dynamite/
│           │                       └── IDynamiteLoader.aidl
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               ├── actions/
│           │   │               │   └── package-info.java
│           │   │               ├── common/
│           │   │               │   ├── ConnectionResult.java
│           │   │               │   ├── Feature.java
│           │   │               │   ├── GoogleCertificatesLookupQuery.java
│           │   │               │   ├── GoogleCertificatesLookupResponse.java
│           │   │               │   ├── GoogleCertificatesQuery.java
│           │   │               │   ├── GooglePlayServicesNotAvailableException.java
│           │   │               │   ├── GooglePlayServicesRepairableException.java
│           │   │               │   ├── Scopes.java
│           │   │               │   ├── UserRecoverableException.java
│           │   │               │   ├── api/
│           │   │               │   │   ├── ApiException.java
│           │   │               │   │   ├── ApiMetadata.java
│           │   │               │   │   ├── CommonStatusCodes.java
│           │   │               │   │   ├── ComplianceOptions.java
│           │   │               │   │   ├── Releasable.java
│           │   │               │   │   ├── ResolvableApiException.java
│           │   │               │   │   ├── Response.java
│           │   │               │   │   ├── Result.java
│           │   │               │   │   ├── ResultCallback.java
│           │   │               │   │   ├── ResultCallbacks.java
│           │   │               │   │   ├── Scope.java
│           │   │               │   │   ├── Status.java
│           │   │               │   │   └── internal/
│           │   │               │   │       └── StatusExceptionMapper.java
│           │   │               │   ├── internal/
│           │   │               │   │   ├── BaseGmsClient.java
│           │   │               │   │   ├── BinderWrapper.java
│           │   │               │   │   ├── CertData.java
│           │   │               │   │   ├── ConnectionInfo.java
│           │   │               │   │   ├── GetServiceRequest.java
│           │   │               │   │   ├── ValidateAccountRequest.java
│           │   │               │   │   └── safeparcel/
│           │   │               │   │       ├── AbstractSafeParcelable.java
│           │   │               │   │       ├── SafeParcelReader.java
│           │   │               │   │       ├── SafeParcelWriter.java
│           │   │               │   │       ├── SafeParcelable.java
│           │   │               │   │       ├── SafeParcelableCreatorAndWriter.java
│           │   │               │   │       └── SafeParcelableSerializer.java
│           │   │               │   └── package-info.java
│           │   │               ├── dynamic/
│           │   │               │   ├── LifecycleDelegate.java
│           │   │               │   ├── ObjectWrapper.java
│           │   │               │   └── OnDelegateCreatedListener.java
│           │   │               ├── dynamite/
│           │   │               │   └── DynamiteModule.java
│           │   │               ├── security/
│           │   │               │   └── ProviderInstaller.java
│           │   │               └── stats/
│           │   │                   └── GCoreWakefulBroadcastReceiver.java
│           │   └── org/
│           │       └── microg/
│           │           ├── gms/
│           │           │   ├── auth/
│           │           │   │   └── AuthConstants.java
│           │           │   ├── common/
│           │           │   │   ├── Constants.java
│           │           │   │   ├── GmsService.java
│           │           │   │   ├── Hide.java
│           │           │   │   └── PublicApi.java
│           │           │   ├── gcm/
│           │           │   │   └── GcmConstants.java
│           │           │   └── utils/
│           │           │       ├── ToStringHelper.java
│           │           │       └── WorkSourceUtil.java
│           │           └── safeparcel/
│           │               ├── AutoSafeParcelable.java
│           │               ├── ReflectedSafeParcelableCreatorAndWriter.java
│           │               ├── SafeParcelReflectionUtil.java
│           │               └── SafeParceled.java
│           └── res/
│               └── values/
│                   └── version.xml
├── play-services-cast/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── java/
│   │               ├── com/
│   │               │   └── google/
│   │               │       └── android/
│   │               │           └── gms/
│   │               │               └── cast/
│   │               │                   └── media/
│   │               │                       └── CastMediaRouteProviderService.java
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── cast/
│   │                               ├── CastDeviceControllerImpl.java
│   │                               ├── CastDeviceControllerService.java
│   │                               ├── CastMediaRouteController.java
│   │                               └── CastMediaRouteProvider.java
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── cast/
│           │                       ├── ApplicationMetadata.aidl
│           │                       ├── ApplicationStatus.aidl
│           │                       ├── CastDeviceStatus.aidl
│           │                       ├── JoinOptions.aidl
│           │                       ├── LaunchOptions.aidl
│           │                       ├── RequestItem.aidl
│           │                       └── internal/
│           │                           ├── IBundleCallback.aidl
│           │                           ├── ICastDeviceController.aidl
│           │                           ├── ICastDeviceControllerListener.aidl
│           │                           └── ICastService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── cast/
│               │                   ├── ApplicationMetadata.java
│               │                   ├── ApplicationStatus.java
│               │                   ├── Cast.java
│               │                   ├── CastDevice.java
│               │                   ├── CastDeviceStatus.java
│               │                   ├── CastMediaControlIntent.java
│               │                   ├── CastPresentation.java
│               │                   ├── CastRemoteDisplay.java
│               │                   ├── CastRemoteDisplayApi.java
│               │                   ├── CastRemoteDisplayLocalService.java
│               │                   ├── CastStatusCodes.java
│               │                   ├── CredentialsData.java
│               │                   ├── JoinOptions.java
│               │                   ├── LaunchOptions.java
│               │                   ├── RequestItem.java
│               │                   └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── cast/
│                               ├── CastApiClientBuilder.java
│                               ├── CastApiImpl.java
│                               ├── CastClientImpl.java
│                               ├── CastRemoteDisplayApiClientBuilder.java
│                               └── CastRemoteDisplayApiImpl.java
├── play-services-cast-framework/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── java/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── cast/
│   │                                   └── framework/
│   │                                       └── internal/
│   │                                           ├── CastContextImpl.java
│   │                                           ├── CastDynamiteModuleImpl.java
│   │                                           ├── CastSessionImpl.java
│   │                                           ├── DiscoveryManagerImpl.java
│   │                                           ├── MediaRouterCallbackImpl.java
│   │                                           ├── SessionImpl.java
│   │                                           └── SessionManagerImpl.java
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── cast/
│           │                       └── framework/
│           │                           ├── CastOptions.aidl
│           │                           ├── IAppVisibilityListener.aidl
│           │                           ├── ICastConnectionController.aidl
│           │                           ├── ICastContext.aidl
│           │                           ├── ICastSession.aidl
│           │                           ├── ICastStateListener.aidl
│           │                           ├── IDiscoveryManager.aidl
│           │                           ├── IDiscoveryManagerListener.aidl
│           │                           ├── IReconnectionService.aidl
│           │                           ├── ISession.aidl
│           │                           ├── ISessionManager.aidl
│           │                           ├── ISessionManagerListener.aidl
│           │                           ├── ISessionProvider.aidl
│           │                           ├── ISessionProxy.aidl
│           │                           ├── internal/
│           │                           │   ├── ICastDynamiteModule.aidl
│           │                           │   ├── IMediaRouter.aidl
│           │                           │   └── IMediaRouterCallback.aidl
│           │                           └── media/
│           │                               ├── CastMediaOptions.aidl
│           │                               ├── IImagePicker.aidl
│           │                               ├── IMediaNotificationService.aidl
│           │                               ├── INotificationActionsProvider.aidl
│           │                               ├── NotificationOptions.aidl
│           │                               └── internal/
│           │                                   ├── IFetchBitmapTask.aidl
│           │                                   └── IFetchBitmapTaskProgressPublisher.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── cast/
│               │                   └── framework/
│               │                       ├── CastButtonFactory.java
│               │                       ├── CastContext.java
│               │                       ├── CastOptions.java
│               │                       ├── CastSession.java
│               │                       ├── CastState.java
│               │                       ├── DiscoveryManager.java
│               │                       ├── ModuleUnavailableException.java
│               │                       ├── OptionsProvider.java
│               │                       ├── ReconnectionService.java
│               │                       ├── Session.java
│               │                       ├── SessionManager.java
│               │                       ├── SessionProvider.java
│               │                       └── media/
│               │                           ├── CastMediaOptions.java
│               │                           ├── MediaIntentReceiver.java
│               │                           ├── MediaNotificationService.java
│               │                           └── NotificationOptions.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── cast/
│                               ├── CastDynamiteModule.java
│                               ├── CastSessionProvider.java
│                               └── ISessionProviderImpl.java
├── play-services-chimera-core/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── java/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── chimera/
│           │                   ├── InstanceProvider.java
│           │                   ├── IntentService.java
│           │                   └── Service.java
│           └── kotlin/
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── chimera/
│                               ├── ServiceLoader.kt
│                               ├── ServiceProxy.kt
│                               └── StaticServiceLoader.kt
├── play-services-clearcut/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── clearcut/
│           │                   │   ├── LogEventParcelable.aidl
│           │                   │   └── internal/
│           │                   │       ├── IClearcutLoggerCallbacks.aidl
│           │                   │       ├── IClearcutLoggerService.aidl
│           │                   │       └── PlayLoggerContext.aidl
│           │                   └── playlog/
│           │                       └── internal/
│           │                           ├── IPlayLogService.aidl
│           │                           └── LogEvent.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               ├── clearcut/
│                               │   ├── LogEventParcelable.java
│                               │   └── internal/
│                               │       ├── LogVerifierResultParcelable.java
│                               │       └── PlayLoggerContext.java
│                               └── playlog/
│                                   └── internal/
│                                       └── LogEvent.java
├── play-services-conscrypt-provider-core/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               ├── common/
│                               │   └── security/
│                               │       └── ProviderInstallerImpl.java
│                               ├── dynamite/
│                               │   └── descriptors/
│                               │       └── com/
│                               │           └── google/
│                               │               └── android/
│                               │                   └── gms/
│                               │                       └── providerinstaller/
│                               │                           └── dynamite/
│                               │                               └── ModuleDescriptor.java
│                               └── providerinstaller/
│                                   └── ProviderInstallerImpl.java
├── play-services-core/
│   ├── build.gradle
│   ├── microg-ui-tools/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── tools/
│   │           │               ├── selfcheck/
│   │           │               │   ├── PermissionCheckGroup.java
│   │           │               │   └── SelfCheckGroup.java
│   │           │               └── ui/
│   │           │                   ├── AbstractAboutFragment.java
│   │           │                   ├── AbstractDashboardActivity.java
│   │           │                   ├── AbstractSelfCheckFragment.java
│   │           │                   ├── AbstractSettingsActivity.java
│   │           │                   ├── AbstractSettingsFragment.java
│   │           │                   ├── Condition.java
│   │           │                   ├── DialogPreference.java
│   │           │                   ├── LongTextPreference.java
│   │           │                   ├── RadioButtonPreference.java
│   │           │                   ├── ResourceSettingsFragment.java
│   │           │                   ├── SwitchBar.java
│   │           │                   ├── SwitchBarResourceSettingsFragment.java
│   │           │                   └── ToggleSwitch.java
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── empty.xml
│   │               │   ├── ic_expand_less.xml
│   │               │   ├── ic_expand_more.xml
│   │               │   └── switchbar_background.xml
│   │               ├── drawable-v21/
│   │               │   └── switchbar_background.xml
│   │               ├── layout/
│   │               │   ├── about_root.xml
│   │               │   ├── app_bar.xml
│   │               │   ├── condition_card.xml
│   │               │   ├── dashboard_activity.xml
│   │               │   ├── preference_widget_radiobutton.xml
│   │               │   ├── self_check.xml
│   │               │   ├── self_check_entry.xml
│   │               │   ├── self_check_group.xml
│   │               │   ├── settings_activity.xml
│   │               │   ├── switch_bar.xml
│   │               │   └── toolbar.xml
│   │               ├── layout-v14/
│   │               │   └── preference_category_dashboard.xml
│   │               ├── layout-v21/
│   │               │   └── preference_material.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   ├── multidex-keep.pro
│   └── src/
│       ├── huawei/
│       │   └── AndroidManifest.xml
│       ├── huaweilh/
│       │   └── AndroidManifest.xml
│       └── main/
│           ├── AndroidManifest.xml
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       ├── android/
│           │   │       │   └── gms/
│           │   │       │       ├── analytics/
│           │   │       │       │   └── service/
│           │   │       │       │       └── AnalyticsService.java
│           │   │       │       ├── auth/
│           │   │       │       │   ├── GetToken.java
│           │   │       │       │   └── TokenActivity.java
│           │   │       │       ├── chimera/
│           │   │       │       │   ├── DynamiteContextFactory.java
│           │   │       │       │   ├── DynamiteModuleInitializer.java
│           │   │       │       │   └── container/
│           │   │       │       │       ├── DynamiteContext.java
│           │   │       │       │       ├── DynamiteLoaderImpl.java
│           │   │       │       │       ├── DynamiteModuleInfo.java
│           │   │       │       │       └── FilteredClassLoader.java
│           │   │       │       ├── common/
│           │   │       │       │   └── ui/
│           │   │       │       │       └── SignInButtonCreatorImpl.java
│           │   │       │       ├── dynamite/
│           │   │       │       │   └── descriptors/
│           │   │       │       │       └── com/
│           │   │       │       │           └── google/
│           │   │       │       │               └── android/
│           │   │       │       │                   └── gms/
│           │   │       │       │                       ├── firebase_database/
│           │   │       │       │                       │   └── ModuleDescriptor.java
│           │   │       │       │                       ├── googlecertificates/
│           │   │       │       │                       │   └── ModuleDescriptor.java
│           │   │       │       │                       └── measurement/
│           │   │       │       │                           └── dynamite/
│           │   │       │       │                               └── ModuleDescriptor.java
│           │   │       │       ├── gcm/
│           │   │       │       │   └── http/
│           │   │       │       │       └── GoogleHttpService.java
│           │   │       │       ├── plus/
│           │   │       │       │   └── plusone/
│           │   │       │       │       └── PlusOneButtonCreatorImpl.java
│           │   │       │       ├── recovery/
│           │   │       │       │   └── RecoveryService.java
│           │   │       │       ├── semanticlocation/
│           │   │       │       │   └── SemanticLocationService.kt
│           │   │       │       └── wallet/
│           │   │       │           └── dynamite/
│           │   │       │               └── WalletDynamiteCreatorImpl.java
│           │   │       └── firebase/
│           │   │           └── database/
│           │   │               └── connection/
│           │   │                   └── idl/
│           │   │                       └── IPersistentConnectionImpl.java
│           │   └── org/
│           │       └── microg/
│           │           ├── gms/
│           │           │   ├── ads/
│           │           │   │   └── GService.java
│           │           │   ├── auth/
│           │           │   │   ├── AccountContentProvider.java
│           │           │   │   ├── AskPermissionActivity.java
│           │           │   │   ├── AuthManager.java
│           │           │   │   ├── AuthManagerServiceImpl.java
│           │           │   │   ├── login/
│           │           │   │   │   ├── AssistantActivity.java
│           │           │   │   │   └── LoginActivity.java
│           │           │   │   └── loginservice/
│           │           │   │       ├── AccountAuthenticator.java
│           │           │   │       └── GoogleLoginService.java
│           │           │   ├── car/
│           │           │   │   └── CarService.java
│           │           │   ├── checkin/
│           │           │   │   ├── CheckinClient.java
│           │           │   │   ├── CheckinManager.java
│           │           │   │   ├── CheckinService.java
│           │           │   │   └── TriggerReceiver.java
│           │           │   ├── drive/
│           │           │   │   └── api/
│           │           │   │       ├── DriveApiService.java
│           │           │   │       └── DriveServiceImpl.java
│           │           │   ├── feeds/
│           │           │   │   └── SubscribedFeedsProvider.java
│           │           │   ├── games/
│           │           │   │   ├── GamesStubService.java
│           │           │   │   └── UpgradeActivity.java
│           │           │   ├── gcm/
│           │           │   │   ├── GcmDatabase.java
│           │           │   │   ├── GcmLegacyData.java
│           │           │   │   ├── McsConstants.java
│           │           │   │   ├── McsInputStream.java
│           │           │   │   ├── McsOutputStream.java
│           │           │   │   ├── McsService.java
│           │           │   │   ├── PushRegisterManager.java
│           │           │   │   ├── RegisterRequest.java
│           │           │   │   ├── RegisterResponse.java
│           │           │   │   ├── SendReceiver.java
│           │           │   │   └── TriggerReceiver.java
│           │           │   ├── gservices/
│           │           │   │   ├── DatabaseHelper.java
│           │           │   │   ├── GServices.java
│           │           │   │   └── GServicesProvider.java
│           │           │   ├── icing/
│           │           │   │   ├── AppDataSearchImpl.java
│           │           │   │   ├── GlobalSearchAdminImpl.java
│           │           │   │   ├── IndexService.java
│           │           │   │   ├── LightweightAppDataSearchImpl.java
│           │           │   │   ├── LightweightIndexService.java
│           │           │   │   ├── SearchCorporaImpl.java
│           │           │   │   └── SearchQueriesImpl.java
│           │           │   ├── location/
│           │           │   │   └── LocationConstants.java
│           │           │   ├── mdm/
│           │           │   │   └── NetworkQualityService.java
│           │           │   ├── people/
│           │           │   │   ├── ContactSyncService.java
│           │           │   │   ├── DatabaseHelper.java
│           │           │   │   ├── PeopleManager.java
│           │           │   │   ├── PeopleService.java
│           │           │   │   └── PeopleServiceImpl.java
│           │           │   ├── phenotype/
│           │           │   │   └── ConfigurationProvider.java
│           │           │   ├── places/
│           │           │   │   ├── GeoDataService.java
│           │           │   │   ├── PlaceDetectionService.java
│           │           │   │   ├── PlaceDetectionServiceImpl.java
│           │           │   │   └── PlacesServiceImpl.java
│           │           │   ├── playlog/
│           │           │   │   ├── PlayLogService.java
│           │           │   │   └── PlayLogServiceImpl.java
│           │           │   ├── plus/
│           │           │   │   └── PlusOneButtonImpl.java
│           │           │   ├── reminders/
│           │           │   │   ├── RemindersService.java
│           │           │   │   └── RemindersServiceImpl.java
│           │           │   ├── settings/
│           │           │   │   ├── GmsFileProvider.kt
│           │           │   │   └── GoogleSettingsProvider.java
│           │           │   ├── ui/
│           │           │   │   ├── AboutFragment.java
│           │           │   │   ├── AskPushPermission.java
│           │           │   │   ├── Conditions.java
│           │           │   │   ├── GoogleMoreFragment.java
│           │           │   │   ├── LocationSettingsActivity.java
│           │           │   │   ├── MainSettingsActivity.java
│           │           │   │   ├── PlacePickerActivity.java
│           │           │   │   ├── SafetyNetAdvancedFragment.java
│           │           │   │   ├── SelfCheckFragment.java
│           │           │   │   └── SettingsDashboardActivity.java
│           │           │   └── wallet/
│           │           │       ├── OwServiceImpl.java
│           │           │       └── PaymentService.java
│           │           └── tools/
│           │               ├── AccountPickerActivity.java
│           │               └── selfcheck/
│           │                   ├── InstalledPackagesChecks.java
│           │                   ├── RomSpoofSignatureChecks.java
│           │                   └── SystemChecks.java
│           ├── kotlin/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               ├── ads/
│           │   │               │   ├── AdActivity.kt
│           │   │               │   └── omid/
│           │   │               │       ├── AdSession.kt
│           │   │               │       └── DynamiteOmid.kt
│           │   │               ├── common/
│           │   │               │   └── GoogleCertificatesImpl.kt
│           │   │               ├── credential/
│           │   │               │   └── manager/
│           │   │               │       └── PasswordManagerActivity.kt
│           │   │               ├── family/
│           │   │               │   └── v2/
│           │   │               │       └── manage/
│           │   │               │           ├── DeleteMemberActivity.kt
│           │   │               │           ├── FamilyApiClient.kt
│           │   │               │           ├── FamilyExtensions.kt
│           │   │               │           ├── FamilyManagementActivity.kt
│           │   │               │           ├── fragment/
│           │   │               │           │   ├── FamilyDeleteFragment.kt
│           │   │               │           │   ├── FamilyManagementFragment.kt
│           │   │               │           │   └── MemberDetailFragment.kt
│           │   │               │           ├── model/
│           │   │               │           │   └── FamilyViewModel.kt
│           │   │               │           └── ui/
│           │   │               │               ├── DeleteUI.kt
│           │   │               │               ├── FamilyUI.kt
│           │   │               │               └── ManagementUI.kt
│           │   │               ├── feedback/
│           │   │               │   └── FeedbackActivity.kt
│           │   │               ├── locationsharingreporter/
│           │   │               │   └── service/
│           │   │               │       ├── LocationShareIssue.kt
│           │   │               │       ├── LocationSharingReporterApiService.kt
│           │   │               │       ├── LocationSharingReporterExtensions.kt
│           │   │               │       ├── LocationSharingUpdate.kt
│           │   │               │       ├── RefreshPolicy.kt
│           │   │               │       ├── ReportingRequestStoreFile.kt
│           │   │               │       └── settings/
│           │   │               │           ├── LocationShareConfirmActivity.kt
│           │   │               │           └── LocationSharingSettingsActivity.kt
│           │   │               ├── maps/
│           │   │               │   └── auth/
│           │   │               │       └── ApiTokenService.kt
│           │   │               ├── measurement/
│           │   │               │   └── internal/
│           │   │               │       └── AppMeasurementDynamiteService.kt
│           │   │               ├── semanticlocationhistory/
│           │   │               │   └── SemanticLocationHistoryService.kt
│           │   │               └── wearable/
│           │   │                   └── consent/
│           │   │                       └── TermsOfServiceActivity.kt
│           │   └── org/
│           │       └── microg/
│           │           └── gms/
│           │               ├── accountaction/
│           │               │   ├── AccountActionActivity.kt
│           │               │   ├── AccountNotification.kt
│           │               │   ├── ErrorResolver.kt
│           │               │   ├── Resolution.kt
│           │               │   └── UserInterventionComponents.kt
│           │               ├── accountsettings/
│           │               │   └── ui/
│           │               │       ├── LoaderActivity.kt
│           │               │       ├── MainActivity.kt
│           │               │       ├── PicturePickerUtils.kt
│           │               │       ├── WebViewHelper.kt
│           │               │       ├── bridge/
│           │               │       │   ├── OcAdvertisingIdBridge.kt
│           │               │       │   ├── OcAndroidIdBridge.kt
│           │               │       │   ├── OcAppBarBridge.kt
│           │               │       │   ├── OcAppPermissionsBridge.kt
│           │               │       │   ├── OcClientInfoBridge.kt
│           │               │       │   ├── OcConsistencyBridge.kt
│           │               │       │   ├── OcContactsBridge.kt
│           │               │       │   ├── OcFido2Bridge.kt
│           │               │       │   ├── OcFidoU2fBridge.kt
│           │               │       │   ├── OcFilePickerBridge.kt
│           │               │       │   ├── OcFolsomBridge.kt
│           │               │       │   ├── OcPermissionsBridge.kt
│           │               │       │   ├── OcPlayProtectBridge.kt
│           │               │       │   ├── OcTelephonyBridge.kt
│           │               │       │   ├── OcTrustAgentBridge.kt
│           │               │       │   ├── OcUdcBridge.kt
│           │               │       │   └── OcUiBridge.kt
│           │               │       └── extensions.kt
│           │               ├── audit/
│           │               │   └── AuditService.kt
│           │               ├── auth/
│           │               │   ├── AskPackageOverrideActivity.kt
│           │               │   ├── account/
│           │               │   │   └── data/
│           │               │   │       ├── AccountDataService.kt
│           │               │   │       └── GoogleAuthService.kt
│           │               │   ├── appcert/
│           │               │   │   ├── AppCertManager.kt
│           │               │   │   └── AppCertService.kt
│           │               │   ├── consent/
│           │               │   │   └── ConsentSignInActivity.kt
│           │               │   ├── credentials/
│           │               │   │   ├── CredentialPickerActivity.kt
│           │               │   │   ├── CredentialsService.kt
│           │               │   │   └── identity/
│           │               │   │       ├── AuthorizationService.kt
│           │               │   │       ├── IdentityFidoProxyActivity.kt
│           │               │   │       └── IdentitySignInService.kt
│           │               │   ├── folsom/
│           │               │   │   ├── KeyRetrievalService.kt
│           │               │   │   └── ui/
│           │               │   │       └── GenericActivity.kt
│           │               │   ├── login/
│           │               │   │   ├── DroidGuardHandler.kt
│           │               │   │   └── FidoHandler.kt
│           │               │   ├── proxy/
│           │               │   │   └── AuthProxyService.kt
│           │               │   └── signin/
│           │               │       ├── AssistedSignInActivity.kt
│           │               │       ├── AssistedSignInFragment.kt
│           │               │       ├── AuthSignInActivity.kt
│           │               │       ├── AuthSignInService.kt
│           │               │       ├── SignInConfigurationService.kt
│           │               │       └── extensions.kt
│           │               ├── backup/
│           │               │   └── BackupSettingsActivity.kt
│           │               ├── checkin/
│           │               │   ├── CheckinPreferences.kt
│           │               │   └── ServiceInfo.kt
│           │               ├── chimera/
│           │               │   └── ServiceProvider.kt
│           │               ├── clearcut/
│           │               │   └── ClearcutLoggerService.kt
│           │               ├── common/
│           │               │   ├── ClientTelemetryService.kt
│           │               │   ├── GmsCommonService.kt
│           │               │   ├── PackageIntentOpWorker.kt
│           │               │   └── PersistentTrustedReceiver.kt
│           │               ├── credential/
│           │               │   └── CredentialManagerService.kt
│           │               ├── cryptauth/
│           │               │   ├── CryptAuthFlow.kt
│           │               │   └── CryptAuthRequests.kt
│           │               ├── feedback/
│           │               │   └── FeedbackService.kt
│           │               ├── firebase/
│           │               │   └── dynamiclinks/
│           │               │       └── DynamicLinksService.kt
│           │               ├── fonts/
│           │               │   └── FontsProvider.kt
│           │               ├── games/
│           │               │   ├── FirstPartyGamesService.kt
│           │               │   ├── GameProfileSettings.kt
│           │               │   ├── GamesConfigurationService.kt
│           │               │   ├── GamesConnectService.kt
│           │               │   ├── GamesService.kt
│           │               │   ├── GamesSignInActivity.kt
│           │               │   ├── achievements/
│           │               │   │   ├── AchievementResponseKt.kt
│           │               │   │   ├── AchievementsAdapter.kt
│           │               │   │   └── AchievementsApiClient.kt
│           │               │   ├── extensions.kt
│           │               │   ├── leaderboards/
│           │               │   │   ├── LeaderboardResponseKt.kt
│           │               │   │   ├── LeaderboardScoresAdapter.kt
│           │               │   │   ├── LeaderboardsAdapter.kt
│           │               │   │   └── LeaderboardsApiClient.kt
│           │               │   ├── snapshot/
│           │               │   │   ├── SnapshotResponseKt.kt
│           │               │   │   ├── SnapshotsAdapter.kt
│           │               │   │   ├── SnapshotsApiClient.kt
│           │               │   │   └── SnapshotsDataClient.kt
│           │               │   ├── ui/
│           │               │   │   ├── GameAccountChangeAdapter.kt
│           │               │   │   ├── GameChangeAccountFragment.kt
│           │               │   │   ├── GameDataDeleteAdapter.kt
│           │               │   │   ├── GameDeletePlayAccountFragment.kt
│           │               │   │   ├── GamePlayDataActivity.kt
│           │               │   │   ├── GamesUiFragment.kt
│           │               │   │   └── InGameUiActivity.kt
│           │               │   └── utils/
│           │               │       └── AccountPromptManager.kt
│           │               ├── gass/
│           │               │   └── GassService.kt
│           │               ├── gcm/
│           │               │   ├── GcmInGmsService.kt
│           │               │   ├── GcmPrefs.kt
│           │               │   ├── PushRegisterService.kt
│           │               │   ├── ServiceInfo.kt
│           │               │   ├── extensions.kt
│           │               │   └── registeration/
│           │               │       ├── ChimeGmsAccount.kt
│           │               │       └── ChimeGmsRegistrationHelper.kt
│           │               ├── googlehelp/
│           │               │   ├── GoogleHelpService.kt
│           │               │   └── ui/
│           │               │       └── GoogleHelpRedirectActivity.kt
│           │               ├── languageprofile/
│           │               │   └── LanguageProfileService.kt
│           │               ├── measurement/
│           │               │   └── MeasurementService.kt
│           │               ├── mlkit/
│           │               │   └── BarcodeScanningActivity.kt
│           │               ├── phenotype/
│           │               │   ├── PhenotypeService.kt
│           │               │   └── extensions.kt
│           │               ├── potokens/
│           │               │   ├── PoTokenHelper.kt
│           │               │   ├── PoTokenStore.kt
│           │               │   ├── PoTokensService.kt
│           │               │   └── extensions.kt
│           │               ├── provision/
│           │               │   └── ProvisionService.kt
│           │               ├── pseudonymous/
│           │               │   └── PseudonymousIdService.kt
│           │               ├── signin/
│           │               │   └── SignInService.kt
│           │               ├── udc/
│           │               │   ├── ActivityControlSettings.kt
│           │               │   └── FacsCacheService.kt
│           │               ├── ui/
│           │               │   ├── AccountsFragment.kt
│           │               │   ├── DeviceRegistrationFragment.kt
│           │               │   ├── GameProfileFragment.kt
│           │               │   ├── PushNotificationAdvancedFragment.kt
│           │               │   ├── PushNotificationAllAppsFragment.kt
│           │               │   ├── PushNotificationAppFragment.kt
│           │               │   ├── PushNotificationFragment.kt
│           │               │   ├── SafetyNetAdvancedFragment.kt
│           │               │   ├── SafetyNetAllAppsFragment.kt
│           │               │   ├── SafetyNetAppFragment.kt
│           │               │   ├── SafetyNetFragment.kt
│           │               │   ├── SafetyNetRecentAttestationPreferencesFragment.kt
│           │               │   ├── SafetyNetRecentDialogFragment.kt
│           │               │   ├── SafetyNetRecentRecaptchaEnterprisePreferencesFragment.kt
│           │               │   ├── SafetyNetRecentRecaptchaPreferencesFragment.kt
│           │               │   ├── SafetyNetUtils.kt
│           │               │   ├── SettingsFragment.kt
│           │               │   ├── VendingFragment.kt
│           │               │   ├── VendingInstallSettingsFragment.kt
│           │               │   └── WorkProfileFragment.kt
│           │               ├── usagereporting/
│           │               │   └── UsageReportingService.kt
│           │               ├── vending/
│           │               │   └── VendingPreferences.kt
│           │               └── workprofile/
│           │                   └── WorkProfilePreferences.kt
│           └── res/
│               ├── color/
│               │   ├── material_switch_bar_text_color.xml
│               │   └── preference_material_switch_color.xml
│               ├── drawable/
│               │   ├── circle_shape_background.xml
│               │   ├── dots_horizontal.xml
│               │   ├── ic_achievement_locked.xml
│               │   ├── ic_achievement_logo.xml
│               │   ├── ic_achievement_unlocked.xml
│               │   ├── ic_add.xml
│               │   ├── ic_add_account.xml
│               │   ├── ic_add_account_alt.xml
│               │   ├── ic_arrow_back.xml
│               │   ├── ic_arrow_close.xml
│               │   ├── ic_arrow_right.xml
│               │   ├── ic_bg_circle_gray.xml
│               │   ├── ic_bg_prompt.xml
│               │   ├── ic_certificate.xml
│               │   ├── ic_check_list.xml
│               │   ├── ic_choose_rounded_background.xml
│               │   ├── ic_circle_check.xml
│               │   ├── ic_circle_error.xml
│               │   ├── ic_circle_pending.xml
│               │   ├── ic_circle_warn.xml
│               │   ├── ic_close_btn.xml
│               │   ├── ic_cloud_bell.xml
│               │   ├── ic_device_login.xml
│               │   ├── ic_google_logo.xml
│               │   ├── ic_leaderboard_placeholder.xml
│               │   ├── ic_link.xml
│               │   ├── ic_manage_accounts.xml
│               │   ├── ic_map_marker.xml
│               │   ├── ic_more_vert.xml
│               │   ├── ic_plusone_medium.xml
│               │   ├── ic_plusone_small.xml
│               │   ├── ic_plusone_standard.xml
│               │   ├── ic_plusone_tall.xml
│               │   ├── ic_refresh.xml
│               │   ├── ic_shop.xml
│               │   ├── ic_snapshot_choose_fill.xml
│               │   ├── ic_snapshot_choose_stroke.xml
│               │   ├── ic_snapshot_load_error_image.xml
│               │   └── ic_work.xml
│               ├── drawable-anydpi-v21/
│               │   └── microg_light_color_24.xml
│               ├── drawable-v21/
│               │   ├── ic_app_foreground.xml
│               │   ├── ic_app_foreground_mono.xml
│               │   ├── ic_app_settings_foreground.xml
│               │   ├── ic_app_settings_foreground_mono.xml
│               │   └── ic_app_settings_system.xml
│               ├── drawable-v23/
│               │   ├── material_switch_bar_background.xml
│               │   └── material_switch_bar_background_disabled.xml
│               ├── layout/
│               │   ├── activity_consent_sign_in.xml
│               │   ├── activity_location_sharing_settings.xml
│               │   ├── ask_gcm.xml
│               │   ├── ask_permission.xml
│               │   ├── ask_permission_list_entry.xml
│               │   ├── assisted_signin_back_consent_layout.xml
│               │   ├── assisted_signin_choose_layout.xml
│               │   ├── assisted_signin_google_dialog.xml
│               │   ├── assisted_signin_hint_login.xml
│               │   ├── assisted_signin_loading_layout.xml
│               │   ├── assisted_signin_multi_layout.xml
│               │   ├── dialog_game_account_change_confirmation.xml
│               │   ├── dialog_game_account_delete_confirmation.xml
│               │   ├── fragment_game_change_account.xml
│               │   ├── fragment_game_delete_data.xml
│               │   ├── fragment_games_ui_layout.xml
│               │   ├── games_info.xml
│               │   ├── item_achievement_data_layout.xml
│               │   ├── item_achievement_header_layout.xml
│               │   ├── item_achievements_counter.xml
│               │   ├── item_game_account_data.xml
│               │   ├── item_game_account_radio_root.xml
│               │   ├── item_leaderboard_data_layout.xml
│               │   ├── item_leaderboard_score_data_layout.xml
│               │   ├── item_leaderboard_score_header_layout.xml
│               │   ├── item_snapshot_data_layout.xml
│               │   ├── item_view_game_account_prompt.xml
│               │   ├── login_assistant.xml
│               │   ├── login_assistant_loading.xml
│               │   ├── pick_place.xml
│               │   ├── preference_material_switch.xml
│               │   ├── preference_material_switch_bar.xml
│               │   ├── safety_net_advanced_fragment.xml
│               │   ├── safety_net_recent_card.xml
│               │   ├── safety_net_recent_fragment.xml
│               │   ├── safety_net_recents_list_fragment.xml
│               │   ├── settings_root_activity.xml
│               │   ├── signin_account_row.xml
│               │   ├── signin_confirm.xml
│               │   └── signin_picker.xml
│               ├── layout-v21/
│               │   └── activity_barcode_scanning.xml
│               ├── layout-w600dp/
│               │   └── signin_picker.xml
│               ├── menu/
│               │   └── pick_place.xml
│               ├── mipmap-anydpi-v26/
│               │   ├── ic_app.xml
│               │   └── ic_app_settings.xml
│               ├── navigation/
│               │   └── nav_settings.xml
│               ├── values/
│               │   ├── arrays.xml
│               │   ├── bools.xml
│               │   ├── colors.xml
│               │   ├── dimens.xml
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   ├── strings.xml
│               │   └── themes.xml
│               ├── values-ar/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ast/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-az/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-be/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-bn/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ca/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-cs/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-de/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-eo/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-es/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fa/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fi/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fil/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ga/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-hu/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-in/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-is/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-it/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-iw/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ja/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ko/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-lv/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-lzh/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ml/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-nb-rNO/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-night-v31/
│               │   └── themes.xml
│               ├── values-night-v8/
│               │   └── themes.xml
│               ├── values-nl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pt/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pt-rBR/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ro/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ru/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sv/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ta/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-th/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-tr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ug/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-uk/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-v23/
│               │   └── themes.xml
│               ├── values-v26/
│               │   └── ic_app_background.xml
│               ├── values-v27/
│               │   └── themes.xml
│               ├── values-v31/
│               │   └── themes.xml
│               ├── values-vi/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-zh-rCN/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-zh-rTW/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               └── xml/
│                   ├── authenticator.xml
│                   ├── contact_syncadapter.xml
│                   ├── file_provider_paths.xml
│                   ├── network_security_config.xml
│                   ├── preferences_accounts.xml
│                   ├── preferences_auth.xml
│                   ├── preferences_device_registration.xml
│                   ├── preferences_game_profile.xml
│                   ├── preferences_gcm_advanced.xml
│                   ├── preferences_google_more.xml
│                   ├── preferences_push_notifications.xml
│                   ├── preferences_push_notifications_all_apps.xml
│                   ├── preferences_push_notifications_app.xml
│                   ├── preferences_safetynet.xml
│                   ├── preferences_safetynet_advanced.xml
│                   ├── preferences_safetynet_all_apps.xml
│                   ├── preferences_safetynet_app.xml
│                   ├── preferences_snet_recent_attestation.xml
│                   ├── preferences_snet_recent_recaptcha.xml
│                   ├── preferences_start.xml
│                   ├── preferences_vending.xml
│                   ├── preferences_vending_installer_settings.xml
│                   ├── preferences_work_profile.xml
│                   ├── profile_bullhead_27.xml
│                   ├── profile_lineage_falcon_25.xml
│                   ├── profile_sdk_gphone64_arm64_33.xml
│                   └── profile_sdk_gphone64_x86_64_33.xml
├── play-services-core-proto/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── proto/
│               ├── apitoken.proto
│               ├── appcert.proto
│               ├── auth.proto
│               ├── checkin.proto
│               ├── controlsettings.proto
│               ├── cryptauth/
│               │   ├── LICENSE
│               │   ├── cryptauth_better_together_device_metadata.proto
│               │   ├── cryptauth_better_together_feature_metadata.proto
│               │   ├── cryptauth_client_app_metadata.proto
│               │   ├── cryptauth_common.proto
│               │   ├── cryptauth_devicesync.proto
│               │   ├── cryptauth_directive.proto
│               │   └── cryptauth_enrollment.proto
│               ├── deviceconfig.proto
│               ├── familymanagement.proto
│               ├── games.proto
│               ├── gnots.proto
│               ├── help.proto
│               ├── locationsharingreporter/
│               │   ├── reporting.proto
│               │   └── user_location_frontend_service.proto
│               ├── mcs.proto
│               ├── potoken.proto
│               ├── registration.proto
│               ├── snapshot.proto
│               └── uploaddeviceconfig.proto
├── play-services-cronet/
│   └── core/
│       ├── build.gradle
│       └── src/
│           └── main/
│               ├── AndroidManifest.xml
│               └── java/
│                   └── com/
│                       └── google/
│                           └── android/
│                               └── gms/
│                                   └── dynamite/
│                                       └── descriptors/
│                                           └── com/
│                                               └── google/
│                                                   └── android/
│                                                       └── gms/
│                                                           └── cronet_dynamite/
│                                                               └── ModuleDescriptor.java
├── play-services-drive/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── drive/
│           │                       ├── Contents.aidl
│           │                       ├── DriveId.aidl
│           │                       └── internal/
│           │                           ├── AddEventListenerRequest.aidl
│           │                           ├── AddPermissionRequest.aidl
│           │                           ├── AuthorizeAccessRequest.aidl
│           │                           ├── CancelPendingActionsRequest.aidl
│           │                           ├── ChangeResourceParentsRequest.aidl
│           │                           ├── ChangeSequenceNumber.aidl
│           │                           ├── ChangesResponse.aidl
│           │                           ├── CheckResourceIdsExistRequest.aidl
│           │                           ├── CloseContentsAndUpdateMetadataRequest.aidl
│           │                           ├── CloseContentsRequest.aidl
│           │                           ├── ContentsResponse.aidl
│           │                           ├── ControlProgressRequest.aidl
│           │                           ├── CreateContentsRequest.aidl
│           │                           ├── CreateFileIntentSenderRequest.aidl
│           │                           ├── CreateFileRequest.aidl
│           │                           ├── CreateFolderRequest.aidl
│           │                           ├── DeleteResourceRequest.aidl
│           │                           ├── DeviceUsagePreferenceResponse.aidl
│           │                           ├── DisconnectRequest.aidl
│           │                           ├── DownloadProgressResponse.aidl
│           │                           ├── DriveIdResponse.aidl
│           │                           ├── DrivePreferencesResponse.aidl
│           │                           ├── DriveServiceResponse.aidl
│           │                           ├── EventResponse.aidl
│           │                           ├── FetchThumbnailRequest.aidl
│           │                           ├── FetchThumbnailResponse.aidl
│           │                           ├── GetChangesRequest.aidl
│           │                           ├── GetDriveIdFromUniqueIdRequest.aidl
│           │                           ├── GetMetadataRequest.aidl
│           │                           ├── GetPermissionsRequest.aidl
│           │                           ├── GetPermissionsResponse.aidl
│           │                           ├── IDriveService.aidl
│           │                           ├── IDriveServiceCallbacks.aidl
│           │                           ├── IEventCallback.aidl
│           │                           ├── IRealtimeService.aidl
│           │                           ├── ListEntriesResponse.aidl
│           │                           ├── ListParentsRequest.aidl
│           │                           ├── ListParentsResponse.aidl
│           │                           ├── LoadRealtimeRequest.aidl
│           │                           ├── LoadRealtimeResponse.aidl
│           │                           ├── MetadataResponse.aidl
│           │                           ├── OpenContentsRequest.aidl
│           │                           ├── OpenFileIntentSenderRequest.aidl
│           │                           ├── RealtimeDocumentSyncRequest.aidl
│           │                           ├── RemoveEventListenerRequest.aidl
│           │                           ├── RemovePermissionRequest.aidl
│           │                           ├── ResourceIdSetResponse.aidl
│           │                           ├── SetDrivePreferencesRequest.aidl
│           │                           ├── SetFileUploadPreferencesRequest.aidl
│           │                           ├── SetResourceParentsRequest.aidl
│           │                           ├── StartStreamSession.aidl
│           │                           ├── StreamContentsRequest.aidl
│           │                           ├── StringListResponse.aidl
│           │                           ├── SyncMoreResponse.aidl
│           │                           ├── TrashResourceRequest.aidl
│           │                           ├── UnsubscribeResourceRequest.aidl
│           │                           ├── UntrashResourceRequest.aidl
│           │                           ├── UpdateMetadataRequest.aidl
│           │                           └── UpdatePermissionRequest.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── drive/
│                                   ├── Contents.java
│                                   ├── DriveId.java
│                                   ├── internal/
│                                   │   ├── AddEventListenerRequest.java
│                                   │   ├── AddPermissionRequest.java
│                                   │   ├── AuthorizeAccessRequest.java
│                                   │   ├── CancelPendingActionsRequest.java
│                                   │   ├── ChangeResourceParentsRequest.java
│                                   │   ├── ChangeSequenceNumber.java
│                                   │   ├── ChangesResponse.java
│                                   │   ├── CheckResourceIdsExistRequest.java
│                                   │   ├── CloseContentsAndUpdateMetadataRequest.java
│                                   │   ├── CloseContentsRequest.java
│                                   │   ├── ContentsResponse.java
│                                   │   ├── ControlProgressRequest.java
│                                   │   ├── CreateContentsRequest.java
│                                   │   ├── CreateFileIntentSenderRequest.java
│                                   │   ├── CreateFileRequest.java
│                                   │   ├── CreateFolderRequest.java
│                                   │   ├── DeleteResourceRequest.java
│                                   │   ├── DeviceUsagePreferenceResponse.java
│                                   │   ├── DisconnectRequest.java
│                                   │   ├── DownloadProgressResponse.java
│                                   │   ├── DriveIdResponse.java
│                                   │   ├── DrivePreferencesResponse.java
│                                   │   ├── DriveServiceResponse.java
│                                   │   ├── EventResponse.java
│                                   │   ├── FetchThumbnailRequest.java
│                                   │   ├── FetchThumbnailResponse.java
│                                   │   ├── GetChangesRequest.java
│                                   │   ├── GetDriveIdFromUniqueIdRequest.java
│                                   │   ├── GetMetadataRequest.java
│                                   │   ├── GetPermissionsRequest.java
│                                   │   ├── GetPermissionsResponse.java
│                                   │   ├── ListEntriesResponse.java
│                                   │   ├── ListParentsRequest.java
│                                   │   ├── ListParentsResponse.java
│                                   │   ├── LoadRealtimeRequest.java
│                                   │   ├── LoadRealtimeResponse.java
│                                   │   ├── MetadataResponse.java
│                                   │   ├── OpenContentsRequest.java
│                                   │   ├── OpenFileIntentSenderRequest.java
│                                   │   ├── RealtimeDocumentSyncRequest.java
│                                   │   ├── RemoveEventListenerRequest.java
│                                   │   ├── RemovePermissionRequest.java
│                                   │   ├── ResourceIdSetResponse.java
│                                   │   ├── SetDrivePreferencesRequest.java
│                                   │   ├── SetFileUploadPreferencesRequest.java
│                                   │   ├── SetResourceParentsRequest.java
│                                   │   ├── StartStreamSession.java
│                                   │   ├── StreamContentsRequest.java
│                                   │   ├── StringListResponse.java
│                                   │   ├── SyncMoreResponse.java
│                                   │   ├── TrashResourceRequest.java
│                                   │   ├── UnsubscribeResourceRequest.java
│                                   │   ├── UntrashResourceRequest.java
│                                   │   ├── UpdateMetadataRequest.java
│                                   │   └── UpdatePermissionRequest.java
│                                   └── metadata/
│                                       └── internal/
│                                           └── MetadataBundle.java
├── play-services-droidguard/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   ├── com/
│   │           │   │   └── google/
│   │           │   │       └── android/
│   │           │   │           └── gms/
│   │           │   │               ├── droidguard/
│   │           │   │               │   └── DroidGuardChimeraService.java
│   │           │   │               └── framework/
│   │           │   │                   └── tracing/
│   │           │   │                       └── wrapper/
│   │           │   │                           └── TracingIntentService.java
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── droidguard/
│   │           │                   ├── GuardCallback.java
│   │           │                   └── MediaDrmLock.java
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── droidguard/
│   │           │                   └── core/
│   │           │                       ├── DgDatabaseHelper.kt
│   │           │                       ├── DgpDatabaseHelper.kt
│   │           │                       ├── DroidGuardHandleImpl.kt
│   │           │                       ├── DroidGuardPreferences.kt
│   │           │                       ├── DroidGuardService.kt
│   │           │                       ├── DroidGuardServiceBroker.kt
│   │           │                       ├── DroidGuardServiceImpl.kt
│   │           │                       ├── FallbackCreator.kt
│   │           │                       ├── HardwareAttestationBlockingProvider.kt
│   │           │                       ├── NetworkHandleProxyFactory.kt
│   │           │                       ├── RemoteHandleImpl.kt
│   │           │                       ├── SerialUnflaky.kt
│   │           │                       ├── SignatureVerifier.kt
│   │           │                       ├── VersionUtil.kt
│   │           │                       └── ui/
│   │           │                           ├── ContainedEditTextPreference.kt
│   │           │                           └── DroidGuardPreferencesFragment.kt
│   │           ├── proto/
│   │           │   └── droidguard.proto
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── preference_edit_widget.xml
│   │               │   └── preference_material_with_widget_below.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               ├── values-zh-rTW/
│   │               │   └── strings.xml
│   │               └── xml/
│   │                   └── preferences_droidguard.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── droidguard/
│           │                       └── internal/
│           │                           ├── DroidGuardInitReply.aidl
│           │                           ├── DroidGuardResultsRequest.aidl
│           │                           ├── IDroidGuardCallbacks.aidl
│           │                           ├── IDroidGuardHandle.aidl
│           │                           └── IDroidGuardService.aidl
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               └── droidguard/
│           │   │                   ├── DroidGuard.java
│           │   │                   ├── DroidGuardClient.java
│           │   │                   ├── DroidGuardHandle.java
│           │   │                   └── internal/
│           │   │                       ├── DroidGuardInitReply.java
│           │   │                       └── DroidGuardResultsRequest.java
│           │   └── org/
│           │       └── microg/
│           │           └── gms/
│           │               └── droidguard/
│           │                   ├── DroidGuardApiClient.java
│           │                   ├── DroidGuardClientImpl.java
│           │                   ├── DroidGuardHandleImpl.java
│           │                   └── Utils.java
│           └── kotlin/
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── droidguard/
│                               ├── BytesException.kt
│                               ├── HandleProxy.kt
│                               └── HandleProxyFactory.kt
├── play-services-fido/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── fido/
│   │           │                   └── core/
│   │           │                       ├── Database.kt
│   │           │                       ├── RequestHandling.kt
│   │           │                       ├── features.kt
│   │           │                       ├── privileged/
│   │           │                       │   └── Fido2PrivilegedService.kt
│   │           │                       ├── protocol/
│   │           │                       │   ├── AndroidKeyAttestationObject.kt
│   │           │                       │   ├── AndroidSafetyNetAttestationObject.kt
│   │           │                       │   ├── AttestationObject.kt
│   │           │                       │   ├── AttestedCredentialData.kt
│   │           │                       │   ├── AuthenticatorData.kt
│   │           │                       │   ├── Cbor.kt
│   │           │                       │   ├── CoseKey.kt
│   │           │                       │   ├── CredentialId.kt
│   │           │                       │   ├── FidoU2fAttestationObject.kt
│   │           │                       │   ├── NoneAttestationObject.kt
│   │           │                       │   └── msgs/
│   │           │                       │       ├── Apdu.kt
│   │           │                       │       ├── AuthenticatorClientPIN.kt
│   │           │                       │       ├── AuthenticatorGetAssertion.kt
│   │           │                       │       ├── AuthenticatorGetInfo.kt
│   │           │                       │       ├── AuthenticatorMakeCredential.kt
│   │           │                       │       ├── Ctap1Command.kt
│   │           │                       │       ├── Ctap2Command.kt
│   │           │                       │       ├── U2fAuthentication.kt
│   │           │                       │       └── U2fRegistration.kt
│   │           │                       ├── regular/
│   │           │                       │   └── Fido2AppService.kt
│   │           │                       ├── transport/
│   │           │                       │   ├── CtapConnection.kt
│   │           │                       │   ├── Transport.kt
│   │           │                       │   ├── TransportHandler.kt
│   │           │                       │   ├── bluetooth/
│   │           │                       │   │   └── BluetoothTransportHandler.kt
│   │           │                       │   ├── nfc/
│   │           │                       │   │   ├── CtapNfcConnection.kt
│   │           │                       │   │   └── NfcTransportHandler.kt
│   │           │                       │   ├── screenlock/
│   │           │                       │   │   ├── ScreenLockCredentialStore.kt
│   │           │                       │   │   └── ScreenLockTransportHandler.kt
│   │           │                       │   └── usb/
│   │           │                       │       ├── UsbDevicePermissionManager.kt
│   │           │                       │       ├── UsbTransportHandler.kt
│   │           │                       │       ├── ctaphid/
│   │           │                       │       │   ├── CtapHidConnection.kt
│   │           │                       │       │   ├── CtapHidMessage.kt
│   │           │                       │       │   ├── CtapHidPacket.kt
│   │           │                       │       │   ├── CtapHidRequest.kt
│   │           │                       │       │   └── CtapHidResponse.kt
│   │           │                       │       └── extensions.kt
│   │           │                       └── ui/
│   │           │                           ├── AuthenticatorActivity.kt
│   │           │                           ├── AuthenticatorActivityFragment.kt
│   │           │                           ├── AuthenticatorActivityFragmentData.kt
│   │           │                           ├── NfcTransportFragment.kt
│   │           │                           ├── PinFragment.kt
│   │           │                           ├── SignInSelectionFragment.kt
│   │           │                           ├── TransportSelectionFragment.kt
│   │           │                           ├── UsbTransportFragment.kt
│   │           │                           └── WelcomeFragment.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── fido_nfc_wait_connect.xml
│   │               │   ├── fido_usb_wait_confirm.xml
│   │               │   ├── fido_usb_wait_connect.xml
│   │               │   ├── ic_fido_bluetooth.xml
│   │               │   ├── ic_fido_close_btn.xml
│   │               │   ├── ic_fido_fingerprint.xml
│   │               │   ├── ic_fido_key.xml
│   │               │   ├── ic_fido_nfc.xml
│   │               │   └── ic_fido_usb.xml
│   │               ├── drawable-anydpi-v23/
│   │               │   ├── fido_nfc_wait_connect.xml
│   │               │   ├── fido_usb_wait_confirm.xml
│   │               │   └── fido_usb_wait_connect.xml
│   │               ├── layout/
│   │               │   ├── fido_authenticator_activity.xml
│   │               │   ├── fido_nfc_transport_fragment.xml
│   │               │   ├── fido_pin_fragment.xml
│   │               │   ├── fido_sign_in_item_layout.xml
│   │               │   ├── fido_sign_in_selection_fragment.xml
│   │               │   ├── fido_transport_selection_fragment.xml
│   │               │   ├── fido_usb_transport_fragment.xml
│   │               │   └── fido_welcome_fragment.xml
│   │               ├── navigation/
│   │               │   └── nav_fido_authenticator.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── fido/
│           │                       └── fido2/
│           │                           ├── api/
│           │                           │   ├── IBooleanCallback.aidl
│           │                           │   ├── ICredentialListCallback.aidl
│           │                           │   └── common/
│           │                           │       ├── BrowserPublicKeyCredentialCreationOptions.aidl
│           │                           │       ├── BrowserPublicKeyCredentialRequestOptions.aidl
│           │                           │       ├── FidoCredentialDetails.aidl
│           │                           │       ├── PublicKeyCredentialCreationOptions.aidl
│           │                           │       └── PublicKeyCredentialRequestOptions.aidl
│           │                           └── internal/
│           │                               ├── privileged/
│           │                               │   ├── IFido2PrivilegedCallbacks.aidl
│           │                               │   └── IFido2PrivilegedService.aidl
│           │                               └── regular/
│           │                                   ├── IFido2AppCallbacks.aidl
│           │                                   └── IFido2AppService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── fido/
│               │                   ├── Fido.java
│               │                   ├── common/
│               │                   │   └── Transport.java
│               │                   ├── fido2/
│               │                   │   ├── Fido2ApiClient.java
│               │                   │   ├── Fido2PendingIntent.java
│               │                   │   ├── Fido2PrivilegedApiClient.java
│               │                   │   └── api/
│               │                   │       └── common/
│               │                   │           ├── Algorithm.java
│               │                   │           ├── Attachment.java
│               │                   │           ├── AttestationConveyancePreference.java
│               │                   │           ├── AuthenticationExtensions.java
│               │                   │           ├── AuthenticationExtensionsClientOutputs.java
│               │                   │           ├── AuthenticationExtensionsCredPropsOutputs.java
│               │                   │           ├── AuthenticationExtensionsDevicePublicKeyOutputs.java
│               │                   │           ├── AuthenticationExtensionsPrfOutputs.java
│               │                   │           ├── AuthenticatorAssertionResponse.java
│               │                   │           ├── AuthenticatorAttestationResponse.java
│               │                   │           ├── AuthenticatorErrorResponse.java
│               │                   │           ├── AuthenticatorResponse.java
│               │                   │           ├── AuthenticatorSelectionCriteria.java
│               │                   │           ├── BrowserPublicKeyCredentialCreationOptions.java
│               │                   │           ├── BrowserPublicKeyCredentialRequestOptions.java
│               │                   │           ├── BrowserRequestOptions.java
│               │                   │           ├── COSEAlgorithmIdentifier.java
│               │                   │           ├── CableAuthenticationData.java
│               │                   │           ├── CableAuthenticationExtension.java
│               │                   │           ├── CredentialPropertiesOutput.java
│               │                   │           ├── DevicePublicKeyExtension.java
│               │                   │           ├── DevicePublicKeyStringDef.java
│               │                   │           ├── EC2Algorithm.java
│               │                   │           ├── ErrorCode.java
│               │                   │           ├── FidoAppIdExtension.java
│               │                   │           ├── FidoCredentialDetails.java
│               │                   │           ├── GoogleMultiAssertionExtension.java
│               │                   │           ├── GoogleSessionIdExtension.java
│               │                   │           ├── GoogleSilentVerificationExtension.java
│               │                   │           ├── GoogleThirdPartyPaymentExtension.java
│               │                   │           ├── GoogleTunnelServerIdExtension.java
│               │                   │           ├── HmacSecretExtension.java
│               │                   │           ├── KeyProtectionTypes.java
│               │                   │           ├── MatcherProtectionTypes.java
│               │                   │           ├── PaymentExtension.java
│               │                   │           ├── PrfExtension.java
│               │                   │           ├── PublicKeyCredential.java
│               │                   │           ├── PublicKeyCredentialCreationOptions.java
│               │                   │           ├── PublicKeyCredentialDescriptor.java
│               │                   │           ├── PublicKeyCredentialParameters.java
│               │                   │           ├── PublicKeyCredentialRequestOptions.java
│               │                   │           ├── PublicKeyCredentialRpEntity.java
│               │                   │           ├── PublicKeyCredentialType.java
│               │                   │           ├── PublicKeyCredentialUserEntity.java
│               │                   │           ├── RSAAlgorithm.java
│               │                   │           ├── RequestOptions.java
│               │                   │           ├── ResidentKeyRequirement.java
│               │                   │           ├── SimpleTransactionAuthorizationExtension.java
│               │                   │           ├── TokenBinding.java
│               │                   │           ├── UserVerificationMethodExtension.java
│               │                   │           ├── UserVerificationMethods.java
│               │                   │           ├── UserVerificationRequirement.java
│               │                   │           ├── UvmEntries.java
│               │                   │           └── UvmEntry.java
│               │                   ├── sourcedevice/
│               │                   │   ├── SourceDirectTransferClient.java
│               │                   │   ├── SourceDirectTransferResult.java
│               │                   │   └── SourceStartDirectTransferOptions.java
│               │                   └── u2f/
│               │                       ├── U2fApiClient.java
│               │                       └── U2fPendingIntent.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── fido/
│                               └── fido2/
│                                   ├── Fido2GmsClient.java
│                                   ├── Fido2PendingIntentImpl.java
│                                   └── Fido2PrivilegedGmsClient.java
├── play-services-fitness/
│   ├── .gitignore
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── fitness/
│   │                                   └── service/
│   │                                       ├── config/
│   │                                       │   └── FitConfigBroker.kt
│   │                                       ├── extensions.kt
│   │                                       ├── history/
│   │                                       │   └── FitHistoryBroker.kt
│   │                                       ├── recording/
│   │                                       │   └── FitRecordingBroker.kt
│   │                                       └── sessions/
│   │                                           └── FitSessionsBroker.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── fitness/
│           │                       ├── internal/
│           │                       │   ├── IDailyTotalCallback.aidl
│           │                       │   ├── IDataPointChangesCallback.aidl
│           │                       │   ├── IDataReadCallback.aidl
│           │                       │   ├── IDataTypeCallback.aidl
│           │                       │   ├── IDebugInfoCallback.aidl
│           │                       │   ├── IFileUriCallback.aidl
│           │                       │   ├── IGoogleFitConfigApi.aidl
│           │                       │   ├── IGoogleFitHistoryApi.aidl
│           │                       │   ├── IGoogleFitRecordingApi.aidl
│           │                       │   ├── IGoogleFitSessionsApi.aidl
│           │                       │   ├── IListSubscriptionsCallback.aidl
│           │                       │   ├── IReadRawCallback.aidl
│           │                       │   ├── IReadStatsCallback.aidl
│           │                       │   ├── ISessionChangesCallback.aidl
│           │                       │   ├── ISessionReadCallback.aidl
│           │                       │   ├── ISessionStopCallback.aidl
│           │                       │   ├── IStatusCallback.aidl
│           │                       │   └── ISyncInfoCallback.aidl
│           │                       ├── request/
│           │                       │   ├── DailyTotalRequest.aidl
│           │                       │   ├── DataDeleteRequest.aidl
│           │                       │   ├── DataInsertRequest.aidl
│           │                       │   ├── DataPointChangesRequest.aidl
│           │                       │   ├── DataReadRequest.aidl
│           │                       │   ├── DataReadResult.aidl
│           │                       │   ├── DataSourceQueryParams.aidl
│           │                       │   ├── DataTypeCreateRequest.aidl
│           │                       │   ├── DataUpdateListenerRegistrationRequest.aidl
│           │                       │   ├── DataUpdateListenerUnregistrationRequest.aidl
│           │                       │   ├── DataUpdateRequest.aidl
│           │                       │   ├── DebugInfoRequest.aidl
│           │                       │   ├── DisableFitRequest.aidl
│           │                       │   ├── GetFileUriRequest.aidl
│           │                       │   ├── GetSyncInfoRequest.aidl
│           │                       │   ├── ListSubscriptionsRequest.aidl
│           │                       │   ├── ReadDataTypeRequest.aidl
│           │                       │   ├── ReadRawRequest.aidl
│           │                       │   ├── ReadStatsRequest.aidl
│           │                       │   ├── SessionChangesRequest.aidl
│           │                       │   ├── SessionInsertRequest.aidl
│           │                       │   ├── SessionReadRequest.aidl
│           │                       │   ├── SessionRegistrationRequest.aidl
│           │                       │   ├── SessionStartRequest.aidl
│           │                       │   ├── SessionStopRequest.aidl
│           │                       │   ├── SessionUnregistrationRequest.aidl
│           │                       │   ├── SubscribeRequest.aidl
│           │                       │   └── UnsubscribeRequest.aidl
│           │                       └── result/
│           │                           ├── DataSourceStatsResult.aidl
│           │                           ├── DataStatsResult.aidl
│           │                           ├── DataTypeResult.aidl
│           │                           ├── ListSubscriptionsResult.aidl
│           │                           ├── SessionReadResult.aidl
│           │                           └── SessionStopResult.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── fitness/
│                                   ├── data/
│                                   │   ├── Application.java
│                                   │   ├── Bucket.java
│                                   │   ├── DataPoint.java
│                                   │   ├── DataSet.java
│                                   │   ├── DataSource.java
│                                   │   ├── DataType.java
│                                   │   ├── Device.java
│                                   │   ├── Field.java
│                                   │   ├── MapValue.java
│                                   │   ├── Session.java
│                                   │   ├── SessionDataSet.java
│                                   │   ├── Subscription.java
│                                   │   ├── Value.java
│                                   │   └── package-info.java
│                                   ├── package-info.java
│                           

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 1


================================================
FILE: .github/matchers/gradle-build-kotlin-error-matcher.json
================================================
{
  "problemMatcher": [
    {
      "owner": "gradle-build-kotlin-error-matcher",
      "severity": "error",
      "pattern": [
        {
          "regexp": "^e:\\sfile:\/\/([^:]+):(\\d+):(\\d+)\\s(.+)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "message": 4
        }
      ]
    }
  ]
}


================================================
FILE: .github/matchers/gradle-build-kotlin-error-matcher.json.license
================================================
SPDX-FileCopyrightText: none
SPDX-License-Identifier: CC0-1.0


================================================
FILE: .github/matchers/gradle-build-matcher.json
================================================
{
  "problemMatcher": [
    {
      "owner": "gradle-build-matcher",
      "pattern": [
        {
          "regexp": "^\\s*([^:]+):(\\d+):\\s(error|Error):\\s(.+)$",
          "file": 1,
          "line": 2,
          "severity": 3,
          "message": 4
        }
      ]
    }
  ]
}


================================================
FILE: .github/matchers/gradle-build-matcher.json.license
================================================
SPDX-FileCopyrightText: none
SPDX-License-Identifier: CC0-1.0


================================================
FILE: .github/workflows/build.yml
================================================
name: "Gradle build"
permissions: {}
on:
  - push
  - pull_request
  - workflow_dispatch

jobs:
  build:
    name: "Gradle build ${{ matrix.target }}"
    runs-on: ubuntu-latest
    env:
      GRADLE_MICROG_VERSION_WITHOUT_GIT: 1

    strategy:
      matrix:
        target: [Debug, Release]

    steps:
      - name: "Free disk space"
        run: |
          # Deleting unneeded software packages
          sudo rm -rf /opt/hostedtoolcache/CodeQL
          sudo rm -rf /opt/hostedtoolcache/go

          # Log available space
          df -h
      - name: "Checkout sources"
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: "Setup Java"
        uses: actions/setup-java@v5
        with:
          distribution: "temurin"
          java-version: "17"
      - name: "Setup Gradle"
        uses: gradle/actions/setup-gradle@v5
        with:
          cache-encryption-key: ${{ secrets.GradleEncryptionKey }}
          build-scan-publish: true
          build-scan-terms-of-use-url: "https://gradle.com/help/legal-terms-of-use"
          build-scan-terms-of-use-agree: "yes"
      - name: "Setup matchers"
        run: |
          # Setting up matchers...

          matchers_dir='${{ github.workspace }}/.github/matchers'
          matcher_list()
          {
            echo 'gradle-build-matcher.json'
            echo 'gradle-build-kotlin-error-matcher.json'
          }

          matcher_list | while IFS='' read -r NAME; do
            if test -f "${matchers_dir:?}/${NAME:?}"; then
              echo "::add-matcher::${matchers_dir:?}/${NAME:?}"
              echo "Matcher configured: ${NAME:?}"
            fi
          done
      - name: "Execute Gradle assemble"
        run: "./gradlew assemble${{ matrix.target }}"
      - name: "Execute Gradle lint"
        run: "./gradlew lint${{ matrix.target }}"


================================================
FILE: .github/workflows/dependency-submission.yml
================================================
name: Dependency Submission
permissions:
  contents: write
on:
  push:
    branches: [ 'master' ]

jobs:
  dependency-submission:
    runs-on: ubuntu-latest
    env:
      GRADLE_MICROG_VERSION_WITHOUT_GIT: 1

    steps:
      - name: "Checkout sources"
        uses: actions/checkout@v6
        with:
          fetch-depth: 0
      - name: "Setup Java"
        uses: actions/setup-java@v5
        with:
          distribution: "temurin"
          java-version: "17"
      - name: "Generate and submit gradle dependency graph"
        uses: gradle/actions/dependency-submission@v5
        with:
          cache-encryption-key: ${{ secrets.GradleEncryptionKey }}
          dependency-graph-continue-on-failure: true
          build-scan-publish: true
          build-scan-terms-of-use-url: "https://gradle.com/help/legal-terms-of-use"
          build-scan-terms-of-use-agree: "yes"


================================================
FILE: .gitignore
================================================
*.iml
gen/
bin/
build/
.gradle/
.idea/
user.gradle
local.properties
.directory

.settings
.classpath
.project


================================================
FILE: Android.mk
================================================
# Copyright (c) 2015 μg Project Team
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := GmsCore
LOCAL_MODULE_TAGS := optional
LOCAL_PACKAGE_NAME := GmsCore

gmscore_root  := $(LOCAL_PATH)
gmscore_dir   := play-services-core
gmscore_out   := $(TARGET_COMMON_OUT_ROOT)/obj/APPS/$(LOCAL_MODULE)_intermediates
gmscore_build := $(gmscore_dir)/build
gmscore_apk   := $(gmscore_build)/outputs/apk/release/play-services-core-release-unsigned.apk

$(gmscore_root)/$(gmscore_apk):
	rm -Rf $(gmscore_root)/$(gmscore_build)
	mkdir -p $(ANDROID_BUILD_TOP)/$(gmscore_out)
	ln -s $(ANDROID_BUILD_TOP)/$(gmscore_out) $(ANDROID_BUILD_TOP)/$(gmscore_root)/$(gmscore_build)
	echo "sdk.dir=$(ANDROID_HOME)" > $(gmscore_root)/local.properties
	cd $(gmscore_root) && git submodule update --recursive --init
	cd $(gmscore_root)/$(gmscore_dir) && JAVA_TOOL_OPTIONS="$(JAVA_TOOL_OPTIONS) -Dfile.encoding=UTF8" ../gradlew assembleRelease

LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(gmscore_apk)
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

include $(BUILD_PREBUILT)


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS


================================================
FILE: LICENSES/Apache-2.0.txt
================================================
Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
AND DISTRIBUTION

   1. Definitions.

      

"License" shall mean the terms and conditions for use, reproduction, and distribution
as defined by Sections 1 through 9 of this document.

      

"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.

      

"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct
or indirect, to cause the direction or management of such entity, whether
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more
of the outstanding shares, or (iii) beneficial ownership of such entity.

      

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions
granted by this License.

      

"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.

      

"Object" form shall mean any form resulting from mechanical transformation
or translation of a Source form, including but not limited to compiled object
code, generated documentation, and conversions to other media types.

      

"Work" shall mean the work of authorship, whether in Source or Object form,
made available under the License, as indicated by a copyright notice that
is included in or attached to the work (an example is provided in the Appendix
below).

      

"Derivative Works" shall mean any work, whether in Source or Object form,
that is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative
Works shall not include works that remain separable from, or merely link (or
bind by name) to the interfaces of, the Work and Derivative Works thereof.

      

"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative
Works thereof, that is intentionally submitted to Licensor for inclusion in
the Work by the copyright owner or by an individual or Legal Entity authorized
to submit on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication
sent to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor
for the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."

      

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently incorporated
within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this
License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
Derivative Works of, publicly display, publicly perform, sublicense, and distribute
the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License,
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in this section) patent
license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Work, where such license applies only to those patent claims
licensable by such Contributor that are necessarily infringed by their Contribution(s)
alone or by combination of their Contribution(s) with the Work to which such
Contribution(s) was submitted. If You institute patent litigation against
any entity (including a cross-claim or counterclaim in a lawsuit) alleging
that the Work or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses granted to You
under this License for that Work shall terminate as of the date such litigation
is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or
Derivative Works thereof in any medium, with or without modifications, and
in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy
of this License; and

(b) You must cause any modified files to carry prominent notices stating that
You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source
form of the Work, excluding those notices that do not pertain to any part
of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution,
then any Derivative Works that You distribute must include a readable copy
of the attribution notices contained within such NOTICE file, excluding those
notices that do not pertain to any part of the Derivative Works, in at least
one of the following places: within a NOTICE text file distributed as part
of the Derivative Works; within the Source form or documentation, if provided
along with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works
that You distribute, alongside or as an addendum to the NOTICE text from the
Work, provided that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction,
or distribution of Your modifications, or for any such Derivative Works as
a whole, provided Your use, reproduction, and distribution of the Work otherwise
complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any
Contribution intentionally submitted for inclusion in the Work by You to the
Licensor shall be under the terms and conditions of this License, without
any additional terms or conditions. Notwithstanding the above, nothing herein
shall supersede or modify the terms of any separate license agreement you
may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names,
trademarks, service marks, or product names of the Licensor, except as required
for reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to
in writing, Licensor provides the Work (and each Contributor provides its
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied, including, without limitation, any warranties
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR
A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness
of using or redistributing the Work and assume any risks associated with Your
exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether
in tort (including negligence), contract, or otherwise, unless required by
applicable law (such as deliberate and grossly negligent acts) or agreed to
in writing, shall any Contributor be liable to You for damages, including
any direct, indirect, special, incidental, or consequential damages of any
character arising as a result of this License or out of the use or inability
to use the Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all other commercial
damages or losses), even if such Contributor has been advised of the possibility
of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work
or Derivative Works thereof, You may choose to offer, and charge a fee for,
acceptance of support, warranty, indemnity, or other liability obligations
and/or rights consistent with this License. However, in accepting such obligations,
You may act only on Your own behalf and on Your sole responsibility, not on
behalf of any other Contributor, and only if You agree to indemnify, defend,
and hold each Contributor harmless for any liability incurred by, or claims
asserted against, such Contributor by reason of your accepting any such warranty
or additional liability. END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "[]" replaced with your own identifying
information. (Don't include the brackets!) The text should be enclosed in
the appropriate comment syntax for the file format. We also recommend that
a file or class name and description of purpose be included on the same "printed
page" as the copyright notice for easier identification within third-party
archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.


================================================
FILE: LICENSES/CC-BY-4.0.txt
================================================
Creative Commons Attribution 4.0 International Creative Commons Corporation
("Creative Commons") is not a law firm and does not provide legal services
or legal advice. Distribution of Creative Commons public licenses does not
create a lawyer-client or other relationship. Creative Commons makes its licenses
and related information available on an "as-is" basis. Creative Commons gives
no warranties regarding its licenses, any material licensed under their terms
and conditions, or any related information. Creative Commons disclaims all
liability for damages resulting from their use to the fullest extent possible.

Using Creative Commons Public Licenses

Creative Commons public licenses provide a standard set of terms and conditions
that creators and other rights holders may use to share original works of
authorship and other material subject to copyright and certain other rights
specified in the public license below. The following considerations are for
informational purposes only, are not exhaustive, and do not form part of our
licenses.

Considerations for licensors: Our public licenses are intended for use by
those authorized to give the public permission to use material in ways otherwise
restricted by copyright and certain other rights. Our licenses are irrevocable.
Licensors should read and understand the terms and conditions of the license
they choose before applying it. Licensors should also secure all rights necessary
before applying our licenses so that the public can reuse the material as
expected. Licensors should clearly mark any material not subject to the license.
This includes other CC-licensed material, or material used under an exception
or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors

Considerations for the public: By using one of our public licenses, a licensor
grants the public permission to use the licensed material under specified
terms and conditions. If the licensor's permission is not necessary for any
reason–for example, because of any applicable exception or limitation to copyright–then
that use is not regulated by the license. Our licenses grant only permissions
under copyright and certain other rights that a licensor has authority to
grant. Use of the licensed material may still be restricted for other reasons,
including because others have copyright or other rights in the material. A
licensor may make special requests, such as asking that all changes be marked
or described. Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations for the public
: wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution
4.0 International Public License

By exercising the Licensed Rights (defined below), You accept and agree to
be bound by the terms and conditions of this Creative Commons Attribution
4.0 International Public License ("Public License"). To the extent this Public
License may be interpreted as a contract, You are granted the Licensed Rights
in consideration of Your acceptance of these terms and conditions, and the
Licensor grants You such rights in consideration of benefits the Licensor
receives from making the Licensed Material available under these terms and
conditions.

Section 1 – Definitions.

a. Adapted Material means material subject to Copyright and Similar Rights
that is derived from or based upon the Licensed Material and in which the
Licensed Material is translated, altered, arranged, transformed, or otherwise
modified in a manner requiring permission under the Copyright and Similar
Rights held by the Licensor. For purposes of this Public License, where the
Licensed Material is a musical work, performance, or sound recording, Adapted
Material is always produced where the Licensed Material is synched in timed
relation with a moving image.

b. Adapter's License means the license You apply to Your Copyright and Similar
Rights in Your contributions to Adapted Material in accordance with the terms
and conditions of this Public License.

c. Copyright and Similar Rights means copyright and/or similar rights closely
related to copyright including, without limitation, performance, broadcast,
sound recording, and Sui Generis Database Rights, without regard to how the
rights are labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.

d. Effective Technological Measures means those measures that, in the absence
of proper authority, may not be circumvented under laws fulfilling obligations
under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,
and/or similar international agreements.

e. Exceptions and Limitations means fair use, fair dealing, and/or any other
exception or limitation to Copyright and Similar Rights that applies to Your
use of the Licensed Material.

f. Licensed Material means the artistic or literary work, database, or other
material to which the Licensor applied this Public License.

g. Licensed Rights means the rights granted to You subject to the terms and
conditions of this Public License, which are limited to all Copyright and
Similar Rights that apply to Your use of the Licensed Material and that the
Licensor has authority to license.

h. Licensor means the individual(s) or entity(ies) granting rights under this
Public License.

i. Share means to provide material to the public by any means or process that
requires permission under the Licensed Rights, such as reproduction, public
display, public performance, distribution, dissemination, communication, or
importation, and to make material available to the public including in ways
that members of the public may access the material from a place and at a time
individually chosen by them.

j. Sui Generis Database Rights means rights other than copyright resulting
from Directive 96/9/EC of the European Parliament and of the Council of 11
March 1996 on the legal protection of databases, as amended and/or succeeded,
as well as other essentially equivalent rights anywhere in the world.

k. You means the individual or entity exercising the Licensed Rights under
this Public License. Your has a corresponding meaning.

Section 2 – Scope.

   a. License grant.

1. Subject to the terms and conditions of this Public License, the Licensor
hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
irrevocable license to exercise the Licensed Rights in the Licensed Material
to:

         A. reproduce and Share the Licensed Material, in whole or in part; and

         B. produce, reproduce, and Share Adapted Material.

2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions
and Limitations apply to Your use, this Public License does not apply, and
You do not need to comply with its terms and conditions.

      3. Term. The term of this Public License is specified in Section 6(a).

4. Media and formats; technical modifications allowed. The Licensor authorizes
You to exercise the Licensed Rights in all media and formats whether now known
or hereafter created, and to make technical modifications necessary to do
so. The Licensor waives and/or agrees not to assert any right or authority
to forbid You from making technical modifications necessary to exercise the
Licensed Rights, including technical modifications necessary to circumvent
Effective Technological Measures. For purposes of this Public License, simply
making modifications authorized by this Section 2(a)(4) never produces Adapted
Material.

      5. Downstream recipients.

A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed
Material automatically receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this Public License.

B. No downstream restrictions. You may not offer or impose any additional
or different terms or conditions on, or apply any Effective Technological
Measures to, the Licensed Material if doing so restricts exercise of the Licensed
Rights by any recipient of the Licensed Material.

6. No endorsement. Nothing in this Public License constitutes or may be construed
as permission to assert or imply that You are, or that Your use of the Licensed
Material is, connected with, or sponsored, endorsed, or granted official status
by, the Licensor or others designated to receive attribution as provided in
Section 3(a)(1)(A)(i).

   b. Other rights.

1. Moral rights, such as the right of integrity, are not licensed under this
Public License, nor are publicity, privacy, and/or other similar personality
rights; however, to the extent possible, the Licensor waives and/or agrees
not to assert any such rights held by the Licensor to the limited extent necessary
to allow You to exercise the Licensed Rights, but not otherwise.

2. Patent and trademark rights are not licensed under this Public License.

3. To the extent possible, the Licensor waives any right to collect royalties
from You for the exercise of the Licensed Rights, whether directly or through
a collecting society under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly reserves any right
to collect such royalties.

Section 3 – License Conditions.

Your exercise of the Licensed Rights is expressly made subject to the following
conditions.

   a. Attribution.

1. If You Share the Licensed Material (including in modified form), You must:

A. retain the following if it is supplied by the Licensor with the Licensed
Material:

i. identification of the creator(s) of the Licensed Material and any others
designated to receive attribution, in any reasonable manner requested by the
Licensor (including by pseudonym if designated);

            ii. a copyright notice;

            iii. a notice that refers to this Public License;

            iv. a notice that refers to the disclaimer of warranties;

v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;

B. indicate if You modified the Licensed Material and retain an indication
of any previous modifications; and

C. indicate the Licensed Material is licensed under this Public License, and
include the text of, or the URI or hyperlink to, this Public License.

2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
based on the medium, means, and context in which You Share the Licensed Material.
For example, it may be reasonable to satisfy the conditions by providing a
URI or hyperlink to a resource that includes the required information.

3. If requested by the Licensor, You must remove any of the information required
by Section 3(a)(1)(A) to the extent reasonably practicable.

4. If You Share Adapted Material You produce, the Adapter's License You apply
must not prevent recipients of the Adapted Material from complying with this
Public License.

Section 4 – Sui Generis Database Rights.

Where the Licensed Rights include Sui Generis Database Rights that apply to
Your use of the Licensed Material:

a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
reuse, reproduce, and Share all or a substantial portion of the contents of
the database;

b. if You include all or a substantial portion of the database contents in
a database in which You have Sui Generis Database Rights, then the database
in which You have Sui Generis Database Rights (but not its individual contents)
is Adapted Material; and

c. You must comply with the conditions in Section 3(a) if You Share all or
a substantial portion of the contents of the database.

For the avoidance of doubt, this Section 4 supplements and does not replace
Your obligations under this Public License where the Licensed Rights include
other Copyright and Similar Rights.

Section 5 – Disclaimer of Warranties and Limitation of Liability.

a. Unless otherwise separately undertaken by the Licensor, to the extent possible,
the Licensor offers the Licensed Material as-is and as-available, and makes
no representations or warranties of any kind concerning the Licensed Material,
whether express, implied, statutory, or other. This includes, without limitation,
warranties of title, merchantability, fitness for a particular purpose, non-infringement,
absence of latent or other defects, accuracy, or the presence or absence of
errors, whether or not known or discoverable. Where disclaimers of warranties
are not allowed in full or in part, this disclaimer may not apply to You.

b. To the extent possible, in no event will the Licensor be liable to You
on any legal theory (including, without limitation, negligence) or otherwise
for any direct, special, indirect, incidental, consequential, punitive, exemplary,
or other losses, costs, expenses, or damages arising out of this Public License
or use of the Licensed Material, even if the Licensor has been advised of
the possibility of such losses, costs, expenses, or damages. Where a limitation
of liability is not allowed in full or in part, this limitation may not apply
to You.

c. The disclaimer of warranties and limitation of liability provided above
shall be interpreted in a manner that, to the extent possible, most closely
approximates an absolute disclaimer and waiver of all liability.

Section 6 – Term and Termination.

a. This Public License applies for the term of the Copyright and Similar Rights
licensed here. However, if You fail to comply with this Public License, then
Your rights under this Public License terminate automatically.

b. Where Your right to use the Licensed Material has terminated under Section
6(a), it reinstates:

1. automatically as of the date the violation is cured, provided it is cured
within 30 days of Your discovery of the violation; or

      2. upon express reinstatement by the Licensor.

c. For the avoidance of doubt, this Section 6(b) does not affect any right
the Licensor may have to seek remedies for Your violations of this Public
License.

d. For the avoidance of doubt, the Licensor may also offer the Licensed Material
under separate terms or conditions or stop distributing the Licensed Material
at any time; however, doing so will not terminate this Public License.

   e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.

Section 7 – Other Terms and Conditions.

a. The Licensor shall not be bound by any additional or different terms or
conditions communicated by You unless expressly agreed.

b. Any arrangements, understandings, or agreements regarding the Licensed
Material not stated herein are separate from and independent of the terms
and conditions of this Public License.

Section 8 – Interpretation.

a. For the avoidance of doubt, this Public License does not, and shall not
be interpreted to, reduce, limit, restrict, or impose conditions on any use
of the Licensed Material that could lawfully be made without permission under
this Public License.

b. To the extent possible, if any provision of this Public License is deemed
unenforceable, it shall be automatically reformed to the minimum extent necessary
to make it enforceable. If the provision cannot be reformed, it shall be severed
from this Public License without affecting the enforceability of the remaining
terms and conditions.

c. No term or condition of this Public License will be waived and no failure
to comply consented to unless expressly agreed to by the Licensor.

d. Nothing in this Public License constitutes or may be interpreted as a limitation
upon, or waiver of, any privileges and immunities that apply to the Licensor
or You, including from the legal processes of any jurisdiction or authority.

Creative Commons is not a party to its public licenses. Notwithstanding, Creative
Commons may elect to apply one of its public licenses to material it publishes
and in those instances will be considered the "Licensor." The text of the
Creative Commons public licenses is dedicated to the public domain under the
CC0 Public Domain Dedication. Except for the limited purpose of indicating
that material is shared under a Creative Commons public license or as otherwise
permitted by the Creative Commons policies published at creativecommons.org/policies,
Creative Commons does not authorize the use of the trademark "Creative Commons"
or any other trademark or logo of Creative Commons without its prior written
consent including, without limitation, in connection with any unauthorized
modifications to any of its public licenses or any other arrangements, understandings,
or agreements concerning use of licensed material. For the avoidance of doubt,
this paragraph does not form part of the public licenses.

Creative Commons may be contacted at creativecommons.org.


================================================
FILE: LICENSES/CC0-1.0.txt
================================================
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.


================================================
FILE: README.md
================================================
# microG Services

[![Build status](https://github.com/microg/GmsCore/actions/workflows/build.yml/badge.svg)](https://github.com/microg/GmsCore/actions/workflows/build.yml)
<a href=TRANSLATION.md>
<img src="https://hosted.weblate.org/widget/microg/svg-badge.svg" alt="Translation status" />
</a>

microG Services is a FLOSS (Free/Libre Open Source Software) framework to allow applications designed for Google Play Services to run on systems, where Play Services is not available.

### Please refer to the [wiki](https://github.com/microg/GmsCore/wiki) for downloads and instructions

## Translations

If you'd like to help translate microG, take a look at [TRANSLATION](TRANSLATION.md).


License
-------
    Copyright 2013-2025 microG Project Team

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.


================================================
FILE: TRANSLATION.md
================================================
# Translating microG
microG [can be translated using Weblate](https://hosted.weblate.org/projects/microg/#languages). Thanks Weblate for free libre hosting!

Preferably do not use pull requests to submit translations, as merge conflicts can happen easily. If you already made one or did it manually, you can try [importing](https://docs.weblate.org/en/latest/user/files.html#uploading-translations) the files manually into Weblate.

> [!TIP]
> At the moment, the [microG-UI-tools](play-services-core/microg-ui-tools) component is not available for translation using Weblate. You may want to open a pull request for this. This component stores strings for the "Self-Check" menu and a few other things.

If your language does not seem to be available for translation, you may have to add it first. If you're not logged in, you'll need to create an account and configure your known languages, once that's set up, you should be able to get working.

Thanks for your help maintaining accessibility for other users worldwide! We appreciate it.


================================================
FILE: artwork/styles/README.md
================================================
## The files

* `style-microg-normal-openmaptiles.json` is a pure OpenMapTiles schema version of microG's custom style. The sources are set to Stadia but could be modified to be used with another schema-compliant vendor, e.g. MapTiler.
* `style-microg-normal-stadia.json` is a variant with Stadia custom layers.
* `style-microg-normal-mapbox.json` is a historic, unmaintained variant for use with Mapbox.
* `style-microg-satellite-*.json` is the same, but with a satellite layer (the stadia variant is almost pure openmaptiles, but openmaptiles does not specify a satellite layer).
* `style-stadia-outdoors.json` is identical to Stadia's Outdoors style, but with added microG metadata.

* `sprite_sources` files can be generated to a single sprite file as found in the app's assets using `spreet` (see below).
* PBF files for fonts can be generated using `build_pbf_glyphs` from the `fonts` folder.

## Resources

### For creating styles

* Tool: https://maputnik.github.io/
* Style spec: https://maplibre.org/maplibre-style-spec/
	* https://maplibre.org/maplibre-style-spec/expressions/
* Style schema: **https://openmaptiles.org/schema/**
* Schema tileset explorer (requires maptiler login): https://cloud.maptiler.com/tiles/v3-openmaptiles/

#### Vendor-specific
* Mapbox
    * https://docs.mapbox.com/data/tilesets/reference/mapbox-streets-v8/
* Stadia
    * https://docs.stadiamaps.com/custom-styles/
    * https://docs.stadiamaps.com/tilesets/
    
### For converting assets

* https://github.com/flother/spreet
* https://github.com/stadiamaps/sdf_font_tools/tree/main/build_pbf_glyphs


Commands:

```
$ cp style-microg-{satellite,normal}-{mapbox,stadia}.json style-stadia-outdoors.json style-mapbox-outdoors-v12.json ../../play-services-maps-core-mapbox/src/main/assets/
$ spreet sprite_sources/ ../../play-services-maps-core-mapbox/src/main/assets/sprites
$ spreet --retina sprite_sources/ ../../play-services-maps-core-mapbox/src/main/assets/sprites@2x
$ build_pbf_glyphs --overwrite -c fonts/combinations.json fonts/ ../../play-services-maps-core-mapbox/src/main/assets
$ rm -r ../../play-services-maps-core-mapbox/src/main/assets/OpenSans\ Regular # remove temporary files
```

* We combine Open Sans Regular with Roboto Regular so that no glyphs are missing.
* A symbolic link in the assets folder points from the font stack specification "Open Sans Regular,Arial Unicode MS Regular" to "Roboto Regular". It is unclear why MapLibre sometimes tries to access this font and fails rendering entire tiles if it is not present.

The assets are referenced using `asset://` in the style. For using Maputnik, it may be convenient to set the glyphs and sprites source to these Mapbox-hosted sources:

```
    "sprite": "mapbox://sprites/microg/cjui4020201oo1fmca7yuwbor/8fkcj5fgn4mftlzuak3guz1f9",
    "glyphs": "mapbox://fonts/microg/{fontstack}/{range}.pbf",
```

## Legal

* normal and satellite microG styles based on Mapbox Basic, part of the Mapbox Open Styles, licensed under
    * Style code: BSD license
    * Style virtual features / design: CC BY 3.0
    * Reference: https://github.com/mapbox/mapbox-gl-styles/blob/master/LICENSE.md
* derivation created by larma
* derivation created by /e/ foundation
* makes use of snippets from [Stadia's variant of OSM Bright](https://docs.stadiamaps.com/map-styles/osm-bright/), also a derivation of Mapbox Open Styles
	* Style code: BSD 3-Clause License
	* Style design: CC-BY 4.0
	* Reference: https://stadiamaps.com/attribution/
* fonts: Roboto family, licensed Apache 2.0, https://fonts.google.com/specimen/Roboto/about

* outdoor style based on https://docs.stadiamaps.com/map-styles/outdoors/#__tabbed_1_2
    * Style code: BSD 3-Clause License
	* Style design: CC-BY 4.0
	* Reference: https://stadiamaps.com



================================================
FILE: artwork/styles/fonts/combinations.json
================================================
{"Roboto Regular": ["Roboto Regular", "OpenSans Regular"]}


================================================
FILE: artwork/styles/style-mapbox-outdoors-v12.json
================================================
{
    "name": "Mapbox Outdoors",
    "sprite": "mapbox://sprites/mapbox/outdoors-v12",
    "glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
    "center": [
        9.1,
        42.2
    ],
    "zoom": 7.5,
    "fog": {
        "range": [
            1,
            20
        ],
        "color": [
            "interpolate",
            [
                "linear"
            ],
            [
                "zoom"
            ],
            4,
            "hsl(200, 100%, 100%)",
            6,
            "hsl(200, 50%, 90%)"
        ],
        "high-color": [
            "interpolate",
            [
                "linear"
            ],
            [
                "zoom"
            ],
            4,
            "hsl(200, 100%, 60%)",
            6,
            "hsl(310, 60%, 80%)"
        ],
        "space-color": [
            "interpolate",
            [
                "exponential",
                1.2
            ],
            [
                "zoom"
            ],
            4,
            "hsl(205, 10%, 10%)",
            6,
            "hsl(205, 60%, 50%)"
        ],
        "horizon-blend": [
            "interpolate",
            [
                "exponential",
                1.2
            ],
            [
                "zoom"
            ],
            4,
            0.01,
            6,
            0.1
        ],
        "star-intensity": [
            "interpolate",
            [
                "exponential",
                1.2
            ],
            [
                "zoom"
            ],
            4,
            0.1,
            6,
            0
        ]
    },
    "projection": {
        "name": "globe"
    },
    "visibility": "public",
    "version": 8,
    "layers": [
        {
            "id": "land",
            "type": "background",
            "layout": {},
            "minzoom": 0,
            "paint": {
                "background-color": "hsl(60, 20%, 85%)"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.natural.landcover",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "landcover",
            "type": "fill",
            "source": "composite",
            "source-layer": "landcover",
            "minzoom": 0,
            "maxzoom": 12,
            "layout": {},
            "paint": {
                "fill-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "wood",
                    "hsla(103, 50%, 60%, 0.8)",
                    "scrub",
                    "hsla(98, 47%, 68%, 0.6)",
                    "crop",
                    "hsla(68, 55%, 70%, 0.6)",
                    "grass",
                    "hsla(98, 50%, 74%, 0.6)",
                    "snow",
                    "hsl(205, 45%, 95%)",
                    "hsl(98, 48%, 67%)"
                ],
                "fill-opacity": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    8,
                    0.8,
                    12,
                    0
                ],
                "fill-antialias": false
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.natural.landcover",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "national-park",
            "type": "fill",
            "source": "composite",
            "source-layer": "landuse_overlay",
            "minzoom": 5,
            "filter": [
                "==",
                [
                    "get",
                    "class"
                ],
                "national_park"
            ],
            "layout": {},
            "paint": {
                "fill-color": "hsl(98, 38%, 68%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    5,
                    0,
                    6,
                    0.6,
                    12,
                    0.2
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.natural.landcover",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "national-park_tint-band",
            "type": "line",
            "source": "composite",
            "source-layer": "landuse_overlay",
            "minzoom": 9,
            "filter": [
                "==",
                [
                    "get",
                    "class"
                ],
                "national_park"
            ],
            "layout": {},
            "paint": {
                "line-color": "hsl(98, 38%, 68%)",
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    9,
                    1,
                    14,
                    8
                ],
                "line-blur": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    9,
                    1,
                    14,
                    8
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.natural.landcover",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "landuse",
            "type": "fill",
            "source": "composite",
            "source-layer": "landuse",
            "minzoom": 5,
            "filter": [
                "all",
                [
                    ">=",
                    [
                        "to-number",
                        [
                            "get",
                            "sizerank"
                        ]
                    ],
                    0
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "agriculture",
                        "wood",
                        "grass",
                        "scrub",
                        "glacier",
                        "pitch",
                        "sand"
                    ],
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    "residential",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        true,
                        10,
                        false
                    ],
                    [
                        "park",
                        "airport"
                    ],
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        8,
                        [
                            "case",
                            [
                                "==",
                                [
                                    "get",
                                    "sizerank"
                                ],
                                1
                            ],
                            true,
                            false
                        ],
                        10,
                        true
                    ],
                    [
                        "facility",
                        "industrial"
                    ],
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        12,
                        true
                    ],
                    "rock",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    "cemetery",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    "school",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    "hospital",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    "commercial_area",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    false
                ],
                [
                    "<=",
                    [
                        "-",
                        [
                            "to-number",
                            [
                                "get",
                                "sizerank"
                            ]
                        ],
                        [
                            "interpolate",
                            [
                                "exponential",
                                1.5
                            ],
                            [
                                "zoom"
                            ],
                            12,
                            0,
                            18,
                            14
                        ]
                    ],
                    14
                ]
            ],
            "layout": {},
            "paint": {
                "fill-color": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "wood",
                        "hsla(103, 50%, 60%, 0.8)",
                        "scrub",
                        "hsla(98, 47%, 68%, 0.6)",
                        "agriculture",
                        "hsla(98, 50%, 74%, 0.6)",
                        "park",
                        [
                            "match",
                            [
                                "get",
                                "type"
                            ],
                            [
                                "garden",
                                "playground",
                                "zoo"
                            ],
                            "hsl(98, 38%, 68%)",
                            "hsl(98, 55%, 70%)"
                        ],
                        "grass",
                        "hsla(98, 50%, 74%, 0.6)",
                        "airport",
                        "hsl(230, 40%, 82%)",
                        "cemetery",
                        "hsl(98, 45%, 75%)",
                        "glacier",
                        "hsl(205, 45%, 95%)",
                        "hospital",
                        "hsl(20, 45%, 82%)",
                        "pitch",
                        "hsl(88, 65%, 75%)",
                        "sand",
                        "hsl(69, 60%, 72%)",
                        "rock",
                        "hsl(60, 0%, 85%)",
                        "school",
                        "hsl(40, 45%, 78%)",
                        "commercial_area",
                        "hsl(55, 45%, 85%)",
                        "residential",
                        "hsl(60, 7%, 87%)",
                        [
                            "facility",
                            "industrial"
                        ],
                        "hsl(230, 20%, 85%)",
                        "hsl(60, 22%, 72%)"
                    ],
                    16,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "wood",
                        "hsla(103, 50%, 60%, 0.8)",
                        "scrub",
                        "hsla(98, 47%, 68%, 0.6)",
                        "agriculture",
                        "hsla(98, 50%, 74%, 0.6)",
                        "park",
                        [
                            "match",
                            [
                                "get",
                                "type"
                            ],
                            [
                                "garden",
                                "playground",
                                "zoo"
                            ],
                            "hsl(98, 38%, 68%)",
                            "hsl(98, 55%, 70%)"
                        ],
                        "grass",
                        "hsla(98, 50%, 74%, 0.6)",
                        "airport",
                        "hsl(230, 40%, 82%)",
                        "cemetery",
                        "hsl(98, 45%, 75%)",
                        "glacier",
                        "hsl(205, 45%, 95%)",
                        "hospital",
                        "hsl(20, 45%, 82%)",
                        "pitch",
                        "hsl(88, 65%, 75%)",
                        "sand",
                        "hsl(69, 60%, 72%)",
                        "rock",
                        "hsla(60, 0%, 85%, 0.5)",
                        "school",
                        "hsl(40, 45%, 78%)",
                        "commercial_area",
                        "hsla(55, 45%, 85%, 0.5)",
                        [
                            "facility",
                            "industrial"
                        ],
                        "hsl(230, 20%, 85%)",
                        "hsl(60, 22%, 72%)"
                    ]
                ],
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    8,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "residential",
                        0.8,
                        0.2
                    ],
                    10,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "residential",
                        0,
                        1
                    ]
                ],
                "fill-antialias": false
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.man_made",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "pitch-outline",
            "type": "line",
            "source": "composite",
            "source-layer": "landuse",
            "minzoom": 15,
            "filter": [
                "==",
                [
                    "get",
                    "class"
                ],
                "pitch"
            ],
            "layout": {},
            "paint": {
                "line-color": "hsl(88, 60%, 65%)"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, land",
                "microg:gms-type-feature": "landscape.natural.landcover",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "waterway-shadow",
            "type": "line",
            "source": "composite",
            "source-layer": "waterway",
            "minzoom": 10,
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    11,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    11,
                    "round"
                ]
            },
            "paint": {
                "line-color": "hsl(224, 79%, 69%)",
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.3
                    ],
                    [
                        "zoom"
                    ],
                    9,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "canal",
                            "river"
                        ],
                        0.1,
                        0
                    ],
                    20,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "canal",
                            "river"
                        ],
                        8,
                        3
                    ]
                ],
                "line-translate": [
                    "interpolate",
                    [
                        "exponential",
                        1.2
                    ],
                    [
                        "zoom"
                    ],
                    7,
                    [
                        "literal",
                        [
                            0,
                            0
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            -1,
                            -1
                        ]
                    ]
                ],
                "line-translate-anchor": "viewport",
                "line-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    8,
                    0,
                    8.5,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "water-shadow",
            "type": "fill",
            "source": "composite",
            "source-layer": "water",
            "minzoom": 10,
            "layout": {},
            "paint": {
                "fill-color": "hsl(224, 79%, 69%)",
                "fill-translate": [
                    "interpolate",
                    [
                        "exponential",
                        1.2
                    ],
                    [
                        "zoom"
                    ],
                    7,
                    [
                        "literal",
                        [
                            0,
                            0
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            -1,
                            -1
                        ]
                    ]
                ],
                "fill-translate-anchor": "viewport"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "waterway",
            "type": "line",
            "source": "composite",
            "source-layer": "waterway",
            "minzoom": 8,
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    11,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    11,
                    "round"
                ]
            },
            "paint": {
                "line-color": "hsl(205, 75%, 70%)",
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.3
                    ],
                    [
                        "zoom"
                    ],
                    9,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "canal",
                            "river"
                        ],
                        0.1,
                        0
                    ],
                    20,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "canal",
                            "river"
                        ],
                        8,
                        3
                    ]
                ],
                "line-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    8,
                    0,
                    8.5,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "water",
            "type": "fill",
            "source": "composite",
            "source-layer": "water",
            "minzoom": 0,
            "layout": {},
            "paint": {
                "fill-color": "hsl(205, 75%, 70%)"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "water-depth",
            "type": "fill",
            "source": "composite",
            "source-layer": "depth",
            "minzoom": 0,
            "maxzoom": 8,
            "layout": {},
            "paint": {
                "fill-antialias": false,
                "fill-color": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    6,
                    [
                        "interpolate",
                        [
                            "linear"
                        ],
                        [
                            "get",
                            "min_depth"
                        ],
                        0,
                        "hsla(205, 75%, 70%, 0.35)",
                        200,
                        "hsla(205, 75%, 63%, 0.35)",
                        7000,
                        "hsla(205, 75%, 56%, 0.35)"
                    ],
                    8,
                    [
                        "interpolate",
                        [
                            "linear"
                        ],
                        [
                            "get",
                            "min_depth"
                        ],
                        0,
                        "hsla(205, 75%, 70%, 0)",
                        200,
                        "hsla(205, 75%, 63%, 0)",
                        7000,
                        "hsla(205, 75%, 53%, 0)"
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "wetland",
            "type": "fill",
            "source": "composite",
            "source-layer": "landuse_overlay",
            "minzoom": 5,
            "filter": [
                "match",
                [
                    "get",
                    "class"
                ],
                [
                    "wetland",
                    "wetland_noveg"
                ],
                true,
                false
            ],
            "paint": {
                "fill-color": "hsl(194, 38%, 74%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    10,
                    0.25,
                    10.5,
                    0.15
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "wetland-pattern",
            "type": "fill",
            "source": "composite",
            "source-layer": "landuse_overlay",
            "minzoom": 5,
            "filter": [
                "match",
                [
                    "get",
                    "class"
                ],
                [
                    "wetland",
                    "wetland_noveg"
                ],
                true,
                false
            ],
            "paint": {
                "fill-color": "hsl(194, 38%, 74%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    10,
                    0,
                    10.5,
                    1
                ],
                "fill-pattern": "wetland",
                "fill-translate-anchor": "viewport"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, water",
                "microg:gms-type-feature": "water",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "hillshade",
            "type": "fill",
            "source": "composite",
            "source-layer": "hillshade",
            "filter": [
                "all",
                [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "==",
                        [
                            "get",
                            "class"
                        ],
                        "shadow"
                    ],
                    11,
                    true
                ],
                [
                    "match",
                    [
                        "get",
                        "level"
                    ],
                    89,
                    true,
                    78,
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        5,
                        true
                    ],
                    67,
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        9,
                        true
                    ],
                    56,
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        6,
                        true
                    ],
                    94,
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        11,
                        true
                    ],
                    90,
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        12,
                        true
                    ],
                    false
                ]
            ],
            "minzoom": 0,
            "maxzoom": 16,
            "layout": {},
            "paint": {
                "fill-color": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "shadow",
                        "hsla(66, 38%, 17%, 0.08)",
                        "hsla(60, 20%, 95%, 0.14)"
                    ],
                    16,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        "shadow",
                        "hsla(66, 38%, 17%, 0)",
                        "hsla(60, 20%, 95%, 0)"
                    ]
                ],
                "fill-antialias": false
            },
            "metadata": {
                "mapbox:featureComponent": "terrain",
                "mapbox:group": "Terrain, land",
                "microg:gms-type-feature": "landscape.natural.terrain",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "contour-line",
            "type": "line",
            "source": "composite",
            "source-layer": "contour",
            "minzoom": 11,
            "filter": [
                "!=",
                [
                    "get",
                    "index"
                ],
                -1
            ],
            "layout": {},
            "paint": {
                "line-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    11,
                    [
                        "match",
                        [
                            "get",
                            "index"
                        ],
                        [
                            1,
                            2
                        ],
                        0.15,
                        0.3
                    ],
                    13,
                    [
                        "match",
                        [
                            "get",
                            "index"
                        ],
                        [
                            1,
                            2
                        ],
                        0.3,
                        0.5
                    ]
                ],
                "line-color": "hsl(60, 10%, 35%)",
                "line-width": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    13,
                    [
                        "match",
                        [
                            "get",
                            "index"
                        ],
                        [
                            1,
                            2
                        ],
                        0.5,
                        0.6
                    ],
                    16,
                    [
                        "match",
                        [
                            "get",
                            "index"
                        ],
                        [
                            1,
                            2
                        ],
                        0.8,
                        1.2
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "terrain",
                "mapbox:group": "Terrain, land",
                "microg:gms-type-feature": "landscape.natural.terrain",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "land-structure-polygon",
            "type": "fill",
            "source": "composite",
            "source-layer": "structure",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "land"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "layout": {},
            "paint": {
                "fill-color": "hsl(60, 20%, 85%)"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, built",
                "microg:gms-type-feature": "landscape.natural.terrain",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "land-structure-line",
            "type": "line",
            "source": "composite",
            "source-layer": "structure",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "land"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": "square"
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.99
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.75,
                    20,
                    40
                ],
                "line-color": "hsl(60, 20%, 85%)"
            },
            "metadata": {
                "mapbox:featureComponent": "land-and-water",
                "mapbox:group": "Land & water, built",
                "microg:gms-type-feature": "landscape.natural.terrain",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "aeroway-polygon",
            "type": "fill",
            "source": "composite",
            "source-layer": "aeroway",
            "minzoom": 11,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    [
                        "runway",
                        "taxiway",
                        "helipad"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "paint": {
                "fill-color": "hsl(230, 36%, 74%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    10,
                    0,
                    11,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "transit",
                "mapbox:group": "Transit, built",
                "microg:gms-type-feature": "transit.station.airport",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "aeroway-line",
            "type": "line",
            "source": "composite",
            "source-layer": "aeroway",
            "minzoom": 9,
            "filter": [
                "==",
                [
                    "geometry-type"
                ],
                "LineString"
            ],
            "paint": {
                "line-color": "hsl(230, 36%, 74%)",
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    9,
                    [
                        "match",
                        [
                            "get",
                            "type"
                        ],
                        "runway",
                        1,
                        0.5
                    ],
                    18,
                    [
                        "match",
                        [
                            "get",
                            "type"
                        ],
                        "runway",
                        80,
                        20
                    ]
                ],
                "line-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    10,
                    0,
                    11,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "transit",
                "mapbox:group": "Transit, built",
                "microg:gms-type-feature": "transit.station.airport",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "building",
            "type": "fill",
            "source": "composite",
            "source-layer": "building",
            "minzoom": 15,
            "filter": [
                "all",
                [
                    "!=",
                    [
                        "get",
                        "type"
                    ],
                    "building:part"
                ],
                [
                    "==",
                    [
                        "get",
                        "underground"
                    ],
                    "false"
                ]
            ],
            "layout": {},
            "paint": {
                "fill-color": "hsl(50, 15%, 75%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    0,
                    16,
                    1
                ],
                "fill-outline-color": "hsl(60, 10%, 65%)"
            },
            "metadata": {
                "mapbox:featureComponent": "buildings",
                "mapbox:group": "Buildings, built",
                "microg:gms-type-feature": "landscape.man_made",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "building-underground",
            "type": "fill",
            "source": "composite",
            "source-layer": "building",
            "minzoom": 15,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "underground"
                    ],
                    "true"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "layout": {},
            "paint": {
                "fill-color": "hsl(260, 60%, 85%)",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    0,
                    16,
                    0.5
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "buildings",
                "mapbox:group": "Buildings, built",
                "microg:gms-type-feature": "landscape.man_made",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-minor-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "track"
                    ],
                    true,
                    "service",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        14,
                        true
                    ],
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": "hsl(60, 3%, 57%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    18,
                    10,
                    22,
                    100
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-street-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "street",
                        "street_limited"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": "hsl(60, 3%, 57%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.5,
                    18,
                    20,
                    22,
                    200
                ],
                "line-opacity": [
                    "step",
                    [
                        "zoom"
                    ],
                    0,
                    14,
                    1
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-minor-link-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "primary_link",
                        "secondary_link",
                        "tertiary_link"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    14,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": "hsl(60, 10%, 70%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.4,
                    18,
                    18,
                    22,
                    180
                ],
                "line-opacity": [
                    "step",
                    [
                        "zoom"
                    ],
                    0,
                    11,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-secondary-tertiary-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 11,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "secondary",
                        "tertiary"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    22,
                    2
                ],
                "line-color": "hsl(60, 3%, 57%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0,
                    18,
                    26,
                    22,
                    260
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-primary-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 10,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "primary"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    22,
                    2
                ],
                "line-color": "hsl(60, 3%, 57%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0.8,
                    18,
                    28,
                    22,
                    280
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.highway",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-major-link-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "motorway_link",
                        "trunk_link"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.8,
                    18,
                    20,
                    22,
                    200
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.highway",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-motorway-trunk-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "motorway",
                        "trunk"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    22,
                    2
                ],
                "line-color": "hsl(60, 10%, 82%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0.8,
                    18,
                    30,
                    22,
                    300
                ],
                "line-dasharray": [
                    3,
                    3
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels-case",
                "microg:gms-type-feature": "road.arterial",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-path-trail",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    [
                        "hiking",
                        "mountain_bike",
                        "trail"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {},
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(60, 32%, 90%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            5,
                            0.5
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            4,
                            0.5
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            4,
                            0.45
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "tunnel-path-cycleway-piste",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    [
                        "cycleway",
                        "piste"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {},
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(60, 32%, 90%)",
                "line-dasharray": [
                    10,
                    0
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-path",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "!=",
                    [
                        "get",
                        "type"
                    ],
                    "steps"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {},
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(60, 32%, 90%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.75,
                            1
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.75
                        ]
                    ],
                    17,
                    [
                        "literal",
                        [
                            1,
                            0.5
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-steps",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "type"
                    ],
                    "steps"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    16,
                    1.6,
                    18,
                    6
                ],
                "line-color": "hsl(60, 32%, 90%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.75,
                            1
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.75
                        ]
                    ],
                    17,
                    [
                        "literal",
                        [
                            0.3,
                            0.3
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-pedestrian",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "pedestrian"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.5,
                    18,
                    12
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.5,
                            0.4
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.2
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-construction",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "construction"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    2,
                    18,
                    20,
                    22,
                    200
                ],
                "line-color": "hsl(60, 10%, 70%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            0.4,
                            0.8
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            0.3,
                            0.6
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            0.2,
                            0.3
                        ]
                    ],
                    17,
                    [
                        "literal",
                        [
                            0.2,
                            0.25
                        ]
                    ],
                    18,
                    [
                        "literal",
                        [
                            0.15,
                            0.15
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-minor",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "track"
                    ],
                    true,
                    "service",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        14,
                        true
                    ],
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    18,
                    10,
                    22,
                    100
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "street_limited",
                    "hsl(60, 22%, 80%)",
                    "hsl(0, 0%, 95%)"
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-minor-link",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "primary_link",
                        "secondary_link",
                        "tertiary_link"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    13,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    13,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.4,
                    18,
                    18,
                    22,
                    180
                ],
                "line-color": "hsl(0, 0%, 95%)"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-major-link",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "motorway_link",
                        "trunk_link"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.8,
                    18,
                    20,
                    22,
                    200
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "motorway_link",
                    "hsl(15, 100%, 85%)",
                    "hsl(35, 78%, 85%)"
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.highway",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-street",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "street",
                        "street_limited"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.5,
                    18,
                    20,
                    22,
                    200
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "street_limited",
                    "hsl(60, 22%, 80%)",
                    "hsl(0, 0%, 95%)"
                ],
                "line-opacity": [
                    "step",
                    [
                        "zoom"
                    ],
                    0,
                    14,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-street-low",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "maxzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "street",
                        "street_limited"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    14,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.5,
                    18,
                    20,
                    22,
                    200
                ],
                "line-color": "hsl(0, 0%, 95%)"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-secondary-tertiary",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "secondary",
                        "tertiary"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0,
                    18,
                    26,
                    22,
                    260
                ],
                "line-color": "hsl(0, 0%, 95%)"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-primary",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "primary"
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0.8,
                    18,
                    28,
                    22,
                    280
                ],
                "line-color": "hsl(0, 0%, 95%)"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.highway",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-motorway-trunk",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "motorway",
                        "trunk"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    3,
                    0.8,
                    18,
                    30,
                    22,
                    300
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "motorway",
                    "hsl(15, 100%, 85%)",
                    "hsl(35, 78%, 85%)"
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.arterial",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "tunnel-oneway-arrow-blue",
            "type": "symbol",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 16,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "==",
                    [
                        "get",
                        "oneway"
                    ],
                    "true"
                ],
                [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "primary",
                            "secondary",
                            "street",
                            "street_limited",
                            "tertiary"
                        ],
                        true,
                        false
                    ],
                    16,
                    [
                        "match",
                        [
                            "get",
                            "class"
                        ],
                        [
                            "primary",
                            "secondary",
                            "tertiary",
                            "street",
                            "street_limited",
                            "primary_link",
                            "secondary_link",
                            "tertiary_link",
                            "service",
                            "track"
                        ],
                        true,
                        false
                    ]
                ]
            ],
            "layout": {
                "symbol-placement": "line",
                "icon-image": [
                    "step",
                    [
                        "zoom"
                    ],
                    "oneway-small",
                    18,
                    "oneway-large"
                ],
                "symbol-spacing": 200,
                "icon-rotation-alignment": "map",
                "icon-allow-overlap": true,
                "icon-ignore-placement": true
            },
            "paint": {},
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road",
                "microg:gms-type-element": "labels.icon"
            }
        },
        {
            "id": "tunnel-oneway-arrow-white",
            "type": "symbol",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 16,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "structure"
                    ],
                    "tunnel"
                ],
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "motorway",
                        "motorway_link",
                        "trunk",
                        "trunk_link"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "get",
                        "oneway"
                    ],
                    "true"
                ]
            ],
            "layout": {
                "symbol-placement": "line",
                "icon-image": [
                    "step",
                    [
                        "zoom"
                    ],
                    "oneway-white-small",
                    18,
                    "oneway-white-large"
                ],
                "symbol-spacing": 200,
                "icon-rotation-alignment": "map",
                "icon-allow-overlap": true,
                "icon-ignore-placement": true
            },
            "paint": {},
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, tunnels",
                "microg:gms-type-feature": "road.arterial",
                "microg:gms-type-element": "labels.icon"
            }
        },
        {
            "id": "cliff",
            "type": "line",
            "source": "composite",
            "source-layer": "structure",
            "minzoom": 15,
            "filter": [
                "==",
                [
                    "get",
                    "class"
                ],
                "cliff"
            ],
            "layout": {
                "line-cap": "round",
                "line-join": "round"
            },
            "paint": {
                "line-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    0,
                    15.25,
                    1
                ],
                "line-width": 10,
                "line-pattern": "cliff"
            },
            "metadata": {
                "mapbox:featureComponent": "terrain",
                "mapbox:group": "Terrain, surface",
                "microg:gms-type-feature": "landscape.natural.terrain",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "ferry",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 8,
            "filter": [
                "==",
                [
                    "get",
                    "type"
                ],
                "ferry"
            ],
            "paint": {
                "line-color": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    "hsl(214, 68%, 63%)",
                    17,
                    "hsl(239, 68%, 63%)"
                ],
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.5,
                    20,
                    1
                ],
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    13,
                    [
                        "literal",
                        [
                            12,
                            4
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "transit",
                "mapbox:group": "Transit, ferries",
                "microg:gms-type-feature": "transit.line",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "ferry-auto",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 8,
            "filter": [
                "==",
                [
                    "get",
                    "type"
                ],
                "ferry_auto"
            ],
            "paint": {
                "line-color": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    "hsl(214, 68%, 63%)",
                    17,
                    "hsl(239, 68%, 63%)"
                ],
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.5,
                    20,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "transit",
                "mapbox:group": "Transit, ferries",
                "microg:gms-type-feature": "transit.line",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-pedestrian-polygon-fill",
            "type": "fill",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "path",
                        "pedestrian"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "case",
                    [
                        "has",
                        "layer"
                    ],
                    [
                        ">=",
                        [
                            "get",
                            "layer"
                        ],
                        0
                    ],
                    true
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "paint": {
                "fill-color": "hsl(60, 20%, 85%)"
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-pedestrian-polygon-pattern",
            "type": "fill",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 16,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "path",
                        "pedestrian"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "case",
                    [
                        "has",
                        "layer"
                    ],
                    [
                        ">=",
                        [
                            "get",
                            "layer"
                        ],
                        0
                    ],
                    true
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "paint": {
                "fill-pattern": "pedestrian-polygon",
                "fill-opacity": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    16,
                    0,
                    17,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-path-bg",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "!",
                        [
                            "match",
                            [
                                "get",
                                "type"
                            ],
                            [
                                "steps",
                                "sidewalk",
                                "crossing"
                            ],
                            true,
                            false
                        ]
                    ],
                    16,
                    [
                        "!=",
                        [
                            "get",
                            "type"
                        ],
                        "steps"
                    ]
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    2,
                    18,
                    7
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    "piste",
                    "hsl(215, 80%, 48%)",
                    [
                        "mountain_bike",
                        "hiking",
                        "trail",
                        "cycleway",
                        "footway",
                        "path",
                        "bridleway"
                    ],
                    "hsl(35, 80%, 48%)",
                    "hsl(60, 1%, 64%)"
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-steps-bg",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "type"
                    ],
                    "steps"
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": "round"
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    2,
                    17,
                    4.6,
                    18,
                    7
                ],
                "line-color": "hsl(35, 80%, 48%)",
                "line-opacity": 0.75
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-pedestrian-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "pedestrian"
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "case",
                    [
                        "has",
                        "layer"
                    ],
                    [
                        ">=",
                        [
                            "get",
                            "layer"
                        ],
                        0
                    ],
                    true
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    2,
                    18,
                    14.5
                ],
                "line-color": "hsl(60, 10%, 70%)"
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-path-trail",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    [
                        "hiking",
                        "mountain_bike",
                        "trail"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            5,
                            0.5
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            4,
                            0.5
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            4,
                            0.45
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-path-cycleway-piste",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "match",
                    [
                        "get",
                        "type"
                    ],
                    [
                        "cycleway",
                        "piste"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    10,
                    0
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-path",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "path"
                ],
                [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "!",
                        [
                            "match",
                            [
                                "get",
                                "type"
                            ],
                            [
                                "steps",
                                "sidewalk",
                                "crossing"
                            ],
                            true,
                            false
                        ]
                    ],
                    16,
                    [
                        "!=",
                        [
                            "get",
                            "type"
                        ],
                        "steps"
                    ]
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    13,
                    0.5,
                    14,
                    1,
                    15,
                    1,
                    18,
                    4
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            4,
                            0.3
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.75,
                            0.3
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.3
                        ]
                    ],
                    17,
                    [
                        "literal",
                        [
                            1,
                            0.25
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-steps",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "type"
                    ],
                    "steps"
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": "round"
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    1,
                    16,
                    1.6,
                    18,
                    6
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.75,
                            1
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.75
                        ]
                    ],
                    17,
                    [
                        "literal",
                        [
                            0.3,
                            0.3
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "road-pedestrian",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "==",
                    [
                        "get",
                        "class"
                    ],
                    "pedestrian"
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "case",
                    [
                        "has",
                        "layer"
                    ],
                    [
                        ">=",
                        [
                            "get",
                            "layer"
                        ],
                        0
                    ],
                    true
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.5,
                    18,
                    12
                ],
                "line-color": "hsl(0, 0%, 95%)",
                "line-dasharray": [
                    "step",
                    [
                        "zoom"
                    ],
                    [
                        "literal",
                        [
                            1,
                            0
                        ]
                    ],
                    15,
                    [
                        "literal",
                        [
                            1.5,
                            0.4
                        ]
                    ],
                    16,
                    [
                        "literal",
                        [
                            1,
                            0.2
                        ]
                    ]
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "golf-hole-line",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 16,
            "filter": [
                "==",
                [
                    "get",
                    "class"
                ],
                "golf"
            ],
            "paint": {
                "line-color": "hsl(98, 26%, 56%)"
            },
            "metadata": {
                "mapbox:featureComponent": "walking-cycling",
                "mapbox:group": "Walking, cycling, etc., surface",
                "microg:gms-type-feature": "poi.attraction",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-polygon",
            "type": "fill",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 12,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "primary",
                        "secondary",
                        "tertiary",
                        "primary_link",
                        "secondary_link",
                        "tertiary_link",
                        "trunk",
                        "trunk_link",
                        "street",
                        "street_limited",
                        "track",
                        "service"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Polygon"
                ]
            ],
            "paint": {
                "fill-color": "hsl(0, 0%, 95%)",
                "fill-outline-color": "hsl(60, 10%, 70%)"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, surface",
                "microg:gms-type-feature": "road",
                "microg:gms-type-element": "geometry.fill"
            }
        },
        {
            "id": "turning-feature-outline",
            "type": "circle",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 15,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "turning_circle",
                        "turning_loop"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "Point"
                ]
            ],
            "paint": {
                "circle-radius": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    4.5,
                    16,
                    8,
                    18,
                    20,
                    22,
                    200
                ],
                "circle-color": "hsl(0, 0%, 95%)",
                "circle-stroke-width": [
                    "interpolate",
                    [
                        "linear"
                    ],
                    [
                        "zoom"
                    ],
                    15,
                    0.8,
                    16,
                    1.2,
                    18,
                    2
                ],
                "circle-stroke-color": "hsl(60, 10%, 70%)",
                "circle-pitch-alignment": "map"
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, surface",
                "microg:gms-type-feature": "road",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-minor-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 13,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "track"
                    ],
                    true,
                    "service",
                    [
                        "step",
                        [
                            "zoom"
                        ],
                        false,
                        14,
                        true
                    ],
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    14,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    "track",
                    "hsl(35, 80%, 48%)",
                    "hsl(60, 10%, 70%)"
                ],
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    1,
                    18,
                    10,
                    22,
                    100
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, surface",
                "microg:gms-type-feature": "road.local",
                "microg:gms-type-element": "geometry.stroke"
            }
        },
        {
            "id": "road-street-case",
            "type": "line",
            "source": "composite",
            "source-layer": "road",
            "minzoom": 14,
            "filter": [
                "all",
                [
                    "match",
                    [
                        "get",
                        "class"
                    ],
                    [
                        "street",
                        "street_limited"
                    ],
                    true,
                    false
                ],
                [
                    "match",
                    [
                        "get",
                        "structure"
                    ],
                    [
                        "none",
                        "ford"
                    ],
                    true,
                    false
                ],
                [
                    "==",
                    [
                        "geometry-type"
                    ],
                    "LineString"
                ]
            ],
            "layout": {
                "line-cap": [
                    "step",
                    [
                        "zoom"
                    ],
                    "butt",
                    14,
                    "round"
                ],
                "line-join": [
                    "step",
                    [
                        "zoom"
                    ],
                    "miter",
                    14,
                    "round"
                ]
            },
            "paint": {
                "line-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    14,
                    0.8,
                    22,
                    2
                ],
                "line-color": "hsl(60, 10%, 70%)",
                "line-gap-width": [
                    "interpolate",
                    [
                        "exponential",
                        1.5
                    ],
                    [
                        "zoom"
                    ],
                    12,
                    0.5,
                    18,
                    20,
                    22,
                    200
                ],
                "line-opacity": [
                    "step",
                    [
                        "zoom"
                    ],
                    0,
                    14,
                    1
                ]
            },
            "metadata": {
                "mapbox:featureComponent": "road-network",
                "mapbox:group": "Road network, surface",
                "microg:gms-type-featur
Download .txt
Showing preview only (377K chars total). Download the full file or copy to clipboard to get everything.
gitextract_bm6a27qq/

├── .github/
│   ├── dependabot.yml
│   ├── matchers/
│   │   ├── gradle-build-kotlin-error-matcher.json
│   │   ├── gradle-build-kotlin-error-matcher.json.license
│   │   ├── gradle-build-matcher.json
│   │   └── gradle-build-matcher.json.license
│   └── workflows/
│       ├── build.yml
│       └── dependency-submission.yml
├── .gitignore
├── Android.mk
├── LICENSE
├── LICENSES/
│   ├── Apache-2.0.txt
│   ├── CC-BY-4.0.txt
│   └── CC0-1.0.txt
├── README.md
├── TRANSLATION.md
├── artwork/
│   └── styles/
│       ├── README.md
│       ├── fonts/
│       │   └── combinations.json
│       ├── style-mapbox-outdoors-v12.json
│       ├── style-microg-normal-mapbox.json
│       ├── style-microg-normal-openmaptiles.json
│       ├── style-microg-normal-stadia.json
│       ├── style-microg-satellite-mapbox.json
│       ├── style-microg-satellite-stadia.json
│       └── style-stadia-outdoors.json
├── build.gradle
├── fake-signature/
│   ├── build.gradle
│   └── src/
│       ├── huawei/
│       │   ├── AndroidManifest.xml
│       │   ├── aidl/
│       │   │   └── com/
│       │   │       └── huawei/
│       │   │           └── signature/
│       │   │               └── diff/
│       │   │                   └── ISignatureService.aidl
│       │   └── java/
│       │       └── com/
│       │           └── huawei/
│       │               └── signature/
│       │                   └── diff/
│       │                       ├── AppListDatabaseOpenHelper.java
│       │                       ├── InitProvider.java
│       │                       ├── InitReceiver.java
│       │                       └── SignatureService.java
│       └── main/
│           ├── AndroidManifest.xml
│           └── res/
│               └── values/
│                   ├── arrays.xml
│                   └── signature.xml
├── firebase-auth/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── assets/
│   │           │   └── recaptcha.html
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── firebase/
│   │           │                   └── auth/
│   │           │                       ├── FirebaseAuthService.kt
│   │           │                       ├── IdentityToolkitClient.kt
│   │           │                       ├── ReCaptchaActivity.kt
│   │           │                       ├── ReCaptchaOverlayService.kt
│   │           │                       └── extensions.kt
│   │           └── res/
│   │               └── layout/
│   │                   └── activity_recaptcha.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── firebase/
│           │               └── auth/
│           │                   ├── ActionCodeSettings.aidl
│           │                   ├── EmailAuthCredential.aidl
│           │                   ├── PhoneAuthCredential.aidl
│           │                   ├── UserProfileChangeRequest.aidl
│           │                   └── api/
│           │                       └── internal/
│           │                           ├── ApplyActionCodeAidlRequest.aidl
│           │                           ├── ChangeEmailAidlRequest.aidl
│           │                           ├── ChangePasswordAidlRequest.aidl
│           │                           ├── CheckActionCodeAidlRequest.aidl
│           │                           ├── ConfirmPasswordResetAidlRequest.aidl
│           │                           ├── CreateAuthUriResponse.aidl
│           │                           ├── CreateUserWithEmailAndPasswordAidlRequest.aidl
│           │                           ├── DeleteAidlRequest.aidl
│           │                           ├── FinalizeMfaEnrollmentAidlRequest.aidl
│           │                           ├── FinalizeMfaSignInAidlRequest.aidl
│           │                           ├── GetAccessTokenAidlRequest.aidl
│           │                           ├── GetAccountInfoUser.aidl
│           │                           ├── GetProvidersForEmailAidlRequest.aidl
│           │                           ├── GetTokenResponse.aidl
│           │                           ├── IFirebaseAuthCallbacks.aidl
│           │                           ├── IFirebaseAuthService.aidl
│           │                           ├── LinkEmailAuthCredentialAidlRequest.aidl
│           │                           ├── LinkFederatedCredentialAidlRequest.aidl
│           │                           ├── LinkPhoneAuthCredentialAidlRequest.aidl
│           │                           ├── ReloadAidlRequest.aidl
│           │                           ├── ResetPasswordResponse.aidl
│           │                           ├── SendEmailVerificationWithSettingsAidlRequest.aidl
│           │                           ├── SendGetOobConfirmationCodeEmailAidlRequest.aidl
│           │                           ├── SendVerificationCodeAidlRequest.aidl
│           │                           ├── SendVerificationCodeRequest.aidl
│           │                           ├── SetFirebaseUiVersionAidlRequest.aidl
│           │                           ├── SignInAnonymouslyAidlRequest.aidl
│           │                           ├── SignInWithCredentialAidlRequest.aidl
│           │                           ├── SignInWithCustomTokenAidlRequest.aidl
│           │                           ├── SignInWithEmailAndPasswordAidlRequest.aidl
│           │                           ├── SignInWithEmailLinkAidlRequest.aidl
│           │                           ├── SignInWithPhoneNumberAidlRequest.aidl
│           │                           ├── StartMfaPhoneNumberEnrollmentAidlRequest.aidl
│           │                           ├── StartMfaPhoneNumberSignInAidlRequest.aidl
│           │                           ├── StringList.aidl
│           │                           ├── UnenrollMfaAidlRequest.aidl
│           │                           ├── UnlinkEmailCredentialAidlRequest.aidl
│           │                           ├── UnlinkFederatedCredentialAidlRequest.aidl
│           │                           ├── UpdateProfileAidlRequest.aidl
│           │                           ├── VerifyAssertionRequest.aidl
│           │                           └── VerifyBeforeUpdateEmailAidlRequest.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── firebase/
│               │           └── auth/
│               │               ├── ActionCodeSettings.java
│               │               ├── AuthCredential.java
│               │               ├── DefaultOAuthCredential.java
│               │               ├── EmailAuthCredential.java
│               │               ├── OAuthCredential.java
│               │               ├── PhoneAuthCredential.java
│               │               ├── UserProfileChangeRequest.java
│               │               └── api/
│               │                   └── internal/
│               │                       ├── ApplyActionCodeAidlRequest.java
│               │                       ├── ChangeEmailAidlRequest.java
│               │                       ├── ChangePasswordAidlRequest.java
│               │                       ├── CheckActionCodeAidlRequest.java
│               │                       ├── ConfirmPasswordResetAidlRequest.java
│               │                       ├── CreateAuthUriResponse.java
│               │                       ├── CreateUserWithEmailAndPasswordAidlRequest.java
│               │                       ├── DeleteAidlRequest.java
│               │                       ├── FinalizeMfaEnrollmentAidlRequest.java
│               │                       ├── FinalizeMfaSignInAidlRequest.java
│               │                       ├── GetAccessTokenAidlRequest.java
│               │                       ├── GetAccountInfoUser.java
│               │                       ├── GetProvidersForEmailAidlRequest.java
│               │                       ├── GetTokenResponse.java
│               │                       ├── LinkEmailAuthCredentialAidlRequest.java
│               │                       ├── LinkFederatedCredentialAidlRequest.java
│               │                       ├── LinkPhoneAuthCredentialAidlRequest.java
│               │                       ├── MfaInfo.java
│               │                       ├── ProviderUserInfo.java
│               │                       ├── ProviderUserInfoList.java
│               │                       ├── ReloadAidlRequest.java
│               │                       ├── ResetPasswordResponse.java
│               │                       ├── SendEmailVerificationWithSettingsAidlRequest.java
│               │                       ├── SendGetOobConfirmationCodeEmailAidlRequest.java
│               │                       ├── SendVerificationCodeAidlRequest.java
│               │                       ├── SendVerificationCodeRequest.java
│               │                       ├── SetFirebaseUiVersionAidlRequest.java
│               │                       ├── SignInAnonymouslyAidlRequest.java
│               │                       ├── SignInWithCredentialAidlRequest.java
│               │                       ├── SignInWithCustomTokenAidlRequest.java
│               │                       ├── SignInWithEmailAndPasswordAidlRequest.java
│               │                       ├── SignInWithEmailLinkAidlRequest.java
│               │                       ├── SignInWithPhoneNumberAidlRequest.java
│               │                       ├── StartMfaPhoneNumberEnrollmentAidlRequest.java
│               │                       ├── StartMfaPhoneNumberSignInAidlRequest.java
│               │                       ├── StringList.java
│               │                       ├── UnenrollMfaAidlRequest.java
│               │                       ├── UnlinkEmailCredentialAidlRequest.java
│               │                       ├── UnlinkFederatedCredentialAidlRequest.java
│               │                       ├── UpdateProfileAidlRequest.java
│               │                       ├── VerifyAssertionRequest.java
│               │                       └── VerifyBeforeUpdateEmailAidlRequest.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── firebase/
│                               └── auth/
│                                   └── Constants.java
├── firebase-dynamic-links/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── firebase/
│           │               └── dynamiclinks/
│           │                   └── internal/
│           │                       ├── DynamicLinkData.aidl
│           │                       ├── IDynamicLinksCallbacks.aidl
│           │                       ├── IDynamicLinksService.aidl
│           │                       ├── ShortDynamicLinkImpl.aidl
│           │                       └── WarningImpl.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── firebase/
│                           └── dynamiclinks/
│                               ├── ShortDynamicLink.java
│                               └── internal/
│                                   ├── DynamicLinkData.java
│                                   ├── ShortDynamicLinkImpl.java
│                                   └── WarningImpl.java
├── gradle/
│   ├── publish-android.gradle
│   ├── publish-java.gradle
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── play-services/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── AndroidManifest.xml
├── play-services-ads/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── google/
│   │           │           └── android/
│   │           │               └── gms/
│   │           │                   └── dynamite/
│   │           │                       └── descriptors/
│   │           │                           └── com/
│   │           │                               └── google/
│   │           │                                   └── android/
│   │           │                                       └── gms/
│   │           │                                           └── ads/
│   │           │                                               └── dynamite/
│   │           │                                                   └── ModuleDescriptor.java
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── ads/
│   │                               └── AdRequestService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       └── internal/
│           │                           ├── ExceptionParcel.aidl
│           │                           ├── NonagonRequestParcel.aidl
│           │                           └── request/
│           │                               ├── IAdRequestService.aidl
│           │                               └── INonagonStreamingResponseListener.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   └── internal/
│                                       ├── ExceptionParcel.java
│                                       └── NonagonRequestParcel.java
├── play-services-ads-base/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── AndroidManifest.xml
├── play-services-ads-identifier/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── ads/
│   │           │                   └── identifier/
│   │           │                       └── AdvertisingIdService.kt
│   │           └── res/
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       └── identifier/
│           │                           └── internal/
│           │                               └── IAdvertisingIdService.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   └── identifier/
│                                       ├── AdvertisingIdClient.java
│                                       └── package-info.java
├── play-services-ads-lite/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               ├── com/
│   │               │   └── google/
│   │               │       └── android/
│   │               │           └── gms/
│   │               │               └── ads/
│   │               │                   ├── AdLoaderBuilderCreatorImpl.kt
│   │               │                   ├── AdManagerCreatorImpl.kt
│   │               │                   ├── MobileAdsSettingManagerCreatorImpl.kt
│   │               │                   ├── measurement/
│   │               │                   │   └── DynamiteMeasurementManager.kt
│   │               │                   └── rewarded/
│   │               │                       └── ChimeraRewardedAdCreatorImpl.kt
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── ads/
│   │                               ├── MobileAdsSettingManagerImpl.kt
│   │                               └── rewarded/
│   │                                   ├── ResponseInfoImpl.kt
│   │                                   └── RewardedAdImpl.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── ads/
│           │                       ├── AdManagerCreator.aidl
│           │                       ├── internal/
│           │                       │   ├── AdErrorParcel.aidl
│           │                       │   ├── AdRequestParcel.aidl
│           │                       │   ├── AdapterResponseInfoParcel.aidl
│           │                       │   ├── AdapterStatusParcel.aidl
│           │                       │   ├── RequestConfigurationParcel.aidl
│           │                       │   ├── ServerSideVerificationOptionsParcel.aidl
│           │                       │   ├── client/
│           │                       │   │   ├── IAdLoaderBuilderCreator.aidl
│           │                       │   │   ├── IMobileAdsSettingManager.aidl
│           │                       │   │   ├── IMobileAdsSettingManagerCreator.aidl
│           │                       │   │   ├── IOnAdInspectorClosedListener.aidl
│           │                       │   │   ├── IOnAdMetadataChangedListener.aidl
│           │                       │   │   ├── IOnPaidEventListener.aidl
│           │                       │   │   └── IResponseInfo.aidl
│           │                       │   ├── initialization/
│           │                       │   │   └── IInitializationCallback.aidl
│           │                       │   ├── mediation/
│           │                       │   │   └── client/
│           │                       │   │       └── IAdapterCreator.aidl
│           │                       │   └── rewarded/
│           │                       │       └── client/
│           │                       │           ├── IRewardItem.aidl
│           │                       │           ├── IRewardedAd.aidl
│           │                       │           ├── IRewardedAdCallback.aidl
│           │                       │           ├── IRewardedAdCreator.aidl
│           │                       │           ├── IRewardedAdLoadCallback.aidl
│           │                       │           └── IRewardedAdSkuListener.aidl
│           │                       └── measurement/
│           │                           ├── IAppMeasurementProxy.aidl
│           │                           └── IMeasurementManager.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── ads/
│                                   ├── admanager/
│                                   │   └── package-info.java
│                                   ├── h5/
│                                   │   └── package-info.java
│                                   ├── initialization/
│                                   │   └── package-info.java
│                                   ├── internal/
│                                   │   ├── AdDataParcel.java
│                                   │   ├── AdErrorParcel.java
│                                   │   ├── AdRequestParcel.java
│                                   │   ├── AdapterResponseInfoParcel.java
│                                   │   ├── AdapterStatusParcel.java
│                                   │   ├── RequestConfigurationParcel.java
│                                   │   ├── SearchAdRequestParcel.java
│                                   │   └── ServerSideVerificationOptionsParcel.java
│                                   ├── interstitial/
│                                   │   └── package-info.java
│                                   ├── mediation/
│                                   │   ├── customevent/
│                                   │   │   └── package-info.java
│                                   │   ├── package-info.java
│                                   │   └── rtb/
│                                   │       └── package-info.java
│                                   ├── nativead/
│                                   │   └── package-info.java
│                                   ├── package-info.java
│                                   ├── rewarded/
│                                   │   └── package-info.java
│                                   ├── rewardedinterstitial/
│                                   │   └── package-info.java
│                                   └── search/
│                                       └── package-info.java
├── play-services-api/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           ├── android/
│           │           │   └── gms/
│           │           │       ├── ads/
│           │           │       │   └── omid/
│           │           │       │       └── IOmid.aidl
│           │           │       ├── appdatasearch/
│           │           │       │   ├── CorpusStatus.aidl
│           │           │       │   ├── PIMEUpdate.aidl
│           │           │       │   ├── PIMEUpdateResponse.aidl
│           │           │       │   ├── RequestIndexingSpecification.aidl
│           │           │       │   ├── SuggestSpecification.aidl
│           │           │       │   ├── SuggestionResults.aidl
│           │           │       │   ├── UsageInfo.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IAppDataSearch.aidl
│           │           │       │       ├── ILightweightAppDataSearch.aidl
│           │           │       │       └── ILightweightAppDataSearchCallbacks.aidl
│           │           │       ├── audit/
│           │           │       │   ├── LogAuditRecordsRequest.aidl
│           │           │       │   └── internal/
│           │           │       │       └── IAuditService.aidl
│           │           │       ├── auth/
│           │           │       │   └── appcert/
│           │           │       │       └── IAppCertService.aidl
│           │           │       ├── checkin/
│           │           │       │   └── internal/
│           │           │       │       └── ICheckinService.aidl
│           │           │       ├── credential/
│           │           │       │   └── manager/
│           │           │       │       ├── common/
│           │           │       │       │   ├── IPendingIntentCallback.aidl
│           │           │       │       │   └── ISettingsCallback.aidl
│           │           │       │       ├── firstparty/
│           │           │       │       │   └── internal/
│           │           │       │       │       └── ICredentialManagerService.aidl
│           │           │       │       └── invocationparams/
│           │           │       │           └── CredentialManagerInvocationParams.aidl
│           │           │       ├── facs/
│           │           │       │   └── cache/
│           │           │       │       ├── FacsCacheCallOptions.aidl
│           │           │       │       ├── ForceSettingsCacheRefreshResult.aidl
│           │           │       │       ├── GetActivityControlsSettingsResult.aidl
│           │           │       │       ├── ReadDeviceLevelSettingsResult.aidl
│           │           │       │       ├── UpdateActivityControlsSettingsResult.aidl
│           │           │       │       └── internal/
│           │           │       │           ├── IFacsCacheCallbacks.aidl
│           │           │       │           └── IFacsCacheService.aidl
│           │           │       ├── feedback/
│           │           │       │   ├── ErrorReport.aidl
│           │           │       │   ├── FeedbackOptions.aidl
│           │           │       │   ├── FileTeleporter.aidl
│           │           │       │   ├── LogOptions.aidl
│           │           │       │   ├── ThemeSettings.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IFeedbackCallbacks.aidl
│           │           │       │       └── IFeedbackService.aidl
│           │           │       ├── gass/
│           │           │       │   └── internal/
│           │           │       │       ├── GassRequestParcel.aidl
│           │           │       │       ├── GassResponseParcel.aidl
│           │           │       │       └── IGassService.aidl
│           │           │       ├── googlehelp/
│           │           │       │   ├── GoogleHelp.aidl
│           │           │       │   ├── InProductHelp.aidl
│           │           │       │   ├── SupportRequestHelp.aidl
│           │           │       │   └── internal/
│           │           │       │       └── common/
│           │           │       │           ├── IGoogleHelpCallbacks.aidl
│           │           │       │           └── IGoogleHelpService.aidl
│           │           │       ├── http/
│           │           │       │   └── IGoogleHttpService.aidl
│           │           │       ├── languageprofile/
│           │           │       │   ├── ClientLanguageSettings.aidl
│           │           │       │   ├── LanguageFluency.aidl
│           │           │       │   ├── LanguageFluencyParams.aidl
│           │           │       │   ├── LanguagePreference.aidl
│           │           │       │   ├── LanguagePreferenceParams.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ILanguageProfileCallbacks.aidl
│           │           │       │       └── ILanguageProfileService.aidl
│           │           │       ├── locationsharingreporter/
│           │           │       │   ├── IneligibilityRationale.aidl
│           │           │       │   ├── LocationReportingStatus.aidl
│           │           │       │   ├── LocationShare.aidl
│           │           │       │   ├── LocationUploadRequest.aidl
│           │           │       │   ├── LocationUploadResponse.aidl
│           │           │       │   ├── NoticeAckedUpdateRequest.aidl
│           │           │       │   ├── PeriodicLocationReportingIssues.aidl
│           │           │       │   ├── PeriodicLocationUploadRequest.aidl
│           │           │       │   ├── StartLocationReportingRequest.aidl
│           │           │       │   ├── StopLocationReportingRequest.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ILocationReportingIssuesCallback.aidl
│           │           │       │       ├── ILocationReportingStatusCallbacks.aidl
│           │           │       │       ├── ILocationSharingReporterService.aidl
│           │           │       │       └── ILocationUploadCallbacks.aidl
│           │           │       ├── maps/
│           │           │       │   └── auth/
│           │           │       │       └── IApiTokenService.aidl
│           │           │       ├── measurement/
│           │           │       │   └── internal/
│           │           │       │       ├── AppMetadata.aidl
│           │           │       │       ├── ConditionalUserPropertyParcel.aidl
│           │           │       │       ├── EventParcel.aidl
│           │           │       │       ├── IMeasurementService.aidl
│           │           │       │       └── UserAttributeParcel.aidl
│           │           │       ├── people/
│           │           │       │   └── internal/
│           │           │       │       ├── IPeopleCallbacks.aidl
│           │           │       │       └── IPeopleService.aidl
│           │           │       ├── phenotype/
│           │           │       │   ├── Configurations.aidl
│           │           │       │   ├── DogfoodsToken.aidl
│           │           │       │   ├── ExperimentTokens.aidl
│           │           │       │   ├── Flag.aidl
│           │           │       │   ├── FlagOverrides.aidl
│           │           │       │   ├── RegistrationInfo.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPhenotypeCallbacks.aidl
│           │           │       │       └── IPhenotypeService.aidl
│           │           │       ├── plus/
│           │           │       │   └── internal/
│           │           │       │       └── IPlusOneButtonCreator.aidl
│           │           │       ├── potokens/
│           │           │       │   ├── PoToken.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPoTokensService.aidl
│           │           │       │       └── ITokenCallbacks.aidl
│           │           │       ├── pseudonymous/
│           │           │       │   ├── PseudonymousIdToken.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IPseudonymousIdCallbacks.aidl
│           │           │       │       └── IPseudonymousIdService.aidl
│           │           │       ├── reminders/
│           │           │       │   ├── AccountState.aidl
│           │           │       │   ├── CreateReminderOptionsInternal.aidl
│           │           │       │   ├── LoadRemindersOptions.aidl
│           │           │       │   ├── ReindexDueDatesOptions.aidl
│           │           │       │   ├── UpdateRecurrenceOptions.aidl
│           │           │       │   ├── internal/
│           │           │       │   │   ├── IRemindersCallbacks.aidl
│           │           │       │   │   ├── IRemindersListener.aidl
│           │           │       │   │   └── IRemindersService.aidl
│           │           │       │   └── model/
│           │           │       │       ├── CustomizedSnoozePresetEntity.aidl
│           │           │       │       ├── TaskEntity.aidl
│           │           │       │       └── TaskIdEntity.aidl
│           │           │       ├── search/
│           │           │       │   ├── administration/
│           │           │       │   │   └── internal/
│           │           │       │   │       └── ISearchAdministrationService.aidl
│           │           │       │   ├── corpora/
│           │           │       │   │   ├── ClearCorpusRequest.aidl
│           │           │       │   │   ├── GetCorpusInfoRequest.aidl
│           │           │       │   │   ├── GetCorpusStatusRequest.aidl
│           │           │       │   │   ├── GetCorpusStatusResponse.aidl
│           │           │       │   │   ├── RequestIndexingRequest.aidl
│           │           │       │   │   ├── RequestIndexingResponse.aidl
│           │           │       │   │   └── internal/
│           │           │       │   │       ├── ISearchCorporaCallbacks.aidl
│           │           │       │   │       └── ISearchCorporaService.aidl
│           │           │       │   ├── global/
│           │           │       │   │   ├── GetCurrentExperimentIdsRequest.aidl
│           │           │       │   │   ├── GetCurrentExperimentIdsResponse.aidl
│           │           │       │   │   ├── GetGlobalSearchSourcesRequest.aidl
│           │           │       │   │   ├── GetGlobalSearchSourcesResponse.aidl
│           │           │       │   │   ├── GetPendingExperimentIdsRequest.aidl
│           │           │       │   │   ├── GetPendingExperimentIdsResponse.aidl
│           │           │       │   │   ├── SetExperimentIdsRequest.aidl
│           │           │       │   │   ├── SetExperimentIdsResponse.aidl
│           │           │       │   │   ├── SetIncludeInGlobalSearchRequest.aidl
│           │           │       │   │   ├── SetIncludeInGlobalSearchResponse.aidl
│           │           │       │   │   └── internal/
│           │           │       │   │       ├── IGlobalSearchAdminCallbacks.aidl
│           │           │       │   │       └── IGlobalSearchAdminService.aidl
│           │           │       │   └── queries/
│           │           │       │       ├── QueryRequest.aidl
│           │           │       │       ├── QueryResponse.aidl
│           │           │       │       └── internal/
│           │           │       │           ├── ISearchQueriesCallbacks.aidl
│           │           │       │           └── ISearchQueriesService.aidl
│           │           │       ├── semanticlocation/
│           │           │       │   ├── PlaceCandidate.aidl
│           │           │       │   ├── SemanticLocationEventRequest.aidl
│           │           │       │   ├── SemanticLocationState.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ISemanticLocationService.aidl
│           │           │       │       └── SemanticLocationParameters.aidl
│           │           │       ├── semanticlocationhistory/
│           │           │       │   ├── ExperimentVisitsResponse.aidl
│           │           │       │   ├── FieldMask.aidl
│           │           │       │   ├── FrequentPlace.aidl
│           │           │       │   ├── FrequentTrip.aidl
│           │           │       │   ├── InferredPlace.aidl
│           │           │       │   ├── LocationHistorySegment.aidl
│           │           │       │   ├── LocationHistorySegmentRequest.aidl
│           │           │       │   ├── LocationHistorySettings.aidl
│           │           │       │   ├── LookupParameters.aidl
│           │           │       │   ├── OdlhBackupSummary.aidl
│           │           │       │   ├── Persona.aidl
│           │           │       │   ├── RequestCredentials.aidl
│           │           │       │   ├── SemanticLocationEditInputs.aidl
│           │           │       │   ├── TimeRangeFilter.aidl
│           │           │       │   ├── UserLocationProfile.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── ISemanticLocationHistoryCallbacks.aidl
│           │           │       │       └── ISemanticLocationHistoryService.aidl
│           │           │       ├── usagereporting/
│           │           │       │   ├── UsageReportingOptInOptions.aidl
│           │           │       │   └── internal/
│           │           │       │       ├── IUsageReportingCallbacks.aidl
│           │           │       │       ├── IUsageReportingOptInOptionsChangedListener.aidl
│           │           │       │       └── IUsageReportingService.aidl
│           │           │       └── wallet/
│           │           │           ├── GetClientTokenRequest.aidl
│           │           │           ├── GetClientTokenResponse.aidl
│           │           │           ├── IsReadyToPayRequest.aidl
│           │           │           └── internal/
│           │           │               ├── IOwService.aidl
│           │           │               └── IWalletServiceCallbacks.aidl
│           │           └── firebase/
│           │               └── database/
│           │                   └── connection/
│           │                       └── idl/
│           │                           ├── CompoundHashParcelable.aidl
│           │                           ├── ConnectionConfig.aidl
│           │                           ├── IConnectionAuthTokenProvider.aidl
│           │                           ├── IGetTokenCallback.aidl
│           │                           ├── IListenHashProvider.aidl
│           │                           ├── IPersistentConnection.aidl
│           │                           ├── IPersistentConnectionDelegate.aidl
│           │                           ├── IRequestResultCallback.aidl
│           │                           └── RangeParcelable.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       ├── android/
│                       │   └── gms/
│                       │       ├── appdatasearch/
│                       │       │   ├── CorpusStatus.java
│                       │       │   ├── PIMEUpdate.java
│                       │       │   ├── PIMEUpdateResponse.java
│                       │       │   ├── QuerySpecification.java
│                       │       │   ├── RequestIndexingSpecification.java
│                       │       │   ├── SearchResults.java
│                       │       │   ├── SuggestSpecification.java
│                       │       │   ├── SuggestionResults.java
│                       │       │   └── UsageInfo.java
│                       │       ├── audit/
│                       │       │   └── LogAuditRecordsRequest.java
│                       │       ├── auth/
│                       │       │   └── firstparty/
│                       │       │       ├── dataservice/
│                       │       │       │   ├── AccountRecoveryGuidanceRequest.java
│                       │       │       │   ├── AccountRemovalRequest.java
│                       │       │       │   ├── ConfirmCredentialsRequest.java
│                       │       │       │   ├── FACLConfig.java
│                       │       │       │   ├── PACLConfig.java
│                       │       │       │   ├── TokenRequest.java
│                       │       │       │   └── TokenResponse.java
│                       │       │       ├── delegate/
│                       │       │       │   └── ConfirmCredentialsWorkflowRequest.java
│                       │       │       ├── proximity/
│                       │       │       │   └── data/
│                       │       │       │       └── Permit.java
│                       │       │       └── shared/
│                       │       │           ├── AccountCredentials.java
│                       │       │           ├── AppDescription.java
│                       │       │           └── CaptchaSolution.java
│                       │       ├── credential/
│                       │       │   └── manager/
│                       │       │       └── invocationparams/
│                       │       │           ├── CallerInfo.java
│                       │       │           ├── CredentialManagerAccount.java
│                       │       │           └── CredentialManagerInvocationParams.java
│                       │       ├── facs/
│                       │       │   └── cache/
│                       │       │       ├── FacsCacheCallOptions.java
│                       │       │       ├── ForceSettingsCacheRefreshResult.java
│                       │       │       ├── GetActivityControlsSettingsResult.java
│                       │       │       ├── ReadDeviceLevelSettingsResult.java
│                       │       │       └── UpdateActivityControlsSettingsResult.java
│                       │       ├── family/
│                       │       │   ├── model/
│                       │       │   │   └── MemberDataModel.java
│                       │       │   └── v2/
│                       │       │       └── model/
│                       │       │           ├── BulletPoint.java
│                       │       │           ├── HelpData.java
│                       │       │           └── PageData.java
│                       │       ├── feedback/
│                       │       │   ├── ErrorReport.java
│                       │       │   ├── FeedbackOptions.java
│                       │       │   ├── FileTeleporter.java
│                       │       │   ├── LogOptions.java
│                       │       │   └── ThemeSettings.java
│                       │       ├── gass/
│                       │       │   └── internal/
│                       │       │       ├── GassRequestParcel.java
│                       │       │       └── GassResponseParcel.java
│                       │       ├── googlehelp/
│                       │       │   ├── FRDProductSpecificDataEntry.java
│                       │       │   ├── GoogleHelp.java
│                       │       │   ├── InProductHelp.java
│                       │       │   ├── ND4CSettings.java
│                       │       │   ├── OfflineSuggestion.java
│                       │       │   ├── SupportRequestHelp.java
│                       │       │   └── internal/
│                       │       │       └── common/
│                       │       │           ├── OverflowMenuItem.java
│                       │       │           └── TogglingData.java
│                       │       ├── identity/
│                       │       │   ├── accounts/
│                       │       │   │   └── api/
│                       │       │   │       └── AccountData.java
│                       │       │   └── intents/
│                       │       │       └── model/
│                       │       │           ├── CountrySpecification.java
│                       │       │           └── UserAddress.java
│                       │       ├── languageprofile/
│                       │       │   ├── ClientLanguageSettings.java
│                       │       │   ├── LanguageFluency.java
│                       │       │   ├── LanguageFluencyParams.java
│                       │       │   ├── LanguagePreference.java
│                       │       │   └── LanguagePreferenceParams.java
│                       │       ├── locationsharingreporter/
│                       │       │   ├── IneligibilityRationale.java
│                       │       │   ├── LocationCollectionReason.java
│                       │       │   ├── LocationReportingStatus.java
│                       │       │   ├── LocationShare.java
│                       │       │   ├── LocationUploadRequest.java
│                       │       │   ├── LocationUploadResponse.java
│                       │       │   ├── NoticeAckedUpdateRequest.java
│                       │       │   ├── PeriodicLocationReportingIssues.java
│                       │       │   ├── PeriodicLocationUploadRequest.java
│                       │       │   ├── StartLocationReportingRequest.java
│                       │       │   └── StopLocationReportingRequest.java
│                       │       ├── measurement/
│                       │       │   └── internal/
│                       │       │       ├── AppMetadata.java
│                       │       │       ├── ConditionalUserPropertyParcel.java
│                       │       │       ├── EventParams.java
│                       │       │       ├── EventParcel.java
│                       │       │       └── UserAttributeParcel.java
│                       │       ├── people/
│                       │       │   ├── internal/
│                       │       │   │   └── ParcelableLoadImageOptions.java
│                       │       │   └── model/
│                       │       │       ├── AccountMetadata.java
│                       │       │       └── AvatarReference.java
│                       │       ├── phenotype/
│                       │       │   ├── Configurations.java
│                       │       │   ├── DogfoodsToken.java
│                       │       │   ├── FlagOverrides.java
│                       │       │   └── RegistrationInfo.java
│                       │       ├── plus/
│                       │       │   ├── internal/
│                       │       │   │   ├── PlusCommonExtras.java
│                       │       │   │   ├── PlusSession.java
│                       │       │   │   └── model/
│                       │       │   │       └── smart_profile/
│                       │       │   │           ├── CardsRequest.java
│                       │       │   │           ├── CardsResponse.java
│                       │       │   │           ├── PeopleForProfilesRequest.java
│                       │       │   │           └── PeopleForProfilesResponse.java
│                       │       │   └── model/
│                       │       │       └── posts/
│                       │       │           ├── Comment.java
│                       │       │           ├── Post.java
│                       │       │           └── Settings.java
│                       │       ├── potokens/
│                       │       │   └── PoToken.java
│                       │       ├── pseudonymous/
│                       │       │   └── PseudonymousIdToken.java
│                       │       ├── reminders/
│                       │       │   ├── AccountState.java
│                       │       │   ├── CreateReminderOptionsInternal.java
│                       │       │   ├── LoadRemindersOptions.java
│                       │       │   ├── ReindexDueDatesOptions.java
│                       │       │   ├── UpdateRecurrenceOptions.java
│                       │       │   └── model/
│                       │       │       ├── CustomizedSnoozePresetEntity.java
│                       │       │       ├── TaskEntity.java
│                       │       │       └── TaskIdEntity.java
│                       │       ├── search/
│                       │       │   ├── corpora/
│                       │       │   │   ├── ClearCorpusRequest.java
│                       │       │   │   ├── GetCorpusInfoRequest.java
│                       │       │   │   ├── GetCorpusStatusRequest.java
│                       │       │   │   ├── GetCorpusStatusResponse.java
│                       │       │   │   ├── RequestIndexingRequest.java
│                       │       │   │   └── RequestIndexingResponse.java
│                       │       │   ├── global/
│                       │       │   │   ├── GetCurrentExperimentIdsRequest.java
│                       │       │   │   ├── GetCurrentExperimentIdsResponse.java
│                       │       │   │   ├── GetGlobalSearchSourcesRequest.java
│                       │       │   │   ├── GetGlobalSearchSourcesResponse.java
│                       │       │   │   ├── GetPendingExperimentIdsRequest.java
│                       │       │   │   ├── GetPendingExperimentIdsResponse.java
│                       │       │   │   ├── SetExperimentIdsRequest.java
│                       │       │   │   ├── SetExperimentIdsResponse.java
│                       │       │   │   ├── SetIncludeInGlobalSearchRequest.java
│                       │       │   │   └── SetIncludeInGlobalSearchResponse.java
│                       │       │   └── queries/
│                       │       │       ├── QueryRequest.java
│                       │       │       └── QueryResponse.java
│                       │       ├── semanticlocation/
│                       │       │   ├── Activity.java
│                       │       │   ├── ActivityCandidate.java
│                       │       │   ├── ActivityEndEvent.java
│                       │       │   ├── ActivityOngoingEvent.java
│                       │       │   ├── ActivityStartEvent.java
│                       │       │   ├── ActivityStatistics.java
│                       │       │   ├── AdditionalActivityCandidates.java
│                       │       │   ├── AdditionalPlaceCandidates.java
│                       │       │   ├── Date.java
│                       │       │   ├── DebugData.java
│                       │       │   ├── InputSignals.java
│                       │       │   ├── Note.java
│                       │       │   ├── Parking.java
│                       │       │   ├── Path.java
│                       │       │   ├── PeriodSummary.java
│                       │       │   ├── PlaceCandidate.java
│                       │       │   ├── PlaceEnterEvent.java
│                       │       │   ├── PlaceExitEvent.java
│                       │       │   ├── PlaceOngoingEvent.java
│                       │       │   ├── PointWithDetails.java
│                       │       │   ├── SemanticLocationEvent.java
│                       │       │   ├── SemanticLocationEventRequest.java
│                       │       │   ├── SemanticLocationState.java
│                       │       │   ├── SemanticSegment.java
│                       │       │   ├── TemporarilyClosedPlaceCandidates.java
│                       │       │   ├── TimelineMemory.java
│                       │       │   ├── TimelinePath.java
│                       │       │   ├── Trip.java
│                       │       │   ├── Visit.java
│                       │       │   └── internal/
│                       │       │       └── SemanticLocationParameters.java
│                       │       ├── semanticlocationhistory/
│                       │       │   ├── DeletionRange.java
│                       │       │   ├── DeviceMetadata.java
│                       │       │   ├── ExperimentVisitsResponse.java
│                       │       │   ├── FieldMask.java
│                       │       │   ├── FrequentPlace.java
│                       │       │   ├── FrequentTrip.java
│                       │       │   ├── InferredPlace.java
│                       │       │   ├── LocationHistorySegment.java
│                       │       │   ├── LocationHistorySegmentRequest.java
│                       │       │   ├── LocationHistorySettings.java
│                       │       │   ├── LookupParameters.java
│                       │       │   ├── OdlhBackupSummary.java
│                       │       │   ├── Persona.java
│                       │       │   ├── RequestCredentials.java
│                       │       │   ├── SemanticLocationEditInputs.java
│                       │       │   ├── TimeRangeFilter.java
│                       │       │   └── UserLocationProfile.java
│                       │       ├── usagereporting/
│                       │       │   └── UsageReportingOptInOptions.java
│                       │       └── wallet/
│                       │           ├── GetClientTokenRequest.java
│                       │           ├── GetClientTokenResponse.java
│                       │           ├── IsReadyToPayRequest.java
│                       │           ├── IsReadyToPayResponse.java
│                       │           └── WalletConstants.java
│                       └── firebase/
│                           └── database/
│                               └── connection/
│                                   └── idl/
│                                       ├── CompoundHashParcelable.java
│                                       ├── ConnectionConfig.java
│                                       └── RangeParcelable.java
├── play-services-appinvite/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── appinivite/
│   │           │                   ├── AppInviteActivity.kt
│   │           │                   ├── AppInviteService.kt
│   │           │                   └── utils/
│   │           │                       └── DynamicLinkUtils.kt
│   │           └── proto/
│   │               └── datamixer.proto
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── aidl/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── appinvite/
│                                   └── internal/
│                                       ├── IAppInviteCallbacks.aidl
│                                       └── IAppInviteService.aidl
├── play-services-appset/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── appset/
│   │                               └── AppSetService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── appset/
│           │                       ├── AppSetIdRequestParams.aidl
│           │                       ├── AppSetInfoParcel.aidl
│           │                       └── internal/
│           │                           ├── IAppSetIdCallback.aidl
│           │                           └── IAppSetService.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── appset/
│                                   ├── AppSet.java
│                                   ├── AppSetIdClient.java
│                                   ├── AppSetIdInfo.java
│                                   ├── AppSetIdRequestParams.java
│                                   ├── AppSetInfoParcel.java
│                                   └── package-info.java
├── play-services-auth/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       ├── account/
│           │                       │   └── data/
│           │                       │       ├── IAccountDataService.aidl
│           │                       │       └── IDeviceManagementInfoCallback.aidl
│           │                       └── api/
│           │                           ├── credentials/
│           │                           │   ├── Credential.aidl
│           │                           │   ├── CredentialRequest.aidl
│           │                           │   └── internal/
│           │                           │       ├── DeleteRequest.aidl
│           │                           │       ├── GeneratePasswordRequest.aidl
│           │                           │       ├── ICredentialsCallbacks.aidl
│           │                           │       ├── ICredentialsService.aidl
│           │                           │       └── SaveRequest.aidl
│           │                           ├── identity/
│           │                           │   ├── AuthorizationRequest.aidl
│           │                           │   ├── AuthorizationResult.aidl
│           │                           │   ├── BeginSignInRequest.aidl
│           │                           │   ├── BeginSignInResult.aidl
│           │                           │   ├── ClearTokenRequest.aidl
│           │                           │   ├── GetPhoneNumberHintIntentRequest.aidl
│           │                           │   ├── GetSignInIntentRequest.aidl
│           │                           │   ├── RevokeAccessRequest.aidl
│           │                           │   ├── SignInCredential.aidl
│           │                           │   ├── VerifyWithGoogleRequest.aidl
│           │                           │   ├── VerifyWithGoogleResult.aidl
│           │                           │   └── internal/
│           │                           │       ├── IAuthorizationCallback.aidl
│           │                           │       ├── IAuthorizationService.aidl
│           │                           │       ├── IBeginSignInCallback.aidl
│           │                           │       ├── IGetPhoneNumberHintIntentCallback.aidl
│           │                           │       ├── IGetSignInIntentCallback.aidl
│           │                           │       ├── ISignInService.aidl
│           │                           │       └── IVerifyWithGoogleCallback.aidl
│           │                           └── signin/
│           │                               └── internal/
│           │                                   ├── ISignInCallbacks.aidl
│           │                                   └── ISignInService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── auth/
│               │                   ├── api/
│               │                   │   ├── Auth.java
│               │                   │   ├── credentials/
│               │                   │   │   ├── Credential.java
│               │                   │   │   ├── CredentialPickerConfig.java
│               │                   │   │   ├── CredentialRequest.java
│               │                   │   │   ├── HintRequest.java
│               │                   │   │   ├── IdToken.java
│               │                   │   │   ├── IdentityProviders.java
│               │                   │   │   ├── internal/
│               │                   │   │   │   ├── DeleteRequest.java
│               │                   │   │   │   ├── GeneratePasswordRequest.java
│               │                   │   │   │   └── SaveRequest.java
│               │                   │   │   └── package-info.java
│               │                   │   ├── identity/
│               │                   │   │   ├── AuthorizationClient.java
│               │                   │   │   ├── AuthorizationOptions.java
│               │                   │   │   ├── AuthorizationRequest.java
│               │                   │   │   ├── AuthorizationResult.java
│               │                   │   │   ├── BeginSignInRequest.java
│               │                   │   │   ├── BeginSignInResult.java
│               │                   │   │   ├── ClearTokenRequest.java
│               │                   │   │   ├── CredentialSavingClient.java
│               │                   │   │   ├── CredentialSavingOptions.java
│               │                   │   │   ├── GetPhoneNumberHintIntentRequest.java
│               │                   │   │   ├── GetSignInIntentRequest.java
│               │                   │   │   ├── Identity.java
│               │                   │   │   ├── RevokeAccessRequest.java
│               │                   │   │   ├── SaveAccountLinkingTokenRequest.java
│               │                   │   │   ├── SaveAccountLinkingTokenResult.java
│               │                   │   │   ├── SavePasswordRequest.java
│               │                   │   │   ├── SavePasswordResult.java
│               │                   │   │   ├── SignInClient.java
│               │                   │   │   ├── SignInCredential.java
│               │                   │   │   ├── SignInOptions.java
│               │                   │   │   ├── SignInPassword.java
│               │                   │   │   ├── VerifyWithGoogleRequest.java
│               │                   │   │   ├── VerifyWithGoogleResult.java
│               │                   │   │   └── package-info.java
│               │                   │   └── signin/
│               │                   │       ├── GoogleSignIn.java
│               │                   │       ├── GoogleSignInApi.java
│               │                   │       ├── GoogleSignInClient.java
│               │                   │       ├── GoogleSignInResult.java
│               │                   │       ├── GoogleSignInStatusCodes.java
│               │                   │       ├── SignInAccount.java
│               │                   │       └── internal/
│               │                   │           └── SignInConfiguration.java
│               │                   └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── auth/
│                               └── api/
│                                   └── signin/
│                                       ├── GoogleSignInApiImpl.java
│                                       ├── GoogleSignInCommon.java
│                                       └── GoogleSignInGmsClientImpl.java
├── play-services-auth-api/
│   └── src/
│       └── main/
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── api/
│                                       └── identity/
│                                           └── package-info.java
├── play-services-auth-api-phone/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── auth/
│   │           │                   └── phone/
│   │           │                       ├── AskPermissionActivity.kt
│   │           │                       ├── SmsRetrieverCore.kt
│   │           │                       ├── SmsRetrieverRequest.kt
│   │           │                       ├── SmsRetrieverService.kt
│   │           │                       ├── UserConsentPromptActivity.kt
│   │           │                       └── constants.kt
│   │           └── res/
│   │               ├── layout/
│   │               │   └── dialog_sms_user_consent.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       └── api/
│           │                           └── phone/
│           │                               └── internal/
│           │                                   ├── IAutofillPermissionStateCallback.aidl
│           │                                   ├── IOngoingSmsRequestCallback.aidl
│           │                                   ├── ISmsRetrieverApiService.aidl
│           │                                   └── ISmsRetrieverResultCallback.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── auth/
│               │                   └── api/
│               │                       └── phone/
│               │                           ├── SmsCodeAutofillClient.java
│               │                           ├── SmsCodeBrowserClient.java
│               │                           ├── SmsCodeRetriever.java
│               │                           ├── SmsRetriever.java
│               │                           ├── SmsRetrieverApi.java
│               │                           ├── SmsRetrieverClient.java
│               │                           ├── SmsRetrieverStatusCodes.java
│               │                           └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── auth/
│                               └── api/
│                                   └── phone/
│                                       ├── SmsCodeAutofillClientImpl.java
│                                       ├── SmsCodeBrowserClientImpl.java
│                                       ├── SmsRetrieverApiClient.java
│                                       ├── SmsRetrieverClientImpl.java
│                                       ├── SmsRetrieverResultCallbackImpl.java
│                                       └── StatusCallbackImpl.java
├── play-services-auth-base/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               ├── auth/
│           │               │   └── IAuthManagerService.aidl
│           │               └── gms/
│           │                   └── auth/
│           │                       ├── AccountChangeEventsRequest.aidl
│           │                       ├── AccountChangeEventsResponse.aidl
│           │                       ├── GetAccountsRequest.aidl
│           │                       ├── GetHubTokenInternalResponse.aidl
│           │                       ├── GetHubTokenRequest.aidl
│           │                       ├── HasCapabilitiesRequest.aidl
│           │                       ├── account/
│           │                       │   └── data/
│           │                       │       ├── IBundleCallback.aidl
│           │                       │       ├── IGetAccountChangeEventsCallback.aidl
│           │                       │       ├── IGetAccountsCallback.aidl
│           │                       │       ├── IGetHubTokenCallback.aidl
│           │                       │       ├── IGetTokenWithDetailsCallback.aidl
│           │                       │       ├── IGoogleAuthService.aidl
│           │                       │       └── IHasCapabilitiesCallback.aidl
│           │                       ├── api/
│           │                       │   ├── internal/
│           │                       │   │   ├── IAuthCallbacks.aidl
│           │                       │   │   └── IAuthService.aidl
│           │                       │   └── proxy/
│           │                       │       ├── ProxyRequest.aidl
│           │                       │       └── ProxyResponse.aidl
│           │                       ├── firstparty/
│           │                       │   └── dataservice/
│           │                       │       ├── ClearTokenRequest.aidl
│           │                       │       └── DeviceManagementInfoResponse.aidl
│           │                       └── folsom/
│           │                           ├── RecoveryRequest.aidl
│           │                           ├── RecoveryResult.aidl
│           │                           ├── SharedKey.aidl
│           │                           └── internal/
│           │                               ├── IBooleanCallback.aidl
│           │                               ├── IByteArrayCallback.aidl
│           │                               ├── IByteArrayListCallback.aidl
│           │                               ├── IKeyRetrievalCallback.aidl
│           │                               ├── IKeyRetrievalConsentCallback.aidl
│           │                               ├── IKeyRetrievalService.aidl
│           │                               ├── IKeyRetrievalSyncStatusCallback.aidl
│           │                               ├── IRecoveryResultCallback.aidl
│           │                               ├── ISecurityDomainMembersCallback.aidl
│           │                               ├── ISharedKeyCallback.aidl
│           │                               └── IStringListCallback.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   ├── AccountChangeEvent.java
│                                   ├── AccountChangeEventsRequest.java
│                                   ├── AccountChangeEventsResponse.java
│                                   ├── GetAccountsRequest.java
│                                   ├── GetHubTokenInternalResponse.java
│                                   ├── GetHubTokenRequest.java
│                                   ├── HasCapabilitiesRequest.java
│                                   ├── TokenData.java
│                                   ├── api/
│                                   │   └── proxy/
│                                   │       ├── ProxyRequest.java
│                                   │       └── ProxyResponse.java
│                                   ├── firstparty/
│                                   │   └── dataservice/
│                                   │       ├── ClearTokenRequest.java
│                                   │       └── DeviceManagementInfoResponse.java
│                                   ├── folsom/
│                                   │   ├── RecoveryRequest.java
│                                   │   ├── RecoveryResult.java
│                                   │   └── SharedKey.java
│                                   └── package-info.java
├── play-services-auth-blockstore/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── auth/
│   │                               └── blockstore/
│   │                                   ├── BlockStoreImpl.kt
│   │                                   └── BlockstoreApiService.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── auth/
│           │                       └── blockstore/
│           │                           ├── AppRestoreInfo.aidl
│           │                           ├── DeleteBytesRequest.aidl
│           │                           ├── RetrieveBytesRequest.aidl
│           │                           ├── RetrieveBytesResponse.aidl
│           │                           ├── StoreBytesData.aidl
│           │                           └── internal/
│           │                               ├── IBlockstoreService.aidl
│           │                               ├── IDeleteBytesCallback.aidl
│           │                               ├── IGetAccessForPackageCallback.aidl
│           │                               ├── IGetBlockstoreDataCallback.aidl
│           │                               ├── IIsEndToEndEncryptionAvailableCallback.aidl
│           │                               ├── IRetrieveBytesCallback.aidl
│           │                               ├── ISetBlockstoreDataCallback.aidl
│           │                               └── IStoreBytesCallback.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── blockstore/
│                                       ├── AppRestoreInfo.java
│                                       ├── Blockstore.java
│                                       ├── BlockstoreClient.java
│                                       ├── BlockstoreStatusCodes.java
│                                       ├── DeleteBytesRequest.java
│                                       ├── RetrieveBytesRequest.java
│                                       ├── RetrieveBytesResponse.java
│                                       ├── StoreBytesData.java
│                                       └── package-info.java
├── play-services-auth-workaccount/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   ├── com/
│   │           │   │   └── google/
│   │           │   │       └── android/
│   │           │   │           └── gms/
│   │           │   │               └── auth/
│   │           │   │                   └── account/
│   │           │   │                       └── authenticator/
│   │           │   │                           ├── WorkAccountAuthenticator.kt
│   │           │   │                           └── WorkAccountAuthenticatorService.kt
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── auth/
│   │           │                   └── workaccount/
│   │           │                       ├── WorkAccountService.kt
│   │           │                       └── WorkProfileSettings.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   └── ic_briefcase.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               └── xml/
│   │                   └── auth_work_authenticator.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── aidl/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── auth/
│                                   └── account/
│                                       ├── IWorkAccountCallback.aidl
│                                       └── IWorkAccountService.aidl
├── play-services-base/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   ├── package/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           └── kotlin/
│   │   │               └── org/
│   │   │                   └── microg/
│   │   │                       └── gms/
│   │   │                           ├── moduleinstall/
│   │   │                           │   └── ModuleInstallService.kt
│   │   │                           └── profile/
│   │   │                               └── ProfileProvider.kt
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               ├── AbstractGmsServiceBroker.java
│   │           │               ├── BaseService.java
│   │           │               ├── DummyService.java
│   │           │               ├── auth/
│   │           │               │   ├── AuthRequest.java
│   │           │               │   └── AuthResponse.java
│   │           │               └── common/
│   │           │                   ├── DeviceConfiguration.java
│   │           │                   ├── DeviceIdentifier.java
│   │           │                   ├── ForegroundServiceContext.java
│   │           │                   ├── ForegroundServiceInfo.java
│   │           │                   ├── HttpFormClient.java
│   │           │                   ├── MultiListenerProxy.java
│   │           │                   ├── NonCancelToken.java
│   │           │                   ├── NotOkayException.java
│   │           │                   ├── PackageUtils.java
│   │           │                   ├── PhoneInfo.java
│   │           │                   ├── RemoteListenerProxy.java
│   │           │                   └── Utils.java
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               ├── auth/
│   │           │               │   └── AuthPrefs.kt
│   │           │               ├── checkin/
│   │           │               │   └── LastCheckinInfo.kt
│   │           │               ├── common/
│   │           │               │   ├── AccountUtils.kt
│   │           │               │   ├── DeviceConfigProto.kt
│   │           │               │   └── KnownGooglePackages.kt
│   │           │               ├── crossprofile/
│   │           │               │   ├── CrossProfileRequestActivity.kt
│   │           │               │   ├── CrossProfileSendActivity.kt
│   │           │               │   └── UserInitReceiver.kt
│   │           │               ├── profile/
│   │           │               │   ├── Build.kt
│   │           │               │   └── ProfileManager.kt
│   │           │               ├── settings/
│   │           │               │   ├── MetaDataPreferences.kt
│   │           │               │   ├── SettingsContract.kt
│   │           │               │   └── SettingsProvider.kt
│   │           │               ├── ui/
│   │           │               │   ├── AppHeadingPreference.kt
│   │           │               │   ├── AppIconPreference.kt
│   │           │               │   ├── AppPreference.kt
│   │           │               │   ├── Constants.kt
│   │           │               │   ├── FooterPreference.kt
│   │           │               │   ├── SwitchBarPreference.kt
│   │           │               │   ├── TextPreference.kt
│   │           │               │   ├── Utils.kt
│   │           │               │   └── settings/
│   │           │               │       └── SettingsProvider.kt
│   │           │               ├── utils/
│   │           │               │   ├── BinderUtils.kt
│   │           │               │   ├── BitmapUtils.kt
│   │           │               │   ├── ExtendedPackageInfo.kt
│   │           │               │   ├── FileXmlResourceParser.kt
│   │           │               │   ├── IntentCacheManager.kt
│   │           │               │   ├── PackageManagerUtils.kt
│   │           │               │   ├── PackageManagerWrapper.kt
│   │           │               │   └── SingleInstanceUtil.kt
│   │           │               └── vending/
│   │           │                   ├── InstallerData.kt
│   │           │                   └── PlayIntegrityData.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── ic_background_notify.xml
│   │               │   ├── ic_expand_apps.xml
│   │               │   ├── ic_info_outline.xml
│   │               │   ├── ic_open.xml
│   │               │   ├── ic_radio.xml
│   │               │   ├── ic_radio_checked.xml
│   │               │   └── ic_radio_unchecked.xml
│   │               ├── layout/
│   │               │   ├── list_no_item.xml
│   │               │   ├── preference_app_heading.xml
│   │               │   ├── preference_category_no_label.xml
│   │               │   ├── preference_footer.xml
│   │               │   ├── preference_progress_bar.xml
│   │               │   └── preference_switch_bar.xml
│   │               ├── values/
│   │               │   ├── strings.xml
│   │               │   └── themes.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── auth/
│           │                   │   └── api/
│           │                   │       └── signin/
│           │                   │           ├── GoogleSignInAccount.aidl
│           │                   │           └── GoogleSignInOptions.aidl
│           │                   ├── common/
│           │                   │   ├── api/
│           │                   │   │   └── internal/
│           │                   │   │       └── IStatusCallback.aidl
│           │                   │   ├── data/
│           │                   │   │   ├── BitmapTeleporter.aidl
│           │                   │   │   └── DataHolder.aidl
│           │                   │   ├── images/
│           │                   │   │   └── WebImage.aidl
│           │                   │   ├── internal/
│           │                   │   │   ├── AuthAccountRequest.aidl
│           │                   │   │   ├── IResolveAccountCallbacks.aidl
│           │                   │   │   ├── ISignInButtonCreator.aidl
│           │                   │   │   ├── MethodInvocation.aidl
│           │                   │   │   ├── ResolveAccountRequest.aidl
│           │                   │   │   ├── TelemetryData.aidl
│           │                   │   │   └── service/
│           │                   │   │       ├── IClientTelemetryService.aidl
│           │                   │   │       ├── ICommonCallbacks.aidl
│           │                   │   │       └── ICommonService.aidl
│           │                   │   ├── moduleinstall/
│           │                   │   │   ├── ModuleAvailabilityResponse.aidl
│           │                   │   │   ├── ModuleInstallIntentResponse.aidl
│           │                   │   │   ├── ModuleInstallResponse.aidl
│           │                   │   │   ├── ModuleInstallStatusUpdate.aidl
│           │                   │   │   └── internal/
│           │                   │   │       ├── ApiFeatureRequest.aidl
│           │                   │   │       ├── IModuleInstallCallbacks.aidl
│           │                   │   │       ├── IModuleInstallService.aidl
│           │                   │   │       └── IModuleInstallStatusListener.aidl
│           │                   │   └── server/
│           │                   │       └── FavaDiagnosticsEntity.aidl
│           │                   └── signin/
│           │                       └── internal/
│           │                           ├── AuthAccountResult.aidl
│           │                           ├── CheckServerAuthResult.aidl
│           │                           ├── ISignInCallbacks.aidl
│           │                           ├── ISignInService.aidl
│           │                           ├── RecordConsentByConsentResultRequest.aidl
│           │                           ├── RecordConsentByConsentResultResponse.aidl
│           │                           ├── RecordConsentRequest.aidl
│           │                           ├── SignInRequest.aidl
│           │                           └── SignInResponse.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               ├── auth/
│               │               │   └── api/
│               │               │       └── signin/
│               │               │           ├── GoogleSignInAccount.java
│               │               │           ├── GoogleSignInOptions.java
│               │               │           ├── GoogleSignInOptionsExtension.java
│               │               │           └── internal/
│               │               │               ├── GoogleSignInOptionsExtensionParcelable.java
│               │               │               ├── HashAccumulator.java
│               │               │               └── Storage.java
│               │               ├── common/
│               │               │   ├── GoogleApiAvailability.java
│               │               │   ├── GooglePlayServicesClient.java
│               │               │   ├── GooglePlayServicesUtil.java
│               │               │   ├── api/
│               │               │   │   ├── AccountInfo.java
│               │               │   │   ├── Api.java
│               │               │   │   ├── GoogleApi.java
│               │               │   │   ├── GoogleApiActivity.java
│               │               │   │   ├── GoogleApiClient.java
│               │               │   │   ├── HasApiKey.java
│               │               │   │   ├── OptionalModuleApi.java
│               │               │   │   ├── OptionalPendingResult.java
│               │               │   │   ├── PendingResult.java
│               │               │   │   └── internal/
│               │               │   │       ├── ApiExceptionMapper.java
│               │               │   │       ├── ApiKey.java
│               │               │   │       ├── ConnectionCallbacks.java
│               │               │   │       ├── ListenerHolder.java
│               │               │   │       ├── OnConnectionFailedListener.java
│               │               │   │       └── SignInConnectionListener.java
│               │               │   ├── data/
│               │               │   │   ├── AbstractDataBuffer.java
│               │               │   │   ├── BitmapTeleporter.java
│               │               │   │   ├── DataBuffer.java
│               │               │   │   ├── DataBufferIterator.java
│               │               │   │   ├── DataBufferRef.java
│               │               │   │   ├── DataHolder.java
│               │               │   │   ├── Freezable.java
│               │               │   │   ├── SingleRefDataBufferIterator.java
│               │               │   │   └── package-info.java
│               │               │   ├── images/
│               │               │   │   ├── ImageManager.java
│               │               │   │   ├── Size.java
│               │               │   │   ├── WebImage.java
│               │               │   │   └── package-info.java
│               │               │   ├── internal/
│               │               │   │   ├── ApiExceptionUtil.java
│               │               │   │   ├── AuthAccountRequest.java
│               │               │   │   ├── ClientIdentity.java
│               │               │   │   ├── ClientSettings.java
│               │               │   │   ├── MethodInvocation.java
│               │               │   │   ├── PendingResultUtil.java
│               │               │   │   ├── ResolveAccountRequest.java
│               │               │   │   ├── ResolveAccountResponse.java
│               │               │   │   ├── ResultTransform.java
│               │               │   │   ├── TelemetryData.java
│               │               │   │   └── TransformedResult.java
│               │               │   ├── moduleinstall/
│               │               │   │   ├── InstallStatusListener.java
│               │               │   │   ├── ModuleAvailabilityResponse.java
│               │               │   │   ├── ModuleInstall.java
│               │               │   │   ├── ModuleInstallClient.java
│               │               │   │   ├── ModuleInstallIntentResponse.java
│               │               │   │   ├── ModuleInstallRequest.java
│               │               │   │   ├── ModuleInstallResponse.java
│               │               │   │   ├── ModuleInstallStatusCodes.java
│               │               │   │   ├── ModuleInstallStatusUpdate.java
│               │               │   │   └── internal/
│               │               │   │       └── ApiFeatureRequest.java
│               │               │   ├── package-info.java
│               │               │   ├── server/
│               │               │   │   └── FavaDiagnosticsEntity.java
│               │               │   └── util/
│               │               │       └── IOUtils.java
│               │               ├── dynamic/
│               │               │   └── DeferredLifecycleHelper.java
│               │               └── signin/
│               │                   ├── SignIn.java
│               │                   ├── SignInClient.java
│               │                   ├── SignInOptions.java
│               │                   └── internal/
│               │                       ├── AuthAccountResult.java
│               │                       ├── CheckServerAuthResult.java
│               │                       ├── RecordConsentByConsentResultRequest.java
│               │                       ├── RecordConsentByConsentResultResponse.java
│               │                       ├── RecordConsentRequest.java
│               │                       ├── SignInRequest.java
│               │                       └── SignInResponse.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           ├── common/
│                           │   ├── DummyApiClient.java
│                           │   ├── ForwardConnectionCallbacks.java
│                           │   ├── ForwardConnectionFailedListener.java
│                           │   ├── GmsClient.java
│                           │   ├── GmsConnector.java
│                           │   ├── MultiConnectionKeeper.java
│                           │   └── api/
│                           │       ├── AbstractPlayServicesClient.java
│                           │       ├── ApiClientBuilder.java
│                           │       ├── BasePendingResult.java
│                           │       ├── GoogleApiClientImpl.java
│                           │       ├── GoogleApiManager.java
│                           │       ├── InstantPendingResult.java
│                           │       ├── PendingGoogleApiCall.java
│                           │       ├── ResultCallbackHandler.java
│                           │       ├── ReturningGoogleApiCall.java
│                           │       └── VoidReturningGoogleApiCall.java
│                           └── signin/
│                               └── SignInClientImpl.java
├── play-services-basement/
│   ├── build.gradle
│   ├── consumer-rules.pro
│   ├── ktx/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── dynamic/
│   │                                   └── ObjectWrapper.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── common/
│           │                   │   ├── ConnectionResult.aidl
│           │                   │   ├── GoogleCertificatesLookupQuery.aidl
│           │                   │   ├── GoogleCertificatesLookupResponse.aidl
│           │                   │   ├── GoogleCertificatesQuery.aidl
│           │                   │   ├── api/
│           │                   │   │   ├── ApiMetadata.aidl
│           │                   │   │   ├── ComplianceOptions.aidl
│           │                   │   │   ├── Scope.aidl
│           │                   │   │   └── Status.aidl
│           │                   │   └── internal/
│           │                   │       ├── ConnectionInfo.aidl
│           │                   │       ├── GetServiceRequest.aidl
│           │                   │       ├── IAccountAccessor.aidl
│           │                   │       ├── ICancelToken.aidl
│           │                   │       ├── ICertData.aidl
│           │                   │       ├── IGmsCallbacks.aidl
│           │                   │       ├── IGmsServiceBroker.aidl
│           │                   │       ├── IGoogleCertificatesApi.aidl
│           │                   │       └── ValidateAccountRequest.aidl
│           │                   ├── dynamic/
│           │                   │   └── IObjectWrapper.aidl
│           │                   └── dynamite/
│           │                       └── IDynamiteLoader.aidl
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               ├── actions/
│           │   │               │   └── package-info.java
│           │   │               ├── common/
│           │   │               │   ├── ConnectionResult.java
│           │   │               │   ├── Feature.java
│           │   │               │   ├── GoogleCertificatesLookupQuery.java
│           │   │               │   ├── GoogleCertificatesLookupResponse.java
│           │   │               │   ├── GoogleCertificatesQuery.java
│           │   │               │   ├── GooglePlayServicesNotAvailableException.java
│           │   │               │   ├── GooglePlayServicesRepairableException.java
│           │   │               │   ├── Scopes.java
│           │   │               │   ├── UserRecoverableException.java
│           │   │               │   ├── api/
│           │   │               │   │   ├── ApiException.java
│           │   │               │   │   ├── ApiMetadata.java
│           │   │               │   │   ├── CommonStatusCodes.java
│           │   │               │   │   ├── ComplianceOptions.java
│           │   │               │   │   ├── Releasable.java
│           │   │               │   │   ├── ResolvableApiException.java
│           │   │               │   │   ├── Response.java
│           │   │               │   │   ├── Result.java
│           │   │               │   │   ├── ResultCallback.java
│           │   │               │   │   ├── ResultCallbacks.java
│           │   │               │   │   ├── Scope.java
│           │   │               │   │   ├── Status.java
│           │   │               │   │   └── internal/
│           │   │               │   │       └── StatusExceptionMapper.java
│           │   │               │   ├── internal/
│           │   │               │   │   ├── BaseGmsClient.java
│           │   │               │   │   ├── BinderWrapper.java
│           │   │               │   │   ├── CertData.java
│           │   │               │   │   ├── ConnectionInfo.java
│           │   │               │   │   ├── GetServiceRequest.java
│           │   │               │   │   ├── ValidateAccountRequest.java
│           │   │               │   │   └── safeparcel/
│           │   │               │   │       ├── AbstractSafeParcelable.java
│           │   │               │   │       ├── SafeParcelReader.java
│           │   │               │   │       ├── SafeParcelWriter.java
│           │   │               │   │       ├── SafeParcelable.java
│           │   │               │   │       ├── SafeParcelableCreatorAndWriter.java
│           │   │               │   │       └── SafeParcelableSerializer.java
│           │   │               │   └── package-info.java
│           │   │               ├── dynamic/
│           │   │               │   ├── LifecycleDelegate.java
│           │   │               │   ├── ObjectWrapper.java
│           │   │               │   └── OnDelegateCreatedListener.java
│           │   │               ├── dynamite/
│           │   │               │   └── DynamiteModule.java
│           │   │               ├── security/
│           │   │               │   └── ProviderInstaller.java
│           │   │               └── stats/
│           │   │                   └── GCoreWakefulBroadcastReceiver.java
│           │   └── org/
│           │       └── microg/
│           │           ├── gms/
│           │           │   ├── auth/
│           │           │   │   └── AuthConstants.java
│           │           │   ├── common/
│           │           │   │   ├── Constants.java
│           │           │   │   ├── GmsService.java
│           │           │   │   ├── Hide.java
│           │           │   │   └── PublicApi.java
│           │           │   ├── gcm/
│           │           │   │   └── GcmConstants.java
│           │           │   └── utils/
│           │           │       ├── ToStringHelper.java
│           │           │       └── WorkSourceUtil.java
│           │           └── safeparcel/
│           │               ├── AutoSafeParcelable.java
│           │               ├── ReflectedSafeParcelableCreatorAndWriter.java
│           │               ├── SafeParcelReflectionUtil.java
│           │               └── SafeParceled.java
│           └── res/
│               └── values/
│                   └── version.xml
├── play-services-cast/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── java/
│   │               ├── com/
│   │               │   └── google/
│   │               │       └── android/
│   │               │           └── gms/
│   │               │               └── cast/
│   │               │                   └── media/
│   │               │                       └── CastMediaRouteProviderService.java
│   │               └── org/
│   │                   └── microg/
│   │                       └── gms/
│   │                           └── cast/
│   │                               ├── CastDeviceControllerImpl.java
│   │                               ├── CastDeviceControllerService.java
│   │                               ├── CastMediaRouteController.java
│   │                               └── CastMediaRouteProvider.java
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── cast/
│           │                       ├── ApplicationMetadata.aidl
│           │                       ├── ApplicationStatus.aidl
│           │                       ├── CastDeviceStatus.aidl
│           │                       ├── JoinOptions.aidl
│           │                       ├── LaunchOptions.aidl
│           │                       ├── RequestItem.aidl
│           │                       └── internal/
│           │                           ├── IBundleCallback.aidl
│           │                           ├── ICastDeviceController.aidl
│           │                           ├── ICastDeviceControllerListener.aidl
│           │                           └── ICastService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── cast/
│               │                   ├── ApplicationMetadata.java
│               │                   ├── ApplicationStatus.java
│               │                   ├── Cast.java
│               │                   ├── CastDevice.java
│               │                   ├── CastDeviceStatus.java
│               │                   ├── CastMediaControlIntent.java
│               │                   ├── CastPresentation.java
│               │                   ├── CastRemoteDisplay.java
│               │                   ├── CastRemoteDisplayApi.java
│               │                   ├── CastRemoteDisplayLocalService.java
│               │                   ├── CastStatusCodes.java
│               │                   ├── CredentialsData.java
│               │                   ├── JoinOptions.java
│               │                   ├── LaunchOptions.java
│               │                   ├── RequestItem.java
│               │                   └── package-info.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── cast/
│                               ├── CastApiClientBuilder.java
│                               ├── CastApiImpl.java
│                               ├── CastClientImpl.java
│                               ├── CastRemoteDisplayApiClientBuilder.java
│                               └── CastRemoteDisplayApiImpl.java
├── play-services-cast-framework/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── java/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── cast/
│   │                                   └── framework/
│   │                                       └── internal/
│   │                                           ├── CastContextImpl.java
│   │                                           ├── CastDynamiteModuleImpl.java
│   │                                           ├── CastSessionImpl.java
│   │                                           ├── DiscoveryManagerImpl.java
│   │                                           ├── MediaRouterCallbackImpl.java
│   │                                           ├── SessionImpl.java
│   │                                           └── SessionManagerImpl.java
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── cast/
│           │                       └── framework/
│           │                           ├── CastOptions.aidl
│           │                           ├── IAppVisibilityListener.aidl
│           │                           ├── ICastConnectionController.aidl
│           │                           ├── ICastContext.aidl
│           │                           ├── ICastSession.aidl
│           │                           ├── ICastStateListener.aidl
│           │                           ├── IDiscoveryManager.aidl
│           │                           ├── IDiscoveryManagerListener.aidl
│           │                           ├── IReconnectionService.aidl
│           │                           ├── ISession.aidl
│           │                           ├── ISessionManager.aidl
│           │                           ├── ISessionManagerListener.aidl
│           │                           ├── ISessionProvider.aidl
│           │                           ├── ISessionProxy.aidl
│           │                           ├── internal/
│           │                           │   ├── ICastDynamiteModule.aidl
│           │                           │   ├── IMediaRouter.aidl
│           │                           │   └── IMediaRouterCallback.aidl
│           │                           └── media/
│           │                               ├── CastMediaOptions.aidl
│           │                               ├── IImagePicker.aidl
│           │                               ├── IMediaNotificationService.aidl
│           │                               ├── INotificationActionsProvider.aidl
│           │                               ├── NotificationOptions.aidl
│           │                               └── internal/
│           │                                   ├── IFetchBitmapTask.aidl
│           │                                   └── IFetchBitmapTaskProgressPublisher.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── cast/
│               │                   └── framework/
│               │                       ├── CastButtonFactory.java
│               │                       ├── CastContext.java
│               │                       ├── CastOptions.java
│               │                       ├── CastSession.java
│               │                       ├── CastState.java
│               │                       ├── DiscoveryManager.java
│               │                       ├── ModuleUnavailableException.java
│               │                       ├── OptionsProvider.java
│               │                       ├── ReconnectionService.java
│               │                       ├── Session.java
│               │                       ├── SessionManager.java
│               │                       ├── SessionProvider.java
│               │                       └── media/
│               │                           ├── CastMediaOptions.java
│               │                           ├── MediaIntentReceiver.java
│               │                           ├── MediaNotificationService.java
│               │                           └── NotificationOptions.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── cast/
│                               ├── CastDynamiteModule.java
│                               ├── CastSessionProvider.java
│                               └── ISessionProviderImpl.java
├── play-services-chimera-core/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── java/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── chimera/
│           │                   ├── InstanceProvider.java
│           │                   ├── IntentService.java
│           │                   └── Service.java
│           └── kotlin/
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── chimera/
│                               ├── ServiceLoader.kt
│                               ├── ServiceProxy.kt
│                               └── StaticServiceLoader.kt
├── play-services-clearcut/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   ├── clearcut/
│           │                   │   ├── LogEventParcelable.aidl
│           │                   │   └── internal/
│           │                   │       ├── IClearcutLoggerCallbacks.aidl
│           │                   │       ├── IClearcutLoggerService.aidl
│           │                   │       └── PlayLoggerContext.aidl
│           │                   └── playlog/
│           │                       └── internal/
│           │                           ├── IPlayLogService.aidl
│           │                           └── LogEvent.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               ├── clearcut/
│                               │   ├── LogEventParcelable.java
│                               │   └── internal/
│                               │       ├── LogVerifierResultParcelable.java
│                               │       └── PlayLoggerContext.java
│                               └── playlog/
│                                   └── internal/
│                                       └── LogEvent.java
├── play-services-conscrypt-provider-core/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               ├── common/
│                               │   └── security/
│                               │       └── ProviderInstallerImpl.java
│                               ├── dynamite/
│                               │   └── descriptors/
│                               │       └── com/
│                               │           └── google/
│                               │               └── android/
│                               │                   └── gms/
│                               │                       └── providerinstaller/
│                               │                           └── dynamite/
│                               │                               └── ModuleDescriptor.java
│                               └── providerinstaller/
│                                   └── ProviderInstallerImpl.java
├── play-services-core/
│   ├── build.gradle
│   ├── microg-ui-tools/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── tools/
│   │           │               ├── selfcheck/
│   │           │               │   ├── PermissionCheckGroup.java
│   │           │               │   └── SelfCheckGroup.java
│   │           │               └── ui/
│   │           │                   ├── AbstractAboutFragment.java
│   │           │                   ├── AbstractDashboardActivity.java
│   │           │                   ├── AbstractSelfCheckFragment.java
│   │           │                   ├── AbstractSettingsActivity.java
│   │           │                   ├── AbstractSettingsFragment.java
│   │           │                   ├── Condition.java
│   │           │                   ├── DialogPreference.java
│   │           │                   ├── LongTextPreference.java
│   │           │                   ├── RadioButtonPreference.java
│   │           │                   ├── ResourceSettingsFragment.java
│   │           │                   ├── SwitchBar.java
│   │           │                   ├── SwitchBarResourceSettingsFragment.java
│   │           │                   └── ToggleSwitch.java
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── empty.xml
│   │               │   ├── ic_expand_less.xml
│   │               │   ├── ic_expand_more.xml
│   │               │   └── switchbar_background.xml
│   │               ├── drawable-v21/
│   │               │   └── switchbar_background.xml
│   │               ├── layout/
│   │               │   ├── about_root.xml
│   │               │   ├── app_bar.xml
│   │               │   ├── condition_card.xml
│   │               │   ├── dashboard_activity.xml
│   │               │   ├── preference_widget_radiobutton.xml
│   │               │   ├── self_check.xml
│   │               │   ├── self_check_entry.xml
│   │               │   ├── self_check_group.xml
│   │               │   ├── settings_activity.xml
│   │               │   ├── switch_bar.xml
│   │               │   └── toolbar.xml
│   │               ├── layout-v14/
│   │               │   └── preference_category_dashboard.xml
│   │               ├── layout-v21/
│   │               │   └── preference_material.xml
│   │               ├── values/
│   │               │   ├── colors.xml
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   ├── multidex-keep.pro
│   └── src/
│       ├── huawei/
│       │   └── AndroidManifest.xml
│       ├── huaweilh/
│       │   └── AndroidManifest.xml
│       └── main/
│           ├── AndroidManifest.xml
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       ├── android/
│           │   │       │   └── gms/
│           │   │       │       ├── analytics/
│           │   │       │       │   └── service/
│           │   │       │       │       └── AnalyticsService.java
│           │   │       │       ├── auth/
│           │   │       │       │   ├── GetToken.java
│           │   │       │       │   └── TokenActivity.java
│           │   │       │       ├── chimera/
│           │   │       │       │   ├── DynamiteContextFactory.java
│           │   │       │       │   ├── DynamiteModuleInitializer.java
│           │   │       │       │   └── container/
│           │   │       │       │       ├── DynamiteContext.java
│           │   │       │       │       ├── DynamiteLoaderImpl.java
│           │   │       │       │       ├── DynamiteModuleInfo.java
│           │   │       │       │       └── FilteredClassLoader.java
│           │   │       │       ├── common/
│           │   │       │       │   └── ui/
│           │   │       │       │       └── SignInButtonCreatorImpl.java
│           │   │       │       ├── dynamite/
│           │   │       │       │   └── descriptors/
│           │   │       │       │       └── com/
│           │   │       │       │           └── google/
│           │   │       │       │               └── android/
│           │   │       │       │                   └── gms/
│           │   │       │       │                       ├── firebase_database/
│           │   │       │       │                       │   └── ModuleDescriptor.java
│           │   │       │       │                       ├── googlecertificates/
│           │   │       │       │                       │   └── ModuleDescriptor.java
│           │   │       │       │                       └── measurement/
│           │   │       │       │                           └── dynamite/
│           │   │       │       │                               └── ModuleDescriptor.java
│           │   │       │       ├── gcm/
│           │   │       │       │   └── http/
│           │   │       │       │       └── GoogleHttpService.java
│           │   │       │       ├── plus/
│           │   │       │       │   └── plusone/
│           │   │       │       │       └── PlusOneButtonCreatorImpl.java
│           │   │       │       ├── recovery/
│           │   │       │       │   └── RecoveryService.java
│           │   │       │       ├── semanticlocation/
│           │   │       │       │   └── SemanticLocationService.kt
│           │   │       │       └── wallet/
│           │   │       │           └── dynamite/
│           │   │       │               └── WalletDynamiteCreatorImpl.java
│           │   │       └── firebase/
│           │   │           └── database/
│           │   │               └── connection/
│           │   │                   └── idl/
│           │   │                       └── IPersistentConnectionImpl.java
│           │   └── org/
│           │       └── microg/
│           │           ├── gms/
│           │           │   ├── ads/
│           │           │   │   └── GService.java
│           │           │   ├── auth/
│           │           │   │   ├── AccountContentProvider.java
│           │           │   │   ├── AskPermissionActivity.java
│           │           │   │   ├── AuthManager.java
│           │           │   │   ├── AuthManagerServiceImpl.java
│           │           │   │   ├── login/
│           │           │   │   │   ├── AssistantActivity.java
│           │           │   │   │   └── LoginActivity.java
│           │           │   │   └── loginservice/
│           │           │   │       ├── AccountAuthenticator.java
│           │           │   │       └── GoogleLoginService.java
│           │           │   ├── car/
│           │           │   │   └── CarService.java
│           │           │   ├── checkin/
│           │           │   │   ├── CheckinClient.java
│           │           │   │   ├── CheckinManager.java
│           │           │   │   ├── CheckinService.java
│           │           │   │   └── TriggerReceiver.java
│           │           │   ├── drive/
│           │           │   │   └── api/
│           │           │   │       ├── DriveApiService.java
│           │           │   │       └── DriveServiceImpl.java
│           │           │   ├── feeds/
│           │           │   │   └── SubscribedFeedsProvider.java
│           │           │   ├── games/
│           │           │   │   ├── GamesStubService.java
│           │           │   │   └── UpgradeActivity.java
│           │           │   ├── gcm/
│           │           │   │   ├── GcmDatabase.java
│           │           │   │   ├── GcmLegacyData.java
│           │           │   │   ├── McsConstants.java
│           │           │   │   ├── McsInputStream.java
│           │           │   │   ├── McsOutputStream.java
│           │           │   │   ├── McsService.java
│           │           │   │   ├── PushRegisterManager.java
│           │           │   │   ├── RegisterRequest.java
│           │           │   │   ├── RegisterResponse.java
│           │           │   │   ├── SendReceiver.java
│           │           │   │   └── TriggerReceiver.java
│           │           │   ├── gservices/
│           │           │   │   ├── DatabaseHelper.java
│           │           │   │   ├── GServices.java
│           │           │   │   └── GServicesProvider.java
│           │           │   ├── icing/
│           │           │   │   ├── AppDataSearchImpl.java
│           │           │   │   ├── GlobalSearchAdminImpl.java
│           │           │   │   ├── IndexService.java
│           │           │   │   ├── LightweightAppDataSearchImpl.java
│           │           │   │   ├── LightweightIndexService.java
│           │           │   │   ├── SearchCorporaImpl.java
│           │           │   │   └── SearchQueriesImpl.java
│           │           │   ├── location/
│           │           │   │   └── LocationConstants.java
│           │           │   ├── mdm/
│           │           │   │   └── NetworkQualityService.java
│           │           │   ├── people/
│           │           │   │   ├── ContactSyncService.java
│           │           │   │   ├── DatabaseHelper.java
│           │           │   │   ├── PeopleManager.java
│           │           │   │   ├── PeopleService.java
│           │           │   │   └── PeopleServiceImpl.java
│           │           │   ├── phenotype/
│           │           │   │   └── ConfigurationProvider.java
│           │           │   ├── places/
│           │           │   │   ├── GeoDataService.java
│           │           │   │   ├── PlaceDetectionService.java
│           │           │   │   ├── PlaceDetectionServiceImpl.java
│           │           │   │   └── PlacesServiceImpl.java
│           │           │   ├── playlog/
│           │           │   │   ├── PlayLogService.java
│           │           │   │   └── PlayLogServiceImpl.java
│           │           │   ├── plus/
│           │           │   │   └── PlusOneButtonImpl.java
│           │           │   ├── reminders/
│           │           │   │   ├── RemindersService.java
│           │           │   │   └── RemindersServiceImpl.java
│           │           │   ├── settings/
│           │           │   │   ├── GmsFileProvider.kt
│           │           │   │   └── GoogleSettingsProvider.java
│           │           │   ├── ui/
│           │           │   │   ├── AboutFragment.java
│           │           │   │   ├── AskPushPermission.java
│           │           │   │   ├── Conditions.java
│           │           │   │   ├── GoogleMoreFragment.java
│           │           │   │   ├── LocationSettingsActivity.java
│           │           │   │   ├── MainSettingsActivity.java
│           │           │   │   ├── PlacePickerActivity.java
│           │           │   │   ├── SafetyNetAdvancedFragment.java
│           │           │   │   ├── SelfCheckFragment.java
│           │           │   │   └── SettingsDashboardActivity.java
│           │           │   └── wallet/
│           │           │       ├── OwServiceImpl.java
│           │           │       └── PaymentService.java
│           │           └── tools/
│           │               ├── AccountPickerActivity.java
│           │               └── selfcheck/
│           │                   ├── InstalledPackagesChecks.java
│           │                   ├── RomSpoofSignatureChecks.java
│           │                   └── SystemChecks.java
│           ├── kotlin/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               ├── ads/
│           │   │               │   ├── AdActivity.kt
│           │   │               │   └── omid/
│           │   │               │       ├── AdSession.kt
│           │   │               │       └── DynamiteOmid.kt
│           │   │               ├── common/
│           │   │               │   └── GoogleCertificatesImpl.kt
│           │   │               ├── credential/
│           │   │               │   └── manager/
│           │   │               │       └── PasswordManagerActivity.kt
│           │   │               ├── family/
│           │   │               │   └── v2/
│           │   │               │       └── manage/
│           │   │               │           ├── DeleteMemberActivity.kt
│           │   │               │           ├── FamilyApiClient.kt
│           │   │               │           ├── FamilyExtensions.kt
│           │   │               │           ├── FamilyManagementActivity.kt
│           │   │               │           ├── fragment/
│           │   │               │           │   ├── FamilyDeleteFragment.kt
│           │   │               │           │   ├── FamilyManagementFragment.kt
│           │   │               │           │   └── MemberDetailFragment.kt
│           │   │               │           ├── model/
│           │   │               │           │   └── FamilyViewModel.kt
│           │   │               │           └── ui/
│           │   │               │               ├── DeleteUI.kt
│           │   │               │               ├── FamilyUI.kt
│           │   │               │               └── ManagementUI.kt
│           │   │               ├── feedback/
│           │   │               │   └── FeedbackActivity.kt
│           │   │               ├── locationsharingreporter/
│           │   │               │   └── service/
│           │   │               │       ├── LocationShareIssue.kt
│           │   │               │       ├── LocationSharingReporterApiService.kt
│           │   │               │       ├── LocationSharingReporterExtensions.kt
│           │   │               │       ├── LocationSharingUpdate.kt
│           │   │               │       ├── RefreshPolicy.kt
│           │   │               │       ├── ReportingRequestStoreFile.kt
│           │   │               │       └── settings/
│           │   │               │           ├── LocationShareConfirmActivity.kt
│           │   │               │           └── LocationSharingSettingsActivity.kt
│           │   │               ├── maps/
│           │   │               │   └── auth/
│           │   │               │       └── ApiTokenService.kt
│           │   │               ├── measurement/
│           │   │               │   └── internal/
│           │   │               │       └── AppMeasurementDynamiteService.kt
│           │   │               ├── semanticlocationhistory/
│           │   │               │   └── SemanticLocationHistoryService.kt
│           │   │               └── wearable/
│           │   │                   └── consent/
│           │   │                       └── TermsOfServiceActivity.kt
│           │   └── org/
│           │       └── microg/
│           │           └── gms/
│           │               ├── accountaction/
│           │               │   ├── AccountActionActivity.kt
│           │               │   ├── AccountNotification.kt
│           │               │   ├── ErrorResolver.kt
│           │               │   ├── Resolution.kt
│           │               │   └── UserInterventionComponents.kt
│           │               ├── accountsettings/
│           │               │   └── ui/
│           │               │       ├── LoaderActivity.kt
│           │               │       ├── MainActivity.kt
│           │               │       ├── PicturePickerUtils.kt
│           │               │       ├── WebViewHelper.kt
│           │               │       ├── bridge/
│           │               │       │   ├── OcAdvertisingIdBridge.kt
│           │               │       │   ├── OcAndroidIdBridge.kt
│           │               │       │   ├── OcAppBarBridge.kt
│           │               │       │   ├── OcAppPermissionsBridge.kt
│           │               │       │   ├── OcClientInfoBridge.kt
│           │               │       │   ├── OcConsistencyBridge.kt
│           │               │       │   ├── OcContactsBridge.kt
│           │               │       │   ├── OcFido2Bridge.kt
│           │               │       │   ├── OcFidoU2fBridge.kt
│           │               │       │   ├── OcFilePickerBridge.kt
│           │               │       │   ├── OcFolsomBridge.kt
│           │               │       │   ├── OcPermissionsBridge.kt
│           │               │       │   ├── OcPlayProtectBridge.kt
│           │               │       │   ├── OcTelephonyBridge.kt
│           │               │       │   ├── OcTrustAgentBridge.kt
│           │               │       │   ├── OcUdcBridge.kt
│           │               │       │   └── OcUiBridge.kt
│           │               │       └── extensions.kt
│           │               ├── audit/
│           │               │   └── AuditService.kt
│           │               ├── auth/
│           │               │   ├── AskPackageOverrideActivity.kt
│           │               │   ├── account/
│           │               │   │   └── data/
│           │               │   │       ├── AccountDataService.kt
│           │               │   │       └── GoogleAuthService.kt
│           │               │   ├── appcert/
│           │               │   │   ├── AppCertManager.kt
│           │               │   │   └── AppCertService.kt
│           │               │   ├── consent/
│           │               │   │   └── ConsentSignInActivity.kt
│           │               │   ├── credentials/
│           │               │   │   ├── CredentialPickerActivity.kt
│           │               │   │   ├── CredentialsService.kt
│           │               │   │   └── identity/
│           │               │   │       ├── AuthorizationService.kt
│           │               │   │       ├── IdentityFidoProxyActivity.kt
│           │               │   │       └── IdentitySignInService.kt
│           │               │   ├── folsom/
│           │               │   │   ├── KeyRetrievalService.kt
│           │               │   │   └── ui/
│           │               │   │       └── GenericActivity.kt
│           │               │   ├── login/
│           │               │   │   ├── DroidGuardHandler.kt
│           │               │   │   └── FidoHandler.kt
│           │               │   ├── proxy/
│           │               │   │   └── AuthProxyService.kt
│           │               │   └── signin/
│           │               │       ├── AssistedSignInActivity.kt
│           │               │       ├── AssistedSignInFragment.kt
│           │               │       ├── AuthSignInActivity.kt
│           │               │       ├── AuthSignInService.kt
│           │               │       ├── SignInConfigurationService.kt
│           │               │       └── extensions.kt
│           │               ├── backup/
│           │               │   └── BackupSettingsActivity.kt
│           │               ├── checkin/
│           │               │   ├── CheckinPreferences.kt
│           │               │   └── ServiceInfo.kt
│           │               ├── chimera/
│           │               │   └── ServiceProvider.kt
│           │               ├── clearcut/
│           │               │   └── ClearcutLoggerService.kt
│           │               ├── common/
│           │               │   ├── ClientTelemetryService.kt
│           │               │   ├── GmsCommonService.kt
│           │               │   ├── PackageIntentOpWorker.kt
│           │               │   └── PersistentTrustedReceiver.kt
│           │               ├── credential/
│           │               │   └── CredentialManagerService.kt
│           │               ├── cryptauth/
│           │               │   ├── CryptAuthFlow.kt
│           │               │   └── CryptAuthRequests.kt
│           │               ├── feedback/
│           │               │   └── FeedbackService.kt
│           │               ├── firebase/
│           │               │   └── dynamiclinks/
│           │               │       └── DynamicLinksService.kt
│           │               ├── fonts/
│           │               │   └── FontsProvider.kt
│           │               ├── games/
│           │               │   ├── FirstPartyGamesService.kt
│           │               │   ├── GameProfileSettings.kt
│           │               │   ├── GamesConfigurationService.kt
│           │               │   ├── GamesConnectService.kt
│           │               │   ├── GamesService.kt
│           │               │   ├── GamesSignInActivity.kt
│           │               │   ├── achievements/
│           │               │   │   ├── AchievementResponseKt.kt
│           │               │   │   ├── AchievementsAdapter.kt
│           │               │   │   └── AchievementsApiClient.kt
│           │               │   ├── extensions.kt
│           │               │   ├── leaderboards/
│           │               │   │   ├── LeaderboardResponseKt.kt
│           │               │   │   ├── LeaderboardScoresAdapter.kt
│           │               │   │   ├── LeaderboardsAdapter.kt
│           │               │   │   └── LeaderboardsApiClient.kt
│           │               │   ├── snapshot/
│           │               │   │   ├── SnapshotResponseKt.kt
│           │               │   │   ├── SnapshotsAdapter.kt
│           │               │   │   ├── SnapshotsApiClient.kt
│           │               │   │   └── SnapshotsDataClient.kt
│           │               │   ├── ui/
│           │               │   │   ├── GameAccountChangeAdapter.kt
│           │               │   │   ├── GameChangeAccountFragment.kt
│           │               │   │   ├── GameDataDeleteAdapter.kt
│           │               │   │   ├── GameDeletePlayAccountFragment.kt
│           │               │   │   ├── GamePlayDataActivity.kt
│           │               │   │   ├── GamesUiFragment.kt
│           │               │   │   └── InGameUiActivity.kt
│           │               │   └── utils/
│           │               │       └── AccountPromptManager.kt
│           │               ├── gass/
│           │               │   └── GassService.kt
│           │               ├── gcm/
│           │               │   ├── GcmInGmsService.kt
│           │               │   ├── GcmPrefs.kt
│           │               │   ├── PushRegisterService.kt
│           │               │   ├── ServiceInfo.kt
│           │               │   ├── extensions.kt
│           │               │   └── registeration/
│           │               │       ├── ChimeGmsAccount.kt
│           │               │       └── ChimeGmsRegistrationHelper.kt
│           │               ├── googlehelp/
│           │               │   ├── GoogleHelpService.kt
│           │               │   └── ui/
│           │               │       └── GoogleHelpRedirectActivity.kt
│           │               ├── languageprofile/
│           │               │   └── LanguageProfileService.kt
│           │               ├── measurement/
│           │               │   └── MeasurementService.kt
│           │               ├── mlkit/
│           │               │   └── BarcodeScanningActivity.kt
│           │               ├── phenotype/
│           │               │   ├── PhenotypeService.kt
│           │               │   └── extensions.kt
│           │               ├── potokens/
│           │               │   ├── PoTokenHelper.kt
│           │               │   ├── PoTokenStore.kt
│           │               │   ├── PoTokensService.kt
│           │               │   └── extensions.kt
│           │               ├── provision/
│           │               │   └── ProvisionService.kt
│           │               ├── pseudonymous/
│           │               │   └── PseudonymousIdService.kt
│           │               ├── signin/
│           │               │   └── SignInService.kt
│           │               ├── udc/
│           │               │   ├── ActivityControlSettings.kt
│           │               │   └── FacsCacheService.kt
│           │               ├── ui/
│           │               │   ├── AccountsFragment.kt
│           │               │   ├── DeviceRegistrationFragment.kt
│           │               │   ├── GameProfileFragment.kt
│           │               │   ├── PushNotificationAdvancedFragment.kt
│           │               │   ├── PushNotificationAllAppsFragment.kt
│           │               │   ├── PushNotificationAppFragment.kt
│           │               │   ├── PushNotificationFragment.kt
│           │               │   ├── SafetyNetAdvancedFragment.kt
│           │               │   ├── SafetyNetAllAppsFragment.kt
│           │               │   ├── SafetyNetAppFragment.kt
│           │               │   ├── SafetyNetFragment.kt
│           │               │   ├── SafetyNetRecentAttestationPreferencesFragment.kt
│           │               │   ├── SafetyNetRecentDialogFragment.kt
│           │               │   ├── SafetyNetRecentRecaptchaEnterprisePreferencesFragment.kt
│           │               │   ├── SafetyNetRecentRecaptchaPreferencesFragment.kt
│           │               │   ├── SafetyNetUtils.kt
│           │               │   ├── SettingsFragment.kt
│           │               │   ├── VendingFragment.kt
│           │               │   ├── VendingInstallSettingsFragment.kt
│           │               │   └── WorkProfileFragment.kt
│           │               ├── usagereporting/
│           │               │   └── UsageReportingService.kt
│           │               ├── vending/
│           │               │   └── VendingPreferences.kt
│           │               └── workprofile/
│           │                   └── WorkProfilePreferences.kt
│           └── res/
│               ├── color/
│               │   ├── material_switch_bar_text_color.xml
│               │   └── preference_material_switch_color.xml
│               ├── drawable/
│               │   ├── circle_shape_background.xml
│               │   ├── dots_horizontal.xml
│               │   ├── ic_achievement_locked.xml
│               │   ├── ic_achievement_logo.xml
│               │   ├── ic_achievement_unlocked.xml
│               │   ├── ic_add.xml
│               │   ├── ic_add_account.xml
│               │   ├── ic_add_account_alt.xml
│               │   ├── ic_arrow_back.xml
│               │   ├── ic_arrow_close.xml
│               │   ├── ic_arrow_right.xml
│               │   ├── ic_bg_circle_gray.xml
│               │   ├── ic_bg_prompt.xml
│               │   ├── ic_certificate.xml
│               │   ├── ic_check_list.xml
│               │   ├── ic_choose_rounded_background.xml
│               │   ├── ic_circle_check.xml
│               │   ├── ic_circle_error.xml
│               │   ├── ic_circle_pending.xml
│               │   ├── ic_circle_warn.xml
│               │   ├── ic_close_btn.xml
│               │   ├── ic_cloud_bell.xml
│               │   ├── ic_device_login.xml
│               │   ├── ic_google_logo.xml
│               │   ├── ic_leaderboard_placeholder.xml
│               │   ├── ic_link.xml
│               │   ├── ic_manage_accounts.xml
│               │   ├── ic_map_marker.xml
│               │   ├── ic_more_vert.xml
│               │   ├── ic_plusone_medium.xml
│               │   ├── ic_plusone_small.xml
│               │   ├── ic_plusone_standard.xml
│               │   ├── ic_plusone_tall.xml
│               │   ├── ic_refresh.xml
│               │   ├── ic_shop.xml
│               │   ├── ic_snapshot_choose_fill.xml
│               │   ├── ic_snapshot_choose_stroke.xml
│               │   ├── ic_snapshot_load_error_image.xml
│               │   └── ic_work.xml
│               ├── drawable-anydpi-v21/
│               │   └── microg_light_color_24.xml
│               ├── drawable-v21/
│               │   ├── ic_app_foreground.xml
│               │   ├── ic_app_foreground_mono.xml
│               │   ├── ic_app_settings_foreground.xml
│               │   ├── ic_app_settings_foreground_mono.xml
│               │   └── ic_app_settings_system.xml
│               ├── drawable-v23/
│               │   ├── material_switch_bar_background.xml
│               │   └── material_switch_bar_background_disabled.xml
│               ├── layout/
│               │   ├── activity_consent_sign_in.xml
│               │   ├── activity_location_sharing_settings.xml
│               │   ├── ask_gcm.xml
│               │   ├── ask_permission.xml
│               │   ├── ask_permission_list_entry.xml
│               │   ├── assisted_signin_back_consent_layout.xml
│               │   ├── assisted_signin_choose_layout.xml
│               │   ├── assisted_signin_google_dialog.xml
│               │   ├── assisted_signin_hint_login.xml
│               │   ├── assisted_signin_loading_layout.xml
│               │   ├── assisted_signin_multi_layout.xml
│               │   ├── dialog_game_account_change_confirmation.xml
│               │   ├── dialog_game_account_delete_confirmation.xml
│               │   ├── fragment_game_change_account.xml
│               │   ├── fragment_game_delete_data.xml
│               │   ├── fragment_games_ui_layout.xml
│               │   ├── games_info.xml
│               │   ├── item_achievement_data_layout.xml
│               │   ├── item_achievement_header_layout.xml
│               │   ├── item_achievements_counter.xml
│               │   ├── item_game_account_data.xml
│               │   ├── item_game_account_radio_root.xml
│               │   ├── item_leaderboard_data_layout.xml
│               │   ├── item_leaderboard_score_data_layout.xml
│               │   ├── item_leaderboard_score_header_layout.xml
│               │   ├── item_snapshot_data_layout.xml
│               │   ├── item_view_game_account_prompt.xml
│               │   ├── login_assistant.xml
│               │   ├── login_assistant_loading.xml
│               │   ├── pick_place.xml
│               │   ├── preference_material_switch.xml
│               │   ├── preference_material_switch_bar.xml
│               │   ├── safety_net_advanced_fragment.xml
│               │   ├── safety_net_recent_card.xml
│               │   ├── safety_net_recent_fragment.xml
│               │   ├── safety_net_recents_list_fragment.xml
│               │   ├── settings_root_activity.xml
│               │   ├── signin_account_row.xml
│               │   ├── signin_confirm.xml
│               │   └── signin_picker.xml
│               ├── layout-v21/
│               │   └── activity_barcode_scanning.xml
│               ├── layout-w600dp/
│               │   └── signin_picker.xml
│               ├── menu/
│               │   └── pick_place.xml
│               ├── mipmap-anydpi-v26/
│               │   ├── ic_app.xml
│               │   └── ic_app_settings.xml
│               ├── navigation/
│               │   └── nav_settings.xml
│               ├── values/
│               │   ├── arrays.xml
│               │   ├── bools.xml
│               │   ├── colors.xml
│               │   ├── dimens.xml
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   ├── strings.xml
│               │   └── themes.xml
│               ├── values-ar/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ast/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-az/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-be/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-bn/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ca/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-cs/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-de/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-eo/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-es/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fa/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fi/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fil/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-fr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ga/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-hu/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-in/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-is/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-it/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-iw/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ja/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ko/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-lv/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-lzh/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ml/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-nb-rNO/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-night-v31/
│               │   └── themes.xml
│               ├── values-night-v8/
│               │   └── themes.xml
│               ├── values-nl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pt/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-pt-rBR/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ro/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ru/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sl/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-sv/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ta/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-th/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-tr/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-ug/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-uk/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-v23/
│               │   └── themes.xml
│               ├── values-v26/
│               │   └── ic_app_background.xml
│               ├── values-v27/
│               │   └── themes.xml
│               ├── values-v31/
│               │   └── themes.xml
│               ├── values-vi/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-zh-rCN/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               ├── values-zh-rTW/
│               │   ├── permissions.xml
│               │   ├── plurals.xml
│               │   └── strings.xml
│               └── xml/
│                   ├── authenticator.xml
│                   ├── contact_syncadapter.xml
│                   ├── file_provider_paths.xml
│                   ├── network_security_config.xml
│                   ├── preferences_accounts.xml
│                   ├── preferences_auth.xml
│                   ├── preferences_device_registration.xml
│                   ├── preferences_game_profile.xml
│                   ├── preferences_gcm_advanced.xml
│                   ├── preferences_google_more.xml
│                   ├── preferences_push_notifications.xml
│                   ├── preferences_push_notifications_all_apps.xml
│                   ├── preferences_push_notifications_app.xml
│                   ├── preferences_safetynet.xml
│                   ├── preferences_safetynet_advanced.xml
│                   ├── preferences_safetynet_all_apps.xml
│                   ├── preferences_safetynet_app.xml
│                   ├── preferences_snet_recent_attestation.xml
│                   ├── preferences_snet_recent_recaptcha.xml
│                   ├── preferences_start.xml
│                   ├── preferences_vending.xml
│                   ├── preferences_vending_installer_settings.xml
│                   ├── preferences_work_profile.xml
│                   ├── profile_bullhead_27.xml
│                   ├── profile_lineage_falcon_25.xml
│                   ├── profile_sdk_gphone64_arm64_33.xml
│                   └── profile_sdk_gphone64_x86_64_33.xml
├── play-services-core-proto/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── proto/
│               ├── apitoken.proto
│               ├── appcert.proto
│               ├── auth.proto
│               ├── checkin.proto
│               ├── controlsettings.proto
│               ├── cryptauth/
│               │   ├── LICENSE
│               │   ├── cryptauth_better_together_device_metadata.proto
│               │   ├── cryptauth_better_together_feature_metadata.proto
│               │   ├── cryptauth_client_app_metadata.proto
│               │   ├── cryptauth_common.proto
│               │   ├── cryptauth_devicesync.proto
│               │   ├── cryptauth_directive.proto
│               │   └── cryptauth_enrollment.proto
│               ├── deviceconfig.proto
│               ├── familymanagement.proto
│               ├── games.proto
│               ├── gnots.proto
│               ├── help.proto
│               ├── locationsharingreporter/
│               │   ├── reporting.proto
│               │   └── user_location_frontend_service.proto
│               ├── mcs.proto
│               ├── potoken.proto
│               ├── registration.proto
│               ├── snapshot.proto
│               └── uploaddeviceconfig.proto
├── play-services-cronet/
│   └── core/
│       ├── build.gradle
│       └── src/
│           └── main/
│               ├── AndroidManifest.xml
│               └── java/
│                   └── com/
│                       └── google/
│                           └── android/
│                               └── gms/
│                                   └── dynamite/
│                                       └── descriptors/
│                                           └── com/
│                                               └── google/
│                                                   └── android/
│                                                       └── gms/
│                                                           └── cronet_dynamite/
│                                                               └── ModuleDescriptor.java
├── play-services-drive/
│   ├── build.gradle
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── drive/
│           │                       ├── Contents.aidl
│           │                       ├── DriveId.aidl
│           │                       └── internal/
│           │                           ├── AddEventListenerRequest.aidl
│           │                           ├── AddPermissionRequest.aidl
│           │                           ├── AuthorizeAccessRequest.aidl
│           │                           ├── CancelPendingActionsRequest.aidl
│           │                           ├── ChangeResourceParentsRequest.aidl
│           │                           ├── ChangeSequenceNumber.aidl
│           │                           ├── ChangesResponse.aidl
│           │                           ├── CheckResourceIdsExistRequest.aidl
│           │                           ├── CloseContentsAndUpdateMetadataRequest.aidl
│           │                           ├── CloseContentsRequest.aidl
│           │                           ├── ContentsResponse.aidl
│           │                           ├── ControlProgressRequest.aidl
│           │                           ├── CreateContentsRequest.aidl
│           │                           ├── CreateFileIntentSenderRequest.aidl
│           │                           ├── CreateFileRequest.aidl
│           │                           ├── CreateFolderRequest.aidl
│           │                           ├── DeleteResourceRequest.aidl
│           │                           ├── DeviceUsagePreferenceResponse.aidl
│           │                           ├── DisconnectRequest.aidl
│           │                           ├── DownloadProgressResponse.aidl
│           │                           ├── DriveIdResponse.aidl
│           │                           ├── DrivePreferencesResponse.aidl
│           │                           ├── DriveServiceResponse.aidl
│           │                           ├── EventResponse.aidl
│           │                           ├── FetchThumbnailRequest.aidl
│           │                           ├── FetchThumbnailResponse.aidl
│           │                           ├── GetChangesRequest.aidl
│           │                           ├── GetDriveIdFromUniqueIdRequest.aidl
│           │                           ├── GetMetadataRequest.aidl
│           │                           ├── GetPermissionsRequest.aidl
│           │                           ├── GetPermissionsResponse.aidl
│           │                           ├── IDriveService.aidl
│           │                           ├── IDriveServiceCallbacks.aidl
│           │                           ├── IEventCallback.aidl
│           │                           ├── IRealtimeService.aidl
│           │                           ├── ListEntriesResponse.aidl
│           │                           ├── ListParentsRequest.aidl
│           │                           ├── ListParentsResponse.aidl
│           │                           ├── LoadRealtimeRequest.aidl
│           │                           ├── LoadRealtimeResponse.aidl
│           │                           ├── MetadataResponse.aidl
│           │                           ├── OpenContentsRequest.aidl
│           │                           ├── OpenFileIntentSenderRequest.aidl
│           │                           ├── RealtimeDocumentSyncRequest.aidl
│           │                           ├── RemoveEventListenerRequest.aidl
│           │                           ├── RemovePermissionRequest.aidl
│           │                           ├── ResourceIdSetResponse.aidl
│           │                           ├── SetDrivePreferencesRequest.aidl
│           │                           ├── SetFileUploadPreferencesRequest.aidl
│           │                           ├── SetResourceParentsRequest.aidl
│           │                           ├── StartStreamSession.aidl
│           │                           ├── StreamContentsRequest.aidl
│           │                           ├── StringListResponse.aidl
│           │                           ├── SyncMoreResponse.aidl
│           │                           ├── TrashResourceRequest.aidl
│           │                           ├── UnsubscribeResourceRequest.aidl
│           │                           ├── UntrashResourceRequest.aidl
│           │                           ├── UpdateMetadataRequest.aidl
│           │                           └── UpdatePermissionRequest.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── drive/
│                                   ├── Contents.java
│                                   ├── DriveId.java
│                                   ├── internal/
│                                   │   ├── AddEventListenerRequest.java
│                                   │   ├── AddPermissionRequest.java
│                                   │   ├── AuthorizeAccessRequest.java
│                                   │   ├── CancelPendingActionsRequest.java
│                                   │   ├── ChangeResourceParentsRequest.java
│                                   │   ├── ChangeSequenceNumber.java
│                                   │   ├── ChangesResponse.java
│                                   │   ├── CheckResourceIdsExistRequest.java
│                                   │   ├── CloseContentsAndUpdateMetadataRequest.java
│                                   │   ├── CloseContentsRequest.java
│                                   │   ├── ContentsResponse.java
│                                   │   ├── ControlProgressRequest.java
│                                   │   ├── CreateContentsRequest.java
│                                   │   ├── CreateFileIntentSenderRequest.java
│                                   │   ├── CreateFileRequest.java
│                                   │   ├── CreateFolderRequest.java
│                                   │   ├── DeleteResourceRequest.java
│                                   │   ├── DeviceUsagePreferenceResponse.java
│                                   │   ├── DisconnectRequest.java
│                                   │   ├── DownloadProgressResponse.java
│                                   │   ├── DriveIdResponse.java
│                                   │   ├── DrivePreferencesResponse.java
│                                   │   ├── DriveServiceResponse.java
│                                   │   ├── EventResponse.java
│                                   │   ├── FetchThumbnailRequest.java
│                                   │   ├── FetchThumbnailResponse.java
│                                   │   ├── GetChangesRequest.java
│                                   │   ├── GetDriveIdFromUniqueIdRequest.java
│                                   │   ├── GetMetadataRequest.java
│                                   │   ├── GetPermissionsRequest.java
│                                   │   ├── GetPermissionsResponse.java
│                                   │   ├── ListEntriesResponse.java
│                                   │   ├── ListParentsRequest.java
│                                   │   ├── ListParentsResponse.java
│                                   │   ├── LoadRealtimeRequest.java
│                                   │   ├── LoadRealtimeResponse.java
│                                   │   ├── MetadataResponse.java
│                                   │   ├── OpenContentsRequest.java
│                                   │   ├── OpenFileIntentSenderRequest.java
│                                   │   ├── RealtimeDocumentSyncRequest.java
│                                   │   ├── RemoveEventListenerRequest.java
│                                   │   ├── RemovePermissionRequest.java
│                                   │   ├── ResourceIdSetResponse.java
│                                   │   ├── SetDrivePreferencesRequest.java
│                                   │   ├── SetFileUploadPreferencesRequest.java
│                                   │   ├── SetResourceParentsRequest.java
│                                   │   ├── StartStreamSession.java
│                                   │   ├── StreamContentsRequest.java
│                                   │   ├── StringListResponse.java
│                                   │   ├── SyncMoreResponse.java
│                                   │   ├── TrashResourceRequest.java
│                                   │   ├── UnsubscribeResourceRequest.java
│                                   │   ├── UntrashResourceRequest.java
│                                   │   ├── UpdateMetadataRequest.java
│                                   │   └── UpdatePermissionRequest.java
│                                   └── metadata/
│                                       └── internal/
│                                           └── MetadataBundle.java
├── play-services-droidguard/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   ├── com/
│   │           │   │   └── google/
│   │           │   │       └── android/
│   │           │   │           └── gms/
│   │           │   │               ├── droidguard/
│   │           │   │               │   └── DroidGuardChimeraService.java
│   │           │   │               └── framework/
│   │           │   │                   └── tracing/
│   │           │   │                       └── wrapper/
│   │           │   │                           └── TracingIntentService.java
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── droidguard/
│   │           │                   ├── GuardCallback.java
│   │           │                   └── MediaDrmLock.java
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── droidguard/
│   │           │                   └── core/
│   │           │                       ├── DgDatabaseHelper.kt
│   │           │                       ├── DgpDatabaseHelper.kt
│   │           │                       ├── DroidGuardHandleImpl.kt
│   │           │                       ├── DroidGuardPreferences.kt
│   │           │                       ├── DroidGuardService.kt
│   │           │                       ├── DroidGuardServiceBroker.kt
│   │           │                       ├── DroidGuardServiceImpl.kt
│   │           │                       ├── FallbackCreator.kt
│   │           │                       ├── HardwareAttestationBlockingProvider.kt
│   │           │                       ├── NetworkHandleProxyFactory.kt
│   │           │                       ├── RemoteHandleImpl.kt
│   │           │                       ├── SerialUnflaky.kt
│   │           │                       ├── SignatureVerifier.kt
│   │           │                       ├── VersionUtil.kt
│   │           │                       └── ui/
│   │           │                           ├── ContainedEditTextPreference.kt
│   │           │                           └── DroidGuardPreferencesFragment.kt
│   │           ├── proto/
│   │           │   └── droidguard.proto
│   │           └── res/
│   │               ├── layout/
│   │               │   ├── preference_edit_widget.xml
│   │               │   └── preference_material_with_widget_below.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               ├── values-zh-rTW/
│   │               │   └── strings.xml
│   │               └── xml/
│   │                   └── preferences_droidguard.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── droidguard/
│           │                       └── internal/
│           │                           ├── DroidGuardInitReply.aidl
│           │                           ├── DroidGuardResultsRequest.aidl
│           │                           ├── IDroidGuardCallbacks.aidl
│           │                           ├── IDroidGuardHandle.aidl
│           │                           └── IDroidGuardService.aidl
│           ├── java/
│           │   ├── com/
│           │   │   └── google/
│           │   │       └── android/
│           │   │           └── gms/
│           │   │               └── droidguard/
│           │   │                   ├── DroidGuard.java
│           │   │                   ├── DroidGuardClient.java
│           │   │                   ├── DroidGuardHandle.java
│           │   │                   └── internal/
│           │   │                       ├── DroidGuardInitReply.java
│           │   │                       └── DroidGuardResultsRequest.java
│           │   └── org/
│           │       └── microg/
│           │           └── gms/
│           │               └── droidguard/
│           │                   ├── DroidGuardApiClient.java
│           │                   ├── DroidGuardClientImpl.java
│           │                   ├── DroidGuardHandleImpl.java
│           │                   └── Utils.java
│           └── kotlin/
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── droidguard/
│                               ├── BytesException.kt
│                               ├── HandleProxy.kt
│                               └── HandleProxyFactory.kt
├── play-services-fido/
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── kotlin/
│   │           │   └── org/
│   │           │       └── microg/
│   │           │           └── gms/
│   │           │               └── fido/
│   │           │                   └── core/
│   │           │                       ├── Database.kt
│   │           │                       ├── RequestHandling.kt
│   │           │                       ├── features.kt
│   │           │                       ├── privileged/
│   │           │                       │   └── Fido2PrivilegedService.kt
│   │           │                       ├── protocol/
│   │           │                       │   ├── AndroidKeyAttestationObject.kt
│   │           │                       │   ├── AndroidSafetyNetAttestationObject.kt
│   │           │                       │   ├── AttestationObject.kt
│   │           │                       │   ├── AttestedCredentialData.kt
│   │           │                       │   ├── AuthenticatorData.kt
│   │           │                       │   ├── Cbor.kt
│   │           │                       │   ├── CoseKey.kt
│   │           │                       │   ├── CredentialId.kt
│   │           │                       │   ├── FidoU2fAttestationObject.kt
│   │           │                       │   ├── NoneAttestationObject.kt
│   │           │                       │   └── msgs/
│   │           │                       │       ├── Apdu.kt
│   │           │                       │       ├── AuthenticatorClientPIN.kt
│   │           │                       │       ├── AuthenticatorGetAssertion.kt
│   │           │                       │       ├── AuthenticatorGetInfo.kt
│   │           │                       │       ├── AuthenticatorMakeCredential.kt
│   │           │                       │       ├── Ctap1Command.kt
│   │           │                       │       ├── Ctap2Command.kt
│   │           │                       │       ├── U2fAuthentication.kt
│   │           │                       │       └── U2fRegistration.kt
│   │           │                       ├── regular/
│   │           │                       │   └── Fido2AppService.kt
│   │           │                       ├── transport/
│   │           │                       │   ├── CtapConnection.kt
│   │           │                       │   ├── Transport.kt
│   │           │                       │   ├── TransportHandler.kt
│   │           │                       │   ├── bluetooth/
│   │           │                       │   │   └── BluetoothTransportHandler.kt
│   │           │                       │   ├── nfc/
│   │           │                       │   │   ├── CtapNfcConnection.kt
│   │           │                       │   │   └── NfcTransportHandler.kt
│   │           │                       │   ├── screenlock/
│   │           │                       │   │   ├── ScreenLockCredentialStore.kt
│   │           │                       │   │   └── ScreenLockTransportHandler.kt
│   │           │                       │   └── usb/
│   │           │                       │       ├── UsbDevicePermissionManager.kt
│   │           │                       │       ├── UsbTransportHandler.kt
│   │           │                       │       ├── ctaphid/
│   │           │                       │       │   ├── CtapHidConnection.kt
│   │           │                       │       │   ├── CtapHidMessage.kt
│   │           │                       │       │   ├── CtapHidPacket.kt
│   │           │                       │       │   ├── CtapHidRequest.kt
│   │           │                       │       │   └── CtapHidResponse.kt
│   │           │                       │       └── extensions.kt
│   │           │                       └── ui/
│   │           │                           ├── AuthenticatorActivity.kt
│   │           │                           ├── AuthenticatorActivityFragment.kt
│   │           │                           ├── AuthenticatorActivityFragmentData.kt
│   │           │                           ├── NfcTransportFragment.kt
│   │           │                           ├── PinFragment.kt
│   │           │                           ├── SignInSelectionFragment.kt
│   │           │                           ├── TransportSelectionFragment.kt
│   │           │                           ├── UsbTransportFragment.kt
│   │           │                           └── WelcomeFragment.kt
│   │           └── res/
│   │               ├── drawable/
│   │               │   ├── fido_nfc_wait_connect.xml
│   │               │   ├── fido_usb_wait_confirm.xml
│   │               │   ├── fido_usb_wait_connect.xml
│   │               │   ├── ic_fido_bluetooth.xml
│   │               │   ├── ic_fido_close_btn.xml
│   │               │   ├── ic_fido_fingerprint.xml
│   │               │   ├── ic_fido_key.xml
│   │               │   ├── ic_fido_nfc.xml
│   │               │   └── ic_fido_usb.xml
│   │               ├── drawable-anydpi-v23/
│   │               │   ├── fido_nfc_wait_connect.xml
│   │               │   ├── fido_usb_wait_confirm.xml
│   │               │   └── fido_usb_wait_connect.xml
│   │               ├── layout/
│   │               │   ├── fido_authenticator_activity.xml
│   │               │   ├── fido_nfc_transport_fragment.xml
│   │               │   ├── fido_pin_fragment.xml
│   │               │   ├── fido_sign_in_item_layout.xml
│   │               │   ├── fido_sign_in_selection_fragment.xml
│   │               │   ├── fido_transport_selection_fragment.xml
│   │               │   ├── fido_usb_transport_fragment.xml
│   │               │   └── fido_welcome_fragment.xml
│   │               ├── navigation/
│   │               │   └── nav_fido_authenticator.xml
│   │               ├── values/
│   │               │   └── strings.xml
│   │               ├── values-ar/
│   │               │   └── strings.xml
│   │               ├── values-ast/
│   │               │   └── strings.xml
│   │               ├── values-az/
│   │               │   └── strings.xml
│   │               ├── values-be/
│   │               │   └── strings.xml
│   │               ├── values-bn/
│   │               │   └── strings.xml
│   │               ├── values-ca/
│   │               │   └── strings.xml
│   │               ├── values-cs/
│   │               │   └── strings.xml
│   │               ├── values-de/
│   │               │   └── strings.xml
│   │               ├── values-eo/
│   │               │   └── strings.xml
│   │               ├── values-es/
│   │               │   └── strings.xml
│   │               ├── values-fa/
│   │               │   └── strings.xml
│   │               ├── values-fi/
│   │               │   └── strings.xml
│   │               ├── values-fil/
│   │               │   └── strings.xml
│   │               ├── values-fr/
│   │               │   └── strings.xml
│   │               ├── values-ga/
│   │               │   └── strings.xml
│   │               ├── values-hu/
│   │               │   └── strings.xml
│   │               ├── values-in/
│   │               │   └── strings.xml
│   │               ├── values-is/
│   │               │   └── strings.xml
│   │               ├── values-it/
│   │               │   └── strings.xml
│   │               ├── values-iw/
│   │               │   └── strings.xml
│   │               ├── values-ja/
│   │               │   └── strings.xml
│   │               ├── values-ko/
│   │               │   └── strings.xml
│   │               ├── values-lv/
│   │               │   └── strings.xml
│   │               ├── values-lzh/
│   │               │   └── strings.xml
│   │               ├── values-ml/
│   │               │   └── strings.xml
│   │               ├── values-nb-rNO/
│   │               │   └── strings.xml
│   │               ├── values-nl/
│   │               │   └── strings.xml
│   │               ├── values-pl/
│   │               │   └── strings.xml
│   │               ├── values-pt/
│   │               │   └── strings.xml
│   │               ├── values-pt-rBR/
│   │               │   └── strings.xml
│   │               ├── values-ro/
│   │               │   └── strings.xml
│   │               ├── values-ru/
│   │               │   └── strings.xml
│   │               ├── values-sl/
│   │               │   └── strings.xml
│   │               ├── values-sr/
│   │               │   └── strings.xml
│   │               ├── values-sv/
│   │               │   └── strings.xml
│   │               ├── values-ta/
│   │               │   └── strings.xml
│   │               ├── values-th/
│   │               │   └── strings.xml
│   │               ├── values-tr/
│   │               │   └── strings.xml
│   │               ├── values-ug/
│   │               │   └── strings.xml
│   │               ├── values-uk/
│   │               │   └── strings.xml
│   │               ├── values-vi/
│   │               │   └── strings.xml
│   │               ├── values-zh-rCN/
│   │               │   └── strings.xml
│   │               └── values-zh-rTW/
│   │                   └── strings.xml
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── fido/
│           │                       └── fido2/
│           │                           ├── api/
│           │                           │   ├── IBooleanCallback.aidl
│           │                           │   ├── ICredentialListCallback.aidl
│           │                           │   └── common/
│           │                           │       ├── BrowserPublicKeyCredentialCreationOptions.aidl
│           │                           │       ├── BrowserPublicKeyCredentialRequestOptions.aidl
│           │                           │       ├── FidoCredentialDetails.aidl
│           │                           │       ├── PublicKeyCredentialCreationOptions.aidl
│           │                           │       └── PublicKeyCredentialRequestOptions.aidl
│           │                           └── internal/
│           │                               ├── privileged/
│           │                               │   ├── IFido2PrivilegedCallbacks.aidl
│           │                               │   └── IFido2PrivilegedService.aidl
│           │                               └── regular/
│           │                                   ├── IFido2AppCallbacks.aidl
│           │                                   └── IFido2AppService.aidl
│           └── java/
│               ├── com/
│               │   └── google/
│               │       └── android/
│               │           └── gms/
│               │               └── fido/
│               │                   ├── Fido.java
│               │                   ├── common/
│               │                   │   └── Transport.java
│               │                   ├── fido2/
│               │                   │   ├── Fido2ApiClient.java
│               │                   │   ├── Fido2PendingIntent.java
│               │                   │   ├── Fido2PrivilegedApiClient.java
│               │                   │   └── api/
│               │                   │       └── common/
│               │                   │           ├── Algorithm.java
│               │                   │           ├── Attachment.java
│               │                   │           ├── AttestationConveyancePreference.java
│               │                   │           ├── AuthenticationExtensions.java
│               │                   │           ├── AuthenticationExtensionsClientOutputs.java
│               │                   │           ├── AuthenticationExtensionsCredPropsOutputs.java
│               │                   │           ├── AuthenticationExtensionsDevicePublicKeyOutputs.java
│               │                   │           ├── AuthenticationExtensionsPrfOutputs.java
│               │                   │           ├── AuthenticatorAssertionResponse.java
│               │                   │           ├── AuthenticatorAttestationResponse.java
│               │                   │           ├── AuthenticatorErrorResponse.java
│               │                   │           ├── AuthenticatorResponse.java
│               │                   │           ├── AuthenticatorSelectionCriteria.java
│               │                   │           ├── BrowserPublicKeyCredentialCreationOptions.java
│               │                   │           ├── BrowserPublicKeyCredentialRequestOptions.java
│               │                   │           ├── BrowserRequestOptions.java
│               │                   │           ├── COSEAlgorithmIdentifier.java
│               │                   │           ├── CableAuthenticationData.java
│               │                   │           ├── CableAuthenticationExtension.java
│               │                   │           ├── CredentialPropertiesOutput.java
│               │                   │           ├── DevicePublicKeyExtension.java
│               │                   │           ├── DevicePublicKeyStringDef.java
│               │                   │           ├── EC2Algorithm.java
│               │                   │           ├── ErrorCode.java
│               │                   │           ├── FidoAppIdExtension.java
│               │                   │           ├── FidoCredentialDetails.java
│               │                   │           ├── GoogleMultiAssertionExtension.java
│               │                   │           ├── GoogleSessionIdExtension.java
│               │                   │           ├── GoogleSilentVerificationExtension.java
│               │                   │           ├── GoogleThirdPartyPaymentExtension.java
│               │                   │           ├── GoogleTunnelServerIdExtension.java
│               │                   │           ├── HmacSecretExtension.java
│               │                   │           ├── KeyProtectionTypes.java
│               │                   │           ├── MatcherProtectionTypes.java
│               │                   │           ├── PaymentExtension.java
│               │                   │           ├── PrfExtension.java
│               │                   │           ├── PublicKeyCredential.java
│               │                   │           ├── PublicKeyCredentialCreationOptions.java
│               │                   │           ├── PublicKeyCredentialDescriptor.java
│               │                   │           ├── PublicKeyCredentialParameters.java
│               │                   │           ├── PublicKeyCredentialRequestOptions.java
│               │                   │           ├── PublicKeyCredentialRpEntity.java
│               │                   │           ├── PublicKeyCredentialType.java
│               │                   │           ├── PublicKeyCredentialUserEntity.java
│               │                   │           ├── RSAAlgorithm.java
│               │                   │           ├── RequestOptions.java
│               │                   │           ├── ResidentKeyRequirement.java
│               │                   │           ├── SimpleTransactionAuthorizationExtension.java
│               │                   │           ├── TokenBinding.java
│               │                   │           ├── UserVerificationMethodExtension.java
│               │                   │           ├── UserVerificationMethods.java
│               │                   │           ├── UserVerificationRequirement.java
│               │                   │           ├── UvmEntries.java
│               │                   │           └── UvmEntry.java
│               │                   ├── sourcedevice/
│               │                   │   ├── SourceDirectTransferClient.java
│               │                   │   ├── SourceDirectTransferResult.java
│               │                   │   └── SourceStartDirectTransferOptions.java
│               │                   └── u2f/
│               │                       ├── U2fApiClient.java
│               │                       └── U2fPendingIntent.java
│               └── org/
│                   └── microg/
│                       └── gms/
│                           └── fido/
│                               └── fido2/
│                                   ├── Fido2GmsClient.java
│                                   ├── Fido2PendingIntentImpl.java
│                                   └── Fido2PrivilegedGmsClient.java
├── play-services-fitness/
│   ├── .gitignore
│   ├── build.gradle
│   ├── core/
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           └── kotlin/
│   │               └── com/
│   │                   └── google/
│   │                       └── android/
│   │                           └── gms/
│   │                               └── fitness/
│   │                                   └── service/
│   │                                       ├── config/
│   │                                       │   └── FitConfigBroker.kt
│   │                                       ├── extensions.kt
│   │                                       ├── history/
│   │                                       │   └── FitHistoryBroker.kt
│   │                                       ├── recording/
│   │                                       │   └── FitRecordingBroker.kt
│   │                                       └── sessions/
│   │                                           └── FitSessionsBroker.kt
│   └── src/
│       └── main/
│           ├── AndroidManifest.xml
│           ├── aidl/
│           │   └── com/
│           │       └── google/
│           │           └── android/
│           │               └── gms/
│           │                   └── fitness/
│           │                       ├── internal/
│           │                       │   ├── IDailyTotalCallback.aidl
│           │                       │   ├── IDataPointChangesCallback.aidl
│           │                       │   ├── IDataReadCallback.aidl
│           │                       │   ├── IDataTypeCallback.aidl
│           │                       │   ├── IDebugInfoCallback.aidl
│           │                       │   ├── IFileUriCallback.aidl
│           │                       │   ├── IGoogleFitConfigApi.aidl
│           │                       │   ├── IGoogleFitHistoryApi.aidl
│           │                       │   ├── IGoogleFitRecordingApi.aidl
│           │                       │   ├── IGoogleFitSessionsApi.aidl
│           │                       │   ├── IListSubscriptionsCallback.aidl
│           │                       │   ├── IReadRawCallback.aidl
│           │                       │   ├── IReadStatsCallback.aidl
│           │                       │   ├── ISessionChangesCallback.aidl
│           │                       │   ├── ISessionReadCallback.aidl
│           │                       │   ├── ISessionStopCallback.aidl
│           │                       │   ├── IStatusCallback.aidl
│           │                       │   └── ISyncInfoCallback.aidl
│           │                       ├── request/
│           │                       │   ├── DailyTotalRequest.aidl
│           │                       │   ├── DataDeleteRequest.aidl
│           │                       │   ├── DataInsertRequest.aidl
│           │                       │   ├── DataPointChangesRequest.aidl
│           │                       │   ├── DataReadRequest.aidl
│           │                       │   ├── DataReadResult.aidl
│           │                       │   ├── DataSourceQueryParams.aidl
│           │                       │   ├── DataTypeCreateRequest.aidl
│           │                       │   ├── DataUpdateListenerRegistrationRequest.aidl
│           │                       │   ├── DataUpdateListenerUnregistrationRequest.aidl
│           │                       │   ├── DataUpdateRequest.aidl
│           │                       │   ├── DebugInfoRequest.aidl
│           │                       │   ├── DisableFitRequest.aidl
│           │                       │   ├── GetFileUriRequest.aidl
│           │                       │   ├── GetSyncInfoRequest.aidl
│           │                       │   ├── ListSubscriptionsRequest.aidl
│           │                       │   ├── ReadDataTypeRequest.aidl
│           │                       │   ├── ReadRawRequest.aidl
│           │                       │   ├── ReadStatsRequest.aidl
│           │                       │   ├── SessionChangesRequest.aidl
│           │                       │   ├── SessionInsertRequest.aidl
│           │                       │   ├── SessionReadRequest.aidl
│           │                       │   ├── SessionRegistrationRequest.aidl
│           │                       │   ├── SessionStartRequest.aidl
│           │                       │   ├── SessionStopRequest.aidl
│           │                       │   ├── SessionUnregistrationRequest.aidl
│           │                       │   ├── SubscribeRequest.aidl
│           │                       │   └── UnsubscribeRequest.aidl
│           │                       └── result/
│           │                           ├── DataSourceStatsResult.aidl
│           │                           ├── DataStatsResult.aidl
│           │                           ├── DataTypeResult.aidl
│           │                           ├── ListSubscriptionsResult.aidl
│           │                           ├── SessionReadResult.aidl
│           │                           └── SessionStopResult.aidl
│           └── java/
│               └── com/
│                   └── google/
│                       └── android/
│                           └── gms/
│                               └── fitness/
│                                   ├── data/
│                                   │   ├── Application.java
│                                   │   ├── Bucket.java
│                                   │   ├── DataPoint.java
│                                   │   ├── DataSet.java
│                                   │   ├── DataSource.java
│                                   │   ├── DataType.java
│                                   │   ├── Device.java
│                                   │   ├── Field.java
│                                   │   ├── MapValue.java
│                                   │   ├── Session.java
│                                   │   ├── SessionDataSet.java
│                                   │   ├── Subscription.java
│                                   │   ├── Value.java
│                                   │   └── package-info.java
│                                   ├── package-info.java
│                                   ├── request/
│                                   │   ├── DailyTotalRequest.java
│                            
Download .txt
Showing preview only (827K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9563 symbols across 1410 files)

FILE: fake-signature/src/huawei/java/com/huawei/signature/diff/AppListDatabaseOpenHelper.java
  class AppListDatabaseOpenHelper (line 15) | public class AppListDatabaseOpenHelper extends SQLiteOpenHelper {
    method AppListDatabaseOpenHelper (line 29) | public AppListDatabaseOpenHelper(Context context) {
    method onCreate (line 34) | @Override
    method onOpen (line 42) | @Override
    method initData (line 50) | private void initData(SQLiteDatabase db) {
    method generateValues (line 64) | private ContentValues generateValues(String packageName, boolean fake) {
    method onUpgrade (line 71) | @Override

FILE: fake-signature/src/huawei/java/com/huawei/signature/diff/InitProvider.java
  class InitProvider (line 18) | public class InitProvider extends ContentProvider {
    method onCreate (line 21) | @Override
    method isServiceRunning (line 34) | private boolean isServiceRunning(Context context, String packageName, ...
    method delete (line 48) | @Override
    method getType (line 53) | @Override
    method insert (line 58) | @Override
    method query (line 63) | @Override
    method update (line 68) | @Override

FILE: fake-signature/src/huawei/java/com/huawei/signature/diff/InitReceiver.java
  class InitReceiver (line 17) | public class InitReceiver extends BroadcastReceiver {
    method onReceive (line 20) | @SuppressLint("UnsafeProtectedBroadcastReceiver")

FILE: fake-signature/src/huawei/java/com/huawei/signature/diff/SignatureService.java
  class SignatureService (line 26) | public class SignatureService extends Service {
    method onCreate (line 32) | @Override
    method onStartCommand (line 40) | @Override
    method onBind (line 47) | @Override
    method onDestroy (line 52) | @Override
    method dump (line 58) | @Override
    method onTransact (line 65) | @Override
    method querySignature (line 75) | @Override
    method getResult (line 98) | private String[] getResult(boolean useFakeSignature) {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/ActionCodeSettings.java
  class ActionCodeSettings (line 18) | @PublicApi
    method ActionCodeSettings (line 51) | private ActionCodeSettings() {
    method canHandleCodeInApp (line 57) | public boolean canHandleCodeInApp() {
    method getAndroidInstallApp (line 64) | public boolean getAndroidInstallApp() {
    method getAndroidMinimumVersion (line 71) | public String getAndroidMinimumVersion() {
    method getAndroidPackageName (line 78) | public String getAndroidPackageName() {
    method getIOSBundle (line 85) | public String getIOSBundle() {
    method getUrl (line 92) | public String getUrl() {
    method newBuilder (line 99) | public static Builder newBuilder() {
    class Builder (line 106) | public static class Builder {
      method build (line 115) | public ActionCodeSettings build() {
      method setAndroidPackageName (line 133) | public Builder setAndroidPackageName(String androidPackageName, bool...
      method setDynamicLinkDomain (line 144) | public Builder setDynamicLinkDomain(String dynamicLinkDomain) {
      method setHandleCodeInApp (line 153) | public Builder setHandleCodeInApp(boolean status) {
      method setIOSBundleId (line 163) | public Builder setIOSBundleId(String iOSBundleId) {
      method setUrl (line 175) | public Builder setUrl(String url) {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/AuthCredential.java
  class AuthCredential (line 17) | @PublicApi
    method getProvider (line 22) | public abstract String getProvider();
    method getSignInMethod (line 27) | public abstract String getSignInMethod();

FILE: firebase-auth/src/main/java/com/google/firebase/auth/DefaultOAuthCredential.java
  class DefaultOAuthCredential (line 15) | @PublicApi
    method getAccessToken (line 40) | @Override
    method getIdToken (line 45) | @Override
    method getSecret (line 50) | @Override
    method getProvider (line 55) | @Override
    method getSignInMethod (line 60) | @Override

FILE: firebase-auth/src/main/java/com/google/firebase/auth/EmailAuthCredential.java
  class EmailAuthCredential (line 16) | @PublicApi
    method getProvider (line 37) | @Override
    method getSignInMethod (line 45) | @Override

FILE: firebase-auth/src/main/java/com/google/firebase/auth/OAuthCredential.java
  class OAuthCredential (line 16) | @PublicApi
    method getAccessToken (line 21) | public abstract String getAccessToken();
    method getIdToken (line 26) | public abstract String getIdToken();
    method getSecret (line 31) | public abstract String getSecret();

FILE: firebase-auth/src/main/java/com/google/firebase/auth/PhoneAuthCredential.java
  class PhoneAuthCredential (line 16) | @PublicApi
    method getProvider (line 43) | @Override
    method getSignInMethod (line 51) | @Override
    method getSmsCode (line 59) | public String getSmsCode() {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/UserProfileChangeRequest.java
  class UserProfileChangeRequest (line 19) | @PublicApi
    method UserProfileChangeRequest (line 34) | private UserProfileChangeRequest() {
    method getDisplayName (line 37) | public String getDisplayName() {
    method getPhotoUri (line 41) | public Uri getPhotoUri() {
    class Builder (line 48) | public static class Builder {
      method setDisplayName (line 58) | public Builder setDisplayName(String displayName) {
      method setPhotoUri (line 68) | public Builder setPhotoUri(Uri photoUri) {
      method build (line 77) | public UserProfileChangeRequest build() {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.java
  class ApplyActionCodeAidlRequest (line 10) | public class ApplyActionCodeAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.java
  class ChangeEmailAidlRequest (line 10) | public class ChangeEmailAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.java
  class ChangePasswordAidlRequest (line 10) | public class ChangePasswordAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.java
  class CheckActionCodeAidlRequest (line 10) | public class CheckActionCodeAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.java
  class ConfirmPasswordResetAidlRequest (line 10) | public class ConfirmPasswordResetAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CreateAuthUriResponse.java
  class CreateAuthUriResponse (line 13) | public class CreateAuthUriResponse extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.java
  class CreateUserWithEmailAndPasswordAidlRequest (line 10) | public class CreateUserWithEmailAndPasswordAidlRequest extends AutoSafeP...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/DeleteAidlRequest.java
  class DeleteAidlRequest (line 10) | public class DeleteAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.java
  class FinalizeMfaEnrollmentAidlRequest (line 10) | public class FinalizeMfaEnrollmentAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.java
  class FinalizeMfaSignInAidlRequest (line 10) | public class FinalizeMfaSignInAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.java
  class GetAccessTokenAidlRequest (line 10) | public class GetAccessTokenAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetAccountInfoUser.java
  class GetAccountInfoUser (line 14) | public class GetAccountInfoUser extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.java
  class GetProvidersForEmailAidlRequest (line 10) | public class GetProvidersForEmailAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetTokenResponse.java
  class GetTokenResponse (line 12) | public class GetTokenResponse extends AutoSafeParcelable {
    method GetTokenResponse (line 24) | public GetTokenResponse() {
    method parseJson (line 28) | public static GetTokenResponse parseJson(String json) {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.java
  class LinkEmailAuthCredentialAidlRequest (line 10) | public class LinkEmailAuthCredentialAidlRequest extends AutoSafeParcelab...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.java
  class LinkFederatedCredentialAidlRequest (line 10) | public class LinkFederatedCredentialAidlRequest extends AutoSafeParcelab...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.java
  class LinkPhoneAuthCredentialAidlRequest (line 10) | public class LinkPhoneAuthCredentialAidlRequest extends AutoSafeParcelab...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/MfaInfo.java
  class MfaInfo (line 10) | public class MfaInfo extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfo.java
  class ProviderUserInfo (line 10) | public class ProviderUserInfo extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfoList.java
  class ProviderUserInfoList (line 13) | public class ProviderUserInfoList extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ReloadAidlRequest.java
  class ReloadAidlRequest (line 10) | public class ReloadAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ResetPasswordResponse.java
  class ResetPasswordResponse (line 10) | public class ResetPasswordResponse extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.java
  class SendEmailVerificationWithSettingsAidlRequest (line 12) | public class SendEmailVerificationWithSettingsAidlRequest extends AutoSa...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.java
  class SendGetOobConfirmationCodeEmailAidlRequest (line 12) | public class SendGetOobConfirmationCodeEmailAidlRequest extends AutoSafe...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.java
  class SendVerificationCodeAidlRequest (line 10) | public class SendVerificationCodeAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.java
  class SendVerificationCodeRequest (line 10) | public class SendVerificationCodeRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.java
  class SetFirebaseUiVersionAidlRequest (line 10) | public class SetFirebaseUiVersionAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.java
  class SignInAnonymouslyAidlRequest (line 10) | public class SignInAnonymouslyAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.java
  class SignInWithCredentialAidlRequest (line 16) | @SafeParcelable.Class
    method SignInWithCredentialAidlRequest (line 22) | public SignInWithCredentialAidlRequest(VerifyAssertionRequest request) {
    method SignInWithCredentialAidlRequest (line 26) | public SignInWithCredentialAidlRequest() {
    method writeToParcel (line 29) | @Override

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.java
  class SignInWithCustomTokenAidlRequest (line 10) | public class SignInWithCustomTokenAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.java
  class SignInWithEmailAndPasswordAidlRequest (line 10) | public class SignInWithEmailAndPasswordAidlRequest extends AutoSafeParce...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.java
  class SignInWithEmailLinkAidlRequest (line 10) | public class SignInWithEmailLinkAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.java
  class SignInWithPhoneNumberAidlRequest (line 12) | public class SignInWithPhoneNumberAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.java
  class StartMfaPhoneNumberEnrollmentAidlRequest (line 10) | public class StartMfaPhoneNumberEnrollmentAidlRequest extends AutoSafePa...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.java
  class StartMfaPhoneNumberSignInAidlRequest (line 10) | public class StartMfaPhoneNumberSignInAidlRequest extends AutoSafeParcel...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StringList.java
  class StringList (line 13) | public class StringList extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.java
  class UnenrollMfaAidlRequest (line 10) | public class UnenrollMfaAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.java
  class UnlinkEmailCredentialAidlRequest (line 10) | public class UnlinkEmailCredentialAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.java
  class UnlinkFederatedCredentialAidlRequest (line 10) | public class UnlinkFederatedCredentialAidlRequest extends AutoSafeParcel...

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.java
  class UpdateProfileAidlRequest (line 12) | public class UpdateProfileAidlRequest extends AutoSafeParcelable {

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/VerifyAssertionRequest.java
  class VerifyAssertionRequest (line 16) | @SafeParcelable.Class
    method writeToParcel (line 52) | @Override

FILE: firebase-auth/src/main/java/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.java
  class VerifyBeforeUpdateEmailAidlRequest (line 10) | public class VerifyBeforeUpdateEmailAidlRequest extends AutoSafeParcelab...

FILE: firebase-auth/src/main/java/org/microg/gms/firebase/auth/Constants.java
  class Constants (line 8) | public class Constants {

FILE: firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/ShortDynamicLink.java
  type ShortDynamicLink (line 20) | @PublicApi
    method getPreviewLink (line 25) | Uri getPreviewLink();
    method getShortLink (line 30) | Uri getShortLink();
    method getWarnings (line 35) | List<? extends Warning> getWarnings();
    type Warning (line 58) | interface Warning {
      method getCode (line 64) | @Deprecated
      method getMessage (line 70) | String getMessage();

FILE: firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/DynamicLinkData.java
  class DynamicLinkData (line 20) | @SafeParcelable.Class
    method DynamicLinkData (line 40) | @Constructor
    method toString (line 50) | @NonNull
    method writeToParcel (line 63) | @Override

FILE: firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/ShortDynamicLinkImpl.java
  class ShortDynamicLinkImpl (line 18) | public class ShortDynamicLinkImpl extends AutoSafeParcelable {
    method ShortDynamicLinkImpl (line 29) | public ShortDynamicLinkImpl() {
    method ShortDynamicLinkImpl (line 36) | public ShortDynamicLinkImpl(Uri shortLink, Uri previewLink, List<Warni...

FILE: firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/WarningImpl.java
  class WarningImpl (line 13) | public class WarningImpl extends AutoSafeParcelable implements ShortDyna...
    method WarningImpl (line 21) | private WarningImpl() {
    method WarningImpl (line 25) | public WarningImpl(String message) {
    method getCode (line 29) | @Override
    method getMessage (line 34) | @Override

FILE: play-services-ads-identifier/src/main/java/com/google/android/gms/ads/identifier/AdvertisingIdClient.java
  class AdvertisingIdClient (line 26) | public class AdvertisingIdClient {
    method getAdvertisingIdInfo (line 40) | public static Info getAdvertisingIdInfo(Context context) {
    class Info (line 48) | public static class Info {
      method Info (line 58) | public Info(String advertisingId, boolean limitAdTrackingEnabled) {
      method getId (line 66) | public String getId() {
      method isLimitAdTrackingEnabled (line 76) | public boolean isLimitAdTrackingEnabled() {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/AdDataParcel.java
  class AdDataParcel (line 10) | public class AdDataParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/AdErrorParcel.java
  class AdErrorParcel (line 11) | public class AdErrorParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/AdRequestParcel.java
  class AdRequestParcel (line 15) | public class AdRequestParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/AdapterResponseInfoParcel.java
  class AdapterResponseInfoParcel (line 11) | public class AdapterResponseInfoParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/AdapterStatusParcel.java
  class AdapterStatusParcel (line 10) | public class AdapterStatusParcel extends AutoSafeParcelable {
    method AdapterStatusParcel (line 20) | public AdapterStatusParcel() {}
    method AdapterStatusParcel (line 22) | public AdapterStatusParcel(String className, boolean isReady, int late...

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/RequestConfigurationParcel.java
  class RequestConfigurationParcel (line 10) | public class RequestConfigurationParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/SearchAdRequestParcel.java
  class SearchAdRequestParcel (line 10) | public class SearchAdRequestParcel extends AutoSafeParcelable {

FILE: play-services-ads-lite/src/main/java/com/google/android/gms/ads/internal/ServerSideVerificationOptionsParcel.java
  class ServerSideVerificationOptionsParcel (line 10) | public class ServerSideVerificationOptionsParcel extends AutoSafeParcela...

FILE: play-services-ads/core/src/main/java/com/google/android/gms/dynamite/descriptors/com/google/android/gms/ads/dynamite/ModuleDescriptor.java
  class ModuleDescriptor (line 21) | @Keep
    method init (line 34) | public static void init(Context context) {
    method buildDefaultUserAgent (line 53) | private static String buildDefaultUserAgent() {
    method injectUserAgentSharedPreference (line 66) | @SuppressLint("ApplySharedPref")

FILE: play-services-ads/src/main/java/com/google/android/gms/ads/internal/ExceptionParcel.java
  class ExceptionParcel (line 10) | public class ExceptionParcel extends AutoSafeParcelable {

FILE: play-services-ads/src/main/java/com/google/android/gms/ads/internal/NonagonRequestParcel.java
  class NonagonRequestParcel (line 10) | public class NonagonRequestParcel extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/CorpusStatus.java
  class CorpusStatus (line 24) | public class CorpusStatus extends AutoSafeParcelable {
    method CorpusStatus (line 41) | public CorpusStatus() {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/PIMEUpdate.java
  class PIMEUpdate (line 21) | public class PIMEUpdate extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/PIMEUpdateResponse.java
  class PIMEUpdateResponse (line 22) | public class PIMEUpdateResponse extends AutoSafeParcelable {
    method PIMEUpdateResponse (line 35) | public PIMEUpdateResponse() {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/QuerySpecification.java
  class QuerySpecification (line 24) | public class QuerySpecification extends AutoSafeParcelable {
    method QuerySpecification (line 45) | private QuerySpecification() {
    method toString (line 56) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/RequestIndexingSpecification.java
  class RequestIndexingSpecification (line 22) | public class RequestIndexingSpecification extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/SearchResults.java
  class SearchResults (line 22) | public class SearchResults extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/SuggestSpecification.java
  class SuggestSpecification (line 22) | public class SuggestSpecification extends AutoSafeParcelable {
    method SuggestSpecification (line 26) | public SuggestSpecification() {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/SuggestionResults.java
  class SuggestionResults (line 22) | public class SuggestionResults extends AutoSafeParcelable {
    method SuggestionResults (line 33) | private SuggestionResults() {
    method SuggestionResults (line 39) | public SuggestionResults(String errorMessage) {
    method SuggestionResults (line 46) | public SuggestionResults(String[] s1, String[] s2) {

FILE: play-services-api/src/main/java/com/google/android/gms/appdatasearch/UsageInfo.java
  class UsageInfo (line 21) | public class UsageInfo extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/audit/LogAuditRecordsRequest.java
  class LogAuditRecordsRequest (line 18) | @SafeParcelable.Class
    method toString (line 33) | @NonNull
    method writeToParcel (line 46) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRecoveryGuidanceRequest.java
  class AccountRecoveryGuidanceRequest (line 25) | public class AccountRecoveryGuidanceRequest extends AutoSafeParcelable {
    method AccountRecoveryGuidanceRequest (line 35) | public AccountRecoveryGuidanceRequest(String accountName) {
    method AccountRecoveryGuidanceRequest (line 40) | public AccountRecoveryGuidanceRequest(Account account) {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/AccountRemovalRequest.java
  class AccountRemovalRequest (line 25) | public class AccountRemovalRequest extends AutoSafeParcelable {
    method AccountRemovalRequest (line 35) | public AccountRemovalRequest(String accountName) {
    method AccountRemovalRequest (line 40) | public AccountRemovalRequest(Account account) {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ConfirmCredentialsRequest.java
  class ConfirmCredentialsRequest (line 25) | public class ConfirmCredentialsRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/FACLConfig.java
  class FACLConfig (line 10) | public class FACLConfig extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/PACLConfig.java
  class PACLConfig (line 10) | public class PACLConfig extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenRequest.java
  class TokenRequest (line 15) | public class TokenRequest extends AutoSafeParcelable {
    method getAccount (line 49) | public Account getAccount() {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenResponse.java
  class TokenResponse (line 19) | public class TokenResponse {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/delegate/ConfirmCredentialsWorkflowRequest.java
  class ConfirmCredentialsWorkflowRequest (line 28) | public class ConfirmCredentialsWorkflowRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/proximity/data/Permit.java
  class Permit (line 19) | public class Permit {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AccountCredentials.java
  class AccountCredentials (line 25) | public class AccountCredentials extends AutoSafeParcelable {
    method getAccount (line 33) | public Account getAccount() {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/AppDescription.java
  class AppDescription (line 22) | public class AppDescription extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java
  class CaptchaSolution (line 23) | public class CaptchaSolution extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/credential/manager/invocationparams/CallerInfo.java
  class CallerInfo (line 11) | public class CallerInfo extends AutoSafeParcelable {
    method toString (line 21) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/credential/manager/invocationparams/CredentialManagerAccount.java
  class CredentialManagerAccount (line 11) | public class CredentialManagerAccount extends AutoSafeParcelable {
    method toString (line 15) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/credential/manager/invocationparams/CredentialManagerInvocationParams.java
  class CredentialManagerInvocationParams (line 12) | public class CredentialManagerInvocationParams extends AutoSafeParcelable {
    method toString (line 18) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/facs/cache/FacsCacheCallOptions.java
  class FacsCacheCallOptions (line 10) | public class FacsCacheCallOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/facs/cache/ForceSettingsCacheRefreshResult.java
  class ForceSettingsCacheRefreshResult (line 10) | public class ForceSettingsCacheRefreshResult extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/facs/cache/GetActivityControlsSettingsResult.java
  class GetActivityControlsSettingsResult (line 16) | @SafeParcelable.Class
    method GetActivityControlsSettingsResult (line 21) | @Constructor
    method writeToParcel (line 26) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/facs/cache/ReadDeviceLevelSettingsResult.java
  class ReadDeviceLevelSettingsResult (line 10) | public class ReadDeviceLevelSettingsResult extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/facs/cache/UpdateActivityControlsSettingsResult.java
  class UpdateActivityControlsSettingsResult (line 10) | public class UpdateActivityControlsSettingsResult extends AutoSafeParcel...

FILE: play-services-api/src/main/java/com/google/android/gms/family/model/MemberDataModel.java
  class MemberDataModel (line 16) | @SafeParcelable.Class
    method writeToParcel (line 53) | @Override
    method toString (line 58) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/family/v2/model/BulletPoint.java
  class BulletPoint (line 17) | public class BulletPoint implements Parcelable {
    method BulletPoint (line 21) | public BulletPoint() {
    method BulletPoint (line 24) | public BulletPoint(HashMap<Integer, String> contentMap) {
    method BulletPoint (line 28) | public BulletPoint(Parcel parcel) {
    method equals (line 35) | public final boolean equals(Object obj) {
    method hashCode (line 39) | public final int hashCode() {
    method describeContents (line 43) | @Override
    method writeToParcel (line 48) | @Override
    method createFromParcel (line 58) | @Override
    method newArray (line 63) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/family/v2/model/HelpData.java
  class HelpData (line 16) | @SafeParcelable.Class
    method HelpData (line 23) | public HelpData() {
    method HelpData (line 26) | public HelpData(String linkUrl, String appContext) {
    method writeToParcel (line 33) | @Override
    method toString (line 38) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/family/v2/model/PageData.java
  class PageData (line 16) | public class PageData extends AutoSafeParcelable {
    method PageData (line 26) | public PageData() {}
    method PageData (line 28) | public PageData(HashMap<Integer, String> sectionMap, HashMap<String, H...
    method equals (line 34) | @Override
    method hashCode (line 45) | @Override
    method toString (line 50) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/feedback/ErrorReport.java
  class ErrorReport (line 23) | @SafeParcelable.Class
    method writeToParcel (line 158) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/feedback/FeedbackOptions.java
  class FeedbackOptions (line 22) | @SafeParcelable.Class
    method writeToParcel (line 62) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/feedback/FileTeleporter.java
  class FileTeleporter (line 16) | @SafeParcelable.Class
    method writeToParcel (line 23) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/feedback/LogOptions.java
  class LogOptions (line 16) | @SafeParcelable.Class
    method writeToParcel (line 30) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/feedback/ThemeSettings.java
  class ThemeSettings (line 12) | public class ThemeSettings extends AutoSafeParcelable {
    method toString (line 18) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/gass/internal/GassRequestParcel.java
  class GassRequestParcel (line 16) | @SafeParcelable.Class
    method writeToParcel (line 26) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/gass/internal/GassResponseParcel.java
  class GassResponseParcel (line 17) | @SafeParcelable.Class
    method GassResponseParcel (line 28) | public GassResponseParcel() {
    method GassResponseParcel (line 31) | public GassResponseParcel(int i, byte[] bArr) {
    method GassResponseParcel (line 37) | public GassResponseParcel(ErrorReport report) {
    method writeToParcel (line 43) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/FRDProductSpecificDataEntry.java
  class FRDProductSpecificDataEntry (line 10) | public class FRDProductSpecificDataEntry extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/GoogleHelp.java
  class GoogleHelp (line 23) | public class GoogleHelp extends AutoSafeParcelable {
    method toString (line 91) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/InProductHelp.java
  class InProductHelp (line 10) | public class InProductHelp extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/ND4CSettings.java
  class ND4CSettings (line 10) | public class ND4CSettings extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/OfflineSuggestion.java
  class OfflineSuggestion (line 10) | public class OfflineSuggestion extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/SupportRequestHelp.java
  class SupportRequestHelp (line 10) | public class SupportRequestHelp extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/internal/common/OverflowMenuItem.java
  class OverflowMenuItem (line 10) | public class OverflowMenuItem extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/googlehelp/internal/common/TogglingData.java
  class TogglingData (line 10) | public class TogglingData extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/identity/accounts/api/AccountData.java
  class AccountData (line 19) | public class AccountData {

FILE: play-services-api/src/main/java/com/google/android/gms/identity/intents/model/CountrySpecification.java
  class CountrySpecification (line 19) | public class CountrySpecification {

FILE: play-services-api/src/main/java/com/google/android/gms/identity/intents/model/UserAddress.java
  class UserAddress (line 19) | public class UserAddress {

FILE: play-services-api/src/main/java/com/google/android/gms/languageprofile/ClientLanguageSettings.java
  class ClientLanguageSettings (line 10) | public class ClientLanguageSettings extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/languageprofile/LanguageFluency.java
  class LanguageFluency (line 10) | public class LanguageFluency extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/languageprofile/LanguageFluencyParams.java
  class LanguageFluencyParams (line 10) | public class LanguageFluencyParams extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/languageprofile/LanguagePreference.java
  class LanguagePreference (line 10) | public class LanguagePreference extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/languageprofile/LanguagePreferenceParams.java
  class LanguagePreferenceParams (line 10) | public class LanguagePreferenceParams extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/IneligibilityRationale.java
  class IneligibilityRationale (line 15) | @SafeParcelable.Class
    method IneligibilityRationale (line 30) | @Constructor
    method writeToParcel (line 41) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/LocationCollectionReason.java
  class LocationCollectionReason (line 16) | @SafeParcelable.Class
    method LocationCollectionReason (line 21) | @Constructor
    method toString (line 26) | @NonNull
    method writeToParcel (line 34) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/LocationReportingStatus.java
  class LocationReportingStatus (line 16) | @SafeParcelable.Class
    method LocationReportingStatus (line 27) | @Constructor
    method writeToParcel (line 35) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/LocationShare.java
  class LocationShare (line 15) | @SafeParcelable.Class
    method LocationShare (line 24) | @Constructor
    method writeToParcel (line 31) | @Override
    method toString (line 38) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/LocationUploadRequest.java
  class LocationUploadRequest (line 15) | @SafeParcelable.Class
    method LocationUploadRequest (line 40) | @Constructor
    method writeToParcel (line 57) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/LocationUploadResponse.java
  class LocationUploadResponse (line 15) | @SafeParcelable.Class
    method LocationUploadResponse (line 22) | @Constructor
    method writeToParcel (line 28) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/NoticeAckedUpdateRequest.java
  class NoticeAckedUpdateRequest (line 15) | @SafeParcelable.Class
    method NoticeAckedUpdateRequest (line 20) | @Constructor
    method toString (line 25) | @NonNull
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/PeriodicLocationReportingIssues.java
  class PeriodicLocationReportingIssues (line 18) | @SafeParcelable.Class
    method PeriodicLocationReportingIssues (line 27) | @Constructor
    method toString (line 34) | @NonNull
    method writeToParcel (line 42) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/PeriodicLocationUploadRequest.java
  class PeriodicLocationUploadRequest (line 15) | @SafeParcelable.Class
    method PeriodicLocationUploadRequest (line 32) | @Constructor
    method writeToParcel (line 44) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/StartLocationReportingRequest.java
  class StartLocationReportingRequest (line 15) | @SafeParcelable.Class
    method StartLocationReportingRequest (line 28) | @Constructor
    method toString (line 38) | @NonNull
    method writeToParcel (line 50) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/locationsharingreporter/StopLocationReportingRequest.java
  class StopLocationReportingRequest (line 15) | @SafeParcelable.Class
    method StopLocationReportingRequest (line 19) | @Constructor
    method writeToParcel (line 23) | @Override
    method toString (line 30) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/measurement/internal/AppMetadata.java
  class AppMetadata (line 13) | public class AppMetadata extends AutoSafeParcelable {
    method toString (line 95) | public String toString() {

FILE: play-services-api/src/main/java/com/google/android/gms/measurement/internal/ConditionalUserPropertyParcel.java
  class ConditionalUserPropertyParcel (line 10) | public class ConditionalUserPropertyParcel extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/measurement/internal/EventParams.java
  class EventParams (line 12) | public class EventParams extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/measurement/internal/EventParcel.java
  class EventParcel (line 14) | @SafeParcelable.Class
    method writeToParcel (line 25) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/measurement/internal/UserAttributeParcel.java
  class UserAttributeParcel (line 11) | public class UserAttributeParcel extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/people/internal/ParcelableLoadImageOptions.java
  class ParcelableLoadImageOptions (line 22) | public class ParcelableLoadImageOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/people/model/AccountMetadata.java
  class AccountMetadata (line 22) | public class AccountMetadata extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java
  class AvatarReference (line 22) | public class AvatarReference extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/phenotype/Configurations.java
  class Configurations (line 10) | public class Configurations extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/phenotype/DogfoodsToken.java
  class DogfoodsToken (line 10) | public class DogfoodsToken extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/phenotype/FlagOverrides.java
  class FlagOverrides (line 10) | public class FlagOverrides extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/phenotype/RegistrationInfo.java
  class RegistrationInfo (line 10) | public class RegistrationInfo extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/PlusCommonExtras.java
  class PlusCommonExtras (line 19) | public class PlusCommonExtras {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/PlusSession.java
  class PlusSession (line 19) | public class PlusSession {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/model/smart_profile/CardsRequest.java
  class CardsRequest (line 19) | public class CardsRequest {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/model/smart_profile/CardsResponse.java
  class CardsResponse (line 19) | public class CardsResponse {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/model/smart_profile/PeopleForProfilesRequest.java
  class PeopleForProfilesRequest (line 19) | public class PeopleForProfilesRequest {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/internal/model/smart_profile/PeopleForProfilesResponse.java
  class PeopleForProfilesResponse (line 19) | public class PeopleForProfilesResponse {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/model/posts/Comment.java
  class Comment (line 19) | public class Comment {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/model/posts/Post.java
  class Post (line 19) | public class Post {

FILE: play-services-api/src/main/java/com/google/android/gms/plus/model/posts/Settings.java
  class Settings (line 19) | public class Settings {

FILE: play-services-api/src/main/java/com/google/android/gms/potokens/PoToken.java
  class PoToken (line 10) | public class PoToken extends AutoSafeParcelable {
    method PoToken (line 15) | public PoToken(byte[] data) {

FILE: play-services-api/src/main/java/com/google/android/gms/pseudonymous/PseudonymousIdToken.java
  class PseudonymousIdToken (line 16) | @SafeParcelable.Class
    method PseudonymousIdToken (line 22) | @Constructor
    method writeToParcel (line 27) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/AccountState.java
  class AccountState (line 21) | public class AccountState extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/CreateReminderOptionsInternal.java
  class CreateReminderOptionsInternal (line 21) | public class CreateReminderOptionsInternal extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/LoadRemindersOptions.java
  class LoadRemindersOptions (line 21) | public class LoadRemindersOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/ReindexDueDatesOptions.java
  class ReindexDueDatesOptions (line 21) | public class ReindexDueDatesOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/UpdateRecurrenceOptions.java
  class UpdateRecurrenceOptions (line 21) | public class UpdateRecurrenceOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/model/CustomizedSnoozePresetEntity.java
  class CustomizedSnoozePresetEntity (line 21) | public class CustomizedSnoozePresetEntity extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/model/TaskEntity.java
  class TaskEntity (line 21) | public class TaskEntity extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/reminders/model/TaskIdEntity.java
  class TaskIdEntity (line 21) | public class TaskIdEntity extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/ClearCorpusRequest.java
  class ClearCorpusRequest (line 21) | public class ClearCorpusRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/GetCorpusInfoRequest.java
  class GetCorpusInfoRequest (line 21) | public class GetCorpusInfoRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/GetCorpusStatusRequest.java
  class GetCorpusStatusRequest (line 22) | public class GetCorpusStatusRequest extends AutoSafeParcelable {
    method GetCorpusStatusRequest (line 33) | private GetCorpusStatusRequest() {
    method toString (line 38) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/GetCorpusStatusResponse.java
  class GetCorpusStatusResponse (line 25) | public class GetCorpusStatusResponse extends AutoSafeParcelable {
    method GetCorpusStatusResponse (line 36) | private GetCorpusStatusResponse() {
    method GetCorpusStatusResponse (line 41) | public GetCorpusStatusResponse(Status status, CorpusStatus corpusStatu...

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/RequestIndexingRequest.java
  class RequestIndexingRequest (line 22) | public class RequestIndexingRequest extends AutoSafeParcelable {
    method RequestIndexingRequest (line 36) | private RequestIndexingRequest() {
    method toString (line 42) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/corpora/RequestIndexingResponse.java
  class RequestIndexingResponse (line 24) | public class RequestIndexingResponse extends AutoSafeParcelable {
    method RequestIndexingResponse (line 35) | private RequestIndexingResponse() {
    method RequestIndexingResponse (line 40) | public RequestIndexingResponse(Status status, boolean scheduledIndexin...

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetCurrentExperimentIdsRequest.java
  class GetCurrentExperimentIdsRequest (line 22) | public class GetCurrentExperimentIdsRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetCurrentExperimentIdsResponse.java
  class GetCurrentExperimentIdsResponse (line 26) | public class GetCurrentExperimentIdsResponse extends AutoSafeParcelable {
    method GetCurrentExperimentIdsResponse (line 37) | private GetCurrentExperimentIdsResponse() {
    method GetCurrentExperimentIdsResponse (line 42) | public GetCurrentExperimentIdsResponse(Status status, int[] experiment...
    method toString (line 47) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetGlobalSearchSourcesRequest.java
  class GetGlobalSearchSourcesRequest (line 22) | public class GetGlobalSearchSourcesRequest extends AutoSafeParcelable {
    method toString (line 30) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetGlobalSearchSourcesResponse.java
  class GetGlobalSearchSourcesResponse (line 28) | public class GetGlobalSearchSourcesResponse extends AutoSafeParcelable {
    method GetGlobalSearchSourcesResponse (line 39) | private GetGlobalSearchSourcesResponse() {
    method GetGlobalSearchSourcesResponse (line 44) | public GetGlobalSearchSourcesResponse(Status status, Parcelable[] sour...
    method toString (line 49) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetPendingExperimentIdsRequest.java
  class GetPendingExperimentIdsRequest (line 22) | public class GetPendingExperimentIdsRequest extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/GetPendingExperimentIdsResponse.java
  class GetPendingExperimentIdsResponse (line 26) | public class GetPendingExperimentIdsResponse extends AutoSafeParcelable {
    method GetPendingExperimentIdsResponse (line 37) | private GetPendingExperimentIdsResponse() {
    method GetPendingExperimentIdsResponse (line 42) | public GetPendingExperimentIdsResponse(Status status, int[] experiment...
    method toString (line 47) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/SetExperimentIdsRequest.java
  class SetExperimentIdsRequest (line 24) | public class SetExperimentIdsRequest extends AutoSafeParcelable {
    method toString (line 35) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/SetExperimentIdsResponse.java
  class SetExperimentIdsResponse (line 24) | public class SetExperimentIdsResponse extends AutoSafeParcelable {
    method SetExperimentIdsResponse (line 32) | private SetExperimentIdsResponse() {
    method SetExperimentIdsResponse (line 36) | public SetExperimentIdsResponse(Status status) {
    method toString (line 40) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/SetIncludeInGlobalSearchRequest.java
  class SetIncludeInGlobalSearchRequest (line 22) | public class SetIncludeInGlobalSearchRequest extends AutoSafeParcelable {
    method toString (line 36) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/global/SetIncludeInGlobalSearchResponse.java
  class SetIncludeInGlobalSearchResponse (line 24) | public class SetIncludeInGlobalSearchResponse extends AutoSafeParcelable {
    method SetIncludeInGlobalSearchResponse (line 32) | private SetIncludeInGlobalSearchResponse() {
    method SetIncludeInGlobalSearchResponse (line 36) | public SetIncludeInGlobalSearchResponse(Status status) {
    method toString (line 40) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/queries/QueryRequest.java
  class QueryRequest (line 26) | public class QueryRequest extends AutoSafeParcelable {
    method toString (line 43) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/search/queries/QueryResponse.java
  class QueryResponse (line 25) | public class QueryResponse extends AutoSafeParcelable {
    method QueryResponse (line 36) | private QueryResponse() {
    method QueryResponse (line 41) | public QueryResponse(Status status, SearchResults results) {

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Activity.java
  class Activity (line 15) | @SafeParcelable.Class
    method Activity (line 35) | @Constructor
    method toString (line 46) | @NonNull
    method writeToParcel (line 60) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/ActivityCandidate.java
  class ActivityCandidate (line 15) | @SafeParcelable.Class
    method ActivityCandidate (line 25) | @Constructor
    method toString (line 31) | @NonNull
    method writeToParcel (line 40) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/ActivityEndEvent.java
  class ActivityEndEvent (line 15) | @SafeParcelable.Class
    method ActivityEndEvent (line 27) | @Constructor
    method toString (line 34) | @NonNull
    method writeToParcel (line 44) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/ActivityOngoingEvent.java
  class ActivityOngoingEvent (line 15) | @SafeParcelable.Class
    method ActivityOngoingEvent (line 27) | @Constructor
    method toString (line 34) | @NonNull
    method writeToParcel (line 44) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/ActivityStartEvent.java
  class ActivityStartEvent (line 15) | @SafeParcelable.Class
    method ActivityStartEvent (line 27) | @Constructor
    method toString (line 34) | @NonNull
    method writeToParcel (line 44) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/ActivityStatistics.java
  class ActivityStatistics (line 14) | @SafeParcelable.Class
    method writeToParcel (line 23) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/AdditionalActivityCandidates.java
  class AdditionalActivityCandidates (line 17) | @SafeParcelable.Class
    method AdditionalActivityCandidates (line 22) | @Constructor
    method toString (line 27) | @NonNull
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/AdditionalPlaceCandidates.java
  class AdditionalPlaceCandidates (line 17) | @SafeParcelable.Class
    method AdditionalPlaceCandidates (line 22) | @Constructor
    method toString (line 27) | @NonNull
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Date.java
  class Date (line 15) | @SafeParcelable.Class
    method Date (line 24) | @Constructor
    method toString (line 31) | @NonNull
    method writeToParcel (line 37) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/DebugData.java
  class DebugData (line 17) | @SafeParcelable.Class
    method DebugData (line 30) | @Constructor
    method toString (line 37) | @NonNull
    method writeToParcel (line 47) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/InputSignals.java
  class InputSignals (line 15) | @SafeParcelable.Class
    method toString (line 19) | @NonNull
    method writeToParcel (line 25) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Note.java
  class Note (line 15) | @SafeParcelable.Class
    method Note (line 20) | @Constructor
    method toString (line 25) | @NonNull
    method writeToParcel (line 31) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Parking.java
  class Parking (line 15) | @SafeParcelable.Class
    method Parking (line 32) | @Constructor
    method toString (line 39) | @NonNull
    method writeToParcel (line 49) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Path.java
  class Path (line 17) | @SafeParcelable.Class
    method Path (line 22) | @Constructor
    method toString (line 27) | @NonNull
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PeriodSummary.java
  class PeriodSummary (line 17) | @SafeParcelable.Class
    method PeriodSummary (line 26) | @Constructor
    method toString (line 33) | @NonNull
    method writeToParcel (line 43) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PlaceCandidate.java
  class PlaceCandidate (line 18) | @SafeParcelable.Class
    method PlaceCandidate (line 39) | @Constructor
    method writeToParcel (line 50) | @Override
    method toString (line 57) | @NonNull
    class Identifier (line 71) | public static class Identifier extends AbstractSafeParcelable {
      method Identifier (line 77) | @Constructor
      method writeToParcel (line 83) | @Override
      method toString (line 90) | @NonNull
    class Point (line 97) | public static class Point extends AbstractSafeParcelable {
      method Point (line 103) | @Constructor
      method writeToParcel (line 109) | @Override
      method toString (line 116) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PlaceEnterEvent.java
  class PlaceEnterEvent (line 15) | @SafeParcelable.Class
    method PlaceEnterEvent (line 29) | @Constructor
    method toString (line 37) | @NonNull
    method writeToParcel (line 48) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PlaceExitEvent.java
  class PlaceExitEvent (line 15) | @SafeParcelable.Class
    method PlaceExitEvent (line 29) | @Constructor
    method toString (line 37) | @NonNull
    method writeToParcel (line 48) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PlaceOngoingEvent.java
  class PlaceOngoingEvent (line 15) | @SafeParcelable.Class
    method PlaceOngoingEvent (line 29) | @Constructor
    method toString (line 37) | @NonNull
    method writeToParcel (line 48) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/PointWithDetails.java
  class PointWithDetails (line 15) | @SafeParcelable.Class
    method PointWithDetails (line 25) | @Constructor
    method toString (line 31) | @NonNull
    method writeToParcel (line 40) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/SemanticLocationEvent.java
  class SemanticLocationEvent (line 15) | @SafeParcelable.Class
    method SemanticLocationEvent (line 37) | @Constructor
    method toString (line 49) | @NonNull
    method writeToParcel (line 64) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/SemanticLocationEventRequest.java
  class SemanticLocationEventRequest (line 16) | @SafeParcelable.Class
    method SemanticLocationEventRequest (line 21) | @Constructor
    method writeToParcel (line 26) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/SemanticLocationState.java
  class SemanticLocationState (line 17) | @SafeParcelable.Class
    method SemanticLocationState (line 28) | @Constructor
    method toString (line 36) | @NonNull
    method writeToParcel (line 47) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/SemanticSegment.java
  class SemanticSegment (line 15) | @SafeParcelable.Class
    method toString (line 19) | @NonNull
    method writeToParcel (line 25) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/TemporarilyClosedPlaceCandidates.java
  class TemporarilyClosedPlaceCandidates (line 17) | @SafeParcelable.Class
    method TemporarilyClosedPlaceCandidates (line 22) | @Constructor
    method toString (line 27) | @NonNull
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/TimelineMemory.java
  class TimelineMemory (line 15) | @SafeParcelable.Class
    method TimelineMemory (line 22) | @Constructor
    method toString (line 28) | @NonNull
    method writeToParcel (line 37) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/TimelinePath.java
  class TimelinePath (line 17) | @SafeParcelable.Class
    method TimelinePath (line 25) | @Constructor
    method toString (line 30) | @NonNull
    method writeToParcel (line 36) | @Override
    class SegmentPath (line 43) | public static class SegmentPath extends AbstractSafeParcelable {
      method SegmentPath (line 49) | @Constructor
      method writeToParcel (line 54) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Trip.java
  class Trip (line 17) | @SafeParcelable.Class
    method Trip (line 30) | @Constructor
    method toString (line 38) | @NonNull
    method writeToParcel (line 49) | @Override
    class Destination (line 56) | @Class
      method Destination (line 61) | @Constructor
      method toString (line 66) | @NonNull
      method writeToParcel (line 72) | @Override
    class NameComponents (line 80) | @Class
      method NameComponents (line 85) | @Constructor
      method toString (line 90) | @NonNull
      method writeToParcel (line 96) | @Override
    class Origin (line 104) | @Class
      method Origin (line 111) | @Constructor
      method toString (line 117) | @NonNull
      method writeToParcel (line 126) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/Visit.java
  class Visit (line 15) | @SafeParcelable.Class
    method Visit (line 35) | @Constructor
    method toString (line 45) | @NonNull
    method writeToParcel (line 58) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocation/internal/SemanticLocationParameters.java
  class SemanticLocationParameters (line 16) | @SafeParcelable.Class
    method SemanticLocationParameters (line 25) | @Constructor
    method writeToParcel (line 34) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/DeletionRange.java
  class DeletionRange (line 14) | @SafeParcelable.Class
    method DeletionRange (line 21) | @Constructor
    method writeToParcel (line 27) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/DeviceMetadata.java
  class DeviceMetadata (line 16) | @SafeParcelable.Class
    method DeviceMetadata (line 29) | @Constructor
    method writeToParcel (line 38) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/ExperimentVisitsResponse.java
  class ExperimentVisitsResponse (line 17) | @SafeParcelable.Class
    method ExperimentVisitsResponse (line 26) | @Constructor
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/FieldMask.java
  class FieldMask (line 20) | @SafeParcelable.Class
    method FieldMask (line 26) | @Constructor
    method writeToParcel (line 31) | @Override
    method toString (line 38) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/FrequentPlace.java
  class FrequentPlace (line 21) | @SafeParcelable.Class
    method FrequentPlace (line 41) | @Constructor
    method toString (line 50) | @NonNull
    method writeToParcel (line 62) | @Override
    class FrequentPlaceMetadata (line 69) | @Class
      method FrequentPlaceMetadata (line 74) | @Constructor
      method toString (line 79) | @NonNull
      method writeToParcel (line 87) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/FrequentTrip.java
  class FrequentTrip (line 21) | @SafeParcelable.Class
    method FrequentTrip (line 45) | @Constructor
    method toString (line 59) | @NonNull
    method writeToParcel (line 76) | @Override
    class Metadata (line 83) | @Class
      method Metadata (line 88) | @Constructor
      method toString (line 93) | @NonNull
      method writeToParcel (line 101) | @Override
    class ModeDistribution (line 109) | @Class
      method ModeDistribution (line 116) | @Constructor
      method toString (line 122) | @NonNull
      method writeToParcel (line 131) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/InferredPlace.java
  class InferredPlace (line 19) | @SafeParcelable.Class
    method InferredPlace (line 29) | @Constructor
    method writeToParcel (line 36) | @Override
    method toString (line 43) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/LocationHistorySegment.java
  class LocationHistorySegment (line 19) | @SafeParcelable.Class
    method LocationHistorySegment (line 49) | @Constructor
    method writeToParcel (line 66) | @Override
    method toString (line 73) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/LocationHistorySegmentRequest.java
  class LocationHistorySegmentRequest (line 20) | @SafeParcelable.Class
    method LocationHistorySegmentRequest (line 30) | @Constructor
    method writeToParcel (line 37) | @Override
    method toString (line 44) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/LocationHistorySettings.java
  class LocationHistorySettings (line 15) | @SafeParcelable.Class
    method LocationHistorySettings (line 24) | @Constructor
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/LookupParameters.java
  class LookupParameters (line 18) | @SafeParcelable.Class
    method LookupParameters (line 36) | @Constructor
    method writeToParcel (line 47) | @Override
    method toString (line 54) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/OdlhBackupSummary.java
  class OdlhBackupSummary (line 14) | @SafeParcelable.Class
    method writeToParcel (line 17) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/Persona.java
  class Persona (line 21) | @SafeParcelable.Class
    method Persona (line 30) | @Constructor
    method toString (line 37) | @NonNull
    method writeToParcel (line 47) | @Override
    class LocationAffinity (line 54) | @Class
      method LocationAffinity (line 69) | @Constructor
      method toString (line 79) | @NonNull
      method writeToParcel (line 92) | @Override
    class PersonaMetadata (line 100) | @Class
      method PersonaMetadata (line 105) | @Constructor
      method toString (line 110) | @NonNull
      method writeToParcel (line 118) | @Override
    class TravelModeAffinity (line 126) | @Class
      method TravelModeAffinity (line 147) | @Constructor
      method toString (line 160) | @NonNull
      method writeToParcel (line 176) | @Override
    class TripSummary (line 184) | @Class
      method TripSummary (line 199) | @Constructor
      method toString (line 209) | @NonNull
      method writeToParcel (line 222) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/RequestCredentials.java
  class RequestCredentials (line 20) | @SafeParcelable.Class
    method RequestCredentials (line 30) | @Constructor
    method writeToParcel (line 37) | @Override
    method toString (line 44) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/SemanticLocationEditInputs.java
  class SemanticLocationEditInputs (line 15) | @SafeParcelable.Class
    method SemanticLocationEditInputs (line 26) | @Constructor
    method writeToParcel (line 33) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/TimeRangeFilter.java
  class TimeRangeFilter (line 18) | @SafeParcelable.Class
    method TimeRangeFilter (line 26) | @Constructor
    method writeToParcel (line 32) | @Override
    method toString (line 39) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/semanticlocationhistory/UserLocationProfile.java
  class UserLocationProfile (line 20) | @SafeParcelable.Class
    method UserLocationProfile (line 32) | @Constructor
    method writeToParcel (line 40) | @Override
    method toString (line 47) | @NonNull

FILE: play-services-api/src/main/java/com/google/android/gms/usagereporting/UsageReportingOptInOptions.java
  class UsageReportingOptInOptions (line 10) | public class UsageReportingOptInOptions extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/android/gms/wallet/GetClientTokenRequest.java
  class GetClientTokenRequest (line 16) | @SafeParcelable.Class
    method writeToParcel (line 19) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/wallet/GetClientTokenResponse.java
  class GetClientTokenResponse (line 16) | @SafeParcelable.Class
    method writeToParcel (line 19) | @Override

FILE: play-services-api/src/main/java/com/google/android/gms/wallet/IsReadyToPayRequest.java
  class IsReadyToPayRequest (line 20) | @PublicApi
    method IsReadyToPayRequest (line 35) | private IsReadyToPayRequest() {
    method IsReadyToPayRequest (line 38) | private IsReadyToPayRequest(String json) {
    method fromJson (line 51) | public static IsReadyToPayRequest fromJson(String isReadyToPayRequestJ...
    method newBuilder (line 59) | public static IsReadyToPayRequest.Builder newBuilder() {
    method toJson (line 70) | public String toJson() {
    method getAllowedCardNetworks (line 78) | public ArrayList<Integer> getAllowedCardNetworks() {
    method getAllowedPaymentMethods (line 86) | public ArrayList<Integer> getAllowedPaymentMethods() {
    method isExistingPaymentMethodRequired (line 94) | public boolean isExistingPaymentMethodRequired() {
    class Builder (line 103) | public class Builder {
      method addAllowedCardNetwork (line 107) | public Builder addAllowedCardNetwork(int allowedCardNetwork) {
      method addAllowedCardNetworks (line 116) | public Builder addAllowedCardNetworks(Collection<Integer> allowedCar...
      method addAllowedPaymentMethod (line 126) | public Builder addAllowedPaymentMethod(int allowedPaymentMethod) {
      method addAllowedPaymentMethods (line 135) | public Builder addAllowedPaymentMethods(Collection<Integer> allowedP...
      method build (line 145) | public IsReadyToPayRequest build() {
      method setExistingPaymentMethodRequired (line 154) | public Builder setExistingPaymentMethodRequired(boolean existingPaym...

FILE: play-services-api/src/main/java/com/google/android/gms/wallet/IsReadyToPayResponse.java
  class IsReadyToPayResponse (line 10) | public class IsReadyToPayResponse extends AutoSafeParcelable {
    method IsReadyToPayResponse (line 16) | private IsReadyToPayResponse() {
    method IsReadyToPayResponse (line 19) | public IsReadyToPayResponse(boolean result, String json) {

FILE: play-services-api/src/main/java/com/google/android/gms/wallet/WalletConstants.java
  class WalletConstants (line 16) | @PublicApi

FILE: play-services-api/src/main/java/com/google/firebase/database/connection/idl/CompoundHashParcelable.java
  class CompoundHashParcelable (line 21) | public class CompoundHashParcelable extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/firebase/database/connection/idl/ConnectionConfig.java
  class ConnectionConfig (line 21) | public class ConnectionConfig extends AutoSafeParcelable {

FILE: play-services-api/src/main/java/com/google/firebase/database/connection/idl/RangeParcelable.java
  class RangeParcelable (line 21) | public class RangeParcelable extends AutoSafeParcelable {

FILE: play-services-appset/src/main/java/com/google/android/gms/appset/AppSet.java
  class AppSet (line 17) | public class AppSet {
    method getClient (line 21) | @NonNull

FILE: play-services-appset/src/main/java/com/google/android/gms/appset/AppSetIdClient.java
  type AppSetIdClient (line 17) | public interface AppSetIdClient {
    method getAppSetIdInfo (line 23) | @NonNull

FILE: play-services-appset/src/main/java/com/google/android/gms/appset/AppSetIdInfo.java
  class AppSetIdInfo (line 22) | public class AppSetIdInfo {
    method AppSetIdInfo (line 36) | @Hide
    method getId (line 47) | public String getId() {
    method getScope (line 56) | public @Scope int getScope() {

FILE: play-services-appset/src/main/java/com/google/android/gms/appset/AppSetIdRequestParams.java
  class AppSetIdRequestParams (line 19) | @SafeParcelable.Class
    method AppSetIdRequestParams (line 27) | @Constructor
    method toString (line 33) | @NonNull
    method writeToParcel (line 39) | @Override

FILE: play-services-appset/src/main/java/com/google/android/gms/appset/AppSetInfoParcel.java
  class AppSetInfoParcel (line 17) | @SafeParcelable.Class
    method AppSetInfoParcel (line 25) | @Constructor
    method writeToParcel (line 31) | @Override

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsCodeAutofillClient.java
  type SmsCodeAutofillClient (line 32) | public interface SmsCodeAutofillClient extends HasApiKey<Api.ApiOptions....
    method checkPermissionState (line 40) | Task<@PermissionState Integer> checkPermissionState();
    method hasOngoingSmsRequest (line 50) | Task<Boolean> hasOngoingSmsRequest(String packageName);
    method startSmsCodeRetriever (line 64) | Task<Void> startSmsCodeRetriever();

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsCodeBrowserClient.java
  type SmsCodeBrowserClient (line 34) | public interface SmsCodeBrowserClient extends HasApiKey<Api.ApiOptions.N...
    method startSmsCodeRetriever (line 57) | Task<Void> startSmsCodeRetriever();

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsCodeRetriever.java
  class SmsCodeRetriever (line 31) | public class SmsCodeRetriever {
    method getAutofillClient (line 57) | @NonNull
    method getAutofillClient (line 66) | @NonNull
    method getBrowserClient (line 75) | @NonNull
    method getBrowserClient (line 84) | @NonNull

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsRetriever.java
  class SmsRetriever (line 25) | public class SmsRetriever {
    method getClient (line 60) | @NonNull
    method getClient (line 68) | @NonNull

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsRetrieverApi.java
  type SmsRetrieverApi (line 20) | public interface SmsRetrieverApi {
    method startSmsRetriever (line 37) | @NonNull
    method startSmsUserConsent (line 56) | @NonNull

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsRetrieverClient.java
  class SmsRetrieverClient (line 22) | public abstract class SmsRetrieverClient extends GoogleApi<Api.ApiOption...
    method SmsRetrieverClient (line 24) | protected SmsRetrieverClient(Context context) {

FILE: play-services-auth-api-phone/src/main/java/com/google/android/gms/auth/api/phone/SmsRetrieverStatusCodes.java
  class SmsRetrieverStatusCodes (line 18) | public class SmsRetrieverStatusCodes extends CommonStatusCodes {
    method getStatusCodeString (line 38) | @NonNull

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/SmsCodeAutofillClientImpl.java
  class SmsCodeAutofillClientImpl (line 19) | public class SmsCodeAutofillClientImpl extends GoogleApi<Api.ApiOptions....
    method SmsCodeAutofillClientImpl (line 20) | public SmsCodeAutofillClientImpl(Context context) {
    method checkPermissionState (line 24) | @Override
    method hasOngoingSmsRequest (line 38) | @Override
    method startSmsCodeRetriever (line 52) | @Override

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/SmsCodeBrowserClientImpl.java
  class SmsCodeBrowserClientImpl (line 15) | public class SmsCodeBrowserClientImpl extends GoogleApi<Api.ApiOptions.N...
    method SmsCodeBrowserClientImpl (line 16) | public SmsCodeBrowserClientImpl(Context context) {
    method startSmsCodeRetriever (line 20) | @Override

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/SmsRetrieverApiClient.java
  class SmsRetrieverApiClient (line 24) | public class SmsRetrieverApiClient extends GmsClient<ISmsRetrieverApiSer...
    method SmsRetrieverApiClient (line 27) | public SmsRetrieverApiClient(Context context, ConnectionCallbacks call...
    method interfaceFromBinder (line 32) | @Override
    method startSmsRetriever (line 37) | public void startSmsRetriever(ISmsRetrieverResultCallback callback) {
    method startWithConsentPrompt (line 48) | public void startWithConsentPrompt(@Nullable String senderAddress, ISm...
    method startSmsCodeAutofill (line 59) | public void startSmsCodeAutofill(IStatusCallback callback) {
    method checkAutofillPermissionState (line 70) | public void checkAutofillPermissionState(IAutofillPermissionStateCallb...
    method checkOngoingSmsRequest (line 81) | public void checkOngoingSmsRequest(String packageName, IOngoingSmsRequ...
    method startSmsCodeBrowser (line 92) | public void startSmsCodeBrowser(IStatusCallback callback) {

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/SmsRetrieverClientImpl.java
  class SmsRetrieverClientImpl (line 15) | public class SmsRetrieverClientImpl extends SmsRetrieverClient {
    method SmsRetrieverClientImpl (line 16) | public SmsRetrieverClientImpl(Context context) {
    method startSmsRetriever (line 20) | @NonNull
    method startSmsUserConsent (line 26) | @NonNull

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/SmsRetrieverResultCallbackImpl.java
  class SmsRetrieverResultCallbackImpl (line 13) | class SmsRetrieverResultCallbackImpl extends ISmsRetrieverResultCallback...
    method SmsRetrieverResultCallbackImpl (line 16) | public SmsRetrieverResultCallbackImpl(TaskCompletionSource<Void> compl...
    method onResult (line 20) | @Override

FILE: play-services-auth-api-phone/src/main/java/org/microg/gms/auth/api/phone/StatusCallbackImpl.java
  class StatusCallbackImpl (line 13) | class StatusCallbackImpl extends IStatusCallback.Stub {
    method StatusCallbackImpl (line 16) | public StatusCallbackImpl(TaskCompletionSource<Void> completionSource) {
    method onResult (line 20) | @Override

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java
  class AccountChangeEvent (line 21) | public class AccountChangeEvent extends AutoSafeParcelable {

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/AccountChangeEventsRequest.java
  class AccountChangeEventsRequest (line 26) | public class AccountChangeEventsRequest extends AutoSafeParcelable {
    method getAccount (line 37) | public Account getAccount() {

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/AccountChangeEventsResponse.java
  class AccountChangeEventsResponse (line 25) | public class AccountChangeEventsResponse extends AutoSafeParcelable {
    method AccountChangeEventsResponse (line 31) | public AccountChangeEventsResponse() {

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/GetAccountsRequest.java
  class GetAccountsRequest (line 22) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/GetHubTokenInternalResponse.java
  class GetHubTokenInternalResponse (line 14) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/GetHubTokenRequest.java
  class GetHubTokenRequest (line 11) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/HasCapabilitiesRequest.java
  class HasCapabilitiesRequest (line 13) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/TokenData.java
  class TokenData (line 28) | @Hide
    method TokenData (line 45) | public TokenData() {
    method TokenData (line 52) | public TokenData(String token, Long expiry, boolean isOAuth, List<Scop...
    method TokenData (line 64) | public TokenData(String token, Long expiry) {

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/api/proxy/ProxyRequest.java
  class ProxyRequest (line 13) | @Hide
    method toString (line 37) | @Override

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/api/proxy/ProxyResponse.java
  class ProxyResponse (line 14) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/firstparty/dataservice/ClearTokenRequest.java
  class ClearTokenRequest (line 11) | @Hide

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/firstparty/dataservice/DeviceManagementInfoResponse.java
  class DeviceManagementInfoResponse (line 16) | @SafeParcelable.Class
    method DeviceManagementInfoResponse (line 26) | @Constructor
    method DeviceManagementInfoResponse (line 33) | public DeviceManagementInfoResponse(String info, boolean status) {
    method writeToParcel (line 37) | @Override

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/folsom/RecoveryRequest.java
  class RecoveryRequest (line 16) | @SafeParcelable.Class
    method writeToParcel (line 18) | @Override

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/folsom/RecoveryResult.java
  class RecoveryResult (line 16) | @SafeParcelable.Class
    method writeToParcel (line 18) | @Override

FILE: play-services-auth-base/src/main/java/com/google/android/gms/auth/folsom/SharedKey.java
  class SharedKey (line 18) | @SafeParcelable.Class
    method SharedKey (line 26) | public SharedKey() {
    method SharedKey (line 29) | @Constructor
    method writeToParcel (line 35) | @Override
    method toString (line 42) | @NonNull

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/AppRestoreInfo.java
  class AppRestoreInfo (line 19) | @SafeParcelable.Class
    method AppRestoreInfo (line 28) | @Constructor
    method writeToParcel (line 34) | @Override
    method toString (line 39) | @NonNull

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/Blockstore.java
  class Blockstore (line 19) | public class Blockstore {
    method getClient (line 23) | public static BlockstoreClient getClient(Context context) {

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/BlockstoreClient.java
  type BlockstoreClient (line 25) | public interface BlockstoreClient extends HasApiKey<Api.ApiOptions.NoOpt...
    method deleteBytes (line 51) | Task<Boolean> deleteBytes(DeleteBytesRequest deleteBytesRequest) throw...
    method isEndToEndEncryptionAvailable (line 60) | Task<Boolean> isEndToEndEncryptionAvailable();
    method retrieveBytes (line 79) | Task<RetrieveBytesResponse> retrieveBytes(RetrieveBytesRequest retriev...
    method retrieveBytes (line 94) | @Deprecated
    method storeBytes (line 118) | Task<Integer> storeBytes(StoreBytesData storeBytesData);

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/BlockstoreStatusCodes.java
  class BlockstoreStatusCodes (line 18) | public class BlockstoreStatusCodes extends CommonStatusCodes {

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/DeleteBytesRequest.java
  class DeleteBytesRequest (line 29) | @SafeParcelable.Class
    method DeleteBytesRequest (line 38) | @Constructor
    method getKeys (line 61) | @NonNull
    method getDeleteAll (line 69) | public boolean getDeleteAll() {
    method writeToParcel (line 73) | @Override
    method toString (line 78) | @NonNull
    class Builder (line 90) | public static class Builder {
      method Builder (line 97) | public Builder() {
      method build (line 103) | public DeleteBytesRequest build() {
      method setDeleteAll (line 118) | public Builder setDeleteAll(boolean deleteAll) {
      method setKeys (line 132) | public Builder setKeys(List<String> keys) {

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/RetrieveBytesRequest.java
  class RetrieveBytesRequest (line 29) | @SafeParcelable.Class
    method RetrieveBytesRequest (line 38) | @Constructor
    method getKeys (line 66) | public List<String> getKeys() {
    method getRetrieveAll (line 73) | public boolean getRetrieveAll() {
    method writeToParcel (line 77) | @Override
    method toString (line 82) | @Override
    class Builder (line 92) | public static class Builder {
      method build (line 99) | @NonNull
      method setKeys (line 113) | public Builder setKeys(List<String> keys) {
      method retrieveAll (line 127) | public Builder retrieveAll(boolean retrieveAll) {

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/RetrieveBytesResponse.java
  class RetrieveBytesResponse (line 30) | @SafeParcelable.Class
    method RetrieveBytesResponse (line 42) | @Constructor
    method getBlockstoreDataMap (line 63) | public Map<String, RetrieveBytesResponse.BlockstoreData> getBlockstore...
    method getInternalBlockstoreDataBundle (line 67) | @Hide
    method getInternalBlockstoreDataList (line 72) | @Hide
    method writeToParcel (line 77) | @Override
    method toString (line 82) | @NonNull
    class BlockstoreData (line 94) | @SafeParcelable.Class
      method BlockstoreData (line 104) | @Constructor
      method getBytes (line 114) | @NonNull
      method getKey (line 119) | @Hide
      method toString (line 125) | @NonNull
      method writeToParcel (line 132) | @Override

FILE: play-services-auth-blockstore/src/main/java/com/google/android/gms/auth/blockstore/StoreBytesData.java
  class StoreBytesData (line 25) | @SafeParcelable.Class
    method StoreBytesData (line 38) | @Constructor
    method getBytes (line 48) | @NonNull
    method getKey (line 59) | @NonNull
    method shouldBackupToCloud (line 67) | public boolean shouldBackupToCloud() {
    method writeToParcel (line 73) | @Override
    method toString (line 78) | @NonNull
    class Builder (line 88) | public static class Builder {
      method Builder (line 96) | public Builder() {
      method build (line 102) | public StoreBytesData build() {
      method setBytes (line 109) | public Builder setBytes(byte[] bytes) {
      method setKey (line 121) | public Builder setKey(String key) {
      method setShouldBackupToCloud (line 129) | public Builder setShouldBackupToCloud(boolean shouldBackupToCloud) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/Auth.java
  class Auth (line 22) | public class Auth {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/Credential.java
  class Credential (line 22) | @PublicApi
    method Credential (line 43) | private Credential() {
    method getAccountType (line 55) | public String getAccountType() {
    method getGeneratedPassword (line 62) | public String getGeneratedPassword() {
    method getId (line 70) | public String getId() {
    method getIdTokens (line 87) | public List<IdToken> getIdTokens() {
    method getName (line 96) | public String getName() {
    method getPassword (line 103) | public String getPassword() {
    method getProfilePictureUri (line 110) | public Uri getProfilePictureUri() {
    method getAsString (line 114) | @PublicApi(exclude = true)
    method equals (line 125) | @Override
    method hashCode (line 144) | @Override
    class Builder (line 149) | public static class Builder {
      method Builder (line 161) | public Builder(String id) {
      method Builder (line 170) | public Builder(Credential credential) {
      method build (line 180) | public Credential build() {
      method setAccountType (line 199) | public Builder setAccountType(String accountType) {
      method setName (line 210) | public Builder setName(String name) {
      method setPassword (line 219) | public Builder setPassword(String password) {
      method setProfilePictureUri (line 228) | public Builder setProfilePictureUri(Uri profilePictureUri) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/CredentialPickerConfig.java
  class CredentialPickerConfig (line 15) | @PublicApi
    method CredentialPickerConfig (line 28) | private CredentialPickerConfig() {
    method CredentialPickerConfig (line 31) | public CredentialPickerConfig(boolean showAddAccountButton, boolean sh...
    method isForNewAccount (line 40) | @Deprecated
    method shouldShowAddAccountButton (line 45) | public boolean shouldShowAddAccountButton() {
    method shouldShowCancelButton (line 49) | public boolean shouldShowCancelButton() {
    method toString (line 53) | @Override
    class Builder (line 61) | public class Builder {
      method build (line 66) | public CredentialPickerConfig build() {
      method setForNewAccount (line 73) | public Builder setForNewAccount(boolean forNewAccount) {
      method setShowAddAccountButton (line 81) | public Builder setShowAddAccountButton(boolean showAddAccountButton) {
      method setShowCancelButton (line 89) | public Builder setShowCancelButton(boolean showCancelButton) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/CredentialRequest.java
  class CredentialRequest (line 18) | public class CredentialRequest extends AutoSafeParcelable {
    method CredentialRequest (line 32) | private CredentialRequest() { }
    method CredentialRequest (line 34) | public CredentialRequest(boolean passwordLoginSupported, String[] acco...
    method getAccountTypes (line 41) | public String[] getAccountTypes() {
    method getCredentialHintPickerConfig (line 45) | public CredentialPickerConfig getCredentialHintPickerConfig() {
    method getCredentialPickerConfig (line 49) | public CredentialPickerConfig getCredentialPickerConfig() {
    method getSupportsPasswordLogin (line 56) | @Deprecated
    method isPasswordLoginSupported (line 61) | public boolean isPasswordLoginSupported() {
    class Builder (line 67) | public static class Builder {
      method setAccountTypes (line 73) | public void setAccountTypes(String... accountTypes) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/HintRequest.java
  class HintRequest (line 20) | @PublicApi
    method HintRequest (line 40) | private HintRequest() {
    method HintRequest (line 43) | public HintRequest(CredentialPickerConfig hintPickerConfig, boolean em...
    method getAccountTypes (line 53) | public String[] getAccountTypes() {
    method getHintPickerConfig (line 57) | public CredentialPickerConfig getHintPickerConfig() {
    method getIdTokenNonce (line 61) | public String getIdTokenNonce() {
    method getServerClientId (line 65) | public String getServerClientId() {
    method isEmailAddressIdentifierSupported (line 69) | public boolean isEmailAddressIdentifierSupported() {
    method isPhoneNumberIdentifierSupported (line 73) | public boolean isPhoneNumberIdentifierSupported() {
    method isIdTokenRequested (line 77) | public boolean isIdTokenRequested() {
    method toString (line 83) | @Override
    class Builder (line 96) | public static class Builder {
      method build (line 108) | public HintRequest build() {
      method setAccountTypes (line 121) | public void setAccountTypes(String... accountTypes) {
      method setEmailAddressIdentifierSupported (line 128) | public void setEmailAddressIdentifierSupported(boolean emailAddressI...
      method setHintPickerConfig (line 135) | public void setHintPickerConfig(CredentialPickerConfig hintPickerCon...
      method setIdTokenNonce (line 142) | public void setIdTokenNonce(String idTokenNonce) {
      method setIdTokenRequested (line 150) | public void setIdTokenRequested(boolean idTokenRequested) {
      method setPhoneNumberIdentifierSupported (line 157) | public void setPhoneNumberIdentifierSupported(boolean phoneNumberIde...
      method setServerClientId (line 166) | public void setServerClientId(String serverClientId) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/IdToken.java
  class IdToken (line 15) | @PublicApi
    method IdToken (line 27) | private IdToken() {
    method IdToken (line 30) | public IdToken(String accountType, String id) {
    method getAccountType (line 38) | public String getAccountType() {
    method getIdToken (line 45) | public String getIdToken() {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/IdentityProviders.java
  class IdentityProviders (line 16) | public final class IdentityProviders {
    method getIdentityProviderForAccount (line 31) | public static String getIdentityProviderForAccount(Account account) {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java
  class DeleteRequest (line 21) | public class DeleteRequest extends AutoSafeParcelable {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java
  class GeneratePasswordRequest (line 21) | public class GeneratePasswordRequest extends AutoSafeParcelable {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java
  class SaveRequest (line 21) | public class SaveRequest extends AutoSafeParcelable {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/AuthorizationClient.java
  type AuthorizationClient (line 22) | public interface AuthorizationClient extends HasApiKey<AuthorizationOpti...
    method authorize (line 35) | @NonNull
    method clearToken (line 44) | @NonNull
    method getAuthorizationResultFromIntent (line 53) | @NonNull
    method revokeAccess (line 64) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/AuthorizationOptions.java
  class AuthorizationOptions (line 11) | @Hide

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/AuthorizationRequest.java
  class AuthorizationRequest (line 21) | @SafeParcelable.Class
    method writeToParcel (line 45) | @Override
    method toString (line 52) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/AuthorizationResult.java
  class AuthorizationResult (line 30) | @SafeParcelable.Class
    method AuthorizationResult (line 54) | @Constructor
    method equals (line 64) | @Override
    method getAccessToken (line 75) | @Nullable
    method getGrantedScopes (line 83) | @NonNull
    method getIdToken (line 88) | @Hide
    method getPendingIntent (line 97) | @Nullable
    method getServerAuthCode (line 105) | @Nullable
    method hasResolution (line 115) | public boolean hasResolution() {
    method toGoogleSignInAccount (line 125) | @Nullable
    method toString (line 130) | @Hide
    method hashCode (line 144) | @Override
    method writeToParcel (line 149) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInRequest.java
  class BeginSignInRequest (line 30) | @SafeParcelable.Class
    method toString (line 49) | @NonNull
    method BeginSignInRequest (line 64) | @Constructor
    method builder (line 76) | @NonNull
    method getGoogleIdTokenRequestOptions (line 81) | public GoogleIdTokenRequestOptions getGoogleIdTokenRequestOptions() {
    method getPasskeyJsonRequestOptions (line 85) | public PasskeyJsonRequestOptions getPasskeyJsonRequestOptions() {
    method getPasskeysRequestOptions (line 89) | public PasskeysRequestOptions getPasskeysRequestOptions() {
    method getPasswordRequestOptions (line 93) | public PasswordRequestOptions getPasswordRequestOptions() {
    method getSessionId (line 97) | @Hide
    method getTheme (line 102) | @Hide
    method isAutoSelectEnabled (line 110) | public boolean isAutoSelectEnabled() {
    method isPreferImmediatelyAvailableCredentials (line 114) | public boolean isPreferImmediatelyAvailableCredentials() {
    class Builder (line 118) | public static class Builder {
    class GoogleIdTokenRequestOptions (line 125) | @Class
      method toString (line 142) | @NonNull
      method GoogleIdTokenRequestOptions (line 156) | @Hide
      method builder (line 168) | @NonNull
      method filterByAuthorizedAccounts (line 173) | public boolean filterByAuthorizedAccounts() {
      method getIdTokenDepositionScopes (line 177) | public List<String> getIdTokenDepositionScopes() {
      method getLinkedServiceId (line 181) | public String getLinkedServiceId() {
      method getNonce (line 185) | public String getNonce() {
      method getServerClientId (line 189) | public String getServerClientId() {
      method isSupported (line 193) | public boolean isSupported() {
      method requestVerifiedPhoneNumber (line 200) | @Deprecated
      class Builder (line 208) | public static class Builder {
        method associateLinkedAccounts (line 235) | public Builder associateLinkedAccounts(@NonNull String linkedServi...
        method build (line 244) | @NonNull
        method setFilterByAuthorizedAccounts (line 261) | @NonNull
        method setNonce (line 272) | @NonNull
        method setRequestVerifiedPhoneNumber (line 287) | @Deprecated
        method setServerClientId (line 299) | @NonNull
        method setSupported (line 310) | @NonNull
      method equals (line 317) | @Override
      method hashCode (line 333) | @Override
      method writeToParcel (line 338) | @Override
    class PasskeyJsonRequestOptions (line 349) | @Class
      method toString (line 356) | @NonNull
      method PasskeyJsonRequestOptions (line 365) | @Constructor
      method builder (line 372) | public static Builder builder() {
      method getRequestJson (line 376) | public String getRequestJson() {
      method isSupported (line 380) | public boolean isSupported() {
      class Builder (line 387) | public static class Builder {
        method build (line 391) | @NonNull
        method setRequestJson (line 401) | @NonNull
        method setSupported (line 412) | @NonNull
      method equals (line 419) | @Override
      method hashCode (line 430) | @Override
      method writeToParcel (line 435) | @Override
    class PasskeysRequestOptions (line 448) | @Deprecated
      method toString (line 458) | @NonNull
      method PasskeysRequestOptions (line 468) | @Constructor
      method builder (line 476) | public static Builder builder() {
      method getChallenge (line 480) | public byte[] getChallenge() {
      method getRpId (line 484) | public String getRpId() {
      method isSupported (line 488) | public boolean isSupported() {
      class Builder (line 495) | public static class Builder {
        method build (line 500) | public PasskeysRequestOptions build() {
        method setChallenge (line 510) | @NonNull
        method setRpId (line 524) | @NonNull
        method setSupported (line 535) | @NonNull
      method equals (line 542) | @Override
      method hashCode (line 554) | @Override
      method writeToParcel (line 559) | @Override
    class PasswordRequestOptions (line 570) | @Class
      method toString (line 575) | @NonNull
      method PasswordRequestOptions (line 583) | @Constructor
      method builder (line 589) | public static Builder builder() {
      method isSupported (line 593) | public boolean isSupported() {
      class Builder (line 600) | public static class Builder {
        method build (line 606) | @NonNull
        method setSupported (line 616) | @NonNull
      method writeToParcel (line 623) | @Override
    method equals (line 631) | @Override
    method hashCode (line 648) | @Override
    method writeToParcel (line 653) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/BeginSignInResult.java
  class BeginSignInResult (line 24) | @SafeParcelable.Class
    method BeginSignInResult (line 29) | @Constructor
    method getPendingIntent (line 35) | public PendingIntent getPendingIntent() {
    method writeToParcel (line 39) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/ClearTokenRequest.java
  class ClearTokenRequest (line 24) | @SafeParcelable.Class
    method ClearTokenRequest (line 35) | @Constructor
    method builder (line 44) | public static ClearTokenRequest.Builder builder() {
    method equals (line 73) | @Override
    method getToken (line 81) | @NonNull
    method getSessionId (line 86) | @Hide
    method hashCode (line 92) | @Override
    class Builder (line 100) | public static abstract class Builder {
      method build (line 104) | public abstract ClearTokenRequest build();
      method setToken (line 109) | public abstract ClearTokenRequest.Builder setToken(String token);
      method setSessionId (line 111) | @Hide
    method writeToParcel (line 115) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/CredentialSavingClient.java
  type CredentialSavingClient (line 22) | public interface CredentialSavingClient extends HasApiKey<CredentialSavi...
    method getStatusFromIntent (line 26) | @NonNull
    method saveAccountLinkingToken (line 42) | @NonNull
    method savePassword (line 54) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/CredentialSavingOptions.java
  class CredentialSavingOptions (line 13) | public class CredentialSavingOptions implements Api.ApiOptions.Optional {
    method hashCode (line 14) | @Override
    method equals (line 19) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetPhoneNumberHintIntentRequest.java
  class GetPhoneNumberHintIntentRequest (line 23) | @SafeParcelable.Class
    method GetPhoneNumberHintIntentRequest (line 28) | @Constructor
    method builder (line 33) | @NonNull
    method getTheme (line 38) | @Hide
    class Builder (line 46) | public static class Builder {
      method build (line 49) | @NonNull
      method setTheme (line 54) | @Hide
    method writeToParcel (line 63) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/GetSignInIntentRequest.java
  class GetSignInIntentRequest (line 28) | @SafeParcelable.Class
    method toString (line 43) | @NonNull
    method GetSignInIntentRequest (line 56) | @Constructor
    method builder (line 66) | @NonNull
    method getHostedDomainFilter (line 74) | public String getHostedDomainFilter() {
    method getNonce (line 81) | public String getNonce() {
    method getServerClientId (line 88) | public String getServerClientId() {
    method getSessionId (line 92) | @Hide
    method getTheme (line 97) | @Hide
    method requestVerifiedPhoneNumber (line 107) | @Deprecated
    class Builder (line 115) | public static class Builder {
      method build (line 123) | @NonNull
      method filterByHostedDomain (line 131) | @NonNull
      method setNonce (line 143) | @NonNull
      method setRequestVerifiedPhoneNumber (line 157) | @Deprecated
      method setServerClientId (line 168) | @NonNull
      method setSessionId (line 174) | @NonNull
      method setTheme (line 180) | @NonNull
    method equals (line 187) | @Override
    method hashCode (line 202) | @Override
    method writeToParcel (line 207) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/Identity.java
  class Identity (line 18) | public final class Identity {
    method getCredentialSavingClient (line 39) | @NonNull
    method getCredentialSavingClient (line 47) | @NonNull
    method getSignInClient (line 55) | @NonNull
    method getSignInClient (line 63) | @NonNull
    method Identity (line 68) | private Identity() {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/RevokeAccessRequest.java
  class RevokeAccessRequest (line 27) | @SafeParcelable.Class
    method RevokeAccessRequest (line 39) | @Constructor
    method builder (line 49) | @NonNull
    method getAccount (line 90) | @NonNull
    method getScopes (line 98) | @NonNull
    method getSessionId (line 103) | @Hide
    method equals (line 109) | @Override
    method hashCode (line 117) | @Override
    class Builder (line 125) | public static abstract class Builder {
      method build (line 126) | @NonNull
      method setAccount (line 129) | @NonNull
      method setScopes (line 132) | @NonNull
      method setSessionId (line 135) | @NonNull
    method writeToParcel (line 142) | @Override
    method toString (line 147) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SaveAccountLinkingTokenRequest.java
  class SaveAccountLinkingTokenRequest (line 26) | public class SaveAccountLinkingTokenRequest extends AbstractSafeParcelab...
    method SaveAccountLinkingTokenRequest (line 46) | @Constructor
    method builder (line 59) | public static Builder builder() {
    method getConsentPendingIntent (line 66) | public PendingIntent getConsentPendingIntent() {
    method getScopes (line 73) | public List<String> getScopes() {
    method getServiceId (line 80) | public String getServiceId() {
    method getSessionId (line 84) | @Hide
    method getTheme (line 89) | @Hide
    method getTokenType (line 97) | public String getTokenType() {
    method equals (line 101) | @Override
    method hashCode (line 116) | @Override
    class Builder (line 124) | public static class Builder {
      method build (line 135) | @NonNull
      method setConsentPendingIntent (line 161) | @NonNull
      method setScopes (line 171) | @NonNull
      method setServiceId (line 181) | @NonNull
      method setSessionId (line 187) | @Hide
      method setTheme (line 194) | @Hide
      method setTokenType (line 208) | @NonNull
    method writeToParcel (line 215) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SaveAccountLinkingTokenResult.java
  class SaveAccountLinkingTokenResult (line 25) | @SafeParcelable.Class
    method SaveAccountLinkingTokenResult (line 30) | @Constructor
    method getPendingIntent (line 41) | public PendingIntent getPendingIntent() {
    method hasResolution (line 48) | public boolean hasResolution() {
    method equals (line 52) | @Override
    method hashCode (line 62) | @Override
    method writeToParcel (line 67) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SavePasswordRequest.java
  class SavePasswordRequest (line 22) | @SafeParcelable.Class
    method SavePasswordRequest (line 32) | @Constructor
    method builder (line 42) | public static Builder builder() {
    method getSessionId (line 46) | @Hide
    method getSignInPassword (line 52) | public SignInPassword getSignInPassword() {
    method getTheme (line 56) | @Hide
    class Builder (line 64) | public static class Builder {
      method setSignInPassword (line 73) | @NonNull
      method setSessionId (line 79) | @Hide
      method setTheme (line 86) | @Hide
      method build (line 96) | @NonNull
    method writeToParcel (line 102) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SavePasswordResult.java
  class SavePasswordResult (line 24) | @SafeParcelable.Class
    method SavePasswordResult (line 29) | @Constructor
    method getPendingIntent (line 37) | public PendingIntent getPendingIntent() {
    method equals (line 41) | @Override
    method hashCode (line 51) | @Override
    method writeToParcel (line 56) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInClient.java
  type SignInClient (line 19) | public interface SignInClient extends HasApiKey<SignInOptions> {
    method beginSignIn (line 29) | @NonNull
    method getPhoneNumberFromIntent (line 38) | @NonNull
    method getPhoneNumberHintIntent (line 49) | @NonNull
    method getSignInCredentialFromIntent (line 58) | @NonNull
    method getSignInIntent (line 70) | @NonNull
    method signOut (line 80) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInCredential.java
  class SignInCredential (line 30) | @SafeParcelable.Class
    method SignInCredential (line 51) | @Hide
    method getDisplayName (line 65) | public String getDisplayName() {
    method getFamilyName (line 69) | public String getFamilyName() {
    method getGivenName (line 73) | public String getGivenName() {
    method getGoogleIdToken (line 77) | public String getGoogleIdToken() {
    method getPassword (line 81) | public String getPassword() {
    method getId (line 89) | public String getId() {
    method getPhoneNumber (line 96) | @Deprecated
    method getProfilePictureUri (line 101) | public Uri getProfilePictureUri() {
    method getPublicKeyCredential (line 108) | public PublicKeyCredential getPublicKeyCredential() {
    method equals (line 112) | @Override
    method hashCode (line 130) | @Override
    method writeToParcel (line 135) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInOptions.java
  class SignInOptions (line 13) | public class SignInOptions implements Api.ApiOptions.Optional {
    method hashCode (line 14) | @Override
    method equals (line 19) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/SignInPassword.java
  class SignInPassword (line 23) | @SafeParcelable.Class
    method SignInPassword (line 32) | @Constructor
    method getId (line 38) | @NonNull
    method getPassword (line 43) | @NonNull
    method equals (line 48) | @Override
    method hashCode (line 59) | @Override
    method writeToParcel (line 64) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/VerifyWithGoogleRequest.java
  class VerifyWithGoogleRequest (line 19) | @SafeParcelable.Class
    method writeToParcel (line 31) | @Override
    method toString (line 38) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/identity/VerifyWithGoogleResult.java
  class VerifyWithGoogleResult (line 20) | @SafeParcelable.Class
    method writeToParcel (line 32) | @Override
    method toString (line 39) | @Override

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignIn.java
  class GoogleSignIn (line 33) | @Deprecated
    method GoogleSignIn (line 35) | private GoogleSignIn() {
    method getAccountForExtension (line 43) | @NonNull
    method getAccountForScopes (line 53) | @NonNull
    method getClient (line 69) | @NonNull
    method getClient (line 83) | @NonNull
    method getLastSignedInAccount (line 94) | @Nullable
    method getSignedInAccountFromIntent (line 106) | @NonNull
    method hasPermissions (line 120) | public static boolean hasPermissions(@Nullable GoogleSignInAccount acc...
    method hasPermissions (line 131) | public static boolean hasPermissions(@Nullable GoogleSignInAccount acc...
    method createRequestPermissionsIntent (line 138) | private static Intent createRequestPermissionsIntent(@NonNull Activity...
    method requestPermissions (line 156) | public static void requestPermissions(@NonNull Activity activity, int ...
    method requestPermissions (line 170) | public static void requestPermissions(@NonNull Activity activity, int ...
    method requestPermissions (line 177) | public static void requestPermissions(@NonNull Fragment fragment, int ...
    method requestPermissions (line 184) | public static void requestPermissions(@NonNull Fragment fragment, int ...

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInApi.java
  type GoogleSignInApi (line 25) | @Deprecated
    method getSignInIntent (line 40) | @NonNull
    method getSignInResultFromIntent (line 50) | @Nullable
    method revokeAccess (line 61) | @NonNull
    method signOut (line 71) | @NonNull
    method silentSignIn (line 101) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInClient.java
  class GoogleSignInClient (line 26) | @Deprecated
    method GoogleSignInClient (line 28) | GoogleSignInClient(@NonNull Context context, GoogleSignInOptions optio...
    method GoogleSignInClient (line 32) | GoogleSignInClient(@NonNull Activity activity, GoogleSignInOptions opt...
    method isLocalFallback (line 36) | private boolean isLocalFallback() {
    method getSignInIntent (line 45) | @NonNull
    method revokeAccess (line 57) | @NonNull
    method signOut (line 68) | @NonNull
    method silentSignIn (line 96) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInResult.java
  class GoogleSignInResult (line 22) | @Deprecated
    method GoogleSignInResult (line 29) | @Hide
    method getSignInAccount (line 38) | @Nullable
    method getStatus (line 49) | @NonNull
    method isSuccess (line 58) | public boolean isSuccess() {

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInStatusCodes.java
  class GoogleSignInStatusCodes (line 26) | @Deprecated
    method GoogleSignInStatusCodes (line 28) | private GoogleSignInStatusCodes() {
    method getStatusCodeString (line 52) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/SignInAccount.java
  class SignInAccount (line 13) | @Hide
    method toString (line 22) | @NonNull

FILE: play-services-auth/src/main/java/com/google/android/gms/auth/api/signin/internal/SignInConfiguration.java
  class SignInConfiguration (line 22) | @Hide
    method SignInConfiguration (line 32) | @Constructor
    method getPackageName (line 38) | @NonNull
    method getOptions (line 43) | @NonNull
    method equals (line 49) | @Override
    method hashCode (line 57) | @Override
    method toString (line 64) | @NonNull
    method writeToParcel (line 70) | @Override

FILE: play-services-auth/src/main/java/org/microg/gms/auth/api/signin/GoogleSignInApiImpl.java
  class GoogleSignInApiImpl (line 19) | public class GoogleSignInApiImpl implements GoogleSignInApi {
    method getSignInIntent (line 20) | @NonNull
    method getSignInResultFromIntent (line 27) | @Nullable
    method revokeAccess (line 33) | @NonNull
    method signOut (line 39) | @NonNull
    method silentSignIn (line 45) | @NonNull

FILE: play-services-auth/src/main/java/org/microg/gms/auth/api/signin/GoogleSignInCommon.java
  class GoogleSignInCommon (line 22) | public class GoogleSignInCommon {
    method getSignInIntent (line 24) | @NonNull
    method getSignInResultFromIntent (line 36) | @NonNull
    method revokeAccess (line 46) | public static PendingResult<Status> revokeAccess(GoogleApiClient clien...
    method signOut (line 50) | public static PendingResult<Status> signOut(GoogleApiClient client, Co...
    method silentSignIn (line 54) | public static OptionalPendingResult<GoogleSignInResult> silentSignIn(G...

FILE: play-services-auth/src/main/java/org/microg/gms/auth/api/signin/GoogleSignInGmsClientImpl.java
  class GoogleSignInGmsClientImpl (line 16) | public class GoogleSignInGmsClientImpl extends GmsClient<ISignInService> {
    method GoogleSignInGmsClientImpl (line 17) | public GoogleSignInGmsClientImpl(Context context, ConnectionCallbacks ...
    method interfaceFromBinder (line 22) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/AbstractGmsServiceBroker.java
  class AbstractGmsServiceBroker (line 34) | public abstract class AbstractGmsServiceBroker extends IGmsServiceBroker...
    method AbstractGmsServiceBroker (line 38) | public AbstractGmsServiceBroker(EnumSet<GmsService> supportedServices) {
    method getPlusService (line 42) | @Deprecated
    method getPanoramaService (line 52) | @Deprecated
    method getAppDataSearchService (line 59) | @Deprecated
    method getWalletService (line 66) | @Deprecated
    method getPeopleService (line 72) | @Deprecated
    method getReportingService (line 79) | @Deprecated
    method getLocationService (line 86) | @Deprecated
    method getGoogleLocationManagerService (line 93) | @Deprecated
    method getGamesService (line 100) | @Deprecated
    method getAppStateService (line 113) | @Deprecated
    method getPlayLogService (line 120) | @Deprecated
    method getAdMobService (line 127) | @Deprecated
    method getDroidGuardService (line 134) | @Deprecated
    method getLockboxService (line 141) | @Deprecated
    method getCastMirroringService (line 148) | @Deprecated
    method getNetworkQualityService (line 155) | @Deprecated
    method getGoogleIdentityService (line 162) | @Deprecated
    method getGoogleFeedbackService (line 169) | @Deprecated
    method getCastService (line 176) | @Deprecated
    method getDriveService (line 183) | @Deprecated
    method getLightweightAppDataSearchService (line 190) | @Deprecated
    method getSearchAdministrationService (line 197) | @Deprecated
    method getAutoBackupService (line 204) | @Deprecated
    method getAddressService (line 211) | @Deprecated
    method getWalletServiceWithPackageName (line 218) | @Deprecated
    method callGetService (line 224) | private void callGetService(GmsService service, IGmsCallbacks callback...
    method callGetService (line 229) | private void callGetService(GmsService service, IGmsCallbacks callback...
    method callGetService (line 234) | private void callGetService(GmsService service, IGmsCallbacks callback...
    method scopesFromStringArray (line 244) | private Scope[] scopesFromStringArray(String[] arr) {
    method getService (line 252) | @Override
    method handleServiceRequest (line 263) | public abstract void handleServiceRequest(IGmsCallbacks callback, GetS...
    method validateAccount (line 265) | @Override
    method onTransact (line 270) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/BaseService.java
  class BaseService (line 37) | public abstract class BaseService extends LifecycleService {
    method BaseService (line 42) | public BaseService(String tag, GmsService supportedService, GmsService...
    method onBind (line 60) | @Override
    method dump (line 67) | @Override
    method handleServiceRequest (line 72) | public abstract void handleServiceRequest(IGmsCallbacks callback, GetS...

FILE: play-services-base/core/src/main/java/org/microg/gms/DummyService.java
  class DummyService (line 28) | public class DummyService extends BaseService {
    method DummyService (line 29) | public DummyService() {
    method handleServiceRequest (line 33) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/auth/AuthRequest.java
  class AuthRequest (line 24) | public class AuthRequest extends HttpFormClient.Request {
    method prepare (line 103) | @Override
    method build (line 108) | public AuthRequest build(Context context) {
    method source (line 116) | public AuthRequest source(String source) {
    method locale (line 121) | public AuthRequest locale(Locale locale) {
    method fromContext (line 128) | public AuthRequest fromContext(Context context) {
    method email (line 141) | public AuthRequest email(String email) {
    method token (line 146) | public AuthRequest token(String token) {
    method service (line 151) | public AuthRequest service(String service) {
    method app (line 156) | public AuthRequest app(String app, String appSignature) {
    method appIsGms (line 162) | public AuthRequest appIsGms() {
    method callerIsGms (line 166) | public AuthRequest callerIsGms() {
    method callerIsApp (line 170) | public AuthRequest callerIsApp() {
    method caller (line 174) | public AuthRequest caller(String caller, String callerSignature) {
    method calledFromAccountManager (line 180) | public AuthRequest calledFromAccountManager() {
    method addAccount (line 185) | public AuthRequest addAccount() {
    method systemPartition (line 190) | public AuthRequest systemPartition(boolean systemPartition) {
    method hasPermission (line 195) | public AuthRequest hasPermission(boolean hasPermission) {
    method getAccountId (line 200) | public AuthRequest getAccountId() {
    method isAccessToken (line 205) | public AuthRequest isAccessToken() {
    method droidguardResults (line 210) | public AuthRequest droidguardResults(String droidguardResults) {
    method delegation (line 215) | public AuthRequest delegation(int delegationType, String delegateeUser...
    method oauth2Foreground (line 221) | public AuthRequest oauth2Foreground(String oauth2Foreground) {
    method tokenRequestOptions (line 226) | public AuthRequest tokenRequestOptions(String tokenRequestOptions) {
    method oauth2IncludeProfile (line 231) | public AuthRequest oauth2IncludeProfile(String oauth2IncludeProfile) {
    method oauth2IncludeEmail (line 236) | public AuthRequest oauth2IncludeEmail(String oauth2IncludeEmail) {
    method oauth2Prompt (line 241) | public AuthRequest oauth2Prompt(String oauth2Prompt) {
    method itCaveatTypes (line 246) | public AuthRequest itCaveatTypes(String itCaveatTypes) {
    method putDynamicFiledMap (line 251) | public AuthRequest putDynamicFiledMap(Map<Object, Object> dynamicField...
    method getResponse (line 256) | public AuthResponse getResponse() throws IOException {
    method getResponseAsync (line 260) | public void getResponseAsync(HttpFormClient.Callback<AuthResponse> cal...

FILE: play-services-base/core/src/main/java/org/microg/gms/auth/AuthResponse.java
  class AuthResponse (line 25) | public class AuthResponse {
    method parse (line 79) | public static AuthResponse parse(String result) {
    method toString (line 108) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/common/DeviceConfiguration.java
  class DeviceConfiguration (line 45) | public class DeviceConfiguration {
    method DeviceConfiguration (line 63) | public DeviceConfiguration(Context context) {
    method getLocales (line 107) | @SuppressLint("GetLocales")
    method getNativePlatforms (line 122) | @SuppressWarnings({"deprecation", "InlinedApi"})
    method addEglExtensions (line 136) | private static void addEglExtensions(Set<String> glExtensions) {
    method addExtensionsForConfig (line 171) | private static void addExtensionsForConfig(EGL10 egl10, EGLDisplay egl...

FILE: play-services-base/core/src/main/java/org/microg/gms/common/DeviceIdentifier.java
  class DeviceIdentifier (line 21) | public class DeviceIdentifier {
    method randomMacAddress (line 27) | private static String randomMacAddress() {
    method randomMeid (line 36) | private static String randomMeid() {

FILE: play-services-base/core/src/main/java/org/microg/gms/common/ForegroundServiceContext.java
  class ForegroundServiceContext (line 20) | public class ForegroundServiceContext extends ContextWrapper {
    method ForegroundServiceContext (line 24) | public ForegroundServiceContext(Context base) {
    method startService (line 28) | @Override
    method isIgnoringBatteryOptimizations (line 38) | @RequiresApi(23)
    method getServiceName (line 44) | private static String getServiceName(Service service) {
    method completeForegroundService (line 71) | public static void completeForegroundService(Service service, Intent i...
    method buildForegroundNotification (line 85) | @RequiresApi(26)

FILE: play-services-base/core/src/main/java/org/microg/gms/common/HttpFormClient.java
  class HttpFormClient (line 34) | public class HttpFormClient {
    method request (line 37) | public static <T> T request(String url, Request request, Class<T> tCla...
    method valueFromBoolVal (line 104) | private static String valueFromBoolVal(String value, Boolean boolVal, ...
    method appendParam (line 118) | private static void appendParam(StringBuilder content, String key, Str...
    method parseResponse (line 128) | private static <T> T parseResponse(Class<T> tClass, HttpURLConnection ...
    method requestAsync (line 206) | public static <T> void requestAsync(final String url, final Request re...
    class Request (line 217) | public static abstract class Request {
      method prepare (line 218) | protected void prepare() {
    type Callback (line 222) | public interface Callback<T> {
      method onResponse (line 223) | void onResponse(T response);
      method onException (line 225) | void onException(Exception exception);

FILE: play-services-base/core/src/main/java/org/microg/gms/common/MultiListenerProxy.java
  class MultiListenerProxy (line 32) | public class MultiListenerProxy<T extends IInterface> implements Invocat...
    method get (line 35) | public static <T extends IInterface> T get(Class<T> tClass, final Coll...
    method get (line 39) | public static <T extends IInterface> T get(Class<T> tClass, final List...
    method MultiListenerProxy (line 45) | private MultiListenerProxy(ListenerPool<T> listeners) {
    method invoke (line 49) | @Override
    class ListenerPool (line 62) | public static abstract class ListenerPool<T> implements Collection<T> {
      method addAll (line 63) | @Override
      method add (line 68) | @Override
      method containsAll (line 73) | @Override
      method removeAll (line 81) | @Override
      method retainAll (line 90) | @Override
      method toArray (line 95) | @NonNull
      method toArray (line 101) | @NonNull
    class CollectionListenerPool (line 108) | private static class CollectionListenerPool<T> extends ListenerPool<T> {
      method CollectionListenerPool (line 112) | public CollectionListenerPool(Collection<T> listeners) {
      method clear (line 116) | @Override
      method contains (line 121) | @Override
      method isEmpty (line 126) | @Override
      method iterator (line 131) | @NonNull
      method remove (line 137) | @Override
      method size (line 142) | @Override
    class MultiCollectionListenerPool (line 148) | public static class MultiCollectionListenerPool<T> extends ListenerPoo...
      method MultiCollectionListenerPool (line 151) | public MultiCollectionListenerPool(Collection<? extends Collection<T...
      method clear (line 155) | @Override
      method contains (line 162) | @Override
      method isEmpty (line 170) | @Override
      method iterator (line 178) | @NonNull
      method remove (line 208) | @Override
      method size (line 216) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/common/NonCancelToken.java
  class NonCancelToken (line 23) | public class NonCancelToken extends ICancelToken.Stub {
    method cancel (line 24) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/common/NotOkayException.java
  class NotOkayException (line 5) | public class NotOkayException extends IOException {
    method NotOkayException (line 6) | public NotOkayException() {
    method NotOkayException (line 9) | public NotOkayException(String message) {
    method NotOkayException (line 13) | public NotOkayException(String message, Throwable cause) {
    method NotOkayException (line 17) | public NotOkayException(Throwable cause) {

FILE: play-services-base/core/src/main/java/org/microg/gms/common/PackageUtils.java
  class PackageUtils (line 43) | public class PackageUtils {
    method isGooglePackage (line 51) | @Deprecated
    method callerHasExtendedAccessPermission (line 60) | @Deprecated
    method assertGooglePackagePermission (line 65) | public static void assertGooglePackagePermission(@NonNull Context cont...
    method callerHasGooglePackagePermission (line 75) | public static boolean callerHasGooglePackagePermission(@NonNull Contex...
    method checkPackageUid (line 88) | public static void checkPackageUid(@NonNull Context context, @NonNull ...
    method firstSignatureDigest (line 95) | @Deprecated
    method firstSignatureDigest (line 104) | @Deprecated
    method firstSignatureDigest (line 113) | @Deprecated
    method firstSignatureDigest (line 122) | @Deprecated
    method firstSignatureDigestBytes (line 131) | @Deprecated
    method firstSignatureDigestBytes (line 140) | @Deprecated
    method firstSignatureDigestBytes (line 149) | @Deprecated
    method getCallingPackage (line 181) | @Nullable
    method getCallingPackageCandidates (line 191) | public static String[] getCallingPackageCandidates(@NonNull Context co...
    method getAndCheckCallingPackage (line 200) | @Nullable
    method getAndCheckCallingPackageOrImpersonation (line 205) | @Nullable
    method getAndCheckCallingPackage (line 217) | @Nullable
    method getAndCheckCallingPackage (line 222) | @Nullable
    method getAndCheckCallingPackage (line 227) | @Nullable
    method getAndCheckPackage (line 239) | @Nullable
    method getAndCheckPackage (line 244) | @Nullable
    method packageFromProcessId (line 265) | @Nullable
    method firstPackageFromUserId (line 282) | @Nullable
    method packageFromPendingIntent (line 291) | @SuppressWarnings("deprecation")
    method getProcessName (line 301) | public static String getProcessName() {
    method isPersistentProcess (line 314) | public static boolean isPersistentProcess() {
    method isMainProcess (line 323) | public static boolean isMainProcess(Context context) {
    method warnIfNotPersistentProcess (line 332) | public static void warnIfNotPersistentProcess(Class<?> clazz) {
    method warnIfNotMainProcess (line 338) | public static void warnIfNotMainProcess(Context context, Class<?> claz...
    method sha1sum (line 347) | @Deprecated
    method bytesToSumString (line 352) | @Nullable
    method sha1bytes (line 365) | @Deprecated
    method versionCode (line 379) | @Deprecated
    method versionName (line 384) | @Deprecated
    method targetSdkVersion (line 389) | @Deprecated

FILE: play-services-base/core/src/main/java/org/microg/gms/common/PhoneInfo.java
  class PhoneInfo (line 21) | public class PhoneInfo {
    method randomImsi (line 27) | private String randomImsi() {

FILE: play-services-base/core/src/main/java/org/microg/gms/common/RemoteListenerProxy.java
  class RemoteListenerProxy (line 34) | public class RemoteListenerProxy<T extends IInterface> implements Servic...
    method get (line 44) | public static <T extends IInterface> T get(Context context, Intent int...
    method RemoteListenerProxy (line 49) | private RemoteListenerProxy(Context context, Intent intent, Class<T> t...
    method connect (line 56) | private boolean connect() {
    method runOncePossible (line 78) | private void runOncePossible(Runnable runnable) {
    method onServiceConnected (line 88) | @Override
    method onServiceDisconnected (line 110) | @Override
    method invoke (line 117) | @Override

FILE: play-services-base/core/src/main/java/org/microg/gms/common/Utils.java
  class Utils (line 30) | public class Utils {
    method getLocale (line 32) | public static Locale getLocale(Context context) {
    method getDeviceIdentifier (line 36) | public static DeviceIdentifier getDeviceIdentifier(Context context) {
    method getPhoneInfo (line 40) | public static PhoneInfo getPhoneInfo(Context context) {
    method hasSelfPermissionOrNotify (line 44) | public static boolean hasSelfPermissionOrNotify(Context context, Strin...
    method readStreamToEnd (line 56) | public static byte[] readStreamToEnd(final InputStream is) throws IOEx...

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java
  class GoogleSignInAccount (line 33) | @SafeParcelable.Class
    method GoogleSignInAccount (line 81) | @Hide
    method GoogleSignInAccount (line 86) | @Constructor
    method createDefault (line 102) | @NonNull
    method fromAccount (line 108) | @NonNull
    method fromAccountAndScopes (line 114) | @NonNull
    method fromAccountAndScopes (line 123) | @NonNull
    method getAccount (line 132) | public @Nullable Account getAccount() {
    method getDisplayName (line 142) | public @Nullable String getDisplayName() {
    method getEmail (line 157) | public @Nullable String getEmail() {
    method getFamilyName (line 166) | public @Nullable String getFamilyName() {
    method getGivenName (line 175) | public @Nullable String getGivenName() {
    method getGrantedScopes (line 187) | public @NonNull Set<Scope> getGrantedScopes() {
    method getId (line 202) | public @Nullable String getId() {
    method getIdToken (line 211) | public @Nullable String getIdToken() {
    method getPhotoUrl (line 220) | public @Nullable Uri getPhotoUrl() {
    method getServerAuthCode (line 228) | public @Nullable String getServerAuthCode() {
    method equals (line 232) | @Override
    method getExpirationTimeSecs (line 240) | @Hide
    method getObfuscatedIdentifier (line 245) | @Hide
    method getRequestedScopes (line 250) | @Hide
    method isExpired (line 257) | @Hide
    method requestExtraScopes (line 262) | @NonNull
    method fromJson (line 271) | @Nullable
    method toJson (line 296) | @Hide
    method hashCode (line 324) | @Override
    method toString (line 329) | @NonNull
    method writeToParcel (line 346) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInOptions.java
  class GoogleSignInOptions (line 34) | @SafeParcelable.Class
    method GoogleSignInOptions (line 90) | private GoogleSignInOptions(List<Scope> scopes, Account account, boole...
    method GoogleSignInOptions (line 94) | @Constructor
    method getScopeArray (line 113) | @NonNull
    method getScopes (line 118) | @Hide
    method getAccount (line 123) | @Hide
    method isIdTokenRequested (line 128) | @Hide
    method isServerAuthCodeRequested (line 133) | @Hide
    method isForceCodeForRefreshToken (line 138) | @Hide
    method getServerClientId (line 143) | @Hide
    method getHostedDomain (line 148) | @Hide
    method getExtensions (line 153) | @Hide
    method getLogSessionId (line 158) | @Hide
    class Builder (line 166) | public static final class Builder {
      method Builder (line 180) | public Builder() {
      method Builder (line 184) | public Builder(GoogleSignInOptions options) {
      method addExtension (line 204) | @NonNull
      method requestEmail (line 221) | @NonNull
      method requestId (line 230) | @NonNull
      method requestIdToken (line 241) | @NonNull
      method requestProfile (line 251) | @NonNull
      method requestScopes (line 263) | @NonNull
      method requestServerAuthCode (line 280) | public Builder requestServerAuthCode(String serverClientId) {
      method requestServerAuthCode (line 295) | public Builder requestServerAuthCode(String serverClientId, boolean ...
      method setAccountName (line 308) | public GoogleSignInOptions.Builder setAccountName(String accountName) {
      method setHostedDomain (line 318) | public GoogleSignInOptions.Builder setHostedDomain(String hostedDoma...
      method setLogSessionId (line 323) | @Hide
      method build (line 334) | @NonNull
    method fromJson (line 354) | public static GoogleSignInOptions fromJson(String jsonString) throws J...
    method toJson (line 375) | @NonNull
    method hashCode (line 396) | @Override
    method toString (line 413) | @NonNull
    method writeToParcel (line 427) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInOptionsExtension.java
  type GoogleSignInOptionsExtension (line 22) | public interface GoogleSignInOptionsExtension {
    method getExtensionType (line 28) | @Hide
    method toBundle (line 31) | @Hide
    method getImpliedScopes (line 34) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/internal/GoogleSignInOptionsExtensionParcelable.java
  class GoogleSignInOptionsExtensionParcelable (line 17) | @Hide
    method GoogleSignInOptionsExtensionParcelable (line 27) | public GoogleSignInOptionsExtensionParcelable(@NonNull GoogleSignInOpt...
    method GoogleSignInOptionsExtensionParcelable (line 31) | @Constructor
    method getBundle (line 38) | public Bundle getBundle() {
    method getType (line 42) | public int getType() {
    method writeToParcel (line 46) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/internal/HashAccumulator.java
  class HashAccumulator (line 17) | @Hide
    method addBoolean (line 22) | @NonNull
    method addObject (line 30) | @NonNull
    method hash (line 37) | @Deprecated

FILE: play-services-base/src/main/java/com/google/android/gms/auth/api/signin/internal/Storage.java
  class Storage (line 17) | @Hide
    method getInstance (line 23) | public static Storage getInstance(Context context) {
    method Storage (line 38) | private Storage(Context context) {
    method getSavedDefaultGoogleSignInAccount (line 42) | @Nullable
    method getSavedDefaultGoogleSignInOptions (line 57) | @Nullable
    method getSavedRefreshToken (line 72) | @Nullable
    method saveDefaultGoogleSignInAccount (line 79) | public void saveDefaultGoogleSignInAccount(@NonNull GoogleSignInAccoun...
    method unsetDefaultGoogleSignInAccount (line 89) | public void unsetDefaultGoogleSignInAccount() {

FILE: play-services-base/src/main/java/com/google/android/gms/common/GoogleApiAvailability.java
  class GoogleApiAvailability (line 46) | @PublicApi
    method GoogleApiAvailability (line 62) | private GoogleApiAvailability() {
    method getInstance (line 68) | public static GoogleApiAvailability getInstance() {
    method getErrorDialog (line 91) | public Dialog getErrorDialog(Activity activity, int errorCode, int req...
    method getErrorDialog (line 107) | public Dialog getErrorDialog(Activity activity, int errorCode, int req...
    method getErrorResolutionPendingIntent (line 123) | public PendingIntent getErrorResolutionPendingIntent(Context context, ...
    method getErrorResolutionPendingIntent (line 140) | public PendingIntent getErrorResolutionPendingIntent(Context context, ...
    method getErrorString (line 148) | public final String getErrorString(int errorCode) {
    method isGooglePlayServicesAvailable (line 160) | public int isGooglePlayServicesAvailable(Context context) {
    method isGooglePlayServicesAvailable (line 175) | public int isGooglePlayServicesAvailable(Context context, int minApkVe...
    method isUserResolvableError (line 187) | public final boolean isUserResolvableError(int errorCode) {
    method makeGooglePlayServicesAvailable (line 220) | public Task<Void> makeGooglePlayServicesAvailable(Activity activity) {
    method showErrorDialogFragment (line 241) | public boolean showErrorDialogFragment(Activity activity, int errorCod...
    method showErrorDialogFragment (line 258) | public boolean showErrorDialogFragment(Activity activity, int errorCod...
    method showErrorNotification (line 280) | public void showErrorNotification(Context context, int errorCode) {
    method showErrorNotification (line 297) | public void showErrorNotification(Context context, ConnectionResult re...

FILE: play-services-base/src/main/java/com/google/android/gms/common/GooglePlayServicesClient.java
  type GooglePlayServicesClient (line 21) | @Deprecated
    method connect (line 23) | void connect();
    method disconnect (line 25) | void disconnect();
    method isConnected (line 27) | boolean isConnected();
    method isConnecting (line 29) | boolean isConnecting();
    method registerConnectionCallbacks (line 31) | void registerConnectionCallbacks(ConnectionCallbacks listener);
    method isConnectionCallbacksRegistered (line 33) | boolean isConnectionCallbacksRegistered(ConnectionCallbacks listener);
    method unregisterConnectionCallbacks (line 35) | void unregisterConnectionCallbacks(ConnectionCallbacks listener);
    method registerConnectionFailedListener (line 37) | void registerConnectionFailedListener(OnConnectionFailedListener liste...
    method isConnectionFailedListenerRegistered (line 39) | boolean isConnectionFailedListenerRegistered(OnConnectionFailedListene...
    method unregisterConnectionFailedListener (line 41) | void unregisterConnectionFailedListener(OnConnectionFailedListener lis...
    type OnConnectionFailedListener (line 43) | @Deprecated
      method onConnectionFailed (line 46) | void onConnectionFailed(ConnectionResult result);
    type ConnectionCallbacks (line 49) | @Deprecated
      method onConnected (line 52) | void onConnected(Bundle connectionHint);
      method onDisconnected (line 54) | void onDisconnected();

FILE: play-services-base/src/main/java/com/google/android/gms/common/GooglePlayServicesUtil.java
  class GooglePlayServicesUtil (line 39) | @PublicApi
    method getErrorDialog (line 74) | @Deprecated
    method getErrorDialog (line 93) | @Deprecated
    method getErrorPendingIntent (line 108) | @Deprecated
    method getErrorString (line 117) | @Deprecated
    method getOpenSourceSoftwareLicenseInfo (line 126) | @Deprecated
    method getRemoteContext (line 138) | public static Context getRemoteContext(Context context) {
    method getRemoteResources (line 151) | public static Resources getRemoteResources(Context context) {
    method isGooglePlayServicesAvailable (line 167) | @Deprecated
    method isGoogleSignedUid (line 174) | @Deprecated
    method isUserRecoverableError (line 187) | @Deprecated
    method showErrorDialogFragment (line 203) | @Deprecated
    method showErrorDialogFragment (line 208) | @Deprecated
    method showErrorDialogFragment (line 224) | @Deprecated
    method showErrorNotification (line 239) | @Deprecated

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java
  class AccountInfo (line 21) | @Deprecated

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/Api.java
  class Api (line 50) | public final class Api<O extends Api.ApiOptions> {
    method Api (line 58) | @Hide
    method Api (line 70) | public <C extends Client> Api(String name, AbstractClientBuilder<C, O>...
    method getBuilder (line 76) | @Hide
    class AbstractClientBuilder (line 82) | @Hide
      method buildClient (line 84) | @NonNull
      method buildClient (line 90) | @NonNull
    type AnyClient (line 96) | @Hide
    class AnyClientKey (line 100) | @Hide
    type ApiOptions (line 108) | public interface ApiOptions {
      type HasOptions (line 112) | interface HasOptions extends ApiOptions {
      type NotRequiredOptions (line 118) | interface NotRequiredOptions extends ApiOptions {
      class NoOptions (line 124) | final class NoOptions implements NotRequiredOptions {
      type Optional (line 130) | interface Optional extends HasOptions, NotRequiredOptions {
      type HasAccountOptions (line 136) | interface HasAccountOptions extends HasOptions, NotRequiredOptions {
        method getAccount (line 137) | @NonNull
      type HasGoogleSignInAccountOptions (line 144) | interface HasGoogleSignInAccountOptions extends HasOptions {
        method getGoogleSignInAccount (line 145) | GoogleSignInAccount getGoogleSignInAccount();
    class BaseClientBuilder (line 152) | @Hide
      method getImpliedScopes (line 158) | @NonNull
      method getPriority (line 163) | public int getPriority() {
    type Client (line 168) | @Hide
      method connect (line 170) | @Deprecated
      method connect (line 173) | void connect(@NonNull BaseGmsClient.ConnectionProgressReportCallback...
      method disconnect (line 175) | void disconnect();
      method disconnect (line 177) | void disconnect(@NonNull String reason);
      method dump (line 179) | void dump(@NonNull String prefix, @Nullable FileDescriptor fd, @NonN...
      method getAvailableFeatures (line 181) | @NonNull
      method getEndpointPackageName (line 184) | @NonNull
      method getLastDisconnectMessage (line 187) | @Nullable
      method getMinApkVersion (line 190) | int getMinApkVersion();
      method getRemoteService (line 192) | void getRemoteService(@Nullable IAccountAccessor iAccountAccessor, @...
      method getRequiredFeatures (line 194) | @NonNull
      method getScopesForConnectionlessNonSignIn (line 197) | @NonNull
      method getServiceBrokerBinder (line 200) | @Nullable
      method getSignInIntent (line 203) | @NonNull
      method isConnected (line 206) | boolean isConnected();
      method isConnecting (line 208) | boolean isConnecting();
      method onUserSignOut (line 210) | void onUserSignOut(@NonNull BaseGmsClient.SignOutCallbacks signOutCa...
      method providesSignIn (line 212) | boolean providesSignIn();
      method requiresAccount (line 214) | boolean requiresAccount();
      method requiresGooglePlayServices (line 216) | boolean requiresGooglePlayServices();
      method requiresSignIn (line 218) | boolean requiresSignIn();
    class ClientKey (line 221) | @Hide
    method getBaseClientBuilder (line 225) | @Hide
    method getClientBuilder (line 232) | @Hide
    method getClientKey (line 238) | @Hide
    method getName (line 244) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApi.java
  class GoogleApi (line 53) | @PublicApi
    method GoogleApi (line 75) | @Hide
    method GoogleApi (line 80) | @Hide
    method GoogleApi (line 86) | @Deprecated
    method GoogleApi (line 91) | @Hide
    method GoogleApi (line 97) | private GoogleApi(@NonNull Context context, @Nullable Activity activit...
    method GoogleApi (line 113) | @Hide
    method asGoogleApiClient (line 119) | @NonNull
    method getApiFallbackAttributionTag (line 132) | protected @Nullable String getApiFallbackAttributionTag(Context contex...
    method getApiKey (line 136) | @Override
    method getApiOptions (line 143) | @NonNull
    method getApplicationContext (line 149) | @NonNull
    method getContextAttributionTag (line 155) | @Nullable
    method getContextFeatureId (line 161) | @Nullable
    method getLooper (line 168) | @NonNull
    method scheduleTask (line 174) | @Hide
    class Settings (line 181) | @Hide
      class Builder (line 192) | @Hide
        method build (line 197) | @NonNull
        method setLooper (line 204) | @NonNull
        method setMapper (line 210) | @NonNull
      method Settings (line 217) | private Settings(@NonNull StatusExceptionMapper exceptionMapper, @No...

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiActivity.java
  class GoogleApiActivity (line 19) | @PublicApi
    method onCancel (line 21) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiClient.java
  class GoogleApiClient (line 56) | @Deprecated
    method blockingConnect (line 99) | @NonNull
    method blockingConnect (line 115) | @NonNull
    method clearDefaultAccountAndReconnect (line 125) | @NonNull
    method connect (line 137) | public abstract void connect();
    method connect (line 149) | public abstract void connect(int signInMode);
    method disconnect (line 159) | public abstract void disconnect();
    method dump (line 169) | public abstract void dump(@NonNull String prefix, @Nullable FileDescri...
    method dumpAll (line 182) | public static void dumpAll(@NonNull String prefix, @NonNull FileDescri...
    method getConnectionResult (line 208) | @NonNull
    method getContext (line 211) | @NonNull
    method getLooper (line 217) | @NonNull
    method hasApi (line 223) | @Hide
    method hasConnectedApi (line 233) | public abstract boolean hasConnectedApi(@NonNull Api<?> api);
    method isConnected (line 241) | public abstract boolean isConnected();
    method isConnecting (line 248) | public abstract boolean isConnecting();
    method isConnectionCallbacksRegistered (line 260) | public abstract boolean isConnectionCallbacksRegistered(@NonNull Conne...
    method isConnectionFailedListenerRegistered (line 272) | public abstract boolean isConnectionFailedListenerRegistered(@NonNull ...
    method maybeSignIn (line 274) | @Hide
    method maybeSignOut (line 279) | @Hide
    method reconnect (line 299) | public abstract void reconnect();
    method registerConnectionCallbacks (line 318) | public abstract void registerConnectionCallbacks(@NonNull ConnectionCa...
    method registerConnectionFailedListener (line 338) | public abstract void registerConnectionFailedListener(@NonNull OnConne...
    method registerListener (line 340) | @NonNull
    method stopAutoManage (line 357) | public abstract void stopAutoManage(@NonNull FragmentActivity lifecycl...
    method unregisterConnectionCallbacks (line 368) | public abstract void unregisterConnectionCallbacks(@NonNull Connection...
    method unregisterConnectionFailedListener (line 379) | public abstract void unregisterConnectionFailedListener(@NonNull OnCon...
    class Builder (line 386) | @Deprecated
      method Builder (line 407) | public Builder(@NonNull Context context) {
      method Builder (line 421) | public Builder(@NonNull Context context, @NonNull ConnectionCallback...
      method addApi (line 433) | @NonNull
      method addApi (line 447) | @NonNull
      method addApiIfAvailable (line 463) | @NonNull
      method addApiIfAvailable (line 481) | @NonNull
      method addConnectionCallbacks (line 501) | @NonNull
      method addOnConnectionFailedListener (line 519) | @NonNull
      method addScope (line 533) | @NonNull
      method build (line 544) | @NonNull
      method enableAutoManage (line 569) | @NonNull
      method enableAutoManage (line 596) | @NonNull
      method getClientSettings (line 604) | @Hide
      method setAccountName (line 617) | @NonNull
      method setGravityForPopups (line 631) | @NonNull
      method setHandler (line 641) | @NonNull
      method setViewForPopups (line 652) | @NonNull
      method useDefaultAccount (line 661) | public Builder useDefaultAccount() {
    type ConnectionCallbacks (line 671) | @PublicApi
      method onConnected (line 683) | void onConnected(Bundle connectionHint);
    type OnConnectionFailedListener (line 691) | @PublicApi

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/HasApiKey.java
  type HasApiKey (line 12) | public interface HasApiKey<O extends Api.ApiOptions> {
    method getApiKey (line 13) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/OptionalModuleApi.java
  type OptionalModuleApi (line 15) | public interface OptionalModuleApi {
    method getOptionalFeatures (line 16) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/OptionalPendingResult.java
  class OptionalPendingResult (line 17) | public abstract class OptionalPendingResult<R extends Result> extends Pe...
    method get (line 28) | public abstract R get();
    method isDone (line 33) | public abstract boolean isDone();

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/PendingResult.java
  class PendingResult (line 31) | public abstract class PendingResult<R extends Result> {
    method await (line 37) | public abstract R await();
    method await (line 43) | public abstract R await(long time, TimeUnit unit);
    method cancel (line 51) | public abstract void cancel();
    method isCanceled (line 57) | public abstract boolean isCanceled();
    method setResultCallback (line 62) | public abstract void setResultCallback(@NonNull ResultCallback<R> call...
    method setResultCallback (line 68) | public abstract void setResultCallback(@NonNull ResultCallback<R> call...
    method then (line 92) | @NonNull
    type StatusListener (line 97) | @Hide
      method onComplete (line 99) | void onComplete(@NonNull Status status);
    method addStatusListener (line 102) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/ApiExceptionMapper.java
  class ApiExceptionMapper (line 13) | @Hide
    method getException (line 15) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/ApiKey.java
  class ApiKey (line 15) | @Hide
    method ApiKey (line 23) | private ApiKey(Api<O> api, @Nullable O options, @Nullable String attri...
    method getSharedApiKey (line 29) | @NonNull
    method equals (line 35) | @Override
    method hashCode (line 43) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/ConnectionCallbacks.java
  type ConnectionCallbacks (line 16) | @Hide
    method onConnected (line 33) | void onConnected(Bundle connectionHint);
    method onConnectionSuspended (line 45) | void onConnectionSuspended(int cause);

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/ListenerHolder.java
  class ListenerHolder (line 10) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/OnConnectionFailedListener.java
  type OnConnectionFailedListener (line 16) | @Hide
    method onConnectionFailed (line 29) | void onConnectionFailed(ConnectionResult result);

FILE: play-services-base/src/main/java/com/google/android/gms/common/api/internal/SignInConnectionListener.java
  type SignInConnectionListener (line 10) | @Hide
    method onComplete (line 12) | void onComplete();

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/AbstractDataBuffer.java
  class AbstractDataBuffer (line 18) | public abstract class AbstractDataBuffer<T> implements DataBuffer<T> {
    method AbstractDataBuffer (line 21) | @Hide
    method close (line 31) | @Override
    method get (line 47) | public abstract T get(int position);
    method getCount (line 49) | @Override
    method isClosed (line 58) | @Deprecated
    method iterator (line 65) | @Override
    method release (line 73) | @Override
    method singleRefIterator (line 84) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/BitmapTeleporter.java
  class BitmapTeleporter (line 25) | @SafeParcelable.Class
    method BitmapTeleporter (line 38) | public BitmapTeleporter() {
    method BitmapTeleporter (line 41) | public BitmapTeleporter(int version, ParcelFileDescriptor parcelFileDe...
    method BitmapTeleporter (line 49) | public BitmapTeleporter(Bitmap bitmap) {
    method createTargetBitmap (line 57) | public final Bitmap createTargetBitmap() {
    method setTargetDirectory (line 88) | public final void setTargetDirectory(File file) {
    method close (line 95) | private static void close(Closeable closeable) {
    method writeToParcel (line 103) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/DataBuffer.java
  type DataBuffer (line 20) | public interface DataBuffer<T> extends Releasable, Iterable<T> {
    method close (line 27) | void close();
    method get (line 32) | T get(int position);
    method getCount (line 34) | int getCount();
    method isClosed (line 39) | @Deprecated
    method iterator (line 42) | @Override
    method release (line 48) | @Override
    method singleRefIterator (line 56) | Iterator<T> singleRefIterator();

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/DataBufferIterator.java
  class DataBufferIterator (line 14) | @Hide
    method DataBufferIterator (line 19) | public DataBufferIterator(@NonNull DataBuffer<T> dataBuffer) {
    method next (line 23) | @Override
    method remove (line 31) | @Override
    method hasNext (line 36) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/DataBufferRef.java
  class DataBufferRef (line 12) | @Hide
    method DataBufferRef (line 18) | public DataBufferRef(DataHolder dataHolder, int dataRow) {
    method copyToBuffer (line 23) | protected void copyToBuffer(@NonNull String column, @NonNull CharArray...
    method getBoolean (line 27) | protected boolean getBoolean(@NonNull String column) {
    method getByteArray (line 31) | protected byte[] getByteArray(@NonNull String column) {
    method getDouble (line 35) | protected double getDouble(@NonNull String column) {
    method getFloat (line 39) | protected float getFloat(@NonNull String column) {
    method getInteger (line 43) | protected int getInteger(@NonNull String column) {
    method getLong (line 47) | protected long getLong(@NonNull String column) {
    method getString (line 51) | protected String getString(@NonNull String column) {
    method hasColumn (line 55) | protected boolean hasColumn(@NonNull String column) {
    method hasNull (line 59) | protected boolean hasNull(@NonNull String column) {
    method isDataValid (line 63) | public boolean isDataValid() {
    method setDataRow (line 67) | public void setDataRow(int dataRow) {

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/DataHolder.java
  class DataHolder (line 47) | @PublicApi(until = "1")
    method DataHolder (line 75) | private DataHolder() {
    method DataHolder (line 90) | public DataHolder(String[] columns, CursorWindow[] windows, int status...
    method DataHolder (line 105) | public DataHolder(AbstractWindowedCursor cursor, int statusCode, Bundl...
    method DataHolder (line 116) | public DataHolder(Cursor cursor, int statusCode, Bundle metadata) {
    method builder (line 127) | public static Builder builder(String[] columns, String uniqueColumn) {
    method builder (line 137) | public static Builder builder(String[] columns) {
    method empty (line 146) | public static DataHolder empty(int statusCode, Bundle metadata) {
    method empty (line 154) | public static DataHolder empty(int statusCode) {
    method getCursorType (line 158) | @SuppressWarnings("deprecation")
    method close (line 188) | @Override
    method copyToBuffer (line 210) | public void copyToBuffer(String column, int row, int windowIndex, Char...
    method createCursorWindows (line 214) | @SuppressWarnings("deprecation")
    method createCursorWindows (line 265) | private static CursorWindow[] createCursorWindows(Cursor cursor) {
    method getBoolean (line 316) | public boolean getBoolean(String column, int row, int windowIndex) {
    method getByteArray (line 330) | public byte[] getByteArray(String column, int row, int windowIndex) {
    method getCount (line 339) | public int getCount() {
    method getDouble (line 343) | public double getDouble(String column, int row, int windowIndex) {
    method getFloat (line 347) | public float getFloat(String column, int row, int windowIndex) {
    method getInteger (line 361) | public int getInteger(String column, int row, int windowIndex) {
    method getLong (line 375) | public long getLong(String column, int row, int windowIndex) {
    method getStatusCode (line 379) | public int getStatusCode() {
    method getString (line 393) | public String getString(String column, int row, int windowIndex) {
    method hasColumn (line 397) | public boolean hasColumn(String column) {
    method hasNull (line 411) | public boolean hasNull(String column, int row, int windowIndex) {
    method isClosed (line 415) | public boolean isClosed() {
    method parseUri (line 431) | public Uri parseUri(String column, int row, int windowIndex) {
    method toString (line 437) | @Override
    method validateContents (line 447) | public void validateContents() {
    method getWindowIndex (line 460) | public int getWindowIndex(int row) {
    class Builder (line 474) | public static class Builder {
      method Builder (line 480) | private Builder(String[] columns, String uniqueColumn) {
      method build (line 494) | public DataHolder build(int statusCode, Bundle metadata) {
      method build (line 504) | public DataHolder build(int statusCode) {
      method getCount (line 511) | public int getCount() {
      method sort (line 523) | public Builder sort(String sortColumn) {
      method withRow (line 535) | public Builder withRow(ContentValues values) {
      method withRow (line 551) | public Builder withRow(HashMap<String, Object> row) {
    method createFromParcel (line 570) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/Freezable.java
  type Freezable (line 19) | public interface Freezable<T> {
    method freeze (line 29) | T freeze();
    method isDataValid (line 38) | boolean isDataValid();

FILE: play-services-base/src/main/java/com/google/android/gms/common/data/SingleRefDataBufferIterator.java
  class SingleRefDataBufferIterator (line 13) | @Hide
    method SingleRefDataBufferIterator (line 17) | public SingleRefDataBufferIterator(@NonNull DataBuffer<T> dataBuffer) {
    method next (line 21) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/images/ImageManager.java
  class ImageManager (line 38) | public class ImageManager {
    method create (line 45) | public static ImageManager create(Context context) {
    method ImageManager (line 63) | private ImageManager(Context context) {
    method compressBitmap (line 80) | public byte[] compressBitmap(Bitmap bitmap, Bitmap.CompressFormat form...
    method compressBitmap (line 90) | public byte[] compressBitmap(Bitmap original, int newWidth, int newHei...
    method loadImage (line 99) | public void loadImage(final String url, final ImageView imageView) {
    method getBitmapFromCache (line 123) | private Bitmap getBitmapFromCache(String key) {
    method addBitmapToCache (line 131) | private void addBitmapToCache(String key, Bitmap bitmap) {
    method getBitmapFromDiskCache (line 138) | private Bitmap getBitmapFromDiskCache(String key) {
    method addBitmapToDiskCache (line 146) | private void addBitmapToDiskCache(String key, Bitmap bitmap) {
    method getDiskCacheFile (line 155) | private File getDiskCacheFile(String key) {
    method md5 (line 160) | private String md5(String s) {
    method downloadBitmap (line 178) | @WorkerThread

FILE: play-services-base/src/main/java/com/google/android/gms/common/images/Size.java
  class Size (line 16) | @PublicApi
    method Size (line 27) | public Size(int width, int height) {
    method equals (line 41) | @Override
    method getHeight (line 57) | public int getHeight() {
    method getWidth (line 66) | public int getWidth() {
    method hashCode (line 70) | @Override
    method parseSize (line 91) | public static Size parseSize(String string) {
    method toString (line 103) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/images/WebImage.java
  class WebImage (line 22) | public class WebImage extends AutoSafeParcelable {
    method WebImage (line 37) | @Hide
    method WebImage (line 50) | public WebImage(Uri url) {
    method WebImage (line 62) | public WebImage(Uri url, int width, int height) {
    method getHeight (line 73) | public int getHeight() {
    method getUrl (line 80) | public Uri getUrl() {
    method getWidth (line 87) | public int getWidth() {
    method toString (line 94) | public String toString() {

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ApiExceptionUtil.java
  class ApiExceptionUtil (line 14) | @Hide
    method fromStatus (line 16) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/AuthAccountRequest.java
  class AuthAccountRequest (line 10) | public class AuthAccountRequest extends AutoSafeParcelable {

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ClientIdentity.java
  class ClientIdentity (line 13) | public class ClientIdentity extends AutoSafeParcelable {
    method hashCode (line 19) | @Override
    method toString (line 24) | @NonNull
    method equals (line 30) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ClientSettings.java
  class ClientSettings (line 25) | @Hide
    method ClientSettings (line 46) | public ClientSettings(@Nullable Account account, @NonNull Set<Scope> r...
    method createDefault (line 62) | @NonNull
    method getAccount (line 67) | @Nullable
    method getAccountName (line 72) | @Deprecated
    method getAccountOrDefault (line 79) | @NonNull
    method getAllRequestedScopes (line 85) | @NonNull
    method getApplicableScopes (line 90) | @NonNull
    method getGravityForPopups (line 98) | public int getGravityForPopups() {
    method getRealClientPackageName (line 102) | @NonNull
    method getRequiredScopes (line 107) | @NonNull
    method getViewForPopups (line 112) | @Nullable
    method getScopesForOptionalApi (line 117) | @NonNull
    method getContextClassName (line 122) | @Nullable
    method getSignInOptions (line 127) | @NonNull
    method getSessionId (line 132) | @Nullable
    method setSessionId (line 137) | public void setSessionId(@NonNull Integer sessionId) {

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/MethodInvocation.java
  class MethodInvocation (line 19) | @SafeParcelable.Class
    method MethodInvocation (line 43) | @Constructor
    method toString (line 56) | @NonNull
    method writeToParcel (line 74) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/PendingResultUtil.java
  class PendingResultUtil (line 19) | @Hide
    type ResultConverter (line 21) | public interface ResultConverter<R extends Result, T> {
      method convert (line 22) | @Nullable
    method toTask (line 26) | @NonNull
    method toResponseTask (line 39) | @NonNull
    method toVoidTask (line 47) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ResolveAccountRequest.java
  class ResolveAccountRequest (line 16) | @Hide
    method toString (line 28) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ResolveAccountResponse.java
  class ResolveAccountResponse (line 15) | @Hide
    method toString (line 28) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/ResultTransform.java
  class ResultTransform (line 26) | public abstract class ResultTransform<R extends Result, S extends Result> {
    method createFailedResult (line 34) | @NonNull
    method onFailure (line 46) | @NonNull
    method onSuccess (line 65) | @Nullable

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/TelemetryData.java
  class TelemetryData (line 21) | @SafeParcelable.Class
    method TelemetryData (line 30) | @Constructor
    method toString (line 36) | @NonNull
    method writeToParcel (line 45) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/internal/TransformedResult.java
  class TransformedResult (line 22) | public abstract class TransformedResult<R extends Result> {
    method andFinally (line 26) | public abstract void andFinally(@NonNull ResultCallbacks<? super R> ca...
    method then (line 36) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/InstallStatusListener.java
  type InstallStatusListener (line 14) | public interface InstallStatusListener {
    method onInstallStatusUpdated (line 18) | void onInstallStatusUpdated(ModuleInstallStatusUpdate update);

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleAvailabilityResponse.java
  class ModuleAvailabilityResponse (line 29) | @SafeParcelable.Class
    method ModuleAvailabilityResponse (line 36) | @Constructor
    method areModulesAvailable (line 46) | public boolean areModulesAvailable() {
    method getAvailabilityStatus (line 53) | public @AvailabilityStatus int getAvailabilityStatus() {
    method writeToParcel (line 76) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstall.java
  class ModuleInstall (line 17) | public class ModuleInstall {
    method getClient (line 21) | public static ModuleInstallClient getClient(Activity activity) {
    method getClient (line 28) | public static ModuleInstallClient getClient(Context context) {

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallClient.java
  type ModuleInstallClient (line 21) | public interface ModuleInstallClient extends HasApiKey<Api.ApiOptions.No...
    method areModulesAvailable (line 32) | Task<ModuleAvailabilityResponse> areModulesAvailable(@NonNull Optional...
    method deferredInstall (line 44) | Task<Void> deferredInstall(@NonNull OptionalModuleApi... apis);
    method getInstallModulesIntent (line 54) | Task<ModuleInstallIntentResponse> getInstallModulesIntent(@NonNull Opt...
    method installModules (line 74) | Task<ModuleInstallResponse> installModules(@NonNull ModuleInstallReque...
    method releaseModules (line 91) | Task<Void> releaseModules(@NonNull OptionalModuleApi... apis);
    method unregisterListener (line 99) | Task<Boolean> unregisterListener(@NonNull InstallStatusListener listen...

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallIntentResponse.java
  class ModuleInstallIntentResponse (line 28) | @SafeParcelable.Class
    method ModuleInstallIntentResponse (line 33) | @Constructor
    method getPendingIntent (line 44) | public @Nullable PendingIntent getPendingIntent() {
    method writeToParcel (line 48) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallRequest.java
  class ModuleInstallRequest (line 23) | public class ModuleInstallRequest {
    method ModuleInstallRequest (line 28) | private ModuleInstallRequest(@NonNull List<OptionalModuleApi> apis, @N...
    method getApis (line 37) | public @NonNull List<OptionalModuleApi> getApis() {
    method getListener (line 44) | public @Nullable InstallStatusListener getListener() {
    method getListenerExecutor (line 51) | public @Nullable Executor getListenerExecutor() {
    method newBuilder (line 58) | public static @NonNull Builder newBuilder() {
    class Builder (line 65) | public static class Builder {
      method addApi (line 73) | public @NonNull Builder addApi(@NonNull OptionalModuleApi api) {
      method setListener (line 86) | public @NonNull Builder setListener(@NonNull InstallStatusListener l...
      method setListener (line 97) | public @NonNull Builder setListener(@NonNull InstallStatusListener l...
      method build (line 106) | public @NonNull ModuleInstallRequest build() {

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallResponse.java
  class ModuleInstallResponse (line 22) | @SafeParcelable.Class
    method ModuleInstallResponse (line 30) | @Constructor
    method areModulesAlreadyInstalled (line 40) | public boolean areModulesAlreadyInstalled() {
    method getSessionId (line 49) | public int getSessionId() {
    method writeToParcel (line 53) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallStatusCodes.java
  class ModuleInstallStatusCodes (line 17) | public class ModuleInstallStatusCodes extends CommonStatusCodes {
    method getStatusCodeString (line 40) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/ModuleInstallStatusUpdate.java
  class ModuleInstallStatusUpdate (line 28) | @SafeParcelable.Class
    method ModuleInstallStatusUpdate (line 42) | @Constructor
    method getErrorCode (line 61) | public int getErrorCode() {
    method getInstallState (line 68) | public @InstallState int getInstallState() {
    method getProgressInfo (line 80) | public @Nullable ProgressInfo getProgressInfo() {
    method getSessionId (line 87) | public int getSessionId() {
    class ProgressInfo (line 135) | public static class ProgressInfo {
      method ProgressInfo (line 139) | ProgressInfo(long bytesDownloaded, long totalBytesToDownload) {
      method getBytesDownloaded (line 147) | public long getBytesDownloaded() {
      method getTotalBytesToDownload (line 156) | public long getTotalBytesToDownload() {
    method writeToParcel (line 161) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/moduleinstall/internal/ApiFeatureRequest.java
  class ApiFeatureRequest (line 19) | @SafeParcelable.Class
    method toString (line 31) | @NonNull
    method writeToParcel (line 42) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java
  class FavaDiagnosticsEntity (line 21) | public class FavaDiagnosticsEntity extends AutoSafeParcelable {

FILE: play-services-base/src/main/java/com/google/android/gms/common/util/IOUtils.java
  class IOUtils (line 17) | public final class IOUtils {
    method IOUtils (line 18) | private IOUtils() {
    method closeQuietly (line 21) | public static void closeQuietly(ParcelFileDescriptor parcelFileDescrip...
    method copyStream (line 30) | public static long copyStream(@NonNull InputStream inputStream, @NonNu...
    method isGzipByteBuffer (line 34) | public static boolean isGzipByteBuffer(@NonNull byte[] bArr) {
    method readInputStreamFully (line 43) | public static byte[] readInputStreamFully(@NonNull InputStream inputSt...
    method toByteArray (line 47) | public static byte[] toByteArray(@NonNull InputStream inputStream) thr...
    method closeQuietly (line 60) | public static void closeQuietly(Closeable closeable) {
    method copyStream (line 69) | public static long copyStream(@NonNull InputStream inputStream, @NonNu...
    method readInputStreamFully (line 95) | public static byte[] readInputStreamFully(@NonNull InputStream inputSt...

FILE: play-services-base/src/main/java/com/google/android/gms/dynamic/DeferredLifecycleHelper.java
  class DeferredLifecycleHelper (line 19) | public abstract class DeferredLifecycleHelper<T extends LifecycleDelegat...
    method onCreateView (line 32) | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable V...
    method getDelegate (line 44) | public T getDelegate() {
    method createDelegate (line 48) | protected abstract void createDelegate(@NonNull OnDelegateCreatedListe...
    method onCreate (line 50) | public void onCreate(@Nullable Bundle savedInstanceState) {
    method onDestroy (line 59) | public void onDestroy() {
    method onDestroyView (line 67) | public void onDestroyView() {
    method onInflate (line 75) | public void onInflate(@NonNull Activity activity, @NonNull Bundle attr...
    method onLowMemory (line 84) | public void onLowMemory() {
    method onPause (line 88) | public void onPause() {
    method onResume (line 96) | public void onResume() {
    method onSaveInstanceState (line 105) | public void onSaveInstanceState(@NonNull Bundle outState) {
    method onStart (line 113) | public void onStart() {
    method onStop (line 122) | public void onStop() {
    method removePendingStateOperations (line 130) | private void removePendingStateOperations(State state) {
    method startStateOperation (line 136) | private void startStateOperation(@Nullable Bundle savedInstanceState, ...
    class PendingStateOperation (line 149) | private static abstract class PendingStateOperation<T extends Lifecycl...
      method PendingStateOperation (line 152) | public PendingStateOperation(State state) {
      method apply (line 156) | public abstract void apply(T delegate);
    type State (line 159) | private enum State {
      method isAtLeast (line 162) | public boolean isAtLeast(@NonNull State state) {

FILE: play-services-base/src/main/java/com/google/android/gms/signin/SignIn.java
  class SignIn (line 12) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/signin/SignInClient.java
  type SignInClient (line 13) | public interface SignInClient extends Api.Client {
    method clearAccountFromSessionStore (line 14) | void clearAccountFromSessionStore();
    method saveDefaultAccount (line 15) | void saveDefaultAccount(@NonNull IAccountAccessor accountAccessor, boo...
    method signIn (line 16) | void signIn(@NonNull ISignInCallbacks callbacks);

FILE: play-services-base/src/main/java/com/google/android/gms/signin/SignInOptions.java
  class SignInOptions (line 12) | public class SignInOptions implements Api.ApiOptions.Optional {

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/AuthAccountResult.java
  class AuthAccountResult (line 15) | @Hide
    method getStatus (line 24) | @Override

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/CheckServerAuthResult.java
  class CheckServerAuthResult (line 14) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/RecordConsentByConsentResultRequest.java
  class RecordConsentByConsentResultRequest (line 10) | public class RecordConsentByConsentResultRequest extends AutoSafeParcela...

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/RecordConsentByConsentResultResponse.java
  class RecordConsentByConsentResultResponse (line 10) | public class RecordConsentByConsentResultResponse extends AutoSafeParcel...

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/RecordConsentRequest.java
  class RecordConsentRequest (line 13) | @Hide

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/SignInRequest.java
  class SignInRequest (line 14) | @Hide
    method toString (line 21) | @NonNull

FILE: play-services-base/src/main/java/com/google/android/gms/signin/internal/SignInResponse.java
  class SignInResponse (line 15) | @Hide
    method toString (line 24) | @NonNull

FILE: play-services-base/src/main/java/org/microg/gms/common/DummyApiClient.java
  class DummyApiClient (line 34) | @Deprecated
    method connect (line 38) | @Override
    method connect (line 43) | @Override
    method disconnect (line 48) | @Override
    method disconnect (line 53) | @Override
    method dump (line 58) | @Override
    method getAvailableFeatures (line 63) | @NonNull
    method getEndpointPackageName (line 69) | @NonNull
    method getLastDisconnectMessage (line 75) | @Nullable
    method getMinApkVersion (line 81) | @Override
    method getRemoteService (line 86) | @Override
    method getRequiredFeatures (line 91) | @NonNull
    method getScopesForConnectionlessNonSignIn (line 97) | @NonNull
    method getServiceBrokerBinder (line 103) | @Nullable
    method getSignInIntent (line 109) | @NonNull
    method isConnected (line 115) | @Override
    method isConnecting (line 120) | @Override
    method onUserSignOut (line 125) | @Override
    method providesSignIn (line 130) | @Override
    method requiresAccount (line 135) | @Override
    method requiresGooglePlayServices (line 140) | @Override
    method requiresSignIn (line 145) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/ForwardConnectionCallbacks.java
  class ForwardConnectionCallbacks (line 24) | public final class ForwardConnectionCallbacks implements GoogleApiClient...
    method ForwardConnectionCallbacks (line 27) | public ForwardConnectionCallbacks(GooglePlayServicesClient.ConnectionC...
    method equals (line 31) | @Override
    method hashCode (line 37) | @Override
    method onConnected (line 42) | @Override
    method onConnectionSuspended (line 47) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/ForwardConnectionFailedListener.java
  class ForwardConnectionFailedListener (line 23) | public final class ForwardConnectionFailedListener
    method ForwardConnectionFailedListener (line 27) | public ForwardConnectionFailedListener(
    method equals (line 32) | @Override
    method hashCode (line 38) | @Override
    method onConnectionFailed (line 43) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/GmsClient.java
  class GmsClient (line 46) | public abstract class GmsClient<I extends IInterface> implements Api.Cli...
    method GmsClient (line 64) | public GmsClient(Context context, ConnectionCallbacks callbacks, OnCon...
    method onConnectedToBroker (line 73) | protected void onConnectedToBroker(IGmsServiceBroker broker, GmsCallba...
    method interfaceFromBinder (line 84) | protected abstract I interfaceFromBinder(IBinder binder);
    method connect (line 86) | @Override
    method handleConnectionFailed (line 103) | public void handleConnectionFailed() {
    method disconnect (line 107) | @Override
    method isConnected (line 123) | @Override
    method isConnecting (line 128) | @Override
    method hasError (line 133) | public synchronized boolean hasError() {
    method getContext (line 137) | public Context getContext() {
    method getServiceInterface (line 141) | public synchronized I getServiceInterface() {
    type ConnectionState (line 151) | protected enum ConnectionState {
    class GmsServiceConnection (line 155) | private class GmsServiceConnection implements ServiceConnection {
      method onServiceConnected (line 157) | @Override
      method onServiceDisconnected (line 167) | @Override
    class GmsCallbacks (line 175) | public class GmsCallbacks extends IGmsCallbacks.Stub {
      method onPostInitComplete (line 177) | @Override
      method onAccountValidationComplete (line 199) | @Override
      method onPostInitCompleteWithConnectionInfo (line 204) | @Override
    method connect (line 211) | @Override
    method disconnect (line 216) | @Override
    method dump (line 221) | @Override
    method getAvailableFeatures (line 226) | @NonNull
    method getEndpointPackageName (line 232) | @NonNull
    method getLastDisconnectMessage (line 238) | @Nullable
    method getMinApkVersion (line 244) | @Override
    method getRemoteService (line 249) | @Override
    method getRequiredFeatures (line 254) | @NonNull
    method getScopesForConnectionlessNonSignIn (line 260) | @NonNull
    method getServiceBrokerBinder (line 266) | @Nullable
    method getSignInIntent (line 272) | @NonNull
    method onUserSignOut (line 278) | @Override
    method providesSignIn (line 283) | @Override
    method requiresAccount (line 288) | @Override
    method requiresGooglePlayServices (line 293) | @Override
    method requiresSignIn (line 298) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/GmsConnector.java
  class GmsConnector (line 32) | public class GmsConnector<C extends Api.Client, R extends Result> {
    method GmsConnector (line 39) | public GmsConnector(GoogleApiClient apiClient, Api api, Callback<C, R>...
    method call (line 45) | public static <C extends Api.Client, R extends Result> PendingResult<R...
    method connect (line 49) | public BasePendingResult<R> connect() {
    type Callback (line 61) | public interface Callback<C, R> {
      method onClientAvailable (line 62) | void onClientAvailable(C client, ResultProvider<R> resultProvider) t...
      type ResultProvider (line 64) | interface ResultProvider<R> {
        method onResultAvailable (line 65) | void onResultAvailable(R result);
    class Handler (line 69) | private class Handler extends android.os.Handler {
      method Handler (line 70) | private Handler(Looper looper) {
      method handleMessage (line 74) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/MultiConnectionKeeper.java
  class MultiConnectionKeeper (line 51) | public class MultiConnectionKeeper {
    method isSystem (line 65) | private Boolean isSystem(PackageManager pm, String packageId) throws P...
    method isGoogleOrMicrogSig (line 70) | private Boolean isGoogleOrMicrogSig(PackageManager pm, String packageI...
    method isSystemGoogleOrMicrogSig (line 76) | private Boolean isSystemGoogleOrMicrogSig(PackageManager pm, String pa...
    method isMicrogSig (line 80) | private Boolean isMicrogSig(PackageManager pm, String packageId) throw...
    method signatureIsIn (line 85) | private Boolean signatureIsIn(PackageManager pm, String packageId, Lis...
    method sha1sum (line 94) | private String sha1sum(byte[] bytes) {
    method getTargetPackageWithoutPref (line 114) | private String getTargetPackageWithoutPref() {
    method getTargetPackage (line 140) | private String getTargetPackage() {
    method MultiConnectionKeeper (line 151) | public MultiConnectionKeeper(Context context) {
    method getInstance (line 156) | public synchronized static MultiConnectionKeeper getInstance(Context c...
    method bind (line 162) | public synchronized boolean bind(String action, ServiceConnection conn...
    method bind (line 166) | public synchronized boolean bind(String action, ServiceConnection conn...
    method unbind (line 185) | public synchronized void unbind(String action, ServiceConnection conne...
    class Connection (line 201) | public class Connection {
      method onServiceConnected (line 210) | @Override
      method onServiceDisconnected (line 222) | @Override
      method Connection (line 236) | public Connection(String actionString) {
      method Connection (line 240) | public Connection(String actionString, boolean requireMicrog) {
      method getIntent (line 245) | private Intent getIntent() {
      method bind (line 276) | @SuppressLint("InlinedApi")
      method isMicrog (line 296) | public boolean isMicrog(ResolveInfo resolveInfo) {
      method isBound (line 307) | public boolean isBound() {
      method getBinder (line 311) | public IBinder getBinder() {
      method unbind (line 315) | public void unbind() {
      method addConnectionForward (line 325) | public void addConnectionForward(ServiceConnection connection) {
      method removeConnectionForward (line 332) | public void removeConnectionForward(ServiceConnection connection) {
      method forwardsConnection (line 339) | public boolean forwardsConnection(ServiceConnection connection) {
      method hasForwards (line 343) | public boolean hasForwards() {

FILE: play-services-base/src/main/java/org/microg/gms/common/api/AbstractPlayServicesClient.java
  class AbstractPlayServicesClient (line 27) | public class AbstractPlayServicesClient implements GooglePlayServicesCli...
    method AbstractPlayServicesClient (line 32) | public AbstractPlayServicesClient(GoogleApiClient googleApiClient) {
    method assertConnected (line 36) | public void assertConnected() {
    method connect (line 40) | @Override
    method disconnect (line 46) | @Override
    method isConnected (line 52) | @Override
    method isConnecting (line 57) | @Override
    method registerConnectionCallbacks (line 62) | @Override
    method isConnectionCallbacksRegistered (line 67) | @Override
    method unregisterConnectionCallbacks (line 73) | @Override
    method registerConnectionFailedListener (line 79) | @Override
    method isConnectionFailedListenerRegistered (line 86) | @Override
    method unregisterConnectionFailedListener (line 93) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/api/ApiClientBuilder.java
  type ApiClientBuilder (line 27) | @Deprecated
    method build (line 29) | Api.Client build(O options, Context context, Looper looper, ClientSett...

FILE: play-services-base/src/main/java/org/microg/gms/common/api/BasePendingResult.java
  class BasePendingResult (line 29) | public class BasePendingResult<R extends Result> extends PendingResult<R> {
    method BasePendingResult (line 37) | public BasePendingResult(Looper looper) {
    method getResult (line 41) | private R getResult() {
    method await (line 47) | @Override
    method await (line 56) | @Override
    method cancel (line 65) | @Override
    method isCanceled (line 70) | @Override
    method isReady (line 77) | public boolean isReady() {
    method setResultCallback (line 81) | @Override
    method setResultCallback (line 94) | @Override
    method deliverResult (line 107) | public void deliverResult(R result) {

FILE: play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiClientImpl.java
  class GoogleApiClientImpl (line 44) | public class GoogleApiClientImpl extends GoogleApiClient {
    method onConnected (line 56) | @Override
    method onConnectionSuspended (line 64) | @Override
    method onConnectionFailed (line 74) | @Override
    method GoogleApiClientImpl (line 85) | public GoogleApiClientImpl(Context context, Looper looper, ClientSetti...
    method incrementUsageCounter (line 106) | public synchronized void incrementUsageCounter() {
    method decrementUsageCounter (line 110) | public synchronized void decrementUsageCounter() {
    method getLooper (line 115) | @NonNull
    method hasConnectedApi (line 120) | @Override
    method getApiConnection (line 125) | public Api.Client getApiConnection(Api api) {
    method blockingConnect (line 129) | @NonNull
    method blockingConnect (line 135) | @NonNull
    method clearDefaultAccountAndReconnect (line 141) | @NonNull
    method connect (line 147) | @Override
    method connect (line 165) | @Override
    method disconnect (line 170) | @Override
    method dump (line 184) | @Override
    method getConnectionResult (line 189) | @NonNull
    method isConnected (line 195) | @Override
    method isConnecting (line 203) | @Override
    method isConnectionCallbacksRegistered (line 211) | @Override
    method isConnectionFailedListenerRegistered (line 216) | @Override
    method reconnect (line 221) | @Override
    method registerConnectionCallbacks (line 228) | @Override
    method registerConnectionFailedListener (line 233) | @Override
    method stopAutoManage (line 238) | @Override
    method unregisterConnectionCallbacks (line 243) | @Override
    method unregisterConnectionFailedListener (line 248) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/api/GoogleApiManager.java
  class GoogleApiManager (line 24) | public class GoogleApiManager {
    method GoogleApiManager (line 30) | private GoogleApiManager(Context context) {
    method getInstance (line 34) | public synchronized static GoogleApiManager getInstance(Context contex...
    method clientForApi (line 39) | private synchronized <O extends Api.ApiOptions, A extends Api.Client> ...
    method scheduleTask (line 51) | public synchronized <O extends Api.ApiOptions, R, A extends Api.Client...
    method onInstanceConnected (line 69) | private synchronized void onInstanceConnected(ApiInstance apiInstance,...
    method onInstanceSuspended (line 81) | private synchronized void onInstanceSuspended(ApiInstance apiInstance,...
    method onInstanceFailed (line 85) | private synchronized void onInstanceFailed(ApiInstance apiInstance, Co...
    class ConnectionCallback (line 93) | private class ConnectionCallback implements ConnectionCallbacks {
      method ConnectionCallback (line 96) | public ConnectionCallback(ApiInstance apiInstance) {
      method onConnected (line 100) | @Override
      method onConnectionSuspended (line 105) | @Override
    class ConnectionFailedListener (line 111) | private class ConnectionFailedListener implements OnConnectionFailedLi...
      method ConnectionFailedListener (line 114) | public ConnectionFailedListener(ApiInstance apiInstance) {
      method onConnectionFailed (line 118) | @Override
    class WaitingApiCall (line 124) | private static class WaitingApiCall<R> {
      method WaitingApiCall (line 128) | public WaitingApiCall(PendingGoogleApiCall<R, Api.Client> apiCall, T...
      method execute (line 133) | public void execute(Api.Client client) throws Exception {
      method failed (line 137) | public void failed(Exception e) {
      method equals (line 141) | @Override
      method hashCode (line 152) | @Override
    class ApiInstance (line 160) | private static class ApiInstance {
      method ApiInstance (line 164) | public ApiInstance(Class<?> apiClass, Api.ApiOptions apiOptions) {
      method ApiInstance (line 169) | public ApiInstance(GoogleApi<?> api) {
      method equals (line 173) | @Override
      method hashCode (line 184) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/api/InstantPendingResult.java
  class InstantPendingResult (line 25) | public class InstantPendingResult<R extends Result> extends PendingResul...
    method InstantPendingResult (line 28) | public InstantPendingResult(R value) {
    method await (line 32) | @Override
    method await (line 37) | @Override
    method cancel (line 42) | @Override
    method isCanceled (line 47) | @Override
    method setResultCallback (line 52) | @Override
    method setResultCallback (line 57) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/api/PendingGoogleApiCall.java
  type PendingGoogleApiCall (line 11) | public interface PendingGoogleApiCall<R, A extends Api.Client> {
    method execute (line 12) | void execute(A client, TaskCompletionSource<R> completionSource) throw...

FILE: play-services-base/src/main/java/org/microg/gms/common/api/ResultCallbackHandler.java
  class ResultCallbackHandler (line 27) | class ResultCallbackHandler<R extends Result> extends Handler {
    method ResultCallbackHandler (line 32) | public ResultCallbackHandler(Looper looper) {
    method handleMessage (line 36) | @Override
    method sendResultCallback (line 50) | public void sendResultCallback(ResultCallback<R> callback, R result) {
    method sendTimeoutResultCallback (line 57) | public void sendTimeoutResultCallback(BasePendingResult pendingResult,...
    class OnCompleteObject (line 61) | public static class OnCompleteObject<R extends Result> {
      method OnCompleteObject (line 65) | public OnCompleteObject(ResultCallback<R> callback, R result) {

FILE: play-services-base/src/main/java/org/microg/gms/common/api/ReturningGoogleApiCall.java
  type ReturningGoogleApiCall (line 11) | public interface ReturningGoogleApiCall<R, A extends Api.Client> extends...
    method execute (line 12) | R execute(A client) throws Exception;
    method execute (line 14) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/common/api/VoidReturningGoogleApiCall.java
  type VoidReturningGoogleApiCall (line 11) | public interface VoidReturningGoogleApiCall<A extends Api.Client> extend...
    method execute (line 12) | void execute(A client) throws Exception;
    method execute (line 14) | @Override

FILE: play-services-base/src/main/java/org/microg/gms/signin/SignInClientImpl.java
  class SignInClientImpl (line 39) | public class SignInClientImpl extends GmsClient<ISignInService> implemen...
    method SignInClientImpl (line 44) | public SignInClientImpl(Context context, ClientSettings clientSettings...
    method interfaceFromBinder (line 68) | @Override
    method clearAccountFromSessionStore (line 73) | @Override
    method saveDefaultAccount (line 82) | @Override
    method signIn (line 91) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/ConnectionResult.java
  class ConnectionResult (line 28) | @SafeParcelable.Class
    method ConnectionResult (line 174) | private ConnectionResult() {
    method ConnectionResult (line 182) | public ConnectionResult(int statusCode) {
    method ConnectionResult (line 192) | public ConnectionResult(int statusCode, PendingIntent resolution) {
    method ConnectionResult (line 203) | @Constructor
    method getStatusString (line 210) | static String getStatusString(int statusCode) {
    method equals (line 267) | @Override
    method getErrorCode (line 284) | public int getErrorCode() {
    method getErrorMessage (line 293) | public String getErrorMessage() {
    method getResolution (line 304) | public PendingIntent getResolution() {
    method hashCode (line 308) | @Override
    method hasResolution (line 319) | public boolean hasResolution() {
    method isSuccess (line 328) | public boolean isSuccess() {
    method startResolutionForResult (line 344) | public void startResolutionForResult(Activity activity, int requestCod...
    method writeToParcel (line 351) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/Feature.java
  class Feature (line 15) | @SafeParcelable.Class
    method Feature (line 26) | public Feature(String name) {
    method Feature (line 30) | public Feature(String name, long version) {
    method Feature (line 34) | public Feature(String name, long version, boolean fullyRolledOut) {
    method Feature (line 38) | @Constructor
    method getName (line 46) | public String getName() {
    method getVersion (line 50) | public long getVersion() {
    method toString (line 55) | @NonNull
    method writeToParcel (line 61) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/GoogleCertificatesLookupQuery.java
  class GoogleCertificatesLookupQuery (line 17) | @SafeParcelable.Class
    method getCallingPackage (line 33) | public String getCallingPackage() {
    method getContext (line 37) | public Context getContext() {
    method writeToParcel (line 44) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/GoogleCertificatesLookupResponse.java
  class GoogleCertificatesLookupResponse (line 13) | @SafeParcelable.Class
    method GoogleCertificatesLookupResponse (line 24) | @Constructor
    method writeToParcel (line 32) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/GoogleCertificatesQuery.java
  class GoogleCertificatesQuery (line 21) | @Hide
    method getCallingPackage (line 34) | public String getCallingPackage() {
    method getCertData (line 38) | public CertData getCertData() {
    method writeToParcel (line 45) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/GooglePlayServicesNotAvailableException.java
  class GooglePlayServicesNotAvailableException (line 14) | public class GooglePlayServicesNotAvailableException extends Exception {
    method GooglePlayServicesNotAvailableException (line 20) | public GooglePlayServicesNotAvailableException(int errorCode) {

FILE: play-services-basement/src/main/java/com/google/android/gms/common/GooglePlayServicesRepairableException.java
  class GooglePlayServicesRepairableException (line 20) | public class GooglePlayServicesRepairableException extends UserRecoverab...
    method GooglePlayServicesRepairableException (line 30) | public GooglePlayServicesRepairableException(int connectionStatusCode,...
    method getConnectionStatusCode (line 41) | public int getConnectionStatusCode() {

FILE: play-services-basement/src/main/java/com/google/android/gms/common/Scopes.java
  class Scopes (line 16) | public class Scopes {

FILE: play-services-basement/src/main/java/com/google/android/gms/common/UserRecoverableException.java
  class UserRecoverableException (line 17) | public class UserRecoverableException extends Exception {
    method UserRecoverableException (line 20) | public UserRecoverableException(String message, Intent intent) {
    method getIntent (line 29) | public Intent getIntent() {

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ApiException.java
  class ApiException (line 16) | @PublicApi
    method ApiException (line 28) | @PublicApi
    method getStatus (line 36) | @PublicApi
    method getStatusCode (line 46) | @PublicApi
    method getStatusMessage (line 54) | @PublicApi
    method getMessage (line 59) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ApiMetadata.java
  class ApiMetadata (line 19) | @Hide
    method ApiMetadata (line 33) | @Constructor
    method ApiMetadata (line 40) | private ApiMetadata() {
    method writeToParcel (line 46) | @Override
    method toString (line 54) | @NonNull
    class ApiMetadataCreator (line 60) | private static class ApiMetadataCreator implements SafeParcelableCreat...
      method createFromParcel (line 63) | @Override
      method newArray (line 73) | @Override
      method writeToParcel (line 78) | @Override

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/CommonStatusCodes.java
  class CommonStatusCodes (line 23) | @SuppressWarnings({"deprecation", "DeprecatedIsStillUsed"})
    method getStatusCodeString (line 49) | @NonNull

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ComplianceOptions.java
  class ComplianceOptions (line 18) | @SafeParcelable.Class
    method ComplianceOptions (line 29) | public ComplianceOptions() {
    method ComplianceOptions (line 32) | @Constructor
    method writeToParcel (line 40) | @Override
    method toString (line 47) | @NonNull

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/Releasable.java
  type Releasable (line 22) | public interface Releasable {
    method release (line 23) | void release();

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ResolvableApiException.java
  class ResolvableApiException (line 22) | @PublicApi
    method ResolvableApiException (line 24) | @PublicApi
    method getResolution (line 35) | @PublicApi
    method startResolutionForResult (line 50) | @PublicApi

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/Response.java
  class Response (line 17) | @PublicApi
    method Response (line 21) | public Response() {
    method Response (line 24) | protected Response(T result) {
    method getResult (line 28) | public T getResult() {
    method setResult (line 32) | public void setResult(T result) {

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java
  type Result (line 24) | @PublicApi
    method getStatus (line 26) | public Status getStatus();

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallback.java
  type ResultCallback (line 23) | public interface ResultCallback<R extends Result> {
    method onResult (line 32) | public void onResult(R result);

FILE: play-services-basement/src/main/java/com/google/android/gms/common/api/ResultCallbacks.java
  class ResultCallbacks (line 18) | public abstract class ResultCallbacks<R extends Result> implements Resul...
    method onFailure (line 24) | public abstract void onFailure(@NonNull Status result);
    method onSuccess (line 35) | pu
Copy disabled (too large) Download .json
Condensed preview — 4853 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,044K chars).
[
  {
    "path": ".github/dependabot.yml",
    "chars": 149,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"daily\"\n   "
  },
  {
    "path": ".github/matchers/gradle-build-kotlin-error-matcher.json",
    "chars": 324,
    "preview": "{\n  \"problemMatcher\": [\n    {\n      \"owner\": \"gradle-build-kotlin-error-matcher\",\n      \"severity\": \"error\",\n      \"patt"
  },
  {
    "path": ".github/matchers/gradle-build-kotlin-error-matcher.json.license",
    "chars": 62,
    "preview": "SPDX-FileCopyrightText: none\nSPDX-License-Identifier: CC0-1.0\n"
  },
  {
    "path": ".github/matchers/gradle-build-matcher.json",
    "chars": 287,
    "preview": "{\n  \"problemMatcher\": [\n    {\n      \"owner\": \"gradle-build-matcher\",\n      \"pattern\": [\n        {\n          \"regexp\": \"^"
  },
  {
    "path": ".github/matchers/gradle-build-matcher.json.license",
    "chars": 62,
    "preview": "SPDX-FileCopyrightText: none\nSPDX-License-Identifier: CC0-1.0\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 1851,
    "preview": "name: \"Gradle build\"\npermissions: {}\non:\n  - push\n  - pull_request\n  - workflow_dispatch\n\njobs:\n  build:\n    name: \"Grad"
  },
  {
    "path": ".github/workflows/dependency-submission.yml",
    "chars": 881,
    "preview": "name: Dependency Submission\npermissions:\n  contents: write\non:\n  push:\n    branches: [ 'master' ]\n\njobs:\n  dependency-su"
  },
  {
    "path": ".gitignore",
    "chars": 110,
    "preview": "*.iml\ngen/\nbin/\nbuild/\n.gradle/\n.idea/\nuser.gradle\nlocal.properties\n.directory\n\n.settings\n.classpath\n.project\n"
  },
  {
    "path": "Android.mk",
    "chars": 1650,
    "preview": "# Copyright (c) 2015 μg Project Team\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not u"
  },
  {
    "path": "LICENSE",
    "chars": 10174,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "LICENSES/Apache-2.0.txt",
    "chars": 10343,
    "preview": "Apache License\n\nVersion 2.0, January 2004\n\nhttp://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,\nA"
  },
  {
    "path": "LICENSES/CC-BY-4.0.txt",
    "chars": 16792,
    "preview": "Creative Commons Attribution 4.0 International Creative Commons Corporation\n(\"Creative Commons\") is not a law firm and d"
  },
  {
    "path": "LICENSES/CC0-1.0.txt",
    "chars": 7048,
    "preview": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n"
  },
  {
    "path": "README.md",
    "chars": 1311,
    "preview": "# microG Services\n\n[![Build status](https://github.com/microg/GmsCore/actions/workflows/build.yml/badge.svg)](https://gi"
  },
  {
    "path": "TRANSLATION.md",
    "chars": 1038,
    "preview": "# Translating microG\nmicroG [can be translated using Weblate](https://hosted.weblate.org/projects/microg/#languages). Th"
  },
  {
    "path": "artwork/styles/README.md",
    "chars": 3770,
    "preview": "## The files\n\n* `style-microg-normal-openmaptiles.json` is a pure OpenMapTiles schema version of microG's custom style. "
  },
  {
    "path": "artwork/styles/fonts/combinations.json",
    "chars": 59,
    "preview": "{\"Roboto Regular\": [\"Roboto Regular\", \"OpenSans Regular\"]}\n"
  },
  {
    "path": "artwork/styles/style-mapbox-outdoors-v12.json",
    "chars": 394077,
    "preview": "{\n    \"name\": \"Mapbox Outdoors\",\n    \"sprite\": \"mapbox://sprites/mapbox/outdoors-v12\",\n    \"glyphs\": \"mapbox://fonts/map"
  },
  {
    "path": "artwork/styles/style-microg-normal-mapbox.json",
    "chars": 126574,
    "preview": "{\n    \"version\": 8,\n    \"name\": \"Mountain View Full\",\n    \"metadata\": {\n        \"mapbox:origin\": \"basic-template\",\n     "
  },
  {
    "path": "artwork/styles/style-microg-normal-openmaptiles.json",
    "chars": 131385,
    "preview": "{\n    \"version\": 8,\n    \"name\": \"Mountain View Full\",\n    \"metadata\": {\n        \"mapbox:origin\": \"basic-template\",\n     "
  },
  {
    "path": "artwork/styles/style-microg-normal-stadia.json",
    "chars": 136446,
    "preview": "{\n    \"version\": 8,\n    \"name\": \"Mountain View Full\",\n    \"metadata\": {\n        \"mapbox:origin\": \"basic-template\",\n     "
  },
  {
    "path": "artwork/styles/style-microg-satellite-mapbox.json",
    "chars": 102538,
    "preview": "{\n    \"version\": 8,\n    \"name\": \"Mountain View Satellite\",\n    \"metadata\": {\n        \"mapbox:origin\": \"basic-template\",\n"
  },
  {
    "path": "artwork/styles/style-microg-satellite-stadia.json",
    "chars": 105922,
    "preview": "{\n    \"version\": 8,\n    \"name\": \"Mountain View Full\",\n    \"metadata\": {\n        \"mapbox:origin\": \"basic-template\",\n     "
  },
  {
    "path": "artwork/styles/style-stadia-outdoors.json",
    "chars": 171951,
    "preview": "{\n    \"bearing\": 0,\n    \"center\": [\n        8.542,\n        47.372\n    ],\n    \"glyphs\": \"https://tiles.stadiamaps.com/fon"
  },
  {
    "path": "build.gradle",
    "chars": 4688,
    "preview": "/*\n * SPDX-FileCopyrightText: 2013 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\nbuildscript {\n    ext"
  },
  {
    "path": "fake-signature/build.gradle",
    "chars": 693,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "fake-signature/src/huawei/AndroidManifest.xml",
    "chars": 1555,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identif"
  },
  {
    "path": "fake-signature/src/huawei/aidl/com/huawei/signature/diff/ISignatureService.aidl",
    "chars": 386,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.huawei.si"
  },
  {
    "path": "fake-signature/src/huawei/java/com/huawei/signature/diff/AppListDatabaseOpenHelper.java",
    "chars": 2831,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.huawei.si"
  },
  {
    "path": "fake-signature/src/huawei/java/com/huawei/signature/diff/InitProvider.java",
    "chars": 2205,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.huawei.si"
  },
  {
    "path": "fake-signature/src/huawei/java/com/huawei/signature/diff/InitReceiver.java",
    "chars": 793,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.huawei.si"
  },
  {
    "path": "fake-signature/src/huawei/java/com/huawei/signature/diff/SignatureService.java",
    "chars": 3425,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.huawei.si"
  },
  {
    "path": "fake-signature/src/main/AndroidManifest.xml",
    "chars": 81852,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identi"
  },
  {
    "path": "fake-signature/src/main/res/values/arrays.xml",
    "chars": 1437,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identif"
  },
  {
    "path": "fake-signature/src/main/res/values/signature.xml",
    "chars": 3980,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2014 microG Project Team\n  ~ SPDX-License-Identi"
  },
  {
    "path": "firebase-auth/build.gradle",
    "chars": 676,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.a"
  },
  {
    "path": "firebase-auth/core/build.gradle",
    "chars": 1319,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.a"
  },
  {
    "path": "firebase-auth/core/src/main/AndroidManifest.xml",
    "chars": 1146,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2020, microG Project Team\n  ~ SPDX-License-Ident"
  },
  {
    "path": "firebase-auth/core/src/main/assets/recaptcha.html",
    "chars": 2673,
    "preview": "<!DOCTYPE html>\n<html style=\"margin: 5px\">\n<body style=\"margin: 5px\">\n\n<div id='recaptcha-container'></div>\n<div style=\""
  },
  {
    "path": "firebase-auth/core/src/main/kotlin/org/microg/gms/firebase/auth/FirebaseAuthService.kt",
    "chars": 36140,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-auth/core/src/main/kotlin/org/microg/gms/firebase/auth/IdentityToolkitClient.kt",
    "chars": 8412,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-auth/core/src/main/kotlin/org/microg/gms/firebase/auth/ReCaptchaActivity.kt",
    "chars": 4192,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-auth/core/src/main/kotlin/org/microg/gms/firebase/auth/ReCaptchaOverlayService.kt",
    "chars": 7022,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-auth/core/src/main/kotlin/org/microg/gms/firebase/auth/extensions.kt",
    "chars": 288,
    "preview": "/**\n * SPDX-FileCopyrightText: 2024 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-auth/core/src/main/res/layout/activity_recaptcha.xml",
    "chars": 589,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2020, microG Project Team\n  ~ SPDX-License-Ident"
  },
  {
    "path": "firebase-auth/src/main/AndroidManifest.xml",
    "chars": 158,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2020, microG Project Team\n  ~ SPDX-License-Ident"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/ActionCodeSettings.aidl",
    "chars": 66,
    "preview": "package com.google.firebase.auth;\n\nparcelable ActionCodeSettings;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/EmailAuthCredential.aidl",
    "chars": 67,
    "preview": "package com.google.firebase.auth;\n\nparcelable EmailAuthCredential;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/PhoneAuthCredential.aidl",
    "chars": 67,
    "preview": "package com.google.firebase.auth;\n\nparcelable PhoneAuthCredential;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/UserProfileChangeRequest.aidl",
    "chars": 72,
    "preview": "package com.google.firebase.auth;\n\nparcelable UserProfileChangeRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.aidl",
    "chars": 87,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ApplyActionCodeAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.aidl",
    "chars": 83,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ChangeEmailAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.aidl",
    "chars": 86,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ChangePasswordAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.aidl",
    "chars": 87,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable CheckActionCodeAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.aidl",
    "chars": 92,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ConfirmPasswordResetAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/CreateAuthUriResponse.aidl",
    "chars": 82,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable CreateAuthUriResponse;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.aidl",
    "chars": 102,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable CreateUserWithEmailAndPasswordAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/DeleteAidlRequest.aidl",
    "chars": 78,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable DeleteAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.aidl",
    "chars": 93,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable FinalizeMfaEnrollmentAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.aidl",
    "chars": 89,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable FinalizeMfaSignInAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.aidl",
    "chars": 86,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable GetAccessTokenAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/GetAccountInfoUser.aidl",
    "chars": 79,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable GetAccountInfoUser;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.aidl",
    "chars": 92,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable GetProvidersForEmailAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/GetTokenResponse.aidl",
    "chars": 77,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable GetTokenResponse;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/IFirebaseAuthCallbacks.aidl",
    "chars": 1211,
    "preview": "package com.google.firebase.auth.api.internal;\n\nimport com.google.android.gms.common.api.Status;\nimport com.google.fireb"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/IFirebaseAuthService.aidl",
    "chars": 9497,
    "preview": "package com.google.firebase.auth.api.internal;\n\nimport com.google.firebase.auth.api.internal.ApplyActionCodeAidlRequest;"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.aidl",
    "chars": 95,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable LinkEmailAuthCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.aidl",
    "chars": 95,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable LinkFederatedCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.aidl",
    "chars": 95,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable LinkPhoneAuthCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ReloadAidlRequest.aidl",
    "chars": 78,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ReloadAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/ResetPasswordResponse.aidl",
    "chars": 82,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable ResetPasswordResponse;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.aidl",
    "chars": 105,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SendEmailVerificationWithSettingsAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.aidl",
    "chars": 103,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SendGetOobConfirmationCodeEmailAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.aidl",
    "chars": 92,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SendVerificationCodeAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.aidl",
    "chars": 88,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SendVerificationCodeRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.aidl",
    "chars": 92,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SetFirebaseUiVersionAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.aidl",
    "chars": 89,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInAnonymouslyAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.aidl",
    "chars": 92,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInWithCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.aidl",
    "chars": 93,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInWithCustomTokenAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.aidl",
    "chars": 98,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInWithEmailAndPasswordAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.aidl",
    "chars": 91,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInWithEmailLinkAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.aidl",
    "chars": 93,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable SignInWithPhoneNumberAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.aidl",
    "chars": 101,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable StartMfaPhoneNumberEnrollmentAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.aidl",
    "chars": 97,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable StartMfaPhoneNumberSignInAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/StringList.aidl",
    "chars": 71,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable StringList;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.aidl",
    "chars": 83,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable UnenrollMfaAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.aidl",
    "chars": 93,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable UnlinkEmailCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.aidl",
    "chars": 97,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable UnlinkFederatedCredentialAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.aidl",
    "chars": 85,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable UpdateProfileAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/VerifyAssertionRequest.aidl",
    "chars": 83,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable VerifyAssertionRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/aidl/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.aidl",
    "chars": 95,
    "preview": "package com.google.firebase.auth.api.internal;\n\nparcelable VerifyBeforeUpdateEmailAidlRequest;\n"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/ActionCodeSettings.java",
    "chars": 6780,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/AuthCredential.java",
    "chars": 1152,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/DefaultOAuthCredential.java",
    "chars": 1638,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/EmailAuthCredential.java",
    "chars": 1784,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/OAuthCredential.java",
    "chars": 1029,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/PhoneAuthCredential.java",
    "chars": 2387,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/UserProfileChangeRequest.java",
    "chars": 2691,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ApplyActionCodeAidlRequest.java",
    "chars": 392,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ChangeEmailAidlRequest.java",
    "chars": 380,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ChangePasswordAidlRequest.java",
    "chars": 389,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CheckActionCodeAidlRequest.java",
    "chars": 392,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ConfirmPasswordResetAidlRequest.java",
    "chars": 407,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CreateAuthUriResponse.java",
    "chars": 757,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/CreateUserWithEmailAndPasswordAidlRequest.java",
    "chars": 561,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/DeleteAidlRequest.java",
    "chars": 365,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaEnrollmentAidlRequest.java",
    "chars": 410,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/FinalizeMfaSignInAidlRequest.java",
    "chars": 398,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetAccessTokenAidlRequest.java",
    "chars": 436,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetAccountInfoUser.java",
    "chars": 1120,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetProvidersForEmailAidlRequest.java",
    "chars": 488,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/GetTokenResponse.java",
    "chars": 1387,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkEmailAuthCredentialAidlRequest.java",
    "chars": 542,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkFederatedCredentialAidlRequest.java",
    "chars": 416,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/LinkPhoneAuthCredentialAidlRequest.java",
    "chars": 416,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/MfaInfo.java",
    "chars": 337,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfo.java",
    "chars": 668,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ProviderUserInfoList.java",
    "chars": 515,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ReloadAidlRequest.java",
    "chars": 410,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/ResetPasswordResponse.java",
    "chars": 545,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendEmailVerificationWithSettingsAidlRequest.java",
    "chars": 592,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendGetOobConfirmationCodeEmailAidlRequest.java",
    "chars": 628,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeAidlRequest.java",
    "chars": 469,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SendVerificationCodeRequest.java",
    "chars": 692,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SetFirebaseUiVersionAidlRequest.java",
    "chars": 407,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInAnonymouslyAidlRequest.java",
    "chars": 440,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithCredentialAidlRequest.java",
    "chars": 1074,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithCustomTokenAidlRequest.java",
    "chars": 492,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailAndPasswordAidlRequest.java",
    "chars": 548,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithEmailLinkAidlRequest.java",
    "chars": 404,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/SignInWithPhoneNumberAidlRequest.java",
    "chars": 564,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberEnrollmentAidlRequest.java",
    "chars": 434,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StartMfaPhoneNumberSignInAidlRequest.java",
    "chars": 422,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/StringList.java",
    "chars": 508,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnenrollMfaAidlRequest.java",
    "chars": 380,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnlinkEmailCredentialAidlRequest.java",
    "chars": 410,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UnlinkFederatedCredentialAidlRequest.java",
    "chars": 422,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/UpdateProfileAidlRequest.java",
    "chars": 549,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/VerifyAssertionRequest.java",
    "chars": 1578,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/com/google/firebase/auth/api/internal/VerifyBeforeUpdateEmailAidlRequest.java",
    "chars": 416,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "firebase-auth/src/main/java/org/microg/gms/firebase/auth/Constants.java",
    "chars": 348,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.g"
  },
  {
    "path": "firebase-dynamic-links/build.gradle",
    "chars": 1338,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019 e Foundation\n * SPDX-FileCopyrightText: 2020 microG Project Team\n * SPDX-License-Iden"
  },
  {
    "path": "firebase-dynamic-links/src/main/AndroidManifest.xml",
    "chars": 670,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ Copyright (C) 2019 e Foundation\n  ~\n  ~ Licensed under the Apache Licens"
  },
  {
    "path": "firebase-dynamic-links/src/main/aidl/com/google/firebase/dynamiclinks/internal/DynamicLinkData.aidl",
    "chars": 270,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/aidl/com/google/firebase/dynamiclinks/internal/IDynamicLinksCallbacks.aidl",
    "chars": 638,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/aidl/com/google/firebase/dynamiclinks/internal/IDynamicLinksService.aidl",
    "chars": 540,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/aidl/com/google/firebase/dynamiclinks/internal/ShortDynamicLinkImpl.aidl",
    "chars": 275,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/aidl/com/google/firebase/dynamiclinks/internal/WarningImpl.aidl",
    "chars": 266,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/ShortDynamicLink.java",
    "chars": 2293,
    "preview": "/*\n * SPDX-FileCopyrightText: 2021, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n * Notice: Portions of th"
  },
  {
    "path": "firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/DynamicLinkData.java",
    "chars": 2219,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/ShortDynamicLinkImpl.java",
    "chars": 1080,
    "preview": "/*\n * SPDX-FileCopyrightText: 2019, e Foundation\n * SPDX-FileCopyrightText: 2021, Google LLC\n * SPDX-FileCopyrightText: "
  },
  {
    "path": "firebase-dynamic-links/src/main/java/com/google/firebase/dynamiclinks/internal/WarningImpl.java",
    "chars": 900,
    "preview": "/*\n * SPDX-FileCopyrightText: 2021, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.f"
  },
  {
    "path": "gradle/publish-android.gradle",
    "chars": 2069,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\nandroid {\n    publis"
  },
  {
    "path": "gradle/publish-java.gradle",
    "chars": 2287,
    "preview": "/*\n * SPDX-FileCopyrightText: 2020, microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\ntask javaSourcesJar("
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 341,
    "preview": "# SPDX-FileCopyrightText: 2015, microG Project Team\n# SPDX-License-Identifier: CC0-1.0\n\ndistributionBase=GRADLE_USER_HOM"
  },
  {
    "path": "gradle.properties",
    "chars": 197,
    "preview": "android.useAndroidX=true\norg.gradle.configuration-cache=true\norg.gradle.caching=true\norg.gradle.jvmargs=-Xmx4096m -XX:+U"
  },
  {
    "path": "gradlew",
    "chars": 8739,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "gradlew.bat",
    "chars": 2966,
    "preview": "@rem\r\n@rem Copyright 2015 the original author or authors.\r\n@rem\r\n@rem Licensed under the Apache License, Version 2.0 (th"
  },
  {
    "path": "play-services/build.gradle",
    "chars": 1323,
    "preview": "/*\n * Copyright 2013-2015 microG Project Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * y"
  },
  {
    "path": "play-services/src/main/AndroidManifest.xml",
    "chars": 772,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ Copyright (C) 2013-2017 microG Project Team\n  ~\n  ~ Licensed under the A"
  },
  {
    "path": "play-services-ads/build.gradle",
    "chars": 1196,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "play-services-ads/core/build.gradle",
    "chars": 849,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "play-services-ads/core/src/main/AndroidManifest.xml",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identif"
  },
  {
    "path": "play-services-ads/core/src/main/java/com/google/android/gms/dynamite/descriptors/com/google/android/gms/ads/dynamite/ModuleDescriptor.java",
    "chars": 2903,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.an"
  },
  {
    "path": "play-services-ads/core/src/main/kotlin/org/microg/gms/ads/AdRequestService.kt",
    "chars": 2818,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage org.microg.gm"
  },
  {
    "path": "play-services-ads/src/main/AndroidManifest.xml",
    "chars": 272,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identi"
  },
  {
    "path": "play-services-ads/src/main/aidl/com/google/android/gms/ads/internal/ExceptionParcel.aidl",
    "chars": 73,
    "preview": "package com.google.android.gms.ads.internal;\n\nparcelable ExceptionParcel;"
  },
  {
    "path": "play-services-ads/src/main/aidl/com/google/android/gms/ads/internal/NonagonRequestParcel.aidl",
    "chars": 78,
    "preview": "package com.google.android.gms.ads.internal;\n\nparcelable NonagonRequestParcel;"
  },
  {
    "path": "play-services-ads/src/main/aidl/com/google/android/gms/ads/internal/request/IAdRequestService.aidl",
    "chars": 637,
    "preview": "package com.google.android.gms.ads.internal.request;\n\nimport com.google.android.gms.ads.internal.NonagonRequestParcel;\ni"
  },
  {
    "path": "play-services-ads/src/main/aidl/com/google/android/gms/ads/internal/request/INonagonStreamingResponseListener.aidl",
    "chars": 262,
    "preview": "package com.google.android.gms.ads.internal.request;\n\nimport com.google.android.gms.ads.internal.ExceptionParcel;\n\ninter"
  },
  {
    "path": "play-services-ads/src/main/java/com/google/android/gms/ads/internal/ExceptionParcel.java",
    "chars": 432,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.an"
  },
  {
    "path": "play-services-ads/src/main/java/com/google/android/gms/ads/internal/NonagonRequestParcel.java",
    "chars": 371,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\npackage com.google.an"
  },
  {
    "path": "play-services-ads-base/build.gradle",
    "chars": 827,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "play-services-ads-base/src/main/AndroidManifest.xml",
    "chars": 157,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identi"
  },
  {
    "path": "play-services-ads-identifier/build.gradle",
    "chars": 839,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "play-services-ads-identifier/core/build.gradle",
    "chars": 865,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\n\napply plugin: 'com.an"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/AndroidManifest.xml",
    "chars": 564,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identif"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/kotlin/org/microg/gms/ads/identifier/AdvertisingIdService.kt",
    "chars": 5582,
    "preview": "/*\n * SPDX-FileCopyrightText: 2023 microG Project Team\n * SPDX-License-Identifier: Apache-2.0\n */\npackage org.microg.gms"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values/strings.xml",
    "chars": 639,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ SPDX-FileCopyrightText: 2023 microG Project Team\n  ~ SPDX-License-Identif"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-ar/strings.xml",
    "chars": 494,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_label\">إشعار مُعَرِّف الإعل"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-ast/strings.xml",
    "chars": 563,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">Permite qu\\'un"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-az/strings.xml",
    "chars": 533,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Reklam ID İcazəsi</string>\n    <s"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-be/strings.xml",
    "chars": 580,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Дазвол рэкламнага ідэнтыфікатара<"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-bn/strings.xml",
    "chars": 63,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n</resources>"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-ca/strings.xml",
    "chars": 637,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Permís d\\'identificador de public"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-cs/strings.xml",
    "chars": 533,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Oprávnění k reklamnímu ID</string"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-de/strings.xml",
    "chars": 526,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">Erlaubt einer "
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-eo/strings.xml",
    "chars": 62,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources></resources>"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-es/strings.xml",
    "chars": 612,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Permiso de identificación publici"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-fa/strings.xml",
    "chars": 535,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">مجوز شناسه آگهی</string>\n    <str"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-fi/strings.xml",
    "chars": 550,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">Sallii sovellu"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-fil/strings.xml",
    "chars": 602,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Pahintulot ng Advertising ID</str"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-fr/strings.xml",
    "chars": 647,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Permission de l\\'identifiant publ"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-ga/strings.xml",
    "chars": 572,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">Ligeann sé d’a"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-hu/strings.xml",
    "chars": 394,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_label\">Hirdetésazonosító engedély</strin"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-in/strings.xml",
    "chars": 554,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_description\">Memungkinkan aplikasi pener"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-is/strings.xml",
    "chars": 62,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources></resources>"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-it/strings.xml",
    "chars": 632,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">Consente a un\\"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-iw/strings.xml",
    "chars": 142,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_label\">התראה על מזהה פרסום<"
  },
  {
    "path": "play-services-ads-identifier/core/src/main/res/values-ja/strings.xml",
    "chars": 396,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <string name=\"perm_ad_id_notification_description\">ユーザーの広告 ID または"
  }
]

// ... and 4653 more files (download for full content)

About this extraction

This page contains the full source code of the microg/GmsCore GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4853 files (13.3 MB), approximately 3.8M tokens, and a symbol index with 9563 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!